117 lines
3.9 KiB
Groff
117 lines
3.9 KiB
Groff
LAMMPS (2 Apr 2025 - Development - patch_2Apr2025-270-g2351418c94-modified)
|
|
# 3d Lennard-Jones melt with equal- and atom-style variables which
|
|
# use a Python function wrapper in their formulas
|
|
|
|
variable x index 3
|
|
variable y index 3
|
|
variable z index 3
|
|
|
|
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 3 0 $y 0 $z
|
|
region box block 0 3 0 3 0 $z
|
|
region box block 0 3 0 3 0 3
|
|
create_box 1 box
|
|
Created orthogonal box = (0 0 0) to (5.0387886 5.0387886 5.0387886)
|
|
1 by 2 by 2 MPI processor grid
|
|
create_atoms 1 box
|
|
Created 108 atoms
|
|
using lattice units in orthogonal box = (0 0 0) to (5.0387886 5.0387886 5.0387886)
|
|
create_atoms CPU = 0.000 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 20 check no
|
|
|
|
fix 1 all nve
|
|
|
|
# define Python truncate() function
|
|
|
|
variable foo python truncate
|
|
python truncate return v_foo input 1 iv_arg format fi here """
|
|
def truncate(x):
|
|
return int(x)
|
|
"""
|
|
|
|
# use in equal-style variable
|
|
|
|
variable scalar equal py_foo(4.5)
|
|
print "TRUNCATE ${scalar}"
|
|
TRUNCATE 4
|
|
|
|
# use in atom-style variable
|
|
# examine dump file to see truncated xyz coords of each atom
|
|
|
|
variable xtrunc atom py_foo(x)
|
|
variable ytrunc atom py_foo(y)
|
|
variable ztrunc atom py_foo(z)
|
|
|
|
dump 1 all custom 100 tmp.dump id x y z v_xtrunc v_ytrunc v_ztrunc
|
|
|
|
# use in vector-style variable
|
|
|
|
compute ke all temp
|
|
variable ke vector c_ke
|
|
variable ketrunc vector py_foo(v_ke)
|
|
thermo_style custom step temp epair v_ketrunc[*6]
|
|
|
|
run 100
|
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
|
Neighbor list info ...
|
|
update: every = 20 steps, delay = 0 steps, check = no
|
|
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) = 2.59 | 2.59 | 2.59 Mbytes
|
|
Step Temp E_pair v_ketrunc[1] v_ketrunc[2] v_ketrunc[3] v_ketrunc[4] v_ketrunc[5] v_ketrunc[6]
|
|
0 1.44 -6.7733681 155 152 154 -10 -4 -6
|
|
100 0.82217015 -5.8614684 113 65 84 7 -1 -12
|
|
Loop time of 0.00268845 on 4 procs for 100 steps with 108 atoms
|
|
|
|
Performance: 16068745.964 tau/day, 37196.171 timesteps/s, 4.017 Matom-step/s
|
|
66.7% CPU use with 4 MPI tasks x no OpenMP threads
|
|
|
|
MPI task timing breakdown:
|
|
Section | min time | avg time | max time |%varavg| %total
|
|
---------------------------------------------------------------
|
|
Pair | 0.00043389 | 0.00051695 | 0.00061255 | 0.0 | 19.23
|
|
Neigh | 0.00017121 | 0.00018976 | 0.00019891 | 0.0 | 7.06
|
|
Comm | 0.0017423 | 0.0018487 | 0.0019509 | 0.2 | 68.76
|
|
Output | 6.7449e-05 | 6.9998e-05 | 7.5195e-05 | 0.0 | 2.60
|
|
Modify | 2.1329e-05 | 2.2855e-05 | 2.4821e-05 | 0.0 | 0.85
|
|
Other | | 4.018e-05 | | | 1.49
|
|
|
|
Nlocal: 27 ave 30 max 25 min
|
|
Histogram: 1 0 1 0 1 0 0 0 0 1
|
|
Nghost: 614 ave 616 max 612 min
|
|
Histogram: 1 0 1 0 0 0 0 1 0 1
|
|
Neighs: 1017.75 ave 1149 max 894 min
|
|
Histogram: 1 1 0 0 0 0 0 1 0 1
|
|
|
|
Total # of neighbors = 4071
|
|
Ave neighs/atom = 37.694444
|
|
Neighbor list builds = 5
|
|
Dangerous builds not checked
|
|
|
|
print "KE TENSOR ${ketrunc}"
|
|
KE TENSOR [113,65,84,7,-1,-12]
|
|
|
|
|
|
Total wall time: 0:00:00
|