MCTDH-X
v2.22
|
DVR Initialization routines mostly from the Heidelberg MCTDH package. More...
Public Member Functions | |
subroutine | get_operators |
Get the DVR representation of the Kinetic Energy Operator. More... | |
subroutine | init_kineticenergy_dvr (xi, xf, igdim, hdvr, weight, ort, ort_p, DVRMETHOD) |
Subroutine that initializes the DVR of the Kinetic Energy. More... | |
subroutine | dvrweights (trafo, ort, gdim1, ggdim, weight, basis, rpbaspar, ipbaspar, ipbaspar1, lsq, lnw) |
According to the selected DVR and its parameters – get the weights. More... | |
subroutine | initho (trafo, ort, dif2mat, dif1mat, gdim, hofm, hoxeq, dx, hotyp) |
Initialize the harmonic oscillator DVR. More... | |
subroutine | initrho (trafo, ort, dif2mat, dif1mat, gdim, hofm, hoxeq, xi, dx, hotyp, message) |
Initialize the real harmonic oscillator DVR. More... | |
subroutine | initsin (trafo, ort, dif2mat, dif1mat, gdim, xi, xf) |
Initialize sine DVR. More... | |
subroutine | initexp (trafo, ort, dif2mat, dif1mat, exphin, exprueck, gdim, xi, xf, kmin, kdim) |
subroutine | initfft (ort, fftp, gdim, xi, xf) |
Initialize the FFT collocation. More... | |
subroutine | initsphfbr (gdim, kinsph, jzsph, jzzsph, jsph, msph, jmax, sphtyp, mmax, mincr, mmin, ilog) |
Initialize spherical harmonics DVR. More... | |
subroutine | initlagu (trafo, ort, dif2mat, dif1mat, workr, gdim, x0, breite, xi, xf, typ, icut, message, basis) |
Initialize the laguerre DVR. More... | |
subroutine | gengauss (psi, gdim, dim, weight, trafo, ort, basis, rpbaspar, ipbaspar, ipbaspar1, rsbaspar, isbaspar, ggdim) |
Generate gaussian in DVR. More... | |
subroutine | genhigher (psi, gdim, dim, next, ort, basis, ipbaspar, power, gxeq, shift) |
Generate mode eigenfunctions. More... | |
subroutine | getpos (xi, xf, gdim, pos) |
Position grid of an FFT collocation. More... | |
subroutine | getmom (xi, xf, gdim, mom) |
Momentum grid of an FFT collocation. More... | |
DVR Initialization routines mostly from the Heidelberg MCTDH package.
subroutine dvr_initialization::dvrweights | ( | real*8, dimension(ggdim,gdim1) | trafo, |
real*8, dimension(gdim1) | ort, | ||
integer | gdim1, | ||
integer | ggdim, | ||
real*8, dimension(gdim1) | weight, | ||
integer | basis, | ||
real*8, dimension(*) | rpbaspar, | ||
integer, dimension(*) | ipbaspar, | ||
integer, dimension(*) | ipbaspar1, | ||
logical | lsq, | ||
logical | lnw | ||
) |
According to the selected DVR and its parameters – get the weights.
Referenced by gengauss(), and init_kineticenergy_dvr().
subroutine dvr_initialization::gengauss | ( | complex*16, dimension(gdim,dim) | psi, |
integer | gdim, | ||
integer | dim, | ||
real*8, dimension(gdim) | weight, | ||
real*8, dimension(ggdim,gdim) | trafo, | ||
real*8, dimension(gdim) | ort, | ||
integer | basis, | ||
real*8, dimension(*) | rpbaspar, | ||
integer, dimension(*) | ipbaspar, | ||
integer, dimension(*) | ipbaspar1, | ||
real*8, dimension(*) | rsbaspar, | ||
integer, dimension(*) | isbaspar, | ||
integer | ggdim | ||
) |
Generate gaussian in DVR.
References dvrweights(), genhigher(), function_library::normvxz(), function_library::schmidtortho(), and function_library::xvixdzo().
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::genhigher | ( | complex*16, dimension(gdim,dim) | psi, |
integer | gdim, | ||
integer | dim, | ||
integer | next, | ||
real*8, dimension(gdim) | ort, | ||
integer | basis, | ||
integer, dimension(*) | ipbaspar, | ||
integer | power, | ||
real*8 | gxeq, | ||
real*8 | shift | ||
) |
Generate mode eigenfunctions.
References function_library::normvxz(), function_library::vvaxzz(), function_library::xvixdzo(), and function_library::xvxxzzs().
Referenced by gengauss().
subroutine dvr_initialization::get_operators | ( | ) |
Get the DVR representation of the Kinetic Energy Operator.
References init_kineticenergy_dvr().
Referenced by analysis_main_program(), and mctdhx::mctdhx_routine().
subroutine dvr_initialization::getmom | ( | double precision, intent(in) | xi, |
double precision, intent(in) | xf, | ||
integer, intent(in) | gdim, | ||
double precision, dimension(gdim), intent(out) | mom | ||
) |
Momentum grid of an FFT collocation.
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::getpos | ( | double precision, intent(in) | xi, |
double precision, intent(in) | xf, | ||
integer, intent(in) | gdim, | ||
double precision, dimension(gdim), intent(out) | pos | ||
) |
Position grid of an FFT collocation.
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::init_kineticenergy_dvr | ( | real*8 | xi, |
real*8 | xf, | ||
integer | igdim, | ||
real*8, dimension(igdim,igdim) | hdvr, | ||
real*8, dimension(igdim) | weight, | ||
real*8, dimension(igdim) | ort, | ||
real*8, dimension(igdim) | ort_p, | ||
integer | DVRMETHOD | ||
) |
Subroutine that initializes the DVR of the Kinetic Energy.
References dvrweights(), gengauss(), getmom(), getpos(), initexp(), initho(), initsin(), and function_library::schmidtortho().
Referenced by get_operators().
subroutine dvr_initialization::initexp | ( | real*8, dimension(gdim,gdim) | trafo, |
real*8, dimension(gdim) | ort, | ||
real*8, dimension(gdim,gdim) | dif2mat, | ||
real*8, dimension(gdim,gdim) | dif1mat, | ||
complex*16, dimension(gdim,kdim) | exphin, | ||
complex*16, dimension(kdim,gdim) | exprueck, | ||
integer | gdim, | ||
real*8 | xi, | ||
real*8 | xf, | ||
integer | kmin, | ||
integer | kdim | ||
) |
References function_library::zeromxd().
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::initfft | ( | real*8, dimension(0:gdim-1) | ort, |
real*8, dimension(0:gdim-1) | fftp, | ||
integer | gdim, | ||
real*8 | xi, | ||
real*8 | xf | ||
) |
Initialize the FFT collocation.
subroutine dvr_initialization::initho | ( | real*8, dimension(gdim,gdim) | trafo, |
real*8, dimension(gdim) | ort, | ||
real*8, dimension(gdim,gdim) | dif2mat, | ||
real*8, dimension(gdim,gdim) | dif1mat, | ||
integer | gdim, | ||
real*8 | hofm, | ||
real*8 | hoxeq, | ||
real*8 | dx, | ||
integer | hotyp | ||
) |
Initialize the harmonic oscillator DVR.
References function_library::zeromxd(), and function_library::zerovxd().
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::initlagu | ( | real*8, dimension(gdim,gdim) | trafo, |
real*8, dimension(gdim) | ort, | ||
real*8, dimension(gdim,gdim) | dif2mat, | ||
real*8, dimension(gdim,gdim) | dif1mat, | ||
real*8, dimension(gdim,gdim) | workr, | ||
integer | gdim, | ||
real*8 | x0, | ||
real*8 | breite, | ||
real*8 | xi, | ||
real*8 | xf, | ||
integer | typ, | ||
integer | icut, | ||
character*(*) | message, | ||
integer | basis | ||
) |
Initialize the laguerre DVR.
subroutine dvr_initialization::initrho | ( | real*8, dimension(gdim,gdim) | trafo, |
real*8, dimension(gdim) | ort, | ||
real*8, dimension(gdim,gdim) | dif2mat, | ||
real*8, dimension(gdim,gdim) | dif1mat, | ||
integer | gdim, | ||
real*8 | hofm, | ||
real*8 | hoxeq, | ||
real*8 | xi, | ||
real*8 | dx, | ||
integer | hotyp, | ||
character*(*) | message | ||
) |
Initialize the real harmonic oscillator DVR.
References function_library::zeromxd().
subroutine dvr_initialization::initsin | ( | real*8, dimension(gdim,gdim) | trafo, |
real*8, dimension(gdim) | ort, | ||
real*8, dimension(gdim,gdim) | dif2mat, | ||
real*8, dimension(gdim,gdim) | dif1mat, | ||
integer | gdim, | ||
real*8 | xi, | ||
real*8 | xf | ||
) |
Initialize sine DVR.
Referenced by init_kineticenergy_dvr().
subroutine dvr_initialization::initsphfbr | ( | integer | gdim, |
real*8, dimension(gdim) | kinsph, | ||
real*8, dimension(gdim) | jzsph, | ||
real*8, dimension(gdim) | jzzsph, | ||
integer, dimension(gdim) | jsph, | ||
integer, dimension(gdim) | msph, | ||
integer | jmax, | ||
integer | sphtyp, | ||
integer | mmax, | ||
integer | mincr, | ||
integer | mmin, | ||
integer | ilog | ||
) |
Initialize spherical harmonics DVR.