Setup
Description
Contains procedures to set up the Exact Diagonalization calculation, executing all internal consistency checks and allocation of the global memory.
Quick access
- Routines:
delete_ed_structure()
,get_nonsu2_sector_dimension()
,get_normal_sector_dimension()
,get_superc_sector_dimension()
,init_ed_structure()
,setup_global()
Used modules
ed_input_vars
: User-accessible input variablesed_vars_global
: Global variable accessible throughout the codeed_aux_funx
: Assortment of auxiliary procedures required throughout the codeed_parse_umatrix
: Routines to parse files containing two-body operatorsed_sector
: Routines for Fock space sectors creation and manipulation
External modules
Subroutines and functions
- subroutine ed_setup/init_ed_structure()
Initialize the pool of variables and data structures of the ED calculation. Performs all the checks calling
ed_checks_global()
, set up the dimensions ined_setup_dimensions()
given the variablesns
,norb
,nspin
,nbath
,bath_type
. Allocate all the dynamic memory which will be stored in the memory till the calculation will be finalized.
- subroutine ed_setup/delete_ed_structure()
Delete the entire memory pool upon finalization of the ED calculation.
- subroutine ed_setup/setup_global()
Setup the all the dimensions and the local maps according to a given symmetry of the Hamiltonian problem calling the correct procedure for a given
ed_mode
.Setup the local Fock space maps used in the ED calculation for the normal operative mode. All sectors dimensions, quantum numbers \(\{\vec{N_\uparrow},\vec{N_\downarrow}\}\), \(S_z\), \(N_{tot}\), twin sectors and list of requested eigensolutions for each sectors are defined here. Identify Bath positions stride for a given value of
bath_type
. Determines the sector indices for \(\pm\) 1-particle with either spin orientations.
- function ed_setup/get_normal_sector_dimension(n, m)
Returns the dimension of the symmetry sector per orbital and spin with quantum numbers \(\vec{Q}=[\vec{N}_\uparrow,\vec{N}_\downarrow]\).
dim
= \(\binom{n}{m}\)- Parameters:
n [integer, in]
m [integer, in]
- Result:
dim [integer]
- function ed_setup/get_superc_sector_dimension(mz)
Returns the dimension of the symmetry sector with quantum numbers \(\vec{Q}=S_z=N_\uparrow-N_\downarrow\)
dim
= \(\sum_i 2^{N-mz-2i}\binom{N}{N-mz-2i}\binom{mz+2i}{i}\)- Parameters:
mz [integer]
- Result:
dim [integer]
- function ed_setup/get_nonsu2_sector_dimension(n)
Returns the dimension of the symmetry sector with quantum numbers \(\vec{Q}=N_{tot}=N_\uparrow+N_\downarrow\)
dim
= \(\binom{2N}{n}\)- Parameters:
n [integer]
- Result:
dim [integer]