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
9 changes: 3 additions & 6 deletions Manuals/Bibliography/commoncommands.tex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
\usepackage[pdftex]{graphicx} % use \usepackage[pdftex,demo]{graphicx} to suppress images
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{pdfsync}
%\usepackage{pdfsync}
\usepackage{tikz}
\usepackage{bm}
\usepackage{pgfplots}
Expand Down Expand Up @@ -63,16 +63,13 @@
\usepackage{needspace}

\newcommand{\nopart}{\expandafter\def\csname Parent-1\endcsname{}} % To fix table of contents in pdf.
\newcommand{\ct}{\tt\small} % eventually will be deprecated due to http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2letterfontcmd
\newcommand{\textct}[1]{\texttt{\small #1}}
\newcommand\ct[1]{\lstinline !#1!}

\usepackage{siunitx}

\usepackage{listings}
\usepackage{textcomp}
\definecolor{lbcolor}{rgb}{0.96,0.96,0.96}
\lstset{
%backgroundcolor=\color{lbcolor},
tabsize=4,
rulecolor=,
language=Fortran,
Expand All @@ -83,7 +80,7 @@
columns=fixed,
extendedchars=true,
breaklines=true,
breakatwhitespace=true,
breakatwhitespace=false,
frame=none,
showtabs=false,
showspaces=false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ \section{Model Version}

Starting with FDS 5, a formal revision management system was implemented to track changes to the FDS source code. The open-source program development tools are provided by GitHub (https://github.com/).

Wiki files (accessible through the \emph{Wiki Pages} button at \href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}), maintained by the developers, details the changes made for each release. A separate file is provided for both FDS and Smokeview.
Wiki files (accessible through the \emph{Wiki Pages} button at \href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}), maintained by the developers, details the changes made for each release. A separate file is provided for both FDS and Smokeview.


\section{Model Developers}
Expand Down Expand Up @@ -309,7 +309,7 @@ \section{Project Management}

Review and approval of software and documentation is part of the standard review process for any report or other product developed by NIST. A minimum of five reviews are required prior to release of reports or software, including two independent technical peer reviews, technical and management reviews at the technical workgroup and division level, and a policy review at the NIST-wide level. This review is documented and recorded on the NIST standard form NIST 114 along with official approval notification provided to the primary author of the product.

FDS/Smokeview is distributed exclusively through a NIST website dedicated to the model \linebreak (\href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}). Content of the website is the responsibility of the FDS project leader. Additions and changes to the website are made through the same SQA process documented in this plan.
FDS/Smokeview is distributed exclusively through a NIST website dedicated to the model \linebreak (\href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}). Content of the website is the responsibility of the FDS project leader. Additions and changes to the website are made through the same SQA process documented in this plan.


\section{Document Identification and Control}
Expand All @@ -326,7 +326,7 @@ \subsection{Project Repository}

Currently, FDS and Smokeview make use of GitHub, a free service to support software development for open source applications. GitHub uses Git version control software. Under this system a centralized repository containing all project files resides on an external server. A record of version number when a specific file was last changed is maintained. As an open source program, any individual can obtain a copy of the repository or retrieve specific versions of the repository.

Both FDS and Smokeview live within a GitHub \emph{organization} called ``Fire Models''. The current location of the organization is available through the \emph{View on Github} button at \href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}. The repositories that are used by the FDS and Smokeview projects contain more than 6000 configuration items and are listed below along with a brief description:
Both FDS and Smokeview live within a GitHub \emph{organization} called ``Fire Models''. The current location of the organization is available through the \emph{View on Github} button at \href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}. The repositories that are used by the FDS and Smokeview projects contain more than 6000 configuration items and are listed below along with a brief description:
\begin{tabbing}
fds \hspace{0.5in} \= FDS source code, verification and validation tests, wikis, and documentation \\
smv \> Smokeview source code, integration tests, and documentation \\
Expand All @@ -342,7 +342,7 @@ \subsection{Project Repository}

In the event of an unexpected change to the GitHub service and/or the FDS repository, each member of the development team, plus interested third parties, has a copy of the repository on their local computer. At NIST, the staff computers are regularly backed up as well. Thus, there is very little chance that the project repository will be lost. If need be, the files could be moved to another open source software development site.

Additional details on the use of GitHub for the models are available on the wiki pages for the models accessible via the \emph{Wiki Pages} button at \href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}.
Additional details on the use of GitHub for the models are available on the wiki pages for the models accessible via the \emph{Wiki Pages} button at \href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}.

\subsection{Version Identification and Numbering}

Expand All @@ -365,7 +365,7 @@ \chapter{Software Requirements Identification, Design, Implementation, and Testi

The software development process for FDS/Smokeview is intentionally simple. The process can be defined in five basic steps:
\begin{description}
\item [1. Identify and document the need for a change:] Improvements to FDS typically come from user inquiries. These may be reports of bugs in the software or requests for additional features or outputs from the model. Significant changes to FDS/Smokeview, guided by available research road maps \linebreak (see \href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}), are made based on the following criteria, in no particular order:
\item [1. Identify and document the need for a change:] Improvements to FDS typically come from user inquiries. These may be reports of bugs in the software or requests for additional features or outputs from the model. Significant changes to FDS/Smokeview, guided by available research road maps \linebreak (see \href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}), are made based on the following criteria, in no particular order:
\begin{description}
\item[Better Physics:] The goal of any model is to be {\em predictive}, but it also must be reliable. FDS is a blend of empirical and deterministic sub-models, chosen based on their robustness, consistency, and reliability. Any new sub-model must demonstrate that it is of comparable or superior accuracy to its empirical counterpart.
\item[Modest CPU Increase:] If a proposed algorithm doubles the calculation time but yields only a marginal improvement in accuracy, it is likely to be rejected. Also, the various routines in FDS are expected to consume CPU time in proportion to their overall importance (Baum's Rule\footnote{After Howard Baum, NIST Fellow and one of the original developers of the mathematical foundation of FDS.}). For example, the radiation transport algorithm consumes about 25~\% of the CPU time, consistent with the fact that about one-fourth to one-third of the fire's energy is emitted as thermal radiation.
Expand All @@ -381,7 +381,7 @@ \chapter{Software Requirements Identification, Design, Implementation, and Testi

\section{Problem Reporting and Resolution}

NIST has developed an automated reporting and resolution tracking website for use with the FDS model to facilitate tracking and cataloging of inquires, problems, and model enhancements / revisions. This is included as part of the FDS website via the \emph{Issues} button at \href{https://pages.nist.gov/fds-smv} {\textct{https://pages.nist.gov/fds-smv}}.
NIST has developed an automated reporting and resolution tracking website for use with the FDS model to facilitate tracking and cataloging of inquires, problems, and model enhancements / revisions. This is included as part of the FDS website via the \emph{Issues} button at \href{https://pages.nist.gov/fds-smv} {\ct{https://pages.nist.gov/fds-smv}}.

\section{Software Change Implementation}

Expand Down
18 changes: 9 additions & 9 deletions Manuals/FDS_Technical_Reference_Guide/Appendices.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1754,10 +1754,10 @@ \section{One-Dimensional Heat Conduction in Solids}
Rearranging terms, the temperature at node 0 becomes:
\begin{equation}
\label{T0}
T_{\rm s,0}^{n+1} = \underbrace{\frac{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}}- \left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left(T_{\rm s,\frac{1}{2}}^n\right)^3 \right)}{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}} + \left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^3 \right)}}_\textct{RFACF2} T_{\rm s,1}^{n+1} +
\underbrace{ \frac{ h^{n+1} \, T_{\rm g}^{n+1} + \dot{q}_{\rm r,in}'' + 3 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^4 }{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}}+\left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^3 \right)} }_\textct{QDXKF}
T_{\rm s,0}^{n+1} = \underbrace{\frac{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}}- \left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left(T_{\rm s,\frac{1}{2}}^n\right)^3 \right)}{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}} + \left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^3 \right)}}_{\hbox{\ct{RFACF2}}} T_{\rm s,1}^{n+1} +
\underbrace{ \frac{ h^{n+1} \, T_{\rm g}^{n+1} + \dot{q}_{\rm r,in}'' + 3 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^4 }{\frac{k_{\rm s,1}}{\delta r_{\frac{1}{2}}}+\left(\frac{h^{n+1}}{2} + 2 \epsilon \sigma \left( T_{\rm s,\frac{1}{2}}^n\right)^3 \right)} }_{\hbox{\ct{QDXKF}}}
\end{equation}
Note that \textct{RFACF2} and similar names are used in the actual source code to represent these quantities.
Note that \ct{RFACF2} and similar names are used in the actual source code to represent these quantities.
In case of non-insulated backing in Cartesian geometry, the temperature of virtual node $N+1$ is calculated the same way.
For a Cartesian geometry with an insulated backing or for cylindrical and spherical geometries, $\epsilon$, $\dot{q}_{\rm r,in}''$, and $h$ are set to 0.

Expand All @@ -1779,11 +1779,11 @@ \section{One-Dimensional Heat Conduction in Solids}
To solve Eq.~(\ref{tridiagonal_1}), a tri-diagonal linear solver is used:
\begin{equation}
\begin{split}
& C_1 = C_1 - B_1 \cdot \textct{QDXKF} \\
& C_N = C_N - A_N \cdot \textct{QDXKB} \\
& C_1 = C_1 - B_1 \cdot \hbox{\ct{QDXKF}} \\
& C_N = C_N - A_N \cdot \hbox{\ct{QDXKB}} \\
& \\
& D_1 = D_1 + B_1 \cdot \textct{RFACF2} \\
& D_N = D_N + A_N \cdot \textct{RFACB2} \\
& D_1 = D_1 + B_1 \cdot \hbox{\ct{RFACF2}} \\
& D_N = D_N + A_N \cdot \hbox{\ct{RFACB2}} \\
& \\
& D_i = D_i - \frac{B_i \; A_{i-1}}{D_{i-1}} \quad i = 2, ..., N-1 \\
& C_i = C_i - \frac{B_i \; C_{i-1}}{D_{i-1}} \quad i = 2, ..., N-1\\
Expand Down Expand Up @@ -1819,8 +1819,8 @@ \subsection*{Dirichlet Temperature Boundaries}
\end{align}
Comparing Eq.~(\ref{T_ghost}) with Eq.~(\ref{T0}), it is apparent that
\begin{align}
\textct{RFACF2} &= -1 \\
\textct{QDXKF} &= 2\, T_{\rm w}
\hbox{\ct{RFACF2}} &= -1 \\
\hbox{\ct{QDXKF}} &= 2\, T_{\rm w}
\end{align}


Expand Down
2 changes: 1 addition & 1 deletion Manuals/FDS_Technical_Reference_Guide/Mass_Chapter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ \section{Mass and Species Transport}
\ee
The quantity $\overline{\rho Z_\alpha}^{\rm FL}$ indicates a \emph{flux limiter} applied to the cell face value, as discussed below in Section \ref{sec_flux_limiters}. The mass source terms due to chemistry, evaporation, or pyrolysis are computed at the end of the previous time step and used in both the predictor and corrector steps. The mean chemical source term, $\dm_{\alpha}'''$, is discussed in Chapter~\ref{combustionsection}. The bulk subgrid source term, $\dm_{\rm b,\alpha}'''$, is discussed in Chapters~\ref{chapter:solid_phase} and \ref{chapter:lagrangian_particles} on solid phase pyrolysis and Lagrangian particles, respectively.

In DNS mode, the molecular diffusivity is based on mixture-averaged binary Fickian diffusion. In LES mode (default) the diffusivity is taken from the molecular and turbulent viscosities divided by the turbulent Schmidt number. That is, to save cost we approximate the molecular plus turbulent diffusivity by $(\mu + \mu_t)/\mbox{Sc}_t$. The turbulent Schmidt number is constant with default value $\mbox{Sc}_t = 0.5$. The model for the turbulent viscosity $\mu_t$ is discussed in Section \ref{section:turbulent_viscosity}. Optionally, by setting \textct{SIMULATION\_MODE='LES'} on \textct{MISC}, the molecular and turbulent transport coefficients are treated separately, $\rho D_\alpha + \mu_t/\mbox{Sc}_t$ (at added cost). The same applies for the thermal diffusivity.
In DNS mode, the molecular diffusivity is based on mixture-averaged binary Fickian diffusion. In LES mode (default) the diffusivity is taken from the molecular and turbulent viscosities divided by the turbulent Schmidt number. That is, to save cost we approximate the molecular plus turbulent diffusivity by $(\mu + \mu_t)/\mbox{Sc}_t$. The turbulent Schmidt number is constant with default value $\mbox{Sc}_t = 0.5$. The model for the turbulent viscosity $\mu_t$ is discussed in Section \ref{section:turbulent_viscosity}. Optionally, by setting \ct{SIMULATION\_MODE='LES'} on \ct{MISC}, the molecular and turbulent transport coefficients are treated separately, $\rho D_\alpha + \mu_t/\mbox{Sc}_t$ (at added cost). The same applies for the thermal diffusivity.

The corrector step is as follows:
\be \frac{(\rho Z_\alpha)_{ijk}^{n+1}-\ha\left[(\rho Z_\alpha)_{ijk}^n
Expand Down
12 changes: 6 additions & 6 deletions Manuals/FDS_Technical_Reference_Guide/Momentum_Chapter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -660,22 +660,22 @@ \subsection{The Courant-Friedrichs-Lewy (CFL) Constraint}
\end{equation}
places a restriction on the time step due to the advection velocity. Physically, the constraint says that a fluid element should not traverse more than one cell within a time step. For LES, this constraint has the added advantage of keeping the implicit temporal and spatial filters consistent with each other. In other words, in order to resolve an eddy of size $\delta x$, the time step needs to be in concert with the CFL. If one were to employ an implicit scheme for the purpose of taking time steps say 10 times larger than the CFL limit, the smallest resolvable turbulent motions would then be roughly 10 times the grid spacing, which would severely limit the benefit of LES. In most cases, if one wishes the simulation to run faster, a better strategy is to coarsen the grid resolution while keeping the CFL $\approx 1$.

The exact CFL needed to maintain stability depends on the order (as well as other properties) of the time integration scheme and the choice of velocity norm. Three choices for velocity norm are available in FDS (set on \textct{MISC}):
The exact CFL needed to maintain stability depends on the order (as well as other properties) of the time integration scheme and the choice of velocity norm. Three choices for velocity norm are available in FDS (set on \ct{MISC}):
\vskip\baselineskip
\noindent
\textct{CFL\_VELOCITY\_NORM=0} (corresponds to $L_\infty$ norm of velocity vector)
\ct{CFL\_VELOCITY\_NORM=0} (corresponds to $L_\infty$ norm of velocity vector)
\begin{equation}
\frac{\|\mathbf{u}\|}{\delta x} = \max \left(\frac{|u|}{\delta x}, \frac{|v|}{\delta y}, \frac{|w|}{\delta z}\right) + |\nabla\cdot\mathbf{u}|
\end{equation}
\textct{CFL\_VELOCITY\_NORM=1} (DNS and LES default, most restrictive, corresponds to $L_1$ norm of velocity vector)
\ct{CFL\_VELOCITY\_NORM=1} (DNS and LES default, most restrictive, corresponds to $L_1$ norm of velocity vector)
\begin{equation}
\frac{\|\mathbf{u}\|}{\delta x} = \frac{|u|}{\delta x}+\frac{|v|}{\delta y}+\frac{|w|}{\delta z} + |\nabla\cdot\mathbf{u}|
\end{equation}
\textct{CFL\_VELOCITY\_NORM=2} (VLES default, $L_2$ norm of velocity vector)
\ct{CFL\_VELOCITY\_NORM=2} (VLES default, $L_2$ norm of velocity vector)
\begin{equation}
\frac{\|\mathbf{u}\|}{\delta x} = \sqrt{ (u/\delta x)^2+(v/\delta y)^2+(w/\delta z)^2 } + |\nabla\cdot\mathbf{u}|
\end{equation}
\textct{CFL\_VELOCITY\_NORM=3} (SVLES default, least restrictive, corresponds to $L_\infty$ norm of velocity vector)
\ct{CFL\_VELOCITY\_NORM=3} (SVLES default, least restrictive, corresponds to $L_\infty$ norm of velocity vector)
\begin{equation}
\frac{\|\mathbf{u}\|}{\delta x} = \max \left(\frac{|u|}{\delta x}, \frac{|v|}{\delta y}, \frac{|w|}{\delta z}\right)
\end{equation}
Expand Down Expand Up @@ -709,7 +709,7 @@ \subsection{Realizable Mass Density Constraint}
\label{eqn_divstability}
\delta t < \frac{\rho}{\overline{u}_i \left(\frac{\rho-0}{\delta x_i}\right) + \rho \nabla\cdot\mathbf{u}} = \left[ \frac{\overline{u}_i}{\delta x_i} + \nabla\cdot\mathbf{u} \right]^{-1}
\ee
Equation (\ref{eqn_divstability}) basically adds the effect of thermal expansion to the CFL constraint and provides a reason to prefer \textct{CFL\_VELOCITY\_NORM=1} as the basis for the time step restriction.
Equation (\ref{eqn_divstability}) basically adds the effect of thermal expansion to the CFL constraint and provides a reason to prefer \ct{CFL\_VELOCITY\_NORM=1} as the basis for the time step restriction.

\subsection{Realizable Fluid Volume Constraint}

Expand Down
Loading