ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
EMD Class Reference

Functions for evaluating properties of the electron momentum density. More...

#include <emd.h>

Public Member Functions

 EMD (const EMDEvaluator *poseval, const EMDEvaluator *negeval, double Nel, int l, int m)
 Constructor.
 
 ~EMD ()
 Destructor.
 
double eval (double p) const
 Evaluate density at p.
 
void initial_fill (bool verbose=true)
 Initial filling of grid.
 
void complete_fill ()
 Fill regions where density changes by huge amounts.
 
void find_electrons (bool verbose=true, double tol=1e-4)
 Continue filling until number of electrons is reproduced within tolerance.
 
void optimize_moments (const std::vector< int > &moms, bool verbose=true, double tol=1e-8)
 Optimize given moments of EMD within tolerance.
 
void optimize_moments (bool verbose=true, double tol=1e-8)
 Optimize physical moments of EMD within tolerance.
 
void fixed_fill (bool verbose=true, double h0=1e-3, double l0=3.0, double hfac=2.0, double lfac=2.0)
 
std::vector< emd_tget () const
 Get EMD.
 
void save (const char *fname) const
 Save values of momentum density.
 
arma::mat moments () const
 Calculate moments of momentum density.
 
void moments (const char *fname) const
 Save moments of momentum density.
 
arma::mat compton_profile () const
 Calculate Compton profile.
 
void compton_profile (const char *raw) const
 Save Compton profile in "raw" form.
 
void compton_profile_interp (const char *interp) const
 Save Compton profile in interpolated form.
 

Protected Attributes

double Nel
 Number of electrons.
 
const EMDEvaluatorposeval
 Positive evaluator.
 
std::complex< double > poscoef
 Coefficient.
 
const EMDEvaluatornegeval
 Negative evaluator.
 
std::complex< double > negcoef
 Coefficient.
 

Private Member Functions

void add4 (size_t ind)
 Add 4 points at ind.
 

Private Attributes

std::vector< emd_tdens
 List of radial densities.
 
int l
 l value
 
int m
 m value
 

Detailed Description

Functions for evaluating properties of the electron momentum density.

This class contains functions for computing moments of the electron momentum density and Compton profiles. The adaptive grid algorithm has been described in

J. Lehtola, M. Hakala, J. Vaara and K. Hämäläinen, "Calculation of isotropic Compton profiles with Gaussian basis sets", Phys. Chem. Chem. Phys 13 (2011), pp. 5630 - 5641.

Author
Susi Lehtola
Date
2011/03/08 17:13

Member Function Documentation

void EMD::fixed_fill ( bool  verbose = true,
double  h0 = 1e-3,
double  l0 = 3.0,
double  hfac = 2.0,
double  lfac = 2.0 
)

Alternative method of operation - fixed filling of the grid.

h0 - spacing for the points in the first interval l0 - length of the first interval

hfac - factor to use in increasing the spacing lfac - factor to use in increasing the interval length


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