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

This module collects analysis routines for multiconfigurational wavefunctions that have a many-body character. More...

Public Member Functions

subroutine get_anyordercorrelations (VIN0, PSI, Time, Mode, c_ref_x, c_ref_y, c_ref_z, order, oned, twod, dilation)
 
subroutine get_singleshot (VIN0, PSI, Time, Mode, CentreOfMass, ShotVariance)
 This routine computes single shots, i.e., random deviates from the N-body density matrix using the approach published in doi:10.1038/nphys3631 . Mode=1 means real-space, Mode=2 means momentum space. More...
 
subroutine write_hamiltonianelementsanalysis (PSI, Time, GetA)
 
subroutine write_matrixelements (Rho1, Rho2, time, HamiltonianElements)
 
subroutine get_entropy (VIN, FT_PSI, PSI, rho_jk, TIME, NatOccs, NBody_C_Entropy)
 Compute various types of entropies. The density related entropies, S_a= r(a) ln r(a) da ; where a = x,k, the occupations-related entropy S_n= sum_i n_i ln n_i and the coefficients-entropy S_c S_c= sum_{n} |C_{n}|^2 ln |C_{n}|^2 are computed and output. More...
 
subroutine get_loc_frag (PSI, VIN, TIME)
 Compute the local fragmentation of a wavefunction with respect to border. More...
 
subroutine get_autocorr (PSI0, PSI1, VIN, VIN0, time)
 
subroutine get_corr_loc_frag (time, NOGRIDPOINTS, PSI, rho_jk, rho_ijkl)
 computes the local correlation functions from a truncated wavefunction More...
 

Detailed Description

This module collects analysis routines for multiconfigurational wavefunctions that have a many-body character.

Member Function/Subroutine Documentation

subroutine analysis_routines_manybody::get_anyordercorrelations ( complex*16, dimension(nconf), intent(in)  VIN0,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb), intent(in)  PSI,
real*8, intent(in)  Time,
integer, intent(in)  Mode,
real*8, intent(in)  c_ref_x,
real*8, intent(in)  c_ref_y,
real*8, intent(in)  c_ref_z,
integer, intent(in)  order,
logical, intent(in)  oned,
logical, intent(in)  twod,
integer, intent(in)  dilation 
)
subroutine analysis_routines_manybody::get_autocorr ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI0,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI1,
complex*16, dimension(nconf)  VIN,
complex*16, dimension(nconf)  VIN0,
real*8  time 
)

References auxiliary_analysis_routines::u_trans().

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_manybody::get_corr_loc_frag ( real*8  time,
integer  NOGRIDPOINTS,
complex*16, dimension(nogridpoints,morb)  PSI,
complex*16, dimension(morb,morb), intent(in)  rho_jk,
complex*16, dimension(morb,morb,morb,morb), intent(in)  rho_ijkl 
)

computes the local correlation functions from a truncated wavefunction

References auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_maximum(), and auxiliary_routines::getdoubleasstring().

Referenced by get_loc_frag().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine analysis_routines_manybody::get_entropy ( complex*16, dimension(nconf)  VIN,
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)  rho_jk,
real*8  TIME,
real*8, dimension(morb)  NatOccs,
logical, optional  NBody_C_Entropy 
)

Compute various types of entropies. The density related entropies, S_a= r(a) ln r(a) da ; where a = x,k, the occupations-related entropy S_n= sum_i n_i ln n_i and the coefficients-entropy S_c S_c= sum_{n} |C_{n}|^2 ln |C_{n}|^2 are computed and output.

Compute the density and momentum density

(K-)Density related form of the entropy.

Many-Body entropy related to the coefficients.

Many-Body entropy related to the natural occupations.

Write different entropies to a file.

Write different entropies to a file.

References 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_manybody::get_loc_frag ( complex*16, dimension(ndvr_x,morb)  PSI,
complex*16, dimension(nconf)  VIN,
real*8, intent(in)  TIME 
)

Compute the local fragmentation of a wavefunction with respect to border.

References get_corr_loc_frag(), auxiliary_analysis_routines::get_full_rij(), auxiliary_analysis_routines::get_full_rijkl(), function_library::schmidtortho(), and auxiliary_analysis_routines::u_trans().

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_manybody::get_singleshot ( complex*16, dimension(nconf), intent(in)  VIN0,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb), intent(in)  PSI,
real*8  Time,
integer  Mode,
logical, optional  CentreOfMass,
logical, optional  ShotVariance 
)

This routine computes single shots, i.e., random deviates from the N-body density matrix using the approach published in doi:10.1038/nphys3631 . Mode=1 means real-space, Mode=2 means momentum space.

References auxiliary_analysis_routines::assemble_outputfilename(), function_library::binomialcoefficient(), auxiliary_analysis_routines::convolute_singleshot(), auxiliary_analysis_routines::drawfromdensity(), auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_reduced1bodyelements(), auxiliary_analysis_routines::get_reduced_coefficients(), 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_manybody::write_hamiltonianelementsanalysis ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb)  PSI,
real*8  Time,
logical, optional  GetA 
)
subroutine analysis_routines_manybody::write_matrixelements ( complex*16, dimension(morb,morb)  Rho1,
complex*16, dimension(morb,morb,morb,morb)  Rho2,
real*8  time,
logical, optional  HamiltonianElements 
)

References auxiliary_routines::getdoubleasstring().

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

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: