File: in.python.wrap

package info (click to toggle)
lammps 20260211%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 491,668 kB
  • sloc: cpp: 1,050,132; python: 25,588; ansic: 8,808; f90: 7,302; sh: 5,248; perl: 4,171; fortran: 2,442; xml: 1,613; makefile: 1,120; objc: 238; lisp: 188; yacc: 58; csh: 16; awk: 14; tcl: 6; javascript: 2
file content (60 lines) | stat: -rw-r--r-- 1,409 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 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
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 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}"

# 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

print           "KE TENSOR ${ketrunc}"