32 #ifndef HARTREEFOCK_H_
33 #define HARTREEFOCK_H_
45 template <
typename T,
int NDIM>
58 virtual bool is_od() {
return false;}
63 virtual bool is_rd() {
return true;}
78 template <
typename T,
int NDIM>
91 virtual bool is_od() {
return false;}
96 virtual bool is_rd() {
return true;}
107 template <
typename T,
int NDIM>
125 virtual bool is_rd() {
return false;}
136 template <
typename T,
int NDIM>
144 std::vector<double>
eigs,
bool bCoulomb,
bool bExchange,
double thresh);
185 return _solver->matrix_element(phii, phij);
191 const std::vector<double>&
eigs,
const funcT& rho,
const int& iter);
223 const std::vector<double>&
eigs()
230 const std::vector<funcT>&
phis()
This header should include pretty much everything needed for the parallel runtime.
Definition: eigsolver.h:99
double thresh()
Definition: eigsolver.h:193
double coeff()
Definition: eigsolver.h:177
Definition: eigsolver.h:226
A multiresolution adaptive numerical function.
Definition: mra.h:122
Definition: hartreefock.h:81
HartreeFockCoulombOp(World &world, double coeff, double thresh)
Definition: hartreefock.cc:52
virtual funcT op_r(const funcT &rho, const funcT &rhon, const funcT &psi)
Definition: hartreefock.cc:81
virtual bool is_rd()
Is there a density-dependent term?
Definition: hartreefock.h:96
Function< T, NDIM > funcT
Definition: hartreefock.h:83
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: hartreefock.h:91
Definition: hartreefock.h:110
virtual funcT op_o(const std::vector< funcT > &phis, const funcT &psi)
Orbital-dependent portion of operator.
Definition: hartreefock.cc:95
HartreeFockExchangeOp(World &world, double coeff, double thresh)
Definition: hartreefock.cc:62
Function< T, NDIM > funcT
Definition: hartreefock.h:112
virtual bool is_rd()
Is there a density-dependent term?
Definition: hartreefock.h:125
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: hartreefock.h:120
Definition: hartreefock.h:48
funcT _V
Definition: hartreefock.h:72
virtual bool is_rd()
Is there a density-dependent term?
Definition: hartreefock.h:63
HartreeFockNuclearPotentialOp(World &world, funcT V, double coeff, double thresh)
Definition: hartreefock.cc:40
virtual funcT op_r(const funcT &rho, const funcT &rhon, const funcT &psi)
Definition: hartreefock.cc:72
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: hartreefock.h:58
Function< T, NDIM > funcT
Definition: hartreefock.h:50
Definition: hartreefock.h:138
void hartree_fock(int maxits)
Definition: hartreefock.cc:158
EigSolver< T, NDIM > * _solver
Definition: hartreefock.h:256
double thresh()
Definition: hartreefock.h:282
const std::vector< funcT > & phis()
Definition: hartreefock.h:230
bool include_coulomb()
Definition: hartreefock.h:195
World & world()
Definition: hartreefock.h:278
bool include_exchange()
Definition: hartreefock.h:202
double calculate_tot_pe_sp(const std::vector< funcT > &phis)
Definition: hartreefock.cc:267
T matrix_element(const funcT &phii, const funcT &phij)
Definition: hartreefock.h:183
funcT calculate_coulomb(funcT psi)
funcT _V
Definition: hartreefock.h:270
double get_eig(int indx)
Definition: hartreefock.h:209
bool _bCoulomb
Definition: hartreefock.h:261
virtual void iterateOutput(const std::vector< funcT > &phis, const std::vector< double > &eigs, const funcT &rho, const int &iter)
Definition: hartreefock.cc:315
double calculate_tot_coulomb_energy(const std::vector< funcT > &phis)
Definition: hartreefock.cc:283
double calculate_coulomb_energy(const std::vector< funcT > &phis, const funcT &psi)
Definition: hartreefock.cc:189
World & world
Definition: mp2.h:77
HartreeFock(World &world, funcT V, std::vector< funcT > phis, std::vector< double > eigs, bool bCoulomb, bool bExchange, double thresh)
Definition: hartreefock.cc:123
double calculate_ke_sp(funcT psi)
Definition: hartreefock.cc:166
funcT get_phi(int indx)
Definition: hartreefock.h:216
virtual ~HartreeFock()
Definition: hartreefock.cc:150
double calculate_tot_exchange_energy(const std::vector< funcT > &phis)
Definition: hartreefock.cc:299
funcT calculate_exchange(funcT psi)
double calculate_tot_ke_sp(const std::vector< funcT > &phis)
Definition: hartreefock.cc:251
double calculate_exchange_energy(const std::vector< funcT > &phis, const funcT &psi)
Definition: hartreefock.cc:221
double calculate_pe_sp(funcT psi)
Definition: hartreefock.cc:180
double _thresh
Definition: hartreefock.h:274
World & _world
Definition: hartreefock.h:266
const std::vector< double > & eigs()
Definition: hartreefock.h:223
Function< T, NDIM > funcT
Definition: hartreefock.h:140
bool _bExchange
Definition: hartreefock.h:262
Definition: eigsolver.h:52
A parallel world class.
Definition: world.h:132
auto T(World &world, response_space &f) -> response_space
Definition: global_functions.cc:34
double psi(const Vector< double, 3 > &r)
Definition: hatom_energy.cc:78
Main include file for MADNESS and defines Function interface.
File holds all helper structures necessary for the CC_Operator and CC2 class.
Definition: DFParameters.h:10
static double V(const coordT &r)
Definition: tdse.cc:288