21 integer(I4B),
intent(in) :: n
22 real(dp),
dimension(n),
intent(in) :: tl
23 real(dp),
dimension(n),
intent(in) :: td
24 real(dp),
dimension(n),
intent(in) :: tu
25 real(dp),
dimension(n),
intent(in) :: b
26 real(dp),
dimension(n),
intent(inout) :: x
27 real(dp),
dimension(n),
intent(inout) :: w
41 w(j) = tu(j - 1) * beti
42 bet = td(j) - tl(j) * w(j)
44 x(j) = (b(j) - tl(j) * x(j - 1)) * beti
49 x(j) = x(j) - w(j + 1) * x(j + 1)
61 integer(I4B),
INTENT(IN) :: iopt
62 integer(I4B),
INTENT(IN) :: neq
63 real(dp),
INTENT(INOUT) :: dscale
64 real(dp),
DIMENSION(NEQ),
INTENT(INOUT) :: x
65 real(dp),
DIMENSION(NEQ),
INTENT(INOUT) :: b
72 if (dscale <
dem30)
then
This module contains simulation constants.
real(dp), parameter dem30
real constant 1e-30
real(dp), parameter dzero
real constant zero
real(dp), parameter done
real constant 1
subroutine, public ims_misc_thomas(n, tl, td, tu, b, x, w)
Tridiagonal solve using the Thomas algorithm.
subroutine, public ims_misc_dvscale(IOPT, NEQ, DSCALE, X, B)
@ brief Scale X and RHS
This module defines variable data types.