Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
5c189a7
Create DetailedHouse package and move example models 1-10 into this p…
LoneMeertens Dec 23, 2024
eafe84d
Rename Example 1-10 to DetailedHouse
LoneMeertens Dec 23, 2024
bb83413
Add documentation to new DetailedHouse package
LoneMeertens Dec 23, 2024
d1f32cb
Add image that is a representation of final model
LoneMeertens Dec 23, 2024
821d676
Fix icon sizes
LoneMeertens Dec 23, 2024
8b1630c
Added required models for each DetailedHouse step
LoneMeertens Dec 23, 2024
a98260a
Add more detailed information to the models
LoneMeertens Dec 23, 2024
235aa1b
update naming in reference results (scripts + results)
lucasverleyen Dec 24, 2024
18247d4
test {} for tutorial unit tests
lucasverleyen Dec 24, 2024
2d0e130
revert commit partially
lucasverleyen Dec 24, 2024
a587fcf
restore commit
lucasverleyen Dec 24, 2024
79109b7
remove old file name
lucasverleyen Dec 24, 2024
d6ad814
Change order of Tutorial packages (alphabetical)
jelgerjansen Jan 2, 2025
faff981
For order of Examples package
jelgerjansen Jan 2, 2025
8cca500
Correct reference to mos file in __Dymola_Commands
jelgerjansen Jan 2, 2025
e8f49c5
Fix typo mos file DetailedHouse3
jelgerjansen Jan 2, 2025
7a73f8a
Change diagram coordinate system for DetailedHouse6 to capture the he…
jelgerjansen Jan 2, 2025
65fab4c
put dimensions in italic
LoneMeertens Jan 2, 2025
1e37f37
fixing documentation and syntax suggestions
LoneMeertens Jan 2, 2025
08a2250
Add result plot for DetailedHous1-5
LoneMeertens Jan 2, 2025
16fde4a
Include connection instructions and reference result section in detai…
LoneMeertens Jan 3, 2025
bee17d3
Adding plots of reference results detailed house 6-10
LoneMeertens Jan 8, 2025
9407eb5
Adding reference results and connecting instruction complete for Deta…
LoneMeertens Jan 9, 2025
9d4c306
default zone height of 2.8m used in DetailedHouse1 instead of equalli…
LoneMeertens Jan 9, 2025
8795021
Resolve open comments related to documentation
LoneMeertens Jan 10, 2025
c730f09
Change InternalWall to SlabOnGround and update reference results acco…
LoneMeertens Jan 14, 2025
ca1fe2e
adapt documentation for SlabOnGround
LoneMeertens Jan 14, 2025
75cce6b
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
LoneMeertens Jan 14, 2025
420362c
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
LoneMeertens Jan 14, 2025
4c4f171
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
4101be1
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
90e44ac
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
ce42a51
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
2a8a81d
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
39bbd37
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
LoneMeertens Jan 14, 2025
397ea8f
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse10.mo
LoneMeertens Jan 14, 2025
9cd4cf9
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse2.mo
LoneMeertens Jan 14, 2025
0012560
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse4.mo
LoneMeertens Jan 14, 2025
48c224c
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse4.mo
LoneMeertens Jan 14, 2025
64ce4ba
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse2.mo
LoneMeertens Jan 14, 2025
4fd6e16
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse6.mo
LoneMeertens Jan 14, 2025
00bab02
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse6.mo
LoneMeertens Jan 14, 2025
6cab9a1
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse8.mo
LoneMeertens Jan 14, 2025
cad5213
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse8.mo
LoneMeertens Jan 14, 2025
48c830e
update results
LoneMeertens Jan 14, 2025
b1d8bae
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
LoneMeertens Jan 14, 2025
bfffc37
Update DetailedHouse1.mo
LoneMeertens Jan 14, 2025
af328c6
update revision history
LoneMeertens Jan 14, 2025
5931251
Update DetailedHouse1-10
LoneMeertens Jan 14, 2025
294bed9
update detailedHouse documentation
LoneMeertens Jan 15, 2025
4eadcce
update DetailtedHouse reference result plots
LoneMeertens Jan 15, 2025
d000a33
change ceiling to cei
lucasverleyen Jan 15, 2025
ac6ce02
minor improvements to documentation
lucasverleyen Jan 15, 2025
5a01daf
change slabOnGround to slaOnGro (naming convention)
lucasverleyen Jan 15, 2025
6d14f3a
improve graphics
lucasverleyen Jan 15, 2025
b93abd1
add documentation
lucasverleyen Jan 15, 2025
cf79aff
improve graphics and add documentation
lucasverleyen Jan 15, 2025
3994201
improve documentation
lucasverleyen Jan 15, 2025
53df56f
improve graphics
lucasverleyen Jan 15, 2025
1249ad2
improve documentation
lucasverleyen Jan 15, 2025
73cdf02
improve graphics and documentation in ex 5
lucasverleyen Jan 15, 2025
3eaa9b3
improve graphics and documentation in ex 6
lucasverleyen Jan 15, 2025
3a50761
improve graphics and documentation in ex 7
lucasverleyen Jan 15, 2025
014ef45
improve graphics and documentation in ex 8
lucasverleyen Jan 15, 2025
8d71530
improve graphics and documentation in ex 9
lucasverleyen Jan 15, 2025
04ca90e
add original tolerance again to fix unit tests
lucasverleyen Jan 15, 2025
636f79f
update figure names
LoneMeertens Jan 16, 2025
f04ef2a
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
LoneMeertens Jan 16, 2025
b4cb413
Update figure reference names
LoneMeertens Jan 16, 2025
ab11740
Use correct window glazing types in DetailedHouse1/5 and use BESTEST …
jelgerjansen Jan 17, 2025
0fb9ece
Remove obsolete whitespace
jelgerjansen Jan 17, 2025
c22da4b
Change Medium to MediumAir
jelgerjansen Jan 17, 2025
171ddcd
Remove redeclaration to idealized heavy wall (no thin layers) for flo…
jelgerjansen Jan 17, 2025
f935e1c
Fix tolerance again
lucasverleyen Jan 17, 2025
2ac8b29
Set allowFlowReversal to false for all components in DetailedHouse10 …
jelgerjansen Jan 17, 2025
6ba3a3a
Update naming mos files
jelgerjansen Jan 17, 2025
457732e
Synchronize experiment sections in annotation of all models
jelgerjansen Jan 17, 2025
0381939
Set tolerance DetailedHouse9 to 1e-6 (similar to other models)
jelgerjansen Jan 17, 2025
4caccee
Add tolerance to DetailedHouse10 even though not used since Euler int…
jelgerjansen Jan 17, 2025
0269c44
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
jelgerjansen Jan 17, 2025
ed1069a
Correct window size in DetailedHouse5 and clarify connection instruct…
jelgerjansen Jan 17, 2025
2b0a610
Focus on Eel instead of COP in documentation DetailedHouse7 and updat…
jelgerjansen Jan 17, 2025
404cd41
Update documentation to align references to figures in the different …
jelgerjansen Jan 17, 2025
3177291
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
LoneMeertens Mar 18, 2025
ae739da
new floor constructionType
annadellisola Apr 10, 2025
66f4403
decouple prod and emission
annadellisola Apr 11, 2025
e0ec69d
removed T fixed in bou1
annadellisola Apr 14, 2025
fad5d69
update result with new configuration
annadellisola Apr 14, 2025
b26bab1
Merge branch 'master_Anna' into issue1389_DetailedHouse
annadellisola Apr 14, 2025
80fa2f9
Removed obsolete Example9.mos file
annadellisola Apr 14, 2025
038917e
changed solver
annadellisola Apr 15, 2025
744cfe1
updated mos file
annadellisola Apr 18, 2025
f797b8c
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
LoneMeertens May 28, 2025
e09223a
update floor construction type in DetailedHouse5 reczon1
annadellisola Jun 17, 2025
d8d32b5
update scheme DetailHouse6
annadellisola Jun 17, 2025
b9b126b
higher T values in hysteresis control of DetailedHouse7 to have limit…
annadellisola Jun 17, 2025
bef761e
Merge branch 'master' of https://github.com/open-ideas/IDEAS into iss…
annadellisola Jun 17, 2025
6ad5d9c
Updated png and results in DetailedHouse 1 to 9
annadellisola Jun 18, 2025
0f599fc
Update DetailedHouse10:
annadellisola Jun 18, 2025
ad2e25b
update Euler solver DetailedHouse10:
annadellisola Jun 19, 2025
1322ce4
updated documentation, entire IDEAS model path
annadellisola Jun 23, 2025
1d89d67
updated tank connection
annadellisola Jun 23, 2025
8c5ea51
Remove schematic 7 png as it is not used
jelgerjansen Jul 4, 2025
fd42ade
Change width of schematic in package documentation
jelgerjansen Jul 4, 2025
cf59389
Merge remote-tracking branch 'origin/issue1389_DetailedHouse' into is…
annadellisola Jul 4, 2025
b6274ce
record name change
annadellisola Jul 4, 2025
c1acd2a
Update reference results
annadellisola Jul 7, 2025
4f23e4b
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
annadellisola Jul 8, 2025
23d1d34
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
annadellisola Jul 8, 2025
f7337dc
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse10.mo
annadellisola Jul 8, 2025
842de43
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse10.mo
annadellisola Jul 8, 2025
b3fee03
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse10.mo
annadellisola Jul 8, 2025
042e871
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
annadellisola Jul 8, 2025
014fb52
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
annadellisola Jul 8, 2025
7738463
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
annadellisola Jul 8, 2025
5210e47
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse6.mo
annadellisola Jul 8, 2025
b530f43
Update IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse9.mo
annadellisola Jul 8, 2025
b44a603
Merge branch 'issue1389_DetailedHouse' of https://github.com/LoneMeer…
annadellisola Jul 8, 2025
cd5e467
energyDynamic to FixedInitial
annadellisola Jul 8, 2025
f7b3ec2
updated translation statistics for initialization in ref results
annadellisola Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 208 additions & 0 deletions IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse1.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
within IDEAS.Examples.Tutorial.DetailedHouse;
model DetailedHouse1 "First example model of a one-zone building"
extends Modelica.Icons.Example;
package MediumAir = IDEAS.Media.Air "Air medium";

parameter Modelica.Units.SI.Length l=8 "Zone length";
parameter Modelica.Units.SI.Length w=4 "Zone width";
parameter Modelica.Units.SI.Length h=zon.hZone "Zone height (Default)";

// SimInfoManager must be 'inner' at the top level
inner IDEAS.BoundaryConditions.SimInfoManager sim
annotation (Placement(transformation(extent={{-100,80},{-80,100}})));
IDEAS.Buildings.Components.Zone zon(
redeclare package Medium = MediumAir,
nSurf=7,
V=l*h*w)
"Zone model" annotation (Placement(transformation(extent={{-20,0},{0,20}})));
IDEAS.Buildings.Components.OuterWall outWalWes(
redeclare IDEAS.Buildings.Validation.Data.Constructions.HeavyWall
constructionType,
inc=IDEAS.Types.Tilt.Wall,
azi=IDEAS.Types.Azimuth.W,
A=l*h) "Western outer wall model"
annotation (Placement(transformation(extent={{-60,10},{-48,30}})));
IDEAS.Buildings.Components.OuterWall outWalEas(
redeclare IDEAS.Buildings.Validation.Data.Constructions.HeavyWall
constructionType,
inc=IDEAS.Types.Tilt.Wall,
azi=IDEAS.Types.Azimuth.E,
A=l*h) "Eastern outer wall model"
annotation (Placement(transformation(extent={{40,0},{28,20}})));
IDEAS.Buildings.Components.OuterWall outWalNor(
redeclare IDEAS.Buildings.Validation.Data.Constructions.HeavyWall
constructionType,
inc=IDEAS.Types.Tilt.Wall,
azi=IDEAS.Types.Azimuth.N,
A=w*h) "Northern outer wall model"
annotation (Placement(transformation(
extent={{6,-10},{-6,10}},
rotation=90,
origin={-10,54})));
IDEAS.Buildings.Components.OuterWall outWalSou(
redeclare IDEAS.Buildings.Validation.Data.Constructions.HeavyWall
constructionType,
inc=IDEAS.Types.Tilt.Wall,
azi=IDEAS.Types.Azimuth.S,
A=w*h - win.A) "Southern outer wall model"
annotation (Placement(transformation(
extent={{-6,-10},{6,10}},
rotation=90,
origin={-10,-34})));
IDEAS.Buildings.Components.Window win(
inc=IDEAS.Types.Tilt.Wall,
A=3*1.4,
azi=IDEAS.Types.Azimuth.S,
redeclare IDEAS.Buildings.Data.Glazing.Ins2Ar2020 glazing)
"Window model" annotation (Placement(transformation(extent={{-6,-10},{6,10}},
rotation=0,
origin={-54,-10})));

IDEAS.Buildings.Components.SlabOnGround slaOnGro(
redeclare IDEAS.Buildings.Data.Constructions.FloorOnGround constructionType,
inc=IDEAS.Types.Tilt.Floor,
azi=IDEAS.Types.Azimuth.S,
A=l*w) "Floor model" annotation (Placement(transformation(
extent={{-6,-11},{6,11}},
rotation=90,
origin={30,-35})));
IDEAS.Buildings.Components.OuterWall cei(
redeclare IDEAS.Buildings.Validation.Data.Constructions.LightRoof
constructionType,
inc=IDEAS.Types.Tilt.Ceiling,
A=w*l) "Ceiling model" annotation (Placement(transformation(
extent={{6,-10},{-6,10}},
rotation=90,
origin={30,54})));
equation
connect(outWalWes.propsBus_a, zon.propsBus[1]) annotation (Line(
points={{-49,22},{-30,22},{-30,14},{-20,14},{-20,13.1429}},
color={255,204,51},
thickness=0.5));
connect(zon.propsBus[2], outWalNor.propsBus_a) annotation (Line(
points={{-20,13.4286},{-22,13.4286},{-22,30},{-12,30},{-12,49}},
color={255,204,51},
thickness=0.5));
connect(zon.propsBus[3], outWalEas.propsBus_a) annotation (Line(
points={{-20,13.7143},{-20,14},{-22,14},{-22,30},{20,30},{20,12},{29,12}},
color={255,204,51},
thickness=0.5));
connect(outWalSou.propsBus_a, zon.propsBus[4]) annotation (Line(
points={{-12,-29},{-12,-10},{-20,-10},{-20,14}},
color={255,204,51},
thickness=0.5));
connect(win.propsBus_a, zon.propsBus[5]) annotation (Line(
points={{-49,-8},{-30,-8},{-30,14},{-20,14},{-20,14.2857}},
color={255,204,51},
thickness=0.5));
connect(slaOnGro.propsBus_a, zon.propsBus[6]) annotation (Line(
points={{27.8,-30},{28,-30},{28,-10},{-20,-10},{-20,14.5714}},
color={255,204,51},
thickness=0.5));
connect(cei.propsBus_a, zon.propsBus[7]) annotation (Line(
points={{28,49},{28,30},{-22,30},{-22,14.8571},{-20,14.8571}},
color={255,204,51},
thickness=0.5));
annotation (
Icon(coordinateSystem(preserveAspectRatio=false)),
Diagram(coordinateSystem(preserveAspectRatio=false)),
experiment(
StartTime=10000000,
StopTime=11000000,
__Dymola_NumberOfIntervals=5000,
Tolerance=1e-06,
__Dymola_Algorithm="Dassl"),
__Dymola_Commands(file=
"Resources/Scripts/Dymola/Examples/Tutorial/DetailedHouse/DetailedHouse1.mos"
"Simulate and plot"),
Documentation(info="<html>
<p>
This first example instantiates a simple building model that consists of one zone, four walls,
a window, a floor and a ceiling. The zone dimensions are <i>8 m</i> (with walls oriented
north and south) by <i>4 m</i>, and the window measures <i>3 m</i> by <i>1.4 m</i>. Use the default
zone height of <i>2.8 m</i>. Apply double glazing and a heavy wall, which provide high thermal mass.
</p>
<h4>Required models</h4>
<ul>
<li>
<a href=\"modelica://IDEAS.BoundaryConditions.SimInfoManager\">
IDEAS.BoundaryConditions.SimInfoManager</a>
</li>
<li>
<a href=\"modelica://IDEAS.Buildings.Components.Zone\">
IDEAS.Buildings.Components.Zone</a>
</li>
<li>
<a href=\"modelica://IDEAS.Buildings.Components.OuterWall\">
IDEAS.Buildings.Components.OuterWall</a>
</li>
<li>
<a href=\"modelica://IDEAS.Buildings.Components.Window\">
IDEAS.Buildings.Components.Window</a>
</li>
<li>
<a href=\"modelica://IDEAS.Buildings.Components.SlabOnGround\">
IDEAS.Buildings.Components.SlabOnGround</a>
</li>
</ul>
<h4>Connection instructions</h4>
<p>
Each yellow bus connector of a surface (<code>Window</code>, <code>OuterWall</code>
or <code>SlabOnGround</code>) has to be connected to exactly one zone bus connector.
To support multiple connections, the zone has an array of bus connectors with size
<code>nSurf</code>, where <code>nSurf</code> is a parameter of <code>Zone</code>,
which has to be set by the user. It is the user’s responsibility to ensure that each
element of this array is connected to exactly one surface and that there is a total
of <code>nSurf</code> connections to the zone.
</p>
<p>
In addition to connecting each surface, the parameters of each component have to be set. Components typically
have many default values that are appropriate for many purposes. When a parameter does not have a default
value, it must be set by the user. Notable examples are the dimensions and orientation of the zone, walls
and windows. The surface orientation can be set using the parameters <code>incOpt</code>, which automatically sets the
inclination depending on the type of outer wall (wall, floor, ceiling), and <code>aziOpt</code>, which automatically sets the
azimuth (north, east, south, west). Furthermore, the zone Medium must be set to <a href=\"modelica://IDEAS.Media.Air\">
IDEAS.Media.Air</a>. Glazing and wall types must also be specified. This example uses the <i>BESTEST Heavy Wall</i> for the
walls, the <i>FloorOnGround</i> construction type for the floor, the <i>BESTEST light roof</i> for the roof and the double glazing
type <i>Saint Gobain Planitherm</i> and a south orientation for the window.
</p>
<p>
The <code>SimInfoManager</code> by default has the modifier <code>inner</code> in its declaration. All IDEAS building components
have the modifier <code>outer</code> in their respective declarations of the <code>SimInfoManager</code>. This causes the component
declarations to point towards the higher level <code>SimInfoManager</code> declaration. This way all model equations for
the weather data have to be generated only once, instead of for each surface.
</p>
<h4>Reference result</h4>
<p>
This model is simulated with the following settings:
</p>
<ol>
<li>Dassl as the solver with tolerance = 1e-06 </li>
<li>Start time = 1e7,</li>
<li>Stop time = 1.1e7,</li>
<li>Number of intervals = 5000.</li>
</ol>
<p>
The simulation starts 10<sup>7</sup> seconds after New Year and ends 10<sup>6</sup> seconds later, covering a period of 11.6 days.
The figure below shows the operative zone temperature, <code>zon.TSensor</code>,
which represents the mean of the air temperature and the mean radiative temperature of all surfaces.
</p>
<p align=\"center\">
<img alt=\"Zone temperature as function of time.\"
src=\"modelica://IDEAS/Resources/Images/Examples/Tutorial/DetailedHouse/DetailedHouse1.png\" width=\"700\"/>
</p>
</html>", revisions="<html>
<ul>
<li>
April 14, 2025, by Anna Dell'Isola and Lone Meertens:<br/>
Update and restructure IDEAS tutorial models.
See <a href=\"https://github.com/open-ideas/IDEAS/issues/1374\">#1374</a>
and <a href=\"https://github.com/open-ideas/IDEAS/issues/1389\">#1389</a>.
</li>
<li>
September 18, 2019 by Filip Jorissen:<br/>
First implementation for the IDEAS crash course.
</li>
</ul>
</html>"));
end DetailedHouse1;
141 changes: 141 additions & 0 deletions IDEAS/Examples/Tutorial/DetailedHouse/DetailedHouse10.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
within IDEAS.Examples.Tutorial.DetailedHouse;
model DetailedHouse10 "Speeding up the code"
extends DetailedHouse9(
pumSec(
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
allowFlowReversal=false,
use_riseTime=false),
pumPri(
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
allowFlowReversal=false,
use_riseTime=false),
pumEmi(
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
allowFlowReversal=false,
use_riseTime=false),
recZon1(
redeclare IDEAS.Buildings.Components.InterzonalAirFlow.n50FixedPressure interzonalAirFlow,
redeclare HeavyWallNoWood conTypA,
redeclare HeavyWallNoWood conTypB,
redeclare HeavyWallNoWood conTypC,
redeclare HeavyWallNoWood conTypD),
recZon(
redeclare IDEAS.Buildings.Components.InterzonalAirFlow.n50FixedPressure interzonalAirFlow,
redeclare HeavyWallNoWood conTypA,
redeclare HeavyWallNoWood conTypB,
redeclare HeavyWallNoWood conTypC,
redeclare HeavyWallNoWood conTypD),
fanRet(
allowFlowReversal=false,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
use_riseTime=false),
fanSup(
allowFlowReversal=false,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
use_riseTime=false),
val(allowFlowReversal=false, from_dp=true),
val1(allowFlowReversal=false, from_dp=true),
rad(allowFlowReversal=false, nEle=2),
rad1(allowFlowReversal=false, nEle=2),
heaPum(
allowFlowReversal1=false,
allowFlowReversal2=false,
from_dp1=true,
from_dp2=true),
senTemSup(tau=0),
tan(allowFlowReversal=false, tau=60),
vavSup(allowFlowReversal=false, use_strokeTime=false),
vavRet(allowFlowReversal=false, use_strokeTime=false),
vavSup1(allowFlowReversal=false, use_strokeTime=false),
vavRet1(allowFlowReversal=false, use_strokeTime=false),
hex(allowFlowReversal1=false, allowFlowReversal2=false));
protected
record HeavyWallNoWood "BESTEST heavy wall with idealized wood layer"
extends IDEAS.Buildings.Data.Interfaces.Construction(
final mats={
IDEAS.Buildings.Validation.Data.Materials.WoodSiding(d=0),
IDEAS.Buildings.Validation.Data.Insulation.FoamInsulation(d=0.0615),
IDEAS.Buildings.Validation.Data.Materials.ConcreteBlock(d=0.10)});

end HeavyWallNoWood;
annotation (
__Dymola_Commands(file=
"Resources/Scripts/Dymola/Examples/Tutorial/DetailedHouse/DetailedHouse10.mos"
"Simulate and plot"),
experiment(
StartTime=10000000,
StopTime=11000000,
__Dymola_NumberOfIntervals=5000,
Tolerance=1e-06,
__Dymola_fixedstepsize=20,
__Dymola_Algorithm="Euler"),
__Dymola_experimentFlags(
Advanced(
EvaluateAlsoTop=true,
GenerateVariableDependencies=false,
OutputModelicaCode=false),
Evaluate=true,
OutputCPUtime=true,
OutputFlatModelica=false),
Documentation(info="<html>
<p>
The previous examples present a rather good computational performance. However, the computation time
can significantly increase for larger simulation time due to frequent on/off switching
of the heat pump. This effect causes a lot of fast transients that force the solver
to take small steps, which takes a lot of time.
</p>
<p>
Fortunately, many tricks can be used to speed up the solver. The fundamental principle is to
remove small time constants from the problem.
The example in <a href=\"modelica://IDEAS.Examples.Tutorial.DetailedHouse.DetailedHouse10\">
IDEAS.Examples.Tutorial.DetailedHouse.DetailedHouse10</a> implements changes
Comment on lines +90 to +91
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The example in <a href=\"modelica://IDEAS.Examples.Tutorial.DetailedHouse.DetailedHouse10\">
IDEAS.Examples.Tutorial.DetailedHouse.DetailedHouse10</a> implements changes
This example implements changes

that cause the simulation to become almost 3 times faster. By systematically removing fast time constants, the solver can be
switched to a simpler method, such as Euler integration, with a fixed time step of 20 seconds.
<p>
It is important to note the trade-off between computation time and simulation
accuracy when choosing an integration method. While the Euler method is generally
much faster than implicit solvers such as Dassl, it is also less accurate,
especially for stiff or highly dynamic systems. Using smaller Euler time steps
increases simulation accuracy but also increases computation time, whereas larger
time steps decrease computation time at the expense of accuracy. Therefore, careful
consideration is needed when selecting the solver and time step size, balancing
the need for speed and the desired level of accuracy in the simulation results.
</p>
<p>
These are modest improvements since this small example model behaves rather well.
However, for large models, the difference in computation time when using Euler integration
can become a factor 1000. The modifications however require a bit of knowledge about solvers and the models
that you are using, including some of the more advanced parameters. To learn more about this, we refer to
[1, 2, 3].
</p>
<h4>References</h4>
<ol>
[1] F. Jorissen, M. Wetter, and L. Helsen. <i>Simulation Speed Analysis and Improvements of Modelica Models for Building Energy Simulation</i>. In 11th International Modelica Conference, Paris, 2015. doi: 10.3384/ecp1511859
</ol>
<ol>
[2] F. Jorissen, M. Wetter, and L. Helsen. <i>Simplifications for hydronic system models in Modelica</i>. Journal of Building Performance Simulation, 11:6, 639-654, 2018. doi: 10.1080/19401493.2017.1421263
</ol>
<ol>
[3] F. Jorissen. <i>Toolchain for Optimal Control and Design of Energy Systems in Buildings</i>. PhD Thesis, KU Leuven, 2018.
</ol>
</html>", revisions="<html>
<ul>
<li>
April 14, 2025, by Anna Dell'Isola and Lone Meertens:<br/>
Update and restructure IDEAS tutorial models.
See <a href=\"https://github.com/open-ideas/IDEAS/issues/1374\">#1374</a>
and <a href=\"https://github.com/open-ideas/IDEAS/issues/1389\">#1389</a>.
</li>
<li>
October 30, 2024, by Lucas Verleyen:<br/>
Updates according to <a href=\"https://github.com/ibpsa/modelica-ibpsa/tree/8ed71caee72b911a1d9b5a76e6cb7ed809875e1e\">IBPSA</a>.<br/>
See <a href=\"https://github.com/open-ideas/IDEAS/pull/1383\">#1383</a>
(and <a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1926\">IBPSA, #1926</a>).
</li>
<li>
September 18, 2019 by Filip Jorissen:<br/>
First implementation for the IDEAS crash course.
</li>
</ul>
</html>"));
end DetailedHouse10;
Loading