MADNESS  0.10.1
Public Member Functions | Public Attributes | List of all members
madness::CorePotential Struct Reference

Represents a core potential. More...

#include <corepotential.h>

Public Member Functions

 CorePotential ()
 
 CorePotential (const std::vector< int > &l, const std::vector< int > &n, const std::vector< double > &A, const std::vector< double > &alpha)
 
double eval (double r) const
 
double eval_derivative (double xi, double r) const
 
template<typename Archive >
void serialize (Archive &ar)
 
std::string to_string () const
 

Public Attributes

std::vector< double > A
 
std::vector< double > alpha
 
double eprec
 
std::vector< int > l
 Angular momentum = 0, 1, 2, ... More...
 
std::vector< int > n
 
double rcut
 
double rcut0
 

Detailed Description

Represents a core potential.

General Core Potential is able to write down as following form: $ U(r) = \sum_k A_k r^(n_k-2) exp(-alpha_k r^2) \sum_m |Y_lm \rangle \langle Y_lm| $ CorePotential holds these parameters (l,n,A,alpha)

Note: CorePotential::eval() currently ignores ‘l’. (It means ‘ $\sum_m |Y_lm \rangle \langle Y_lm|$’ is always ‘1’.)

Constructor & Destructor Documentation

◆ CorePotential() [1/2]

madness::CorePotential::CorePotential ( )
inline

◆ CorePotential() [2/2]

madness::CorePotential::CorePotential ( const std::vector< int > &  l,
const std::vector< int > &  n,
const std::vector< double > &  A,
const std::vector< double > &  alpha 
)
inline

Member Function Documentation

◆ eval()

double madness::CorePotential::eval ( double  r) const

◆ eval_derivative()

double madness::CorePotential::eval_derivative ( double  xi,
double  r 
) const

◆ serialize()

template<typename Archive >
void madness::CorePotential::serialize ( Archive &  ar)
inline

References alpha, eprec, l, n, rcut, and rcut0.

◆ to_string()

string madness::CorePotential::to_string ( ) const

References alpha, l, and n.

Member Data Documentation

◆ A

std::vector<double> madness::CorePotential::A

◆ alpha

std::vector<double> madness::CorePotential::alpha

◆ eprec

double madness::CorePotential::eprec

◆ l

std::vector<int> madness::CorePotential::l

Angular momentum = 0, 1, 2, ...

Referenced by Calculation::calc_optimal_coeffs(), madness::read_potential(), serialize(), and to_string().

◆ n

std::vector<int> madness::CorePotential::n

◆ rcut

double madness::CorePotential::rcut

◆ rcut0

double madness::CorePotential::rcut0

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