Skip to content

Commit f0f2eb5

Browse files
committed
FDS Source: rename CHAR_FRONT to ASH_DEPTH in TEST_NEW_CHAR_MODEL
1 parent 2e335ba commit f0f2eb5

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

Source/dump.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8523,7 +8523,7 @@ REAL(EB) FUNCTION SOLID_PHASE_OUTPUT(INDX,Y_INDEX,Z_INDEX,PART_INDEX,OPT_WALL_IN
85238523
INTEGER, INTENT(IN), OPTIONAL :: OPT_WALL_INDEX,OPT_LP_INDEX,OPT_CFACE_INDEX,OPT_BNDF_INDEX,OPT_DEVC_INDEX,OPT_CUT_FACE_INDEX,&
85248524
OPT_NODE_INDEX,OPT_PROF_INDEX
85258525
INTEGER, INTENT(IN) :: INDX,Y_INDEX,Z_INDEX,PART_INDEX
8526-
REAL(EB) :: Q_CON,RHOSUM,VOLSUM,ZZ_GET(1:N_TRACKED_SPECIES),Y_SPECIES,DEPTH,CHAR_FRONT,UN,H_S,RHO_D_DYDN,U_CELL,V_CELL,W_CELL,&
8526+
REAL(EB) :: Q_CON,RHOSUM,VOLSUM,ZZ_GET(1:N_TRACKED_SPECIES),Y_SPECIES,DEPTH,ASH_DEPTH,UN,H_S,RHO_D_DYDN,U_CELL,V_CELL,W_CELL,&
85278527
LTMP,ATMP,CTMP,H_W_EFF,X0,VOL,DN,PRESS,&
85288528
NVEC(3),PVEC(3),TAU_IJ(3,3),VEL_CELL(3),VEL_WALL(3),MU_WALL,RHO_WALL,FVEC(3),SVEC(3),TVEC1(3),TVEC2(3),&
85298529
PR1,PR2,Z1,Z2,RADIUS,CUT_FACE_AREA,SOLID_PHASE_OUTPUT_CTF,AAA,BBB,CCC,ALP,BET,GAM,MMM,DTMP
@@ -9278,9 +9278,9 @@ REAL(EB) FUNCTION SOLID_PHASE_OUTPUT(INDX,Y_INDEX,Z_INDEX,PART_INDEX,OPT_WALL_IN
92789278
! for the moment this assumes there is only one char reaction
92799279
IF (ML%N_O2(1)>0._EB) THEN
92809280
DEPTH = 0.5_EB*(ONE_D%X(I_DEPTH-1)+ONE_D%X(I_DEPTH))
9281-
CHAR_FRONT = 0._EB
9282-
IF (TEST_NEW_CHAR_MODEL) CHAR_FRONT = ONE_D%X(B2%I_CHAR_FRONT-1)
9283-
SOLID_PHASE_OUTPUT = B2%Y_O2_F*EXP(-MAX(0._EB,DEPTH-CHAR_FRONT)/(TWO_EPSILON_EB+ML%GAS_DIFFUSION_DEPTH(1)))
9281+
ASH_DEPTH = 0._EB
9282+
IF (TEST_NEW_CHAR_MODEL) ASH_DEPTH = ONE_D%X(B2%I_ASH_DEPTH-1)
9283+
SOLID_PHASE_OUTPUT = B2%Y_O2_F*EXP(-MAX(0._EB,DEPTH-ASH_DEPTH)/(TWO_EPSILON_EB+ML%GAS_DIFFUSION_DEPTH(1)))
92849284
ENDIF
92859285
ENDIF
92869286
CASE(82) ! BLOWING CORRECTION

Source/type.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ MODULE TYPES
363363
INTEGER :: SURF_INDEX=-1 !< Surface index
364364
INTEGER :: HEAT_TRANSFER_REGIME=0 !< 1=Forced convection, 2=Natural convection, 3=Impact convection, 4=Resolved
365365
INTEGER :: Y_O2_ITER=0 !< Number of iterations for surface O2 solve
366-
INTEGER :: I_CHAR_FRONT=1 !< Index of solid cell where char formation starts
366+
INTEGER :: I_ASH_DEPTH=1 !< Index of solid cell where char formation starts
367367

368368
END TYPE BOUNDARY_PROP2_TYPE
369369

Source/wall.f90

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2883,7 +2883,7 @@ SUBROUTINE PERFORM_PYROLYSIS
28832883
USE PHYSICAL_FUNCTIONS, ONLY: GET_MASS_FRACTION,GET_SPECIFIC_HEAT
28842884
REAL(EB), DIMENSION(N_TRACKED_SPECIES) :: M_DOT_G_PPP_ADJUST,M_DOT_G_PPP_ACTUAL,ZZ_GET
28852885
REAL(EB), DIMENSION(MAX_MATERIALS) :: RHO_TEMP,M_DOT_S_PPP
2886-
REAL(EB) :: Q_DOT_G_PPP,Q_DOT_O2_PPP,CP_FILM,TMP_FILM,H_MASS,CHAR_FRONT,&
2886+
REAL(EB) :: Q_DOT_G_PPP,Q_DOT_O2_PPP,CP_FILM,TMP_FILM,H_MASS,ASH_DEPTH,&
28872887
Y_O2_G,Y_O2_F,M_DOT_O2_PP,Y_LOWER,Y_UPPER,M_DOT_ERROR,M_DOT_ERROR_OLD,Y_O2_F_OLD,DY,DE
28882888
REAL(EB), DIMENSION(MAX_LPC) :: Q_DOT_PART,M_DOT_PART
28892889
INTEGER :: ITER,MAX_ITER
@@ -2901,17 +2901,17 @@ SUBROUTINE PERFORM_PYROLYSIS
29012901

29022902
! Determine char front position
29032903

2904-
CHAR_FRONT=0._EB
2904+
ASH_DEPTH=0._EB
29052905
IF (TEST_NEW_CHAR_MODEL .AND. Y_O2_F>TWO_EPSILON_EB .AND. CHAR_INDEX>0) THEN
2906-
! The new char model starts the exp profile of O2 at the CHAR_FRONT
2906+
! The new char model starts the exp profile of O2 at the ASH_DEPTH
29072907
! Find first cell where char has not been consumed
2908-
CHAR_FRONT_POINTS_LOOP: DO I=B2%I_CHAR_FRONT,NWP
2908+
ASH_DEPTH_POINTS_LOOP: DO I=B2%I_ASH_DEPTH,NWP
29092909
IF (ONE_D%MATL_COMP(CHAR_INDEX)%RHO(I)>CHAR_DENSITY_THRESHOLD) THEN
2910-
CHAR_FRONT=ONE_D%X(I-1)
2911-
B2%I_CHAR_FRONT=I ! store last position to save time on next time step
2912-
EXIT CHAR_FRONT_POINTS_LOOP
2910+
ASH_DEPTH=ONE_D%X(I-1)
2911+
B2%I_ASH_DEPTH=I ! store last position to save time on next time step
2912+
EXIT ASH_DEPTH_POINTS_LOOP
29132913
ENDIF
2914-
ENDDO CHAR_FRONT_POINTS_LOOP
2914+
ENDDO ASH_DEPTH_POINTS_LOOP
29152915
ENDIF
29162916

29172917
! Initialize iterations for OXPYRO_MODEL
@@ -2964,13 +2964,13 @@ SUBROUTINE PERFORM_PYROLYSIS
29642964

29652965
IF (PRESENT(PARTICLE_INDEX)) THEN
29662966
CALL PYROLYSIS(ONE_D%N_MATL,ONE_D%MATL_INDEX,SURF_INDEX,BC%IIG,BC%JJG,BC%KKG,ONE_D%TMP(I),B1%TMP_F,Y_O2_F,BC%IOR,&
2967-
RHO_DOT(1:ONE_D%N_MATL,I),RHO_TEMP(1:ONE_D%N_MATL),ONE_D%X(I-1),CHAR_FRONT,DX_S,DT_BC_SUB,&
2967+
RHO_DOT(1:ONE_D%N_MATL,I),RHO_TEMP(1:ONE_D%N_MATL),ONE_D%X(I-1),ASH_DEPTH,DX_S,DT_BC_SUB,&
29682968
M_DOT_G_PPP_ADJUST,M_DOT_G_PPP_ACTUAL,M_DOT_S_PPP,Q_S(I),Q_DOT_G_PPP,Q_DOT_O2_PPP,&
29692969
Q_DOT_PART,M_DOT_PART,T_BOIL_EFF,B1%B_NUMBER,LAYER_INDEX(I),REMOVE_LAYER,ONE_D,B1,SOLID_CELL_INDEX=I,&
29702970
R_DROP=R_SURF,LPU=U_SURF,LPV=V_SURF,LPW=W_SURF)
29712971
ELSE
29722972
CALL PYROLYSIS(ONE_D%N_MATL,ONE_D%MATL_INDEX,SURF_INDEX,BC%IIG,BC%JJG,BC%KKG,ONE_D%TMP(I),B1%TMP_F,Y_O2_F,BC%IOR,&
2973-
RHO_DOT(1:ONE_D%N_MATL,I),RHO_TEMP(1:ONE_D%N_MATL),0.5*(ONE_D%X(I-1)+ONE_D%X(I)),CHAR_FRONT,DX_S,DT_BC_SUB,&
2973+
RHO_DOT(1:ONE_D%N_MATL,I),RHO_TEMP(1:ONE_D%N_MATL),0.5*(ONE_D%X(I-1)+ONE_D%X(I)),ASH_DEPTH,DX_S,DT_BC_SUB,&
29742974
M_DOT_G_PPP_ADJUST,M_DOT_G_PPP_ACTUAL,M_DOT_S_PPP,Q_S(I),Q_DOT_G_PPP,Q_DOT_O2_PPP,&
29752975
Q_DOT_PART,M_DOT_PART,T_BOIL_EFF,B1%B_NUMBER,LAYER_INDEX(I),REMOVE_LAYER,ONE_D,B1,SOLID_CELL_INDEX=I)
29762976
ENDIF
@@ -3057,7 +3057,7 @@ END SUBROUTINE SOLID_HEAT_TRANSFER
30573057
!> \param RHO_DOT_OUT (1:N_MATS) Array of component reaction rates (kg/m3/s)
30583058
!> \param RHO_S (1:N_MATS) Array of component densities (kg/m3)
30593059
!> \param DEPTH Distance from surface (m)
3060-
!> \param CHAR_FRONT Distance from surface to start of char front (m)
3060+
!> \param ASH_DEPTH Distance from surface to start of char front (m)
30613061
!> \param DX_S Array of node sizes (m)
30623062
!> \param DT_BC Time step used by the solid phase solver (s)
30633063
!> \param M_DOT_G_PPP_ADJUST (1:N_TRACKED_SPECIES) Adjusted mass generation rate per unit volume of the gas species
@@ -3081,7 +3081,7 @@ END SUBROUTINE SOLID_HEAT_TRANSFER
30813081
!> \param LPW (OPTIONAL) z component of droplet velocity (m/s)
30823082

30833083
SUBROUTINE PYROLYSIS(N_MATS,MATL_INDEX,SURF_INDEX,IIG,JJG,KKG,TMP_S,TMP_F,Y_O2_F,IOR,&
3084-
RHO_DOT_OUT,RHO_S,DEPTH,CHAR_FRONT,DX_S,DT_BC,&
3084+
RHO_DOT_OUT,RHO_S,DEPTH,ASH_DEPTH,DX_S,DT_BC,&
30853085
M_DOT_G_PPP_ADJUST,M_DOT_G_PPP_ACTUAL,M_DOT_S_PPP,Q_DOT_S_PPP,Q_DOT_G_PPP,Q_DOT_O2_PPP,&
30863086
Q_DOT_PART,M_DOT_PART,T_BOIL_EFF,B_NUMBER,LAYER_INDEX,REMOVE_LAYER,ONE_D,B1,SOLID_CELL_INDEX,&
30873087
R_DROP,LPU,LPV,LPW)
@@ -3094,7 +3094,7 @@ SUBROUTINE PYROLYSIS(N_MATS,MATL_INDEX,SURF_INDEX,IIG,JJG,KKG,TMP_S,TMP_F,Y_O2_F
30943094
INTEGER, INTENT(IN), OPTIONAL :: SOLID_CELL_INDEX
30953095
LOGICAL, INTENT(IN) :: REMOVE_LAYER
30963096
REAL(EB), INTENT(OUT), DIMENSION(:,:) :: RHO_DOT_OUT(N_MATS)
3097-
REAL(EB), INTENT(IN) :: TMP_S,TMP_F,DT_BC,DEPTH,RHO_S(N_MATS),Y_O2_F,CHAR_FRONT
3097+
REAL(EB), INTENT(IN) :: TMP_S,TMP_F,DT_BC,DEPTH,RHO_S(N_MATS),Y_O2_F,ASH_DEPTH
30983098
REAL(EB), INTENT(IN), OPTIONAL :: R_DROP,LPU,LPV,LPW
30993099
REAL(EB), INTENT(IN), DIMENSION(NWP_MAX) :: DX_S
31003100
REAL(EB), DIMENSION(:) :: ZZ_GET(1:N_TRACKED_SPECIES),Y_ALL(1:N_SPECIES)
@@ -3377,7 +3377,7 @@ SUBROUTINE PYROLYSIS(N_MATS,MATL_INDEX,SURF_INDEX,IIG,JJG,KKG,TMP_S,TMP_F,Y_O2_F
33773377
! Calculate oxygen volume fraction at the surface
33783378
X_O2 = SPECIES(O2_INDEX)%RCON*Y_O2_F/RSUM(IIG,JJG,KKG)
33793379
! Calculate oxygen concentration inside the material, assuming decay function
3380-
X_O2 = X_O2 * EXP(-MAX(0._EB,DEPTH-CHAR_FRONT)/(TWO_EPSILON_EB+ML%GAS_DIFFUSION_DEPTH(J)))
3380+
X_O2 = X_O2 * EXP(-MAX(0._EB,DEPTH-ASH_DEPTH)/(TWO_EPSILON_EB+ML%GAS_DIFFUSION_DEPTH(J)))
33813381
REACTION_RATE = REACTION_RATE * X_O2**ML%N_O2(J)
33823382
ENDIF
33833383
REACTION_RATE = MIN(REACTION_RATE,ML%MAX_REACTION_RATE(J)) ! User-specified limit

0 commit comments

Comments
 (0)