Skip to content

Commit 51e4b47

Browse files
authored
Merge pull request #14271 from mcgratta/master
FDS Source: Issue #14269. Radiation emission output
2 parents 5652a3c + ad0bf94 commit 51e4b47

File tree

8 files changed

+45
-2
lines changed

8 files changed

+45
-2
lines changed

Manuals/FDS_User_Guide/FDS_User_Guide.tex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11405,7 +11405,9 @@ \section{Gas Phase Output Quantities}
1140511405
\ct{PRESSURE ZONE} & Section~\ref{info:ZONE} & & D,S \\ \hline
1140611406
\ct{Q CRITERION} & $\frac{1}{2} [\mathrm{trace}(\nabla \mathbf{u})^2 - \mathrm{trace}( (\nabla \mathbf{u})^2)]$ & 1/s$^2$ & D,I,P,S \\ \hline
1140711407
\ct{RADIAL VELOCITY} & $(u,v)\cdot(x,y)/\sqrt{x^2+y^2}$ & m/s & D,I,P,S \\ \hline
11408-
\ct{RADIATION LOSS} & $\nabla \cdot \bq_r''$ & kW/m$^3$ & D,I,P,S \\ \hline
11408+
\ct{RADIATION ABSORPTION} & $\kappa U$ & kW/m$^3$ & D,I,P,S \\ \hline
11409+
\ct{RADIATION EMISSION} & $4 \kappa \sigma T^4$ & kW/m$^3$ & D,I,P,S \\ \hline
11410+
\ct{RADIATION LOSS} & $\nabla \cdot \bq_r''=\kappa (U-4 \sigma T^4)$ & kW/m$^3$ & D,I,P,S \\ \hline
1140911411
\ct{RADIATIVE HEAT FLUX GAS} & Section~\ref{info:heat_flux} & \unit{kW/m^2} & D \\ \hline
1141011412
\ct{REAC SOURCE TERM}$^1$ & $\dot{m}_\alpha^{\prime\prime\prime}$ & kg/m$^3$ & D,I,P,S \\ \hline
1141111413
\ct{RELATIVE HUMIDITY} & Section~\ref{info:simple_chemistry} & \% & D,I,P,S \\ \hline

Source/cons.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ MODULE GLOBAL_CONSTANTS
256256
LOGICAL :: POSITIVE_ERROR_TEST=.FALSE.
257257
LOGICAL :: OBST_SHAPE_AREA_ADJUST=.FALSE.
258258
LOGICAL :: STORE_SPECIES_FLUX=.FALSE.
259+
LOGICAL :: STORE_RADIATION_TERMS=.FALSE.
259260
LOGICAL :: STORE_PRESSURE_POISSON_RESIDUAL=.FALSE.
260261
LOGICAL :: OXIDATION_REACTION=.FALSE.
261262
LOGICAL :: PERIODIC_DOMAIN_X=.FALSE. !< The domain is periodic \f$ x \f$

Source/data.f90

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,16 @@ SUBROUTINE DEFINE_OUTPUT_QUANTITIES
439439
OUTPUT_QUANTITY(77)%UNITS = ' '
440440
OUTPUT_QUANTITY(77)%SHORT_NAME = 'phi'
441441

442+
! Special radiation terms
443+
444+
OUTPUT_QUANTITY(78)%NAME = 'RADIATION EMISSION'
445+
OUTPUT_QUANTITY(78)%UNITS = 'kW/m3'
446+
OUTPUT_QUANTITY(78)%SHORT_NAME = 'emit'
447+
448+
OUTPUT_QUANTITY(79)%NAME = 'RADIATION ABSORPTION'
449+
OUTPUT_QUANTITY(79)%UNITS = 'kW/m3'
450+
OUTPUT_QUANTITY(79)%SHORT_NAME = 'abs'
451+
442452
! Cell indices (for Smokeview debugging)
443453

444454
OUTPUT_QUANTITY(80)%NAME = 'CELL INDEX I'

Source/dump.f90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7618,6 +7618,10 @@ REAL(EB) RECURSIVE FUNCTION GAS_PHASE_OUTPUT(T,DT,NM,II,JJ,KK,IND,IND2,Y_INDEX,Z
76187618

76197619
CASE(77) ! LEVEL SET VALUE
76207620
GAS_PHASE_OUTPUT_RES = PHI_LS(II,JJ)
7621+
CASE(78) ! RADIATION EMISSION
7622+
GAS_PHASE_OUTPUT_RES = RADIATION_EMISSION(II,JJ,KK)*0.001_EB
7623+
CASE(79) ! RADIATION ABSORPTION
7624+
GAS_PHASE_OUTPUT_RES = RADIATION_ABSORPTION(II,JJ,KK)*0.001_EB
76217625
CASE(80) ! CELL INDEX I
76227626
GAS_PHASE_OUTPUT_RES = REAL(II,EB)
76237627
CASE(81) ! CELL INDEX J

Source/init.f90

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,13 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
291291
ALLOCATE(M%KAPPA_GAS(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','KAPPA_GAS',IZERO) ; M%KAPPA_GAS = 0._EB
292292
ALLOCATE(M%UII(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','UII',IZERO) ; M%UII = 0._EB
293293

294+
IF (STORE_RADIATION_TERMS) THEN
295+
ALLOCATE(M%RADIATION_EMISSION(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','RADIATION_EMISSION',IZERO)
296+
M%RADIATION_EMISSION = 0._EB
297+
ALLOCATE(M%RADIATION_ABSORPTION(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','RADIATION_ABSORPTION',IZERO)
298+
M%RADIATION_ABSORPTION = 0._EB
299+
ENDIF
300+
294301
! Work arrays
295302

296303
ALLOCATE(M%WORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK1',IZERO)

Source/mesh.f90

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ MODULE MESH_VARIABLES
4646
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: CHI_R !< Radiative fraction, \f$ \chi_{{\rm r},ijk} \f$
4747
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: QR !< Radiation source term, \f$ -\nabla \cdot \dot{\mathbf{q}}_{\rm r}'' \f$
4848
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: QR_W !< Radiation source term, particles and droplets
49+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: RADIATION_EMISSION !< Radiation source term, emission
50+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: RADIATION_ABSORPTION !< Radiation source term, absorption
4951
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: UII !< Integrated intensity, \f$ U_{ijk}=\sum_{l=1}^N I_{ijk}^l\delta\Omega^l\f$
5052
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: RSUM !< \f$ R_0 \sum_\alpha Z_{\alpha,ijk}/W_\alpha \f$
5153
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: D_SOURCE!< Source terms in the expression for the divergence
@@ -348,7 +350,7 @@ MODULE MESH_POINTERS
348350

349351
REAL(EB), POINTER, DIMENSION(:,:,:) :: &
350352
U,V,W,US,VS,WS,DDDT,D,DS,H,HS,KRES,FVX,FVY,FVZ,FVX_B,FVY_B,FVZ_B,FVX_D,FVY_D,FVZ_D,RHO,RHOS, &
351-
MU,MU_DNS,TMP,Q,KAPPA_GAS,CHI_R,QR,QR_W,UII,RSUM,D_SOURCE, &
353+
MU,MU_DNS,TMP,Q,KAPPA_GAS,CHI_R,QR,QR_W,RADIATION_EMISSION,RADIATION_ABSORPTION,UII,RSUM,D_SOURCE, &
352354
CSD2,MTR,MSR,WEM,MIX_TIME,CHEM_SUBIT,STRAIN_RATE,D_Z_MAX,PP_RESIDUAL,LES_FILTER_WIDTH
353355
REAL(EB), POINTER, DIMENSION(:,:,:,:) :: ZZ,ZZS,REAC_SOURCE_TERM,DEL_RHO_D_DEL_Z,FX,FY,FZ, &
354356
SWORK1,SWORK2,SWORK3,SWORK4, &
@@ -525,6 +527,8 @@ SUBROUTINE POINT_TO_MESH(NM)
525527
CHI_R => M%CHI_R
526528
QR=>M%QR
527529
QR_W=>M%QR_W
530+
RADIATION_EMISSION=>M%RADIATION_EMISSION
531+
RADIATION_ABSORPTION=>M%RADIATION_ABSORPTION
528532
KAPPA_GAS=>M%KAPPA_GAS
529533
UII=>M%UII
530534
PP_RESIDUAL=>M%PP_RESIDUAL

Source/radi.f90

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3546,6 +3546,10 @@ SUBROUTINE RADIATION_FVM
35463546

35473547
IF (WIDE_BAND_MODEL .OR. WSGG_MODEL) THEN
35483548
QR = 0._EB
3549+
IF (STORE_RADIATION_TERMS) THEN
3550+
RADIATION_EMISSION = 0._EB
3551+
RADIATION_ABSORPTION = 0._EB
3552+
ENDIF
35493553
IF (N_LP_ARRAY_INDICES>0 .AND. PARTICLES_EXISTED) QR_W = 0._EB
35503554
ENDIF
35513555

@@ -4476,6 +4480,10 @@ SUBROUTINE RADIATION_FVM
44764480

44774481
IF (WIDE_BAND_MODEL .OR. WSGG_MODEL) THEN
44784482
QR = QR + KAPPA_GAS*UIID(:,:,:,IBND)-KFST4_GAS
4483+
IF (STORE_RADIATION_TERMS) THEN
4484+
RADIATION_EMISSION = RADIATION_EMISSION + KFST4_GAS
4485+
RADIATION_ABSORPTION = RADIATION_ABSORPTION + KAPPA_GAS*UIID(:,:,:,IBND)
4486+
ENDIF
44794487
IF (N_LP_ARRAY_INDICES>0 .AND. PARTICLES_EXISTED) QR_W = QR_W + KAPPA_PART*UIID(:,:,:,IBND) - KFST4_PART
44804488
ENDIF
44814489

@@ -4506,6 +4514,10 @@ SUBROUTINE RADIATION_FVM
45064514
IF (.NOT. (WIDE_BAND_MODEL .OR. WSGG_MODEL)) THEN
45074515
QR = KAPPA_GAS*UII - KFST4_GAS
45084516
IF (N_LP_ARRAY_INDICES>0) QR_W = QR_W + KAPPA_PART*UII - KFST4_PART
4517+
IF (STORE_RADIATION_TERMS) THEN
4518+
RADIATION_EMISSION = KFST4_GAS
4519+
RADIATION_ABSORPTION = KAPPA_GAS*UII
4520+
ENDIF
45094521
ENDIF
45104522

45114523
! Calculate the incoming radiative flux onto the solid particles

Source/read.f90

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15966,6 +15966,7 @@ SUBROUTINE GET_QUANTITY_INDEX(SMOKEVIEW_LABEL,SMOKEVIEW_BAR_LABEL,OUTPUT_INDEX,O
1596615966
Y_INDEX,Z_INDEX,PART_INDEX,DUCT_INDEX,NODE_INDEX,REAC_INDEX,MATL_INDEX,OUTTYPE, &
1596715967
QUANTITY,QUANTITY2,SPEC_ID_IN,PART_ID,DUCT_ID,NODE_ID,REAC_ID,MATL_ID,CELL_L,&
1596815968
DUCT_CELL_INDEX,SLICETYPE)
15969+
1596915970
CHARACTER(*), INTENT(INOUT) :: QUANTITY
1597015971
CHARACTER(*), INTENT(OUT) :: SMOKEVIEW_LABEL,SMOKEVIEW_BAR_LABEL
1597115972
CHARACTER(*) :: SPEC_ID_IN,PART_ID,DUCT_ID,NODE_ID
@@ -16165,6 +16166,8 @@ SUBROUTINE GET_QUANTITY_INDEX(SMOKEVIEW_LABEL,SMOKEVIEW_BAR_LABEL,OUTPUT_INDEX,O
1616516166
QUANTITY=='TOTAL MASS FLUX X' .OR. QUANTITY=='TOTAL MASS FLUX Y' .OR. QUANTITY=='TOTAL MASS FLUX Z' .OR. &
1616616167
QUANTITY=='TOTAL MASS FLUX WALL') STORE_SPECIES_FLUX = .TRUE.
1616716168

16169+
IF (QUANTITY=='RADIATION EMISSION' .OR. QUANTITY=='RADIATION ABSORPTION') STORE_RADIATION_TERMS = .TRUE.
16170+
1616816171
IF (TRIM(QUANTITY)=='HRRPUV REAC') THEN
1616916172
IF (TRIM(REAC_ID)=='null') THEN
1617016173
WRITE(MESSAGE,'(A)') 'ERROR(1011): HRRPUV REAC requires a REAC_ID.'

0 commit comments

Comments
 (0)