10#ifndef COLVARPROXY_LAMMPS_H
11#define COLVARPROXY_LAMMPS_H
13#include "colvarproxy_lammps_version.h"
17#include "colvartypes.h"
22#include "random_park.h"
32 LAMMPS_NS::LAMMPS *_lmp;
33 LAMMPS_NS::RanPark *_random;
42 std::vector<int> atoms_types;
68 bool want_exit()
const {
return do_exit; };
74 int set_unit_system(std::string
const &units_in,
bool check_only)
override;
85 void log(std::string
const &message)
override;
86 void error(std::string
const &message)
override;
95 inline std::vector<int> *modify_atom_types() {
return &atoms_types; }
Stores numeric id, mass and all mutable data for an atom, mostly used by a colvar::cvc.
Definition: colvaratoms.h:31
vector of real numbers with three components
Definition: colvartypes.h:727
double real
Defining an abstract real number allows to switch precision.
Definition: colvarmodule.h:95
long long step_number
Use a 64-bit integer to store the step number.
Definition: colvarmodule.h:92
Communication between colvars and LAMMPS (implementation of colvarproxy)
Definition: colvarproxy_lammps.h:27
void request_total_force(bool yesno) override
Tell the proxy whether total forces are needed (they may not always be available)
Definition: colvarproxy_lammps.h:83
cvm::real rand_gaussian(void) override
Pseudo-random number with Gaussian distribution.
Definition: colvarproxy_lammps.h:90
int init_atom(int atom_number) override
Definition: colvarproxy_lammps.cpp:269
int setup() override
(Re)initialize required member data (called after the module)
Definition: colvarproxy_lammps.cpp:92
cvm::rvector position_distance(cvm::atom_pos const &pos1, cvm::atom_pos const &pos2) const override
Get the PBC-aware distance vector between two positions.
Definition: colvarproxy_lammps.cpp:187
void set_random_seed(int seed)
Set the internal seed used by rand_gaussian().
Definition: colvarproxy_lammps.cpp:82
bool total_forces_enabled() const override
Are total forces being used?
Definition: colvarproxy_lammps.h:66
std::vector< std::string > script_obj_to_str_vector(unsigned char *obj)
Convert a command-line argument to a vector of strings.
Definition: colvarproxy_lammps.cpp:227
int set_unit_system(std::string const &units_in, bool check_only) override
Request to set the units used internally by Colvars.
Definition: colvarproxy_lammps.cpp:238
void add_energy(cvm::real energy) override
Pass restraint energy value for current timestep to MD engine.
Definition: colvarproxy_lammps.h:82
void error(std::string const &message) override
Print a message to the main log and/or let the host code know about it.
Definition: colvarproxy_lammps.cpp:212
int check_atom_id(int atom_number) override
Definition: colvarproxy_lammps.cpp:250
bool total_forces_same_step() const override
Are total forces from the current step available?
Definition: colvarproxy_lammps.h:67
char const * script_obj_to_str(unsigned char *obj)
Convert a command-line argument to string.
Definition: colvarproxy_lammps.cpp:220
void log(std::string const &message) override
Print a message to the main log.
Definition: colvarproxy_lammps.cpp:199
bool total_force_requested
Whether the total forces have been requested.
Definition: colvarproxy_system.h:162
Definition: colvarproxy.h:542
Collective variables main module.