occ
Loading...
Searching...
No Matches
cartesian_rotation.h File Reference
#include <occ/mults/cartesian_multipole.h>
#include <occ/core/linear_algebra.h>
#include <algorithm>
#include <cmath>
Include dependency graph for cartesian_rotation.h:

Namespaces

namespace  occ
 
namespace  occ::mults
 
namespace  occ::mults::rotation_detail
 

Functions

double occ::mults::rotation_detail::ipow (double x, int n)
 
constexpr double occ::mults::rotation_detail::fact (int n)
 
double occ::mults::rotation_detail::rotation_kernel (int t, int u, int v, int a, int b, int c, const Mat3 &M)
 Compute the rotation kernel element R_l(tuv, abc; M).
 
double occ::mults::rotation_detail::rotation_kernel_derivative (int t, int u, int v, int a, int b, int c, const Mat3 &M, const Mat3 &M1)
 Compute the derivative of the rotation kernel w.r.t.
 
double occ::mults::rotation_detail::rotation_kernel_second_derivative (int t, int u, int v, int a, int b, int c, const Mat3 &M, const Mat3 &M1k, const Mat3 &M1l, const Mat3 &M2kl)
 Compute the second derivative of the rotation kernel w.r.t.
 
template<int MaxL>
void occ::mults::rotate_cartesian_multipole (const CartesianMultipole< MaxL > &body, const Mat3 &M, CartesianMultipole< MaxL > &lab)
 Rotate a CartesianMultipole from body frame to lab frame.
 
template<int MaxL>
void occ::mults::rotate_cartesian_multipole_derivative (const CartesianMultipole< MaxL > &body, const Mat3 &M, const Mat3 &M1, CartesianMultipole< MaxL > &d_lab)
 Compute derivative of lab-frame multipole w.r.t.
 
template<int MaxL>
void occ::mults::rotate_cartesian_multipole_second_derivative (const CartesianMultipole< MaxL > &body, const Mat3 &M, const Mat3 &M1k, const Mat3 &M1l, const Mat3 &M2kl, CartesianMultipole< MaxL > &d2_lab)
 Compute second derivative of lab-frame multipole w.r.t.