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

This module contains the analysis routines controlled by the ONE_body namelist in the input. They compute one-body quantities. More...

Public Member Functions

subroutine get_cavityorderparameter (time, PSI, rho_jk)
 Compute cavity order parameter Theta=<Psi|phi_c phi_p|Psi> and bunching parameter B=<Psi|phi^2_c|Psi> More...
 
subroutine get_totalenergy (time, PSI, rho_jk, TotalEnergy)
 computes the density rho^1(x,x) if PSI is provided or resolution. More...
 
subroutine get_1bodydiag (time, PSI, rho_jk, mode, dilation)
 computes the density rho^1(x,x) if PSI is provided or or rho^1(k,k) if FT(PSI) is provided and writes it to a file. time : current time PSI : orbital array rho_jk : the 1-body density matrix elements where rho_jk(j,k)=rho_jk mode : mode=1: G1(x,x) mode=2: G1(k,k) is computed dilation : the integer dilation gives the factor by which the momentum intervall should be shrunk or equivalently the factor by which the sampling rate is increased. The momentum distribution at the outer ends is padded with zeros then. Normally dilation is computed by get_dilation. If unsure put dilation = 1, but the momentum grid will then usually have a bad resolution. More...
 
subroutine get_1bodydiag_nlevel (time, PSI, rho_jk, mode, dilation)
 computes the density rho^1(x,x) if PSI is provided or or rho^1(k,k) if FT(PSI) is provided and writes it to a file. time : current time PSI : orbital array rho_jk : the 1-body density matrix elements where rho_jk(j,k)=rho_jk mode : mode=1: G1(x,x) mode=2: G1(k,k) is computed dilation : the integer dilation gives the factor by which the momentum intervall should be shrunk or equivalently the factor by which the sampling rate is increased. The momentum distribution at the outer ends is padded with zeros then. Normally dilation is computed by get_dilation. If unsure put dilation = 1, but the momentum grid will then usually have a bad resolution. More...
 
subroutine get_2d_1bodydiag_dilated_nlevel (time, rho_jk, PSI_Nlevel, dilation)
 This routine computes the one-body density for two-dimensional computations on a dilated/zero-padded momentum grid. More...
 
subroutine get_2d_1bodydiag_dilated (time, rho_jk, PSI, dil)
 This routine computes the one-body density for two-dimensional computations on a dilated/zero-padded momentum grid. More...
 
subroutine density_nonescape (xi, xf, yi, yf, zi, zf, rho_jk, time, PSI)
 This routine integrates the one body density from xi to xf and writes the output to the file nonescape. Currently only one-dimensional problems are supported. More...
 
subroutine get_phase (Psi, Natvecs, Noccs, time, Gradient, Vorticity)
 This routine computes the Phase,phase gradient and vorticity in 2D analysis,. More...
 

Detailed Description

This module contains the analysis routines controlled by the ONE_body namelist in the input. They compute one-body quantities.

Member Function/Subroutine Documentation

subroutine analysis_routines_onebody::density_nonescape ( real*8, intent(in)  xi,
real*8, intent(in)  xf,
real*8, intent(in)  yi,
real*8, intent(in)  yf,
real*8, intent(in)  zi,
real*8, intent(in)  zf,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
real*8  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI 
)

This routine integrates the one body density from xi to xf and writes the output to the file nonescape. Currently only one-dimensional problems are supported.

References auxiliary_routines::get_ijk_from_m().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_1bodydiag ( real*8  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
integer, intent(in)  mode,
integer, intent(in)  dilation 
)

computes the density rho^1(x,x) if PSI is provided or or rho^1(k,k) if FT(PSI) is provided and writes it to a file. time : current time PSI : orbital array rho_jk : the 1-body density matrix elements where rho_jk(j,k)=rho_jk mode : mode=1: G1(x,x) mode=2: G1(k,k) is computed dilation : the integer dilation gives the factor by which the momentum intervall should be shrunk or equivalently the factor by which the sampling rate is increased. The momentum distribution at the outer ends is padded with zeros then. Normally dilation is computed by get_dilation. If unsure put dilation = 1, but the momentum grid will then usually have a bad resolution.

References auxiliary_analysis_routines::assemble_outputfilename(), auxiliary_routines::get_ijk_from_m(), and auxiliary_analysis_routines::get_weightormomentumgrid().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_1bodydiag_nlevel ( real*8  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
integer, intent(in)  mode,
integer, intent(in)  dilation 
)

computes the density rho^1(x,x) if PSI is provided or or rho^1(k,k) if FT(PSI) is provided and writes it to a file. time : current time PSI : orbital array rho_jk : the 1-body density matrix elements where rho_jk(j,k)=rho_jk mode : mode=1: G1(x,x) mode=2: G1(k,k) is computed dilation : the integer dilation gives the factor by which the momentum intervall should be shrunk or equivalently the factor by which the sampling rate is increased. The momentum distribution at the outer ends is padded with zeros then. Normally dilation is computed by get_dilation. If unsure put dilation = 1, but the momentum grid will then usually have a bad resolution.

References auxiliary_analysis_routines::assemble_outputfilename(), auxiliary_routines::get_ijk_from_m(), and auxiliary_analysis_routines::get_weightormomentumgrid().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_2d_1bodydiag_dilated ( real*8, intent(in)  time,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb), intent(in)  PSI,
integer, intent(in)  dil 
)

This routine computes the one-body density for two-dimensional computations on a dilated/zero-padded momentum grid.

References auxiliary_analysis_routines::assemble_outputfilename(), auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_weightormomentumgrid(), and auxiliary_fftroutines::twod_zero_padding().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_2d_1bodydiag_dilated_nlevel ( real*8, intent(in)  time,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel), intent(in)  PSI_Nlevel,
integer, intent(in)  dilation 
)

This routine computes the one-body density for two-dimensional computations on a dilated/zero-padded momentum grid.

References auxiliary_analysis_routines::assemble_outputfilename(), auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_weightormomentumgrid(), and auxiliary_fftroutines::twod_zero_padding().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_cavityorderparameter ( real*8  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk 
)

Compute cavity order parameter Theta=<Psi|phi_c phi_p|Psi> and bunching parameter B=<Psi|phi^2_c|Psi>

References cavitybec::get_current_cavity_pumprate(), and auxiliary_routines::get_ijk_from_m().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_phase ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  Psi,
complex*16, dimension(morb,morb)  Natvecs,
real*8, dimension(morb)  Noccs,
real*8  time,
logical  Gradient,
logical  Vorticity 
)

This routine computes the Phase,phase gradient and vorticity in 2D analysis,.

References auxiliary_fftroutines::get_derivative_2d(), auxiliary_fftroutines::get_gradient_2d(), auxiliary_routines::get_ijk_from_m(), auxiliary_routines::get_nos(), and auxiliary_routines::getdoubleasstring().

Referenced by analysis_core::apply_analysis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_onebody::get_totalenergy ( real*8  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
real*8  TotalEnergy 
)

computes the density rho^1(x,x) if PSI is provided or resolution.

References auxiliary_analysis_routines::get_kineticenergyaction_allorbitalsanalysis().

Referenced by analysis_core::apply_analysis().

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: