|
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 | ||
| ) |