|
subroutine | initialize_table (this, nsrb, norb, symtype, nsym, positron_flag) |
| Basic initialization of the data structure. More...
|
|
subroutine | construct_table (this, num_orbital_target_sym, num_orbital_target_sym_dinf, num_orbitals, num_elec_orbitals, num_orbitals_congen) |
| Define all spin-orbitals. More...
|
|
subroutine | compute_electron_index (this, num_electrons, reference_determinants) |
| Assign electrons to reference spin-orbitals. More...
|
|
integer function | check_max_mcon_in_determinants (this, n, determinants) |
|
subroutine | evaluate_ijkl_and_coeffs (this, dtrs, coeff, symmetry_type, symbol, flag) |
| This compares the determinants and generates the proper coefficents and ijklm values needed for the symbols. More...
|
|
subroutine | evaluate_case_one (this, p, r, nsfa, nsfb, mla, mlb, coeff, symbol) |
|
subroutine | evaluate_case_two (this, p, q, nsfa, nsfb, mla, mlb, coeff, symbol) |
|
subroutine | evaluate_case_three (this, p, q, nsfa, nsfb, mla, mlb, coeff, symbol) |
|
subroutine | evaluate_case_other (this, p, q, r, s, mla, ms, coeff, symbol) |
|
integer function | get_orbital_number (this, spin_orbital) |
| Simple function to get orbital number for a specific spin orbital. More...
|
|
integer function | get_spin (this, spin_orbital) |
| Simple function to get orbital number for a specific spin orbital. More...
|
|
integer function | get_gerude (this, spin_orbital) |
|
integer function | get_electron_number (this, spin_orbital) |
|
integer function | get_minimum_mcon (this, determinants) |
|
integer function | get_mcon (this, spin_orbital) |
|
integer function | get_two_minimum_mcon (this, determinant_one, determinant_two) |
|
integer function | add_positron (this, determinants, ia, ib) |
|
Target CI Hamiltonian module.
- Authors
- A Al-Refaie
- Date
- 2017
This module handles construction of the spin orbital table and of generating symbolic elements from determinants
- Note
- 01/02/2017 - Ahmed Al-Refaie: Initial revision.
-
16/01/2019 - Jakub Benda: Unifom coding style and expanded documentation.
subroutine orbital_module::construct_table |
( |
class(orbitaltable), intent(inout) |
this, |
|
|
integer, dimension(this % num_symmetries), intent(in) |
num_orbital_target_sym, |
|
|
integer, dimension(this % num_symmetries), intent(in) |
num_orbital_target_sym_dinf, |
|
|
integer, dimension(this % num_symmetries), intent(in) |
num_orbitals, |
|
|
integer, dimension(this % num_symmetries), intent(in) |
num_elec_orbitals, |
|
|
integer, dimension(this % num_symmetries), intent(in) |
num_orbitals_congen |
|
) |
| |
|
private |
Define all spin-orbitals.
- Authors
- A Al-Refaie
- Date
- 2017
Assumes that initialize_table has been called before.
Sets all attributes of the individual spin-orbital data structures. This is actually a simple wrapper around the original SCATCI subroutines MKORBS and PMKORBS, where the construction of the spin-orbitals is carried out.
On exit from this subroutine, all spin-orbitals contained in this type have correctly defined attributes (quantum numbers).
Definition at line 155 of file Orbital_module.f90.