use consistent pygments language tags

This commit is contained in:
Axel Kohlmeyer
2022-12-04 16:59:17 -05:00
parent 1cde202079
commit e67bec6b2f
22 changed files with 92 additions and 92 deletions

View File

@ -50,7 +50,7 @@ parallel each MPI process creates such an instance. This can be seen
in the ``main.cpp`` file where the core steps of running a LAMMPS in the ``main.cpp`` file where the core steps of running a LAMMPS
simulation are the following 3 lines of code: simulation are the following 3 lines of code:
.. code-block:: C++ .. code-block:: c++
LAMMPS *lammps = new LAMMPS(argc, argv, lammps_comm); LAMMPS *lammps = new LAMMPS(argc, argv, lammps_comm);
lammps->input->file(); lammps->input->file();
@ -232,7 +232,7 @@ macro ``PairStyle()`` will associate the style name "lj/cut"
with a factory function creating an instance of the ``PairLJCut`` with a factory function creating an instance of the ``PairLJCut``
class. class.
.. code-block:: C++ .. code-block:: c++
// from force.h // from force.h
typedef Pair *(*PairCreator)(LAMMPS *); typedef Pair *(*PairCreator)(LAMMPS *);
@ -360,7 +360,7 @@ characters; "{:<8}" would do this as left aligned, "{:^8}" as centered,
argument type must be compatible or else the {fmt} formatting code will argument type must be compatible or else the {fmt} formatting code will
throw an exception. Some format string examples are given below: throw an exception. Some format string examples are given below:
.. code-block:: C .. code-block:: c++
auto mesg = fmt::format(" CPU time: {:4d}:{:02d}:{:02d}\n", cpuh, cpum, cpus); auto mesg = fmt::format(" CPU time: {:4d}:{:02d}:{:02d}\n", cpuh, cpum, cpus);
mesg = fmt::format("{:<8s}| {:<10.5g} | {:<10.5g} | {:<10.5g} |{:6.1f} |{:6.2f}\n", mesg = fmt::format("{:<8s}| {:<10.5g} | {:<10.5g} | {:<10.5g} |{:6.1f} |{:6.2f}\n",

View File

@ -105,7 +105,7 @@ list, where each pair of atoms is listed only once (except when the
pairs straddling sub-domains or periodic boundaries will be listed twice). pairs straddling sub-domains or periodic boundaries will be listed twice).
Thus these are the default settings when a neighbor list request is created in: Thus these are the default settings when a neighbor list request is created in:
.. code-block:: C++ .. code-block:: c++
void Pair::init_style() void Pair::init_style()
{ {
@ -129,7 +129,7 @@ neighbor list request to the specific needs of a style an additional
request flag is needed. The :doc:`tersoff <pair_tersoff>` pair style, request flag is needed. The :doc:`tersoff <pair_tersoff>` pair style,
for example, needs a "full" neighbor list: for example, needs a "full" neighbor list:
.. code-block:: C++ .. code-block:: c++
void PairTersoff::init_style() void PairTersoff::init_style()
{ {
@ -141,7 +141,7 @@ When a pair style supports r-RESPA time integration with different cutoff region
the request flag may depend on the corresponding r-RESPA settings. Here an example the request flag may depend on the corresponding r-RESPA settings. Here an example
from pair style lj/cut: from pair style lj/cut:
.. code-block:: C++ .. code-block:: c++
void PairLJCut::init_style() void PairLJCut::init_style()
{ {
@ -160,7 +160,7 @@ Granular pair styles need neighbor lists based on particle sizes and not cutoff
and also may require to have the list of previous neighbors available ("history"). and also may require to have the list of previous neighbors available ("history").
For example with: For example with:
.. code-block:: C++ .. code-block:: c++
if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE | NeighConst::REQ_HISTORY); if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE | NeighConst::REQ_HISTORY);
else neighbor->add_request(this, NeighConst::REQ_SIZE); else neighbor->add_request(this, NeighConst::REQ_SIZE);
@ -170,7 +170,7 @@ settings each request can set an id which is then used in the corresponding
``init_list()`` function to assign it to the suitable pointer variable. This is ``init_list()`` function to assign it to the suitable pointer variable. This is
done for example by the :doc:`pair style meam <pair_meam>`: done for example by the :doc:`pair style meam <pair_meam>`:
.. code-block:: C++ .. code-block:: c++
void PairMEAM::init_style() void PairMEAM::init_style()
{ {
@ -189,7 +189,7 @@ just once) and this can also be indicated by a flag. As an example here
is the request from the ``FixPeriNeigh`` class which is created is the request from the ``FixPeriNeigh`` class which is created
internally by :doc:`Peridynamics pair styles <pair_peri>`: internally by :doc:`Peridynamics pair styles <pair_peri>`:
.. code-block:: C++ .. code-block:: c++
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
@ -198,7 +198,7 @@ than what is usually inferred from the pair style settings (largest cutoff of
all pair styles plus neighbor list skin). The following is used in the all pair styles plus neighbor list skin). The following is used in the
:doc:`compute rdf <compute_rdf>` command implementation: :doc:`compute rdf <compute_rdf>` command implementation:
.. code-block:: C++ .. code-block:: c++
if (cutflag) if (cutflag)
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL)->set_cutoff(mycutneigh); neighbor->add_request(this, NeighConst::REQ_OCCASIONAL)->set_cutoff(mycutneigh);
@ -212,7 +212,7 @@ for printing the neighbor list summary the name of the requesting command
should be set. Below is the request from the :doc:`delete atoms <delete_atoms>` should be set. Below is the request from the :doc:`delete atoms <delete_atoms>`
command: command:
.. code-block:: C++ .. code-block:: c++
neighbor->add_request(this, "delete_atoms", NeighConst::REQ_FULL); neighbor->add_request(this, "delete_atoms", NeighConst::REQ_FULL);

View File

@ -95,7 +95,7 @@ a class ``PairMorse2`` in the files ``pair_morse2.h`` and
``pair_morse2.cpp`` with the factory function and initialization ``pair_morse2.cpp`` with the factory function and initialization
function would look like this: function would look like this:
.. code-block:: C++ .. code-block:: c++
#include "lammpsplugin.h" #include "lammpsplugin.h"
#include "version.h" #include "version.h"
@ -141,7 +141,7 @@ list of argument strings), then the pointer type is ``lammpsplugin_factory2``
and it must be assigned to the *creator.v2* member of the plugin struct. and it must be assigned to the *creator.v2* member of the plugin struct.
Below is an example for that: Below is an example for that:
.. code-block:: C++ .. code-block:: c++
#include "lammpsplugin.h" #include "lammpsplugin.h"
#include "version.h" #include "version.h"
@ -176,7 +176,7 @@ demonstrated in the following example, which also shows that the
implementation of the plugin class may be within the same source implementation of the plugin class may be within the same source
file as the plugin interface code: file as the plugin interface code:
.. code-block:: C++ .. code-block:: c++
#include "lammpsplugin.h" #include "lammpsplugin.h"

View File

@ -194,7 +194,7 @@ macro. These tests operate by capturing the screen output when executing
the failing command and then comparing that with a provided regular the failing command and then comparing that with a provided regular
expression string pattern. Example: expression string pattern. Example:
.. code-block:: C++ .. code-block:: c++
TEST_F(SimpleCommandsTest, UnknownCommand) TEST_F(SimpleCommandsTest, UnknownCommand)
{ {
@ -249,7 +249,7 @@ MPI support. These include tests where LAMMPS is run in multi-partition
mode or only on a subset of the MPI world communicator. The CMake mode or only on a subset of the MPI world communicator. The CMake
script code for adding this kind of test looks like this: script code for adding this kind of test looks like this:
.. code-block:: CMake .. code-block:: cmake
if (BUILD_MPI) if (BUILD_MPI)
add_executable(test_library_mpi test_library_mpi.cpp) add_executable(test_library_mpi test_library_mpi.cpp)

View File

@ -61,7 +61,7 @@ header file needs to be updated accordingly.
Old: Old:
.. code-block:: C++ .. code-block:: c++
int PairEAM::pack_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) int PairEAM::pack_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
{ {
@ -75,7 +75,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
int PairEAM::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) int PairEAM::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
{ {
@ -112,14 +112,14 @@ Example from a pair style:
Old: Old:
.. code-block:: C++ .. code-block:: c++
if (eflag || vflag) ev_setup(eflag, vflag); if (eflag || vflag) ev_setup(eflag, vflag);
else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; else evflag = vflag_fdotr = eflag_global = eflag_atom = 0;
New: New:
.. code-block:: C++ .. code-block:: c++
ev_init(eflag, vflag); ev_init(eflag, vflag);
@ -142,14 +142,14 @@ when they are called from only one or a subset of the MPI processes.
Old: Old:
.. code-block:: C++ .. code-block:: c++
val = force->numeric(FLERR, arg[1]); val = force->numeric(FLERR, arg[1]);
num = force->inumeric(FLERR, arg[2]); num = force->inumeric(FLERR, arg[2]);
New: New:
.. code-block:: C++ .. code-block:: c++
val = utils::numeric(FLERR, true, arg[1], lmp); val = utils::numeric(FLERR, true, arg[1], lmp);
num = utils::inumeric(FLERR, false, arg[2], lmp); num = utils::inumeric(FLERR, false, arg[2], lmp);
@ -183,14 +183,14 @@ copy them around for simulations.
Old: Old:
.. code-block:: C++ .. code-block:: c++
fp = force->open_potential(filename); fp = force->open_potential(filename);
fp = fopen(filename, "r"); fp = fopen(filename, "r");
New: New:
.. code-block:: C++ .. code-block:: c++
fp = utils::open_potential(filename, lmp); fp = utils::open_potential(filename, lmp);
@ -207,7 +207,7 @@ Example:
Old: Old:
.. code-block:: C++ .. code-block:: c++
if (fptr == NULL) { if (fptr == NULL) {
char str[128]; char str[128];
@ -217,7 +217,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
if (fptr == nullptr) if (fptr == nullptr)
error->one(FLERR, "Cannot open AEAM potential file {}: {}", filename, utils::getsyserror()); error->one(FLERR, "Cannot open AEAM potential file {}: {}", filename, utils::getsyserror());
@ -237,7 +237,7 @@ an example from the ``FixWallReflect`` class:
Old: Old:
.. code-block:: C++ .. code-block:: c++
FixWallReflect(class LAMMPS *, int, char **); FixWallReflect(class LAMMPS *, int, char **);
virtual ~FixWallReflect(); virtual ~FixWallReflect();
@ -247,7 +247,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
FixWallReflect(class LAMMPS *, int, char **); FixWallReflect(class LAMMPS *, int, char **);
~FixWallReflect() override; ~FixWallReflect() override;
@ -271,7 +271,7 @@ the type of the "this" pointer argument.
Old: Old:
.. code-block:: C++ .. code-block:: c++
comm->forward_comm_pair(this); comm->forward_comm_pair(this);
comm->forward_comm_fix(this); comm->forward_comm_fix(this);
@ -284,7 +284,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
comm->forward_comm(this); comm->forward_comm(this);
comm->reverse_comm(this); comm->reverse_comm(this);
@ -304,7 +304,7 @@ requests can be :doc:`found here <Developer_notes>`. Example from the
Old: Old:
.. code-block:: C++ .. code-block:: c++
int irequest = neighbor->request(this,instance_me); int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0; neighbor->requests[irequest]->pair = 0;
@ -317,7 +317,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
if (cutflag) req->set_cutoff(mycutneigh); if (cutflag) req->set_cutoff(mycutneigh);
@ -340,7 +340,7 @@ these are internal fixes, there is no user visible change.
Old: Old:
.. code-block:: C++ .. code-block:: c++
#include "fix_store.h" #include "fix_store.h"
@ -351,7 +351,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
#include "fix_store_peratom.h" #include "fix_store_peratom.h"
@ -362,7 +362,7 @@ New:
Old: Old:
.. code-block:: C++ .. code-block:: c++
#include "fix_store.h" #include "fix_store.h"
@ -373,7 +373,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
#include "fix_store_global.h" #include "fix_store_global.h"
@ -396,7 +396,7 @@ the dump directly. Example:
Old: Old:
.. code-block:: C++ .. code-block:: c++
int idump = output->find_dump(arg[iarg+1]); int idump = output->find_dump(arg[iarg+1]);
if (idump < 0) if (idump < 0)
@ -412,7 +412,7 @@ Old:
New: New:
.. code-block:: C++ .. code-block:: c++
auto idump = output->get_dump_by_id(arg[iarg+1]); auto idump = output->get_dump_by_id(arg[iarg+1]);
if (!idump) error->all(FLERR,"Dump ID {} in hyper command does not exist", arg[iarg+1]); if (!idump) error->all(FLERR,"Dump ID {} in hyper command does not exist", arg[iarg+1]);

View File

@ -317,7 +317,7 @@ are all "whitespace" characters, i.e. the space character, the tabulator
character, the carriage return character, the linefeed character, and character, the carriage return character, the linefeed character, and
the form feed character. the form feed character.
.. code-block:: C++ .. code-block:: c++
:caption: Tokenizer class example listing entries of the PATH environment variable :caption: Tokenizer class example listing entries of the PATH environment variable
#include "tokenizer.h" #include "tokenizer.h"
@ -349,7 +349,7 @@ tokenizer into a ``try`` / ``catch`` block to handle errors. The
when a (type of) number is requested as next token that is not when a (type of) number is requested as next token that is not
compatible with the string representing the next word. compatible with the string representing the next word.
.. code-block:: C++ .. code-block:: c++
:caption: ValueTokenizer class example with exception handling :caption: ValueTokenizer class example with exception handling
#include "tokenizer.h" #include "tokenizer.h"
@ -427,7 +427,7 @@ one or two array indices "[<number>]" with numbers > 0.
A typical code segment would look like this: A typical code segment would look like this:
.. code-block:: C++ .. code-block:: c++
:caption: Usage example for ArgInfo class :caption: Usage example for ArgInfo class
int nvalues = 0; int nvalues = 0;
@ -476,7 +476,7 @@ open the file, and will call the :cpp:class:`LAMMPS_NS::Error` class in
case of failures to read or to convert numbers, so that LAMMPS will be case of failures to read or to convert numbers, so that LAMMPS will be
aborted. aborted.
.. code-block:: C++ .. code-block:: c++
:caption: Use of PotentialFileReader class in pair style coul/streitz :caption: Use of PotentialFileReader class in pair style coul/streitz
PotentialFileReader reader(lmp, file, "coul/streitz"); PotentialFileReader reader(lmp, file, "coul/streitz");
@ -555,7 +555,7 @@ chunk size needs to be known in advance, 2) with :cpp:func:`MyPage::vget()
its size is registered later with :cpp:func:`MyPage::vgot() its size is registered later with :cpp:func:`MyPage::vgot()
<LAMMPS_NS::MyPage::vgot>`. <LAMMPS_NS::MyPage::vgot>`.
.. code-block:: C++ .. code-block:: c++
:caption: Example of using :cpp:class:`MyPage <LAMMPS_NS::MyPage>` :caption: Example of using :cpp:class:`MyPage <LAMMPS_NS::MyPage>`
#include "my_page.h" #include "my_page.h"

View File

@ -26,7 +26,7 @@ constructor with the signature: ``FixPrintVel(class LAMMPS *, int, char **)``.
Every fix must be registered in LAMMPS by writing the following lines Every fix must be registered in LAMMPS by writing the following lines
of code in the header before include guards: of code in the header before include guards:
.. code-block:: c .. code-block:: c++
#ifdef FIX_CLASS #ifdef FIX_CLASS
// clang-format off // clang-format off
@ -47,7 +47,7 @@ keyword when it parses the input script.
Let's write a simple fix which will print the average velocity at the end Let's write a simple fix which will print the average velocity at the end
of each timestep. First of all, implement a constructor: of each timestep. First of all, implement a constructor:
.. code-block:: C++ .. code-block:: c++
FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg)
: Fix(lmp, narg, arg) : Fix(lmp, narg, arg)
@ -72,7 +72,7 @@ in the Fix class called ``nevery`` which specifies how often the method
The next method we need to implement is ``setmask()``: The next method we need to implement is ``setmask()``:
.. code-block:: C++ .. code-block:: c++
int FixPrintVel::setmask() int FixPrintVel::setmask()
{ {
@ -87,7 +87,7 @@ during execution. The constant ``END_OF_STEP`` corresponds to the
are called during a timestep and the order in which they are called are called during a timestep and the order in which they are called
are shown in the previous section. are shown in the previous section.
.. code-block:: C++ .. code-block:: c++
void FixPrintVel::end_of_step() void FixPrintVel::end_of_step()
{ {
@ -143,7 +143,7 @@ The group membership information of an atom is contained in the *mask*
property of and atom and the bit corresponding to a given group is property of and atom and the bit corresponding to a given group is
stored in the groupbit variable which is defined in Fix base class: stored in the groupbit variable which is defined in Fix base class:
.. code-block:: C++ .. code-block:: c++
for (int i = 0; i < nlocal; ++i) { for (int i = 0; i < nlocal; ++i) {
if (atom->mask[i] & groupbit) { if (atom->mask[i] & groupbit) {
@ -174,7 +174,7 @@ to store positions of atoms from previous timestep, we need to add
``double** xold`` to the header file. Than add allocation code ``double** xold`` to the header file. Than add allocation code
to the constructor: to the constructor:
.. code-block:: C++ .. code-block:: c++
FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg), xold(nullptr) FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg), xold(nullptr)
{ {
@ -190,7 +190,7 @@ to the constructor:
Implement the aforementioned methods: Implement the aforementioned methods:
.. code-block:: C++ .. code-block:: c++
double FixSavePos::memory_usage() double FixSavePos::memory_usage()
{ {

View File

@ -152,14 +152,14 @@ Creating a new instance of PyLammps
To create a PyLammps object you need to first import the class from the lammps To create a PyLammps object you need to first import the class from the lammps
module. By using the default constructor, a new *lammps* instance is created. module. By using the default constructor, a new *lammps* instance is created.
.. code-block:: Python .. code-block:: python
from lammps import PyLammps from lammps import PyLammps
L = PyLammps() L = PyLammps()
You can also initialize PyLammps on top of this existing *lammps* object: You can also initialize PyLammps on top of this existing *lammps* object:
.. code-block:: Python .. code-block:: python
from lammps import lammps, PyLammps from lammps import lammps, PyLammps
lmp = lammps() lmp = lammps()
@ -180,14 +180,14 @@ For instance, let's take the following LAMMPS command:
In the original interface this command can be executed with the following In the original interface this command can be executed with the following
Python code if *L* was a lammps instance: Python code if *L* was a lammps instance:
.. code-block:: Python .. code-block:: python
L.command("region box block 0 10 0 5 -0.5 0.5") L.command("region box block 0 10 0 5 -0.5 0.5")
With the PyLammps interface, any command can be split up into arbitrary parts With the PyLammps interface, any command can be split up into arbitrary parts
separated by white-space, passed as individual arguments to a region method. separated by white-space, passed as individual arguments to a region method.
.. code-block:: Python .. code-block:: python
L.region("box block", 0, 10, 0, 5, -0.5, 0.5) L.region("box block", 0, 10, 0, 5, -0.5, 0.5)
@ -199,14 +199,14 @@ The benefit of this approach is avoiding redundant command calls and easier
parameterization. In the original interface parameterization needed to be done parameterization. In the original interface parameterization needed to be done
manually by creating formatted strings. manually by creating formatted strings.
.. code-block:: Python .. code-block:: python
L.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi)) L.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi))
In contrast, methods of PyLammps accept parameters directly and will convert In contrast, methods of PyLammps accept parameters directly and will convert
them automatically to a final command string. them automatically to a final command string.
.. code-block:: Python .. code-block:: python
L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi) L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi)
@ -256,7 +256,7 @@ LAMMPS variables can be both defined and accessed via the PyLammps interface.
To define a variable you can use the :doc:`variable <variable>` command: To define a variable you can use the :doc:`variable <variable>` command:
.. code-block:: Python .. code-block:: python
L.variable("a index 2") L.variable("a index 2")
@ -265,14 +265,14 @@ A dictionary of all variables is returned by L.variables
you can access an individual variable by retrieving a variable object from the you can access an individual variable by retrieving a variable object from the
L.variables dictionary by name L.variables dictionary by name
.. code-block:: Python .. code-block:: python
a = L.variables['a'] a = L.variables['a']
The variable value can then be easily read and written by accessing the value The variable value can then be easily read and written by accessing the value
property of this object. property of this object.
.. code-block:: Python .. code-block:: python
print(a.value) print(a.value)
a.value = 4 a.value = 4
@ -284,7 +284,7 @@ LAMMPS expressions can be immediately evaluated by using the eval method. The
passed string parameter can be any expression containing global thermo values, passed string parameter can be any expression containing global thermo values,
variables, compute or fix data. variables, compute or fix data.
.. code-block:: Python .. code-block:: python
result = L.eval("ke") # kinetic energy result = L.eval("ke") # kinetic energy
result = L.eval("pe") # potential energy result = L.eval("pe") # potential energy
@ -298,7 +298,7 @@ All atoms in the current simulation can be accessed by using the L.atoms list.
Each element of this list is an object which exposes its properties (id, type, Each element of this list is an object which exposes its properties (id, type,
position, velocity, force, etc.). position, velocity, force, etc.).
.. code-block:: Python .. code-block:: python
# access first atom # access first atom
L.atoms[0].id L.atoms[0].id
@ -311,7 +311,7 @@ position, velocity, force, etc.).
Some properties can also be used to set: Some properties can also be used to set:
.. code-block:: Python .. code-block:: python
# set position in 2D simulation # set position in 2D simulation
L.atoms[0].position = (1.0, 0.0) L.atoms[0].position = (1.0, 0.0)
@ -328,7 +328,7 @@ after a run via the L.runs list. This list contains a growing list of run data.
The first element is the output of the first run, the second element that of The first element is the output of the first run, the second element that of
the second run. the second run.
.. code-block:: Python .. code-block:: python
L.run(1000) L.run(1000)
L.runs[0] # data of first 1000 time steps L.runs[0] # data of first 1000 time steps
@ -339,14 +339,14 @@ the second run.
Each run contains a dictionary of all trajectories. Each trajectory is Each run contains a dictionary of all trajectories. Each trajectory is
accessible through its thermo name: accessible through its thermo name:
.. code-block:: Python .. code-block:: python
L.runs[0].thermo.Step # list of time steps in first run L.runs[0].thermo.Step # list of time steps in first run
L.runs[0].thermo.Ke # list of kinetic energy values in first run L.runs[0].thermo.Ke # list of kinetic energy values in first run
Together with matplotlib plotting data out of LAMMPS becomes simple: Together with matplotlib plotting data out of LAMMPS becomes simple:
.. code-block:: Python .. code-block:: python
import matplotlib.plot as plt import matplotlib.plot as plt
steps = L.runs[0].thermo.Step steps = L.runs[0].thermo.Step
@ -406,7 +406,7 @@ Four atoms are placed in the simulation and the dihedral potential is applied on
them using a datafile. Then one of the atoms is rotated along the central axis by them using a datafile. Then one of the atoms is rotated along the central axis by
setting its position from Python, which changes the dihedral angle. setting its position from Python, which changes the dihedral angle.
.. code-block:: Python .. code-block:: python
phi = [d \* math.pi / 180 for d in range(360)] phi = [d \* math.pi / 180 for d in range(360)]
@ -439,7 +439,7 @@ Initially, a 2D system is created in a state with minimal energy.
It is then disordered by moving each atom by a random delta. It is then disordered by moving each atom by a random delta.
.. code-block:: Python .. code-block:: python
random.seed(27848) random.seed(27848)
deltaperturb = 0.2 deltaperturb = 0.2
@ -458,7 +458,7 @@ It is then disordered by moving each atom by a random delta.
Finally, the Monte Carlo algorithm is implemented in Python. It continuously Finally, the Monte Carlo algorithm is implemented in Python. It continuously
moves random atoms by a random delta and only accepts certain moves. moves random atoms by a random delta and only accepts certain moves.
.. code-block:: Python .. code-block:: python
estart = L.eval("pe") estart = L.eval("pe")
elast = estart elast = estart
@ -517,7 +517,7 @@ PyLammps can be run in parallel using mpi4py. This python package can be install
The following is a short example which reads in an existing LAMMPS input file and The following is a short example which reads in an existing LAMMPS input file and
executes it in parallel. You can find in.melt in the examples/melt folder. executes it in parallel. You can find in.melt in the examples/melt folder.
.. code-block:: Python .. code-block:: python
from mpi4py import MPI from mpi4py import MPI
from lammps import PyLammps from lammps import PyLammps

View File

@ -43,7 +43,7 @@ JSON
"ke": $(ke) "ke": $(ke)
}""" file current_state.json screen no }""" file current_state.json screen no
.. code-block:: JSON .. code-block:: json
:caption: current_state.json :caption: current_state.json
{ {

View File

@ -39,7 +39,7 @@ crashes within LAMMPS may be recovered from by enabling
:ref:`exceptions <exceptions>`, avoiding them proactively is a safer :ref:`exceptions <exceptions>`, avoiding them proactively is a safer
approach. approach.
.. code-block:: C .. code-block:: c
:caption: Example for using configuration settings functions :caption: Example for using configuration settings functions
#include "library.h" #include "library.h"

View File

@ -22,7 +22,7 @@ as the "handle" argument in subsequent function calls until that
instance is destroyed by calling :cpp:func:`lammps_close`. Here is a instance is destroyed by calling :cpp:func:`lammps_close`. Here is a
simple example demonstrating its use: simple example demonstrating its use:
.. code-block:: C .. code-block:: c
#include "library.h" #include "library.h"
#include <stdio.h> #include <stdio.h>

View File

@ -30,7 +30,7 @@ be included in the file or strings, and expansion of variables with
``${name}`` or ``$(expression)`` syntax is performed. ``${name}`` or ``$(expression)`` syntax is performed.
Below is a short example using some of these functions. Below is a short example using some of these functions.
.. code-block:: C .. code-block:: c
/* define to make the otherwise hidden prototype for "lammps_open()" visible */ /* define to make the otherwise hidden prototype for "lammps_open()" visible */
#define LAMMPS_LIB_MPI #define LAMMPS_LIB_MPI

View File

@ -32,7 +32,7 @@ indexed accordingly. Per-atom data can change sizes and ordering at
every neighbor list rebuild or atom sort event as atoms migrate between every neighbor list rebuild or atom sort event as atoms migrate between
sub-domains and processors. sub-domains and processors.
.. code-block:: C .. code-block:: c
#include "library.h" #include "library.h"
#include <stdio.h> #include <stdio.h>

View File

@ -58,7 +58,7 @@ against invalid accesses.
Each element of this list is a :py:class:`Atom <lammps.Atom>` or :py:class:`Atom2D <lammps.Atom2D>` object. The attributes of Each element of this list is a :py:class:`Atom <lammps.Atom>` or :py:class:`Atom2D <lammps.Atom2D>` object. The attributes of
these objects provide access to their data (id, type, position, velocity, force, etc.): these objects provide access to their data (id, type, position, velocity, force, etc.):
.. code-block:: Python .. code-block:: python
# access first atom # access first atom
L.atoms[0].id L.atoms[0].id
@ -71,7 +71,7 @@ against invalid accesses.
Some attributes can be changed: Some attributes can be changed:
.. code-block:: Python .. code-block:: python
# set position in 2D simulation # set position in 2D simulation
L.atoms[0].position = (1.0, 0.0) L.atoms[0].position = (1.0, 0.0)

View File

@ -4,7 +4,7 @@ Configuration information
The following methods can be used to query the LAMMPS library The following methods can be used to query the LAMMPS library
about compile time settings and included packages and styles. about compile time settings and included packages and styles.
.. code-block:: Python .. code-block:: python
:caption: Example for using configuration settings functions :caption: Example for using configuration settings functions
from lammps import lammps from lammps import lammps

View File

@ -74,7 +74,7 @@ Here are simple examples using all three Python interfaces:
:py:class:`PyLammps <lammps.PyLammps>` objects can also be created on top of an existing :py:class:`PyLammps <lammps.PyLammps>` objects can also be created on top of an existing
:py:class:`lammps <lammps.lammps>` object: :py:class:`lammps <lammps.lammps>` object:
.. code-block:: Python .. code-block:: python
from lammps import lammps, PyLammps from lammps import lammps, PyLammps
... ...
@ -113,7 +113,7 @@ Here are simple examples using all three Python interfaces:
You can also initialize IPyLammps on top of an existing :py:class:`lammps` or :py:class:`PyLammps` object: You can also initialize IPyLammps on top of an existing :py:class:`lammps` or :py:class:`PyLammps` object:
.. code-block:: Python .. code-block:: python
from lammps import lammps, IPyLammps from lammps import lammps, IPyLammps
... ...
@ -142,7 +142,7 @@ the MPI and/or Kokkos environment if enabled and active.
Note that you can create multiple LAMMPS objects in your Python Note that you can create multiple LAMMPS objects in your Python
script, and coordinate and run multiple simulations, e.g. script, and coordinate and run multiple simulations, e.g.
.. code-block:: Python .. code-block:: python
from lammps import lammps from lammps import lammps
lmp1 = lammps() lmp1 = lammps()

View File

@ -7,7 +7,7 @@ current Python process with an error message. C++ exceptions allow capturing
them on the C++ side and rethrowing them on the Python side. This way them on the C++ side and rethrowing them on the Python side. This way
LAMMPS errors can be handled through the Python exception handling mechanism. LAMMPS errors can be handled through the Python exception handling mechanism.
.. code-block:: Python .. code-block:: python
from lammps import lammps, MPIAbortException from lammps import lammps, MPIAbortException

View File

@ -60,7 +60,7 @@ it is possible to "compute" what the next LAMMPS command should be.
can be executed using with the lammps API with the following Python code if ``lmp`` is an can be executed using with the lammps API with the following Python code if ``lmp`` is an
instance of :py:class:`lammps <lammps.lammps>`: instance of :py:class:`lammps <lammps.lammps>`:
.. code-block:: Python .. code-block:: python
from lammps import lammps from lammps import lammps
@ -73,7 +73,7 @@ it is possible to "compute" what the next LAMMPS command should be.
The arguments of the command can be passed as one string, or The arguments of the command can be passed as one string, or
individually. individually.
.. code-block:: Python .. code-block:: python
from lammps import PyLammps from lammps import PyLammps
@ -93,14 +93,14 @@ it is possible to "compute" what the next LAMMPS command should be.
parameterization. In the lammps API parameterization needed to be done parameterization. In the lammps API parameterization needed to be done
manually by creating formatted command strings. manually by creating formatted command strings.
.. code-block:: Python .. code-block:: python
lmp.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi)) lmp.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi))
In contrast, methods of PyLammps accept parameters directly and will convert In contrast, methods of PyLammps accept parameters directly and will convert
them automatically to a final command string. them automatically to a final command string.
.. code-block:: Python .. code-block:: python
L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi) L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi)

View File

@ -56,7 +56,7 @@ and you should see the same output as if you had typed
Note that without the mpi4py specific lines from ``test.py`` Note that without the mpi4py specific lines from ``test.py``
.. code-block:: Python .. code-block:: python
from lammps import lammps from lammps import lammps
lmp = lammps() lmp = lammps()

View File

@ -76,7 +76,7 @@ computes, fixes, or variables in LAMMPS using the :py:mod:`lammps` module.
To define a variable you can use the :doc:`variable <variable>` command: To define a variable you can use the :doc:`variable <variable>` command:
.. code-block:: Python .. code-block:: python
L.variable("a index 2") L.variable("a index 2")
@ -85,14 +85,14 @@ computes, fixes, or variables in LAMMPS using the :py:mod:`lammps` module.
you can access an individual variable by retrieving a variable object from the you can access an individual variable by retrieving a variable object from the
``L.variables`` dictionary by name ``L.variables`` dictionary by name
.. code-block:: Python .. code-block:: python
a = L.variables['a'] a = L.variables['a']
The variable value can then be easily read and written by accessing the value The variable value can then be easily read and written by accessing the value
property of this object. property of this object.
.. code-block:: Python .. code-block:: python
print(a.value) print(a.value)
a.value = 4 a.value = 4

View File

@ -105,7 +105,7 @@ against invalid accesses.
variables, compute or fix data (see :doc:`Howto_output`): variables, compute or fix data (see :doc:`Howto_output`):
.. code-block:: Python .. code-block:: python
result = L.eval("ke") # kinetic energy result = L.eval("ke") # kinetic energy
result = L.eval("pe") # potential energy result = L.eval("pe") # potential energy

View File

@ -1,7 +1,7 @@
Scatter/gather operations Scatter/gather operations
========================= =========================
.. code-block:: Python .. code-block:: python
data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID
# name = "x", "charge", "type", etc # name = "x", "charge", "type", etc
@ -42,7 +42,7 @@ For the scatter methods, the array of coordinates passed to must be a
ctypes vector of ints or doubles, allocated and initialized something ctypes vector of ints or doubles, allocated and initialized something
like this: like this:
.. code-block:: Python .. code-block:: python
from ctypes import c_double from ctypes import c_double
natoms = lmp.get_natoms() natoms = lmp.get_natoms()