Skip to content

Commit f8e557b

Browse files
committed
Merge remote-tracking branch 'firemodels/master' into FireX
2 parents ad3869a + de959bd commit f8e557b

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

Manuals/FDS_User_Guide/FDS_User_Guide.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4191,10 +4191,10 @@ \section{Pressure Boundary Conditions}
41914191
.
41924192
\end{lstlisting}
41934193
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
4194-
\begin{eqnarray}
4195-
\cH &=& \mbox{\ct{DYNAMIC_PRESSURE}}/\rho_\infty + {|\mathbf{u}|^2}/2 \quad \mbox{(outgoing)} \nonumber \\
4196-
\cH &=& \mbox{\ct{DYNAMIC_PRESSURE}}/\rho_\infty \quad \mbox{(incoming)}
4197-
\end{eqnarray}
4194+
\begin{align}
4195+
\cH &= \text{\tt{DYNAMIC\_PRESSURE}}/\rho_\infty + {|\mathbf{u}|^2}/2 && \text{(outgoing)} & \nonumber \\
4196+
\cH &= \text{\tt{DYNAMIC\_PRESSURE}}/\rho_\infty && \text{(incoming)} &
4197+
\end{align}
41984198
where $\rho_\infty$ is the ambient density and $\mathbf{u}$ is the most recent value of the velocity on the boundary.
41994199
The \ct{PRESSURE_RAMP} allows for alteration of the pressure as a function of time. Note that you do not
42004200
need to ramp the pressure up or down starting at zero, like you do for various other ramps.
@@ -7742,11 +7742,11 @@ \section{Level Set Model for Wildland Fire Spread}
77427742
\end{sidewaystable}
77437743

77447744
\subsection{Custom Wind Speed Function}
7745-
The default Rothermel-Albini formulation~\cite{Rothermel:1972,Albini:1976} represents the influence of wind on the head fire spread rate as
7745+
The default Rothermel-Albini formulation~\cite{Rothermel:1972,Albini:1976} represents the influence of wind on the head fire spread rate as
77467746
\be
77477747
R = R_{\rm 0} \, (1+\phi_{\rm W})
77487748
\ee
7749-
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}$.
7749+
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}$.
77507750

77517751
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}:
77527752
\begin{lstlisting}

Source/geom.f90

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4349,6 +4349,8 @@ SUBROUTINE GET_EXT_INB_CUTFACES_TO_CFACE
43494349
CASE(KAXIS)
43504350
ADDMAT(KAXIS,LOW_IND) = -(ZF_MAX-ZS_MIN) ! -DZ(VT%K1)
43514351
ADDMAT(KAXIS,HIGH_IND) = (ZF_MAX-ZS_MIN) ! DZ(VT%K2)
4352+
CASE DEFAULT
4353+
CYCLE VENT_LOOP
43524354
END SELECT
43534355
! CFACE Loop to modify SURF_INDEX in INTERNAL_CFACE_CELLS:
43544356
CFACE_LOOP_2 : DO CFACE_INDEX_LOCAL=INTERNAL_CFACE_CELLS_LB+1,INTERNAL_CFACE_CELLS_LB+N_INTERNAL_CFACE_CELLS
@@ -4360,6 +4362,7 @@ SUBROUTINE GET_EXT_INB_CUTFACES_TO_CFACE
43604362
IF (BC%Y > Y(VT%J2)+ADDMAT(JAXIS,HIGH_IND)) CYCLE CFACE_LOOP_2
43614363
IF (BC%Z < Z(VT%K1)+ADDMAT(KAXIS,LOW_IND )) CYCLE CFACE_LOOP_2
43624364
IF (BC%Z > Z(VT%K2)+ADDMAT(KAXIS,HIGH_IND)) CYCLE CFACE_LOOP_2
4365+
CFA%VENT_INDEX = IVENT
43634366
CFA%SURF_INDEX = VT%SURF_INDEX
43644367
ENDDO CFACE_LOOP_2
43654368
ENDDO VENT_LOOP

Source/read.f90

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12228,7 +12228,7 @@ SUBROUTINE READ_VENT
1222812228

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

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

1223312233
! If the VENT is rejected, cycle
1223412234

@@ -12584,6 +12584,12 @@ SUBROUTINE READ_VENT
1258412584
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1258512585
ENDIF
1258612586

12587+
! Special treatment for coloring GEOM surface with HVAC_BOUNDARY
12588+
12589+
IF (VT%GEOM .AND. VT%BOUNDARY_TYPE==HVAC_BOUNDARY) THEN
12590+
SURFACE(VT%SURF_INDEX)%RGB = (/0,128,0/) ! green
12591+
ENDIF
12592+
1258712593
ENDDO VENT_LOOP_2
1258812594

1258912595
! Compute vent areas and check for passive openings
@@ -12680,6 +12686,7 @@ SUBROUTINE SET_VENT_DEFAULTS
1268012686
UVW = -1.E12_EB
1268112687
VEL_RMS = 0._EB
1268212688
XYZ = -1.E6_EB
12689+
XB = -1.E6_EB
1268312690

1268412691
END SUBROUTINE SET_VENT_DEFAULTS
1268512692

Verification/FDS_Cases.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,8 @@ $QFDS -d WUI LS_ellipse_0ms_00deg.fds
880880
$QFDS -d WUI LS_ellipse_5ms_00deg.fds
881881
$QFDS -d WUI LS_ellipse_0ms_30deg.fds
882882
$QFDS -d WUI LS_ellipse_5ms_30deg.fds
883+
$QFDS -d WUI LS_wind_ramp_lin.fds
884+
$QFDS -d WUI LS_wind_ramp_quad.fds
883885
$QFDS -d WUI LS4_ember_ignition.fds
884886
$QFDS -d WUI LS4_ember_yield.fds
885887
$QFDS -d WUI Morvan_TGA.fds

0 commit comments

Comments
 (0)