#include <aatopology.h>
Public Member Functions | |
RigidFragment (pele::Array< double > atom_positions, Array< double > cog, double M, double W, Array< double > S, Array< double > inversion, bool can_invert, std::shared_ptr< DistanceInterface > distance_function) | |
size_t | natoms () const |
void | add_symmetry_rotation (pele::Array< double > R) |
std::vector< pele::MatrixNM < 3, 3 > > const & | get_symmetry_rotations () const |
pele::Array< double > | to_atomistic (pele::Array< double > const com, pele::VecN< 3 > const &p) |
void | transform_grad (pele::VecN< 3 > const &p, pele::Array< double > const g, pele::VecN< 3 > &g_com, pele::VecN< 3 > &g_rot) |
void | transform_grad (pele::Array< double > const p, pele::Array< double > const g, pele::Array< double > g_com, pele::Array< double > g_rot) |
pele::VecN< 3 > | get_smallest_rij (pele::VecN< 3 > const &com1, pele::VecN< 3 > const &com2) const |
double | distance_squared (pele::VecN< 3 > const &com1, pele::VecN< 3 > const &p1, pele::VecN< 3 > const &com2, pele::VecN< 3 > const &p2) const |
void | distance_squared_grad (pele::VecN< 3 > const &com1, pele::VecN< 3 > const &p1, pele::VecN< 3 > const &com2, pele::VecN< 3 > const &p2, VecN< 3 > &g_M, VecN< 3 > &g_P) const |
represent a single rigid body
Definition at line 199 of file aatopology.h.
pele::RigidFragment::RigidFragment | ( | pele::Array< double > | atom_positions, |
Array< double > | cog, | ||
double | M, | ||
double | W, | ||
Array< double > | S, | ||
Array< double > | inversion, | ||
bool | can_invert, | ||
std::shared_ptr< DistanceInterface > | distance_function | ||
) | [inline] |
Definition at line 219 of file aatopology.h.
void pele::RigidFragment::add_symmetry_rotation | ( | pele::Array< double > | R | ) | [inline] |
add a symmetry rotation
Definition at line 254 of file aatopology.h.
double pele::RigidFragment::distance_squared | ( | pele::VecN< 3 > const & | com1, |
pele::VecN< 3 > const & | p1, | ||
pele::VecN< 3 > const & | com2, | ||
pele::VecN< 3 > const & | p2 | ||
) | const |
compute the squared distance between two configurations of the rigid fragment
Definition at line 79 of file aatopology.cpp.
void pele::RigidFragment::distance_squared_grad | ( | pele::VecN< 3 > const & | com1, |
pele::VecN< 3 > const & | p1, | ||
pele::VecN< 3 > const & | com2, | ||
pele::VecN< 3 > const & | p2, | ||
VecN< 3 > & | g_M, | ||
VecN< 3 > & | g_P | ||
) | const |
Definition at line 98 of file aatopology.cpp.
pele::VecN<3> pele::RigidFragment::get_smallest_rij | ( | pele::VecN< 3 > const & | com1, |
pele::VecN< 3 > const & | com2 | ||
) | const [inline] |
return the shortest vector from com1 to com2
this could be replaced by periodic distances for instance
Definition at line 317 of file aatopology.h.
std::vector<pele::MatrixNM<3,3> > const& pele::RigidFragment::get_symmetry_rotations | ( | ) | const [inline] |
access the vector of symmetry rotations
Definition at line 262 of file aatopology.h.
size_t pele::RigidFragment::natoms | ( | ) | const [inline] |
return the number of atoms in the rigid body
Definition at line 249 of file aatopology.h.
pele::Array< double > pele::RigidFragment::to_atomistic | ( | pele::Array< double > const | com, |
pele::VecN< 3 > const & | p | ||
) |
convert a center of mass and a angle axis rotation to a set of atomistic coordinates
Definition at line 8 of file aatopology.cpp.
void pele::RigidFragment::transform_grad | ( | pele::VecN< 3 > const & | p, |
pele::Array< double > const | g, | ||
pele::VecN< 3 > & | g_com, | ||
pele::VecN< 3 > & | g_rot | ||
) |
transform an atomistic gradient into a gradient in the rigid body coordinates
Definition at line 32 of file aatopology.cpp.
void pele::RigidFragment::transform_grad | ( | pele::Array< double > const | p, |
pele::Array< double > const | g, | ||
pele::Array< double > | g_com, | ||
pele::Array< double > | g_rot | ||
) | [inline] |
transform an atomistic gradient into a gradient in the rigid body coordinates
This is simply a wrapper. This copies the data into VecN objects, calls transform_grad and copies it back.
copy the data back into the arrays
Definition at line 291 of file aatopology.h.