MCTDH-X  v2.22
 All Classes Files Functions Variables Pages
hamiltonianaction_coefficients Module Reference

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...
 

Detailed Description

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.

Member Function/Subroutine Documentation

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine hamiltonianaction_coefficients::get_hamiltonianaction_ci_core ( integer  MYID,
complex*16, dimension(nconf)  VIN 
)
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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: