77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
fix python/invoke command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID python/invoke N callback function_name :pre
|
|
|
|
ID, group-ID are ignored by this fix :ulb,l
|
|
python/invoke = style name of this fix command :l
|
|
N = execute every N steps :l
|
|
callback = {post_force} or {end_of_step} :l
|
|
{post_force} = callback after force computations on atoms every N time steps
|
|
{end_of_step} = callback after every N time steps :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
python post_force_callback here """
|
|
from lammps import lammps :pre
|
|
|
|
def post_force_callback(lammps_ptr, vflag):
|
|
lmp = lammps(ptr=lammps_ptr)
|
|
# access LAMMPS state using Python interface
|
|
""" :pre
|
|
|
|
python end_of_step_callback here """
|
|
def end_of_step_callback(lammps_ptr):
|
|
lmp = lammps(ptr=lammps_ptr)
|
|
# access LAMMPS state using Python interface
|
|
""" :pre
|
|
|
|
fix pf all python/invoke 50 post_force post_force_callback
|
|
fix eos all python/invoke 50 end_of_step end_of_step_callback :pre
|
|
|
|
[Description:]
|
|
|
|
This fix allows you to call a Python function during a simulation run.
|
|
The callback is either executed after forces have been applied to atoms
|
|
or at the end of every N time steps.
|
|
|
|
Callback functions must be declared in the global scope of the
|
|
active Python interpreter. This can either be done by defining it
|
|
inline using the python command or by importing functions from other
|
|
Python modules. If LAMMPS is driven using the library interface from
|
|
Python, functions defined in the driving Python interpreter can also
|
|
be executed.
|
|
|
|
Each callback is given a pointer object as first argument. This can be
|
|
used to initialize an instance of the lammps Python interface, which
|
|
gives access to the LAMMPS state from Python.
|
|
|
|
IMPORTANT NOTE: While you can access the state of LAMMPS via library functions
|
|
from these callbacks, trying to execute input script commands will in the best
|
|
case not work or in the worst case result in undefined behavior.
|
|
|
|
[Restrictions:]
|
|
|
|
This fix is part of the PYTHON package. It is only enabled if LAMMPS
|
|
was built with that package. See the "Build
|
|
package"_Build_package.html doc page for more info.
|
|
|
|
Building LAMMPS with the PYTHON package will link LAMMPS with the
|
|
Python library on your system. Settings to enable this are in the
|
|
lib/python/Makefile.lammps file. See the lib/python/README file for
|
|
information on those settings.
|
|
|
|
[Related commands:]
|
|
|
|
"python command"_python.html
|