7#include "LookupTable.h"
37template <
int Ash,
int Rho,
int B0,
int B1,
int B2,
int B3>
45 virtual ~Duff() =
default;
46 Duff(
const Duff& rhs)
noexcept =
delete;
48 Duff& operator=(
const Duff& rhs)
noexcept =
delete;
49 Duff& operator=(
Duff&& rhs)
noexcept =
delete;
153template <
int Ash,
int Rho,
int B0,
int B1,
int B2,
int B3>
177 [[nodiscard]]
static constexpr MathSize
ash()
185 [[nodiscard]]
static constexpr MathSize
rho()
193 [[nodiscard]]
static constexpr MathSize
b0()
201 [[nodiscard]]
static constexpr MathSize
b1()
209 [[nodiscard]]
static constexpr MathSize
b2()
217 [[nodiscard]]
static constexpr MathSize
b3()
231 [[nodiscard]]
static ThresholdSize
A specific type of Duff layer, and the associated smouldering coefficients.
Definition Duff.h:156
static ThresholdSize duffFunction(const MathSize mc_pct) noexcept
Ignition Probability (% / 100) [eq Ig-1].
Definition Duff.h:232
static constexpr MathSize b0()
B_0 [table 2].
Definition Duff.h:193
static constexpr MathSize rho()
Organic bulk density (kg/m^3)
Definition Duff.h:185
static constexpr MathSize b1()
B_1 [table 2].
Definition Duff.h:201
static constexpr MathSize ash()
Inorganic content, percentage oven dry weight.
Definition Duff.h:177
ThresholdSize probabilityOfSurvival(const MathSize mc_pct) const noexcept override
Probability of survival (% / 100) [eq Ig-1].
Definition Duff.h:169
static constexpr MathSize b2()
B_2 [table 2].
Definition Duff.h:209
util::LookupTable<&duffFunction > probability_of_survival_
Ignition Probability (% / 100) [eq Ig-1].
Definition Duff.h:246
static constexpr MathSize b3()
B_3 [table 2].
Definition Duff.h:217
static constexpr auto ConstantPart
Constant part of ignition probability equation [eq Ig-1].
Definition Duff.h:225
Base class for DuffType.
Definition Duff.h:43
static const DuffType< 94, 2220, -198198, -1169, 10414, 782 > Peat
Peat [Frandsen table 2/3].
Definition Duff.h:114
constexpr bool operator!=(const Duff &rhs) const
Inequality operator.
Definition Duff.h:65
static const DuffType< 359, 1220, 3325604, -12220, -21024, -12619 > WhiteSpruce
Sedge meadow (upper) [Frandsen table 2/3].
Definition Duff.h:110
static const DuffType< 349, 2030, 372276, -1876, -2833, -951 > PeatMuck
Peat muck [Frandsen table 2/3].
Definition Duff.h:118
constexpr bool operator==(const Duff &rhs) const
Equality operator.
Definition Duff.h:55
Duff()=default
Grass/sedge marsh [Frandsen table 2/3].
virtual ThresholdSize probabilityOfSurvival(MathSize mc_pct) const noexcept=0
Survival probability calculated using probability of ony survival based on multiple formulae.
static const DuffType< 365, 1900, 451778, -3227, -3644, -362 > PineSeney
Sedge meadow (Seney) [Frandsen table 2/3].
Definition Duff.h:126
static const DuffType< 181, 427, 90970, -1040, 1165, -646 > FeatherMoss
Sphagnum (lower) [Frandsen table 2/3].
Definition Duff.h:94
static const DuffType< 307, 1160, 586921, -2737, -5413, -1246 > SprucePine
Spruce/pine duff [Frandsen table 2/3].
Definition Duff.h:130
static const DuffType< 124, 218, -88306, -608, 8095, 2735 > SphagnumUpper
Feather moss (upper) [Frandsen table 2/3].
Definition Duff.h:86
static const DuffType< 261, 563, 80359, -393, -591, -340 > Reindeer
Reindeer/feather [Frandsen table 2/3].
Definition Duff.h:98
A table initialized using the given function ranging over the number of digits and precision.
Definition LookupTable.h:20