Skip to content

Commit a01d69c

Browse files
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into issue4152_HpTemplateWithModular
2 parents bb70cef + 669e124 commit a01d69c

94 files changed

Lines changed: 8305 additions & 480 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 73 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
os: Linux
2-
dist: focal
2+
dist: nobel
33

44
language: python
55

66
python:
7-
- "3.8"
7+
- "3.12"
88

99
branches:
1010
only:
@@ -41,73 +41,76 @@ env:
4141
- MODELICA_JSON_HOME=${TRAVIS_BUILD_DIR}/modelica-json
4242

4343
jobs:
44-
# - TEST_ARG="make test-cdl-conformance"
45-
# - TEST_ARG="make test-energyplus-validations test-dymola-spawn-spaces test-openmodelica-spawn-spaces test-openmodelica-cdl" #target test-optimica-spawn-fmu removed as it requires a local installation of OCT
46-
# - TEST_ARG="make test-bestest"
47-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Air,Examples}\""
48-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Air,Examples}\""
49-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Air,Examples}\""
50-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
51-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
52-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
53-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
54-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
55-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
56-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
57-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
58-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
59-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
60-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
61-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
62-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
63-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
64-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
65-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
66-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
67-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
68-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Applications\""
69-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Applications\""
70-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Applications\""
71-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\""
72-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\" SINGLEPROC=\"true\""
73-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\""
74-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.DHC.Examples\""
75-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.DHC.Examples\" SINGLEPROC=\"true\""
76-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.DHC.Examples\""
77-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
78-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
79-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
80-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
81-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
82-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
83-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.FixedResistances\""
84-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.FixedResistances\""
85-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.FixedResistances\""
86-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
87-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
88-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
89-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
90-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
91-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
92-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Electrical\""
93-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Electrical\""
94-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Electrical\""
95-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Airflow,BoundaryConditions,Controls}\""
96-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Airflow,BoundaryConditions,Controls}\""
97-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Airflow,BoundaryConditions,Controls}\""
98-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.HeatTransfer\""
99-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.HeatTransfer\""
100-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.HeatTransfer\""
101-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
102-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
103-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
104-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Utilities\""
105-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Utilities\""
106-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Utilities\""
107-
# - TEST_ARG="make test-dymola PACKAGE=\"Buildings.Templates\""
108-
# - TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Templates\""
109-
# - TEST_ARG="make test-optimica PACKAGE=\"Buildings.Templates\""
110-
- TEST_ARG="make test-templates-dymola PACKAGE=\"Buildings.Templates.Plants.HeatPumps\""
44+
- TEST_ARG="make test-cdl-conformance"
45+
- TEST_ARG="make test-energyplus-validations test-dymola-spawn-spaces test-openmodelica-spawn-spaces test-openmodelica-cdl" #target test-optimica-spawn-fmu removed as it requires a local installation of OCT
46+
- TEST_ARG="make test-bestest"
47+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Air,Examples}\""
48+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Air,Examples}\""
49+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Air,Examples}\""
50+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Controls\""
51+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Controls\""
52+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Controls\""
53+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
54+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
55+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.EnergyPlus_24_2_0\""
56+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
57+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
58+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.{BaseClasses,Constructions,Examples}\""
59+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
60+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
61+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.BESTEST\""
62+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
63+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
64+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.Validation.{Initialization,LBNL_71T,TestConditionalConstructions}\""
65+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
66+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
67+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.Detailed.FLEXLAB\""
68+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
69+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
70+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.ThermalZones.{ISO13790,ReducedOrder}\""
71+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Applications\""
72+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Applications\""
73+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Applications\""
74+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\""
75+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\" SINGLEPROC=\"true\""
76+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.DHC.{ETS,Loads,Networks,Plants}\""
77+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.DHC.Examples\""
78+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.DHC.Examples\" SINGLEPROC=\"true\""
79+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.DHC.Examples\""
80+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
81+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
82+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Actuators,BaseClasses,Boilers,Chillers,CHPs,Delays}\""
83+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
84+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
85+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Examples,FMI}\""
86+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.FixedResistances\""
87+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.FixedResistances\""
88+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.FixedResistances\""
89+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
90+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
91+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{Geothermal,HeatExchangers,HeatPumps,Humidifiers,HydronicConfigurations,Interfaces}\""
92+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
93+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
94+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Fluid.{MassExchangers,MixingVolumes,Movers,Sensors,SolarCollectors,Sources,Storage,Utilities}\""
95+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Electrical\""
96+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Electrical\""
97+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Electrical\""
98+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Airflow,BoundaryConditions}\""
99+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Airflow,BoundaryConditions}\""
100+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Airflow,BoundaryConditions}\""
101+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.HeatTransfer\""
102+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.HeatTransfer\""
103+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.HeatTransfer\""
104+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
105+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
106+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.{Obsolete,Occupants,Media}\""
107+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Utilities\""
108+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Utilities\""
109+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Utilities\""
110+
- TEST_ARG="make test-dymola PACKAGE=\"Buildings.Templates\""
111+
- TEST_ARG="make test-openmodelica PACKAGE=\"Buildings.Templates\""
112+
- TEST_ARG="make test-optimica PACKAGE=\"Buildings.Templates\""
113+
- TEST_ARG="make test-templates-dymola"
111114

112115
before_install:
113116
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
@@ -156,12 +159,11 @@ before_install:
156159
install:
157160
- git lfs pull
158161
- pip3 install --upgrade pip wheel
159-
- pip3 install --only-binary=numpy,scipy,matplotlib numpy==1.21.4 scipy==1.7.3 matplotlib==3.5.1
160162
- pip3 install git+https://github.com/lbl-srg/${BUILDINGSPY_VERSION}
161163
- if [[ "$TEST_ARG" == *test-energyplus* ]] || [[ "$TEST_ARG" == *test-templates* ]]; then
162164
export ENERGYPLUS_9_6_0=${ENERGYPLUS_9_6_0};
163165
export ENERGYPLUS_23_1_0=${ENERGYPLUS_23_1_0};
164-
pip3 install pandas==1.3.5;
166+
pip3 install pandas==2.3.2;
165167
fi;
166168
- if [[ "$TEST_ARG" == *EnergyPlus_24_2_0* ]] || [[ "$TEST_ARG" == *Buildings.{Obsolete* ]] || [[ "$TEST_ARG" == *Buildings.DHC.{ETS,Loads,Networks,Plants}* ]] || [[ "$TEST_ARG" == *spawn* ]]; then
167169
echo "Installing Spawn binaries";

Buildings/.copiedFiles.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Buildings/Airflow/Multizone/BaseClasses/Door.mo
44
Buildings/Airflow/Multizone/BaseClasses/DoorDiscretized.mo
55
Buildings/Airflow/Multizone/BaseClasses/ErrorControl.mo
66
Buildings/Airflow/Multizone/BaseClasses/Examples/PowerLaw.mo
7+
Buildings/Airflow/Multizone/BaseClasses/Examples/PowerLaw05.mo
78
Buildings/Airflow/Multizone/BaseClasses/Examples/PowerLawFixedM.mo
89
Buildings/Airflow/Multizone/BaseClasses/Examples/WindPressureLowRise.mo
910
Buildings/Airflow/Multizone/BaseClasses/Examples/WindPressureProfile.mo
@@ -17,6 +18,7 @@ Buildings/Airflow/Multizone/BaseClasses/ZonalFlow.mo
1718
Buildings/Airflow/Multizone/BaseClasses/package.mo
1819
Buildings/Airflow/Multizone/BaseClasses/package.order
1920
Buildings/Airflow/Multizone/BaseClasses/powerLaw.mo
21+
Buildings/Airflow/Multizone/BaseClasses/powerLaw05.mo
2022
Buildings/Airflow/Multizone/BaseClasses/powerLawFixedM.mo
2123
Buildings/Airflow/Multizone/BaseClasses/windPressureLowRise.mo
2224
Buildings/Airflow/Multizone/BaseClasses/windPressureProfile.mo
@@ -2912,6 +2914,7 @@ Buildings/Resources/Images/Utilities/Math/int.pdf
29122914
Buildings/Resources/Images/Utilities/Math/int.png
29132915
Buildings/Resources/Python-Sources/MakeORCFluidRecord.py
29142916
Buildings/Resources/Scripts/Dymola/Airflow/Multizone/BaseClasses/Examples/PowerLaw.mos
2917+
Buildings/Resources/Scripts/Dymola/Airflow/Multizone/BaseClasses/Examples/PowerLaw05.mos
29152918
Buildings/Resources/Scripts/Dymola/Airflow/Multizone/BaseClasses/Examples/PowerLawFixedM.mos
29162919
Buildings/Resources/Scripts/Dymola/Airflow/Multizone/BaseClasses/Examples/WindPressureLowRise.mos
29172920
Buildings/Resources/Scripts/Dymola/Airflow/Multizone/BaseClasses/Examples/WindPressureProfile.mos

Buildings/Airflow/Multizone/BaseClasses/Door.mo

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ protected
4343
constant Real conTP = Buildings.Media.Air.dStp*Modelica.Media.IdealGases.Common.SingleGasesData.Air.R_s
4444
"Conversion factor for converting temperature difference to pressure difference";
4545

46+
final parameter Real sqrt_dp_turbulent(min=0) = sqrt(dp_turbulent)
47+
"Square root of pressure difference where laminar and turbulent flow relation coincide";
48+
4649
parameter Medium.ThermodynamicState sta_default=Medium.setState_pTX(
4750
T=Medium.T_default,
4851
p=Medium.p_default,
@@ -118,6 +121,13 @@ This is a partial model for the bi-directional air flow through a door.
118121
revisions="<html>
119122
<ul>
120123
<li>
124+
September 19, 2025, by Michael Wetter:<br/>
125+
Introduced protected parameter <code>sqrt_dp_turbulent</code>,
126+
which is needed to improve computing efficiency if flow exponent is <i>0.5</i>.<br/>
127+
This is for
128+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/2043\">IBPSA, #2043</a>.
129+
</li>
130+
<li>
121131
October 6, 2020, by Michael Wetter:<br/>
122132
First implementation for
123133
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1353\">#1353</a>.

Buildings/Airflow/Multizone/BaseClasses/DoorDiscretized.mo

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ protected
2828
parameter Modelica.Units.SI.Density rho_default=Medium.density(sta_default)
2929
"Density, used to compute fluid volume";
3030

31+
final parameter Real sqrt_dp_turbulent(min=0) = sqrt(dp_turbulent)
32+
"Square root of pressure difference where laminar and turbulent flow relation coincide";
33+
3134
input Real hAg[nCom](each unit="m2/s2")=
3235
{Modelica.Constants.g_n*(hA - (i - 0.5)*dh) for i in 1:nCom}
3336
"Product g*h_i for each compartment";
@@ -118,6 +121,13 @@ using the model for a door that can be open or closed.
118121
revisions="<html>
119122
<ul>
120123
<li>
124+
September 19, 2025, by Michael Wetter:<br/>
125+
Introduced protected parameter <code>sqrt_dp_turbulent</code>,
126+
which is needed to improve computing efficiency if flow exponent is <i>0.5</i>.<br/>
127+
This is for
128+
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/2043\">IBPSA, #2043</a>.
129+
</li>
130+
<li>
121131
October 29, 2024, by Klaas De Jonge:<br/>
122132
Unprotected <code>dh</code> and changed prefixes of <code>dh</code>,<code>hAg</code> and <code>hBg</code> to <code>input</code>.<br/>
123133
This is for <a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1935\">#1935</a>.

0 commit comments

Comments
 (0)