occ
Loading...
Searching...
No Matches
occ::mults::CartesianMultipole< MaxL > Struct Template Reference

Traceless Cartesian multipole moments Theta_{tuv}. More...

#include <cartesian_multipole.h>

Public Member Functions

 CartesianMultipole ()
 
double & operator() (int t, int u, int v)
 
double operator() (int t, int u, int v) const
 
int effective_rank (double tol=1e-15) const
 Return the highest rank with any non-zero component, or -1 if empty.
 

Public Attributes

double data [size]
 

Static Public Attributes

static constexpr int size = nhermsum(MaxL)
 

Detailed Description

template<int MaxL>
struct occ::mults::CartesianMultipole< MaxL >

Traceless Cartesian multipole moments Theta_{tuv}.

Storage layout follows RInts: hermite_index(t,u,v) with all ranks from 0 to MaxL stored contiguously. Total size = nhermsum(MaxL).

Template Parameters
MaxLMaximum multipole rank

Constructor & Destructor Documentation

◆ CartesianMultipole()

template<int MaxL>
occ::mults::CartesianMultipole< MaxL >::CartesianMultipole ( )
inline

Member Function Documentation

◆ effective_rank()

template<int MaxL>
int occ::mults::CartesianMultipole< MaxL >::effective_rank ( double  tol = 1e-15) const
inline

Return the highest rank with any non-zero component, or -1 if empty.

◆ operator()() [1/2]

template<int MaxL>
double & occ::mults::CartesianMultipole< MaxL >::operator() ( int  t,
int  u,
int  v 
)
inline

◆ operator()() [2/2]

template<int MaxL>
double occ::mults::CartesianMultipole< MaxL >::operator() ( int  t,
int  u,
int  v 
) const
inline

Member Data Documentation

◆ data

template<int MaxL>
double occ::mults::CartesianMultipole< MaxL >::data[size]

◆ size

template<int MaxL>
constexpr int occ::mults::CartesianMultipole< MaxL >::size = nhermsum(MaxL)
staticconstexpr

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