add documentation for fix move/python
This commit is contained in:
@ -585,6 +585,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
"move/python"_fix_move_python.html,
|
||||
"mscg"_fix_mscg.html,
|
||||
"msst"_fix_msst.html,
|
||||
"neb"_fix_neb.html,
|
||||
|
||||
102
doc/src/fix_python_move.txt
Normal file
102
doc/src/fix_python_move.txt
Normal file
@ -0,0 +1,102 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix move/python command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix move/python pymodule.CLASS :pre
|
||||
|
||||
pymodule.CLASS = use class [CLASS] in module/file [pymodule] to compute how to move atoms
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all move/python py_nve.NVE
|
||||
fix 1 all move/python py_nve.NVE_OPT :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {move/python} fix style provides a way to define ways how particles
|
||||
are moved during an MD run from python script code, that is loaded from
|
||||
a file into LAMMPS and executed at the various steps where other fixes
|
||||
can be executed. This python script must contain specific python class
|
||||
definitions.
|
||||
|
||||
This allows to implement complex position updates and also modified
|
||||
time integration methods. Due to python being an interpreted language,
|
||||
however, the performance of this fix can be moderately to significantly
|
||||
slower than the corresponding C++ code. For specific cases, this
|
||||
performance penalty can be limited through effective use of NumPy.
|
||||
|
||||
:line
|
||||
|
||||
The python module file has to start with the following code:
|
||||
|
||||
from __future__ import print_function
|
||||
import lammps
|
||||
import ctypes
|
||||
import traceback
|
||||
import numpy as np
|
||||
#
|
||||
class LAMMPSFix(object):
|
||||
def __init__(self, ptr, group_name="all"):
|
||||
self.lmp = lammps.lammps(ptr=ptr)
|
||||
self.group_name = group_name
|
||||
#
|
||||
class LAMMPSFixMove(LAMMPSFix):
|
||||
def __init__(self, ptr, group_name="all"):
|
||||
super(LAMMPSFixMove, self).__init__(ptr, group_name)
|
||||
#
|
||||
def init(self):
|
||||
pass
|
||||
#
|
||||
def initial_integrate(self, vflag):
|
||||
pass
|
||||
#
|
||||
def final_integrate(self):
|
||||
pass
|
||||
#
|
||||
def initial_integrate_respa(self, vflag, ilevel, iloop):
|
||||
pass
|
||||
#
|
||||
def final_integrate_respa(self, ilevel, iloop):
|
||||
pass
|
||||
#
|
||||
def reset_dt(self):
|
||||
pass :pre
|
||||
|
||||
Any classes implementing new atom motion functionality have to be
|
||||
derived from the [LAMMPSFixMove] class, overriding the available
|
||||
methods as needed.
|
||||
|
||||
Examples for how to do this are in the {examples/python} folder.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||
are relevant to this fix. No global or per-atom quantities are stored
|
||||
by this fix for access by various "output
|
||||
commands"_Section_howto.html#howto_15. No parameter of this fix can
|
||||
be used with the {start/stop} keywords of the "run"_run.html command.
|
||||
This fix is not invoked during "energy minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the PYTHON package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix nve"_fix_nve.html, "fix python"_fix_python.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
@ -71,6 +71,7 @@ Fixes :h1
|
||||
fix_meso_stationary
|
||||
fix_momentum
|
||||
fix_move
|
||||
fix_move_python
|
||||
fix_mscg
|
||||
fix_msst
|
||||
fix_mvv_dpd
|
||||
|
||||
@ -200,6 +200,7 @@ fix_meso.html
|
||||
fix_meso_stationary.html
|
||||
fix_momentum.html
|
||||
fix_move.html
|
||||
fix_move_python.html
|
||||
fix_mscg.html
|
||||
fix_msst.html
|
||||
fix_mvv_dpd.html
|
||||
|
||||
4
src/.gitignore
vendored
4
src/.gitignore
vendored
@ -908,10 +908,10 @@
|
||||
/python_impl.cpp
|
||||
/python_impl.h
|
||||
/python_compat.h
|
||||
/fix_move_python.cpp
|
||||
/fix_move_python.h
|
||||
/fix_python.cpp
|
||||
/fix_python.h
|
||||
/fix_python_move.cpp
|
||||
/fix_python_move.h
|
||||
/pair_python.cpp
|
||||
/pair_python.h
|
||||
/reader_molfile.cpp
|
||||
|
||||
Reference in New Issue
Block a user