QNANO
Main Page
Related Pages
Classes
Files
File List
include
manybody
Hartree_Fock.h
1
#ifndef QNANO_NEW_HARTREE_FOCK_DEFINED_H
2
#define QNANO_NEW_HARTREE_FOCK_DEFINED_H
3
4
#include "tools/Tensor2.h"
5
#include "manybody/Manybody_Hamiltonian.h"
6
7
8
class
Hartree_Fock
:
public
virtual
Sparse_Matrix_Generator
,
public
virtual
Organize_Blocks_Single
{
9
public
:
10
11
Manybody_Hamiltonian
Hmb;
12
13
Tensor2
dense_e;
14
Tensor2
dense_h;
15
Tensor2
Veff_e;
16
Tensor2
Veff_h;
17
bool
current_e;
18
19
20
int
get_rank_e()
const
{
return
Hmb.hilbert->
get_rank_e
();}
21
int
get_rank_h()
const
{
return
Hmb.hilbert->get_rank_h();}
22
int
get_nr_e()
const
{
return
Hmb.hilbert->get_nr_e();}
23
int
get_nr_h()
const
{
return
Hmb.hilbert->get_nr_h();}
24
25
void
update_Veff_e();
26
void
update_Veff_h();
27
void
switch_to_solve_e();
28
void
switch_to_solve_h();
29
double
correction_e();
30
double
correction_h();
31
32
double
calculate_total_energy()
const
;
33
34
void
setup(
Parameter_Map
¶m_map);
35
36
virtual
void
get_Matrix_row_block
( std::vector< col_val > & col_val_vec,
const
int
atom_index);
37
38
39
40
Hartree_Fock
(){
41
}
42
Hartree_Fock
(
Parameter_Map
¶m_map){
43
setup(param_map);
44
}
45
};
46
47
#endif
Organize_Blocks_Single
Definition:
Organize_Blocks.h:42
Parameter_Map
Definition:
Parameter_Map.h:12
Hartree_Fock
Definition:
Hartree_Fock.h:8
Sparse_Matrix_Generator
Definition:
Sparse_Matrix_Generator.h:22
Hartree_Fock::get_Matrix_row_block
virtual void get_Matrix_row_block(std::vector< col_val > &col_val_vec, const int atom_index)
Number of blocks.
Definition:
Hartree_Fock.cc:146
Manybody_Hilbert_Space::get_rank_e
int get_rank_e() const
nr of electron/hole states
Definition:
Manybody_Hilbert_Space.h:14
template_Tensor2< std::complex< double > >
Manybody_Hamiltonian
Definition:
Manybody_Hamiltonian.h:14
Generated by
1.8.11