17 SUBROUTINE leq_sor(VNAME, VNO, VAR, A_M, B_M, ITMAX, IER)
35 CHARACTER(LEN=*),
INTENT(IN) :: Vname
37 INTEGER,
INTENT(IN) :: VNO
44 DOUBLE PRECISION,
INTENT(INOUT) :: &
47 DOUBLE PRECISION,
INTENT(INOUT) :: &
50 INTEGER,
INTENT(IN) :: ITMAX
52 INTEGER,
INTENT(INOUT) :: IER
57 DOUBLE PRECISION,
PARAMETER :: OMEGA = 1.0
59 parameter( iidebug = 0 )
74 IF(.NOT.is_on_mype_owns(
i_of(ijk),
j_of(ijk),
k_of(ijk))) cycle
78 a_m(ijk,-2) = a_m(ijk,-2)*oam
79 a_m(ijk,-1) = a_m(ijk,-1)*oam
80 a_m(ijk,1) = a_m(ijk,1)*oam
81 a_m(ijk,2) = a_m(ijk,2)*oam
82 a_m(ijk,-3) = a_m(ijk,-3)*oam
83 a_m(ijk,3) = a_m(ijk,3)*oam
84 b_m(ijk) = b_m(ijk)*oam
92 IF(.NOT.is_on_mype_owns(
i_of(ijk),
j_of(ijk),
k_of(ijk))) cycle
93 var_tmp(ijk) = var(ijk) + omega*(b_m(ijk)-&
94 a_m(ijk,-1)*var(im_of(ijk))-a_m(ijk,1)*var(ip_of(ijk))-
103 IF(.NOT.is_on_mype_owns(
i_of(ijk),
j_of(ijk),
k_of(ijk))) cycle
104 var_tmp(ijk) = var(ijk) + omega*(b_m(ijk)-&
105 a_m(ijk,-2)*var(jm_of(ijk))-a_m(ijk,2)*var(jp_of(ijk))
116 var(ijk) = var_tmp(ijk)
integer, dimension(:), allocatable i_of
double precision, parameter one
integer, dimension(dim_eqs) iter_tot
integer, dimension(:), allocatable k_of
integer, dimension(:), allocatable j_of
subroutine leq_sor(VNAME, VNO, VAR, A_M, B_M, ITMAX, IER)