ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
ConfigurationInteraction.hpp
1#pragma once
2#include "CSF.hpp"
3#include "Coulomb/QkTable.hpp"
4#include "Coulomb/meTable.hpp"
5#include "IO/InputBlock.hpp"
6#include "Wavefunction/DiracSpinor.hpp"
7#include "Wavefunction/Wavefunction.hpp"
8#include <iostream>
9#include <vector>
10
11namespace CI {
12
15std::vector<PsiJPi> configuration_interaction(const IO::InputBlock &input,
16 const Wavefunction &wf);
17
19PsiJPi run_CI(const std::vector<DiracSpinor> &ci_sp_basis, int twoJ, int parity,
20 int num_solutions, const Coulomb::meTable<double> &h1,
21 const Coulomb::QkTable &qk, const Coulomb::WkTable &Bk,
22 const Coulomb::LkTable &Sk, bool include_Sigma2,
23 std::ostream &outstream = std::cout);
24
25} // namespace CI
Base (pure virtual) class to store Coulomb integrals, and similar. 3 derived classes,...
Definition QkTable.hpp:57
Look-up table for matrix elements. Note: does not assume any symmetry: (a,b) is stored independantly ...
Definition meTable.hpp:17
Holds list of Options, and a list of other InputBlocks. Can be initialised with a list of options,...
Definition InputBlock.hpp:142
Stores Wavefunction (set of valence orbitals, grid, HF etc.)
Definition Wavefunction.hpp:36
Functions and classes for Configuration Interaction calculations.
Definition CI_Integrals.cpp:11
PsiJPi run_CI(const std::vector< DiracSpinor > &ci_sp_basis, int twoJ, int parity, int num_solutions, const Coulomb::meTable< double > &h1, const Coulomb::QkTable &qk, const Coulomb::WkTable &Bk, const Coulomb::LkTable &Sk, bool include_Sigma2, std::ostream &outstream)
Performs CI for specified J and Pi.
Definition ConfigurationInteraction.cpp:399
std::vector< PsiJPi > configuration_interaction(const IO::InputBlock &input, const Wavefunction &wf)
Runs configuration interaction with options specified by input. Returns a list of PsiJPi (set of CI s...
Definition ConfigurationInteraction.cpp:24