54 use usr_src, only: gas_species, solids_species
61 INTEGER,
INTENT(INOUT) :: IER
70 DOUBLE PRECISION :: apo
82 INTEGER :: Err_l(0:
numpes-1)
83 INTEGER :: Err_g(0:
numpes-1)
89 DOUBLE PRECISION :: S_P(dimension_3)
92 DOUBLE PRECISION :: S_C(dimension_3)
95 DOUBLE PRECISION :: eps(dimension_3)
97 DOUBLE PRECISION :: vxgama(dimension_3)
104 DOUBLE PRECISION ,
EXTERNAL :: Check_conservation
114 IF (species_eq(0))
THEN 123 IF (fluid_at(ijk))
THEN 125 apo = rop_go(ijk)*
vol(ijk)*odt
127 (zmax(sum_r_g(ijk))+rox_gc(ijk,ln))*
vol(ijk)
128 s_c(ijk) = apo*x_go(ijk,ln) + &
129 x_g(ijk,ln)*zmax((-sum_r_g(ijk)))*
vol(ijk) +&
130 r_gp(ijk,ln)*
vol(ijk)
138 IF(.NOT.added_mass)
THEN 140 discretize(7), u_g, v_g, w_g, &
144 discretize(7), u_g, v_g, w_g, &
149 CALL bc_phi (x_g(1,ln), bc_x_g(1,ln), bc_xw_g(1,ln), &
150 bc_hw_x_g(1,ln), bc_c_x_g(1,ln), 0,
a_m,
b_m)
157 ps_x_g(:,ln), ps_massflow_g, 0,
a_m,
b_m)
160 IF(call_usr_source(8))
CALL calc_usr_source(gas_species, &
179 IF(ier == -2) err_l(
mype) = 130
192 IF (species_eq(m))
THEN 196 x_s_temp(ijk, ln) =
x_s(ijk,m,ln)
199 call set_chi(discretize(7), x_s_temp, nmax(m), &
208 IF (fluid_at(ijk))
THEN 212 s_c(ijk) = apo*
x_so(ijk,m,ln) + &
223 IF(.NOT.added_mass .OR. m /= m_am)
THEN 225 discretize(7),
u_s(1,m),
v_s(1,m),
w_s(1,m), &
229 discretize(7),
u_s(1,m),
v_s(1,m),
w_s(1,m), &
244 IF(call_usr_source(8))
CALL calc_usr_source(solids_species,&
271 IF(ier == -2) err_l(
mype) = 131
double precision, dimension(:,:,:), allocatable a_m
double precision, dimension(:), allocatable flux_ge
double precision, dimension(:,:), allocatable v_s
double precision, dimension(dim_eqs) ur_fac
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_hw_x_s
double precision, dimension(:), allocatable ep_g
double precision, dimension(:), allocatable flux_gst
double precision, dimension(:,:), allocatable flux_st
double precision, dimension(:,:), allocatable dif_g
double precision, dimension(:,:,:), allocatable x_so
subroutine calc_usr_source(lEQ_NO, A_M, B_M, lB_MMAX, lM, lN)
double precision, dimension(dimension_bc, dim_n_g) bc_c_x_g
subroutine init_ab_m(A_M, B_M, IJKMAX2A, M)
double precision, dimension(:,:), allocatable w_s
double precision, dimension(:,:), allocatable den_resid
logical, dimension(0:dim_m) species_eq
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_x_s
double precision, dimension(:), allocatable flux_ssn
subroutine under_relax_s(VAR, A_M, B_M, M, UR)
double precision, dimension(:), allocatable sum_r_g
double precision, dimension(:,:), allocatable sum_r_s
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
double precision, dimension(:,:,:), allocatable rox_sc
double precision, dimension(dimension_ps) ps_massflow_g
double precision, dimension(:,:), allocatable u_s
double precision, dimension(:), allocatable flux_gse
double precision, dimension(:,:), allocatable max_resid
integer, dimension(dim_eqs) leq_it
double precision, dimension(:,:,:), allocatable x_s
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_c_x_s
double precision, dimension(:), allocatable flux_gn
double precision, dimension(:,:), allocatable x_g
double precision, dimension(dimension_bc, dim_m, dim_n_s) bc_xw_s
subroutine bc_phi(VAR, BC_PHIF, BC_PHIW, BC_HW_PHI, BC_C_PHI, M, A_M, B_M)
double precision, dimension(:,:,:), allocatable r_sp
double precision, dimension(:), allocatable v_g
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 dif_s
double precision, dimension(:,:), allocatable rop_so
double precision, dimension(dimension_ps, dim_n_g) ps_x_g
double precision, dimension(dimension_bc, dim_n_g) bc_xw_g
double precision, dimension(:), allocatable flux_gt
double precision, dimension(:,:), allocatable rox_gc
integer, dimension(:,:), allocatable ijk_resid
integer, dimension(0:dim_m) nmax
double precision, dimension(:), allocatable rop_go
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 x_go
subroutine point_source_phi(PHI, PS_PHI, PS_FLOW, M, A_M, B_M)
double precision, dimension(dimension_ps, dim_m) ps_massflow_s
double precision, dimension(:), allocatable u_g
double precision function ep_s(IJK, xxM)
double precision, dimension(dimension_bc, dim_n_g) bc_x_g
integer, dimension(dim_eqs) discretize
subroutine bound_x(ARRAY, IJKMAX2)
subroutine set_chi(DISCR, PHI, Nmax, U, V, W)
double precision, dimension(dimension_ps, dim_m, dim_n_s) ps_x_s
double precision, parameter zero_x_gs
integer, dimension(dim_eqs) leq_method
subroutine solve_species_eq(IER)
double precision, dimension(:,:), allocatable flux_se
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 vol
integer, parameter resid_x
double precision, dimension(:,:), allocatable flux_sn
double precision, dimension(dimension_bc, dim_n_g) bc_hw_x_g
double precision, parameter zero
double precision, dimension(:), allocatable flux_sst
double precision, dimension(:,:), allocatable r_gp
double precision, dimension(:), allocatable flux_sse
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