MCTDH-X
v2.22
|
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) |
This module contains the Integration routines for the case of stiff orbital EOM.
double precision function stiff_integrator::dumach | ( | ) |
subroutine stiff_integrator::dumsum | ( | double precision | A, |
double precision | B, | ||
double precision | C | ||
) |
subroutine stiff_integrator::dzaxpy | ( | integer | N, |
double precision | DA, | ||
double complex, dimension(*) | ZX, | ||
integer | INCX, | ||
double complex, dimension(*) | ZY, | ||
integer | INCY | ||
) |
subroutine stiff_integrator::dzscal | ( | integer | N, |
double precision | DA, | ||
double complex, dimension(*) | ZX, | ||
integer | INCX | ||
) |
integer function stiff_integrator::iumach | ( | ) |
integer function stiff_integrator::ixsav | ( | integer | IPAR, |
integer | IVALUE, | ||
logical | ISET | ||
) |
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 | |||
) |
w | Dummy routine needed for ZVODE (provide the jacobian of the function to be integrated. |
pd | Dummy routine needed for ZVODE (provide the jacobian of the function to be integrated. |
rpar | Dummy routine needed for ZVODE (provide the jacobian of the function to be integrated. |
Referenced by zvode_wrapper().
subroutine stiff_integrator::xerrwd | ( | character*(*) | MSG, |
integer | LEVEL, | ||
integer | NI, | ||
integer | I1, | ||
integer | I2, | ||
integer | NR, | ||
double precision | R1, | ||
double precision | R2 | ||
) |
subroutine stiff_integrator::xsetf | ( | integer | MFLAG | ) |
subroutine stiff_integrator::xsetun | ( | integer | LUN | ) |
double precision function stiff_integrator::zabssq | ( | double complex | Z | ) |
subroutine stiff_integrator::zacopy | ( | integer | NROW, |
integer | NCOL, | ||
double complex, dimension(nrowa,ncol) | A, | ||
integer | NROWA, | ||
double complex, dimension(nrowb,ncol) | B, | ||
integer | NROWB | ||
) |
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 | ||
) |
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().
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().
subroutine stiff_integrator::zgefa | ( | complex*16, dimension(lda,1) | a, |
integer | lda, | ||
integer | n, | ||
integer, dimension(1) | ipvt, | ||
integer | info | ||
) |
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 | ||
) |
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 | ||
) |
subroutine stiff_integrator::zvindy | ( | double precision | T, |
integer | K, | ||
double complex, dimension(ldyh,*) | YH, | ||
integer | LDYH, | ||
double complex, dimension(*) | DKY, | ||
integer | IFLAG | ||
) |
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 | ||
) |
subroutine stiff_integrator::zvjust | ( | double complex, dimension(ldyh,*) | YH, |
integer | LDYH, | ||
integer | IORD | ||
) |
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 | ||
) |
double precision function stiff_integrator::zvnorm | ( | integer | N, |
double complex, dimension(n) | V, | ||
double precision, dimension(n) | W | ||
) |
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 | ||
) |
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().
subroutine stiff_integrator::zvset | ( | ) |
subroutine stiff_integrator::zvsol | ( | double complex, dimension(*) | WM, |
integer, dimension(*) | IWM, | ||
double complex, dimension(*) | X, | ||
integer | IERSL | ||
) |
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 | ||
) |