36 REAL(DBL),
INTENT(IN) :: p_coor(3),ts,teuler,p_in
37 REAL(DBL),
INTENT(OUT) :: qc,qcprime
39 REAL(DBL) :: p, te, try_film, front_dist
40 REAL(DBL) :: cp_mks, exp_moser, coe_moser, coe1, par
41 REAL(DBL) :: prndtl, lambda, mu, x_surf
49 te =
min(teuler,2.0d0*bp%Tstar0)
51 IF(bp%ixsymm >= 1)
THEN
52 x_surf = p_coor(bp%ixsymm)
54 cp_mks = bp%C/j_kg2cal_g
55 lambda = (2.581
d-7*te + 3.1788
d-5)*4186.8/10.0
58 exp_moser = - 1.0d0/5.0d0
59 coe_moser = 800.0d0*14.0d0
60 coe1 = 800.0d0/0.0287d0
65 front_dist = (x_surf - bp%x_surf_burn)
66 par =
max( (coe1*front_dist*mu*cp_mks*lambda**(-2.0)), 1.
d-6 )
68 try_film =
merge(coe_moser*par**exp_moser, 0.0d0, front_dist >= 0.0d0)
72 try_film = bp%film_cons
79 qc =
max(try_film * (te - ts), 0.0d0)
90 SUBROUTINE burn_init_1d(bp,bflag,Pin,To,rhoc,p_coor,rb,Toa,fr,Tn,Tflame)
96 INTEGER,
INTENT(INOUT) :: bflag
97 REAL(DBL),
INTENT(IN) ::
pin,to,rhoc,p_coor(3)
98 REAL(DBL),
INTENT(OUT) :: rb,toa,fr
99 REAL(DBL),
INTENT(OUT) :: tn(:)
100 REAL(DBL),
INTENT (OUT) :: tflame
102 REAL(DBL) :: xcond, c1, ts, dtemp, p, x_surf, dytab, alp
109 IF(bp%ixsymm >= 1)
THEN
110 x_surf = p_coor(bp%ixsymm)
111 IF(x_surf <= bp%x_surf_burn)
THEN
135 if(bp%TABUSE == 0)
then
136 rb = bp%a_p*( p/bp%Pref )**bp%n_p
137 c1 = -log( rb/bp%Ac ) / bp%ec_ru
141 call
polint(bp,bp%TABLE%press00,bp%TABLE%Tstd00,bp%TABLE%ny_table,p,ts,dytab)
142 call
polint(bp,bp%TABLE%press00,bp%TABLE%rstd00,bp%TABLE%ny_table,p,rb,dytab)
144 call
polin2(bp,bp%TABLE%tsurf00,bp%TABLE%press00,bp%TABLE%alph00, &
145 bp%TABLE%nx_TABLE,bp%TABLE%ny_table,ts,p,alp,jj,kk)
151 tn(
i) = ts - dtemp * (dexp(bp%x(
i)*xcond) - one) &
152 / (dexp(bp%xmax*xcond) - one)
156 dtemp = bp%Tsurf - to
158 xcond = (bp%x(
i) - bp%xmax)/bp%xmax
159 tn(
i) = to - dtemp * xcond
subroutine burn_init_1d(bp, bflag, Pin, To, rhoc, p_coor, rb, Toa, fr, Tn, Tflame)
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine polint(bp, xa, ya, n, x, y, dx)
subroutine polin2(bp, x1a, x2a, y12a, m, n, x1, x2, y, j, k)
blockLoc pin(const blockLoc &l) const
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine burn_get_film_coeff_1d(bp, p_coor, Ts, Teuler, P_in, Qc, Qcprime)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to merge