occ
Loading...
Searching...
No Matches
cartesian_multipole.h File Reference
#include <occ/ints/rints.h>
#include <occ/dma/mult.h>
#include <cmath>
#include <cstring>
Include dependency graph for cartesian_multipole.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  occ::mults::CartesianMultipole< MaxL >
 Traceless Cartesian multipole moments Theta_{tuv}. More...
 

Namespaces

namespace  occ
 
namespace  occ::mults
 
namespace  occ::mults::detail
 

Functions

constexpr double occ::mults::detail::factorial (int n)
 Factorial lookup for small values.
 
template<int MaxL>
void occ::mults::detail::convert_l0 (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole to traceless Cartesian for rank 0.
 
template<int MaxL>
void occ::mults::detail::convert_l1 (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole to traceless Cartesian for rank 1.
 
template<int MaxL>
void occ::mults::detail::convert_l2 (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole to traceless Cartesian for rank 2.
 
template<int MaxL>
void occ::mults::detail::convert_l3 (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole to traceless Cartesian for rank 3.
 
template<int MaxL>
void occ::mults::detail::convert_l4 (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole to traceless Cartesian for rank 4.
 
template<int MaxL>
void occ::mults::spherical_to_cartesian (const occ::dma::Mult &sph, CartesianMultipole< MaxL > &cart)
 Convert spherical multipole (Mult) to traceless Cartesian multipole.
 

Variables

constexpr double occ::mults::detail::sqrt3 = 1.7320508075688772935
 
constexpr double occ::mults::detail::sqrt5 = 2.2360679774997896964
 
constexpr double occ::mults::detail::sqrt6 = 2.4494897427831780982
 
constexpr double occ::mults::detail::sqrt7 = 2.6457513110645905905
 
constexpr double occ::mults::detail::sqrt10 = 3.1622776601683795
 
constexpr double occ::mults::detail::sqrt15 = 3.872983346207417
 
constexpr double occ::mults::detail::sqrt35 = 5.916079783099616
 
constexpr double occ::mults::detail::sqrt70 = 8.366600265340756