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

This module contains the Integration routines for the case of stiff orbital EOM. More...

Public Member Functions

subroutine zvode_wrapper (Func, PsiDim, Psi, AbsTime, IntPeriod, TolError, ErrorCode, ZWORK, Arr)
 Wrapper routine to call the ZVODE integrator. More...
 
subroutine zvode (F, NEQ, Y, T, TOUT, ITOL, RTOL, ATOL, ITASK, ISTATE, IOPT, ZWORK, LZW, RWORK, LRW, IWORK, LIW, JAC, MF)
 ZVODE integrator. More...
 
subroutine zvhin (N, T0, Y0, YDOT, F, TOUT, UROUND, EWT, ITOL, ATOL, Y, TEMP, H0, NITER, IER)
 
subroutine zvindy (T, K, YH, LDYH, DKY, IFLAG)
 
subroutine zvstep (Y, YH, LDYH, YH1, EWT, SAVF, ACOR, WM, IWM, F, JAC, PSOL, VNLS)
 
subroutine zvset
 
subroutine zvjust (YH, LDYH, IORD)
 
subroutine zvnlsd (Y, YH, LDYH, SAVF, EWT, ACOR, IWM, WM, F, JAC, PDUM, NFLAG)
 
subroutine zvjac (Y, YH, LDYH, EWT, FTEM, SAVF, WM, IWM, F, JAC, IERPJ)
 
subroutine zacopy (NROW, NCOL, A, NROWA, B, NROWB)
 
subroutine zvsol (WM, IWM, X, IERSL)
 
subroutine zvsrco (RSAV, ISAV, JOB)
 
subroutine zewset (N, ITOL, RTOL, ATOL, YCUR, EWT)
 
double precision function zvnorm (N, V, W)
 
double precision function zabssq (Z)
 
subroutine dzscal (N, DA, ZX, INCX)
 
subroutine dzaxpy (N, DA, ZX, INCX, ZY, INCY)
 
double precision function dumach ()
 
subroutine dumsum (A, B, C)
 
subroutine xerrwd (MSG, LEVEL, NI, I1, I2, NR, R1, R2)
 
subroutine xsetf (MFLAG)
 
subroutine xsetun (LUN)
 
integer function ixsav (IPAR, IVALUE, ISET)
 
integer function iumach ()
 
subroutine zgefa (a, lda, n, ipvt, info)
 
subroutine zgesl (a, lda, n, ipvt, b, job)
 
subroutine zgbfa (abd, lda, n, ml, mu, ipvt, info)
 
subroutine zgbsl (abd, lda, n, ml, mu, ipvt, b, job)
 
subroutine jex (NEQ, T, W, ML, MU, PD, NRPD, RPAR, IPAR)
 

Detailed Description

This module contains the Integration routines for the case of stiff orbital EOM.

Member Function/Subroutine Documentation

double precision function stiff_integrator::dumach ( )

References dumsum().

Referenced by zvode().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::dumsum ( double precision  A,
double precision  B,
double precision  C 
)

Referenced by dumach().

Here is the caller graph for this function:

subroutine stiff_integrator::dzaxpy ( integer  N,
double precision  DA,
double complex, dimension(*)  ZX,
integer  INCX,
double complex, dimension(*)  ZY,
integer  INCY 
)

Referenced by zvjust(), zvnlsd(), and zvstep().

Here is the caller graph for this function:

subroutine stiff_integrator::dzscal ( integer  N,
double precision  DA,
double complex, dimension(*)  ZX,
integer  INCX 
)

Referenced by zvindy(), zvjac(), zvnlsd(), zvode(), and zvstep().

Here is the caller graph for this function:

integer function stiff_integrator::iumach ( )

Referenced by ixsav().

Here is the caller graph for this function:

integer function stiff_integrator::ixsav ( integer  IPAR,
integer  IVALUE,
logical  ISET 
)

References iumach().

Referenced by xerrwd(), xsetf(), and xsetun().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::jex (   NEQ,
double precision  T,
double complex, dimension(neq)  W,
  ML,
  MU,
double complex, dimension(nrpd,neq)  PD,
  NRPD,
double complex  RPAR,
  IPAR 
)
Parameters
wDummy routine needed for ZVODE (provide the jacobian of the function to be integrated.
Todo:
Either remove or write something useful inside.
Parameters
pdDummy routine needed for ZVODE (provide the jacobian of the function to be integrated.
Todo:
Either remove or write something useful inside.
Parameters
rparDummy routine needed for ZVODE (provide the jacobian of the function to be integrated.
Todo:
Either remove or write something useful inside.

Referenced by zvode_wrapper().

Here is the caller graph for this function:

subroutine stiff_integrator::xerrwd ( character*(*)  MSG,
integer  LEVEL,
integer  NI,
integer  I1,
integer  I2,
integer  NR,
double precision  R1,
double precision  R2 
)

References ixsav().

Referenced by zvindy(), and zvode().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::xsetf ( integer  MFLAG)

References ixsav().

Here is the call graph for this function:

subroutine stiff_integrator::xsetun ( integer  LUN)

References ixsav().

Here is the call graph for this function:

double precision function stiff_integrator::zabssq ( double complex  Z)

Referenced by zvnorm().

Here is the caller graph for this function:

subroutine stiff_integrator::zacopy ( integer  NROW,
integer  NCOL,
double complex, dimension(nrowa,ncol)  A,
integer  NROWA,
double complex, dimension(nrowb,ncol)  B,
integer  NROWB 
)

Referenced by zvjac().

Here is the caller graph for this function:

subroutine stiff_integrator::zewset ( integer  N,
integer  ITOL,
double precision, dimension(*)  RTOL,
double precision, dimension(*)  ATOL,
double complex, dimension(n)  YCUR,
double precision, dimension(n)  EWT 
)

Referenced by zvode().

Here is the caller graph for this function:

subroutine stiff_integrator::zgbfa ( complex*16, dimension(lda,1)  abd,
integer  lda,
integer  n,
integer  ml,
integer  mu,
integer, dimension(1)  ipvt,
integer  info 
)

zgbfa factors a complex*16 band matrix by elimination.

zgbfa is usually called by zgbco, but it can be called directly with a saving in time if rcond is not needed.

Referenced by zvjac().

Here is the caller graph for this function:

subroutine stiff_integrator::zgbsl ( complex*16, dimension(lda,1)  abd,
integer  lda,
integer  n,
integer  ml,
integer  mu,
integer, dimension(1)  ipvt,
complex*16, dimension(1)  b,
integer  job 
)

zgbsl solves the complex*16 band system a * x = b or ctrans(a) * x = b using the factors computed by zgbco or zgbfa.

Referenced by zvsol().

Here is the caller graph for this function:

subroutine stiff_integrator::zgefa ( complex*16, dimension(lda,1)  a,
integer  lda,
integer  n,
integer, dimension(1)  ipvt,
integer  info 
)

Referenced by zvjac().

Here is the caller graph for this function:

subroutine stiff_integrator::zgesl ( complex*16, dimension(lda,1)  a,
integer  lda,
integer  n,
integer, dimension(1)  ipvt,
complex*16, dimension(1)  b,
integer  job 
)

Referenced by zvsol().

Here is the caller graph for this function:

subroutine stiff_integrator::zvhin ( integer  N,
double precision  T0,
double complex, dimension(*)  Y0,
double complex, dimension(*)  YDOT,
external  F,
double precision  TOUT,
double precision  UROUND,
double precision, dimension(*)  EWT,
integer  ITOL,
double precision, dimension(*)  ATOL,
double complex, dimension(*)  Y,
double complex, dimension(*)  TEMP,
double precision  H0,
integer  NITER,
integer  IER 
)

References zvnorm().

Referenced by zvode().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvindy ( double precision  T,
integer  K,
double complex, dimension(ldyh,*)  YH,
integer  LDYH,
double complex, dimension(*)  DKY,
integer  IFLAG 
)

References dzscal(), and xerrwd().

Referenced by zvode().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvjac ( double complex, dimension(*)  Y,
double complex, dimension(ldyh,*)  YH,
integer  LDYH,
double precision, dimension(*)  EWT,
double complex, dimension(*)  FTEM,
double complex, dimension(*)  SAVF,
double complex, dimension(*)  WM,
integer, dimension(*)  IWM,
external  F,
external  JAC,
integer  IERPJ 
)

References dzscal(), zacopy(), zgbfa(), zgefa(), and zvnorm().

Referenced by zvnlsd().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvjust ( double complex, dimension(ldyh,*)  YH,
integer  LDYH,
integer  IORD 
)

References dzaxpy().

Referenced by zvstep().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvnlsd ( double complex, dimension(*)  Y,
double complex, dimension(ldyh,*)  YH,
integer  LDYH,
double complex, dimension(*)  SAVF,
double precision, dimension(*)  EWT,
double complex, dimension(*)  ACOR,
integer, dimension(*)  IWM,
double complex, dimension(*)  WM,
external  F,
external  JAC,
external  PDUM,
integer  NFLAG 
)

References dzaxpy(), dzscal(), zvjac(), zvnorm(), and zvsol().

Referenced by zvode().

Here is the call graph for this function:

Here is the caller graph for this function:

double precision function stiff_integrator::zvnorm ( integer  N,
double complex, dimension(n)  V,
double precision, dimension(n)  W 
)

References zabssq().

Referenced by zvhin(), zvjac(), zvnlsd(), zvode(), and zvstep().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvode ( external  F,
integer  NEQ,
double complex, dimension(*)  Y,
double precision  T,
double precision  TOUT,
integer  ITOL,
double precision, dimension(*)  RTOL,
double precision, dimension(*)  ATOL,
integer  ITASK,
integer  ISTATE,
integer  IOPT,
double complex, dimension(lzw)  ZWORK,
integer  LZW,
double precision, dimension(lrw)  RWORK,
integer  LRW,
integer, dimension(liw)  IWORK,
integer  LIW,
external  JAC,
integer  MF 
)

ZVODE integrator.

References dumach(), dzscal(), xerrwd(), zewset(), zvhin(), zvindy(), zvnlsd(), zvnorm(), and zvstep().

Referenced by zvode_wrapper().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvode_wrapper ( external  Func,
integer  PsiDim,
double complex, dimension(psidim)  Psi,
double precision  AbsTime,
double precision  IntPeriod,
double precision  TolError,
integer  ErrorCode,
double complex, dimension(10*psidim + (5)*psidim)  ZWORK,
integer  Arr 
)

Wrapper routine to call the ZVODE integrator.

References orbital_equationofmotion::func(), jex(), and zvode().

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 stiff_integrator::zvset ( )

Referenced by zvstep().

Here is the caller graph for this function:

subroutine stiff_integrator::zvsol ( double complex, dimension(*)  WM,
integer, dimension(*)  IWM,
double complex, dimension(*)  X,
integer  IERSL 
)

References zgbsl(), and zgesl().

Referenced by zvnlsd().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine stiff_integrator::zvsrco ( double precision, dimension(*)  RSAV,
integer, dimension(*)  ISAV,
integer  JOB 
)
subroutine stiff_integrator::zvstep ( double complex, dimension(*)  Y,
double complex, dimension(ldyh,*)  YH,
integer  LDYH,
double complex, dimension(*)  YH1,
double precision, dimension(*)  EWT,
double complex, dimension(*)  SAVF,
double complex, dimension(*)  ACOR,
double complex, dimension(*)  WM,
integer, dimension(*)  IWM,
external  F,
external  JAC,
external  PSOL,
external  VNLS 
)

References dzaxpy(), dzscal(), zvjust(), zvnorm(), and zvset().

Referenced by zvode().

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: