ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ExternalField::CorePolarisationabstract

Virtual Core Polarisation class, for <a||dV||b>. See TDHF, DiagramRPA, etc. More...

#include <CorePolarisation.hpp>

Inherited by ExternalField::DiagramRPA, ExternalField::DiagramRPA0_jL, and ExternalField::TDHF.

Public Member Functions

double last_eps () const
 Returns eps (convergance) of last solve_core run.
 
double last_its () const
 Returns its (# of iterations) of last solve_core run.
 
double last_omega () const
 Returns omega (frequency) of last solve_core run.
 
int rank () const
 
int parity () const
 
bool imagQ () const
 
double & eps_target ()
 Convergance target.
 
double eps_target () const
 Convergance target.
 
double eta () const
 Damping factor; 0 means no damping. Must have 0 <= eta < 1.
 
void set_eta (double eta)
 Set/update damping factor; 0 means no damping. Must have 0 <= eta < 1.
 
virtual Method method () const =0
 Returns RPA method.
 
virtual void solve_core (const double omega, int max_its=100, const bool print=true)=0
 Solve RPA equations (for whichever method) for core.
 
virtual void clear ()=0
 Clears the dPsi orbitals (sets to zero)
 
virtual double dV (const DiracSpinor &Fn, const DiracSpinor &Fm) const =0
 Calculate reduced matrix element <n||dV||m>
 
CorePolarisationoperator= (const CorePolarisation &)=delete
 
 CorePolarisation (const CorePolarisation &)=default
 

Protected Member Functions

 CorePolarisation (const DiracOperator::TensorOperator *const h)
 

Protected Attributes

const DiracOperator::TensorOperatorm_h
 
double m_core_eps {1.0}
 
int m_core_its {0}
 
double m_core_omega {0.0}
 
int m_rank
 
int m_pi
 
bool m_imag
 
double m_eta {0.4}
 
double m_eps {1.0e-10}
 

Detailed Description

Virtual Core Polarisation class, for <a||dV||b>. See TDHF, DiagramRPA, etc.

Member Function Documentation

◆ clear()

virtual void ExternalField::CorePolarisation::clear ( )
pure virtual

Clears the dPsi orbitals (sets to zero)

Implemented in ExternalField::DiagramRPA, ExternalField::DiagramRPA0_jL, and ExternalField::TDHF.

◆ dV()

virtual double ExternalField::CorePolarisation::dV ( const DiracSpinor Fn,
const DiracSpinor Fm 
) const
pure virtual

Calculate reduced matrix element <n||dV||m>

Implemented in ExternalField::DiagramRPA0_jL, ExternalField::DiagramRPA, and ExternalField::TDHF.

◆ method()

virtual Method ExternalField::CorePolarisation::method ( ) const
pure virtual

◆ solve_core()

virtual void ExternalField::CorePolarisation::solve_core ( const double  omega,
int  max_its = 100,
const bool  print = true 
)
pure virtual

Solve RPA equations (for whichever method) for core.

Implemented in ExternalField::TDHF, ExternalField::TDHFbasis, ExternalField::DiagramRPA, and ExternalField::DiagramRPA0_jL.


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