Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Manuals/FDS_User_Guide/FDS_User_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3452,7 +3452,7 @@ \subsubsection{Example}
\section{Pyrolysis and Energy Conservation}
\label{solid_phase_energy_conservation}

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.
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.

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

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}.

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.
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 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.

Expand Down Expand Up @@ -14066,6 +14066,7 @@ \chapter{Error Codes}
242 \> \ct{Spray Pattern Table ... massflux <= 0 for line ...} \> Section~\ref{info:sprinklers} \\
243 \> \ct{PROP ... VIEW_ANGLE must be between 0 and 180} \> Section~\ref{info:sprinklers} \\
\> \> \\
250 \> \ct{MATL ... REAC ... requires a HEAT_OF_REACTION.} \> Section~\ref{solid_phase_energy_conservation} \\
251 \> \ct{MATL ... REAC ... Set REFERENCE_TEMPERATURE or E, A.} \> Section~\ref{info:kinetic_parameters} \\
252 \> \ct{MATL ... HEAT_OF_REACTION should be greater than 0.} \> Section~\ref{info:HEAT_OF_REACTION} \\
253 \> \ct{MATL ... DENSITY=0.} \> Section~\ref{info:thermal_properties} \\
Expand Down
4 changes: 2 additions & 2 deletions Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -7077,8 +7077,8 @@ SUBROUTINE READ_MATL

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