ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
ContinuumOrbitals.hpp
1#pragma once
2#include "Wavefunction/DiracSpinor.hpp"
3#include <memory>
4#include <vector>
5class Wavefunction;
6class Grid;
7namespace HF {
8class HartreeFock;
9}
10
13
14public:
19
20 ContinuumOrbitals &operator=(const ContinuumOrbitals &) = default;
21 ContinuumOrbitals(const ContinuumOrbitals &) = default;
22 ~ContinuumOrbitals() = default;
23
25 int solveContinuumHF(double ec, int min_l, int max_l,
26 const DiracSpinor *psi = nullptr,
27 bool force_rescale = false, bool subtract_self = true,
28 bool force_orthog = true);
29
31 int solveContinuumZeff(double ec, int min_l, int max_l, double Z_eff,
32 const DiracSpinor *Fi, bool force_orthog);
33
35 double check_orthog(bool print = true) const;
36
38 void clear();
39
40 std::vector<DiracSpinor> orbitals{};
41
42private:
43 void IncludeExchange(DiracSpinor &Fe, const DiracSpinor *psi,
44 bool force_orthog, const std::vector<double> &vc);
45
46 std::shared_ptr<const Grid> rgrid;
47 const HF::HartreeFock *p_hf;
48 double alpha;
49};
Class stores set of continuum orbitals, and solves using Hartree-Fock method.
Definition ContinuumOrbitals.hpp:12
void clear()
Resets (deletes) all orbitals.
Definition ContinuumOrbitals.cpp:212
int solveContinuumHF(double ec, int min_l, int max_l, const DiracSpinor *psi=nullptr, bool force_rescale=false, bool subtract_self=true, bool force_orthog=true)
Solves continuum states with energy ec between min/max l.
Definition ContinuumOrbitals.cpp:44
double check_orthog(bool print=true) const
Checks orthogonality between cntm and core orbitals, returns worst eps.
Definition ContinuumOrbitals.cpp:22
int solveContinuumZeff(double ec, int min_l, int max_l, double Z_eff, const DiracSpinor *Fi, bool force_orthog)
Solves cntm states using simple H-like potential eith effective charge (Z_eff). Usually,...
Definition ContinuumOrbitals.cpp:157
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:41
Holds grid, including type + Jacobian (dr/du)
Definition Grid.hpp:31
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
Functions and classes for Hartree-Fock.
Definition CI_Integrals.hpp:12