FireSTARR
Loading...
Searching...
No Matches
fs::fuel::FuelGrass< A, B, C > Class Template Reference

A grass fuel type. More...

#include <FBP45.h>

Inheritance diagram for fs::fuel::FuelGrass< A, B, C >:
Collaboration diagram for fs::fuel::FuelGrass< A, B, C >:

Public Member Functions

 FuelGrass (const FuelGrass &rhs) noexcept=delete
 
 FuelGrass (FuelGrass &&rhs) noexcept=delete
 
FuelGrassoperator= (const FuelGrass &rhs) noexcept=delete
 
FuelGrassoperator= (FuelGrass &&rhs) noexcept=delete
 
constexpr FuelGrass (const FuelCodeSize &code, const char *name, const LogValue log_q)
 A grass fuel type.
 
MathSize surfaceFuelConsumption (const SpreadInfo &) const noexcept override
 Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 pg 21].
 
MathSize grass_curing (const int nd, const wx::FwiWeather &wx) const override
 Grass curing.
 
MathSize baseMultiplier (const int nd, const wx::FwiWeather &wx) const noexcept
 Calculate base rate of spread multiplier.
 
MathSize calculateIsf (const SpreadInfo &spread, const MathSize isi) const noexcept override
 Calculate ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41].
 
MathSize calculateRos (const int nd, const wx::FwiWeather &wx, const MathSize isi) const noexcept override
 Calculate rate of spread (m/min)
 
- Public Member Functions inherited from fs::fuel::StandardFuel< A, B, C, 1, 0, 0, 0, 0, static_cast< int >(DUFF_FFMC_DEPTH *10.0)>
constexpr StandardFuel (const FuelCodeSize &code, const char *name, const bool can_crown, const LogValue log_q, const Duff *duff_ffmc, const Duff *duff_dmc) noexcept
 Constructor.
 
constexpr StandardFuel (const FuelCodeSize &code, const char *name, const bool can_crown, const LogValue log_q, const Duff *duff) noexcept
 Constructor.
 
 StandardFuel (StandardFuel &&rhs) noexcept=delete
 
 StandardFuel (const StandardFuel &rhs) noexcept=delete
 
StandardFueloperator= (StandardFuel &&rhs) noexcept=delete
 
StandardFueloperator= (const StandardFuel &rhs)=delete
 
MathSize rosBasic (const MathSize isi) const noexcept
 Initial rate of spread (m/min) [ST-X-3 eq 26].
 
virtual MathSize crownConsumption (const MathSize cfb) const noexcept override
 Crown Fuel Consumption (CFC) (kg/m^2) [ST-X-3 eq 66].
 
MathSize limitIsf (const MathSize mu, const MathSize rsf) const noexcept
 ISI with slope influence and zero wind (ISF) [ST-X-3 eq 41].
 
MathSize criticalSurfaceIntensity (const SpreadInfo &spread) const noexcept override
 Critical Surface Fire Intensity (CSI) [ST-X-3 eq 56].
 
MathSize lengthToBreadth (const MathSize ws) const noexcept override
 Length to Breadth ratio [ST-X-3 eq 79].
 
MathSize finalRos (const SpreadInfo &, MathSize, MathSize, const MathSize rss) const noexcept override
 Final rate of spread (m/min)
 
MathSize buiEffect (const MathSize bui) const noexcept override
 BUI Effect on surface fire rate of spread [ST-X-3 eq 54].
 
- Public Member Functions inherited from fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >
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
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.
 

Protected Member Functions

MathSize lengthToBreadth (const MathSize ws) const noexcept override
 Length to Breadth ratio [ST-X-3 eq 80/81].
 
- Protected Member Functions inherited from fs::fuel::StandardFuel< A, B, C, 1, 0, 0, 0, 0, static_cast< int >(DUFF_FFMC_DEPTH *10.0)>
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].
 

Private Member Functions

MathSize calculateRos (const MathSize multiplier, const MathSize isi) const noexcept
 Calculate rate of spread (m/min)
 

Additional Inherited Members

- Static Public Member Functions inherited from fs::fuel::FuelBase< BulkDensity, InorganicPercent, DuffDepth >
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.
 
- Static Protected Member Functions inherited from fs::fuel::StandardFuel< A, B, C, 1, 0, 0, 0, 0, static_cast< int >(DUFF_FFMC_DEPTH *10.0)>
static constexpr MathSize bui0 () noexcept
 Average Build-up Index for the fuel type [ST-X-3 table 7].
 
static constexpr MathSize a () noexcept
 Rate of spread parameter a [ST-X-3 table 6].
 
static constexpr MathSize negB () noexcept
 Negative of rate of spread parameter b [ST-X-3 table 6].
 
static constexpr MathSize c () noexcept
 Rate of spread parameter c [ST-X-3 table 6].
 
static constexpr MathSize crownRateOfSpread (const MathSize isi, const MathSize fmc) noexcept
 Crown fire spread rate (RSC) (m/min) [ST-X-3 eq 64].
 

Detailed Description

template<int A, int B, int C>
class fs::fuel::FuelGrass< A, B, C >

A grass fuel type.

Template Parameters
ARate of spread parameter a [ST-X-3 table 6]
BRate of spread parameter b * 10000 [ST-X-3 table 6]
CRate of spread parameter c * 100 [ST-X-3 table 6]

Constructor & Destructor Documentation

◆ FuelGrass()

template<int A, int B, int C>
fs::fuel::FuelGrass< A, B, C >::FuelGrass ( const FuelCodeSize & code,
const char * name,
const LogValue log_q )
inlineconstexpr

A grass fuel type.

Parameters
codeCode to identify fuel with
nameName of the fuel
log_qLog value of q [ST-X-3 table 7]

Member Function Documentation

◆ baseMultiplier()

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::baseMultiplier ( const int nd,
const wx::FwiWeather & wx ) const
inlinenodiscardnoexcept

Calculate base rate of spread multiplier.

Parameters
ndDifference between date and the date of minimum foliar moisture content
wxFwiWeather to use for calculation
Returns
Base rate of spread multiplier
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateIsf()

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::calculateIsf ( const SpreadInfo & spread,
const MathSize isi ) const
inlinenodiscardoverridevirtualnoexcept

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() [1/2]

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::calculateRos ( const int nd,
const wx::FwiWeather & wx,
const MathSize isi ) const
inlinenodiscardoverridevirtualnoexcept

Calculate rate of spread (m/min)

Parameters
ndDifference between date and the date of minimum foliar moisture content
wxFwiWeather to use for calculation
isiInitial Spread Index (may differ from wx because of slope)
Returns
Rate of spread (m/min)

Implements fs::fuel::FuelType.

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

◆ calculateRos() [2/2]

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::calculateRos ( const MathSize multiplier,
const MathSize isi ) const
inlinenodiscardprivatenoexcept

Calculate rate of spread (m/min)

Parameters
multiplierRate of spread multiplier
isiInitial Spread Index (may differ from wx because of slope)
Returns
Rate of spread (m/min)
Here is the call graph for this function:

◆ grass_curing()

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::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:
Here is the caller graph for this function:

◆ lengthToBreadth()

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::lengthToBreadth ( const MathSize ws) const
inlinenodiscardoverrideprotectedvirtualnoexcept

Length to Breadth ratio [ST-X-3 eq 80/81].

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

Implements fs::fuel::FuelType.

◆ surfaceFuelConsumption()

template<int A, int B, int C>
MathSize fs::fuel::FuelGrass< A, B, C >::surfaceFuelConsumption ( const SpreadInfo & ) const
inlinenodiscardoverridevirtualnoexcept

Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 pg 21].

Returns
Surface Fuel Consumption (SFC) (kg/m^2) [ST-X-3 pg 21]

Implements fs::fuel::FuelType.


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