From 50ee870ce55e69ac583272a8405024e6bb1386a9 Mon Sep 17 00:00:00 2001 From: Johnathan Tenny <107655580+j-tenny@users.noreply.github.com> Date: Mon, 7 Sep 2026 12:11:48 -0700 Subject: [PATCH 1/2] Fixed SAVR unit conversion.cpp Unit conversions for surface area to volume ratio were backwards. Moved constants from 'toBaseUnits' to 'fromBaseUnits' and vice-versa. --- src/behave/behaveUnits.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/behave/behaveUnits.cpp b/src/behave/behaveUnits.cpp index 53524ea..c652a3c 100644 --- a/src/behave/behaveUnits.cpp +++ b/src/behave/behaveUnits.cpp @@ -548,10 +548,10 @@ double PressureUnits::fromBaseUnits(double value, PressureUnitsEnum units) { double SurfaceAreaToVolumeUnits::toBaseUnits(double value, SurfaceAreaToVolumeUnitsEnum units) { if (value == 0.0) return 0.0; - const double SQUARE_METERS_OVER_CUBIC_METERS_TO_SQUARE_FEET_OVER_CUBIC_FEET = 3.280839895013123; + const double SQUARE_METERS_OVER_CUBIC_METERS_TO_SQUARE_FEET_OVER_CUBIC_FEET = 0.3048; - const double SQUARE_INCHES_OVER_CUBIC_INCHES_TO_SQUARE_FEET_OVER_CUBIC_FEET = 0.083333333333333; - const double SQUARE_CENTIMETERS_OVER_CUBIC_CENTIMERS_TO_SQUARE_FEET_OVER_CUBIC_FEET = 0.03280839895013123; + const double SQUARE_INCHES_OVER_CUBIC_INCHES_TO_SQUARE_FEET_OVER_CUBIC_FEET = 12; + const double SQUARE_CENTIMETERS_OVER_CUBIC_CENTIMERS_TO_SQUARE_FEET_OVER_CUBIC_FEET = 30.48; switch (units) { @@ -586,9 +586,9 @@ double SurfaceAreaToVolumeUnits::toBaseUnits(double value, SurfaceAreaToVolumeUn double SurfaceAreaToVolumeUnits::fromBaseUnits(double value, SurfaceAreaToVolumeUnitsEnum units) { if (value == 0.0) return 0.0; - const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_METERS_OVER_CUBIC_METERS = 0.3048; - const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_INCHES_OVER_CUBIC_INCHES = 12; - const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_CENTIMETERS_OVER_CUBIC_CENTIMERS = 30.48; + const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_METERS_OVER_CUBIC_METERS = 3.280839895013123; + const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_INCHES_OVER_CUBIC_INCHES = 0.083333333333333; + const double SQUARE_FEET_OVER_CUBIC_FEET_TO_SQUARE_CENTIMETERS_OVER_CUBIC_CENTIMERS = 0.03280839895013123; switch (units) { From 82ac54727cfe494a53101add3a75cb558ab2fdb9 Mon Sep 17 00:00:00 2001 From: Johnathan Tenny <107655580+j-tenny@users.noreply.github.com> Date: Mon, 7 Sep 2026 16:24:20 -0700 Subject: [PATCH 2/2] Fix unit conversion for heat of combustion in setCustomFuelModel() No unit conversion was happening on heat of combustion when creating a custom fuel model. Thus, if creating a custom fuel model with metric inputs, reaction intensity, spread rate, etc was off by a factor of 2.3. Added conversion for this value and tested compiling and basic run. --- src/behave/fuelModels.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/behave/fuelModels.cpp b/src/behave/fuelModels.cpp index 995a659..5018ed8 100644 --- a/src/behave/fuelModels.cpp +++ b/src/behave/fuelModels.cpp @@ -721,6 +721,12 @@ bool FuelModels::setCustomFuelModel(int fuelModelNumber, std::string code, std:: moistureOfExtinctionDead = FractionUnits::toBaseUnits(moistureOfExtinctionDead, moistureUnits); + if (heatOfCombustionUnits != HeatOfCombustionUnits::BtusPerPound) + { + heatOfCombustionDead = HeatOfCombustionUnits::toBaseUnits(heatOfCombustionDead, heatOfCombustionUnits); + heatOfCombustionLive = HeatOfCombustionUnits::toBaseUnits(heatOfCombustionLive, heatOfCombustionUnits); + } + if (loadingUnits != LoadingUnits::PoundsPerSquareFoot) { fuelLoadOneHour = LoadingUnits::toBaseUnits(fuelLoadOneHour, loadingUnits);