MCTDH-X
v2.22
|
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... | |
This module collects analysis routines for multiconfigurational wavefunctions that have a many-body character.
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 | ||
) |
References auxiliary_analysis_routines::assemble_outputfilename(), function_library::binomialcoefficient(), auxiliary_routines::get_ijk_from_m(), auxiliary_analysis_routines::get_m_0_from_xyz(), auxiliary_analysis_routines::get_reduced1bodyelements(), auxiliary_analysis_routines::get_reduced_coefficients(), auxiliary_analysis_routines::get_reduced_density(), and auxiliary_analysis_routines::get_weightormomentumgrid().
Referenced by analysis_core::apply_analysis().
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().
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().
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().
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().
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().
subroutine analysis_routines_manybody::write_hamiltonianelementsanalysis | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI, |
real*8 | Time, | ||
logical, optional | GetA | ||
) |
References auxiliary_analysis_routines::get_full_wijkl(), auxiliary_analysis_routines::get_kineticenergyaction_allorbitalsanalysis(), localinteractionpotential::get_local_interactionpotentials(), auxiliary_routines::getdoubleasstring(), addresses::nadr(), and write_matrixelements().
Referenced by analysis_core::apply_analysis().
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().