Class containing the pointers to the MD data It is templated so that single and double precision versions coexist IT IS STILL UNDOCUMENTED. More...
Public Member Functions | |
MDAtomsTyped () | |
void | double2MD (const double &d, void *m) const override |
Convert a double to a pointer to an MD-real. More... | |
void | getBox (Tensor &) const override |
Retrieve box as a plumed Tensor. More... | |
void | getCharges (const vector< int > &index, vector< double > &) const override |
Retrieve selected charges. More... | |
double | getExtraCV (const std::string &name) override |
Retrieve the value of an extra CV. More... | |
void | getLocalPositions (std::vector< Vector > &p) const override |
Retrieve local positions. More... | |
void | getMasses (const vector< int > &index, vector< double > &) const override |
Retrieve selected masses. More... | |
Vector | getMDforces (const unsigned index) const override |
void | getPositions (const vector< int > &index, vector< Vector > &positions) const override |
Retrieve selected positions. More... | |
void | getPositions (const std::set< AtomNumber > &index, const vector< unsigned > &i, vector< Vector > &positions) const override |
Retrieve all atom positions from atom indices and local indices. More... | |
void | getPositions (unsigned j, unsigned k, vector< Vector > &positions) const override |
Retrieve all atom positions from index i to index j. More... | |
unsigned | getRealPrecision () const override |
Get the size of MD-real. More... | |
void | MD2double (const void *m, double &d) const override |
Convert a pointer to an MD-real to a double. More... | |
void | rescaleForces (const vector< int > &index, double factor) override |
Rescale all the forces, including the virial. More... | |
void | setBox (void *) override |
Set a pointer to the box array (3x3) in the MD code. More... | |
void | setc (void *m) override |
Set a pointer to the charge array in the MD code. More... | |
void | setExtraCV (const std::string &name, void *p) override |
Set a pointer to an extra CV. More... | |
void | setExtraCVForce (const std::string &name, void *p) override |
Set a pointer to an extra CV force. More... | |
void | setf (void *f) override |
Set a pointer to the forces array in the MD code. More... | |
void | setf (void *f, int i) override |
Set a pointer to the force array in the MD code. More... | |
void | setm (void *m) override |
Set a pointer to the mass array in the MD code. More... | |
void | setp (void *p) override |
Set a pointer to the positions array in the MD code. More... | |
void | setp (void *p, int i) override |
Set a pointer to the position array in the MD code. More... | |
void | setUnits (const Units &, const Units &) override |
Set internal and MD units. More... | |
void | setVirial (void *) override |
Set a pointer to the virial array (3x3) in the MD code. More... | |
void | updateExtraCVForce (const std::string &name, double f) override |
Update the value of an extra CV force. More... | |
void | updateForces (const vector< int > &index, const vector< Vector > &) override |
Increment the force on selected atoms. More... | |
void | updateForces (const std::set< AtomNumber > &index, const vector< unsigned > &i, const vector< Vector > &forces) override |
Increment the force on selected atoms. More... | |
void | updateVirial (const Tensor &) const override |
Increment the virial by an amount v. More... | |
Static Public Member Functions | |
static std::unique_ptr< MDAtomsBase > | create (unsigned n) |
Creates an MDAtomsTyped<T> object such that sizeof(T)==n. More... | |
Private Attributes | |
T * | box |
T * | c |
std::map< std::string, T * > | extraCV |
std::map< std::string, T * > | extraCVForce |
T * | fx |
T * | fy |
T * | fz |
T * | m |
T * | px |
T * | py |
T * | pz |
T | scaleb |
T | scalec |
T | scalef |
T | scalem |
T | scalep |
T | scalev |
int | stride |
T * | virial |
Class containing the pointers to the MD data It is templated so that single and double precision versions coexist IT IS STILL UNDOCUMENTED.
IT PROBABLY NEEDS A STRONG CLEANUP
PLMD::MDAtomsTyped< T >::MDAtomsTyped | ( | ) |
|
staticinherited |
Creates an MDAtomsTyped<T> object such that sizeof(T)==n.
|
inlineoverridevirtual |
Convert a double to a pointer to an MD-real.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve box as a plumed Tensor.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve selected charges.
The operation is done in such a way that c[index[i]] is equal to the charge of atom i
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Retrieve the value of an extra CV.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve local positions.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve selected masses.
The operation is done in such a way that m[index[i]] is equal to the mass of atom i
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve selected positions.
The operation is done in such a way that p[index[i]] is equal to the coordinates of atom i
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve all atom positions from atom indices and local indices.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Retrieve all atom positions from index i to index j.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Get the size of MD-real.
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Convert a pointer to an MD-real to a double.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Rescale all the forces, including the virial.
It is applied to all atoms with local index going from 0 to index.size()-1
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the box array (3x3) in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the charge array in the MD code.
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Set a pointer to an extra CV.
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Set a pointer to an extra CV force.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the forces array in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the force array in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the mass array in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the positions array in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the position array in the MD code.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set internal and MD units.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Set a pointer to the virial array (3x3) in the MD code.
Implements PLMD::MDAtomsBase.
|
inlineoverridevirtual |
Update the value of an extra CV force.
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Increment the force on selected atoms.
The operation is done in such a way that f[index[i]] is added to the force on atom i
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Increment the force on selected atoms.
The operation is done only for local atoms used in an action
Implements PLMD::MDAtomsBase.
|
overridevirtual |
Increment the virial by an amount v.
Implements PLMD::MDAtomsBase.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Hosted by GitHub | 1.8.14 |