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

This module collects the routines needed for the evaluation of the local interaction potentials W_{sl}(r,r') in the right-hand-sides of the orbital equations of motion. More...

Public Member Functions

subroutine get_interactionoperatoraction (PSI, OPSI, FromN, TillN, WSLTime)
 Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W and the action of the interaction on the orbitals. More...
 
subroutine apply_interactionoperator (FromN, TillN, PSI, OPSI, ALL_WSL)
 Routine to evaluate OpenMP-MPI-hybridly the action of the interaction on the orbitals. More...
 
subroutine compute_interactionelements (FromN, TillN, PSI, ALL_WSL, Interaction_Elements)
 Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W. More...
 
subroutine compute_multilevelinteractionelements (FromN, TillN, PSI, ALL_WSL, Interaction_Elements, spindependent, Direction, Psi_Spin)
 
subroutine apply_multilevelinteractionoperator (FromN, TillN, PSI, OPSI, ALL_WSL, spindependent, Direction, Psi_Spin)
 Routine to evaluate OpenMP-MPI-hybridly the action of the interaction on the orbitals. More...
 
subroutine get_multilevelinteractionoperatoraction (PSI, OPSI, FromN, TillN, WSLTime)
 Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W_sl for the multilevel case for a certain level. More...
 
subroutine get_local_multilevelinteractionpotentials (WSL, psiS, psiL, WSLTime, spindependent)
 Wrapper routine to obtain W_{sl}. Calls subroutines according to the chosen form of the interparticle potential. More...
 
subroutine get_local_interactionpotentials (WSL, psiS, psiL, WSLTime)
 Wrapper routine to obtain W_{sl}. Calls subroutines according to the chosen form of the interparticle potential. More...
 
subroutine compute_localinteraction_fft (vtilde, wtilde)
 Routine to compute the fourier transform of the interaction potential needed for the IMEST evaluation of the matrix elements of the interaction. More...
 
subroutine compute_localinteraction_imest (wsl, psi_s, psi_l, vtilde)
 Computes the W_{sl}(r',r) using the IMEST algorithm. Employs the Fourier transform of the interaction potential computed by Compute_LocalInteraction_FFT. More...
 

Detailed Description

This module collects the routines needed for the evaluation of the local interaction potentials W_{sl}(r,r') in the right-hand-sides of the orbital equations of motion.

Member Function/Subroutine Documentation

subroutine localinteractionpotential::apply_interactionoperator ( integer  FromN,
integer  TillN,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  OPSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,tilln-fromn+1)  ALL_WSL 
)

Routine to evaluate OpenMP-MPI-hybridly the action of the interaction on the orbitals.

References auxiliary_routines::get_ijk_from_m(), and addresses::rhoall().

Referenced by get_interactionoperatoraction().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::apply_multilevelinteractionoperator ( integer  FromN,
integer  TillN,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  OPSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,tilln-fromn+1,nlevel)  ALL_WSL,
logical, intent(in), optional  spindependent,
integer, intent(in), optional  Direction,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel), optional  Psi_Spin 
)

Routine to evaluate OpenMP-MPI-hybridly the action of the interaction on the orbitals.

References addresses::rhoall().

Referenced by get_multilevelinteractionoperatoraction().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::compute_interactionelements ( integer  FromN,
integer  TillN,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,tilln-fromn+1)  ALL_WSL,
complex*16, dimension(rdim1)  Interaction_Elements 
)

Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W.

References auxiliary_routines::get_ijk_from_m(), addresses::nadr(), and addresses::symmexp().

Referenced by get_interactionoperatoraction().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::compute_localinteraction_fft ( double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  vtilde,
double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  wtilde 
)

Routine to compute the fourier transform of the interaction potential needed for the IMEST evaluation of the matrix elements of the interaction.

References fft_laboratory::get_fft(), and auxiliary_routines::get_ijk_from_m().

Referenced by get_interparticle_potential().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::compute_localinteraction_imest ( double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  wsl,
double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  psi_s,
double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  psi_l,
double complex, dimension(ndvr_x*ndvr_y*ndvr_z)  vtilde 
)

Computes the W_{sl}(r',r) using the IMEST algorithm. Employs the Fourier transform of the interaction potential computed by Compute_LocalInteraction_FFT.

References fft_laboratory::get_fft().

Referenced by get_local_interactionpotentials(), and get_local_multilevelinteractionpotentials().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::compute_multilevelinteractionelements ( integer  FromN,
integer  TillN,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,tilln-fromn+1,nlevel)  ALL_WSL,
complex*16, dimension(rdim1)  Interaction_Elements,
logical, intent(in), optional  spindependent,
integer, intent(in), optional  Direction,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel), optional  Psi_Spin 
)

References addresses::nadr().

Referenced by get_multilevelinteractionoperatoraction().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::get_interactionoperatoraction ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  OPSI,
integer  FromN,
integer  TillN,
real*8  WSLTime 
)

Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W and the action of the interaction on the orbitals.

References apply_interactionoperator(), compute_interactionelements(), and get_local_interactionpotentials().

Referenced by orbital_equationofmotion::func(), and master_slave_parallelization::slave_process_orbitals().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::get_local_interactionpotentials ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z)  WSL,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z)  psiS,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z)  psiL,
real*8  WSLTime 
)

Wrapper routine to obtain W_{sl}. Calls subroutines according to the chosen form of the interparticle potential.

References compute_localinteraction_imest(), get_interparticle_potential(), and kineticenergyaction::get_kineticenergyaction().

Referenced by get_interactionoperatoraction(), and analysis_routines_manybody::write_hamiltonianelementsanalysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::get_local_multilevelinteractionpotentials ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,nlevel)  WSL,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,nlevel)  psiS,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,nlevel)  psiL,
real*8  WSLTime,
logical, intent(in), optional  spindependent 
)

Wrapper routine to obtain W_{sl}. Calls subroutines according to the chosen form of the interparticle potential.

References compute_localinteraction_imest(), and get_interparticle_potential().

Referenced by get_multilevelinteractionoperatoraction().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine localinteractionpotential::get_multilevelinteractionoperatoraction ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  OPSI,
integer  FromN,
integer  TillN,
real*8  WSLTime 
)

Routine to evaluate OpenMP-MPI-hybridly the matrix elements of all the two-body operators W_sl for the multilevel case for a certain level.

References apply_multilevelinteractionoperator(), auxiliary_routines::apply_spin(), compute_multilevelinteractionelements(), and get_local_multilevelinteractionpotentials().

Referenced by orbital_equationofmotion::func_nlevel(), and master_slave_parallelization::slave_process_nlevelorbitals().

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: