40 INTEGER,
INTENT(IN) :: M
97 INTEGER,
INTENT(IN) :: M
102 INTEGER :: I, J, K, IJK, IPJK, IJPK, IJKP
103 INTEGER :: IMJK, IJMK, IJKM, IJKE, IJKW, IJKN, IJKS
104 INTEGER :: IJKB, IJKT
107 DOUBLE PRECISION :: K_P
109 DOUBLE PRECISION :: Src
111 CHARACTER(LEN=80) :: LINE(1)
113 DOUBLE PRECISION :: bma, bme, bmw, bmn, bms, bmt, bmb, bmr
127 IF (fluid_at(ijk))
THEN 140 ijkb = bottom_of(ijk)
153 a_m(ijk,0,0) = a_m(ijk,0,0)+&
156 b_m(ijk,0) = b_m(ijk,0) + bme
160 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
163 b_m(ijk,0) = b_m(ijk,0) + bme
171 a_m(ijk,0,0) = a_m(ijk,0,0) + &
174 b_m(ijk,0) = b_m(ijk,0) + bmw
178 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
181 b_m(ijk,0) = b_m(ijk,0) + bmw
189 a_m(ijk,0,0)=a_m(ijk,0,0)+&
192 b_m(ijk,0) = b_m(ijk,0) + bmn
196 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
199 b_m(ijk,0) = b_m(ijk,0) + bmn
207 a_m(ijk,0,0) = a_m(ijk,0,0) + &
210 b_m(ijk,0) = b_m(ijk,0) + bms
214 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
217 b_m(ijk,0) = b_m(ijk,0) + bms
226 a_m(ijk,0,0) = a_m(ijk,0,0) + &
229 b_m(ijk,0)=b_m(ijk,0) + bmt
233 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
236 b_m(ijk,0) = b_m(ijk,0) + bmt
251 a_m(ijk,0,0) = a_m(ijk,0,0) + (
rop_s(ijk,m)*&
254 b_m(ijk,0)=b_m(ijk,0) + bmb
281 WRITE (line,
'(A,I6,A,G12.5)') &
282 'Error: At IJK = ', ijk, &
283 ' A = 0 and b = ', b_m(ijk,0)
346 INTEGER,
INTENT(IN) :: M
352 INTEGER :: I, J, K, IJK, IPJK, IJPK, IJKP
353 INTEGER :: IMJK, IJMK, IJKM, IJKE, IJKW, IJKN, IJKS
354 INTEGER :: IJKB, IJKT
359 DOUBLE PRECISION :: K_P
361 DOUBLE PRECISION :: Src
363 DOUBLE PRECISION :: ROP_sf
365 DOUBLE PRECISION :: bma, bme, bmw, bmn, bms, bmt, bmb, bmr
367 CHARACTER(LEN=80) :: LINE(1)
387 IF (fluid_at(ijk))
THEN 403 IF (fluid_at(ijk))
THEN 416 ijkb = bottom_of(ijk)
426 rop_sf =
rop_s(ijke,m)*xsi_e(ijk) +
rop_s(ijk,m)*(
one - xsi_e
435 rop_sf=
rop_s(ijk,m)*xsi_e(imjk)+
rop_s(ijkw,m)*(
one-xsi_e(imjk
445 rop_sf =
rop_s(ijkn,m)*xsi_n(ijk) +
rop_s(ijk,m)*(
one - xsi_n
455 rop_sf=
rop_s(ijk,m)*xsi_n(ijmk)+
rop_s(ijks,m)*(
one-xsi_n(ijmk
475 rop_sf =
rop_s(ijk,m)*xsi_t(ijkm) +
rop_s(ijkb,m)*(
one - xsi_t
507 WRITE (line(1),
'(A,I6,A,G12.5)') &
508 'Error: At IJK = ', ijk, &
509 ' A = 0 and b = ', b_m(ijk,0)
525 IF (fluid_at(ijk))
THEN 568 DOUBLE PRECISION,
INTENT(INOUT) :: B_m(dimension_3, 0:dimension_m)
570 DOUBLE PRECISION,
INTENT(INOUT) :: B_mmax(dimension_3, 0:dimension_m)
573 INTEGER,
INTENT(IN) :: M
578 INTEGER :: IJK, I, J, K
582 DOUBLE PRECISION :: pSource
586 ps_lp:
do psv = 1, dimension_ps
595 if(.NOT.is_on_mype_plus2layers(i,j,k)) cycle
598 if(fluid_at(ijk))
then 603 b_m(ijk,0) = b_m(ijk,0) - psource
604 b_mmax(ijk,0) = max(abs(b_mmax(ijk,0)), abs(b_m(ijk,0)))
integer, dimension(dimension_ps) ps_i_w
subroutine conv_source_epp1(A_M, B_M, B_MMAX, M)
double precision, dimension(:,:), allocatable v_s
integer, dimension(:), allocatable i_of
double precision, dimension(:), allocatable e_n
double precision, parameter one
subroutine write_error(NAME, LINE, LMAX)
double precision, dimension(:), allocatable axy
double precision, dimension(:,:), allocatable w_s
subroutine conv_source_epp(A_M, B_M, B_mmax, M)
subroutine conv_source_epp0(A_M, B_M, B_MMAX, M)
double precision, dimension(:,:), allocatable sum_r_s
double precision, dimension(:), allocatable e_t
integer, dimension(dimension_ps) ps_j_n
subroutine calc_xsi(DISCR, PHI, U, V, W, XSI_E, XSI_N, XSI_T, incr)
double precision, dimension(:), allocatable ayz
logical, dimension(dimension_ps) ps_defined
double precision, dimension(:,:), allocatable u_s
double precision, dimension(:), allocatable vsh
double precision, dimension(dimension_ps) ps_volume
integer, dimension(:), allocatable k_of
integer, dimension(dimension_ps) ps_k_b
logical, dimension(:,:,:), allocatable dead_cell_at
integer, dimension(:), allocatable j_of
double precision, parameter small_number
integer, dimension(dimension_ps) ps_k_t
double precision, dimension(:,:), allocatable rop_so
double precision, dimension(:), allocatable axz
double precision, dimension(:,:), allocatable ro_s
double precision, dimension(dimension_ps, dim_m) ps_massflow_s
integer, dimension(dim_eqs) discretize
double precision, dimension(:,:), allocatable rop_s
double precision, dimension(:), allocatable k_cp
double precision, dimension(:), allocatable e_e
integer, dimension(dimension_ps) ps_j_s
double precision, dimension(:), allocatable vol
integer, dimension(dimension_ps) ps_i_e
subroutine point_source_epp(B_M, B_MMAX, M)
double precision, parameter zero