From cccb98839e8c44af38fdb8598143181fdc8b2090 Mon Sep 17 00:00:00 2001 From: rmcdermo Date: Fri, 20 Dec 2024 15:44:35 -0500 Subject: [PATCH] FDS Source: add SOLID OXYGEN MASS FRACTION profile output --- Source/data.f90 | 8 ++++++++ Source/dump.f90 | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/Source/data.f90 b/Source/data.f90 index d6320f84cf..db2064946b 100644 --- a/Source/data.f90 +++ b/Source/data.f90 @@ -1604,6 +1604,14 @@ SUBROUTINE DEFINE_OUTPUT_QUANTITIES OUTPUT_QUANTITY(-80)%UNITS= 'kW/m2' OUTPUT_QUANTITY(-80)%SHORT_NAME = 'hrrpua_O2' +OUTPUT_QUANTITY(-81)%NAME = 'SOLID OXYGEN MASS FRACTION' +OUTPUT_QUANTITY(-81)%UNITS = 'kg/kg' +OUTPUT_QUANTITY(-81)%SHORT_NAME = 'Y_O2' +OUTPUT_QUANTITY(-81)%MATL_ID_REQUIRED=.TRUE. +OUTPUT_QUANTITY(-81)%INSIDE_SOLID = .TRUE. +OUTPUT_QUANTITY(-81)%BNDF_APPROPRIATE = .FALSE. +OUTPUT_QUANTITY(-81)%PROF_APPROPRIATE = .TRUE. + ! Fire spread OUTPUT_QUANTITY(-90)%NAME = 'FIRE ARRIVAL TIME' OUTPUT_QUANTITY(-90)%UNITS = 's' diff --git a/Source/dump.f90 b/Source/dump.f90 index 3b037ff272..0fbf9d55a2 100644 --- a/Source/dump.f90 +++ b/Source/dump.f90 @@ -9272,6 +9272,13 @@ REAL(EB) FUNCTION SOLID_PHASE_OUTPUT(INDX,Y_INDEX,Z_INDEX,PART_INDEX,OPT_WALL_IN IF (SF%INCLUDE_BOUNDARY_PROP2_TYPE) SOLID_PHASE_OUTPUT = B2%Y_O2_ITER CASE(80) ! OXIDATIVE HRRPUA SOLID_PHASE_OUTPUT = B1%Q_DOT_O2_PP*0.001_EB + CASE(81) ! SOLID OXYGEN MASS FRACTION + SOLID_PHASE_OUTPUT = 0._EB + IF (SF%INCLUDE_BOUNDARY_PROP2_TYPE .AND. MATL_INDEX>0) THEN + ML => MATERIAL(MATL_INDEX) + ! for the moment this assumes there is only one char reaction + IF (ML%N_O2(1)>0._EB) SOLID_PHASE_OUTPUT = B2%Y_O2_F*EXP(-ONE_D%X(I_DEPTH-1)/(TWO_EPSILON_EB+ML%GAS_DIFFUSION_DEPTH(1))) + ENDIF CASE(90) ! FIRE ARRIVAL TIME IF (PRESENT(OPT_WALL_INDEX)) THEN OUTPUT_INDEX = OPT_WALL_INDEX