Merge pull request #2921 from lammps/mdi-expand

Enhance MDI support in LAMMPS in its MDI package
This commit is contained in:
Axel Kohlmeyer
2022-04-09 00:18:50 -04:00
committed by GitHub
78 changed files with 5942 additions and 1433 deletions

View File

@ -83,6 +83,7 @@ indent: spherical indenter into a 2d solid
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
latte: use of LATTE density-functional tight-binding quantum code
mc: MC package models: GCMC, Widom, fix mol/swap
mdi: use of the MDI package and MolSSI MDI code coupling library
meam: MEAM test for SiC and shear (same as shear examples)
melt: rapid melt of 3d LJ system
message: client/server coupling of 2 codes

228
examples/mdi/README Normal file
View File

@ -0,0 +1,228 @@
These are examples that work the MDI package in LAMMPS which uses the
MolSSI MDI library for coupling codes together and communicating
between them with MDI messages.
In MDI lingo, one code is the driver and another code is the engine.
The 2 codes can be written in any language; C++ (LAMMPS) and Python
are illustrated here. The 2 codes can each be stand-alone codes, in
which case they can be run on different numbers of processors. The 2
codes can communicate either via TCP (sockets) or via MPI. For the
TCP case, the driver and engine need to be launched separately,
e.g. in 2 windows on your desktop machine. For the MPI case, a single
mpirun command launches both codes.
Alternatively the engine code can be a plugin library which the driver
code loads, in which case the driver and engine run on the same
processors.
LAMMPS supports operating in all these MDI modes. It can be an engine
operating either as a stand-alone code or as a plugin. It can also be
a driver and couple to an engine that is either a stand-alone code or
a plugin. Examples for all these use cases are in this directory.
The example commands below illustrate how to run all the variants.
To use LAMMPS as a plugin engine, you must build it as a shared library.
Something like this, which also builds the normal LAMMPS executable
lmp_mpi:
cd src
make yes-mdi
make mode=shlib mpi
To use the serial_driver.py example you will need Python 3 with Numpy
and mpi4py available in your Python. Make sure LAMMPS and Python are
using same the same version of MPI.
-------------------------------------------------
-------------------------------------------------
* Example #1 = run ab inito MD (AIMD)
Two instances of LAMMPS operate as a driver and engine
As an engine, LAMMPS is a surrogate for a quantum code
Note that the 2 input scripts in.aimd.alone and in.aimd.driver
have an option for running in NVE vs NPT mode. Comment in/out
the appropriate line to change modes. Nothing needs to be
changed in the in.aimd.engine or in.aimd.engine.plugin scripts.
---
Run the entire calculation with a single instance of LAMMPS by itself
results should be identical to running this example with MDI
% lmp_mpi < in.aimd.alone
With MDI, the thermo output of the driver should match the thermo
output of the in.aimd.alone script.
---
Run with TCP: 1 proc each
% lmp_mpi -mdi "-name aimd -role DRIVER -method TCP -port 8021" -log log.aimd.driver -in in.aimd.driver
% lmp_mpi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine -in in.aimd.engine
---
Run with TCP: 3 procs + 4 procs
% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method TCP -port 8021" -log log.aimd.driver -in in.aimd.driver
% mpirun -np 4 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine -in in.aimd.engine
---
Run with MPI: 1 proc each
% mpirun -np 1 lmp_mpi -mdi "-name aimd -role DRIVER -method MPI" -log log.aimd.driver -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method MPI" -log log.aimd.engine -in in.aimd.engine
---
Run with MPI: 3 procs + 4 procs
% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method MPI" -log log.aimd.driver -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LAMMPS -role ENGINE -method MPI" -log log.aimd.engine -in in.aimd.engine
---
Run in plugin mode: 1 proc
% lmp_mpi -mdi "-name aimd -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin
---
Run in plugin mode: 3 procs
% mpirun -np 3 lmp_mpi -mdi "-name aimd -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin -in in.aimd.driver.plugin
-------------------------------------------------
-------------------------------------------------
* Example #2 = Python driver runs a sequence of unrelated LAMMPS calculations
Each calculation can be a single-point evaluation, MD run, or minimization
The sequence_driver.py code allows for optional switches in addition
to -mdi (required) and the -plugin and -plugin_args switches which are
used to link to an engine as a plugin library. The example run
commands below just use the default values of the optional switches.
The switches are also explained at the top of the file; the info is
copied here:
# -n 3
# number of calculations to perform, default = 3
# -mode eval/run/min
# style of calculations: single snapshot evals, dynamics, minimization
# default = run
# -size Nx Ny Nz
# cubic lattice, default = 2 2 2
# -rho 0.75 0.1
# reduced density and random variation thereof, default = 0.75 0.1
# -delta 0.1
# randomly perturb atoms initially by this distance, default 0.1
# -nsteps 100
# number of timesteps in dynamics runs, default = 100
# -temp 1.0
# initial temperature in dynamics runs, default = 1.0
# -tol 0.001
# tolerance for minimizations, default = 0.001
# -seed 12345
# random number seed > 0, default = 12345
---
Run with TCP: 1 proc each
% python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021"
% lmp_mpi -mdi "-role ENGINE -name LAMMPS -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence
---
Run with TCP: 2 proc + 4 procs
% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021"
% mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method TCP -port 8021 -hostname localhost" -log log.sequence -in in.sequence
---
Run with MPI: 1 proc each
% mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence
---
Run with MPI: 2 procs + 4 procs
% mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence -in in.sequence
---
Run in plugin mode: 1 proc
% python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence"
---
Run in plugin mode: 3 procs
% mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence -in in.sequence"
-------------------------------------------------
-------------------------------------------------
* Example #3 = run AIMD with Python driver code and 2 LAMMPS instances as engines
First LAMMPS instance performs the MD timestepping
Second LAMMPS instance is surrogate QM = computes forces
The aimd_driver.py code allows for an optional switch in addition to
-mdi (required) and the -plugin and -plugin_args swiches which are
used to link to the 2 engines as a plugin libraries. The example run
commands below use the default values of the optional switch. The
switch is also explained the top of the file; the info is copied
here:
# -nsteps 5
# number of timesteps in dynamics runs, default = 5
---
Run the entire calculation with a single instance of LAMMPS by itself
results should be identical to running this example with MDI
% lmp_mpi < in.aimd.alone
With MDI, the driver prints the QM and Total energies. These should
match the PotEng and TotEng output of the in.aimd.alone script.
---
Run with TCP: 1 proc each
% python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021"
% lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm -in in.aimd.mm
% lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm -in in.aimd.qm
---
Run with TCP: 2 procs + 2 procs + 3 procs
% mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method TCP -port 8021"
% mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimd.mm -in in.aimd.mm
% mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimd.qm -in in.aimd.qm
---
Run with MPI: 1 proc each
% mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm -in in.aimd.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm -in in.aimd.qm
---
Run with MPI: 2 procs + 2 procs + 3 procs
% mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimd -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimd.mm -in in.aimd.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimd.qm -in in.aimd.qm

255
examples/mdi/aimd_driver.py Normal file
View File

@ -0,0 +1,255 @@
# MDI driver to perform an AIMD simulation
# using one instance of LAMMPS as the MD timestepper
# using second instance of LAMMPS as a QM surrogate to compute forces
# NOTE: this script is derived from the MDI_AIMD_Driver.cpp code
# included in the MDI distribution
# it alters the timestepping to match a velocity Verlet algorithm
# forces are computed once before timestepping beings
# both the @COORDS and @FORCES nodes are triggered in the MM code
# as the appropriate places to extract COORDS and provide FORCES
# Syntax: python3 aimd_driver.py switch arg switch arg ...
# possible switches:
# -mdi "-role DRIVER ..."
# required switch
# example for stand-alone mode:
# -mdi "-role DRIVER -name sequence -method TCP -port 8021"
# example for plugin mode:
# -mdi "-role DRIVER -name sequemce -method LINK
# -plugin_path /home/sjplimp/lammps/src/"
# -plugin name
# name of plugin library, only when using plugin mode
# -plugin_args arglist
# args to add when launching plugin library, only when using plugin mode
# enclose arglist in quotes if multiple words
# -nsteps 5
# number of timesteps, default = 5
import sys,math,random
import mdi
import numpy as np
from mpi4py import MPI
# error message
def error(txt=None):
if txt: raise Exception(txt)
raise Exception("Syntax: python3 aimd_driver.py switch arg switch arg ...")
# run an AIMD simulation
def perform_aimd(world,mm_comm,qm_comm):
me = world.Get_rank()
nprocs = world.Get_size()
# receive number of atoms from the MM engine
mdi.MDI_Send_command("<NATOMS",mm_comm)
natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mm_comm)
natoms = world.bcast(natoms,root=0)
# allocate arrays for coordinates and forces
coords = np.zeros(3*natoms,dtype=np.float64)
forces = np.zeros(3*natoms,dtype=np.float64)
# MM engine initializes a new MD simulation
mdi.MDI_Send_command("@INIT_MD",mm_comm)
# -----------------
# compute initial forces for Verlet timestepping
# and initial energy for output on step 0
# -----------------
# MM engine proceeds to @FORCES node in setup()
mdi.MDI_Send_command("@FORCES",mm_comm)
# get coords from MM engine
mdi.MDI_Send_command("<COORDS",mm_comm)
mdi.MDI_Recv(3*natoms,mdi.MDI_DOUBLE,mm_comm,buf=coords)
world.Bcast(coords,root=0)
# send coords to QM engine
mdi.MDI_Send_command(">COORDS",qm_comm)
mdi.MDI_Send(coords,3*natoms,mdi.MDI_DOUBLE,qm_comm)
# get QM potential energy
mdi.MDI_Send_command("<PE",qm_comm)
qm_pe = mdi.MDI_Recv(1,mdi.MDI_DOUBLE,qm_comm)
qm_pe = world.bcast(qm_pe,root=0)
# get forces from QM engine
mdi.MDI_Send_command("<FORCES",qm_comm)
mdi.MDI_Recv(3*natoms,mdi.MDI_DOUBLE,qm_comm,buf=forces)
world.Bcast(forces,root=0)
# send forces to MM engine
mdi.MDI_Send_command(">FORCES",mm_comm)
mdi.MDI_Send(forces,3*natoms,mdi.MDI_DOUBLE,mm_comm)
# get MM kinetic energy
mdi.MDI_Send_command("<KE",mm_comm)
mm_ke = mdi.MDI_Recv(1,mdi.MDI_DOUBLE,mm_comm)
mm_ke = world.bcast(mm_ke,root=0)
# output by driver
# normalize energies by atom count
if me == 0:
print("Step %d: MM energy %g, QM energy %g, Total energy %g" % \
(0,mm_ke/natoms,qm_pe/natoms,(mm_ke+qm_pe)/natoms))
# -----------------
# timestepping loop
# -----------------
for istep in range(nsteps):
# MM engine proceeds to @FORCES node
mdi.MDI_Send_command("@FORCES",mm_comm)
# get coords from MM engine
mdi.MDI_Send_command("<COORDS",mm_comm)
mdi.MDI_Recv(3*natoms,mdi.MDI_DOUBLE,mm_comm,buf=coords)
world.Bcast(coords,root=0)
# send coords to QM engine
mdi.MDI_Send_command(">COORDS",qm_comm)
mdi.MDI_Send(coords,3*natoms,mdi.MDI_DOUBLE,qm_comm)
# get QM potential energy
mdi.MDI_Send_command("<PE",qm_comm)
qm_pe = mdi.MDI_Recv(1,mdi.MDI_DOUBLE,qm_comm)
qm_pe = world.bcast(qm_pe,root=0)
# get forces from QM engine
mdi.MDI_Send_command("<FORCES",qm_comm)
mdi.MDI_Recv(3*natoms,mdi.MDI_DOUBLE,qm_comm,buf=forces)
world.Bcast(forces,root=0)
# send forces to MM engine
mdi.MDI_Send_command(">FORCES",mm_comm)
mdi.MDI_Send(forces,3*natoms,mdi.MDI_DOUBLE,mm_comm)
# MM engine proceeds to @ENDSTEP node
# so that KE will be for fully updated velocity
mdi.MDI_Send_command("@ENDSTEP",mm_comm)
# get MM kinetic energy
mdi.MDI_Send_command("<KE",mm_comm)
mm_ke = mdi.MDI_Recv(1,mdi.MDI_DOUBLE,mm_comm)
mm_ke = world.bcast(mm_ke,root=0)
# output by driver
# normalize energies by atom count
if me == 0:
print("Step %d: MM energy %g, QM energy %g, Total energy %g" % \
(istep+1,mm_ke/natoms,qm_pe/natoms,(mm_ke+qm_pe)/natoms))
# send EXIT to each engine
mdi.MDI_Send_command("EXIT",mm_comm)
mdi.MDI_Send_command("EXIT",qm_comm)
# ------------------------
# main program
# ------------------------
args = sys.argv[1:]
narg = len(args)
# defaults for command-line args
mdiarg = ""
plugin = ""
plugin_args = ""
nsteps = 5
# parse command-line args
iarg = 0
while iarg < narg:
if args[iarg] == "-mdi":
if iarg+2 > narg: error()
mdiarg = args[iarg+1]
iarg += 2
elif args[iarg] == "-plugin":
if iarg+2 > narg: error()
plugin = args[iarg+1]
iarg += 2
elif args[iarg] == "-plugin_args":
if iarg+2 > narg: error()
plugin_args = args[iarg+1]
iarg += 2
elif args[iarg] == "-nsteps":
if iarg+2 > narg: error()
nsteps = int(args[iarg+1])
if nsteps < 0: error()
iarg += 2
else: error()
if not mdiarg: error()
# LAMMPS engines are stand-alone codes
# world = MPI communicator for just this driver
# invoke perform_tasks() directly
if not plugin:
mdi.MDI_Init(mdiarg)
world = mdi.MDI_MPI_get_world_comm()
# connect to 2 engines, determine which is MM vs QM
mdicomm1 = mdi.MDI_Accept_Communicator()
mdicomm2 = mdi.MDI_Accept_Communicator()
mdi.MDI_Send_command("<NAME",mdicomm1)
name1 = mdi.MDI_Recv(mdi.MDI_NAME_LENGTH,mdi.MDI_CHAR,mdicomm1)
name1 = world.bcast(name1,root=0)
mdi.MDI_Send_command("<NAME",mdicomm2)
name2 = mdi.MDI_Recv(mdi.MDI_NAME_LENGTH,mdi.MDI_CHAR,mdicomm2)
name2 = world.bcast(name2,root=0)
if name1 == "MM" and name2 == "QM":
mm_comm = mdicomm1
qm_comm = mdicomm2
elif name1 == "QM" and name2 == "MM":
mm_comm = mdicomm2
qm_comm = mdicomm1
else: error("Two engines have invalid names")
perform_aimd(world,mm_comm,qm_comm)
# LAMMPS engines are plugin libraries
# launch plugins
# NOTE: need to run driver on 2 or more procs
# partition driver into 2 MPI comms
# launch one plugin on each partition
# each with their own callback function
if plugin:
error("Cannot yet run in plugin mode")
mdi.MDI_Init(mdiarg)
world = MPI.COMM_WORLD
plugin_args += " -mdi \"-role ENGINE -name lammps -method LINK\""
mdi.MDI_Launch_plugin(plugin,plugin_args,world,perform_tasks,None)

View File

@ -0,0 +1,32 @@
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
thermo_style custom step temp pe etotal press vol
thermo 1
run 5

View File

@ -0,0 +1,32 @@
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
run 5

View File

@ -0,0 +1,34 @@
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd plugin
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" &
infile in.aimd.engine extra "-log log.aimd.engine.plugin" &
command "run 5"

View File

@ -0,0 +1,22 @@
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine

23
examples/mdi/in.aimd.mm Normal file
View File

@ -0,0 +1,23 @@
# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
mdi engine

22
examples/mdi/in.aimd.qm Normal file
View File

@ -0,0 +1,22 @@
# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine

21
examples/mdi/in.sequence Normal file
View File

@ -0,0 +1,21 @@
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 1 0 1 0 1
create_box 1 box
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine

View File

@ -0,0 +1,90 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
thermo_style custom step temp pe etotal press vol
thermo 1
run 5
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 0.00427098 on 1 procs for 5 steps with 500 atoms
Performance: 505739.085 tau/day, 1170.692 timesteps/s
73.9% 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.0038665 | 0.0038665 | 0.0038665 | 0.0 | 90.53
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0001297 | 0.0001297 | 0.0001297 | 0.0 | 3.04
Output | 0.00014902 | 0.00014902 | 0.00014902 | 0.0 | 3.49
Modify | 6.5249e-05 | 6.5249e-05 | 6.5249e-05 | 0.0 | 1.53
Other | | 6.054e-05 | | | 1.42
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1956 ave 1956 max 1956 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 19500 ave 19500 max 19500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 19500
Ave neighs/atom = 39
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,79 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 0.0029525 on 1 procs for 5 steps with 500 atoms
Performance: 731582.413 tau/day, 1693.478 timesteps/s
99.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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.2632e-05 | 1.2632e-05 | 1.2632e-05 | 0.0 | 0.43
Output | 0.00010561 | 0.00010561 | 0.00010561 | 0.0 | 3.58
Modify | 0.0028043 | 0.0028043 | 0.0028043 | 0.0 | 94.98
Other | | 3e-05 | | | 1.02
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = -1
Ave neighs/atom = -0.002
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,79 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 0.00315597 on 3 procs for 5 steps with 500 atoms
Performance: 684416.574 tau/day, 1584.298 timesteps/s
99.5% CPU use with 3 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.769e-05 | 3.7059e-05 | 4.7808e-05 | 0.0 | 1.17
Output | 0.00011556 | 0.00015516 | 0.00021954 | 0.0 | 4.92
Modify | 0.002819 | 0.0028366 | 0.0028599 | 0.0 | 89.88
Other | | 0.0001272 | | | 4.03
Nlocal: 166.667 ave 200 max 150 min
Histogram: 2 0 0 0 0 0 0 0 0 1
Nghost: 55.3333 ave 92 max 32 min
Histogram: 1 1 0 0 0 0 0 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 0
Total # of neighbors = -3
Ave neighs/atom = -0.006
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,80 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd plugin
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 5"
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 0.00396559 on 1 procs for 5 steps with 500 atoms
Performance: 544685.246 tau/day, 1260.845 timesteps/s
98.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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.5936e-05 | 1.5936e-05 | 1.5936e-05 | 0.0 | 0.40
Output | 0.00011527 | 0.00011527 | 0.00011527 | 0.0 | 2.91
Modify | 0.0038025 | 0.0038025 | 0.0038025 | 0.0 | 95.89
Other | | 3.184e-05 | | | 0.80
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = -1
Ave neighs/atom = -0.002
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,80 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd plugin
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" infile in.aimd.engine extra "-log log.aimd.engine.plugin" command "run 5"
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 0.00287217 on 3 procs for 5 steps with 500 atoms
Performance: 752045.581 tau/day, 1740.846 timesteps/s
99.1% CPU use with 3 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.6368e-05 | 3.9139e-05 | 5.1029e-05 | 0.0 | 1.36
Output | 9.6932e-05 | 0.00012081 | 0.00016442 | 0.0 | 4.21
Modify | 0.0026109 | 0.0026258 | 0.0026494 | 0.0 | 91.42
Other | | 8.637e-05 | | | 3.01
Nlocal: 166.667 ave 200 max 150 min
Histogram: 2 0 0 0 0 0 0 0 0 1
Nghost: 55.3333 ave 92 max 32 min
Histogram: 1 1 0 0 0 0 0 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 0
Total # of neighbors = -3
Ave neighs/atom = -0.006
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,79 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 1.20486 on 1 procs for 5 steps with 500 atoms
Performance: 1792.736 tau/day, 4.150 timesteps/s
0.1% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 2.4487e-05 | 2.4487e-05 | 2.4487e-05 | 0.0 | 0.00
Output | 0.00026499 | 0.00026499 | 0.00026499 | 0.0 | 0.02
Modify | 1.2045 | 1.2045 | 1.2045 | 0.0 | 99.97
Other | | 6.184e-05 | | | 0.01
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = -1
Ave neighs/atom = -0.002
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:08

View File

@ -0,0 +1,79 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI driver script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
# NVE
fix 1 all nve
# NPT
#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0
fix 2 all mdi/aimd
fix_modify 2 energy yes virial yes
thermo_style custom step temp pe etotal press vol
thermo 1
run 5
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp PotEng TotEng Press Volume
0 1.44 -6.7733681 -4.6176881 -5.0221006 592.27671
1 1.4377309 -6.7699814 -4.6176981 -5.0007431 592.27671
2 1.430825 -6.7596844 -4.6177394 -4.9363501 592.27671
3 1.4189655 -6.7420029 -4.6178116 -4.8276957 592.27671
4 1.4016029 -6.7161132 -4.6179137 -4.6726332 592.27671
5 1.3779738 -6.6808361 -4.6180094 -4.468186 592.27671
Loop time of 1.19983 on 3 procs for 5 steps with 500 atoms
Performance: 1800.259 tau/day, 4.167 timesteps/s
66.7% CPU use with 3 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 4.604e-06 | 4.8462e-05 | 7.527e-05 | 0.0 | 0.00
Output | 0.00015266 | 0.00020593 | 0.00031177 | 0.0 | 0.02
Modify | 1.1993 | 1.1994 | 1.1994 | 0.0 | 99.96
Other | | 0.0002123 | | | 0.02
Nlocal: 166.667 ave 200 max 150 min
Histogram: 2 0 0 0 0 0 0 0 0 1
Nghost: 55.3333 ave 92 max 32 min
Histogram: 1 1 0 0 0 0 0 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 0
Total # of neighbors = -3
Ave neighs/atom = -0.006
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:08

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:01

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - MDI engine script
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:01

View File

@ -0,0 +1,5 @@
Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177
Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774
Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781
Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791
Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801

View File

@ -0,0 +1,5 @@
Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177
Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774
Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781
Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791
Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801

View File

@ -0,0 +1,6 @@
Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769
Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177
Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774
Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781
Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791
Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801

View File

@ -0,0 +1,6 @@
Step 0: MM energy 2.15568, QM energy -6.77337, Total energy -4.61769
Step 1: MM energy 2.15228, QM energy -6.76998, Total energy -4.6177
Step 2: MM energy 2.14195, QM energy -6.75968, Total energy -4.61774
Step 3: MM energy 2.12419, QM energy -6.742, Total energy -4.61781
Step 4: MM energy 2.0982, QM energy -6.71611, Total energy -4.61791
Step 5: MM energy 2.06283, QM energy -6.68084, Total energy -4.61801

View File

@ -0,0 +1,44 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
mdi engine
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1.44 0 0 2.15568 1.2132167
1 1.4377309 0 0 2.1522832 1.211305
2 1.430825 0 0 2.141945 1.2054866
3 1.4189655 0 0 2.1241913 1.1954949
4 1.4016029 0 0 2.0981995 1.1808667
5 1.3779738 0 0 2.0628267 1.1609589
Total wall time: 0:00:00

View File

@ -0,0 +1,44 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
mdi engine
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1.44 0 0 2.15568 1.2132167
1 1.4377309 0 0 2.1522832 1.211305
2 1.430825 0 0 2.141945 1.2054866
3 1.4189655 0 0 2.1241913 1.1954949
4 1.4016029 0 0 2.0981995 1.1808667
5 1.3779738 0 0 2.0628267 1.1609589
Total wall time: 0:00:00

View File

@ -0,0 +1,44 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
mdi engine
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1.44 0 0 2.15568 1.2132167
1 1.4377309 0 0 2.1522832 1.211305
2 1.430825 0 0 2.141945 1.2054866
3 1.4189655 0 0 2.1241913 1.1954949
4 1.4016029 0 0 2.0981995 1.1808667
5 1.3779738 0 0 2.0628267 1.1609589
Total wall time: 0:00:11

View File

@ -0,0 +1,44 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
velocity all create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
mdi engine
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2141)
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:209)
Per MPI rank memory allocation (min/avg/max) = 2.297 | 2.297 | 2.297 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1.44 0 0 2.15568 1.2132167
1 1.4377309 0 0 2.1522832 1.211305
2 1.430825 0 0 2.141945 1.2054866
3 1.4189655 0 0 2.1241913 1.1954949
4 1.4016029 0 0 2.0981995 1.1808667
5 1.3779738 0 0 2.0628267 1.1609589
Total wall time: 0:00:11

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:00

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.144 | 3.144 | 3.144 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:01

View File

@ -0,0 +1,55 @@
LAMMPS (17 Feb 2022)
# 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py
variable x index 5
variable y index 5
variable z index 5
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 $x 0 $y 0 $z
region box block 0 5 0 $y 0 $z
region box block 0 5 0 5 0 $z
region box block 0 5 0 5 0 5
create_box 1 box
Created orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
1 by 1 by 3 MPI processor grid
create_atoms 1 box
Created 500 atoms
using lattice units in orthogonal box = (0 0 0) to (8.397981 8.397981 8.397981)
create_atoms CPU = 0.001 seconds
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
mdi engine
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 6 6 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.124 | 3.13 | 3.133 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -6.7733681 0 -6.7733681 -6.2353173
1 0 -6.7699814 0 -6.7699814 -6.2120481
2 0 -6.7596844 0 -6.7596844 -6.1418368
3 0 -6.7420029 0 -6.7420029 -6.0231905
4 0 -6.7161132 0 -6.7161132 -5.8534999
5 0 -6.6808361 0 -6.6808361 -5.6291449
Total wall time: 0:00:01

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce -2.2204e-16 0 2.2204e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce -2.498e-16 -1.8735e-16 -3.4001e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce -7.9103e-16 3.4694e-16 4.0246e-16

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce -1.1102e-16 8.3267e-16 1.9429e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce 9.0206e-17 4.996e-16 1.5959e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce -1.4849e-15 -8.1879e-16 -1.7347e-16

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce 4.4409e-16 -1.1102e-16 6.6613e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce 7.0083e-16 1.1796e-16 5.4384e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce 0 2.0817e-16 -4.3021e-16

View File

@ -0,0 +1,3 @@
Calc 1: eng -4.5209 pressure 0.98188 aveForce -2.2204e-16 0 2.2204e-16
Calc 2: eng -4.5432 pressure -0.53137 aveForce -2.498e-16 -1.8735e-16 -3.4001e-16
Calc 3: eng -4.501 pressure 2.0049 aveForce -7.9103e-16 3.4694e-16 4.0246e-16

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 1 by 1 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 2 by 2 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 1 by 1 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 1 by 3 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 1 by 3 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 3 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
3 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.07 | 3.07 | 3.071 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 1 by 1 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 1 by 1 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,89 @@
LAMMPS (17 Feb 2022)
# MDI engine script to process a series of evaulate, run, minimize commands
units lj
atom_style atomic
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
region box block 0 1 0 1 0 1
create_box 1 box
Created orthogonal box = (0 0 0) to (1.6795962 1.6795962 1.6795962)
1 by 2 by 2 MPI processor grid
mass 1 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo 10
mdi engine
delete_atoms group all
Deleted 0 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 4 4 4
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.9713146 0 -2.4947521 3.1253597
10 1.2380002 -4.3210346 0 -2.4930499 2.0015258
20 1.173596 -4.2234559 0 -2.4905682 2.3587731
30 1.2989994 -4.4124445 0 -2.4943907 1.903698
40 1.4510255 -4.6467459 0 -2.504216 1.2196259
50 1.4631454 -4.6641774 0 -2.5037518 1.2838406
60 1.2694188 -4.3794267 0 -2.5050505 2.4497113
70 1.3363814 -4.4759884 0 -2.5027378 2.2441463
80 1.402534 -4.5752515 0 -2.5043224 1.9011715
90 1.3870321 -4.5512479 0 -2.5032084 2.0040237
100 1.3635651 -4.5209384 0 -2.5075493 1.9773816
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -4.1934138 0 -2.7168513 0.72358299
10 1.0170498 -4.2225288 0 -2.7207912 0.7556766
20 0.92567967 -4.0920979 0 -2.725274 1.2463143
30 1.0851758 -4.3346599 0 -2.73233 0.53176652
40 1.2163699 -4.5351986 0 -2.7391524 -0.077915153
50 1.2305739 -4.5558134 0 -2.7387942 -0.10711153
60 1.1172288 -4.3979372 0 -2.7482791 0.52752067
70 1.2228415 -4.5540741 0 -2.7484722 0.11937533
80 1.1776333 -4.4870195 0 -2.7481704 0.33904864
90 1.219283 -4.5483185 0 -2.747971 0.17898549
100 1.2138939 -4.5432229 0 -2.7508327 0.3076354
delete_atoms group all
Deleted 64 atoms, new total = 0
1 by 2 by 2 MPI processor grid
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.077 | 3.077 | 3.077 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -3.8524214 0 -2.3758589 4.6814052
10 1.3356745 -4.3481612 0 -2.3759544 3.061856
20 1.1791601 -4.117932 0 -2.3768284 3.8565
30 1.3435556 -4.3613609 0 -2.3775171 3.0728735
40 1.5628445 -4.6886004 0 -2.3809628 2.0989245
50 1.4735556 -4.5569123 0 -2.3811152 2.6364099
60 1.609387 -4.7581056 0 -2.3817452 1.8988642
70 1.5014902 -4.5938759 0 -2.3768318 2.458161
80 1.3763383 -4.4089865 0 -2.3767369 3.0379808
90 1.498202 -4.5909613 0 -2.3787724 2.5543714
100 1.43934 -4.5009545 0 -2.375679 3.0923444
Total wall time: 0:00:00

View File

@ -0,0 +1,311 @@
# MDI driver to perform a series of independent calculations
# using LAMMPS (or a QM code with MDI support) as an MDI engine,
# the engine can be either a standalone code or a plugin library
# Syntax: python3 series_driver.py switch arg switch arg ...
# possible switches:
# -mdi "-role DRIVER ..."
# required switch
# example for stand-alone mode:
# -mdi "-role DRIVER -name sequence -method TCP -port 8021"
# example for plugin mode:
# -mdi "-role DRIVER -name sequemce -method LINK
# -plugin_path /home/sjplimp/lammps/src/"
# -plugin name
# name of plugin library, only when using plugin mode
# -plugin_args arglist
# args to add when launching plugin library, only when using plugin mode
# enclose arglist in quotes if multiple words
# -n 3
# number of calculations to perform, default = 3
# -mode eval/run/min
# style of calculations: single snapshot evals, dynamics, minimization
# default = run
# -size Nx Ny Nz
# cubic lattice, default = 4 4 4
# -rho 0.75 0.1
# reduced density and random variation thereof, default = 0.75 0.1
# -delta 0.1
# randomly perturb atoms initially by this distance, default 0.1
# -nsteps 100
# number of timesteps in dynamics runs, default = 100
# -temp 1.0
# initial temperature in dynamics runs, default = 1.0
# -tol 0.001
# tolerance for minimizations, default = 0.001
# -seed 12345
# random number seed > 0, default = 12345
import sys,math,random
import mdi
import numpy as np
from mpi4py import MPI
# error message
def error(txt=None):
if txt: raise Exception(txt)
raise Exception("Syntax: python3 series_driver.py switch arg switch arg ...")
# loop over all the tasks to exchange MDI Sends/Receives with the engine
# for standalone mode, this is called by main program below
# for plugin mode, this is a callback function invoked by MDI
def perform_tasks(world,mdicomm,dummy):
me = world.Get_rank()
nprocs = world.Get_size()
# allocate vectors for per-atom types, coords, vels, forces
natoms = nx * ny * nz
atypes = np.zeros(natoms,dtype=np.int)
coords = np.zeros(3*natoms,dtype=np.float64)
vels = np.zeros(3*natoms,dtype=np.float64)
forces = np.zeros(3*natoms,dtype=np.float64)
atypes[:] = 1
# initialize RN generator
random.seed(seed)
# loop over sequence of calculations
for icalc in range(ncalc):
# define simulation box
onerho = rho + (random.random()-0.5)*rhodelta;
sigma = pow(1.0/onerho,1.0/3.0)
xlo = ylo = zlo = 0.0
xhi = nx * sigma
yhi = ny * sigma
zhi = nz * sigma
# send simulation box to engine
vec = [xhi-xlo,0.0,0.0] + [0.0,yhi-ylo,0.0] + [0.0,0.0,zhi-zlo]
mdi.MDI_Send_command(">CELL",mdicomm)
mdi.MDI_Send(vec,9,mdi.MDI_DOUBLE,mdicomm)
# create atoms on perfect lattice
m = 0
for k in range(nz):
for j in range(ny):
for i in range(nx):
coords[m] = i * sigma
coords[m+1] = j * sigma
coords[m+2] = k * sigma
m += 3
# perturb lattice
for m in range(3*natoms):
coords[m] += 2.0*random.random()*delta - delta
# define initial velocities
for m in range(3*natoms):
vels[m] = random.random() - 0.5
tcurrent = 0.0
for m in range(3*natoms):
tcurrent += vels[m]*vels[m]
tcurrent /= 3*(natoms-1)
factor = math.sqrt(tinitial/tcurrent)
for m in range(3*natoms):
vels[m] *= factor
# send atoms and their properties to engine
mdi.MDI_Send_command(">NATOMS",mdicomm)
mdi.MDI_Send(natoms,1,mdi.MDI_INT,mdicomm)
mdi.MDI_Send_command(">TYPES",mdicomm)
mdi.MDI_Send(atypes,natoms,mdi.MDI_INT,mdicomm)
mdi.MDI_Send_command(">COORDS",mdicomm)
mdi.MDI_Send(coords,3*natoms,mdi.MDI_DOUBLE,mdicomm)
mdi.MDI_Send_command(">VELOCITIES",mdicomm)
mdi.MDI_Send(vels,3*natoms,mdi.MDI_DOUBLE,mdicomm)
# eval or run or minimize
if mode == "eval":
pass
elif mode == "run":
mdi.MDI_Send_command(">NSTEPS",mdicomm)
mdi.MDI_Send(nsteps,1,mdi.MDI_INT,mdicomm)
mdi.MDI_Send_command("MD",mdicomm)
elif mode == "min":
mdi.MDI_Send_command(">TOLERANCE",mdicomm)
params = [tol,tol,1000.0,1000.0]
mdi.MDI_Send(params,4,mdi.MDI_DOUBLE,mdicomm)
mdi.MDI_Send_command("OPTG",mdicomm)
# request potential energy
mdi.MDI_Send_command("<PE",mdicomm)
pe = mdi.MDI_Recv(1,mdi.MDI_DOUBLE,mdicomm)
pe = world.bcast(pe,root=0)
# request virial tensor
mdi.MDI_Send_command("<STRESS",mdicomm)
virial = mdi.MDI_Recv(6,mdi.MDI_DOUBLE,mdicomm)
virial = world.bcast(virial,root=0)
# request forces
mdi.MDI_Send_command("<FORCES",mdicomm)
mdi.MDI_Recv(3*natoms,mdi.MDI_DOUBLE,mdicomm,buf=forces)
world.Bcast(forces,root=0)
# final output from each calculation
# pressure = just virial component, no kinetic component
aveeng = pe/natoms
pressure = (virial[0] + virial[1] + virial[2]) / 3.0
m = 0
fx = fy = fz = 0.0
for i in range(natoms):
fx += forces[m]
fy += forces[m+1]
fz += forces[m+2]
m += 3
fx /= natoms
fy /= natoms
fz /= natoms
line = "Calc %d: eng %7.5g pressure %7.5g aveForce %7.5g %7.5g %7.5g" % \
(icalc+1,aveeng,pressure,fx,fy,fz)
if me == 0: print(line)
# send EXIT command to engine
# in plugin mode, removes the plugin library
mdi.MDI_Send_command("EXIT",mdicomm)
# return needed for plugin mode
return 0
# ------------------------
# main program
# ------------------------
args = sys.argv[1:]
narg = len(args)
# defaults for command-line args
mdiarg = ""
plugin = ""
plugin_args = ""
ncalc = 3
mode = "run"
nx = ny = nz = 4
rho = 0.75
rhodelta = 0.1
delta = 0.1
nsteps = 100
tinitial = 1.0
tol = 0.001
seed = 12345
# parse command-line args
iarg = 0
while iarg < narg:
if args[iarg] == "-mdi":
if iarg+2 > narg: error()
mdiarg = args[iarg+1]
iarg += 2
elif args[iarg] == "-plugin":
if iarg+2 > narg: error()
plugin = args[iarg+1]
iarg += 2
elif args[iarg] == "-plugin_args":
if iarg+2 > narg: error()
plugin_args = args[iarg+1]
iarg += 2
elif args[iarg] == "-n":
if iarg+2 > narg: error()
ncalc = int(args[iarg+1])
iarg += 2
elif args[iarg] == "-mode":
if iarg+2 > narg: error()
mode = args[iarg+1]
if mode != "eval" and mode != "run" and mode != "min": error()
iarg += 2
elif args[iarg] == "-size":
if iarg+4 > narg: error()
nx = int(args[iarg+1])
ny = int(args[iarg+2])
nz = int(args[iarg+3])
if nx <= 0 or ny <= 0 or nz <= 0: error()
iarg += 4
elif args[iarg] == "-rho":
if iarg+3 > narg: error()
rho = float(args[iarg+1])
rhodelta = float(args[iarg+2])
if rho-rhodelta <= 0.0: error()
iarg += 3
elif args[iarg] == "-delta":
if iarg+2 > narg: error()
delta = float(args[iarg+1])
if delta < 0.0: error()
iarg += 2
elif args[iarg] == "-nsteps":
if iarg+2 > narg: error()
nsteps = int(args[iarg+1])
if nsteps < 0: error()
iarg += 2
elif args[iarg] == "-temp":
if iarg+2 > narg: error()
tinitial = float(args[iarg+1])
if tinitial < 0.0: error()
iarg += 2
elif args[iarg] == "-tol":
if iarg+2 > narg: error()
tol = float(args[iarg+1])
if tol < 0.0: error()
iarg += 2
elif args[iarg] == "-seed":
if iarg+2 > narg: error()
seed = int(args[iarg+1])
if seed <= 0: error()
iarg += 2
else: error()
if not mdiarg: error()
# LAMMPS engine is a stand-alone code
# world = MPI communicator for just this driver
# invoke perform_tasks() directly
if not plugin:
mdi.MDI_Init(mdiarg)
world = mdi.MDI_MPI_get_world_comm()
# connect to engine
mdicomm = mdi.MDI_Accept_Communicator()
perform_tasks(world,mdicomm,None)
# LAMMPS engine is a plugin library
# launch plugin
# MDI will call back to perform_tasks()
if plugin:
mdi.MDI_Init(mdiarg)
world = MPI.COMM_WORLD
plugin_args += " -mdi \"-role ENGINE -name lammps -method LINK\""
mdi.MDI_Launch_plugin(plugin,plugin_args,world,perform_tasks,None)