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. | |
| void | getBox (Tensor &) const override |
| Retrieve box as a plumed Tensor. | |
| void | getCharges (const std::vector< int > &index, std::vector< double > &) const override |
| Retrieve selected charges. | |
| double | getExtraCV (const std::string &name) override |
| Retrieve the value of an extra CV. | |
| void | getLocalPositions (std::vector< Vector > &p) const override |
| Retrieve local positions. | |
| void | getMasses (const std::vector< int > &index, std::vector< double > &) const override |
| Retrieve selected masses. | |
| Vector | getMDforces (const unsigned index) const override |
| void | getPositions (const std::vector< AtomNumber > &index, const std::vector< unsigned > &i, std::vector< Vector > &positions) const override |
| Retrieve all atom positions from atom indices and local indices. | |
| void | getPositions (const std::vector< int > &index, std::vector< Vector > &positions) const override |
| Retrieve selected positions. | |
| void | getPositions (unsigned j, unsigned k, std::vector< Vector > &positions) const override |
| Retrieve all atom positions from index i to index j. | |
| unsigned | getRealPrecision () const override |
| Get the size of MD-real. | |
| bool | isExtraCVNeeded (const std::string &name) const override |
| Check if an extra CV is needed. | |
| void | MD2double (const TypesafePtr &m, double &d) const override |
| Convert a pointer to an MD-real to a double. | |
| void | rescaleForces (const std::vector< int > &index, double factor) override |
| Rescale all the forces, including the virial. | |
| void | resetExtraCVNeeded () override |
| Set all extra CV as not needed (at beginning of the step). | |
| void | setBox (const TypesafePtr &) override |
| Set a pointer to the box array (3x3) in the MD code. | |
| void | setc (const TypesafePtr &m) override |
| Set a pointer to the charge array in the MD code. | |
| void | setExtraCV (const std::string &name, const TypesafePtr &p) override |
| Set a pointer to an extra CV. | |
| void | setExtraCVForce (const std::string &name, const TypesafePtr &p) override |
| Set a pointer to an extra CV force. | |
| void | setExtraCVNeeded (const std::string &name, bool needed=true) override |
| Inform the MD code that an extra CV is needed. | |
| void | setf (const TypesafePtr &f) override |
| Set a pointer to the forces array in the MD code. | |
| void | setf (const TypesafePtr &f, int i) override |
| Set a pointer to the force array in the MD code. | |
| void | setm (const TypesafePtr &m) override |
| Set a pointer to the mass array in the MD code. | |
| void | setp (const TypesafePtr &p) override |
| Set a pointer to the positions array in the MD code. | |
| void | setp (const TypesafePtr &p, int i) override |
| Set a pointer to the position array in the MD code. | |
| void | setUnits (const Units &, const Units &) override |
| Set internal and MD units. | |
| void | setVirial (const TypesafePtr &) override |
| Set a pointer to the virial array (3x3) in the MD code. | |
| void | updateExtraCVForce (const std::string &name, double f) override |
| Update the value of an extra CV force. | |
| void | updateForces (const std::vector< AtomNumber > &index, const std::vector< unsigned > &i, const std::vector< Vector > &forces) override |
| Increment the force on selected atoms. | |
| void | updateForces (const std::vector< int > &index, const std::vector< Vector > &) override |
| Increment the force on selected atoms. | |
| void | updateVirial (const Tensor &) const override |
| Increment the virial by an amount v. | |
Static Public Member Functions | |
| static std::unique_ptr< MDAtomsBase > | create (unsigned n) |
| Creates an MDAtomsTyped<T> object such that sizeof(T)==n. | |
Private Attributes | |
| TypesafePtr | box |
| TypesafePtr | c |
| std::map< std::string, TypesafePtr > | extraCV |
| std::map< std::string, TypesafePtr > | extraCVForce |
| std::map< std::string, bool > | extraCVNeeded |
| 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 |
Check if an extra CV is needed.
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.
|
inlineoverridevirtual |
Set all extra CV as not needed (at beginning of the step).
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.
|
inlineoverridevirtual |
Inform the MD code that an extra CV is needed.
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 |
|
private |
Hosted by GitHub
|
1.17.0
|