|
occ
|
High-level API for Cartesian T-tensor multipole interaction calculations. More...
#include <cartesian_interaction.h>
Classes | |
| struct | Config |
Public Member Functions | |
| CartesianInteractions ()=default | |
| CartesianInteractions (const Config &config) | |
| double | compute_interaction_energy (const occ::dma::Mult &mult1, const Vec3 &pos1, const occ::dma::Mult &mult2, const Vec3 &pos2) const |
| Compute electrostatic interaction energy between two multipoles. | |
| double | compute_interaction_energy (const occ::dma::Mult &mult1, const Vec3 &pos1, const Mat3 &rot1, const occ::dma::Mult &mult2, const Vec3 &pos2, const Mat3 &rot2) const |
| Body-frame variant: multipoles defined in body frame, rotated to lab. | |
| const Config & | config () const |
High-level API for Cartesian T-tensor multipole interaction calculations.
This engine computes electrostatic interaction energies between multipole distributions using the Cartesian interaction tensor approach:
E = sum_{tuv,t'u'v'} m^A_{tuv} * T_{t+t',u+u',v+v'} * m^B_{t'u'v'}
where m^A absorbs the (-1)^l sign and 1/(t!u!v!) factorial, and m^B absorbs only the 1/(t'!u'!v'!) factorial.
Intended to run side-by-side with the S-function engine for cross-validation and benchmarking.
|
default |
|
explicit |
| double occ::mults::CartesianInteractions::compute_interaction_energy | ( | const occ::dma::Mult & | mult1, |
| const Vec3 & | pos1, | ||
| const Mat3 & | rot1, | ||
| const occ::dma::Mult & | mult2, | ||
| const Vec3 & | pos2, | ||
| const Mat3 & | rot2 | ||
| ) | const |
Body-frame variant: multipoles defined in body frame, rotated to lab.
| rot1 | Rotation matrix for molecule 1 (body to lab) |
| rot2 | Rotation matrix for molecule 2 (body to lab) |
| double occ::mults::CartesianInteractions::compute_interaction_energy | ( | const occ::dma::Mult & | mult1, |
| const Vec3 & | pos1, | ||
| const occ::dma::Mult & | mult2, | ||
| const Vec3 & | pos2 | ||
| ) | const |
Compute electrostatic interaction energy between two multipoles.
| mult1 | First multipole distribution (spherical, Stone convention) |
| pos1 | Position of first multipole |
| mult2 | Second multipole distribution |
| pos2 | Position of second multipole |
|
inline |