From 698766e3ca128ad67aca3b74e215eac47acd0bd8 Mon Sep 17 00:00:00 2001 From: DamonHD Date: Tue, 26 Sep 2023 10:32:43 +0100 Subject: [PATCH] Bug fix. Tests pass, but probably shouldn't yet! --- .../hg/HGTRVHPMModelParameterised.java | 21 +++++++++++++++---- .../TestHGTRVHPModelSoftATemperature.java | 4 ++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/javasrc/org/hd/d/TRVmodel/hg/HGTRVHPMModelParameterised.java b/javasrc/org/hd/d/TRVmodel/hg/HGTRVHPMModelParameterised.java index 4f40d82..1c79bfb 100644 --- a/javasrc/org/hd/d/TRVmodel/hg/HGTRVHPMModelParameterised.java +++ b/javasrc/org/hd/d/TRVmodel/hg/HGTRVHPMModelParameterised.java @@ -178,6 +178,11 @@ public static double computeBungalowHPElectricityDemandW(final ModelParameters p * @return (radAsbMW) mean water temperature in each A room when B setback (C) */ public static double sbAMW(final double HHLsb, final double radWnsb, final double IWAabHLW) + + + // FIXME + + { // radWAsb: (Heat Loss 2.0) radiator output in each A room when B setback (W). // (RADIATOR_POWER_IN_A_ROOMS_WHEN_B_SETBACK_W) @@ -249,7 +254,7 @@ private static double iwHeatLossPerA(final ModelParameters params, final double // (INTERNAL_DOOR_HEAT_LOSS_W) final double IDAabHLW = IDAabHL * - (HGTRVHPMModel.NORMAL_ROOM_TEMPERATURE_C - HGTRVHPMModel.SETBACK_ROOM_TEMPERATURE_C); + (tempA - HGTRVHPMModel.SETBACK_ROOM_TEMPERATURE_C); // IDWAabHLW: (Heat Loss 1.7) internal wall and door heat loss per A room (W). // (INTERNAL_WALL_AND_DOOR_HEAT_LOSS_PER_A_ROOM_W) // In the original ABAB arrangement there are two walls from each A room into B rooms. @@ -311,16 +316,24 @@ private static double ifHeatLossPerA2Storey(final ModelParameters params, final * This is in fact the MW temperature for all room radiators when there are no setbacks. * * @param radWnsb pre-setback radiator output based on variable external air temperature (W) + * @param tempA temperature of A room * @return (radAnsbMW) radiator mean water temperature in each A room when B is NOT set back (C) */ public static double nsbAMW(final double radWnsb) + + + // FIXME + + { // Extension to heat loss 2 to allow for varying external temperatures. // Compute, for when B rooms are not set back: // * the needed power for each A radiator - // * thus the implied temperature - // * thus the CoP - // * thus the electricity demand + // * thus the implied radiator mean water temperature + // + // This then allows computing: + // * the CoP + // * the heat-pump electricity demand // // Replaces the simple calc; // final double radAMW = diff --git a/test/javasrc/localtest/TestHGTRVHPModelSoftATemperature.java b/test/javasrc/localtest/TestHGTRVHPModelSoftATemperature.java index 8f62c94..9290e13 100644 --- a/test/javasrc/localtest/TestHGTRVHPModelSoftATemperature.java +++ b/test/javasrc/localtest/TestHGTRVHPModelSoftATemperature.java @@ -67,6 +67,10 @@ public static void testWithFixParametersDetached() assertTrue(originalDetachedDemand.withSetback().heatDemand() > softDetachedDemand.withSetback().heatDemand()); assertTrue(originalDetachedDemand.withSetback().heatPumpElectricity() > softDetachedDemand.withSetback().heatPumpElectricity()); + + // FIXME nsbAMW() sbAMW() need fix + + // The A-room equilibrium temperature with B set back // will be lower than the 'normal' temperature and higher than the setback temperature. assertTrue(equilibriumTemperature[0] > HGTRVHPMModel.SETBACK_ROOM_TEMPERATURE_C);