MPI-SCATCI
2.0
An MPI version of SCATCI
|
This is an abstract class that contains the majority of functionality required to construct hamiltonians. More...
Public Member Functions | |
procedure, public | construct => construct_base_hamiltonian |
procedure(generic_build), deferred | build_hamiltonian |
procedure, public | slater_rules |
procedure, public | evaluate_integrals |
procedure, public | evaluate_integrals_singular |
procedure, public | my_job |
Public Attributes | |
class(orbitaltable), pointer | orbitals |
Our orbitals required to generate symblic elements. More... | |
class(options), pointer | options |
Scatci program settings. More... | |
class(baseintegral), pointer | integral |
The integrals we are using. More... | |
class(csfobject), dimension(:), pointer | csfs |
Our configuration state functions. More... | |
integer | nflg = 0 |
integer | diagonal_flag |
integer | positron_flag |
Positron aware flag. More... | |
integer | phase_flag |
whether to evaluate integrals whilst dealing with phase More... | |
logical | constructed = .false. |
Has the hamiltonain been constructed. More... | |
logical | initialized = .false. |
Has the hamiltonian been initialized. More... | |
integer | job_id = 0 |
Whose job it is to (soon to be deprecated) More... | |
integer | number_of_integrals = 0 |
How many integrals have been evaluated? More... | |
real(wp) | element_one = 0.0 |
First element for idiag = 0. More... | |
type(symbolicelementvector) | reference_symbol |
Symbols for idiag = 0. More... | |
Private Member Functions | |
procedure, private | handle_two_pair |
procedure, private | handle_one_pair |
procedure, private | handle_same |
This is an abstract class that contains the majority of functionality required to construct hamiltonians.
This class provides an abstraction of a lot of the components required to build the hamiltonian. For example, the user does not need to worry about the specific implementation of Slaters rules or evaluating integrals this class wraps these features for you and should allow one to implement hamiltonians closer to those described in papers. This is not a Matrix class. BaseHamiltonain deals with building the matrix whilst BaseMatrix deals with storing the matrix.
Definition at line 57 of file Hamiltonian_module.f90.
procedure(generic_build), deferred hamiltonian_module::basehamiltonian::build_hamiltonian |
Definition at line 77 of file Hamiltonian_module.f90.
procedure, public hamiltonian_module::basehamiltonian::construct |
Definition at line 76 of file Hamiltonian_module.f90.
procedure, public hamiltonian_module::basehamiltonian::evaluate_integrals |
Definition at line 82 of file Hamiltonian_module.f90.
procedure, public hamiltonian_module::basehamiltonian::evaluate_integrals_singular |
Definition at line 83 of file Hamiltonian_module.f90.
|
private |
Definition at line 88 of file Hamiltonian_module.f90.
|
private |
Definition at line 89 of file Hamiltonian_module.f90.
|
private |
Definition at line 87 of file Hamiltonian_module.f90.
procedure, public hamiltonian_module::basehamiltonian::my_job |
Definition at line 90 of file Hamiltonian_module.f90.
procedure, public hamiltonian_module::basehamiltonian::slater_rules |
Definition at line 80 of file Hamiltonian_module.f90.
logical hamiltonian_module::basehamiltonian::constructed = .false. |
Has the hamiltonain been constructed.
Definition at line 67 of file Hamiltonian_module.f90.
class(csfobject), dimension(:), pointer hamiltonian_module::basehamiltonian::csfs |
Our configuration state functions.
Definition at line 61 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::diagonal_flag |
Definition at line 64 of file Hamiltonian_module.f90.
real(wp) hamiltonian_module::basehamiltonian::element_one = 0.0 |
First element for idiag = 0.
Definition at line 71 of file Hamiltonian_module.f90.
logical hamiltonian_module::basehamiltonian::initialized = .false. |
Has the hamiltonian been initialized.
Definition at line 68 of file Hamiltonian_module.f90.
class(baseintegral), pointer hamiltonian_module::basehamiltonian::integral |
The integrals we are using.
Definition at line 60 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::job_id = 0 |
Whose job it is to (soon to be deprecated)
Definition at line 69 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::nflg = 0 |
Definition at line 63 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::number_of_integrals = 0 |
How many integrals have been evaluated?
Definition at line 70 of file Hamiltonian_module.f90.
class(options), pointer hamiltonian_module::basehamiltonian::options |
Scatci program settings.
Definition at line 59 of file Hamiltonian_module.f90.
class(orbitaltable), pointer hamiltonian_module::basehamiltonian::orbitals |
Our orbitals required to generate symblic elements.
Definition at line 58 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::phase_flag |
whether to evaluate integrals whilst dealing with phase
Definition at line 66 of file Hamiltonian_module.f90.
integer hamiltonian_module::basehamiltonian::positron_flag |
Positron aware flag.
Definition at line 65 of file Hamiltonian_module.f90.
type(symbolicelementvector) hamiltonian_module::basehamiltonian::reference_symbol |
Symbols for idiag = 0.
Definition at line 73 of file Hamiltonian_module.f90.