You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The High-Order Room model should support the calculation of moisture balances for each room, but enabling the parameter "use_moisture_balance" leads to an overdetermination of the model. The error is located in the PartialRoom model (ThermalZones.HighOrder.Rooms.BaseClasses.PartialRoom):
There are two place holders (Line 126 - 129), which are connected to the airload and the NaturalVentilation model:
Modelica.Blocks.Interfaces.RealOutput hum_internal
"internal humidity (used for case with no moisture balance";
Modelica.Blocks.Interfaces.RealOutput mWat_flow_internal
"internal mass flow rate of water vapor (used for case with no moisture balance)";
Enabling the moisture balance activates the RealInputs "ventHum" and "QLat_flow", which are also connected to the airload and the NaturalVentilation model. This leads to an overdetermination.
To Reproduce
Create a new model and insert any room from ThermalZones.HighOrder.Rooms.OFD
Copy wallTypes from HighOrder.House.OFD_MiddleInnerLoadWall.BuildingEnvelope.WholeHouseBuilding and insert it in the model
Copy groundTemp and sun with constSun from HighOrder.Examples.OFDHeatLoad
Connect outer heatports of room with groundTemp, SolarRadiationPort with sun and remaining RealInputs with constSun
Double click on room and type in "wallTypes" for wallTypes. Set WindowModel, Type_Win and CorrSolarGainWin in Outer walls tab
Check model: Should be fine.
Now activate "use_moisture_balance" for the room and connect ventHum and QLatflow with constSun
Check model: Now you should see the error including mWat_flow etc.
Expected behavior
I fixed the bug on my local version, as I need the model for my thesis:
Modify the code from above like this:
Modelica.Blocks.Interfaces.RealOutput hum_internal = 0 if not use_moisture_balance
"internal humidity (used for case with no moisture balance";
Modelica.Blocks.Interfaces.RealOutput mWat_flow_internal = 0 if not use_moisture_balance
"internal mass flow rate of water vapor (used for case with no moisture balance)";
In the equation section, embed the respective connect statements within an if-condition:
if use_moisture_balance then
connect(NaturalVentilation.HumIn, ventHum) annotation (Line(
points={{-33.4,-21},{-62,-21},{-62,-22},{-74,-22},{-74,-37},{-111,-37}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(mWat_flow.y, airload.mWat_flow) annotation (Line(
points={{47.6,-28},{36,-28},{36,-10},{26,-10},{26,-4},{20,-4}},
color={0,0,127},
pattern=LinePattern.Dash));
else
connect(NaturalVentilation.HumIn, hum_internal);
connect(airload.mWat_flow, mWat_flow_internal);
end if;
Check model from before: Should work now.
Desktop (please complete the following information):
Dymola 2022 with Modelica 4.0.0, AixLib v1.3.2
The text was updated successfully, but these errors were encountered:
Describe the bug
The High-Order Room model should support the calculation of moisture balances for each room, but enabling the parameter "use_moisture_balance" leads to an overdetermination of the model. The error is located in the PartialRoom model (ThermalZones.HighOrder.Rooms.BaseClasses.PartialRoom):
To Reproduce
Expected behavior
I fixed the bug on my local version, as I need the model for my thesis:
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: