High-precision calculations for one- and two-valence atomic systems
LadderDriver.hpp
1#pragma once
2
3// Forward declarations
4namespace IO {
5class InputBlock;
6}
7class Wavefunction;
8
9namespace MBPT {
10
11/*!
12 @brief Driver for the ladder-diagram calculation: the Ladder{} input block.
13 @details
14 Calculates (and iterates to convergence) the ladder integrals Lk, writing
15 them to the .lk file. Then constructs the ladder correlation potential,
16 Sigma_L, for each valence state, and writes these to the .sl file.
17 The .sl file may then be read in by the Correlations block (ladder_file
18 option) to include Sigma_L into the correlation potential.
19 Runs before Correlations. Options are parsed from the Ladder{} input block.
20*/
21void ladder(const IO::InputBlock &input, const Wavefunction &wf);
22
23} // namespace MBPT
Holds a named list of key=value options and nested InputBlocks.
Definition InputBlock.hpp:154
Stores Wavefunction (set of valence orbitals, grid, HF etc.)
Definition Wavefunction.hpp:38
In-out (timers, profilers, and read/write data)
Definition ChronoTimer.hpp:9
Many-body perturbation theory.
Definition MatrixElements.hpp:12
void ladder(const IO::InputBlock &input, const Wavefunction &wf)
Driver for the ladder-diagram calculation: the Ladder{} input block.
Definition LadderDriver.cpp:34