FireSTARR
Loading...
Searching...
No Matches
fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth > Class Template Reference

Base class for all FuelTypes. More...

#include <FuelType.h>

Inheritance diagram for fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >:
Collaboration diagram for fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >:

Public Member Functions

constexpr FuelBase (const FuelCodeSize &code, const char *name, const bool can_crown, const Duff *duff_ffmc, const Duff *duff_dmc)
 Constructor.
 
 FuelBase (FuelBase &&rhs) noexcept=delete
 
 FuelBase (const FuelBase &rhs)=delete
 
FuelBaseoperator= (FuelBase &&rhs) noexcept=delete
 
FuelBaseoperator= (const FuelBase &rhs)=delete
 
MathSize crownFractionBurned (const MathSize rss, const MathSize rso) const noexcept override
 Crown Fraction Burned (CFB) [ST-X-3 eq 58].
 
ThresholdSize probabilityPeat (const MathSize mc_fraction) const noexcept override
 Calculate probability of burning [Anderson eq 1].
 
ThresholdSize survivalProbability (const wx::FwiWeather &wx) const noexcept override
 Survival probability calculated using probability of ony survival based on multiple formulae.
 
constexpr const DuffduffDmcType () const
 Type of duff deeper underground.
 
constexpr const DuffduffFfmcType () const
 Type of duff near the surface.
 
- Public Member Functions inherited from fs::fuel::FuelType
virtual MathSize cfl () const =0
 Crown fuel load (kg/m^2) [ST-X-3 table 8].
 
constexpr FuelType (const FuelCodeSize &code, const char *name, const bool can_crown) noexcept
 Fuel type.
 
 FuelType (FuelType &&rhs) noexcept=delete
 
 FuelType (const FuelType &rhs) noexcept=delete
 
FuelTypeoperator= (FuelType &&rhs) noexcept=delete
 
FuelTypeoperator= (const FuelType &rhs) noexcept=delete
 
constexpr bool canCrown () const
 Whether or not this fuel can have a crown fire.
 
virtual MathSize grass_curing (const int, const wx::FwiWeather &) const
 Grass curing.
 
virtual MathSize cbh () const =0
 Crown base height (m) [ST-X-3 table 8].
 
virtual MathSize buiEffect (MathSize bui) const =0
 BUI Effect on surface fire rate of spread [ST-X-3 eq 54].
 
virtual MathSize crownConsumption (MathSize cfb) const =0
 Crown Fuel Consumption (CFC) (kg/m^2) [ST-X-3 eq 66].
 
virtual MathSize calculateRos (int nd, const wx::FwiWeather &wx, MathSize isi) const =0
 Calculate rate of spread (m/min)
 
virtual MathSize calculateIsf (const SpreadInfo &spread, MathSize isi) const =0
 Calculate ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41/42].
 
virtual MathSize surfaceFuelConsumption (const SpreadInfo &spread) const =0
 Surface fuel consumption (SFC) (kg/m^2) [ST-X-3 eq 9-25].
 
virtual MathSize lengthToBreadth (MathSize ws) const =0
 Length to Breadth ratio [ST-X-3 eq 79].
 
virtual MathSize finalRos (const SpreadInfo &spread, MathSize isi, MathSize cfb, MathSize rss) const =0
 Final rate of spread (m/min)
 
virtual MathSize criticalSurfaceIntensity (const SpreadInfo &spread) const =0
 Critical Surface Fire Intensity (CSI) [ST-X-3 eq 56].
 
constexpr const char * name () const
 Name of the fuel.
 
constexpr FuelCodeSize code () const
 Code for this fuel type.
 

Static Public Member Functions

static constexpr MathSize bulkDensity ()
 Duff Bulk Density (kg/m^3) [Anderson table 1].
 
static constexpr MathSize inorganicPercent ()
 Inorganic Percent (% / 100) [Anderson table 1].
 
static constexpr MathSize duffDepth ()
 DuffDepth Depth of Duff layer (cm) [Anderson table 1].
 
static constexpr MathSize ffmcRatio ()
 What fraction of the duff layer should use FFMC to determine moisture.
 
static constexpr MathSize dmcRatio ()
 What fraction of the duff layer should use DMC to determine moisture.
 
- Static Public Member Functions inherited from fs::fuel::FuelType
static constexpr FuelCodeSize safeCode (const FuelType *fuel)
 Convert FuelType to its code, or 0 if nullptr.
 
static constexpr const char * safeName (const FuelType *fuel)
 Convert FuelType to its name, or 0 if nullptr.
 
static constexpr MathSize criticalRos (const MathSize sfc, const MathSize csi)
 Critical rate of spread (m/min)
 
static constexpr bool isCrown (const MathSize csi, const MathSize sfi)
 Whether or not this is a crown fire.
 

Private Attributes

const Duffduff_ffmc_
 Type of duff near the surface.
 
const Duffduff_dmc_
 Type of duff deeper underground.
 

Detailed Description

template<int BulkDensity, int InorganicPercent, int DuffDepth>
class fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >

Base class for all FuelTypes.

Template Parameters
BulkDensityDuff Bulk Density (kg/m^3) [Anderson table 1] * 1000
InorganicPercentInorganic percent of Duff layer (%) [Anderson table 1]
DuffDepthDepth of Duff layer (cm * 10) [Anderson table 1]

Constructor & Destructor Documentation

◆ FuelBase()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::FuelBase ( const FuelCodeSize & code,
const char * name,
const bool can_crown,
const Duff * duff_ffmc,
const Duff * duff_dmc )
inlineconstexpr

Constructor.

Parameters
codeCode to identify fuel with
nameName of the fuel
can_crownWhether or not this fuel type can have a crown fire
duff_ffmcType of duff near the surface
duff_dmcType of duff deeper underground

Member Function Documentation

◆ bulkDensity()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
static constexpr MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::bulkDensity ( )
inlinestaticnodiscardconstexpr

Duff Bulk Density (kg/m^3) [Anderson table 1].

Returns
Duff Bulk Density (kg/m^3) [Anderson table 1]
Here is the caller graph for this function:

◆ crownFractionBurned()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::crownFractionBurned ( const MathSize rss,
const MathSize rso ) const
inlinenodiscardoverridevirtualnoexcept

Crown Fraction Burned (CFB) [ST-X-3 eq 58].

Parameters
rssSurface Rate of spread (ROS) (m/min) [ST-X-3 eq 55]
rsoCritical surface fire spread rate (RSO) [ST-X-3 eq 57]
Returns
Crown Fraction Burned (CFB) [ST-X-3 eq 58]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ dmcRatio()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
static constexpr MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::dmcRatio ( )
inlinestaticnodiscardconstexpr

What fraction of the duff layer should use DMC to determine moisture.

Returns
What fraction of the duff layer should use DMC to determine moisture
Here is the call graph for this function:
Here is the caller graph for this function:

◆ duffDepth()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
static constexpr MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::duffDepth ( )
inlinestaticnodiscardconstexpr

DuffDepth Depth of Duff layer (cm) [Anderson table 1].

Returns
DuffDepth Depth of Duff layer (cm) [Anderson table 1]
Here is the caller graph for this function:

◆ duffDmcType()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
const Duff * fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::duffDmcType ( ) const
inlinenodiscardconstexpr

Type of duff deeper underground.

Returns
Type of duff deeper underground
Here is the caller graph for this function:

◆ duffFfmcType()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
const Duff * fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::duffFfmcType ( ) const
inlinenodiscardconstexpr

Type of duff near the surface.

Returns
Type of duff near the surface
Here is the caller graph for this function:

◆ ffmcRatio()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
static constexpr MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::ffmcRatio ( )
inlinestaticnodiscardconstexpr

What fraction of the duff layer should use FFMC to determine moisture.

Returns
What fraction of the duff layer should use FFMC to determine moisture
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inorganicPercent()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
static constexpr MathSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::inorganicPercent ( )
inlinestaticnodiscardconstexpr

Inorganic Percent (% / 100) [Anderson table 1].

Returns
Inorganic Percent (% / 100) [Anderson table 1]
Here is the caller graph for this function:

◆ probabilityPeat()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
ThresholdSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::probabilityPeat ( const MathSize mc_fraction) const
inlinenodiscardoverridevirtualnoexcept

Calculate probability of burning [Anderson eq 1].

Parameters
mc_fractionmoisture content (% / 100)
Returns
Calculate probability of burning [Anderson eq 1]

Implements fs::fuel::FuelType.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ survivalProbability()

template<int BulkDensity, int InorganicPercent, int DuffDepth>
ThresholdSize fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >::survivalProbability ( const wx::FwiWeather & wx) const
inlinenodiscardoverridevirtualnoexcept

Survival probability calculated using probability of ony survival based on multiple formulae.

Parameters
wxFwiWeather to calculate survival probability for
Returns
Chance of survival (% / 100)

Implements fs::fuel::FuelType.

Here is the call graph for this function:

The documentation for this class was generated from the following file: