pele
Python energy landscape explorer
 All Classes Namespaces Functions Variables Typedefs
Public Member Functions
pele::RigidFragment Class Reference

#include <aatopology.h>

List of all members.

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

Detailed Description

represent a single rigid body

Definition at line 199 of file aatopology.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs