MCTDH-X
v2.22
|
This module contains all the subroutines that evaluate the right-hand-sides of the coefficients' equations of motion. These routines are mostly called by the various integrators of the coefficients' equ. of motion. More...
Public Member Functions | |
subroutine | get_hamiltonianaction_ci (VIN, VOUT) |
Routine to obtain the action of the Hamiltonian on the vector of coefficients. More... | |
subroutine | get_hamiltonianaction_ci_time (dummyTIME, VIN, VOUT) |
Routine to obtain the action of the Hamiltonian on the vector of coefficients. Contains time as a dummy argument (needed for some of the integrators). More... | |
subroutine | get_hamiltonianaction_ci_time_abm (dummyTIME, VIN, VOUT) |
Routine dedicated for the (NOT WORKING) integration of the coefficients equations of motion with the ABM routine. More... | |
subroutine | get_hamiltonianaction_ci_core (MYID, VIN) |
Core routine called by all MPI processes during the evaluation of the Hamiltonian's action on the CI vector. More... | |
subroutine | get_hamiltoniandiagonal (VIN, HDIAGONAL) |
Routine to evaluate the diagonal of the Hamiltonian action on the vector of coefficients (used by Davidson methods). More... | |
subroutine | get_hamiltoniandiagonal_core (VIN, HDIAGONAL) |
Routine to evaluate the diagonal of the Hamiltonian by applying the diagonal part of the mapping. More... | |
subroutine | apply_mapping_1body (MYID, VIN) |
Routine applies mapping for the action of one-body operators. More... | |
subroutine | apply_mapping_2body (MYID, VIN) |
Routine applies the mapping for the action of two-body operators. More... | |
subroutine | apply_mapping_1body_fermions (MYID, VIN) |
Apply Mapping for 1body operators for fermions. More... | |
subroutine | apply_mapping_1body_diagonal (MYID, VIN) |
Routine applies mapping for the action of one-body operators' diagonal. More... | |
subroutine | apply_mapping_1body_diagonal_fermions (MYID, VIN) |
Routine applies mapping for the action of one-body operators' diagonal. More... | |
subroutine | apply_mapping_2body_fermions (MYID, VIN) |
Routine applies the mapping for the action of two-body operators for fermions. More... | |
subroutine | apply_mapping_2body_diagonal_fermions (MYID, VIN) |
Routine applies the mapping for the action of two-body operators' diagonal for fermions. More... | |
subroutine | apply_mapping_2body_diagonal (MYID, VIN) |
Routine applies the mapping for the action of two-body operators' diagonal. More... | |
subroutine | initialize_coefficient_parameters |
Initialize variables and arrays needed in dealing with the coefficients. Namely the number of configurations Nconf, array of Binomial coefficients MatrixOfBinomialCoefficients, the arrays TERM_INDEX_1B and TERM_REQ_1B as well as TERM_INDEX_2B and TERM_REQ_2B for the compact storage of the matrix elements of the reduced one and two-body densities, respectively. More... | |
This module contains all the subroutines that evaluate the right-hand-sides of the coefficients' equations of motion. These routines are mostly called by the various integrators of the coefficients' equ. of motion.
subroutine hamiltonianaction_coefficients::apply_mapping_1body | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies mapping for the action of one-body operators.
Referenced by get_hamiltonianaction_ci_core().
subroutine hamiltonianaction_coefficients::apply_mapping_1body_diagonal | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies mapping for the action of one-body operators' diagonal.
Referenced by get_hamiltoniandiagonal_core().
subroutine hamiltonianaction_coefficients::apply_mapping_1body_diagonal_fermions | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies mapping for the action of one-body operators' diagonal.
Referenced by get_hamiltoniandiagonal_core().
subroutine hamiltonianaction_coefficients::apply_mapping_1body_fermions | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Apply Mapping for 1body operators for fermions.
Referenced by get_hamiltonianaction_ci_core().
subroutine hamiltonianaction_coefficients::apply_mapping_2body | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies the mapping for the action of two-body operators.
Referenced by get_hamiltonianaction_ci_core().
subroutine hamiltonianaction_coefficients::apply_mapping_2body_diagonal | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies the mapping for the action of two-body operators' diagonal.
Referenced by get_hamiltoniandiagonal_core().
subroutine hamiltonianaction_coefficients::apply_mapping_2body_diagonal_fermions | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies the mapping for the action of two-body operators' diagonal for fermions.
Referenced by get_hamiltoniandiagonal_core().
subroutine hamiltonianaction_coefficients::apply_mapping_2body_fermions | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Routine applies the mapping for the action of two-body operators for fermions.
Referenced by get_hamiltonianaction_ci_core().
subroutine hamiltonianaction_coefficients::get_hamiltonianaction_ci | ( | complex*16, dimension(nconf) | VIN, |
complex*16, dimension(nconf) | VOUT | ||
) |
Routine to obtain the action of the Hamiltonian on the vector of coefficients.
References get_hamiltonianaction_ci_core().
Referenced by orbital_equationofmotion::get_rho_rho_inv().
subroutine hamiltonianaction_coefficients::get_hamiltonianaction_ci_core | ( | integer | MYID, |
complex*16, dimension(nconf) | VIN | ||
) |
Core routine called by all MPI processes during the evaluation of the Hamiltonian's action on the CI vector.
References apply_mapping_1body(), apply_mapping_1body_fermions(), apply_mapping_2body(), apply_mapping_2body_fermions(), onebody_mapconstruction_fermions::get_1body_mapping_fermions(), recursive_1body_mapconstruction::get_1body_mapping_recursive(), twobody_mapconstruction_fermions::get_2body_mapping_fermions(), and recursive_2body_mapconstruction::get_2body_mapping_recursive().
Referenced by get_hamiltonianaction_ci(), get_hamiltonianaction_ci_time(), get_hamiltonianaction_ci_time_abm(), and master_slave_parallelization::slave_process_ci().
subroutine hamiltonianaction_coefficients::get_hamiltonianaction_ci_time | ( | real*8 | dummyTIME, |
complex*16, dimension(nconf) | VIN, | ||
complex*16, dimension(nconf) | VOUT | ||
) |
Routine to obtain the action of the Hamiltonian on the vector of coefficients. Contains time as a dummy argument (needed for some of the integrators).
References get_hamiltonianaction_ci_core().
Referenced by integration::integrator_block_ci(), and integration::integrator_ci().
subroutine hamiltonianaction_coefficients::get_hamiltonianaction_ci_time_abm | ( | real*8 | dummyTIME, |
complex*16, dimension(nconf) | VIN, | ||
complex*16, dimension(nconf) | VOUT | ||
) |
Routine dedicated for the (NOT WORKING) integration of the coefficients equations of motion with the ABM routine.
References get_hamiltonianaction_ci_core().
subroutine hamiltonianaction_coefficients::get_hamiltoniandiagonal | ( | complex*16, dimension(nconf) | VIN, |
complex*16, dimension(nconf) | HDIAGONAL | ||
) |
Routine to evaluate the diagonal of the Hamiltonian action on the vector of coefficients (used by Davidson methods).
References get_hamiltoniandiagonal_core().
Referenced by dav_integrators::bdavstep(), and dav_integrators::davstep().
subroutine hamiltonianaction_coefficients::get_hamiltoniandiagonal_core | ( | complex*16, dimension(nconf) | VIN, |
complex*16, dimension(nconf) | HDIAGONAL | ||
) |
Routine to evaluate the diagonal of the Hamiltonian by applying the diagonal part of the mapping.
References apply_mapping_1body_diagonal(), apply_mapping_1body_diagonal_fermions(), apply_mapping_2body_diagonal(), and apply_mapping_2body_diagonal_fermions().
Referenced by get_hamiltoniandiagonal(), and master_slave_parallelization::slave_process_ci().
subroutine hamiltonianaction_coefficients::initialize_coefficient_parameters | ( | ) |
Initialize variables and arrays needed in dealing with the coefficients. Namely the number of configurations Nconf, array of Binomial coefficients MatrixOfBinomialCoefficients, the arrays TERM_INDEX_1B and TERM_REQ_1B as well as TERM_INDEX_2B and TERM_REQ_2B for the compact storage of the matrix elements of the reduced one and two-body densities, respectively.
References function_library::binomialcoefficient().
Referenced by analysis_main_program(), and mctdhx::mctdhx_routine().