From 0505d36d4df14419be4d5135dd15c81ca3b9fecd Mon Sep 17 00:00:00 2001 From: Mingbo Peng Date: Tue, 19 Sep 2023 23:50:31 +0800 Subject: [PATCH] fix(IB_AirConditionerVariableRefrigerantFlow): improve ToOS (#99) * fix(IB_AirConditionerVariableRefrigerantFlow): improve ToOS * fix(AirConditionerVariableRefrigerantFlow): throw an exception when failed to add terminals * test(large model): ignore large model test for now * fix(OpenStudio): upgrade to 3.6.1 on Linux * fix(Console): upgrade to 3.6.1 on Linux * test(LargeModel): add test back --- src/Ironbug.Console/Ironbug.Console.csproj | 2 +- src/Ironbug.HVAC/Ironbug.HVAC.csproj | 2 +- .../Loops/IB_AirConditionerVariableRefrigerantFlow.cs | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Ironbug.Console/Ironbug.Console.csproj b/src/Ironbug.Console/Ironbug.Console.csproj index 756124fc..c0b79c02 100644 --- a/src/Ironbug.Console/Ironbug.Console.csproj +++ b/src/Ironbug.Console/Ironbug.Console.csproj @@ -23,7 +23,7 @@ - + - + diff --git a/src/Ironbug.HVAC/Loops/IB_AirConditionerVariableRefrigerantFlow.cs b/src/Ironbug.HVAC/Loops/IB_AirConditionerVariableRefrigerantFlow.cs index aad5756c..72bd019b 100644 --- a/src/Ironbug.HVAC/Loops/IB_AirConditionerVariableRefrigerantFlow.cs +++ b/src/Ironbug.HVAC/Loops/IB_AirConditionerVariableRefrigerantFlow.cs @@ -42,7 +42,7 @@ public override IB_ModelObject Duplicate() } public override HVACComponent ToOS(Model model) { - var existObj = model.getAirConditionerVariableRefrigerantFlows().FirstOrDefault(_ => _.comment() == this.GetTrackingID()); + var existObj = this.GetIfInModel(model, this.GetTrackingID()); if (existObj != null) return existObj; var newObj = base.OnNewOpsObj(NewDefaultOpsObj, model); @@ -50,9 +50,10 @@ public override HVACComponent ToOS(Model model) var allTerms = this.Terminals; foreach (var terminal in allTerms) { - - var item = (IB_ZoneHVACTerminalUnitVariableRefrigerantFlow)terminal; - newObj.addTerminal((ZoneHVACTerminalUnitVariableRefrigerantFlow)item.ToOS(model)); + var t = terminal.ToOS(model) as ZoneHVACTerminalUnitVariableRefrigerantFlow; + var done = newObj.addTerminal(t); + if (!done) + throw new ArgumentException("Failed to add ZoneHVACTerminalUnitVariableRefrigerantFlow"); }