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 | |
void | double2MD (const double &d, const TypesafePtr &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 std::vector< int > &index, std::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 std::vector< int > &index, std::vector< double > &) const override |
Retrieve selected masses. More... | |
Vector | getMDforces (const unsigned index) const override |
void | getPositions (const std::set< AtomNumber > &index, const std::vector< unsigned > &i, std::vector< Vector > &positions) const override |
Retrieve all atom positions from atom indices and local indices. More... | |
void | getPositions (const std::vector< int > &index, std::vector< Vector > &positions) const override |
Retrieve selected positions. More... | |
void | getPositions (unsigned j, unsigned k, std::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 TypesafePtr &m, double &d) const override |
Convert a pointer to an MD-real to a double. More... | |
void | rescaleForces (const std::vector< int > &index, double factor) override |
Rescale all the forces, including the virial. More... | |
void | setBox (const TypesafePtr &) override |
Set a pointer to the box array (3x3) in the MD code. More... | |
void | setc (const TypesafePtr &m) override |
Set a pointer to the charge array in the MD code. More... | |
void | setExtraCV (const std::string &name, const TypesafePtr &p) override |
Set a pointer to an extra CV. More... | |
void | setExtraCVForce (const std::string &name, const TypesafePtr &p) override |
Set a pointer to an extra CV force. More... | |
void | setf (const TypesafePtr &f) override |
Set a pointer to the forces array in the MD code. More... | |
void | setf (const TypesafePtr &f, int i) override |
Set a pointer to the force array in the MD code. More... | |
void | setm (const TypesafePtr &m) override |
Set a pointer to the mass array in the MD code. More... | |
void | setp (const TypesafePtr &p) override |
Set a pointer to the positions array in the MD code. More... | |
void | setp (const TypesafePtr &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 (const TypesafePtr &) 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 std::set< AtomNumber > &index, const std::vector< unsigned > &i, const std::vector< Vector > &forces) override |
Increment the force on selected atoms. More... | |
void | updateForces (const std::vector< int > &index, const std::vector< Vector > &) 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 | |
TypesafePtr | box |
TypesafePtr | c |
std::map< std::string, TypesafePtr > | extraCV |
std::map< std::string, TypesafePtr > | extraCVForce |
TypesafePtr | f |
TypesafePtr | fx |
TypesafePtr | fy |
TypesafePtr | fz |
TypesafePtr | m |
TypesafePtr | p |
TypesafePtr | px |
TypesafePtr | py |
TypesafePtr | pz |
T | scaleb =1.0 |
T | scalec =1.0 |
T | scalef =1.0 |
T | scalem =1.0 |
T | scalep =1.0 |
T | scalev =1.0 |
TypesafePtr | 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
|
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 all atom positions from atom indices and local indices.
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 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 only for local atoms used in an action
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 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 |
|
private |
Hosted by GitHub | 1.8.17 |