41 DOUBLE PRECISION,
INTENT(INOUT) :: A_m(dimension_3, -3:3, 0:dimension_m)
43 DOUBLE PRECISION,
INTENT(INOUT) :: B_m(dimension_3, 0:dimension_m)
45 DOUBLE PRECISION,
INTENT(INOUT) :: B_mmax(dimension_3, 0:dimension_m)
52 INTEGER :: IJK, IMJK, IPJK, IJMK, IJPK, IJKM, IJKP
54 DOUBLE PRECISION bma, bme, bmw, bmn, bms, bmt, bmb, bmr
56 CHARACTER(LEN=80) :: LINE(1)
63 IF (fluid_at(ijk))
THEN 64 v_g(ijk)=v_g(ijk)+
vsh(ijk)
80 IF (fluid_at(ijk))
THEN 86 bme = a_m(ijk,
east,0)*u_g(ijk)
87 bmw = a_m(ijk,
west,0)*u_g(imjk)
88 bmn = a_m(ijk,
north,0)*v_g(ijk)
89 bms = a_m(ijk,
south,0)*v_g(ijmk)
90 bmt = a_m(ijk,
top,0)*w_g(ijk)
91 bmb = a_m(ijk,
bottom,0)*w_g(ijkm)
93 b_m(ijk,0) = -((-(bma + bme - bmw + &
94 bmn - bms + bmt - bmb ))+ bmr )
95 b_mmax(ijk,0) = max(abs(bma),abs(bme),abs(bmw),&
96 abs(bmn),abs(bms),abs(bmt),abs(bmb),abs(bmr) )
102 a_m(ijk,
top,0) = a_m(ijk,
top,0)*
d_t(ijk,0)
121 b_m(ijk,0) = b_m(ijk,0) - &
123 a_m(ijk,
east,m)*u_s(ijk,m)-a_m(ijk,
west,m)*u_s(imjk
146 a_m(ijk,0,0) = -(a_m(ijk,
east,0)+a_m(ijk,
west,0)+&
156 WRITE (line,
'(A,I6,A,I1,A,G12.5)')
'Error: At IJK = ' 157 ' M = ', 0,
' A = 0 and b = ', b_m(ijk,0)
186 IF (fluid_at(ijk))
THEN 187 v_g(ijk)=v_g(ijk)-
vsh(ijk)
202 IF (fluid_at(ijk))
THEN 210 if(p_flow_at(imjk)) a_m(ijk,
west, 0) =
zero 211 if(p_flow_at(ipjk)) a_m(ijk,
east, 0) =
zero 212 if(p_flow_at(ijmk)) a_m(ijk,
south, 0) =
zero 213 if(p_flow_at(ijpk)) a_m(ijk,
north, 0) =
zero 214 if(p_flow_at(ijkm)) a_m(ijk,
bottom, 0) =
zero 215 if(p_flow_at(ijkp)) a_m(ijk,
top, 0) =
zero 221 IF (
ijk_p_g /= undefined_i)
THEN 231 include
'functions.inc' 256 use functions, only: fluid_at, im_of, jm_of, km_of
257 use functions, only: east_of, west_of, north_of, south_of
270 LOGICAL,
PARAMETER :: HS_CORRECT = .false.
275 DOUBLE PRECISION,
INTENT(INOUT) :: A_m(dimension_3, -3:3, 0:dimension_m)
283 DOUBLE PRECISION :: XSI_e(dimension_3)
284 DOUBLE PRECISION :: XSI_n(dimension_3)
285 DOUBLE PRECISION :: XSI_t(dimension_3)
287 double precision :: fac
289 INTEGER :: IJK, IMJK, IPJK, IJMK, IJPK, IJKM, IJKP
290 INTEGER :: IJKE, IJKW, IJKN, IJKS, IJKT, IJKB
296 IF (.NOT.hs_correct)
THEN 300 IF (fluid_at(ijk))
THEN 302 a_m(ijk,0,0) = a_m(ijk,0,0) -
ur_fac(1)*&
318 IF (fluid_at(ijk))
THEN 327 ijkb = bottom_of(ijk)
double precision, dimension(:,:), allocatable v_s
double precision, dimension(dim_eqs) ur_fac
double precision, dimension(:), allocatable ep_g
double precision, dimension(:,:), allocatable d_n
double precision, parameter one
subroutine write_error(NAME, LINE, LMAX)
double precision, dimension(:), allocatable a_wpg_t
double precision, dimension(:), allocatable axy
double precision, dimension(:,:), allocatable w_s
double precision, dimension(:,:), allocatable d_e
double precision, dimension(:), allocatable sum_r_g
double precision, dimension(:,:), allocatable sum_r_s
double precision, dimension(:), allocatable p_g
subroutine calc_xsi(DISCR, PHI, U, V, W, XSI_E, XSI_N, XSI_T, incr)
double precision, parameter undefined
double precision, dimension(:,:), allocatable d_t
double precision, dimension(:), allocatable ayz
logical, dimension(dim_m) close_packed
double precision, dimension(:,:), allocatable u_s
double precision, dimension(:), allocatable vsh
subroutine source_pp_g(A_M, B_M, B_MMAX)
double precision function droodp_g(ROG, PG)
double precision, parameter small_number
double precision, dimension(:), allocatable v_g
subroutine compressible_pp_g(A_M)
double precision, dimension(:), allocatable w_g
double precision, dimension(:,:), allocatable rop_so
double precision, dimension(:), allocatable axz
double precision, dimension(:), allocatable rop_go
double precision, dimension(:), allocatable u_g
integer, dimension(dim_eqs) discretize
double precision, dimension(:,:), allocatable rop_s
double precision, dimension(:), allocatable a_vpg_n
double precision, dimension(:), allocatable vol
double precision, dimension(:), allocatable ro_g
double precision, dimension(:), allocatable rop_g
double precision, parameter zero
double precision, dimension(:), allocatable a_upg_e