Skip to content

Commit 89e9904

Browse files
committed
Merge remote-tracking branch 'firemodels/master' into FireX
2 parents 7325343 + a0f3394 commit 89e9904

File tree

78 files changed

+1827
-757
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1827
-757
lines changed

Manuals/FDS_User_Guide/FDS_User_Guide.tex

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3452,7 +3452,7 @@ \subsubsection{Example}
34523452
\section{Pyrolysis and Energy Conservation}
34533453
\label{solid_phase_energy_conservation}
34543454

3455-
The \ct{HEAT_OF_REACTION} is the energy gained or lost in converting the material to residue(s) and/or gas(es). In other words the \ct{HEAT_OF_REACTION} is the enthalpy of the products at the current solid temperature minus the enthalpy of the initial material at the current solid temperature. For total internal energy to be conserved, this must hold true. A challenge is that while the heat of reaction may be known for a solid material, detailed knowledge of the material enthalpy or the enthalpy of any residue or gaseous products is often not known. In cases where a reference enthalpy for a material is known, you can input on the \ct{MATL} line the \ct{REFERENCE_ENTHALPY} in kJ/kg and the \ct{REFERENCE_ENTHALPY_TEMPERATURE} in $^\circ$C.
3455+
The \ct{HEAT_OF_REACTION} is the energy gained or lost in converting the material to residue(s) and/or gas(es). In other words the \ct{HEAT_OF_REACTION} is the enthalpy of the products at the current solid temperature minus the enthalpy of the initial material at the current solid temperature. For total internal energy to be conserved, this must hold true. A challenge is that while the heat of reaction may be known for a solid material, detailed knowledge of the material enthalpy or the enthalpy of any residue or gaseous products is often not known. In cases where a reference enthalpy for a material is known, you can input on the \ct{MATL} line the \ct{REFERENCE_ENTHALPY} in kJ/kg and the \ct{REFERENCE_ENTHALPY_TEMPERATURE} in $^\circ$C. All reactions require a \ct{HEAT_OF_REACTION} even if it is zero.
34563456

34573457
FDS will attempt to adjust all material enthalpies so that internal energy is conserved. For each material reaction a linear equation is defined:
34583458
\be
@@ -3467,7 +3467,7 @@ \section{Pyrolysis and Energy Conservation}
34673467

34683468
The value of $T_{\rm ref}$ used for a reaction is the value specified by the \ct{REFERENCE_TEMPERATURE} for that reaction. If no value is given (when the reaction is defined using \ct{A} and \ct{E}), then FDS will do a virtual TGA using just the single reaction for the single material. The temperature where the peak reaction rate occurs is used for $T_{\rm ref}$. Since in most cases the specific heat of a material and the specific heats of its residues and product gases are not the same, the heat of reaction is temperature dependent. FDS will create a temperature dependent array for the heat of reaction that accounts for this where the value at $T_{\rm ref}$ is fixed to the value specified with \ct{HEAT_OF_REACTION}.
34693469

3470-
This process of adjusting enthalpies can be skipped by setting \ct{ADJUST_H=F} on a \ct{MATL} line. This should be done when material reactions do not represent actual chemical reactions. If no \ct{HEAT_OF_REACTION} is specified for a \ct{MATL} with a reaction then \ct{ADJUST_H=F} will be set. Note that this means if a reaction has \ct{HEAT_OF_REACTION} that is actually zero, and enthalpy adjustment is desired, then set \ct{HEAT_OF_REACTION} to 0 in the input file for that reaction.
3470+
This process of adjusting enthalpies can be skipped by setting \ct{ADJUST_H=F} on a \ct{MATL} line. This should be done when material reactions do not represent actual chemical reactions.
34713471

34723472
If the sum of the yields is less than 1, then for the purpose of solving for the $H_{\rm adj}$ values, FDS will assume that the missing mass is a material with the same specific heat as the original material.
34733473

@@ -5679,7 +5679,7 @@ \subsection{Example Case: Soot Deposition from a Propane Flame}
56795679
&SPEC ID = 'NITROGEN', LUMPED_COMPONENT_ONLY = T /
56805680
&SPEC ID = 'WATER VAPOR', LUMPED_COMPONENT_ONLY = T /
56815681
&SPEC ID = 'CARBON DIOXIDE', LUMPED_COMPONENT_ONLY = T /
5682-
&SPEC ID = 'SOOT', AEROSOL = T /
5682+
&SPEC ID = 'SOOT', AEROSOL = T, MEAN_DIAMETER=1.E-6 /
56835683
\end{lstlisting}
56845684
If Eq.~(\ref{eq:PROPANE_depo}) is properly balanced, you can directly use the stoichiometric coefficients of the primitive species to define the lumped species:
56855685

@@ -14071,6 +14071,7 @@ \chapter{Error Codes}
1407114071
242 \> \ct{Spray Pattern Table ... massflux <= 0 for line ...} \> Section~\ref{info:sprinklers} \\
1407214072
243 \> \ct{PROP ... VIEW_ANGLE must be between 0 and 180} \> Section~\ref{info:sprinklers} \\
1407314073
\> \> \\
14074+
250 \> \ct{MATL ... REAC ... requires a HEAT_OF_REACTION.} \> Section~\ref{solid_phase_energy_conservation} \\
1407414075
251 \> \ct{MATL ... REAC ... Set REFERENCE_TEMPERATURE or E, A.} \> Section~\ref{info:kinetic_parameters} \\
1407514076
252 \> \ct{MATL ... HEAT_OF_REACTION should be greater than 0.} \> Section~\ref{info:HEAT_OF_REACTION} \\
1407614077
253 \> \ct{MATL ... DENSITY=0.} \> Section~\ref{info:thermal_properties} \\

Manuals/FDS_Verification_Guide/FDS_Verification_Guide.tex

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4074,10 +4074,10 @@ \section{Combustion Load Balancing (\ct{comb\_load\_bal})}
40744074

40754075
\begin{figure}[p]
40764076
\begin{tabular*}{\textwidth}{lr}
4077-
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propanee_Arrhenius_FIRE} &
4078-
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propanee_Arrhenius_COMM} \\
4079-
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propanee_Arrhenius_TOT} &
4080-
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propanee_Arrhenius_DEVC}
4077+
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propane_Arrhenius_FIRE} &
4078+
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propane_Arrhenius_COMM} \\
4079+
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propane_Arrhenius_TOT} &
4080+
\includegraphics[height=2.15in]{SCRIPT_FIGURES/comb_load_bal_Propane_Arrhenius_DEVC}
40814081
\end{tabular*}
40824082
\caption[Results of the \ct{comb\_load\_balance} test cases]{Combustion load balance case using two-step Propane Arrhenius reactions.}
40834083
\label{fig:comb_load_bal_2step_Arrhenius}
@@ -4602,18 +4602,32 @@ \section{Heat Conduction Through a Solid Slab (\texorpdfstring{\ct{heat\_conduct
46024602
\end{center}
46034603

46044604
\begin{figure}[ht]
4605-
\noindent
4606-
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
4607-
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_a} &
4608-
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_b} \\
4609-
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_c} &
4610-
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_d}
4611-
\end{tabular*}
4612-
\caption[The \ct{heat\_conduction} test cases]{Comparison of heat conduction calculations with analytical solutions.}
4613-
\label{heat_conduction}
4605+
\noindent
4606+
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
4607+
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_a} &
4608+
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_b} \\
4609+
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_c} &
4610+
\includegraphics[height=2.2in]{SCRIPT_FIGURES/heat_conduction_d}
4611+
\end{tabular*}
4612+
\caption[The \ct{heat\_conduction} test cases]{Comparison of heat conduction calculations with analytical solutions.}
4613+
\label{heat_conduction}
46144614
\end{figure}
46154615

4616+
\section{Heat Conduction Through a Solid Slab Part 2 (\texorpdfstring{\ct{back\_wall}}{back\_wall})}
4617+
\label{back_wall}
46164618

4619+
A slab of thickness $L=0.01$~m with a conductivity of 10~\si{W/(m.K)} is exposed to a backside temperature of $T_g=200$~\si{\degree C}.
4620+
The backside heat transfer conditions are $h$=50~\si{W/(m^2.K)} and $e$=0.5. The frontside heat transfer conditions are $h$=10~\si{W/(m^2.K)} and $e$=1.
4621+
This case test that both sets of conditions are applied.
4622+
4623+
\begin{figure}[ht]
4624+
\centering
4625+
\begin{tabular}{c}
4626+
\includegraphics[height=2.2in]{SCRIPT_FIGURES/back_wall}
4627+
\end{tabular}
4628+
\caption[Front and back wall temperatures for the \ct{back\_wall} case]{Front and back wall temperatures for the \ct{back\_wall} case}
4629+
\label{fig:back_wall}
4630+
\end{figure}
46174631

46184632
\section{Temperature-Dependent Thermal Properties (\texorpdfstring{\ct{heat\_conduction\_kc}}{heat\_conduction\_kc})}
46194633
\label{heat_conduction_kc}

Source/devc.f90

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,45 +32,45 @@ MODULE DEVICE_VARIABLES
3232
!> \brief Derived type storing location and value informaton for DEVICE\%SUBDEVICE
3333

3434
TYPE SUBDEVICE_TYPE
35-
!> !\{
35+
!> @{
3636
!> Intermediate value used for computing device SPATIAL_STATISTIC or TEMPORAL_STATISTIC
3737
REAL(EB) :: VALUE_1=0._EB,VALUE_2=0._EB,VALUE_3=0._EB,VALUE_4=0._EB
38-
!> !\}
39-
!> !\{
38+
!> @}
39+
!> @{
4040
!> Subdevice point, line, or bounding box physical coordinate (m)
4141
REAL(EB) :: X1,X2,Y1,Y2,Z1,Z2
42-
!> !\}
42+
!> @}
4343
INTEGER :: MESH !< Subdevice mesh location
44-
!> !\{
44+
!> @{
4545
!> Subdevice point, line, or bounding box grid index
4646
INTEGER :: I1=-1,I2=-1,J1=-1,J2=-1,K1=-1,K2=-1
47-
!> !\}
47+
!> @}
4848
INTEGER :: N_PATH=0 !< Number of grid cells along subdevice path for TRANSMISSION or PATH OBSCURATION
49-
!> !\{
49+
!> @{
5050
!> Grid index for a grid cell along subdevice path for TRANSMISSION or PATH OBSCURATION
5151
INTEGER, ALLOCATABLE, DIMENSION(:) :: I_PATH,J_PATH,K_PATH
52-
! !\}
52+
!> @}
5353
REAL(EB), ALLOCATABLE, DIMENSION(:) :: D_PATH
54-
!<Segment length in a grid cell along subdevice path for TRANSMISSION or PATH OBSCURATION
54+
!< Segment length in a grid cell along subdevice path for TRANSMISSION or PATH OBSCURATION
5555
END TYPE SUBDEVICE_TYPE
5656

5757
!> \brief Derived type for a measurement device (DEVC)
5858

5959
TYPE DEVICE_TYPE
6060
TYPE(SUBDEVICE_TYPE), ALLOCATABLE, DIMENSION(:) :: SUBDEVICE !<Array of subdevices
6161
REAL(EB) :: T !< Used to track time stuff for a DEVC that is part of an ASPIRATION detector.
62-
!> !\{
62+
!> @{
6363
!> Physical coordinate of a point DEVC
6464
REAL(EB) :: X,Y,Z
65-
!> !\}
66-
!> !\{
65+
!> @}
66+
!> @{
6767
!> Origin of a linear array of devices
6868
REAL(EB) :: X0,Y0,Z0
69-
!> !\}
70-
!> !\{
69+
!> @}
70+
!> @{
7171
!> Physical coordinates for DEVC spanning a line, plane, or volume
7272
REAL(EB) :: X1,X2,Y1,Y2,Z1,Z2
73-
!> !\}
73+
!> @}
7474
REAL(EB) :: INITIAL_VALUE=-1.E10_EB,INSTANT_VALUE,VALUE=0._EB,SMOOTHED_VALUE=-1.E10_EB,PREVIOUS_VALUE=0._EB, &
7575
DEPTH,TMP_L,Y_C,OBSCURATION,DELAY,ROTATION,SMOOTHING_FACTOR=0._EB,SMOOTHING_TIME=-1._EB, &
7676
VALUE_1,VALUE_2,VALUE_3,VALUE_4,&
@@ -134,7 +134,7 @@ MODULE CONTROL_VARIABLES
134134

135135
IMPLICIT NONE (TYPE,EXTERNAL)
136136

137-
!> !\{
137+
!> @{
138138
!> Parameter defining the type of control function for CONTROL\%CONTROL_INDEX
139139
! When adding more functions:
140140
! 1-50 are fucntions with a logical output that have only one input
@@ -150,11 +150,11 @@ MODULE CONTROL_VARIABLES
150150
CF_POWER=201,CF_DIVIDE=202,&
151151
CF_SUM=301,CF_SUBTRACT=302,CF_MULTIPLY=303,CF_MIN=304,CF_MAX=305,&
152152
CF_PERCENTILE=401
153-
!> !\}
154-
!> !\{
153+
!> @}
154+
!> @{
155155
!> Parameter used to define the type of input for CONTROL\%INPUT_TYPE
156156
INTEGER, PARAMETER :: DEVICE_INPUT=1,CONTROL_INPUT=2,CONSTANT_INPUT=3
157-
!> !\}
157+
!> @}
158158

159159
INTEGER :: N_CTRL = 0 !< Length of CONTROL
160160
INTEGER :: N_CTRL_FILES = 0 !< Number of CHID_ctrl.csv output files
@@ -183,7 +183,7 @@ MODULE CONTROL_VARIABLES
183183
INTEGER, ALLOCATABLE, DIMENSION (:) :: INPUT_TYPE
184184
!< Array of inidicating if a specific input to a control function is a device and a control functon
185185
REAL(EB) :: SETPOINT(2)=1.E30_EB
186-
!<Setpoint for a control function. For a DEADBAND function contains the lower and upper bounds of the DEADBAND
186+
!< Setpoint for a control function. For a DEADBAND function contains the lower and upper bounds of the DEADBAND
187187
REAL(EB) :: DELAY=0._EB !<Delay time (s) for a TIME_DELAY function
188188
REAL(EB) :: T_CHANGE=1000000._EB !<Time the control function changed state
189189
REAL(EB) :: CONSTANT=-9.E30_EB !<Value assigned to CONSTANT on a CTRL input

Source/dump.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8452,6 +8452,7 @@ END SUBROUTINE UPDATE_DEVICES_2
84528452
!> \param IND2 Index of the sometimes needed second output quantity
84538453
!> \param Y_INDEX Index of the primitive gas species
84548454
!> \param Z_INDEX Index of the gas species mixture
8455+
!> \param ELEM_INDX Index of the chemical element
84558456
!> \param PART_INDEX Index of the Lagrangian particle class
84568457
!> \param VELO_INDEX Index of the velocity component, x=1, y=2, z=3
84578458
!> \param PIPE_INDEX Index of the pipe branch

Source/func.f90

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5852,7 +5852,6 @@ END SUBROUTINE TRANSFORM_COORDINATES
58525852
!> \brief Find the determinant of a matrix A of order N
58535853
!> \param A is a square matrix N x N
58545854
!> \param N is the order of the matrix
5855-
!> \param DET is the result
58565855

58575856
RECURSIVE FUNCTION DETERMINANT(A, N) RESULT(DET)
58585857
INTEGER, INTENT(IN) :: N

Source/init.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3396,6 +3396,7 @@ END SUBROUTINE INIT_THIN_WALL_CELL
33963396
!> \brief Assign internal values of temp, density, and mass fraction
33973397
!> \param NM Mesh number
33983398
!> \param IW WALL index
3399+
!> \param TT Curent time (s)
33993400

34003401
SUBROUTINE SET_DENSITY_AND_MASS_FRACTIONS_AT_WALL(NM,IW,TT)
34013402

Source/read.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7191,8 +7191,8 @@ SUBROUTINE READ_MATL
71917191

71927192
DO NR=1,N_REACTIONS
71937193
IF (HEAT_OF_REACTION(NR)<=-1.E12_EB) THEN
7194-
HEAT_OF_REACTION(NR) = 0._EB
7195-
ADJUST_H = .FALSE.
7194+
WRITE(MESSAGE,'(A,A,A,I0,A)') 'ERROR(250): MATL ',TRIM(ID),', REAC ',NR,' requires a HEAT_OF_REACTION.'
7195+
CALL SHUTDOWN(MESSAGE) ; RETURN
71967196
ENDIF
71977197
IF (REFERENCE_TEMPERATURE(NR)<-TMPM .AND. (E(NR)< 0._EB .OR. A(NR)<0._EB)) THEN
71987198
WRITE(MESSAGE,'(A,A,A,I0,A)') 'ERROR(251): MATL ',TRIM(ID),', REAC ',NR,'. Set REFERENCE_TEMPERATURE or E, A'

Source/wall.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3723,11 +3723,11 @@ SUBROUTINE CONSTANT_HTC
37233723

37243724
USE MATH_FUNCTIONS, ONLY: EVALUATE_RAMP
37253725

3726-
HEAT_TRANSFER_COEFFICIENT = SF%H_FIXED
3726+
HEAT_TRANSFER_COEFFICIENT = H_FIXED
37273727
IF (SF%RAMP_H_FIXED_INDEX>0) THEN
37283728
HEAT_TRANSFER_COEFFICIENT = HEAT_TRANSFER_COEFFICIENT*EVALUATE_RAMP(T-T_BEGIN,SF%RAMP_H_FIXED_INDEX)
37293729
ELSE
3730-
HEAT_TRANSFER_COEFFICIENT = SF%H_FIXED
3730+
HEAT_TRANSFER_COEFFICIENT = H_FIXED
37313731
ENDIF
37323732

37333733
END SUBROUTINE CONSTANT_HTC

Utilities/Input_Libraries/Chemical_Mechanisms/Cantera/grimech30.spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ CH2,METHYLENE,NONE
1313
CH2(S),METHYLENEs,NONE
1414
CH3,METHYL RADICAL,METHANE
1515
CH4,METHANE,METHANE
16-
CO,CARBON MONOXIDE,CARBON DIOXIDE
17-
CO2,CARBON DIOXIDE,CARBON MONOXIDE
16+
CO,CARBON MONOXIDE,CARBON MONOXIDE
17+
CO2,CARBON DIOXIDE,CARBON DIOXIDE
1818
HCO,FORMYL RADICAL,NONE
1919
CH2O,FORMALDEHYDE,NONE
2020
CH2OH,HYDROXYMETHYL RADICAL,NONE

Utilities/Input_Libraries/MATL/pine_wood_1C_MATL.fds

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
NU_SPEC(1,1) = 0.69
1818
SPEC_ID(1:2,2) = 'OXYGEN','FUEL VAPOR'
1919
NU_SPEC(1:2,2) = -0.1, 0.79
20-
HEAT_OF_REACTION(1:2) = 416./
20+
HEAT_OF_REACTION(1:2) = 416.,416/
2121

2222
&MATL ID = 'CHAR'
2323
DENSITY = 112. ! 112/360 = 0.31 to match yield from AC Tab 7

0 commit comments

Comments
 (0)