add harmonic/cut to python example folder. small tweaks to docs and examples
This commit is contained in:
@ -223,19 +223,21 @@ be explicitly provided. The corresponding python code is:
|
|||||||
.. admonition:: Performance Impact
|
.. admonition:: Performance Impact
|
||||||
:class: note
|
:class: note
|
||||||
|
|
||||||
The evaluation of scripted python code will slow down the
|
The evaluation of scripted python code will slow down the computation
|
||||||
computation pairwise interactions quite significantly. However, this
|
of pairwise interactions quite significantly. However, this performance
|
||||||
can be largely worked around through using the python pair style not
|
penalty can be worked around through using the python pair style not
|
||||||
for the actual simulation, but to generate tabulated potentials on the
|
for the actual simulation, but to generate tabulated potentials using
|
||||||
fly using the :doc:`pair_write <pair_write>` command. Please see below
|
the :doc:`pair_write <pair_write>` command. This will also enable
|
||||||
for an example LAMMPS input of how to build a table file:
|
GPU or multi-thread acceleration through the GPU, KOKKOS, or OPENMP
|
||||||
|
package versions of the *table* pair style. Please see below for a
|
||||||
|
LAMMPS input example demonstrating how to build a table file:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
pair_style python 2.5
|
pair_style python 2.5
|
||||||
pair_coeff * * py_pot.LJCutMelt lj
|
pair_coeff * * py_pot.LJCutMelt lj
|
||||||
shell rm -f melt.table
|
shell rm -f lj.table
|
||||||
pair_write 1 1 2000 rsq 0.01 2.5 lj1_lj2.table lj
|
pair_write 1 1 2000 rsq 0.01 2.5 lj.table lj
|
||||||
|
|
||||||
Note that it is strongly recommended to try to **delete** the potential
|
Note that it is strongly recommended to try to **delete** the potential
|
||||||
table file before generating it. Since the *pair_write* command will
|
table file before generating it. Since the *pair_write* command will
|
||||||
@ -250,7 +252,7 @@ to be assigned to the LAMMPS atom types like this:
|
|||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
pair_style table linear 2000
|
pair_style table linear 2000
|
||||||
pair_coeff 1 1 melt.table lj
|
pair_coeff 1 1 lj.table lj
|
||||||
|
|
||||||
This can also be done for more complex systems. Please see the
|
This can also be done for more complex systems. Please see the
|
||||||
*examples/python* folders for a few more examples.
|
*examples/python* folders for a few more examples.
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass 1 1.0
|
mass 1 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
pair_style lj/cut 2.5
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
python end_of_step_callback here """
|
python end_of_step_callback here """
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
@ -32,19 +32,19 @@ def post_force_callback(lmp, v):
|
|||||||
print("### POST_FORCE ###", t)
|
print("### POST_FORCE ###", t)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
fix 2 all python/invoke 50 end_of_step end_of_step_callback
|
fix 2 all python/invoke 50 end_of_step end_of_step_callback
|
||||||
fix 3 all python/invoke 50 post_force post_force_callback
|
fix 3 all python/invoke 50 post_force post_force_callback
|
||||||
|
|
||||||
#dump id all atom 50 dump.melt
|
#dump id all atom 50 dump.melt
|
||||||
|
|
||||||
#dump 2 all image 25 image.*.jpg type type &
|
#dump 2 all image 25 image.*.jpg type type &
|
||||||
# axes yes 0.8 0.02 view 60 -30
|
# axes yes 0.8 0.02 view 60 -30
|
||||||
#dump_modify 2 pad 3
|
#dump_modify 2 pad 3
|
||||||
|
|
||||||
#dump 3 all movie 25 movie.mpg type type &
|
#dump 3 all movie 25 movie.mpg type type &
|
||||||
# axes yes 0.8 0.02 view 60 -30
|
# axes yes 0.8 0.02 view 60 -30
|
||||||
#dump_modify 3 pad 3
|
#dump_modify 3 pad 3
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 2 0 2 0 2
|
region box block 0 2 0 2 0 2
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass 1 1.0
|
mass 1 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
pair_style lj/cut 2.5
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
|
||||||
neighbor 0.1 bin
|
neighbor 0.1 bin
|
||||||
|
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
python post_force_callback here """
|
python post_force_callback here """
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
@ -55,18 +55,18 @@ def post_force_callback(lmp, v):
|
|||||||
print(e)
|
print(e)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
fix 3 all python/invoke 50 post_force post_force_callback
|
fix 3 all python/invoke 50 post_force post_force_callback
|
||||||
|
|
||||||
#dump id all atom 1 dump.melt
|
#dump id all atom 1 dump.melt
|
||||||
|
|
||||||
#dump 2 all image 1 image.*.jpg type type &
|
#dump 2 all image 1 image.*.jpg type type &
|
||||||
# axes yes 0.8 0.02 view 60 -30
|
# axes yes 0.8 0.02 view 60 -30
|
||||||
#dump_modify 2 pad 3
|
#dump_modify 2 pad 3
|
||||||
|
|
||||||
#dump 3 all movie 1 movie.mpg type type &
|
#dump 3 all movie 1 movie.mpg type type &
|
||||||
# axes yes 0.8 0.02 view 60 -30
|
# axes yes 0.8 0.02 view 60 -30
|
||||||
#dump_modify 3 pad 3
|
#dump_modify 3 pad 3
|
||||||
|
|
||||||
thermo 1
|
thermo 1
|
||||||
run 100
|
run 100
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
pair_style lj/cut 2.5
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all python/move py_nve.NVE
|
fix 1 all python/move py_nve.NVE
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
pair_style lj/cut 2.5
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all python/move py_nve.NVE_Opt
|
fix 1 all python/move py_nve.NVE_Opt
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|||||||
@ -1,27 +1,27 @@
|
|||||||
units real
|
units real
|
||||||
atom_style full
|
atom_style full
|
||||||
|
|
||||||
read_data data.spce
|
read_data data.spce
|
||||||
|
|
||||||
pair_style hybrid/overlay coul/cut 12.0 python 12.0
|
pair_style hybrid/overlay coul/cut 12.0 python 12.0
|
||||||
|
|
||||||
pair_coeff * * coul/cut
|
pair_coeff * * coul/cut
|
||||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||||
|
|
||||||
bond_style harmonic
|
bond_style harmonic
|
||||||
angle_style harmonic
|
angle_style harmonic
|
||||||
dihedral_style none
|
dihedral_style none
|
||||||
improper_style none
|
improper_style none
|
||||||
|
|
||||||
bond_coeff 1 1000.00 1.000
|
bond_coeff 1 1000.00 1.000
|
||||||
angle_coeff 1 100.0 109.47
|
angle_coeff 1 100.0 109.47
|
||||||
|
|
||||||
special_bonds lj/coul 0.0 0.0 1.0
|
special_bonds lj/coul 0.0 0.0 1.0
|
||||||
|
|
||||||
neighbor 2.0 bin
|
neighbor 2.0 bin
|
||||||
|
|
||||||
fix 1 all shake 0.0001 20 0 b 1 a 1
|
fix 1 all shake 0.0001 20 0 b 1 a 1
|
||||||
fix 2 all nvt temp 300.0 300.0 100.0
|
fix 2 all nvt temp 300.0 300.0 100.0
|
||||||
|
|
||||||
# create combined lj/coul table for all atom types
|
# create combined lj/coul table for all atom types
|
||||||
# generate tabulated potential from python variant
|
# generate tabulated potential from python variant
|
||||||
|
|||||||
84
examples/python/in.pair_python_harmonic
Normal file
84
examples/python/in.pair_python_harmonic
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# 3d soft repulsive particles
|
||||||
|
|
||||||
|
units real
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
lattice fcc 5.0 origin 0.1 0.1 0.1
|
||||||
|
region box block -5 5 -5 5 -5 5
|
||||||
|
create_box 2 box
|
||||||
|
create_atoms 1 box
|
||||||
|
set type 1 type/ratio 2 0.5 424662346
|
||||||
|
mass * 1.0
|
||||||
|
|
||||||
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
|
pair_style python 9.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
|
||||||
|
write_restart repulsive.restart
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
|
||||||
|
pair_style python 10.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
shell rm -f python.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 python.dat PYTH_A_A
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 python.dat PYTH_B_B
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 python.dat PYTH_A_B
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
|
||||||
|
pair_style harmonic/cut
|
||||||
|
pair_coeff 1 1 0.2 9.0
|
||||||
|
pair_coeff 2 2 0.4 9.0
|
||||||
|
|
||||||
|
shell rm -f harmonic.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 harmonic.dat HARM_1_1
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 harmonic.dat HARM_2_2
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 harmonic.dat HARM_1_2
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
|
||||||
|
pair_style table spline 1000
|
||||||
|
pair_coeff 1 1 python.dat PYTH_A_A
|
||||||
|
pair_coeff 1 2 python.dat PYTH_A_B
|
||||||
|
pair_coeff 2 2 python.dat PYTH_B_B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
shell rm repulsive.restart harmonic.dat python.dat
|
||||||
@ -1,29 +1,29 @@
|
|||||||
# 3d Lennard-Jones hybrid
|
# 3d Lennard-Jones hybrid
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 2 box
|
create_box 2 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
region half block -0.1 4.9 0 10 0 10
|
region half block -0.1 4.9 0 10 0 10
|
||||||
set region half type 2
|
set region half type 2
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style hybrid lj/cut 2.5 python 2.5
|
pair_style hybrid lj/cut 2.5 python 2.5
|
||||||
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
||||||
pair_coeff * 2 lj/cut 1.0 1.0
|
pair_coeff * 2 lj/cut 1.0 1.0
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
write_data hybrid.data
|
write_data hybrid.data
|
||||||
write_restart hybrid.restart
|
write_restart hybrid.restart
|
||||||
@ -32,32 +32,32 @@ clear
|
|||||||
|
|
||||||
read_restart hybrid.restart
|
read_restart hybrid.restart
|
||||||
|
|
||||||
pair_style hybrid lj/cut 2.5 python 2.5
|
pair_style hybrid lj/cut 2.5 python 2.5
|
||||||
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
||||||
pair_coeff * 2 lj/cut 1.0 1.0
|
pair_coeff * 2 lj/cut 1.0 1.0
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
clear
|
clear
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
read_data hybrid.data
|
read_data hybrid.data
|
||||||
|
|
||||||
pair_style hybrid lj/cut 2.5 python 2.5
|
pair_style hybrid lj/cut 2.5 python 2.5
|
||||||
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
pair_coeff * * python py_pot.LJCutMelt lj NULL
|
||||||
pair_coeff * 2 lj/cut 1.0 1.0
|
pair_coeff * 2 lj/cut 1.0 1.0
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
shell rm hybrid.data hybrid.restart
|
shell rm hybrid.data hybrid.restart
|
||||||
|
|||||||
@ -1,25 +1,25 @@
|
|||||||
units real
|
units real
|
||||||
atom_style full
|
atom_style full
|
||||||
|
|
||||||
read_data data.spce
|
read_data data.spce
|
||||||
|
|
||||||
pair_style python 12.0
|
pair_style python 12.0
|
||||||
pair_coeff * * py_pot.LJCutSPCE OW HW
|
pair_coeff * * py_pot.LJCutSPCE OW HW
|
||||||
|
|
||||||
bond_style harmonic
|
bond_style harmonic
|
||||||
angle_style harmonic
|
angle_style harmonic
|
||||||
dihedral_style none
|
dihedral_style none
|
||||||
improper_style none
|
improper_style none
|
||||||
|
|
||||||
bond_coeff 1 1000.00 1.000
|
bond_coeff 1 1000.00 1.000
|
||||||
angle_coeff 1 100.0 109.47
|
angle_coeff 1 100.0 109.47
|
||||||
|
|
||||||
special_bonds lj/coul 0.0 0.0 1.0
|
special_bonds lj/coul 0.0 0.0 1.0
|
||||||
|
|
||||||
neighbor 2.0 bin
|
neighbor 2.0 bin
|
||||||
|
|
||||||
fix 1 all shake 0.0001 20 0 b 1 a 1
|
fix 1 all shake 0.0001 20 0 b 1 a 1
|
||||||
fix 2 all nvt temp 300.0 300.0 100.0
|
fix 2 all nvt temp 300.0 300.0 100.0
|
||||||
|
|
||||||
# create only lj/cut table for the oxygen atoms from python
|
# create only lj/cut table for the oxygen atoms from python
|
||||||
shell rm -f spce.table
|
shell rm -f spce.table
|
||||||
@ -27,7 +27,7 @@ pair_write 1 1 2000 rsq 0.1 12 spce.table OW-OW
|
|||||||
|
|
||||||
# switch to tabulated potential with long-range coulomb as overlay
|
# switch to tabulated potential with long-range coulomb as overlay
|
||||||
pair_style hybrid/overlay coul/long 12.0 table linear 2000
|
pair_style hybrid/overlay coul/long 12.0 table linear 2000
|
||||||
kspace_style pppm 1.0e-6
|
kspace_style pppm 1.0e-6
|
||||||
pair_coeff * * coul/long
|
pair_coeff * * coul/long
|
||||||
pair_coeff 1 1 table spce.table OW-OW
|
pair_coeff 1 1 table spce.table OW-OW
|
||||||
|
|
||||||
|
|||||||
@ -1,26 +1,26 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style python 2.5
|
pair_style python 2.5
|
||||||
pair_coeff * * py_pot.LJCutMelt lj
|
pair_coeff * * py_pot.LJCutMelt lj
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
write_data melt.data
|
write_data melt.data
|
||||||
write_restart melt.restart
|
write_restart melt.restart
|
||||||
@ -29,30 +29,30 @@ clear
|
|||||||
|
|
||||||
read_restart melt.restart
|
read_restart melt.restart
|
||||||
|
|
||||||
pair_style python 2.5
|
pair_style python 2.5
|
||||||
pair_coeff * * py_pot.LJCutMelt lj
|
pair_coeff * * py_pot.LJCutMelt lj
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
clear
|
clear
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
read_data melt.data
|
read_data melt.data
|
||||||
|
|
||||||
pair_style python 2.5
|
pair_style python 2.5
|
||||||
pair_coeff * * py_pot.LJCutMelt lj
|
pair_coeff * * py_pot.LJCutMelt lj
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
shell rm melt.data melt.restart
|
shell rm melt.data melt.restart
|
||||||
|
|||||||
@ -1,28 +1,28 @@
|
|||||||
units real
|
units real
|
||||||
atom_style full
|
atom_style full
|
||||||
|
|
||||||
read_data data.spce
|
read_data data.spce
|
||||||
|
|
||||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||||
kspace_style pppm 1.0e-6
|
kspace_style pppm 1.0e-6
|
||||||
|
|
||||||
pair_coeff * * coul/long
|
pair_coeff * * coul/long
|
||||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||||
|
|
||||||
bond_style harmonic
|
bond_style harmonic
|
||||||
angle_style harmonic
|
angle_style harmonic
|
||||||
dihedral_style none
|
dihedral_style none
|
||||||
improper_style none
|
improper_style none
|
||||||
|
|
||||||
bond_coeff 1 1000.00 1.000
|
bond_coeff 1 1000.00 1.000
|
||||||
angle_coeff 1 100.0 109.47
|
angle_coeff 1 100.0 109.47
|
||||||
|
|
||||||
special_bonds lj/coul 0.0 0.0 1.0
|
special_bonds lj/coul 0.0 0.0 1.0
|
||||||
|
|
||||||
neighbor 2.0 bin
|
neighbor 2.0 bin
|
||||||
|
|
||||||
fix 1 all shake 0.0001 20 0 b 1 a 1
|
fix 1 all shake 0.0001 20 0 b 1 a 1
|
||||||
fix 2 all nvt temp 300.0 300.0 100.0
|
fix 2 all nvt temp 300.0 300.0 100.0
|
||||||
|
|
||||||
thermo 10
|
thermo 10
|
||||||
run 100
|
run 100
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
# 3d Lennard-Jones melt
|
# 3d Lennard-Jones melt
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
|
|
||||||
velocity all create 3.0 87287
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
pair_style python 2.5
|
pair_style python 2.5
|
||||||
pair_coeff * * py_pot.LJCutMelt lj
|
pair_coeff * * py_pot.LJCutMelt lj
|
||||||
|
|
||||||
# generate tabulated potential from python variant
|
# generate tabulated potential from python variant
|
||||||
pair_write 1 1 2000 rsq 0.01 2.5 lj_1_1.table LJ
|
pair_write 1 1 2000 rsq 0.01 2.5 lj_1_1.table LJ
|
||||||
@ -20,13 +20,13 @@ pair_write 1 1 2000 rsq 0.01 2.5 lj_1_1.table LJ
|
|||||||
pair_style table linear 2000
|
pair_style table linear 2000
|
||||||
pair_coeff 1 1 lj_1_1.table LJ
|
pair_coeff 1 1 lj_1_1.table LJ
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify every 20 delay 0 check no
|
neigh_modify every 20 delay 0 check no
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
run 250
|
run 250
|
||||||
|
|
||||||
shell rm lj_1_1.table
|
shell rm lj_1_1.table
|
||||||
|
|
||||||
|
|||||||
@ -1,25 +1,25 @@
|
|||||||
# 3d Lennard-Jones melt with Python functions added
|
# 3d Lennard-Jones melt with Python functions added
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
lattice fcc 0.8442
|
lattice fcc 0.8442
|
||||||
region box block 0 10 0 10 0 10
|
region box block 0 10 0 10 0 10
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass 1 1.0
|
mass 1 1.0
|
||||||
|
|
||||||
velocity all create 1.44 87287 loop geom
|
velocity all create 1.44 87287 loop geom
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
pair_style lj/cut 2.5
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
|
||||||
neighbor 0.3 bin
|
neighbor 0.3 bin
|
||||||
neigh_modify delay 0 every 1 check yes
|
neigh_modify delay 0 every 1 check yes
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
run 10
|
run 10
|
||||||
|
|
||||||
# 1st Python function
|
# 1st Python function
|
||||||
# example of catching a syntax error
|
# example of catching a syntax error
|
||||||
|
|||||||
235
examples/python/log.18Mar22.pair_python_harmonic.g++.1
Normal file
235
examples/python/log.18Mar22.pair_python_harmonic.g++.1
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
LAMMPS (17 Feb 2022)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 3d soft repulsive particles
|
||||||
|
|
||||||
|
units real
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
lattice fcc 5.0 origin 0.1 0.1 0.1
|
||||||
|
Lattice spacing in x,y,z = 5 5 5
|
||||||
|
region box block -5 5 -5 5 -5 5
|
||||||
|
create_box 2 box
|
||||||
|
Created orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
create_atoms 1 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
create_atoms CPU = 0.001 seconds
|
||||||
|
set type 1 type/ratio 2 0.5 424662346
|
||||||
|
Setting atom values ...
|
||||||
|
2000 settings made for type/ratio
|
||||||
|
mass * 1.0
|
||||||
|
|
||||||
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
|
pair_style python 9.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 10
|
||||||
|
ghost atom cutoff = 10
|
||||||
|
binsize = 5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, 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) = 4.139 | 4.139 | 4.139 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 3 423789.56 0 423825.32 249259.3
|
||||||
|
50 75.889551 422919.46 0 423824.08 248893.24
|
||||||
|
100 105.20972 422570.47 0 423824.6 250756.6
|
||||||
|
150 132.08764 422249.71 0 423824.23 251894.29
|
||||||
|
200 118.14116 422416.43 0 423824.7 252088.96
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
Loop time of 17.4414 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
write_restart repulsive.restart
|
||||||
|
System init for write_restart ...
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.001 seconds
|
||||||
|
|
||||||
|
pair_style python 10.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
shell rm -f python.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 python.dat PYTH_A_A
|
||||||
|
Creating table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 12
|
||||||
|
ghost atom cutoff = 12
|
||||||
|
binsize = 6, bins = 9 9 9
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 python.dat PYTH_B_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 python.dat PYTH_A_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.977 | 4.977 | 4.977 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 23.4715 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style harmonic/cut
|
||||||
|
pair_coeff 1 1 0.2 9.0
|
||||||
|
pair_coeff 2 2 0.4 9.0
|
||||||
|
|
||||||
|
shell rm -f harmonic.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 harmonic.dat HARM_1_1
|
||||||
|
Creating table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair harmonic/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 harmonic.dat HARM_2_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 harmonic.dat HARM_1_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.138 | 4.138 | 4.138 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 0.843376 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style table spline 1000
|
||||||
|
pair_coeff 1 1 python.dat PYTH_A_A
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 1 2 python.dat PYTH_A_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 2 2 python.dat PYTH_B_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair table, 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) = 4.552 | 4.552 | 4.552 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.14
|
||||||
|
300 119.72876 422397.4 0 423824.6 251985.1
|
||||||
|
350 124.88381 422335.77 0 423824.42 252051.26
|
||||||
|
400 121.76148 422373.11 0 423824.53 252006.37
|
||||||
|
450 125.29842 422330.9 0 423824.49 251997.21
|
||||||
|
500 126.87418 422312.08 0 423824.46 252053.48
|
||||||
|
Loop time of 1.57415 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
shell rm repulsive.restart harmonic.dat python.dat
|
||||||
|
Total wall time: 0:00:43
|
||||||
235
examples/python/log.18Mar22.pair_python_harmonic.g++.4
Normal file
235
examples/python/log.18Mar22.pair_python_harmonic.g++.4
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
LAMMPS (17 Feb 2022)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 3d soft repulsive particles
|
||||||
|
|
||||||
|
units real
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
lattice fcc 5.0 origin 0.1 0.1 0.1
|
||||||
|
Lattice spacing in x,y,z = 5 5 5
|
||||||
|
region box block -5 5 -5 5 -5 5
|
||||||
|
create_box 2 box
|
||||||
|
Created orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 2 by 2 MPI processor grid
|
||||||
|
create_atoms 1 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
set type 1 type/ratio 2 0.5 424662346
|
||||||
|
Setting atom values ...
|
||||||
|
2000 settings made for type/ratio
|
||||||
|
mass * 1.0
|
||||||
|
|
||||||
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
|
pair_style python 9.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 10
|
||||||
|
ghost atom cutoff = 10
|
||||||
|
binsize = 5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, 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.225 | 3.225 | 3.225 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 3 423843.22 0 423878.98 249277.9
|
||||||
|
50 79.665061 422928.03 0 423877.66 248995.64
|
||||||
|
100 108.5878 422583.81 0 423878.21 250822.76
|
||||||
|
150 130.90607 422317.45 0 423877.89 251949.08
|
||||||
|
200 120.05458 422447.24 0 423878.33 252105.09
|
||||||
|
250 135.76605 422259.47 0 423877.84 252077.41
|
||||||
|
Loop time of 4.70112 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
write_restart repulsive.restart
|
||||||
|
System init for write_restart ...
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 2 by 2 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.001 seconds
|
||||||
|
|
||||||
|
pair_style python 10.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
shell rm -f python.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 python.dat PYTH_A_A
|
||||||
|
Creating table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 12
|
||||||
|
ghost atom cutoff = 12
|
||||||
|
binsize = 6, bins = 9 9 9
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 python.dat PYTH_B_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 python.dat PYTH_A_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.667 | 3.667 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 135.76605 422259.47 0 423877.84 252077.41
|
||||||
|
300 119.63404 422452.21 0 423878.28 251958.74
|
||||||
|
350 129.35013 422336.12 0 423878 252069.99
|
||||||
|
400 123.04377 422411.48 0 423878.19 252024.23
|
||||||
|
450 126.01375 422375.98 0 423878.1 252019.19
|
||||||
|
500 126.91094 422365.34 0 423878.15 252012.59
|
||||||
|
Loop time of 6.20423 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 2 by 2 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.001 seconds
|
||||||
|
|
||||||
|
pair_style harmonic/cut
|
||||||
|
pair_coeff 1 1 0.2 9.0
|
||||||
|
pair_coeff 2 2 0.4 9.0
|
||||||
|
|
||||||
|
shell rm -f harmonic.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 harmonic.dat HARM_1_1
|
||||||
|
Creating table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair harmonic/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 harmonic.dat HARM_2_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 harmonic.dat HARM_1_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.227 | 3.227 | 3.229 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 135.76605 422259.47 0 423877.84 252077.41
|
||||||
|
300 119.63404 422452.21 0 423878.28 251958.74
|
||||||
|
350 129.35013 422336.12 0 423878 252069.99
|
||||||
|
400 123.04377 422411.48 0 423878.19 252024.23
|
||||||
|
450 126.01375 422375.98 0 423878.1 252019.19
|
||||||
|
500 126.91094 422365.34 0 423878.15 252012.59
|
||||||
|
Loop time of 0.257048 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 2 by 2 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style table spline 1000
|
||||||
|
pair_coeff 1 1 python.dat PYTH_A_A
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 1 2 python.dat PYTH_A_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 2 2 python.dat PYTH_B_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair table, 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.257 | 3.257 | 3.257 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 135.76605 422259.47 0 423877.84 252077.38
|
||||||
|
300 119.63401 422452.21 0 423878.28 251958.73
|
||||||
|
350 129.35009 422336.11 0 423878 252069.98
|
||||||
|
400 123.04383 422411.48 0 423878.19 252024.21
|
||||||
|
450 126.01378 422375.98 0 423878.1 252019.16
|
||||||
|
500 126.91078 422365.34 0 423878.15 252012.57
|
||||||
|
Loop time of 0.497624 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
shell rm repulsive.restart harmonic.dat python.dat
|
||||||
|
Total wall time: 0:00:11
|
||||||
288
examples/python/log.18Mar22.pair_python_harmonic.opencl.1
Normal file
288
examples/python/log.18Mar22.pair_python_harmonic.opencl.1
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
LAMMPS (17 Feb 2022)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
package gpu 0
|
||||||
|
# 3d soft repulsive particles
|
||||||
|
|
||||||
|
units real
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
lattice fcc 5.0 origin 0.1 0.1 0.1
|
||||||
|
Lattice spacing in x,y,z = 5 5 5
|
||||||
|
region box block -5 5 -5 5 -5 5
|
||||||
|
create_box 2 box
|
||||||
|
Created orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
create_atoms 1 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
set type 1 type/ratio 2 0.5 424662346
|
||||||
|
Setting atom values ...
|
||||||
|
2000 settings made for type/ratio
|
||||||
|
mass * 1.0
|
||||||
|
|
||||||
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
|
pair_style python 9.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
Your simulation uses code contributions which should be cited:
|
||||||
|
|
||||||
|
- GPU package (short-range, long-range and three-body potentials):
|
||||||
|
|
||||||
|
@Article{Brown11,
|
||||||
|
author = {W. M. Brown, P. Wang, S. J. Plimpton, A. N. Tharrington},
|
||||||
|
title = {Implementing Molecular Dynamics on Hybrid High Performance Computers - Short Range Forces},
|
||||||
|
journal = {Comp.~Phys.~Comm.},
|
||||||
|
year = 2011,
|
||||||
|
volume = 182,
|
||||||
|
pages = {898--911}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Article{Brown12,
|
||||||
|
author = {W. M. Brown, A. Kohlmeyer, S. J. Plimpton, A. N. Tharrington},
|
||||||
|
title = {Implementing Molecular Dynamics on Hybrid High Performance Computers - Particle-Particle Particle-Mesh},
|
||||||
|
journal = {Comp.~Phys.~Comm.},
|
||||||
|
year = 2012,
|
||||||
|
volume = 183,
|
||||||
|
pages = {449--459}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Article{Brown13,
|
||||||
|
author = {W. M. Brown, Y. Masako},
|
||||||
|
title = {Implementing Molecular Dynamics on Hybrid High Performance Computers – Three-Body Potentials},
|
||||||
|
journal = {Comp.~Phys.~Comm.},
|
||||||
|
year = 2013,
|
||||||
|
volume = 184,
|
||||||
|
pages = {2785--2793}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Article{Trung15,
|
||||||
|
author = {T. D. Nguyen, S. J. Plimpton},
|
||||||
|
title = {Accelerating dissipative particle dynamics simulations for soft matter systems},
|
||||||
|
journal = {Comput.~Mater.~Sci.},
|
||||||
|
year = 2015,
|
||||||
|
volume = 100,
|
||||||
|
pages = {173--180}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Article{Trung17,
|
||||||
|
author = {T. D. Nguyen},
|
||||||
|
title = {GPU-accelerated Tersoff potentials for massively parallel Molecular Dynamics simulations},
|
||||||
|
journal = {Comp.~Phys.~Comm.},
|
||||||
|
year = 2017,
|
||||||
|
volume = 212,
|
||||||
|
pages = {113--122}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Article{Nikolskiy19,
|
||||||
|
author = {V. Nikolskiy, V. Stegailov},
|
||||||
|
title = {GPU acceleration of four-site water models in LAMMPS},
|
||||||
|
journal = {Proceeding of the International Conference on Parallel Computing (ParCo 2019), Prague, Czech Republic},
|
||||||
|
year = 2019
|
||||||
|
}
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 10
|
||||||
|
ghost atom cutoff = 10
|
||||||
|
binsize = 5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton off
|
||||||
|
pair build: half/bin/newtoff
|
||||||
|
stencil: full/bin/3d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.612 | 4.612 | 4.612 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 3 423789.56 0 423825.32 249259.3
|
||||||
|
50 75.889551 422919.46 0 423824.08 248893.24
|
||||||
|
100 105.20972 422570.47 0 423824.6 250756.6
|
||||||
|
150 132.08764 422249.71 0 423824.23 251894.29
|
||||||
|
200 118.14116 422416.43 0 423824.7 252088.96
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
Loop time of 21.1837 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
write_restart repulsive.restart
|
||||||
|
System init for write_restart ...
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
package gpu 0
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style python 10.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
shell rm -f python.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 python.dat PYTH_A_A
|
||||||
|
Creating table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 12
|
||||||
|
ghost atom cutoff = 12
|
||||||
|
binsize = 6, bins = 9 9 9
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton off
|
||||||
|
pair build: half/bin/newtoff
|
||||||
|
stencil: full/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 python.dat PYTH_B_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 python.dat PYTH_A_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 5.451 | 5.451 | 5.451 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 28.5184 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
package gpu 0
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style harmonic/cut
|
||||||
|
pair_coeff 1 1 0.2 9.0
|
||||||
|
pair_coeff 2 2 0.4 9.0
|
||||||
|
|
||||||
|
shell rm -f harmonic.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 harmonic.dat HARM_1_1
|
||||||
|
Creating table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair harmonic/cut, perpetual
|
||||||
|
attributes: half, newton off
|
||||||
|
pair build: half/bin/newtoff
|
||||||
|
stencil: full/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 harmonic.dat HARM_2_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 harmonic.dat HARM_1_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.611 | 4.611 | 4.611 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 1.1146 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
package gpu 0
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style table spline 1000
|
||||||
|
pair_coeff 1 1 python.dat PYTH_A_A
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 1 2 python.dat PYTH_A_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 2 2 python.dat PYTH_B_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 2.965 | 2.965 | 2.965 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.14
|
||||||
|
300 119.72876 422397.4 0 423824.6 251985.09
|
||||||
|
350 124.88381 422335.77 0 423824.42 252051.26
|
||||||
|
400 121.76148 422373.11 0 423824.53 252006.37
|
||||||
|
450 125.29841 422330.9 0 423824.49 251997.2
|
||||||
|
500 126.87418 422312.08 0 423824.45 252053.48
|
||||||
|
Loop time of 0.389958 on 1 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
shell rm repulsive.restart harmonic.dat python.dat
|
||||||
|
Total wall time: 0:00:54
|
||||||
268
examples/python/log.18Mar22.pair_python_harmonic.openmp.1
Normal file
268
examples/python/log.18Mar22.pair_python_harmonic.openmp.1
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
LAMMPS (17 Feb 2022)
|
||||||
|
using 4 OpenMP thread(s) per MPI task
|
||||||
|
package omp 0
|
||||||
|
using multi-threaded neighbor list subroutines
|
||||||
|
# 3d soft repulsive particles
|
||||||
|
|
||||||
|
units real
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
lattice fcc 5.0 origin 0.1 0.1 0.1
|
||||||
|
Lattice spacing in x,y,z = 5 5 5
|
||||||
|
region box block -5 5 -5 5 -5 5
|
||||||
|
create_box 2 box
|
||||||
|
Created orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
create_atoms 1 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
create_atoms CPU = 0.001 seconds
|
||||||
|
set type 1 type/ratio 2 0.5 424662346
|
||||||
|
Setting atom values ...
|
||||||
|
2000 settings made for type/ratio
|
||||||
|
mass * 1.0
|
||||||
|
|
||||||
|
velocity all create 3.0 87287
|
||||||
|
|
||||||
|
pair_style python 9.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
No /omp style for force computation currently active
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 10
|
||||||
|
ghost atom cutoff = 10
|
||||||
|
binsize = 5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton on, omp
|
||||||
|
pair build: half/bin/atomonly/newton/omp
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 6.024 | 6.024 | 6.024 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 3 423789.56 0 423825.32 249259.3
|
||||||
|
50 75.889551 422919.46 0 423824.08 248893.24
|
||||||
|
100 105.20972 422570.47 0 423824.6 250756.6
|
||||||
|
150 132.08764 422249.71 0 423824.23 251894.29
|
||||||
|
200 118.14116 422416.43 0 423824.7 252088.96
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
Loop time of 18.9294 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
write_restart repulsive.restart
|
||||||
|
System init for write_restart ...
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
No /omp style for force computation currently active
|
||||||
|
|
||||||
|
clear
|
||||||
|
using 4 OpenMP thread(s) per MPI task
|
||||||
|
package omp 0
|
||||||
|
using multi-threaded neighbor list subroutines
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.001 seconds
|
||||||
|
|
||||||
|
pair_style python 10.0
|
||||||
|
pair_coeff * * py_pot.Harmonic A B
|
||||||
|
|
||||||
|
shell rm -f python.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 python.dat PYTH_A_A
|
||||||
|
Creating table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 12
|
||||||
|
ghost atom cutoff = 12
|
||||||
|
binsize = 6, bins = 9 9 9
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 python.dat PYTH_B_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 python.dat PYTH_A_B
|
||||||
|
Appending to table file python.dat with DATE: 2022-03-18
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
No /omp style for force computation currently active
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 12
|
||||||
|
ghost atom cutoff = 12
|
||||||
|
binsize = 6, bins = 9 9 9
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair python, perpetual
|
||||||
|
attributes: half, newton on, omp
|
||||||
|
pair build: half/bin/atomonly/newton/omp
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 7.626 | 7.626 | 7.626 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 24.3294 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
using 4 OpenMP thread(s) per MPI task
|
||||||
|
package omp 0
|
||||||
|
using multi-threaded neighbor list subroutines
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style harmonic/cut
|
||||||
|
pair_coeff 1 1 0.2 9.0
|
||||||
|
pair_coeff 2 2 0.4 9.0
|
||||||
|
|
||||||
|
shell rm -f harmonic.dat
|
||||||
|
pair_write 1 1 1000 rsq 0.1 10.0 harmonic.dat HARM_1_1
|
||||||
|
Creating table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 10 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair harmonic/cut/omp, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
pair_write 2 2 1000 rsq 0.1 10.0 harmonic.dat HARM_2_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
pair_write 1 2 1000 rsq 0.1 10.0 harmonic.dat HARM_1_2
|
||||||
|
Appending to table file harmonic.dat with DATE: 2022-03-18
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 1 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Last active /omp style is pair_style harmonic/cut/omp
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 10
|
||||||
|
ghost atom cutoff = 10
|
||||||
|
binsize = 5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair harmonic/cut/omp, perpetual
|
||||||
|
attributes: half, newton on, omp
|
||||||
|
pair build: half/bin/atomonly/newton/omp
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 6.023 | 6.023 | 6.023 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.16
|
||||||
|
300 119.72871 422397.4 0 423824.6 251985.11
|
||||||
|
350 124.88375 422335.77 0 423824.42 252051.28
|
||||||
|
400 121.76143 422373.11 0 423824.53 252006.39
|
||||||
|
450 125.29847 422330.9 0 423824.49 251997.23
|
||||||
|
500 126.87408 422312.08 0 423824.45 252053.51
|
||||||
|
Loop time of 0.219199 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
clear
|
||||||
|
using 4 OpenMP thread(s) per MPI task
|
||||||
|
package omp 0
|
||||||
|
using multi-threaded neighbor list subroutines
|
||||||
|
|
||||||
|
read_restart repulsive.restart
|
||||||
|
Reading restart file ...
|
||||||
|
restart file = 17 Feb 2022, LAMMPS = 17 Feb 2022
|
||||||
|
restoring atom style atomic from restart
|
||||||
|
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
pair style python stores no restart info
|
||||||
|
4000 atoms
|
||||||
|
read_restart CPU = 0.000 seconds
|
||||||
|
|
||||||
|
pair_style table spline 1000
|
||||||
|
pair_coeff 1 1 python.dat PYTH_A_A
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 1 2 python.dat PYTH_A_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
pair_coeff 2 2 python.dat PYTH_B_B
|
||||||
|
Reading pair table potential file python.dat with DATE: 2022-03-18
|
||||||
|
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 2 delay 4 check yes
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 250 post no
|
||||||
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Last active /omp style is pair_style table/omp
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 2 steps, delay 4 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 11
|
||||||
|
ghost atom cutoff = 11
|
||||||
|
binsize = 5.5, bins = 10 10 10
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair table/omp, perpetual
|
||||||
|
attributes: half, newton on, omp
|
||||||
|
pair build: half/bin/atomonly/newton/omp
|
||||||
|
stencil: half/bin/3d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 6.056 | 6.056 | 6.056 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
250 128.40086 422293.71 0 423824.28 252057.14
|
||||||
|
300 119.72876 422397.4 0 423824.6 251985.1
|
||||||
|
350 124.88381 422335.77 0 423824.42 252051.26
|
||||||
|
400 121.76148 422373.11 0 423824.53 252006.37
|
||||||
|
450 125.29842 422330.9 0 423824.49 251997.21
|
||||||
|
500 126.87418 422312.08 0 423824.46 252053.48
|
||||||
|
Loop time of 0.374806 on 4 procs for 250 steps with 4000 atoms
|
||||||
|
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
shell rm repulsive.restart harmonic.dat python.dat
|
||||||
|
Total wall time: 0:00:44
|
||||||
@ -1,4 +1,5 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
import math
|
||||||
|
|
||||||
class LAMMPSPairPotential(object):
|
class LAMMPSPairPotential(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -10,6 +11,34 @@ class LAMMPSPairPotential(object):
|
|||||||
if (units != self.units):
|
if (units != self.units):
|
||||||
raise Exception("Conflicting units: %s vs. %s" % (self.units,units))
|
raise Exception("Conflicting units: %s vs. %s" % (self.units,units))
|
||||||
|
|
||||||
|
class Harmonic(LAMMPSPairPotential):
|
||||||
|
def __init__(self):
|
||||||
|
super(Harmonic,self).__init__()
|
||||||
|
self.units = 'real'
|
||||||
|
# set coeffs: K, r0
|
||||||
|
self.coeff = {'A' : {'A' : (0.2,9.0),
|
||||||
|
'B' : (math.sqrt(0.2*0.4),9.0)},
|
||||||
|
'B' : {'A' : (math.sqrt(0.2*0.4),9.0),
|
||||||
|
'B' : (0.4,9.0)}}
|
||||||
|
|
||||||
|
def compute_force(self,rsq,itype,jtype):
|
||||||
|
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||||
|
r = math.sqrt(rsq)
|
||||||
|
delta = coeff[1]-r
|
||||||
|
if (r <= coeff[1]):
|
||||||
|
return 2.0*delta*coeff[0]/r
|
||||||
|
else:
|
||||||
|
return 0.0
|
||||||
|
|
||||||
|
def compute_energy(self,rsq,itype,jtype):
|
||||||
|
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||||
|
r = math.sqrt(rsq)
|
||||||
|
delta = coeff[1]-r
|
||||||
|
if (r <= coeff[1]):
|
||||||
|
return delta*delta*coeff[0]
|
||||||
|
else:
|
||||||
|
return 0.0
|
||||||
|
|
||||||
class LJCutMelt(LAMMPSPairPotential):
|
class LJCutMelt(LAMMPSPairPotential):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(LJCutMelt,self).__init__()
|
super(LJCutMelt,self).__init__()
|
||||||
|
|||||||
Reference in New Issue
Block a user