ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
|
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> | |
CorePolarisation & | operator= (const CorePolarisation &)=delete |
CorePolarisation (const CorePolarisation &)=default | |
Protected Member Functions | |
CorePolarisation (const DiracOperator::TensorOperator *const h) | |
Protected Attributes | |
const DiracOperator::TensorOperator * | m_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} |
Virtual Core Polarisation class, for <a||dV||b>. See TDHF, DiagramRPA, etc.