more debugging and examples with NWChem

This commit is contained in:
Steve Plimpton
2023-02-06 18:06:04 -07:00
parent 08b9af89bb
commit c60fd6f89d
21 changed files with 751 additions and 33 deletions

View File

@ -106,14 +106,52 @@ Step 4: run the 2-water QMMM problem for a few steps
% cd ~/lammps/examples/QUANTUM/NWChem % cd ~/lammps/examples/QUANTUM/NWChem
lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.nwchem.qmmm.tcp.1 -in in.water.nwchem.qmmm & lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water,qmmm.tcp.1 -in in.water.qmmm &
python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.dimer.nw log.water.pwdft.qmmm.tcp.1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.dimer.nw log.water.pwdft.qmmm.tcp.1
# Run with MPI: 1 proc each # Run with MPI: 1 proc each
mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.nwchem.qmmm.mpi.1 -in in.water.nwchem.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1 mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.qmmm.mpi.1 -in in.water.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1
# Run in plugin mode: 1 proc # Run in plugin mode: 1 proc
lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/work_qm" -log log.water.nwchem.qmmm.plugin.1 -in in.water.nwchem.qmmm.plugin lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin
---------------------------------
---------------------------------
Step 5: run the zeolite/methane QMMM problem for a few steps
% cd ~/lammps/examples/QUANTUM/NWChem
lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.zeolite.qmmm.tcp.1 -in in.zeolite.qmmm &
python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.tcp.1
# Run with MPI: 1 proc each
mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.zeolite.qmmm.mpi.1 -in in.zeolite.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.mpi.1
# Run in plugin mode: 1 proc
lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.1 -in in.zeolite.qmmm.plugin
---------------------------------
---------------------------------
Step 6: run multiple W geometries
% cd ~/lammps/examples/QUANTUM/NWChem
lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series &
python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.w.nw w.nw log.series.pwdft.tcp.1
# Run with MPI: 1 proc each
mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.w.nw w.nw log.series.pwdft.mpi.1
# Run in plugin mode: 1 proc
lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.series.plugin.1 -in in.series.plugin

View File

@ -0,0 +1,12 @@
LAMMPS data file from VASP file VASP/POSCAR_bcc
2 atoms
1 atom types
0.0 3.1654062429393064 xlo xhi
0.0 3.1654062429393064 ylo yhi
0.0 3.1654062429393064 zlo zhi
Atoms
1 1 0 0 0
2 1 1.5827031214696532 1.5827031214696532 1.5827031214696532

View File

@ -0,0 +1,29 @@
LAMMPS data file from VASP file VASP/POSCAR_bcc_222
18 atoms
1 atom types
0.0 8.9531208783704628 xlo xhi
0.0 3.8768150619108339 ylo yhi
0.0 45.534159244872015 zlo zhi
2.2382802195926157 0 0 xy xz yz
Atoms
1 1 0 0 15
2 1 6.7148406587778462 1.2922716873036106 15.913774073227765
3 1 4.4765604391852314 2.5845433746072226 16.827548146455531
4 1 11.191401097963077 3.876815061910833 17.741322219683298
5 1 6.7148406587778471 1.2922716873036111 18.655096292911061
6 1 4.4765604391852305 2.5845433746072222 19.568870366138828
7 1 2.2382802195926152 3.876815061910833 20.482644439366592
8 1 6.7148406587778453 1.2922716873036111 21.396418512594359
9 1 4.4765604391852305 2.5845433746072222 22.310192585822122
10 1 2.2382802195926148 3.8768150619108321 23.223966659049893
11 1 6.7148406587778453 1.2922716873036102 24.137740732277656
12 1 4.4765604391852305 2.5845433746072195 25.051514805505423
13 1 2.2382802195926148 3.8768150619108321 25.965288878733183
14 1 6.7148406587778444 1.2922716873036084 26.879062951960954
15 1 4.4765604391852314 2.5845433746072204 27.792837025188717
16 1 2.2382802195926139 3.8768150619108304 28.706611098416481
17 1 6.7148406587778453 1.2922716873036102 29.620385171644248
18 1 4.4765604391852269 2.5845433746072204 30.534159244872015

View File

@ -0,0 +1,14 @@
LAMMPS data file from VASP file VASP/POSCAR_diamond
4 atoms
1 atom types
0.0 2.8200563642280549 xlo xhi
0.0 2.8200563642280549 ylo yhi
0.0 3.9881619569478763 zlo zhi
Atoms
1 1 0 0 0
2 1 1.4100281821140275 0 0.99704048923696909
3 1 1.4100281821140275 1.4100281821140275 1.9940809784739382
4 1 0 1.4100281821140275 2.991121467710907

View File

@ -0,0 +1,28 @@
LAMMPS data file from VASP file VASP/POSCAR_fcc_001
18 atoms
1 atom types
0.0 4.4765604391852305 xlo xhi
0.0 4.4765604391852305 ylo yhi
0.0 113.81190612996821 zlo zhi
Atoms
1 1 0 0 30
2 1 2.2382802195926152 2.2382802195926152 33.165406242939305
3 1 0 0 36.33081248587861
4 1 2.2382802195926152 2.2382802195926152 39.496218728817922
5 1 0 0 42.661624971757227
6 1 2.2382802195926152 2.2382802195926152 45.827031214696532
7 1 0 0 48.992437457635837
8 1 2.2382802195926152 2.2382802195926152 52.157843700575143
9 1 0 0 55.323249943514455
10 1 2.2382802195926152 2.2382802195926152 58.488656186453753
11 1 0 0 61.654062429393065
12 1 2.2382802195926152 2.2382802195926152 64.819468672332363
13 1 0 0 67.984874915271675
14 1 2.2382802195926152 2.2382802195926152 71.150281158210987
15 1 0 0 74.315687401150285
16 1 2.2382802195926152 2.2382802195926152 77.481093644089597
17 1 0 0 80.646499887028909
18 1 2.2382802195926152 2.2382802195926152 83.811906129968207

View File

@ -0,0 +1,19 @@
LAMMPS data file from VASP file VASP/POSCAR_sc_001
9 atoms
1 atom types
0.0 2.5123845999742804 xlo xhi
0.0 2.5123845999742804 ylo yhi
0.0 50.099076799794247 zlo zhi
Atoms
1 1 0 0 15.000000000000002
2 1 0 0 17.512384599974283
3 1 0 0 20.024769199948562
4 1 0 0 22.537153799922841
5 1 0 0 25.049538399897123
6 1 0 0 27.561922999871406
7 1 0 0 30.074307599845682
8 1 0 0 32.586692199819964
9 1 0 0 35.099076799794247

View File

@ -0,0 +1,45 @@
LAMMPS data file for water dimer in large box
6 atoms
4 bonds
2 angles
2 atom types
1 bond types
1 angle types
-6.879301 6.879301 xlo xhi
-6.879301 6.879301 ylo yhi
-6.879301 6.879301 zlo zhi
Masses
1 15.99491
2 1.008
Bond Coeffs
1 554.25 1.0
Angle Coeffs
1 47.744 109.4
Atoms
1 1 1 -0.8476 0.161560 -0.052912 0.033173
2 1 2 0.4238 0.803054 0.369132 -0.511660
3 1 2 0.4238 -0.325571 -0.669574 -0.488560
4 2 1 -0.8476 0.021259 0.506771 2.831278
5 2 2 0.4238 -0.721039 1.083100 2.758378
6 2 2 0.4238 0.158220 0.181883 1.945696
Bonds
1 1 1 2
2 1 1 3
3 1 4 5
4 1 4 6
Angles
1 1 2 1 3
2 1 5 4 6

View File

@ -0,0 +1,114 @@
LAMMPS data file for SiO2 zeolite with one methane moleclue
77 atoms
4 atom types
4 bonds
1 bond types
6 angles
1 angle types
-5.9266 5.9926 xlo xhi
-5.9266 5.9926 ylo yhi
-5.9266 5.9926 zlo zhi
Masses
1 28.0855
2 15.99491
3 12.0
4 1.008
Atoms
1 0 1 1.910418 0.00000 4.38651 2.18123
2 0 1 1.910418 0.00000 -4.38651 2.18123
3 0 1 1.910418 0.00000 4.38651 -2.18123
4 0 1 1.910418 0.00000 -4.38651 -2.18123
5 0 1 1.910418 2.18123 0.00000 4.38651
6 0 1 1.910418 2.18123 0.00000 -4.38651
7 0 1 1.910418 -2.18123 0.00000 4.38651
8 0 1 1.910418 -2.18123 0.00000 -4.38651
9 0 1 1.910418 4.38651 2.18123 0.00000
10 0 1 1.910418 -4.38651 2.18123 0.00000
11 0 1 1.910418 4.38651 -2.18123 0.00000
12 0 1 1.910418 -4.38651 -2.18123 0.00000
13 0 1 1.910418 4.38651 0.00000 -2.18123
14 0 1 1.910418 -4.38651 0.00000 -2.18123
15 0 1 1.910418 4.38651 0.00000 2.18123
16 0 1 1.910418 -4.38651 0.00000 2.18123
17 0 1 1.910418 0.00000 2.18123 -4.38651
18 0 1 1.910418 0.00000 2.18123 4.38651
19 0 1 1.910418 0.00000 -2.18123 -4.38651
20 0 1 1.910418 0.00000 -2.18123 4.38651
21 0 1 1.910418 2.18123 4.38651 0.00000
22 0 1 1.910418 2.18123 -4.38651 0.00000
23 0 1 1.910418 -2.18123 4.38651 0.00000
24 0 1 1.910418 -2.18123 -4.38651 0.00000
25 0 2 -0.955209 0.00000 -5.92660 2.64860
26 0 2 -0.955209 0.00000 -5.92660 -2.64860
27 0 2 -0.955209 2.64860 0.00000 -5.92660
28 0 2 -0.955209 -2.64860 0.00000 -5.92660
29 0 2 -0.955209 -5.92660 2.64860 0.00000
30 0 2 -0.955209 -5.92660 -2.64860 0.00000
31 0 2 -0.955209 -5.92660 0.00000 -2.64860
32 0 2 -0.955209 -5.92660 0.00000 2.64860
33 0 2 -0.955209 0.00000 2.64860 -5.92660
34 0 2 -0.955209 0.00000 -2.64860 -5.92660
35 0 2 -0.955209 2.64860 -5.92660 0.00000
36 0 2 -0.955209 -2.64860 -5.92660 0.00000
37 0 2 -0.955209 0.00000 3.45272 3.45272
38 0 2 -0.955209 0.00000 -3.45272 3.45272
39 0 2 -0.955209 0.00000 3.45272 -3.45272
40 0 2 -0.955209 0.00000 -3.45272 -3.45272
41 0 2 -0.955209 3.45272 0.00000 3.45272
42 0 2 -0.955209 3.45272 0.00000 -3.45272
43 0 2 -0.955209 -3.45272 0.00000 3.45272
44 0 2 -0.955209 -3.45272 0.00000 -3.45272
45 0 2 -0.955209 3.45272 3.45272 0.00000
46 0 2 -0.955209 -3.45272 3.45272 0.00000
47 0 2 -0.955209 3.45272 -3.45272 0.00000
48 0 2 -0.955209 -3.45272 -3.45272 0.00000
49 0 2 -0.955209 1.28702 1.28702 4.12598
50 0 2 -0.955209 -1.28702 -1.28702 4.12598
51 0 2 -0.955209 -1.28702 1.28702 -4.12598
52 0 2 -0.955209 1.28702 -1.28702 -4.12598
53 0 2 -0.955209 4.12598 1.28702 1.28702
54 0 2 -0.955209 4.12598 -1.28702 -1.28702
55 0 2 -0.955209 -4.12598 -1.28702 1.28702
56 0 2 -0.955209 -4.12598 1.28702 -1.28702
57 0 2 -0.955209 1.28702 4.12598 1.28702
58 0 2 -0.955209 -1.28702 4.12598 -1.28702
59 0 2 -0.955209 1.28702 -4.12598 -1.28702
60 0 2 -0.955209 -1.28702 -4.12598 1.28702
61 0 2 -0.955209 1.28702 1.28702 -4.12598
62 0 2 -0.955209 -1.28702 -1.28702 -4.12598
63 0 2 -0.955209 1.28702 -1.28702 4.12598
64 0 2 -0.955209 -1.28702 1.28702 4.12598
65 0 2 -0.955209 1.28702 4.12598 -1.28702
66 0 2 -0.955209 -1.28702 4.12598 1.28702
67 0 2 -0.955209 -1.28702 -4.12598 -1.28702
68 0 2 -0.955209 1.28702 -4.12598 1.28702
69 0 2 -0.955209 4.12598 1.28702 -1.28702
70 0 2 -0.955209 4.12598 -1.28702 1.28702
71 0 2 -0.955209 -4.12598 1.28702 1.28702
72 0 2 -0.955209 -4.12598 -1.28702 -1.28702
73 1 3 -0.66 0.00000 0.00000 0.00000
74 1 4 0.165 0.00000 -0.89000 -0.62930
75 1 4 0.165 0.00000 0.89000 -0.62930
76 1 4 0.165 -0.89000 0.00000 0.62930
77 1 4 0.165 0.89000 0.00000 0.62930
Bonds
1 1 73 74
2 1 73 75
3 1 73 76
4 1 73 77
Angles
1 1 74 73 75
2 1 74 73 76
3 1 74 73 77
4 1 75 73 76
5 1 75 73 77
6 1 76 73 77

View File

@ -0,0 +1,36 @@
# multiple W conformations with NWChem
variable datafile index data.w.bcc data.w.diamond
mdi connect
label loop
units metal
atom_style atomic
atom_modify map yes
comm_modify cutoff 2.0
log log.series.${datafile}
read_data ${datafile}
mass 1 183.84
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
fix 1 all mdi/qm elements W connect no
fix_modify 1 energy yes
dump 1 all custom 1 dump.series.${datafile} id x y z fx fy fz
run 0
clear
next datafile
jump SELF loop
mdi exit

View File

@ -0,0 +1,34 @@
# multiple W conformations with NWChem
variable datafile index data.w.bcc data.w.diamond
label loop
units metal
atom_style atomic
atom_modify map yes
comm_modify cutoff 2.0
log log.series.plugin.${datafile}
read_data ${datafile}
mass 1 183.84
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
fix 1 all mdi/qm elements W
fix_modify 1 energy yes
dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz
mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" &
extra "template.w.nw w.nw log.series.pwdft.plugin.1" &
command "run 0"
clear
next datafile
jump SELF loop

View File

@ -0,0 +1,34 @@
# many conformations with NWChem
variable datafiles file file.list.2
label loop
clear
units metal
atom_style atomic
atom_modify map yes
comm_modify cutoff 2.0
log log.${datafiles}
read_data Wfiles/${datafiles}
mass 1 183.84
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
fix 2 all nwchem template.w.nw ${datafiles}.nw &
log.pwdft.${datafiles} W
fix_modify 2 energy yes
dump 1 all custom 1 dump.${datafiles} id x y z fx fy fz
timestep 0.001
run 0
next datafiles
jump SELF loop

View File

@ -0,0 +1,46 @@
# MM for water dimer
units real
atom_style full
bond_style harmonic
angle_style harmonic
read_data data.water.mm
group mm molecule 1
group qm molecule 2
# pair style must define stand-alone short-range Coulombics
pair_style lj/cut/coul/cut 6.0
pair_coeff 1 1 0.13506 3.166
pair_coeff 2 2 0.0 1.0
#velocity all create 300.0 458732
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
compute 1 all pair/local dist
compute 2 all reduce max c_1
variable fxabs atom abs(fx)
variable fyabs atom abs(fy)
variable fzabs atom abs(fz)
variable qabs atom abs(q)
compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs
dump 1 all custom 1 dump.water.dimer.mm id x y z q fx fy fz
dump_modify 1 sort id format float "%20.16g"
timestep 1.0
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
pe etotal press c_2 c_3[*]
thermo 1
run 10

View File

@ -6,7 +6,7 @@ atom_style full
bond_style harmonic bond_style harmonic
angle_style harmonic angle_style harmonic
read_data data.water.nwchem.qmmm read_data data.water.qmmm
# QM atoms are 1st water # QM atoms are 1st water
# MM atoms are 2nd water # MM atoms are 2nd water
@ -49,22 +49,11 @@ timestep 0.1
fix 1 all nve fix 1 all nve
fix 2 qm mdi/qmmm potential elements 8 1 8 1 fix 2 qm mdi/qmmm potential elements O H O H
#fix 2 qm nwchem template.water.nw water.dimer2.nw &
# log.pwdft.water.dimer O H O H
fix_modify 2 energy yes fix_modify 2 energy yes
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
f_2 pe etotal press f_2 pe etotal press
# convert dump file forces to Hartree/Bohr for comparison to NWChem
variable fx atom fx/1185.8
variable fy atom fy/1185.8
variable fz atom fz/1185.8
dump 1 all custom 1 dump.water.nwchem.qmmm id x y z q v_fx v_fy v_fz
dump_modify 1 sort id format float "%20.16g"
thermo 1 thermo 1
run 2 run 2

View File

@ -6,7 +6,7 @@ atom_style full
bond_style harmonic bond_style harmonic
angle_style harmonic angle_style harmonic
read_data data.water.nwchem.qmmm read_data data.water.qmmm
# QM atoms are 1st water # QM atoms are 1st water
# MM atoms are 2nd water # MM atoms are 2nd water
@ -49,24 +49,13 @@ timestep 0.1
fix 1 all nve fix 1 all nve
fix 2 qm mdi/qmmm potential elements 8 1 8 1 fix 2 qm mdi/qmmm potential elements O H O H
fix_modify 2 energy yes fix_modify 2 energy yes
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
f_2 pe etotal press f_2 pe etotal press
# convert dump file forces to Hartree/Bohr for comparison to NWChem
variable fx atom fx/1185.8
variable fy atom fy/1185.8
variable fz atom fz/1185.8
dump 1 all custom 1 dump.water.dimer.qmmm.plugin &
id x y z q v_fx v_fy v_fz
dump_modify 1 sort id format float "%20.16g"
thermo 1 thermo 1
mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" &
extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.1" & extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.1" &
command "run 2" command "run 1"

View File

@ -0,0 +1,116 @@
# MM for SiO2 zeolite with one methane molecule
# CHIK potential
# EPL, Carre, Horbach, Ispas, Kob, 82, 17001 (2008)
# B = 1/rho
#q Si = 1.910418
#q O = -0.955209
#A OO = 659.595398 eV
#B OO = 2.590066 1/Ang
#C OO = 26.836679 eV-Ang^6
#A SiO = 27029.419922 eV
#B SiO = 5.158606 1/Ang
#C SiO = 148.099091 eV-Ang^6
#A SiSi = 3150.462646 eV
#B SiSi = 2.851451 1/Ang
#C SiSi = 626.7519553 eV-Ang^6
# LJ params for methane and O from Table 1
# Bhatia and Nicholson, J Phys Chem C, 2012, 116, 2344-2355.
#q C = -0.66
#Q H = 0.165
#sigma C = 0.34 nm
#sigma H = 0.265 nm
#sigma O = 0.28 nm
#eps/kB C = 55.082 K = 0.004745993 eV
#eps/kB H = 7.905 K = 0.000681113 eV
#eps/kB O = 492.7 K = 0.0424522 eV
# LJ params for silicon
#e-Journal of Surf Sci and Nanotech, Inui and Iwasaki, 15, 40-49 (2017)
#sigma Si = 3.826 Ang
#eps Si = 17.4 meV = 0.0174 eV
# C-H bond and methane angle params
#OPLS C-H bond k = 29.40 ev/Ang^2
#C-H bond r0 = 1.09 Angs
#methane angles = 109.5 degrees
#C-H angle k/kB = 2000 K/rad^2
# conversions
#1 eV = 11606 K
#1 eV = 23.0609 kcal/mole
#1 kcal/mole = 503.2761 K
#1 kcal = 4.814 kJoule
# -------------------------
units metal
atom_style full
bond_style harmonic
angle_style harmonic
read_data data.zeolite
group mm type 1 2
group qm type 3 4
# pair style must define stand-alone short-range Coulombics
# arithmetic mixing
pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5
pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553
pair_coeff 2 2 buck 659.595398 0.38609055 26.836679
pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091
pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091
pair_coeff 1 3 lj/cut 0.009087 3.613
pair_coeff 1 4 lj/cut 0.00344258 3.238
pair_coeff 2 3 lj/cut 0.01419429 3.1
pair_coeff 2 4 lj/cut 0.00537724 2.725
pair_coeff 3 3 lj/cut 0.004746 3.4
pair_coeff 4 4 lj/cut 0.00068111 2.65
pair_coeff * * coul/cut
bond_style harmonic
bond_coeff 1 29.40 1.09
angle_style harmonic
angle_coeff 1 0.172325 109.5
#velocity all create 300.0 458732
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
# dynamic or frozen zeolite
fix 1 all nve
#fix 1 qm nve
compute 1 all pair/local dist
compute 2 all reduce max c_1
variable fxabs atom abs(fx)
variable fyabs atom abs(fy)
variable fzabs atom abs(fz)
variable qabs atom abs(q)
compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs
dump 1 all custom 1 dump.zeolite.mm id x y z q fx fy fz
dump_modify 1 sort id format float "%20.16g"
timestep 0.001
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
pe etotal press c_2 c_3[*]
thermo 1
run 3

View File

@ -0,0 +1,70 @@
# QMMM for SiO2 zeolite with one methane molecule
units metal
atom_style full
bond_style harmonic
angle_style harmonic
read_data data.zeolite
# MM atoms are Si,O
# QM atoms are C,H
group mm type 1 2
group qm type 3 4
# pair style must define stand-alone short-range Coulombics
# must specify mixing explicitly b/c hybrid/overlay
# MM Si,O = types 1,2
# QM C,H = types 3,4
# MM Si,O atoms do not LJ interact with each other (just via Buckingham)
# QM C,H atoms do not LJ interact with each other
# MM Si,O and QM C,H do LJ interact with each other
pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5
pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553
pair_coeff 2 2 buck 659.595398 0.38609055 26.836679
pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091
pair_coeff 1 3 lj/cut 0.09087 3.613
pair_coeff 1 4 lj/cut 0.0344258 3.238
pair_coeff 2 3 lj/cut 0.1419429 3.1
pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779
pair_coeff 3 3 lj/cut 0.0 3.4
pair_coeff 4 4 lj/cut 0.0 2.65
pair_coeff * * coul/cut
bond_style harmonic
bond_coeff 1 29.40 1.09
angle_style harmonic
angle_coeff 1 0.172325 109.5
# remove bonds/angles in QM methane molecule
delete_bonds qm multi remove special
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
velocity all create 300.0 458732
# QMMM dynamics with small timestep
# dynamic or frozen zeolite
#fix 1 all nve
fix 1 qm nve
fix 2 qm mdi/qmmm potential elements Si O C H
fix_modify 2 energy yes
timestep 0.0001
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
f_2 pe etotal press
thermo 1
run 2

View File

@ -0,0 +1,72 @@
# QMMM for SiO2 zeolite with one methane molecule
units metal
atom_style full
bond_style harmonic
angle_style harmonic
read_data data.zeolite
# MM atoms are Si,O
# QM atoms are C,H
group mm type 1 2
group qm type 3 4
# pair style must define stand-alone short-range Coulombics
# must specify mixing explicitly b/c hybrid/overlay
# MM Si,O = types 1,2
# QM C,H = types 3,4
# MM Si,O atoms do not LJ interact with each other (just via Buckingham)
# QM C,H atoms do not LJ interact with each other
# MM Si,O and QM C,H do LJ interact with each other
pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5
pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553
pair_coeff 2 2 buck 659.595398 0.38609055 26.836679
pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091
pair_coeff 1 3 lj/cut 0.09087 3.613
pair_coeff 1 4 lj/cut 0.0344258 3.238
pair_coeff 2 3 lj/cut 0.1419429 3.1
pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water dimer
pair_coeff 3 3 lj/cut 0.0 3.4
pair_coeff 4 4 lj/cut 0.0 2.65
pair_coeff * * coul/cut
bond_style harmonic
bond_coeff 1 29.40 1.09
angle_style harmonic
angle_coeff 1 0.172325 109.5
# remove bonds/angles in QM methane molecule
delete_bonds qm multi remove special
neighbor 1.0 bin
neigh_modify delay 0 every 1 check yes
velocity all create 300.0 458732
# QMMM dynamics with small timestep
# dynamic or frozen zeolite
#fix 1 all nve
fix 1 qm nve
fix 2 qm mdi/qmmm potential elements Si O C H
fix_modify 2 energy yes
timestep 0.0001
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
f_2 pe etotal press
thermo 1
mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" &
extra "template.methane.nw methane.nw log.zeolite.pwdft.qmmm.plugin.1" &
command "run 2"

View File

@ -493,9 +493,9 @@ def evaluate():
qm_pe = c_qm_pe.value qm_pe = c_qm_pe.value
time2 = time.time() time2 = time.time()
print("DONE QMMM minimizer",nwerr,time2-time1) print("DONE QMMM minimizer",nwerr,time2-time1)
print("PE",qm_pe) #print("PE",qm_pe)
print("FORCE",qm_forces) #print("FORCE",qm_forces)
print("CHARGES",qm_charges) #print("CHARGES",qm_charges)
# AIMD with only QM atoms # AIMD with only QM atoms

View File

@ -0,0 +1,17 @@
Title "LAMMPS wrapping of PWDFT"
memory 1900 mb
echo
GEOMINSERT
nwpw
xc pbe
cutoff 30.0
2d-hcurve
tolerances 1.0e-9 1.0-9
apc on
end
task pspw gradient

View File

@ -0,0 +1,16 @@
Title "LAMMPS wrapping of PWDFT"
memory 1900 mb
echo
GEOMINSERT
nwpw
2d-hcurve
initialize_wavefunction on
cutoff 10.0
xc pbe
end
task pspw gradient