MADNESS  0.10.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
madness::AC< NDIM > Class Template Reference

#include <AC.h>

Public Member Functions

 AC ()=default
 
 AC (const AC &other)
 
 AC (const ACParameters< NDIM > &ac_param)
 
 AC (World &world, std::shared_ptr< SCF > calc)
 
Function< double, NDIMapply (Function< double, NDIM > xc_functional) const
 
Function< double, NDIMapply (Function< double, NDIM > xc_functional, const Function< double, NDIM > v_hartree) const
 
bool initialized () const
 

Private Member Functions

double shift () const
 

Private Attributes

ACParameters< NDIMac_param_
 Parameter for the asymtotic correction. More...
 
bool initialized_ =false
 

Detailed Description

template<unsigned long int NDIM>
class madness::AC< NDIM >

Asymptotic correction for DFT. In the correction the xc-potential is replaced by an 1/r term far away from the nuclei to give the correct asymptotic behavior. Close to the nuclei the standard xc-potential is used. The transition between the different potentials is achieved via a linear interpolation. for more information see: Molecular Physics, Vol. 103, No. 2–3, 20 January–10 February 2005, 413–424; The Journal of Chemical Physics 109, 10180 (1998); doi: 10.1063/1.477711; Molecular Physics, 1999, VOL.97, No. 7, 859-868

Constructor & Destructor Documentation

◆ AC() [1/4]

template<unsigned long int NDIM>
madness::AC< NDIM >::AC ( )
default

◆ AC() [2/4]

template<unsigned long int NDIM>
madness::AC< NDIM >::AC ( const ACParameters< NDIM > &  ac_param)
inline

◆ AC() [3/4]

template<unsigned long int NDIM>
madness::AC< NDIM >::AC ( World world,
std::shared_ptr< SCF calc 
)
inline

◆ AC() [4/4]

template<unsigned long int NDIM>
madness::AC< NDIM >::AC ( const AC< NDIM > &  other)
inline

Member Function Documentation

◆ apply() [1/2]

template<unsigned long int NDIM>
Function<double,NDIM> madness::AC< NDIM >::apply ( Function< double, NDIM xc_functional) const
inline

/// correction of the exchange correlation potential using the multipole approximation to describe asymptotic behaviour

Parameters
[in]xc_functionaluncorrected (standard) exchange correlation potential
[out]corrected exchange correlation potential

References madness::AC< NDIM >::ac_param_, madness::AC< NDIM >::initialized(), MADNESS_ASSERT, MADNESS_EXCEPTION, and madness::AC< NDIM >::shift().

Referenced by madness::AC< NDIM >::apply(), madness::Nemo::compute_nemo_potentials(), main(), and madness::Nemo::make_fock_operator().

◆ apply() [2/2]

template<unsigned long int NDIM>
Function<double,NDIM> madness::AC< NDIM >::apply ( Function< double, NDIM xc_functional,
const Function< double, NDIM v_hartree 
) const
inline

correction of the exchange correlation potential using the hartree potential to describe asymptotic behaviour

Parameters
[in]xc_functionaluncorrected (standard) exchange correlation potential
[in]v_hartreepotential to describe asymptotic behaviour
[out]corrected exchange correlation potential

References madness::AC< NDIM >::ac_param_, madness::AC< NDIM >::apply(), madness::AC< NDIM >::initialized(), MADNESS_ASSERT, NDIM, and madness::AC< NDIM >::shift().

◆ initialized()

template<unsigned long int NDIM>
bool madness::AC< NDIM >::initialized ( ) const
inline

◆ shift()

template<unsigned long int NDIM>
double madness::AC< NDIM >::shift ( ) const
inlineprivate

Member Data Documentation

◆ ac_param_

template<unsigned long int NDIM>
ACParameters<NDIM> madness::AC< NDIM >::ac_param_
private

Parameter for the asymtotic correction.

Referenced by madness::AC< NDIM >::AC(), madness::AC< NDIM >::apply(), and madness::AC< NDIM >::shift().

◆ initialized_

template<unsigned long int NDIM>
bool madness::AC< NDIM >::initialized_ =false
private

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