ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
MixedStates.hpp
1#pragma once
2#include <vector>
3class Wavefunction;
4class DiracSpinor;
5class Grid;
6namespace MBPT {
7class CorrelationPotential;
8}
9namespace HF {
10class HartreeFock;
11class Breit;
12} // namespace HF
13
15namespace ExternalField {
16
17constexpr bool print_final_eps = false;
18constexpr bool print_each_eps = false;
19
22
40solveMixedState(const DiracSpinor &Fa, double omega,
41 const std::vector<double> &vl, double alpha,
42 const std::vector<DiracSpinor> &core, const DiracSpinor &Fs,
43 double eps_target = 1.0e-9,
44 const MBPT::CorrelationPotential *const Sigma = nullptr,
45 const HF::Breit *const VBr = nullptr,
46 const std::vector<double> &H_mag = {});
47
49
53void solveMixedState(DiracSpinor &dF, const DiracSpinor &Fa, double omega,
54 const std::vector<double> &vl, double alpha,
55 const std::vector<DiracSpinor> &core,
56 const DiracSpinor &Fs, double eps_target = 1.0e-9,
57 const MBPT::CorrelationPotential *const Sigma = nullptr,
58 const HF::Breit *const VBr = nullptr,
59 const std::vector<double> &H_mag = {});
60
63solveMixedState(const DiracSpinor &Fa, double omega, const DiracSpinor &Fs,
64 const HF::HartreeFock *const hf, double eps_target = 1.0e-9,
65 const MBPT::CorrelationPotential *const Sigma = nullptr);
66
68void solveMixedState(DiracSpinor &dF, const DiracSpinor &Fa, double omega,
69 const DiracSpinor &Fs, const HF::HartreeFock *const hf,
70 double eps_target = 1.0e-9,
71 const MBPT::CorrelationPotential *const Sigma = nullptr);
72
75 double omega,
76 const std::vector<DiracSpinor> &basis);
77
78} // namespace ExternalField
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:41
Holds grid, including type + Jacobian (dr/du)
Definition Grid.hpp:31
Breit (Hartree-Fock Breit) interaction potential.
Definition Breit.hpp:52
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:70
Stores Wavefunction (set of valence orbitals, grid, HF etc.)
Definition Wavefunction.hpp:36
Calculates many-body corrections (RPA) to matrix elements of external field.
Definition calcMatrixElements.cpp:14
DiracSpinor solveMixedState(const DiracSpinor &Fa, double omega, const std::vector< double > &vl, double alpha, const std::vector< DiracSpinor > &core, const DiracSpinor &hFa, double eps_target, const MBPT::CorrelationPotential *const Sigma, const HF::Breit *const VBr, const std::vector< double > &H_mag)
Solves Mixed States (TDHF) equation, inhomogenous equation, with Hartree-Fock Hamiltonian,...
Definition MixedStates.cpp:16
DiracSpinor solveMixedState_basis(const DiracSpinor &Fa, const DiracSpinor &hFa, double omega, const std::vector< DiracSpinor > &basis)
Directly findes dF = \sum_n |n><n|hFa> / (ea - en + omega) - mainly for tests.
Definition MixedStates.cpp:111
Functions and classes for Hartree-Fock.
Definition CI_Integrals.hpp:12
Many-body perturbation theory.
Definition CI_Integrals.hpp:9