10#ifndef COLVARPROXY_VMD_H
11#define COLVARPROXY_VMD_H
13#include "colvarproxy_vmd_version.h"
17#include "DrawMolecule.h"
23#include "colvartypes.h"
24#include "colvaratoms.h"
27int tcl_colvars(ClientData clientData, Tcl_Interp *interp,
28 int objc, Tcl_Obj *
const objv[]);
67 virtual void log(std::string
const &message);
69 virtual void error(std::string
const &message);
75 virtual int run_colvar_callback(std::string
const &name,
76 std::vector<const colvarvalue *>
const &cvcs,
79 virtual int run_colvar_gradient_callback(std::string
const &name,
80 std::vector<const colvarvalue *>
const &cvc_values,
85 std::string
const &pdb_field,
86 double const pdb_field_value = 0.0);
89 std::vector<cvm::atom_pos> &pos,
90 const std::vector<int> &indices,
91 std::string
const &pdb_field,
92 double const pdb_field_value = 0.0);
102 std::string
const &atom_name,
103 std::string
const &segment_id);
106 std::string
const &atom_name,
107 std::string
const &segment_id);
119 cvm::atom_iter atom_begin,
120 cvm::atom_iter atom_end,
125 void compute_voldata(VolumetricData
const *voldata,
126 cvm::atom_iter atom_begin,
127 cvm::atom_iter atom_end,
Group of atom objects, mostly used by a colvar::cvc object to gather all atomic data.
Definition: colvaratoms.h:159
Arbitrary size array (two dimensions) suitable for linear algebra operations (i.e....
Definition: colvartypes.h:376
double real
Defining an abstract real number allows to switch precision.
Definition: colvarmodule.h:95
int residue_id
Residue identifier.
Definition: colvarmodule.h:193
Communication between colvars and VMD (implementation of colvarproxy)
Definition: colvarproxy_vmd.h:32
virtual int load_coords_pdb(char const *filename, std::vector< cvm::atom_pos > &pos, const std::vector< int > &indices, std::string const &pdb_field, double const pdb_field_value=0.0)
Load a set of coordinates from a PDB file.
virtual void log(std::string const &message)
Print a message to the main log.
virtual int check_atom_id(cvm::residue_id const &residue, std::string const &atom_name, std::string const &segment_id)
Check that this atom is valid, but do not initialize it yet.
Inform msgColvars
output object
Definition: colvarproxy_vmd.h:161
int get_dE_dlambda(cvm::real *dE_dlambda)
Get energy derivative with respect to lambda (stub)
Definition: colvarproxy_vmd.h:141
colvarproxy_vmd(Tcl_Interp *interp, VMDApp *vmd, int molid)
virtual int compute_volmap(int flags, int volmap_id, cvm::atom_iter atom_begin, cvm::atom_iter atom_end, cvm::real *value, cvm::real *atom_field)
virtual void request_total_force(bool yesno)
Tell the proxy whether total forces are needed (they may not always be available)
virtual int init_volmap_by_id(int volmap_id)
virtual int check_volmaps_available()
Test whether this implementation can use volumetric maps as CVs.
int update_atomic_properties()
Update mass, charge, etc.
virtual void add_energy(cvm::real energy)
Pass restraint energy value for current timestep to MD engine.
VMDApp * vmd
pointer to the VMD main object
Definition: colvarproxy_vmd.h:149
virtual int init_atom(int atom_number)
virtual int load_atoms_pdb(char const *filename, cvm::atom_group &atoms, std::string const &pdb_field, double const pdb_field_value=0.0)
Read a selection of atom IDs from a PDB coordinate file.
virtual void error(std::string const &message)
Print a message to the main log and/or let the host code know about it.
DrawMolecule * vmdmol
pointer to VMD molecule (derived from vmdmolid)
Definition: colvarproxy_vmd.h:155
virtual int update_input()
int get_alch_lambda(cvm::real *lambda)
Get value of alchemical lambda parameter from back-end (stub)
Definition: colvarproxy_vmd.h:132
long int vmdmol_frame
current frame (returned by vmdmol->frame())
Definition: colvarproxy_vmd.h:158
int vmdmolid
VMD molecule ID being used (must be provided at construction)
Definition: colvarproxy_vmd.h:152
virtual int set_unit_system(std::string const &units_in, bool check_only)
Request to set the units used internally by Colvars.
virtual cvm::real rand_gaussian()
Pseudo-random number with Gaussian distribution.
virtual int check_volmap_by_id(int volmap_id)
virtual int request_deletion()
Request deallocation of the module (currently only implemented by VMD)
virtual int run_force_callback()
Run a user-defined colvar forces script.
virtual void init_tcl_pointers()
Set Tcl pointers.
virtual int init_atom(cvm::residue_id const &residue, std::string const &atom_name, std::string const &segment_id)
virtual int check_atom_name_selections_available()
Check whether it is possible to select atoms by residue number name.
virtual int setup()
(Re)initialize required member data (called after the module)
virtual void clear_volmap(int index)
Used by the CVC destructors.
virtual int check_atom_id(int atom_number)
int send_alch_lambda(void)
Set value of alchemical lambda parameter in back-end (stub)
Definition: colvarproxy_vmd.h:138
virtual int set_frame(long int f)
Set the current frame number (as well as colvarmodule::it)
virtual int get_frame(long int &f)
Save the current frame number in the argument given.
virtual int get_molid(int &molid)
Definition: colvarproxy.h:542
Value of a collective variable: this is a metatype which can be set at runtime. By default it is set ...
Definition: colvarvalue.h:43
Collective variables main module.