occ
Loading...
Searching...
No Matches
occ::mults::MultipoleSource Class Reference

#include <multipole_source.h>

Classes

struct  BodySite
 

Public Member Functions

 MultipoleSource ()=default
 
 MultipoleSource (std::vector< BodySite > body_sites)
 From body-frame sites. Orientation defaults to identity at origin.
 
 MultipoleSource (const occ::dma::Mult &multipole, const Vec3 &position)
 Single-site convenience (lab-frame, no rotation support).
 
void set_orientation (const Mat3 &rotation, const Vec3 &center)
 
const Mat3rotation () const
 
const Vec3center () const
 
int num_sites () const
 
const std::vector< BodySite > & body_sites () const
 
const CartesianMoleculecartesian () const
 
Vec compute_potential (Mat3NConstRef points) const
 
double compute_potential (const Vec3 &point) const
 
Mat3N compute_field (Mat3NConstRef points) const
 
Vec3 compute_field (const Vec3 &point) const
 

Static Public Member Functions

static MultipoleSource from_lab_sites (const std::vector< std::pair< occ::dma::Mult, Vec3 > > &site_data)
 From pre-built lab-frame data (no body-frame retained, no rotation support).
 

Constructor & Destructor Documentation

◆ MultipoleSource() [1/3]

occ::mults::MultipoleSource::MultipoleSource ( )
default

◆ MultipoleSource() [2/3]

occ::mults::MultipoleSource::MultipoleSource ( std::vector< BodySite body_sites)
explicit

From body-frame sites. Orientation defaults to identity at origin.

◆ MultipoleSource() [3/3]

occ::mults::MultipoleSource::MultipoleSource ( const occ::dma::Mult multipole,
const Vec3 position 
)

Single-site convenience (lab-frame, no rotation support).

Member Function Documentation

◆ body_sites()

const std::vector< BodySite > & occ::mults::MultipoleSource::body_sites ( ) const

◆ cartesian()

const CartesianMolecule & occ::mults::MultipoleSource::cartesian ( ) const

◆ center()

const Vec3 & occ::mults::MultipoleSource::center ( ) const

◆ compute_field() [1/2]

Vec3 occ::mults::MultipoleSource::compute_field ( const Vec3 point) const

◆ compute_field() [2/2]

Mat3N occ::mults::MultipoleSource::compute_field ( Mat3NConstRef  points) const

◆ compute_potential() [1/2]

double occ::mults::MultipoleSource::compute_potential ( const Vec3 point) const

◆ compute_potential() [2/2]

Vec occ::mults::MultipoleSource::compute_potential ( Mat3NConstRef  points) const

◆ from_lab_sites()

static MultipoleSource occ::mults::MultipoleSource::from_lab_sites ( const std::vector< std::pair< occ::dma::Mult, Vec3 > > &  site_data)
static

From pre-built lab-frame data (no body-frame retained, no rotation support).

◆ num_sites()

int occ::mults::MultipoleSource::num_sites ( ) const

◆ rotation()

const Mat3 & occ::mults::MultipoleSource::rotation ( ) const

◆ set_orientation()

void occ::mults::MultipoleSource::set_orientation ( const Mat3 rotation,
const Vec3 center 
)

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