forked from lijiext/lammps
132 lines
4.7 KiB
Groff
132 lines
4.7 KiB
Groff
LAMMPS (30 Mar 2018)
|
|
using 1 OpenMP thread(s) per MPI task
|
|
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
|
|
# Rigid CO2 TraPPE model
|
|
# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
|
|
# mixtures containing alkanes, carbon dioxide and
|
|
# nitrogen AIChE J., 47,1676-1682 (2001)].
|
|
|
|
# variables available on command line
|
|
|
|
variable mu index -8.1
|
|
variable disp index 0.5
|
|
variable temp index 338.0
|
|
variable lbox index 10.0
|
|
variable spacing index 5.0
|
|
|
|
# global model settings
|
|
|
|
units real
|
|
atom_style full
|
|
boundary p p p
|
|
pair_style lj/cut/coul/long 14
|
|
pair_modify mix arithmetic tail yes
|
|
kspace_style ewald 0.0001
|
|
bond_style harmonic
|
|
angle_style harmonic
|
|
|
|
# box, start molecules on simple cubic lattice
|
|
|
|
lattice sc ${spacing}
|
|
lattice sc 5.0
|
|
Lattice spacing in x,y,z = 5 5 5
|
|
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
|
|
region box block 0 10.0 0 ${lbox} 0 ${lbox} units box
|
|
region box block 0 10.0 0 10.0 0 ${lbox} units box
|
|
region box block 0 10.0 0 10.0 0 10.0 units box
|
|
create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2
|
|
Created orthogonal box = (0 0 0) to (10 10 10)
|
|
1 by 2 by 2 MPI processor grid
|
|
molecule co2mol CO2.txt
|
|
Read molecule co2mol:
|
|
3 atoms with max type 2
|
|
2 bonds with max type 1
|
|
1 angles with max type 1
|
|
0 dihedrals with max type 0
|
|
0 impropers with max type 0
|
|
create_atoms 0 box mol co2mol 464563 units box
|
|
Created 24 atoms
|
|
Time spent = 0.00257635 secs
|
|
|
|
# rigid CO2 TraPPE model
|
|
|
|
pair_coeff 1 1 0.053649 2.8
|
|
pair_coeff 2 2 0.156973 3.05
|
|
bond_coeff 1 0 1.16
|
|
angle_coeff 1 0 180
|
|
|
|
# masses
|
|
|
|
mass 1 12.0107
|
|
mass 2 15.9994
|
|
|
|
# MD settings
|
|
|
|
group co2 type 1 2
|
|
24 atoms in group co2
|
|
neighbor 2.0 bin
|
|
neigh_modify every 1 delay 10 check yes
|
|
velocity all create ${temp} 54654
|
|
velocity all create 338.0 54654
|
|
timestep 1.0
|
|
|
|
# rigid constraints with thermostat
|
|
|
|
fix myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
|
|
fix myrigidnvt co2 rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
|
|
fix myrigidnvt co2 rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
|
|
8 rigid bodies with 24 atoms
|
|
1.16 = max distance from body owner to body atom
|
|
|
|
# dynamically update fix rigid/nvt/small temperature ndof
|
|
fix_modify myrigidnvt dynamic/dof yes
|
|
|
|
# gcmc
|
|
|
|
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
|
fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
|
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
|
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
|
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
|
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
|
|
|
|
# atom counts
|
|
|
|
variable carbon atom "type==1"
|
|
variable oxygen atom "type==2"
|
|
group carbon dynamic co2 var carbon
|
|
dynamic group carbon defined
|
|
group oxygen dynamic co2 var oxygen
|
|
dynamic group oxygen defined
|
|
variable nC equal count(carbon)
|
|
variable nO equal count(oxygen)
|
|
|
|
# output
|
|
|
|
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
|
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
|
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
|
|
|
# dynamically update default temperature ndof
|
|
compute_modify thermo_temp dynamic/dof yes
|
|
|
|
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
|
thermo 1000
|
|
|
|
# run
|
|
|
|
run 20000
|
|
Ewald initialization ...
|
|
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
|
G vector (1/distance) = 0.164636
|
|
estimated absolute RMS force accuracy = 0.0332064
|
|
estimated relative force accuracy = 0.0001
|
|
KSpace vectors: actual max1d max3d = 16 2 62
|
|
kxmax kymax kzmax = 2 2 2
|
|
WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:485)
|
|
0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
|
|
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
|
|
ERROR: fix gcmc does currently not support full_energy option with molecules on more than 1 MPI process. (../fix_gcmc.cpp:721)
|
|
Last command: run 20000
|