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

This module collects the routines for the analysis of two-body quantities in R-MCTDHB simulations. More...

Public Member Functions

subroutine get_correlationsskewdiagonal1d (time, PSI, mode, rho_jk, rho_ijkl, dilation)
 This routine computes the skew diagonal of 1D correlation functions G1(x,x'=-x), and G2(x,x'=-x), and writes them to a file. The first four columns contain x,x'. More...
 
subroutine get_2bentropy (FT_PSI, PSI, rho_ijkl, TIME)
 Compute the entropy of the two-body density diagonal in real and in momentum space. Compute the entropy of the geminal occupations. More...
 
subroutine diag_geminal (Time, NatGemOcc, PSI, jobtype, InEntropy)
 Natural geminals' analysis: Diagonalize reduced two-body density matrix elements and return eigenvalues (Natural Geminal Occupations). More...
 
subroutine lossops_two_bosons (time, PSI, rho_ijkl, border)
 This routine computes the expectation values for N=2 particle loss operators when partitioning the two particle Hilbert space at 'border'. More...
 
subroutine get_corr_one_restricted (time, PSI, mode, rho_jk, xini, xfin, xpts, kxini, kxfin, kpts)
 This routine computes the correlation functions on a restricted subspace from x(k)ini to x(k)fin with x(k)pts points. More...
 
subroutine get_corr_two_restricted (time, PSI, mode, rho_jk, rho_ijkl, xini, xfin, xpts, kxini, kxfin, kpts)
 This routine computes the correlation functions G2(r,r',r',r), where r=(x/k) in a restricted subspace from x(k)ini to x(k)fin with x(k)pts. More...
 
subroutine get_structurefactor (time, PSI, rho_jk, rho_ijkl, xref, yref, zref)
 
subroutine get_correlations (time, PSI, mode, rho_jk, rho_ijkl, Dilation, CorrCoef)
 This routine computes the correlation functions G1(r,r), G1(r,r'), G1(r',r') and G2(r,r',r',r), where r=(x,y,z), and writes them to a file. The first six columns contain x,y,z,x',y',z'. More...
 
subroutine get_correlations_nlevel (time, PSI, mode, rho_jk, rho_ijkl, dilation)
 This routine computes the correlation functions G1(r,r), G1(r,r'), G1(r',r') and G2(r,r',r',r), where r=(x,y,z), and writes them to a file. The first six columns contain x,y,z,x',y',z'. More...
 

Detailed Description

This module collects the routines for the analysis of two-body quantities in R-MCTDHB simulations.

Member Function/Subroutine Documentation

subroutine analysis_routines_twobody::diag_geminal ( real*8  Time,
real*8, dimension(morb*(morb+1)/2)  NatGemOcc,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
integer  jobtype,
logical, optional  InEntropy 
)

Natural geminals' analysis: Diagonalize reduced two-body density matrix elements and return eigenvalues (Natural Geminal Occupations).

References auxiliary_analysis_routines::assemble_outputfilename(), and auxiliary_analysis_routines::get_full_rijkl().

Referenced by analysis_core::apply_analysis(), and get_2bentropy().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_twobody::get_2bentropy ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  FT_PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb,morb,morb)  rho_ijkl,
real*8  TIME 
)

Compute the entropy of the two-body density diagonal in real and in momentum space. Compute the entropy of the geminal occupations.

Many-Body entropy related to the natural geminal occupations.

Write different entropies to a file.

References diag_geminal(), 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_twobody::get_corr_one_restricted ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
integer, intent(in)  mode,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
real*8  xini,
real*8  xfin,
integer, intent(in)  xpts,
real*8  kxini,
real*8  kxfin,
integer, intent(in)  kpts 
)

This routine computes the correlation functions on a restricted subspace from x(k)ini to x(k)fin with x(k)pts points.

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

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_twobody::get_corr_two_restricted ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
integer, intent(in)  mode,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
real*8  xini,
real*8  xfin,
integer, intent(in)  xpts,
real*8  kxini,
real*8  kxfin,
integer, intent(in)  kpts 
)

This routine computes the correlation functions G2(r,r',r',r), where r=(x/k) in a restricted subspace from x(k)ini to x(k)fin with x(k)pts.

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

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_twobody::get_correlations ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
integer, intent(in)  mode,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
integer, intent(in)  Dilation,
logical, optional  CorrCoef 
)

This routine computes the correlation functions G1(r,r), G1(r,r'), G1(r',r') and G2(r,r',r',r), where r=(x,y,z), and writes them to a file. The first six columns contain x,y,z,x',y',z'.

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_twobody::get_correlations_nlevel ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel)  PSI,
integer, intent(in)  mode,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
integer  dilation 
)

This routine computes the correlation functions G1(r,r), G1(r,r'), G1(r',r') and G2(r,r',r',r), where r=(x,y,z), and writes them to a file. The first six columns contain x,y,z,x',y',z'.

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_twobody::get_correlationsskewdiagonal1d ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
integer, intent(in)  mode,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
integer, intent(in)  dilation 
)

This routine computes the skew diagonal of 1D correlation functions G1(x,x'=-x), and G2(x,x'=-x), and writes them to a file. The first four columns contain x,x'.

References auxiliary_analysis_routines::assemble_outputfilename(), auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_weightormomentumgrid(), 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_twobody::get_structurefactor ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
real*8, intent(in)  xref,
real*8, intent(in)  yref,
real*8, intent(in)  zref 
)
subroutine analysis_routines_twobody::lossops_two_bosons ( real*8, intent(in)  time,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl,
real*8, intent(in)  border 
)

This routine computes the expectation values for N=2 particle loss operators when partitioning the two particle Hilbert space at 'border'.

References auxiliary_routines::get_ijk_from_m(), 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:


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