\(\renewcommand{\AA}{\text{Å}}\)

1.1.5. Computes, fixes, variables

This section documents accessing or modifying data stored by computes, fixes, or variables in LAMMPS using the following functions:


void *lammps_extract_compute(void *handle, const char *id, int style, int type)

void *lammps_extract_fix(void *handle, const char *id, int style, int type, int nrow, int ncol)

int lammps_extract_variable_datatype(void *handle, const char *name)

void *lammps_extract_variable(void *handle, const char *name, const char *group)

int lammps_set_variable(void *handle, const char *name, const char *str)

int lammps_set_string_variable(void *handle, const char *name, const char *str)

int lammps_set_internal_variable(void *handle, const char *name, double value)

int lammps_variable_info(void *handle, int idx, char *buf, int bufsize)

double lammps_eval(void *handle, const char *expr)

void lammps_clearstep_compute(void *handle)

void lammps_addstep_compute_all(void *handle, void *nextstep)

void lammps_addstep_compute(void *handle, void *nextstep)

enum LAMMPS_NS::multitype::_LMP_DATATYPE_CONST

Data type constants for extracting data from atoms, computes and fixes

This enum must be kept in sync with the corresponding enum or constants in python/lammps/constants.py, fortran/lammps.f90, tools/swig/lammps.i, src/library.h, and examples/COUPLE/plugin/liblammpsplugin.h

Values:

enumerator LAMMPS_NONE

no data type assigned (yet)

enumerator LAMMPS_INT

32-bit integer (array)

enumerator LAMMPS_INT_2D

two-dimensional 32-bit integer array

enumerator LAMMPS_DOUBLE

64-bit double (array)

enumerator LAMMPS_DOUBLE_2D

two-dimensional 64-bit double array

enumerator LAMMPS_INT64

64-bit integer (array)

enumerator LAMMPS_INT64_2D

two-dimensional 64-bit integer array

enumerator LAMMPS_STRING

C-String

enum _LMP_STYLE_CONST

Style constants for extracting data from computes and fixes.

Must be kept in sync with the equivalent constants in python/lammps/constants.py, fortran/lammps.f90, tools/swig/lammps.i, and examples/COUPLE/plugin/liblammpsplugin.h

Values:

enumerator LMP_STYLE_GLOBAL

return global data

enumerator LMP_STYLE_ATOM

return per-atom data

enumerator LMP_STYLE_LOCAL

return local data

enum _LMP_TYPE_CONST

Type and size constants for extracting data from computes and fixes.

Must be kept in sync with the equivalent constants in python/lammps/constants.py, fortran/lammps.f90, tools/swig/lammps.i, and examples/COUPLE/plugin/liblammpsplugin.h

Values:

enumerator LMP_TYPE_SCALAR

return scalar

enumerator LMP_TYPE_VECTOR

return vector

enumerator LMP_TYPE_ARRAY

return array

enumerator LMP_SIZE_VECTOR

return length of vector

enumerator LMP_SIZE_ROWS

return number of rows

enumerator LMP_SIZE_COLS

return number of columns

enum _LMP_VAR_CONST

Variable style constants for extracting data from variables.

Must be kept in sync with the equivalent constants in python/lammps/constants.py, fortran/lammps.f90, tools/swig/lammps.i, and examples/COUPLE/plugin/liblammpsplugin.h

Values:

enumerator LMP_VAR_EQUAL

compatible with equal-style variables

enumerator LMP_VAR_ATOM

compatible with atom-style variables

enumerator LMP_VAR_VECTOR

compatible with vector-style variables

enumerator LMP_VAR_STRING

return value will be a string (catch-all)