occ
Loading...
Searching...
No Matches
occ::mults::BodyFrameData Struct Reference

Body-frame data for rigid body rotation support. More...

#include <cartesian_molecule.h>

Public Attributes

std::vector< CartesianMultipole< 4 > > body_multipoles
 
std::vector< Vec3body_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).
 

Detailed Description

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.

Member Data Documentation

◆ body_multipoles

std::vector<CartesianMultipole<4> > occ::mults::BodyFrameData::body_multipoles

◆ body_offsets

std::vector<Vec3> occ::mults::BodyFrameData::body_offsets

◆ center

Vec3 occ::mults::BodyFrameData::center

◆ d_multipoles

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.

◆ rotation

Mat3 occ::mults::BodyFrameData::rotation

The documentation for this struct was generated from the following file: