more debugging
This commit is contained in:
@ -106,8 +106,8 @@ Step 4: perform test runs in any of 3 modes
|
||||
These tests are in lammps/examples/QUANTUM/NWChem
|
||||
|
||||
in.series = series of several W conformations
|
||||
in.water.qmmm = QMMM of two-water system, one QM + 1 MM
|
||||
in.zeolite.qmmm = QMMM of zeolite (MM0 with a methane (QM) molecule
|
||||
in.water.qmmm = QMMM of two-water system, 1 QM + 1 MM
|
||||
in.zeolite.qmmm = QMMM of zeolite, MM zeolite + QM methane molecule
|
||||
|
||||
** run LAMMPS-only versions of water and zeolite problems
|
||||
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
# 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
|
||||
@ -17,29 +17,17 @@ 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
|
||||
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[*]
|
||||
pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
|
||||
@ -94,22 +94,10 @@ neigh_modify delay 0 every 1 check yes
|
||||
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
|
||||
timestep 0.0001
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
|
||||
pe etotal press c_2 c_3[*]
|
||||
pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
|
||||
113
examples/QUANTUM/NWChem/log.8Feb23.water.mm.1
Normal file
113
examples/QUANTUM/NWChem/log.8Feb23.water.mm.1
Normal file
@ -0,0 +1,113 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
# MM for water dimer
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
read_data data.water.mm
|
||||
Reading data file ...
|
||||
orthogonal box = (-6.879301 -6.879301 -6.879301) to (6.879301 6.879301 6.879301)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
6 atoms
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
4 bonds
|
||||
reading angles ...
|
||||
2 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.002 seconds
|
||||
|
||||
group mm molecule 1
|
||||
3 atoms in group mm
|
||||
group qm molecule 2
|
||||
3 atoms in group qm
|
||||
|
||||
# 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
|
||||
|
||||
timestep 1.0
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
run 10
|
||||
Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7
|
||||
ghost atom cutoff = 7
|
||||
binsize = 3.5, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.563 | 6.563 | 6.563 Mbytes
|
||||
Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press
|
||||
0 0 300 4.4712151 0.85234387 -7.098978 -6.2466342 7.0772152 0 0.83058103 5.3017961 2175.106
|
||||
1 5.713e-06 225.99525 3.3682446 0.8007398 -7.3015666 -6.5008268 8.5760055 0 2.0751787 5.4434233 2118.0755
|
||||
2 1.3911e-05 469.03888 6.990579 0.76268142 -7.9866866 -7.2240051 5.1752925 0 -2.0487126 4.9418664 1120.4766
|
||||
3 2.0968e-05 612.19697 9.1242144 0.73936944 -8.8769967 -8.1376272 3.6503739 0 -4.4872533 4.636961 -512.84502
|
||||
4 2.7903e-05 403.86959 6.0192927 0.72702099 -9.5085408 -8.7815198 7.8103639 0 -0.97115599 5.0481367 -2105.3508
|
||||
5 3.4588e-05 188.60671 2.8110039 0.71855703 -9.4937724 -8.7752154 11.456673 0 2.6814579 5.4924617 -2759.3498
|
||||
6 4.1451e-05 335.57585 5.0014393 0.70667511 -8.8207473 -8.1140722 8.3295226 0 0.2154504 5.2168897 -2014.8891
|
||||
7 4.8086e-05 612.66738 9.1312254 0.68733606 -7.8404266 -7.1530905 2.6947578 0 -4.4583327 4.6728927 -320.45402
|
||||
8 5.4692e-05 564.8702 8.4188539 0.66167633 -6.986773 -6.3250967 2.6797166 0 -3.6453801 4.7734737 1333.6188
|
||||
9 6.2607e-05 274.91926 4.0974105 0.63494004 -6.5543479 -5.9194079 7.1781603 0 1.2587524 5.3561629 2192.6187
|
||||
10 6.9584e-05 227.65402 3.3929669 0.61324726 -6.6534611 -6.0402139 8.0914403 0 2.0512265 5.4441934 2041.4853
|
||||
Loop time of 7.479e-05 on 1 procs for 10 steps with 6 atoms
|
||||
|
||||
Performance: 11552.347 ns/day, 0.002 hours/ns, 133707.715 timesteps/s, 802.246 katom-step/s
|
||||
0.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.382e-06 | 5.382e-06 | 5.382e-06 | 0.0 | 7.20
|
||||
Bond | 4.817e-06 | 4.817e-06 | 4.817e-06 | 0.0 | 6.44
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 4.71e-06 | 4.71e-06 | 4.71e-06 | 0.0 | 6.30
|
||||
Output | 5.2372e-05 | 5.2372e-05 | 5.2372e-05 | 0.0 | 70.03
|
||||
Modify | 2.931e-06 | 2.931e-06 | 2.931e-06 | 0.0 | 3.92
|
||||
Other | | 4.578e-06 | | | 6.12
|
||||
|
||||
Nlocal: 6 ave 6 max 6 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 56 ave 56 max 56 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 9 ave 9 max 9 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 9
|
||||
Ave neighs/atom = 1.5
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
186
examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1
Normal file
186
examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1
Normal file
@ -0,0 +1,186 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
# 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
|
||||
Reading data file ...
|
||||
orthogonal box = (-5.9266 -5.9266 -5.9266) to (5.9926 5.9926 5.9926)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
77 atoms
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
reading bonds ...
|
||||
4 bonds
|
||||
reading angles ...
|
||||
6 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
4 = max # of 1-2 neighbors
|
||||
3 = max # of 1-3 neighbors
|
||||
3 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.005 seconds
|
||||
|
||||
group mm type 1 2
|
||||
72 atoms in group mm
|
||||
group qm type 3 4
|
||||
5 atoms in group qm
|
||||
|
||||
# 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
|
||||
|
||||
timestep 0.0001
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
run 3
|
||||
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.5
|
||||
ghost atom cutoff = 7.5
|
||||
binsize = 3.75, bins = 4 4 4
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair buck, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair coul/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.513 | 9.513 | 9.513 Mbytes
|
||||
Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press
|
||||
0 0 0 0 -102.55051 -1039.5685 -1142.119 2.7005254e-07 0 -1142.119 -1142.119 11439.684
|
||||
1 8.3058e-05 0.055395011 0.00054418791 -102.55035 -1039.5692 -1142.1196 3.3571313e-07 0 -1142.1196 -1142.119 11439.469
|
||||
2 0.00015372 0.22147045 0.002175675 -102.54986 -1039.5713 -1142.1212 9.2762791e-07 0 -1142.1212 -1142.119 11438.832
|
||||
3 0.000223969 0.49789878 0.0048912436 -102.54905 -1039.5748 -1142.1239 3.2194644e-06 0 -1142.1239 -1142.119 11437.796
|
||||
Loop time of 0.000228308 on 1 procs for 3 steps with 77 atoms
|
||||
|
||||
Performance: 113.531 ns/day, 0.211 hours/ns, 13140.144 timesteps/s, 1.012 Matom-step/s
|
||||
33.3% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.00020213 | 0.00020213 | 0.00020213 | 0.0 | 88.53
|
||||
Bond | 2.326e-06 | 2.326e-06 | 2.326e-06 | 0.0 | 1.02
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 6.354e-06 | 6.354e-06 | 6.354e-06 | 0.0 | 2.78
|
||||
Output | 1.362e-05 | 1.362e-05 | 1.362e-05 | 0.0 | 5.97
|
||||
Modify | 1.804e-06 | 1.804e-06 | 1.804e-06 | 0.0 | 0.79
|
||||
Other | | 2.073e-06 | | | 0.91
|
||||
|
||||
Nlocal: 77 ave 77 max 77 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1066 ave 1066 max 1066 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 3136 ave 3136 max 3136 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 3136
|
||||
Ave neighs/atom = 40.727273
|
||||
Ave special neighs/atom = 0.25974026
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
@ -1,15 +1,7 @@
|
||||
# MDI wrapper on NWChem PWDFT code
|
||||
|
||||
# NOTE: Qs or issues to still address
|
||||
# test if works for both AIMD and QMMM
|
||||
# can series of problem be run via lib interface input_filename() ?
|
||||
# how does PBC vs non-PBC work, just box size in NWC input file
|
||||
# or maybe other settings in that file?
|
||||
# can NWChem return stress?
|
||||
# can NWChem do DIRECT mode?
|
||||
# any options for 2d or 1d periodic?
|
||||
# allow for box size changes, e.g. every step for NPT
|
||||
# check NWC func call error returns ?
|
||||
# native PWDFT units are Bohr and Hartree
|
||||
# but box and atom coord inputs in *.nw file are in Angstroms
|
||||
|
||||
import sys,os,time
|
||||
from ctypes import *
|
||||
|
||||
@ -1,18 +1,17 @@
|
||||
# Test runs of QMMM with LAMMPS and PySCF
|
||||
# Test runs with copuling of LAMMPS and PySCF
|
||||
|
||||
Step 1: build LAMMPS
|
||||
Step 2: download/build the MDI code coupling package
|
||||
Step 3: download/build or install PySCF
|
||||
Step 4: run 2-water QMMM problem for a few steps
|
||||
Step 2: download/build MDI code coupling package
|
||||
Step 3: download/build PySCF
|
||||
Step 4: perform test runs in any of 3 modes
|
||||
|
||||
---------------------------------
|
||||
---------------------------------
|
||||
|
||||
Step 1: build LAMMPS
|
||||
|
||||
The molecule and kspace packages are needed for the 2-water test
|
||||
problem. Copy the final LAMMPS executable into the
|
||||
examples/QUANTUM/PySCF directory.
|
||||
The MDI, molecule, and kspace packages are needed. Copy the final
|
||||
LAMMPS executable into the examples/QUANTUM/PySCF directory.
|
||||
|
||||
Traditional make:
|
||||
|
||||
@ -34,11 +33,11 @@ CMake:
|
||||
---------------------------------
|
||||
---------------------------------
|
||||
|
||||
Step 2: install the MDI code coupling package
|
||||
Step 2: download/build MDI code coupling package
|
||||
|
||||
(a) grab the MDI Git repo
|
||||
(a) clone the MDI Git repo
|
||||
|
||||
% mkdir git; cd mdi
|
||||
% mkdir mdi; cd mdi
|
||||
% git clone git@github.com:MolSSI-MDI/MDI_Library.git git
|
||||
|
||||
(b) build MDI
|
||||
@ -48,8 +47,8 @@ Step 2: install the MDI code coupling package
|
||||
% cmake ..
|
||||
% make -j
|
||||
|
||||
(c) Add something similar to the following to your .bashrc or .cshrc
|
||||
file so that Python can find MDI:
|
||||
(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that
|
||||
Python can find MDI:
|
||||
|
||||
For bash:
|
||||
|
||||
@ -61,17 +60,38 @@ For (t)csh:
|
||||
% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git
|
||||
% rehash
|
||||
|
||||
(d) Check import of 3 Python modules which the script that wraps LATTE
|
||||
will need:
|
||||
|
||||
% python
|
||||
>>> import numpy as np
|
||||
>>> from mpi4py import MPI
|
||||
>>> import MDI_Library as mdi
|
||||
|
||||
---------------------------------
|
||||
---------------------------------
|
||||
|
||||
Step 3: install PySCF
|
||||
Step 3: download/build PySCF
|
||||
|
||||
(a) download/build or install PySCF on your box
|
||||
See https://pyscf.org/install.html for install options.
|
||||
This describes building PySCF from source code.
|
||||
|
||||
NOTE: add instructions here
|
||||
(a) clone the PySCI Git repo
|
||||
|
||||
(b) Add something similar to the following to your .bashrc or .cshrc
|
||||
file so that Python can find PySCF:
|
||||
% mkdir pyscf; cd pyscf
|
||||
% git clone https://github.com/pyscf/pyscf.git git
|
||||
|
||||
(b) build PySCF
|
||||
|
||||
NOTE: you will also need numpy, scipy, h5py in your python
|
||||
|
||||
% cd pyscf/git/lib
|
||||
% mkdir build; cd build
|
||||
% cmake ..
|
||||
% make -j
|
||||
|
||||
(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that
|
||||
Python can find PySCF:
|
||||
|
||||
For bash:
|
||||
|
||||
@ -83,8 +103,8 @@ For (t)csh:
|
||||
% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git
|
||||
% rehash
|
||||
|
||||
(c) Check that you can import the 4 Python modules which the script
|
||||
that wraps PySCF will need:
|
||||
(d) Check import of 4 Python modules which the script that wraps PySCF
|
||||
will need:
|
||||
|
||||
% python
|
||||
>>> import numpy as np
|
||||
@ -95,41 +115,33 @@ that wraps PySCF will need:
|
||||
---------------------------------
|
||||
---------------------------------
|
||||
|
||||
Step 4: run the 2-water QMMM problem for a few steps
|
||||
Step 4: perform test runs in any of 3 modes
|
||||
|
||||
% cd ~/lammps/examples/QUANTUM/PySCF
|
||||
These tests are in lammps/examples/QUANTUM/PySCF
|
||||
|
||||
# Run with TCP: 1 proc each
|
||||
in.water = QMMM of two-water system, 1 QM + 1 MM
|
||||
in.mixture = QMMM of mixture, QM small molecule in MM water
|
||||
|
||||
% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.pyscf.qmmm.tcp.1 -in in.water.pyscf.qmmm &
|
||||
** run LAMMPS-only versions of mixture problem
|
||||
|
||||
% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost"
|
||||
lmp_mpi -log log.mixture.mm.1 < in.mixture.mm
|
||||
|
||||
# Run with MPI: 1 proc each
|
||||
** run LAMMPS and LATTE with TCP/IP, 1 proc each
|
||||
|
||||
% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.pyscf.qmmm.mpi.1 -in in.water.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no
|
||||
lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.qmmm.tcp.1 -in in.water.qmmm &
|
||||
python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost"
|
||||
|
||||
# Run in plugin mode: 1 proc
|
||||
lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.mixture.qmmm.tcp.1 -in in.mixture.qmmm &
|
||||
python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost"
|
||||
|
||||
% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin
|
||||
** run LAMMPS and PySCF with MPI, 1 proc each
|
||||
|
||||
---------------------------------
|
||||
---------------------------------
|
||||
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 pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no
|
||||
|
||||
Step 5: run the mixture QMMM problem for a few steps
|
||||
mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture.qmmm.mpi.1 -in in.mixture.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no
|
||||
|
||||
% cd ~/lammps/examples/QUANTUM/PySCF
|
||||
** run PySCF as plugin MDI engine, 1 proc
|
||||
|
||||
# Run with TCP: 1 proc each
|
||||
lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin
|
||||
|
||||
% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.mixture.pyscf.qmmm.tcp.1 -in in.mixture.pyscf.qmmm &
|
||||
|
||||
% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost"
|
||||
|
||||
# Run with MPI: 1 proc each
|
||||
|
||||
% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture.pyscf.qmmm.mpi.1 -in in.mixture.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no
|
||||
|
||||
# Run in plugin mode: 1 proc
|
||||
|
||||
% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.pyscf.qmmm.plugin.1 -in in.mixture.pyscf.qmmm.plugin
|
||||
lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.qmmm.plugin.1 -in in.mixture.qmmm.plugin
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# QMMM with PySCF - mixture example
|
||||
# mixture example
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
@ -15,18 +15,6 @@ kspace_style pppm 1e-5
|
||||
|
||||
read_data data.mixture
|
||||
|
||||
# QM atoms are IDs 1 to 9
|
||||
# MM atoms are remaining atoms
|
||||
|
||||
group qm id 1:9
|
||||
group mm subtract all qm
|
||||
|
||||
# remove bonds/angles between QM atoms
|
||||
# set charges to zero on QM atoms
|
||||
|
||||
delete_bonds qm multi remove special
|
||||
set group qm charge 0.0
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
@ -39,5 +27,5 @@ fix 1 all nve
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong &
|
||||
pe etotal press
|
||||
|
||||
thermo 1
|
||||
run 2
|
||||
thermo 10
|
||||
run 20
|
||||
@ -1,5 +1,4 @@
|
||||
# QMMM with PySCF
|
||||
# adapted from pyscf_water/lmp.in for 2 water QMMM example
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
112
examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1
Normal file
112
examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1
Normal file
@ -0,0 +1,112 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
# mixture example
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/cut/coul/long 12
|
||||
pair_modify mix arithmetic
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style none
|
||||
improper_style none
|
||||
|
||||
kspace_style pppm 1e-5
|
||||
|
||||
read_data data.mixture
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
3081 atoms
|
||||
reading velocities ...
|
||||
3081 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
reading bonds ...
|
||||
2055 bonds
|
||||
reading angles ...
|
||||
1033 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
4 = max # of 1-2 neighbors
|
||||
3 = max # of 1-3 neighbors
|
||||
3 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.012 seconds
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
# MM dynamics
|
||||
|
||||
timestep 0.01
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press
|
||||
|
||||
thermo 10
|
||||
run 20
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.25751777
|
||||
grid = 24 24 24
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0020473396
|
||||
estimated relative force accuracy = 6.1655023e-06
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 29791 13824
|
||||
Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 14
|
||||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 26.76 | 26.76 | 26.76 Mbytes
|
||||
Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press
|
||||
0 0 0 0 2164.0602 35284.412 -12356.063 863.67442 -49804.536 -11492.389 -11492.389 -4362.0189
|
||||
10 0.14354809 0.0049877709 0.0457922 2164.0602 35284.445 -12356.031 863.59574 -49804.536 -11492.435 -11492.389 -4360.2561
|
||||
20 0.28788199 0.019888006 0.1825897 2164.0599 35284.545 -12355.932 863.36047 -49804.537 -11492.572 -11492.389 -4354.9791
|
||||
Loop time of 0.2879 on 1 procs for 20 steps with 3081 atoms
|
||||
|
||||
Performance: 0.060 ns/day, 399.861 hours/ns, 69.469 timesteps/s, 214.033 katom-step/s
|
||||
100.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.25532 | 0.25532 | 0.25532 | 0.0 | 88.69
|
||||
Bond | 0.00081079 | 0.00081079 | 0.00081079 | 0.0 | 0.28
|
||||
Kspace | 0.03016 | 0.03016 | 0.03016 | 0.0 | 10.48
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00095451 | 0.00095451 | 0.00095451 | 0.0 | 0.33
|
||||
Output | 4.579e-05 | 4.579e-05 | 4.579e-05 | 0.0 | 0.02
|
||||
Modify | 0.00029651 | 0.00029651 | 0.00029651 | 0.0 | 0.10
|
||||
Other | | 0.0003077 | | | 0.11
|
||||
|
||||
Nlocal: 3081 ave 3081 max 3081 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 17741 ave 17741 max 17741 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1771437
|
||||
Ave neighs/atom = 574.95521
|
||||
Ave special neighs/atom = 2.004544
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
1
examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1
Normal file
1
examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1
Normal file
@ -0,0 +1 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
157
examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1
Normal file
157
examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1
Normal file
@ -0,0 +1,157 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
# QMMM with PySCF - mixture example
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/cut/coul/long 12
|
||||
pair_modify mix arithmetic
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style none
|
||||
improper_style none
|
||||
|
||||
kspace_style pppm 1e-5
|
||||
|
||||
read_data data.mixture
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
3081 atoms
|
||||
reading velocities ...
|
||||
3081 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
reading bonds ...
|
||||
2055 bonds
|
||||
reading angles ...
|
||||
1033 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
4 = max # of 1-2 neighbors
|
||||
3 = max # of 1-3 neighbors
|
||||
3 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.013 seconds
|
||||
|
||||
# QM atoms are IDs 1 to 9
|
||||
# MM atoms are remaining atoms
|
||||
|
||||
group qm id 1:9
|
||||
9 atoms in group qm
|
||||
group mm subtract all qm
|
||||
3072 atoms in group mm
|
||||
|
||||
# remove bonds/angles between QM atoms
|
||||
# set charges to zero on QM atoms
|
||||
|
||||
delete_bonds qm multi remove special
|
||||
System init for delete_bonds ...
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.25751777
|
||||
grid = 24 24 24
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0020473396
|
||||
estimated relative force accuracy = 6.1655023e-06
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 29791 13824
|
||||
Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 14
|
||||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Deleting bonds ...
|
||||
2048 total bonds, 2048 turned on, 0 turned off
|
||||
1024 total angles, 1024 turned on, 0 turned off
|
||||
0 total dihedrals, 0 turned on, 0 turned off
|
||||
0 total impropers, 0 turned on, 0 turned off
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
set group qm charge 0.0
|
||||
Setting atom values ...
|
||||
9 settings made for charge
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
# QMMM dynamics
|
||||
|
||||
timestep 0.01
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
fix 2 qm mdi/qmmm direct elements N H C H Cl O H
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 2"
|
||||
run 2
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.25751777
|
||||
grid = 24 24 24
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0020473396
|
||||
estimated relative force accuracy = 6.1655023e-06
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 29791 13824
|
||||
Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes
|
||||
Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press
|
||||
0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08
|
||||
1 19.294168 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04
|
||||
2 40.905414 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53
|
||||
Loop time of 40.9172 on 1 procs for 2 steps with 3081 atoms
|
||||
|
||||
Performance: 0.000 ns/day, 568294.642 hours/ns, 0.049 timesteps/s, 150.597 atom-step/s
|
||||
759.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.074194 | 0.074194 | 0.074194 | 0.0 | 0.18
|
||||
Bond | 0.00021377 | 0.00021377 | 0.00021377 | 0.0 | 0.00
|
||||
Kspace | 0.005728 | 0.005728 | 0.005728 | 0.0 | 0.01
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00021094 | 0.00021094 | 0.00021094 | 0.0 | 0.00
|
||||
Output | 0.011886 | 0.011886 | 0.011886 | 0.0 | 0.03
|
||||
Modify | 40.825 | 40.825 | 40.825 | 0.0 | 99.77
|
||||
Other | | 0.0001314 | | | 0.00
|
||||
|
||||
Nlocal: 3081 ave 3081 max 3081 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 17741 ave 17741 max 17741 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1771437
|
||||
Ave neighs/atom = 574.95521
|
||||
Ave special neighs/atom = 1.9941577
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:06
|
||||
1
examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1
Normal file
1
examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1
Normal file
@ -0,0 +1 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
155
examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1
Normal file
155
examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1
Normal file
@ -0,0 +1,155 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
# QMMM with PySCF
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/cut/coul/long 12
|
||||
pair_modify mix arithmetic
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style none
|
||||
improper_style none
|
||||
|
||||
kspace_style pppm 1e-5
|
||||
|
||||
read_data data.water
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
6 atoms
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
4 bonds
|
||||
reading angles ...
|
||||
2 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.004 seconds
|
||||
|
||||
# QM atoms are 1st water
|
||||
# MM atoms are 2nd water
|
||||
|
||||
group qm molecule 1
|
||||
3 atoms in group qm
|
||||
group mm molecule 2
|
||||
3 atoms in group mm
|
||||
|
||||
# remove bonds/angles between QM atoms
|
||||
# set charges to zero on QM atoms
|
||||
|
||||
delete_bonds qm multi remove special
|
||||
System init for delete_bonds ...
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.21131887
|
||||
grid = 12 12 12
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0020500128
|
||||
estimated relative force accuracy = 6.1735526e-06
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 4913 1728
|
||||
Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 14
|
||||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Deleting bonds ...
|
||||
2 total bonds, 2 turned on, 0 turned off
|
||||
1 total angles, 1 turned on, 0 turned off
|
||||
0 total dihedrals, 0 turned on, 0 turned off
|
||||
0 total impropers, 0 turned on, 0 turned off
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
set group qm charge 0.0
|
||||
Setting atom values ...
|
||||
3 settings made for charge
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
# QMMM dynamics
|
||||
|
||||
timestep 2.0
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
fix 2 qm mdi/qmmm direct elements O H
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press
|
||||
|
||||
thermo 1
|
||||
|
||||
mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 2"
|
||||
run 2
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.19767375
|
||||
grid = 10 10 10
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0022851662
|
||||
estimated relative force accuracy = 6.8817102e-06
|
||||
using double precision KISS FFT
|
||||
3d grid and FFT values/proc = 3375 1000
|
||||
Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes
|
||||
Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press
|
||||
0 0 0 0 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47940.482 -11.65711
|
||||
1 13.839254 274.73153 4.0946125 -0.001258094 37.106014 -0.0088915927 0.62503382 -37.113647 -47947.815 -47947.199 -47943.104 5.9530005
|
||||
2 28.396141 121.44569 1.8100327 -0.0012589509 37.125978 -0.0083996825 0.32331257 -37.133119 -47938.851 -47938.536 -47936.726 14.80352
|
||||
Loop time of 28.3962 on 1 procs for 2 steps with 6 atoms
|
||||
|
||||
Performance: 0.012 ns/day, 1971.958 hours/ns, 0.070 timesteps/s, 0.423 atom-step/s
|
||||
747.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.4093e-05 | 1.4093e-05 | 1.4093e-05 | 0.0 | 0.00
|
||||
Bond | 9.672e-06 | 9.672e-06 | 9.672e-06 | 0.0 | 0.00
|
||||
Kspace | 0.00032919 | 0.00032919 | 0.00032919 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 6.136e-06 | 6.136e-06 | 6.136e-06 | 0.0 | 0.00
|
||||
Output | 0.00012034 | 0.00012034 | 0.00012034 | 0.0 | 0.00
|
||||
Modify | 28.396 | 28.396 | 28.396 | 0.0 |100.00
|
||||
Other | | 1.567e-05 | | | 0.00
|
||||
|
||||
Nlocal: 6 ave 6 max 6 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 42 ave 42 max 42 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 15 ave 15 max 15 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 15
|
||||
Ave neighs/atom = 2.5
|
||||
Ave special neighs/atom = 1
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:43
|
||||
@ -1,23 +1,7 @@
|
||||
# MDI wrapper on PySCF quantum code
|
||||
|
||||
# Todo:
|
||||
# allow for changes in box size on driver side, e.g. NPT
|
||||
# should just work for PySCF
|
||||
|
||||
# NOTE: Qs or issues to still address for PySCF support
|
||||
# add list of radii for all elements
|
||||
# PySCF can do DIRECT mode (LATTICE commands) for QMMM
|
||||
# can it also do POTENTIAL mode (Coulomb potential at QM atoms)
|
||||
# if so, add PySCF logic in evaluate()
|
||||
# if not, remove support for MDI POTENTIAL_AT_NUCLEI command
|
||||
# can PySCF return stress
|
||||
# any other PySCF settings for users to set
|
||||
# are the 3 below good default values
|
||||
# is wiping out dm_previous sufficient to make it a new system
|
||||
# add PySCF code for AIMD (no MM atoms)
|
||||
# how to specify box for mixed BC, i.e. cell.dimension = 2 or 1
|
||||
# also need command-line options for those cases ?
|
||||
# redirect PySCF output to a file ?
|
||||
# native PySCF units are Bohr and Hartree
|
||||
# but box and atom coord inputs are passed in Angstroms
|
||||
|
||||
import sys,time
|
||||
|
||||
@ -540,6 +524,7 @@ def evaluate():
|
||||
# build PySCF system
|
||||
# use Cell for periodic, Mole for non-periodic
|
||||
|
||||
|
||||
if periodic:
|
||||
cell = Cell()
|
||||
cell.atom = atom_str
|
||||
@ -550,6 +535,7 @@ def evaluate():
|
||||
mol = Mole()
|
||||
mol.atom = atom_str
|
||||
mol.basis = basis
|
||||
#mol.max_memory = 10000
|
||||
mol.build()
|
||||
|
||||
# QMMM with QM and MM atoms
|
||||
|
||||
@ -670,10 +670,10 @@ void FixMDIQMMM::post_force_direct(int vflag)
|
||||
// fqm = forces on QM atoms
|
||||
// fmm = forces on MM atoms
|
||||
|
||||
if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n");
|
||||
//if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n");
|
||||
|
||||
MPI_Barrier(world);
|
||||
double tstart = platform::walltime();
|
||||
//MPI_Barrier(world);
|
||||
//double tstart = platform::walltime();
|
||||
|
||||
// MDI calls
|
||||
// NOTE: add send_box() call when needed for NPT
|
||||
@ -722,10 +722,10 @@ void FixMDIQMMM::post_force_direct(int vflag)
|
||||
|
||||
// end of MDI calls
|
||||
|
||||
MPI_Barrier(world);
|
||||
if (comm->me == 0)
|
||||
utils::logmesg(lmp, " time = {:.3f} seconds\n",
|
||||
platform::walltime() - tstart);
|
||||
//MPI_Barrier(world);
|
||||
//if (comm->me == 0)
|
||||
// utils::logmesg(lmp, " time = {:.3f} seconds\n",
|
||||
// platform::walltime() - tstart);
|
||||
|
||||
// unit conversion from MDI to LAMMPS
|
||||
|
||||
|
||||
@ -145,7 +145,6 @@ int MDIPlugin::plugin_wrapper(void * /*pmpicomm*/, MDI_Comm mdicomm, void *vptr)
|
||||
// that operation will issue MDI commands to the plugin engine
|
||||
|
||||
lammps->input->one(lammps_command);
|
||||
delete[] lammps_command;
|
||||
|
||||
// send MDI exit to plugin, which unloads the plugin
|
||||
|
||||
|
||||
Reference in New Issue
Block a user