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
12 changes: 6 additions & 6 deletions Manuals/FDS_User_Guide/FDS_User_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4191,10 +4191,10 @@ \section{Pressure Boundary Conditions}
.
\end{lstlisting}
The use of a {\em dynamic pressure} boundary affects the FDS algorithm as follows. At \ct{OPEN} boundaries, the hydrodynamic pressure (head) $\cH$ is specified as
\begin{eqnarray}
\cH &=& \mbox{\ct{DYNAMIC_PRESSURE}}/\rho_\infty + {|\mathbf{u}|^2}/2 \quad \mbox{(outgoing)} \nonumber \\
\cH &=& \mbox{\ct{DYNAMIC_PRESSURE}}/\rho_\infty \quad \mbox{(incoming)}
\end{eqnarray}
\begin{align}
\cH &= \text{\tt{DYNAMIC\_PRESSURE}}/\rho_\infty + {|\mathbf{u}|^2}/2 && \text{(outgoing)} & \nonumber \\
\cH &= \text{\tt{DYNAMIC\_PRESSURE}}/\rho_\infty && \text{(incoming)} &
\end{align}
where $\rho_\infty$ is the ambient density and $\mathbf{u}$ is the most recent value of the velocity on the boundary.
The \ct{PRESSURE_RAMP} allows for alteration of the pressure as a function of time. Note that you do not
need to ramp the pressure up or down starting at zero, like you do for various other ramps.
Expand Down Expand Up @@ -7742,11 +7742,11 @@ \section{Level Set Model for Wildland Fire Spread}
\end{sidewaystable}

\subsection{Custom Wind Speed Function}
The default Rothermel-Albini formulation~\cite{Rothermel:1972,Albini:1976} represents the influence of wind on the head fire spread rate as
The default Rothermel-Albini formulation~\cite{Rothermel:1972,Albini:1976} represents the influence of wind on the head fire spread rate as
\be
R = R_{\rm 0} \, (1+\phi_{\rm W})
\ee
where the no-wind, no-slope spread rate, $R_{\rm 0}$, is increased by a factor $\phi_W$, which is a function of the wind speed. In the default model the wind speed is taken as the value at mid-flame height, $U_{\rm mf}$.
where the no-wind, no-slope spread rate, $R_{\rm 0}$, is increased by a factor $\phi_W$, which is a function of the wind speed. In the default model the wind speed is taken as the value at mid-flame height, $U_{\rm mf}$.

This introduces two complications. The first is determining the functional form of $\phi_W$. The default formulation is an empirical function which depends on fuel bed properties. However, this has not been rigorously validated for all possible fuel configurations - the original fit was determined with just three fuel bed types~\cite{Rothermel:1972}. In addition, the relationship assumes a reference wind which is unaffected by the fire, which can be contradictory to the approach of \ct{LEVEL_SET_MODE=4}. Therefore, it may be preferable to specify a custom function $\phi_W$ to better match observational data for a given fuel type. This can be done by specifying a \ct{RAMP} using \ct{VEG_LSET_WIND_RAMP}:
\begin{lstlisting}
Expand Down
3 changes: 3 additions & 0 deletions Source/geom.f90
Original file line number Diff line number Diff line change
Expand Up @@ -4349,6 +4349,8 @@ SUBROUTINE GET_EXT_INB_CUTFACES_TO_CFACE
CASE(KAXIS)
ADDMAT(KAXIS,LOW_IND) = -(ZF_MAX-ZS_MIN) ! -DZ(VT%K1)
ADDMAT(KAXIS,HIGH_IND) = (ZF_MAX-ZS_MIN) ! DZ(VT%K2)
CASE DEFAULT
CYCLE VENT_LOOP
END SELECT
! CFACE Loop to modify SURF_INDEX in INTERNAL_CFACE_CELLS:
CFACE_LOOP_2 : DO CFACE_INDEX_LOCAL=INTERNAL_CFACE_CELLS_LB+1,INTERNAL_CFACE_CELLS_LB+N_INTERNAL_CFACE_CELLS
Expand All @@ -4360,6 +4362,7 @@ SUBROUTINE GET_EXT_INB_CUTFACES_TO_CFACE
IF (BC%Y > Y(VT%J2)+ADDMAT(JAXIS,HIGH_IND)) CYCLE CFACE_LOOP_2
IF (BC%Z < Z(VT%K1)+ADDMAT(KAXIS,LOW_IND )) CYCLE CFACE_LOOP_2
IF (BC%Z > Z(VT%K2)+ADDMAT(KAXIS,HIGH_IND)) CYCLE CFACE_LOOP_2
CFA%VENT_INDEX = IVENT
CFA%SURF_INDEX = VT%SURF_INDEX
ENDDO CFACE_LOOP_2
ENDDO VENT_LOOP
Expand Down
9 changes: 8 additions & 1 deletion Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -12228,7 +12228,7 @@ SUBROUTINE READ_VENT

! If the VENT is on a GEOM do not reject (further setup in READ_GEOM)

IF (GEOM) REJECT_VENT = .FALSE.
IF (GEOM .AND. .NOT.(TERRAIN_CASE .AND. ALL(XB(1:6)>-1.01E6_EB))) REJECT_VENT = .FALSE.

! If the VENT is rejected, cycle

Expand Down Expand Up @@ -12584,6 +12584,12 @@ SUBROUTINE READ_VENT
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
ENDIF

! Special treatment for coloring GEOM surface with HVAC_BOUNDARY

IF (VT%GEOM .AND. VT%BOUNDARY_TYPE==HVAC_BOUNDARY) THEN
SURFACE(VT%SURF_INDEX)%RGB = (/0,128,0/) ! green
ENDIF

ENDDO VENT_LOOP_2

! Compute vent areas and check for passive openings
Expand Down Expand Up @@ -12680,6 +12686,7 @@ SUBROUTINE SET_VENT_DEFAULTS
UVW = -1.E12_EB
VEL_RMS = 0._EB
XYZ = -1.E6_EB
XB = -1.E6_EB

END SUBROUTINE SET_VENT_DEFAULTS

Expand Down
2 changes: 2 additions & 0 deletions Verification/FDS_Cases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,8 @@ $QFDS -d WUI LS_ellipse_0ms_00deg.fds
$QFDS -d WUI LS_ellipse_5ms_00deg.fds
$QFDS -d WUI LS_ellipse_0ms_30deg.fds
$QFDS -d WUI LS_ellipse_5ms_30deg.fds
$QFDS -d WUI LS_wind_ramp_lin.fds
$QFDS -d WUI LS_wind_ramp_quad.fds
$QFDS -d WUI LS4_ember_ignition.fds
$QFDS -d WUI LS4_ember_yield.fds
$QFDS -d WUI Morvan_TGA.fds
Expand Down
Loading