occ
|
Classes | |
class | AnalyticalIntegrator |
Handles analytical calculation of multipole moments using Gauss-Hermite quadrature. More... | |
class | BinomialCoefficients |
Class to compute and store binomial coefficients. More... | |
class | DMACalculator |
struct | DMAResult |
struct | DMASettings |
struct | DMASites |
class | GridIntegrator |
Handles numerical integration on grids. More... | |
struct | LinearDMASettings |
Settings for linear multipole analysis. More... | |
class | LinearMultipoleCalculator |
Calculator for distributed multipole analysis of linear molecules. More... | |
class | LinearMultipoleShifter |
Handles 1D multipole shifting operations along a single axis. More... | |
struct | Mult |
class | MultipoleCalculator |
Main calculator for multipole moments. More... | |
class | MultipoleShifter |
Functions | |
void | addqlm (int l, int lmax, double f, Eigen::Ref< const Vec > gx, Eigen::Ref< const Vec > gy, Eigen::Ref< const Vec > gz, Mult &out) |
void | addql0 (int l, double f, Eigen::Ref< const Vec > gx, Eigen::Ref< const Vec > gy, Eigen::Ref< const Vec > gz, Mult &out) |
Vec | gauss_hermite_points (int n) |
Vec | gauss_hermite_weights (int n) |
void | shiftz (const Mult &source, int l1, int m1, Mult &destination, int m2, double displacement) |
Convenience function for 1D multipole shifting. | |
void | movez (Mult &multipoles, double position, const Mat3N &site_positions, const Vec &site_radii, const IVec &site_limits, std::vector< Mult > &site_multipoles, int max_rank) |
Convenience function for moving multipoles to sites along an axis. | |
void | solid_harmonics (Eigen::Ref< const Vec3 > pos, int j, Eigen::Ref< Vec > r) |
void occ::dma::addql0 | ( | int | l, |
double | f, | ||
Eigen::Ref< const Vec > | gx, | ||
Eigen::Ref< const Vec > | gy, | ||
Eigen::Ref< const Vec > | gz, | ||
Mult & | out | ||
) |
void occ::dma::addqlm | ( | int | l, |
int | lmax, | ||
double | f, | ||
Eigen::Ref< const Vec > | gx, | ||
Eigen::Ref< const Vec > | gy, | ||
Eigen::Ref< const Vec > | gz, | ||
Mult & | out | ||
) |
Vec occ::dma::gauss_hermite_points | ( | int | n | ) |
Vec occ::dma::gauss_hermite_weights | ( | int | n | ) |
void occ::dma::movez | ( | Mult & | multipoles, |
double | position, | ||
const Mat3N & | site_positions, | ||
const Vec & | site_radii, | ||
const IVec & | site_limits, | ||
std::vector< Mult > & | site_multipoles, | ||
int | max_rank | ||
) |
Convenience function for moving multipoles to sites along an axis.
multipoles | Multipole moments to be moved |
position | Source position along the axis |
site_positions | Matrix of site positions |
site_radii | Vector of site radii |
site_limits | Vector of maximum rank for each site |
site_multipoles | Vector of multipoles at each site |
max_rank | Maximum multipole rank |
void occ::dma::shiftz | ( | const Mult & | source, |
int | l1, | ||
int | m1, | ||
Mult & | destination, | ||
int | m2, | ||
double | displacement | ||
) |
Convenience function for 1D multipole shifting.
source | Source multipoles |
l1 | Minimum rank to shift |
m1 | Maximum rank to shift from source |
destination | Destination multipoles |
m2 | Maximum rank to keep at destination |
displacement | Displacement along the axis |