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

This module contains the different Runge Kutta wrappers. More...

Public Member Functions

subroutine rungekutta5 (psi, dtpsi, psidim, intperiod, abstime, initstep, accuracy, error, auxpsi, func, rksteps)
 MCTDH interface to the call of the Runge-Kutta (order 5) integrator from the ODESIM project. More...
 
subroutine rungekutta8 (psi, dtpsi, psidim, intperiod, abstime, initstep, accuracy, error, auxpsi, func, rksteps)
 MCTDH interface to the call of the Runge-Kutta (order 8) integrator from the ODESIM project. More...
 
subroutine od85cr (ODEMOD, ndgl, y, t, tend, hmax, h, hopt, tol, uround, safe, beta, facdec, facinc, y1, k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, kerr, kerr2, wt, nfcn, nstep, naccpt, nrejct, intgfl, ierr, rerr)
 Core of the Runge-Kutta integrator DoPri853. More...
 
subroutine odp5cr (ODEMOD, ndgl, y, t, tend, hmax, h, hopt, tol, uround, safe, beta, facdec, facinc, y1, k1, k2, k3, k4, k5, k6, ys, wt, nfcn, nstep, naccpt, nrejct, intgfl, ierr, rerr)
 Core of the Runge-Kutta integrator of order 5. More...
 
subroutine odehin (ODEMOD, ndgl, t, y, tend, posneg, dy0, dy1, y1, iord, hmax, small, wt, tol, nfcn, hini)
 computes an initial stepsize guess for Runge Kutta integration More...
 
subroutine setewv (ndim, y0, y1, tol, small, wt)
 set the error weight vector according to the given tolerance More...
 
real *8 function wgtnrm (ndim, vec, wt)
 computes the weighted norm of a vector More...
 
real *8 function wgtdst (ndim, vec1, vec2, wt)
 computes the weighted distance of two vectors More...
 

Detailed Description

This module contains the different Runge Kutta wrappers.

Member Function/Subroutine Documentation

subroutine runge_kutta::od85cr ( external  ODEMOD,
integer  ndgl,
complex*16, dimension(ndgl)  y,
real*8  t,
real*8  tend,
real*8  hmax,
real*8  h,
real*8  hopt,
real*8  tol,
real*8  uround,
real*8  safe,
real*8  beta,
real*8  facdec,
real*8  facinc,
complex*16, dimension(ndgl)  y1,
complex*16, dimension(ndgl)  k1,
complex*16, dimension(ndgl)  k2,
complex*16, dimension(ndgl)  k3,
complex*16, dimension(ndgl)  k4,
complex*16, dimension(ndgl)  k5,
complex*16, dimension(ndgl)  k6,
complex*16, dimension(ndgl)  k7,
complex*16, dimension(ndgl)  k8,
complex*16, dimension(ndgl)  k9,
complex*16, dimension(ndgl)  k10,
complex*16, dimension(ndgl)  kerr,
complex*16, dimension(ndgl)  kerr2,
real*8, dimension(ndgl)  wt,
integer  nfcn,
integer  nstep,
integer  naccpt,
integer  nrejct,
integer  intgfl,
integer  ierr,
real*8  rerr 
)

Core of the Runge-Kutta integrator DoPri853.

References function_library::beta(), odehin(), setewv(), and wgtnrm().

Referenced by rungekutta8().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine runge_kutta::odehin ( external  ODEMOD,
integer  ndgl,
real*8  t,
complex*16, dimension(ndgl)  y,
real*8  tend,
real*8  posneg,
complex*16, dimension(ndgl)  dy0,
complex*16, dimension(ndgl)  dy1,
complex*16, dimension(ndgl)  y1,
integer  iord,
real*8  hmax,
real*8  small,
real*8, dimension(ndgl)  wt,
real*8  tol,
integer  nfcn,
real*8  hini 
)

computes an initial stepsize guess for Runge Kutta integration

References setewv(), wgtdst(), and wgtnrm().

Referenced by od85cr(), and odp5cr().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine runge_kutta::odp5cr ( external  ODEMOD,
integer  ndgl,
complex*16, dimension(ndgl)  y,
real*8  t,
real*8  tend,
real*8  hmax,
real*8  h,
real*8  hopt,
real*8  tol,
real*8  uround,
real*8  safe,
real*8  beta,
real*8  facdec,
real*8  facinc,
complex*16, dimension(ndgl)  y1,
complex*16, dimension(ndgl)  k1,
complex*16, dimension(ndgl)  k2,
complex*16, dimension(ndgl)  k3,
complex*16, dimension(ndgl)  k4,
complex*16, dimension(ndgl)  k5,
complex*16, dimension(ndgl)  k6,
complex*16, dimension(ndgl)  ys,
real*8, dimension(ndgl)  wt,
integer  nfcn,
integer  nstep,
integer  naccpt,
integer  nrejct,
integer  intgfl,
integer  ierr,
real*8  rerr 
)

Core of the Runge-Kutta integrator of order 5.

References function_library::beta(), odehin(), setewv(), and wgtnrm().

Referenced by rungekutta5().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine runge_kutta::rungekutta5 ( complex*16, dimension(psidim)  psi,
complex*16, dimension(psidim)  dtpsi,
integer  psidim,
real*8  intperiod,
real*8  abstime,
real*8  initstep,
real*8  accuracy,
integer  error,
complex*16, dimension(psidim*7)  auxpsi,
external  func,
integer  rksteps 
)

MCTDH interface to the call of the Runge-Kutta (order 5) integrator from the ODESIM project.

References function_library::beta(), orbital_equationofmotion::func(), and odp5cr().

Referenced by integration::integrator_nlevelorb(), and integration::integrator_orb().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine runge_kutta::rungekutta8 ( complex*16, dimension(psidim)  psi,
complex*16, dimension(psidim)  dtpsi,
integer  psidim,
real*8  intperiod,
real*8  abstime,
real*8  initstep,
real*8  accuracy,
integer  error,
complex*16, dimension(psidim*12)  auxpsi,
external  func,
integer  rksteps 
)

MCTDH interface to the call of the Runge-Kutta (order 8) integrator from the ODESIM project.

References function_library::beta(), orbital_equationofmotion::func(), and od85cr().

Referenced by integration::integrator_nlevelorb(), and integration::integrator_orb().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine runge_kutta::setewv ( integer  ndim,
complex*16, dimension(ndim)  y0,
complex*16, dimension(ndim)  y1,
real*8  tol,
real*8  small,
real*8, dimension(ndim)  wt 
)

set the error weight vector according to the given tolerance

Referenced by od85cr(), odehin(), and odp5cr().

Here is the caller graph for this function:

real*8 function runge_kutta::wgtdst ( integer  ndim,
complex*16, dimension(ndim)  vec1,
complex*16, dimension(ndim)  vec2,
real*8, dimension(ndim)  wt 
)

computes the weighted distance of two vectors

Referenced by odehin().

Here is the caller graph for this function:

real*8 function runge_kutta::wgtnrm ( integer  ndim,
complex*16, dimension(ndim)  vec,
real*8, dimension(ndim)  wt 
)

computes the weighted norm of a vector

Referenced by od85cr(), odehin(), and odp5cr().

Here is the caller graph for this function:


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