FireSTARR
Loading...
Searching...
No Matches
fs::fuel::FuelVariable< FuelSpring, FuelSummer > Class Template Reference

A fuel type that changes based on the season. More...

#include <FBP45.h>

Inheritance diagram for fs::fuel::FuelVariable< FuelSpring, FuelSummer >:
Collaboration diagram for fs::fuel::FuelVariable< FuelSpring, FuelSummer >:

Public Member Functions

constexpr FuelVariable (const FuelCodeSize &code, const char *name, const bool can_crown, const FuelSpring *const spring, const FuelSummer *const summer)
 A slash fuel type.
 
 FuelVariable (FuelVariable &&rhs) noexcept=delete
 
 FuelVariable (const FuelVariable &rhs)=delete
 
FuelVariableoperator= (FuelVariable &&rhs) noexcept=delete
 
FuelVariableoperator= (const FuelVariable &rhs)=delete
 
MathSize buiEffect (MathSize bui) const override
 BUI Effect on surface fire rate of spread [ST-X-3 eq 54].
 
MathSize grass_curing (const int nd, const wx::FwiWeather &wx) const override
 Grass curing.
 
MathSize cbh () const override
 Crown base height (m) [ST-X-3 table 8].
 
MathSize cfl () const override
 Crown fuel load (kg/m^2) [ST-X-3 table 8].
 
MathSize crownConsumption (const MathSize cfb) const override
 Crown Fuel Consumption (CFC) (kg/m^2) [ST-X-3 eq 66].
 
MathSize calculateRos (const int nd, const wx::FwiWeather &wx, const MathSize isi) const override
 Initial rate of spread (m/min) [ST-X-3 eq 26].
 
MathSize calculateIsf (const SpreadInfo &spread, const MathSize isi) const override
 Calculate ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41].
 
MathSize surfaceFuelConsumption (const SpreadInfo &spread) const override
 Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 eq 9-25].
 
MathSize lengthToBreadth (const MathSize ws) const override
 Length to Breadth ratio [ST-X-3 eq 79].
 
MathSize finalRos (const SpreadInfo &spread, const MathSize isi, const MathSize cfb, const MathSize rss) const override
 Final rate of spread (m/min)
 
MathSize criticalSurfaceIntensity (const SpreadInfo &spread) const override
 Critical Surface Fire Intensity (CSI) [ST-X-3 eq 56].
 
MathSize crownFractionBurned (const MathSize rss, const MathSize rso) const noexcept override
 Crown Fraction Burned (CFB) [ST-X-3 eq 58].
 
MathSize probabilityPeat (const MathSize mc_fraction) const noexcept override
 Calculate probability of burning [Anderson eq 1].
 
MathSize survivalProbability (const wx::FwiWeather &wx) const noexcept override
 Survival probability calculated using probability of ony survival based on multiple formulae.
 
constexpr const FuelTypespring () const
 Fuel to use before green-up.
 
constexpr const FuelTypesummer () const
 Fuel to use after green-up.
 
- Public Member Functions inherited from fs::fuel::FuelType
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.
 
constexpr const char * name () const
 Name of the fuel.
 
constexpr FuelCodeSize code () const
 Code for this fuel type.
 

Private Attributes

const FuelSpring *const spring_
 Fuel to use before green-up.
 
const FuelSummer *const summer_
 Fuel to use after green-up.
 

Additional Inherited Members

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

Detailed Description

template<class FuelSpring, class FuelSummer>
class fs::fuel::FuelVariable< FuelSpring, FuelSummer >

A fuel type that changes based on the season.

Template Parameters
FuelSpringFuel type to use in the spring
FuelSummerFuel type to use in the summer

Constructor & Destructor Documentation

◆ FuelVariable()

template<class FuelSpring , class FuelSummer >
fs::fuel::FuelVariable< FuelSpring, FuelSummer >::FuelVariable ( const FuelCodeSize & code,
const char * name,
const bool can_crown,
const FuelSpring *const spring,
const FuelSummer *const summer )
inlineconstexpr

A slash fuel type.

Parameters
codeCode to identify fuel with
nameName of the fuel
can_crownWhether or not this fuel can have a crown fire
springFuel type to use in the spring
summerFuel type to use in the summer

Member Function Documentation

◆ buiEffect()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::buiEffect ( MathSize bui) const
inlinenodiscardoverridevirtual

BUI Effect on surface fire rate of spread [ST-X-3 eq 54].

Parameters
buiBuild-up Index
Returns
BUI Effect on surface fire rate of spread [ST-X-3 eq 54]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ calculateIsf()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::calculateIsf ( const SpreadInfo & spread,
const MathSize isi ) const
inlinenodiscardoverridevirtual

Calculate ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41].

Parameters
spreadSpreadInfo to use
isiInitial Spread Index
Returns
ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ calculateRos()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::calculateRos ( const int nd,
const wx::FwiWeather & wx,
const MathSize isi ) const
inlinenodiscardoverridevirtual

Initial rate of spread (m/min) [ST-X-3 eq 26].

Parameters
ndDifference between date and the date of minimum foliar moisture content
wxFwiWeather to use
isiInitial Spread Index
Returns
Initial rate of spread (m/min) [ST-X-3 eq 26]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ cbh()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::cbh ( ) const
inlinenodiscardoverridevirtual

Crown base height (m) [ST-X-3 table 8].

Returns
Crown base height (m) [ST-X-3 table 8]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ cfl()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::cfl ( ) const
inlinenodiscardoverridevirtual

Crown fuel load (kg/m^2) [ST-X-3 table 8].

Returns
Crown fuel load (kg/m^2) [ST-X-3 table 8]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ criticalSurfaceIntensity()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::criticalSurfaceIntensity ( const SpreadInfo & spread) const
inlinenodiscardoverridevirtual

Critical Surface Fire Intensity (CSI) [ST-X-3 eq 56].

Parameters
spreadSpreadInfo to use in calculation
Returns
Critical Surface Fire Intensity (CSI) [ST-X-3 eq 56]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ crownConsumption()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::crownConsumption ( const MathSize cfb) const
inlinenodiscardoverridevirtual

Crown Fuel Consumption (CFC) (kg/m^2) [ST-X-3 eq 66].

Parameters
cfbCrown Fraction Burned (CFB) [ST-X-3 eq 58]
Returns
Crown Fuel Consumption (CFC) (kg/m^2) [ST-X-3 eq 66]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ crownFractionBurned()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::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:

◆ finalRos()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::finalRos ( const SpreadInfo & spread,
const MathSize isi,
const MathSize cfb,
const MathSize rss ) const
inlinenodiscardoverridevirtual

Final rate of spread (m/min)

Parameters
spreadSpreadInfo to use
isiInitial Spread Index (may differ from wx because of slope)
cfbCrown Fraction Burned (CFB) [ST-X-3 eq 58]
rssSurface Rate of spread (ROS) (m/min) [ST-X-3 eq 55]
Returns
Final rate of spread (m/min)

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ grass_curing()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::grass_curing ( const int nd,
const wx::FwiWeather & wx ) const
inlinenodiscardoverridevirtual

Grass curing.

Returns
Grass curing (or -1 if invalid for this fuel type)

Reimplemented from fs::fuel::FuelType.

Here is the call graph for this function:

◆ lengthToBreadth()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::lengthToBreadth ( const MathSize ws) const
inlinenodiscardoverridevirtual

Length to Breadth ratio [ST-X-3 eq 79].

Parameters
wsWind Speed (km/h)
Returns
Length to Breadth ratio [ST-X-3 eq 79]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ probabilityPeat()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::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:

◆ spring()

template<class FuelSpring , class FuelSummer >
const FuelType & fs::fuel::FuelVariable< FuelSpring, FuelSummer >::spring ( ) const
inlinenodiscardconstexpr

Fuel to use before green-up.

Returns
Fuel to use before green-up
Here is the caller graph for this function:

◆ summer()

template<class FuelSpring , class FuelSummer >
const FuelType & fs::fuel::FuelVariable< FuelSpring, FuelSummer >::summer ( ) const
inlinenodiscardconstexpr

Fuel to use after green-up.

Returns
Fuel to use after green-up

◆ surfaceFuelConsumption()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::surfaceFuelConsumption ( const SpreadInfo & spread) const
inlinenodiscardoverridevirtual

Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 eq 9-25].

Parameters
spreadSpreadInfo to use
Returns
Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 eq 9-25]

Implements fs::fuel::FuelType.

Here is the call graph for this function:

◆ survivalProbability()

template<class FuelSpring , class FuelSummer >
MathSize fs::fuel::FuelVariable< FuelSpring, FuelSummer >::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: