|
occ
|
Body-frame data for rigid body rotation support. More...
#include <cartesian_molecule.h>
Public Attributes | |
| std::vector< CartesianMultipole< 4 > > | body_multipoles |
| std::vector< Vec3 > | body_offsets |
| Vec3 | center |
| Mat3 | rotation |
| std::array< std::vector< CartesianMultipole< 4 > >, 3 > | d_multipoles |
| Precomputed rotation derivatives: d_multipoles[k][i] is d(lab_multipole_i)/dp_k where p_k is the k-th angle-axis component (k=0,1,2 for infinitesimal rotations about x,y,z). | |
Body-frame data for rigid body rotation support.
Precomputes and caches rotation derivatives so that torque evaluation only needs to contract cached derivatives with interaction fields, without re-enumerating the rotation kernel at force-evaluation time.
| std::vector<CartesianMultipole<4> > occ::mults::BodyFrameData::body_multipoles |
| std::vector<Vec3> occ::mults::BodyFrameData::body_offsets |
| Vec3 occ::mults::BodyFrameData::center |
| std::array<std::vector<CartesianMultipole<4> >, 3> occ::mults::BodyFrameData::d_multipoles |
Precomputed rotation derivatives: d_multipoles[k][i] is d(lab_multipole_i)/dp_k where p_k is the k-th angle-axis component (k=0,1,2 for infinitesimal rotations about x,y,z).
Computed once per orientation change, reused across all force evaluations.
| Mat3 occ::mults::BodyFrameData::rotation |