43 use usr_src, only: k_epsilon_e, k_epsilon_k
49 INTEGER,
INTENT(INOUT) :: IER
56 INTEGER :: IJK, I, J, K
60 DOUBLE PRECISION :: apo
64 DOUBLE PRECISION :: res1, mres1, num_res, den_res
75 DOUBLE PRECISION smallTheta
83 character(LEN=8) :: Vname
103 bc_hw_k_turb_g(lc) =
zero 104 bc_k_turb_gw(lc) =
zero 105 bc_c_k_turb_g(lc) =
zero 106 bc_hw_e_turb_g(lc) =
zero 107 bc_e_turb_gw(lc) =
zero 108 bc_c_e_turb_g(lc) =
zero 119 IF (fluid_at(ijk))
THEN 120 apo = rop_g(ijk)*
vol(ijk)*
odt 121 s_p(ijk) = apo + (zmax(
sum_r_g(ijk)) + k_turb_g_p(ijk))*&
123 s_c(ijk) = apo*k_turb_go(ijk) + &
124 k_turb_g(ijk)*zmax((-
sum_r_g(ijk)))*
vol(ijk) + &
125 k_turb_g_c(ijk)*
vol(ijk)
134 u_g, v_g, w_g, flux_ge, flux_gn, flux_gt, &
147 IF (call_usr_source(9))
CALL calc_usr_source(k_epsilon_k,&
156 if(mres1 .gt. max_resid(
resid_ke,0))
then 172 write(vname,
'(A,I2)')
'K_Turb_G' 181 IF (fluid_at(ijk))
THEN 182 IF(k_turb_g(ijk) < smalltheta) k_turb_g(ijk) = smalltheta
197 IF (fluid_at(ijk))
THEN 198 apo = rop_g(ijk)*
vol(ijk)*
odt 212 u_g, v_g, w_g, flux_ge, flux_gn, flux_gt, &
226 IF (call_usr_source(9))
CALL calc_usr_source(k_epsilon_e,&
238 if(mres1 .gt. max_resid(
resid_ke,0))
then 254 write(vname,
'(A,I2)')
'E_Turb_G' 263 IF (fluid_at(ijk))
THEN 305 INTEGER,
INTENT(IN) :: M
308 INTEGER :: IJK, I, J, K
315 IF (fluid_at(ijk))
THEN 316 IF(wall_at(jp_of(ijk)).OR.wall_at(jm_of(ijk)))
THEN 324 b_m(ijk,m) =-((0.09d+0)**0.75*
k_turb_g(ijk)**1.5)/
dy(j) &
326 ELSEIF(wall_at(kp_of(ijk)).OR.wall_at(km_of(ijk)))
THEN 334 b_m(ijk,m) =-((0.09d+0)**0.75*
k_turb_g(ijk)**1.5)* &
335 (
odz(k)*
ox(i)*2.0d+0)/0.42d+0
339 IF (wall_at(ip_of(ijk)))
THEN 347 b_m(ijk,m) =-((0.09d+0)**0.75*
k_turb_g(ijk)**1.5)/&
351 ELSEIF (wall_at(ip_of(ijk)).OR.wall_at(im_of(ijk)))
THEN 359 b_m(ijk,m) =-((0.09d+0)**0.75*k_turb_g(ijk)**1.5)/dx(i) &
363 IF(cut_cell_at(ijk))
THEN 371 b_m(ijk,m) =-((0.09d+0)**0.75*k_turb_g(ijk)**1.5)/&
372 (0.42d+0*delh_scalar(ijk))
double precision, dimension(:,:,:), allocatable a_m
double precision, dimension(:), allocatable flux_ge
subroutine source_k_epsilon_bc(A_M, B_M, M)
double precision, dimension(dim_eqs) ur_fac
double precision, dimension(:), allocatable e_turb_go
integer, dimension(:), allocatable i_of
double precision, dimension(:), allocatable ep_g
double precision, dimension(:), allocatable flux_gst
double precision, dimension(:), allocatable k_turb_g
subroutine calc_usr_source(lEQ_NO, A_M, B_M, lB_MMAX, lM, lN)
double precision, parameter one
double precision, dimension(:), allocatable e_turb_g_c
subroutine init_ab_m(A_M, B_M, IJKMAX2A, M)
double precision, dimension(:,:), allocatable den_resid
subroutine under_relax_s(VAR, A_M, B_M, M, UR)
double precision, dimension(:), allocatable k_turb_go
double precision, dimension(:), allocatable dif_e_turb_g
double precision, dimension(0:dim_j) dy
double precision, dimension(:), allocatable sum_r_g
integer, parameter dimension_bc
subroutine calc_resid_s(VAR, A_M, B_M, M, NUM, DEN, RESID, MAX_RESID, IJK_RESID, TOL)
double precision, dimension(:,:), allocatable num_resid
character(len=4), dimension(dim_eqs) leq_sweep
integer, dimension(:), allocatable k_of
double precision, dimension(:), allocatable flux_gse
double precision, dimension(:,:), allocatable max_resid
integer, dimension(dim_eqs) leq_it
integer, dimension(:), allocatable j_of
double precision, dimension(:), allocatable flux_gn
double precision, dimension(:), allocatable ox
double precision, parameter zero_ep_s
subroutine bc_phi(VAR, BC_PHIF, BC_PHIW, BC_HW_PHI, BC_C_PHI, M, A_M, B_M)
double precision, dimension(:), allocatable dif_k_turb_g
double precision, dimension(:), allocatable v_g
double precision, dimension(0:dim_i) dx
subroutine adjust_leq(RESID, LEQ_ITL, LEQ_METHODL, LEQI, LEQM)
double precision, dimension(:), allocatable w_g
double precision, dimension(dim_eqs) leq_tol
double precision, dimension(:), allocatable flux_gt
double precision, dimension(:), allocatable delh_scalar
integer, dimension(:,:), allocatable ijk_resid
double precision, dimension(:), allocatable k_turb_g_p
logical, dimension(:), allocatable cut_cell_at
subroutine conv_dif_phi(PHI, DIF, DISC, UF, VF, WF, Flux_E, Flux_N, Flux_T, M, A_M, B_M)
double precision, dimension(:), allocatable odz
double precision, dimension(dimension_bc) bc_e_turb_g
double precision, dimension(:), allocatable u_g
integer, dimension(dim_eqs) discretize
double precision, dimension(dimension_bc) bc_k_turb_g
integer, parameter resid_ke
integer, dimension(dim_eqs) leq_method
double precision, dimension(:), allocatable e_turb_g_p
double precision, dimension(:), allocatable flux_gsn
subroutine source_phi(S_P, S_C, EP, PHI, M, A_M, B_M)
logical, dimension(dim_eqs) call_usr_source
double precision, dimension(:,:), allocatable resid
double precision, dimension(:,:), allocatable b_m
double precision, dimension(:), allocatable e_turb_g
double precision, dimension(:), allocatable vol
double precision, dimension(:), allocatable rop_g
double precision, dimension(:), allocatable k_turb_g_c
subroutine solve_k_epsilon_eq(IER)
double precision, parameter zero
subroutine solve_lin_eq(VNAME, Vno, VAR, A_M, B_M, M, ITMAX, METHOD, SWEEP, TOL1, PC, IER)
character(len=4), dimension(dim_eqs) leq_pc