Skip to content

Commit

Permalink
* final Version of GeothermalHeatPumpSystem as Controlled System Model,
Browse files Browse the repository at this point in the history
  • Loading branch information
MStillerEBC committed Sep 5, 2019
1 parent 540088c commit dc3844d
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,10 @@ partial model GeothermalHeatPumpBase
extent={{-6,-7},{6,7}},
rotation=90,
origin={-18,-78})));
AixLib.Fluid.Sources.Boundary_pT geothField_sink1(redeclare package Medium =
Water, nPorts=1) "One of two sinks representing geothermal field"
annotation (Placement(transformation(extent={{5,-5},{-5,5}},
AixLib.Fluid.Sources.Boundary_pT geothField(redeclare package Medium = Water,
nPorts=1) "Boundary of the geothermal field Volume" annotation (Placement(
transformation(
extent={{5,-5},{-5,5}},
rotation=-90,
origin={-139,-29})));
AixLib.Fluid.FixedResistances.PressureDrop resistanceHeatConsumerFlow(
Expand Down Expand Up @@ -352,8 +353,8 @@ equation
points={{100,-106},{106,-106},{106,-56}}, color={0,127,255}));
connect(supplyTemSensor.port_b, pumpGeothermalSource.port_a)
annotation (Line(points={{-108,-54},{-96,-54}}, color={0,127,255}));
connect(geothField_sink1.ports[1], vol.ports[1])
annotation (Line(points={{-139,-24},{-139,-16}}, color={0,127,255}));
connect(geothField.ports[1], vol.ports[1]) annotation (Line(points={{-139,-24},
{-139,-20},{-139,-16},{-139,-16}}, color={0,127,255}));
connect(vol.ports[2], supplyTemSensor.port_a) annotation (Line(points={{-137,
-16},{-130,-16},{-130,-54},{-122,-54}}, color={0,127,255}));
connect(thermalConductor.port_b, vol.heatPort)
Expand All @@ -362,8 +363,8 @@ equation
annotation (Line(points={{-146,-52},{-146,-46}}, color={191,0,0}));
connect(vol.ports[3], returnTemSensor.port_b) annotation (Line(points={{-135,
-16},{-150,-16},{-150,14},{-114,14},{-114,18}}, color={0,127,255}));
connect(vol.ports[4], heatPumpTab.port_b_sink) annotation (Line(points={{-133,
-16},{10,-16},{10,14.9},{-5.8,14.9}}, color={0,127,255}));
connect(heatPumpTab.port_b_sink, vol.ports[4]) annotation (Line(points={{-5.8,
14.9},{10,14.9},{10,-16},{-133,-16}}, color={0,127,255}));
annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-160,
-120},{160,80}})), Icon(coordinateSystem(
preserveAspectRatio=false, extent={{-160,-120},{160,80}})),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ partial model GeothermalHeatPumpControlledBase
rotation=90,
origin={-60.5,-109})));
inner Modelica.Fluid.System system
annotation (Placement(transformation(extent={{120,60},{140,80}})));
annotation (Placement(transformation(extent={{180,60},{200,80}})));
Modelica.Blocks.Interfaces.RealOutput returnTemperature(
final quantity="ThermodynamicTemperature",
final unit="K",
Expand Down Expand Up @@ -150,7 +150,7 @@ partial model GeothermalHeatPumpControlledBase
computeWetBulbTemperature=false,
filNam=Modelica.Utilities.Files.loadResource("modelica://ModelicaModels/Subsystems/Geo/BaseClasses/TEASER_BuildingSets/DEU_BW_Mannheim_107290_TRY2010_12_Jahr_BBSR.mos"))
"Weather data reader"
annotation (Placement(transformation(extent={{188,32},{168,52}})));
annotation (Placement(transformation(extent={{200,30},{180,50}})));
Modelica.Blocks.Sources.CombiTimeTable tableAHU(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
Expand All @@ -159,7 +159,7 @@ partial model GeothermalHeatPumpControlledBase
fileName=Modelica.Utilities.Files.loadResource(
"modelica://ModelicaModels/Subsystems/Geo/BaseClasses/TEASER_BuildingSets/AHU_TEASER.mat"))
"Boundary conditions for air handling unit"
annotation (Placement(transformation(extent={{188,2},{172,18}})));
annotation (Placement(transformation(extent={{200,0},{180,20}})));
Modelica.Blocks.Sources.CombiTimeTable tableTSet(
tableOnFile=true,
tableName="Tset",
Expand All @@ -168,7 +168,7 @@ partial model GeothermalHeatPumpControlledBase
"modelica://ModelicaModels/Subsystems/Geo/BaseClasses/TEASER_BuildingSets/Tset_TEASER.mat"),
columns=2:7)
"Set points for heater"
annotation (Placement(transformation(extent={{188,-46},{172,-30}})));
annotation (Placement(transformation(extent={{200,-60},{180,-40}})));
Modelica.Blocks.Sources.CombiTimeTable tableInternalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
Expand All @@ -177,10 +177,10 @@ partial model GeothermalHeatPumpControlledBase
"modelica://ModelicaModels/Subsystems/Geo/BaseClasses/TEASER_BuildingSets/InternalGains_TEASER.mat"),
columns=2:19)
"Profiles for internal gains"
annotation (Placement(transformation(extent={{188,-68},{172,-52}})));
annotation (Placement(transformation(extent={{200,-90},{180,-70}})));
Modelica.Blocks.Sources.Constant const[6](each k=0)
"Set point for cooler"
annotation (Placement(transformation(extent={{188,-22},{172,-6}})));
annotation (Placement(transformation(extent={{200,-30},{180,-10}})));
Modelica.Blocks.Math.Gain negate(k=-1)
annotation (Placement(transformation(extent={{110,-2},{102,6}})));
Modelica.Blocks.Math.Gain negate1(k=-1) annotation (Placement(transformation(
Expand Down Expand Up @@ -218,19 +218,17 @@ equation
connect(supplyTemSensor.T, supplyTemperature) annotation (Line(points={{-115,-62.8},
{-115,-67.4},{-116,-67.4},{-116,-120}}, color={0,0,127}));
connect(weaDat.weaBus,multizone. weaBus) annotation (Line(
points={{168,42},{166,42},{166,14},{162,14}},
points={{180,40},{166,40},{166,14},{162,14}},
color={255,204,51},
thickness=0.5));
connect(tableInternalGains.y,multizone. intGains)
annotation (Line(points={{171.2,-60},{148,-60},{148,-1}},
color={0,0,127}));
annotation (Line(points={{179,-80},{148,-80},{148,-1}},color={0,0,127}));
connect(tableAHU.y,multizone. AHU)
annotation (Line(points={{171.2,10},{163,10}}, color={0,0,127}));
connect(tableTSet.y,multizone. TSetHeat) annotation (Line(points={{171.2,-38},
{159.2,-38},{159.2,-1}},
color={0,0,127}));
connect(const.y,multizone. TSetCool) annotation (Line(points={{171.2,-14},{
162,-14},{162,-2},{161.4,-2},{161.4,-1}}, color={0,0,127}));
annotation (Line(points={{179,10},{163,10}}, color={0,0,127}));
connect(tableTSet.y,multizone. TSetHeat) annotation (Line(points={{179,-50},{
159.2,-50},{159.2,-1}},color={0,0,127}));
connect(const.y,multizone. TSetCool) annotation (Line(points={{179,-20},{162,
-20},{162,-2},{161.4,-2},{161.4,-1}}, color={0,0,127}));
connect(negate1.u,sum1. y) annotation (Line(points={{116,-13.2},{124,-13.2},{124,
-16.4},{132,-16.4}}, color={0,0,127}));
connect(negate.u,sum2. y)
Expand All @@ -257,6 +255,6 @@ First implementation.
</li>
</ul>
</html>"),
Diagram(coordinateSystem(extent={{-160,-120},{140,80}})),
Icon(coordinateSystem(extent={{-160,-120},{140,80}})));
Diagram(coordinateSystem(extent={{-160,-120},{200,80}})),
Icon(coordinateSystem(extent={{-160,-120},{200,80}})));
end GeothermalHeatPumpControlledBase;
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ model GeothermalHeatPumpSystem
"Example of a geothermal heat pump systemreplaceable package Water = AixLib.Media.Water;"
extends Modelica.Icons.Example;
extends ModelicaModels.BaseClasses.GeothermalHeatPumpControlledBase(
geothField(T=285.15),
redeclare
AixLib.Fluid.Examples.GeothermalHeatPump.Components.BoilerStandAlone
PeakLoadDevice(redeclare package Medium = Water),
Expand All @@ -14,7 +15,6 @@ model GeothermalHeatPumpSystem
pumpCondenser(T_start=285.15),
pumpEvaporator(T_start=285.15),
pumpColdConsumer(T_start=285.15),
geothField_sink1(T=285.15),
integrator(k=3600),
integrator1(k=3600),
multizone(zoneParam={
Expand Down Expand Up @@ -61,7 +61,7 @@ model GeothermalHeatPumpSystem
annotation (Placement(transformation(extent={{-78,62},{-58,82}})));
Modelica.Blocks.Interfaces.RealInput T_set_storage
"Connector of Real input signal 2"
annotation (Placement(transformation(extent={{-108,58},{-88,78}})));
annotation (Placement(transformation(extent={{-102,62},{-90,74}})));
equation
connect(resistanceColdConsumerFlow.port_b,coldConsumerFlow. ports[1])
annotation (Line(points={{80,-20},{88,-20}}, color={0,127,255}));
Expand Down Expand Up @@ -93,8 +93,8 @@ equation
annotation (Line(points={{-139,74},{-122,74},{-122,-26},{-100,-26}}, color=
{0,0,127}));
connect(valveHeatSink.y, geothermalFieldControllerHeat.valveOpening1)
annotation (Line(points={{-30,-45.6},{-30,-45.6},{-30,-32},{-30,-21.2},{-83.04,
-21.2}}, color={0,0,127}));
annotation (Line(points={{-30,-45.6},{-30,-21.2},{-83.04,-21.2}},
color={0,0,127}));
connect(geothermalFieldControllerHeat.valveOpening2, valveHeatStorage.y)
annotation (Line(points={{-83.04,-30.8},{-56,-30.8},{-56,-63},{-26.4,-63}},
color={0,0,127}));
Expand All @@ -111,10 +111,10 @@ equation
string="%second",
index=1,
extent={{6,3},{6,3}}));
connect(getTStorageUpper.y, hPControllerOnOff.T_meas) annotation (Line(points
={{-139,74},{-108.5,74},{-108.5,76},{-78,76}}, color={0,0,127}));
connect(getTStorageUpper.y, hPControllerOnOff.T_meas) annotation (Line(points=
{{-139,74},{-108.5,74},{-108.5,76},{-78,76}}, color={0,0,127}));
connect(T_set_storage, hPControllerOnOff.T_set)
annotation (Line(points={{-98,68},{-78,68}}, color={0,0,127}));
annotation (Line(points={{-96,68},{-78,68}}, color={0,0,127}));
annotation (experiment(StopTime=86400, Interval=10), Documentation(revisions="<html>
<ul>
<li>
Expand All @@ -139,6 +139,6 @@ from the geothermal field to the heat storage
<p>In the flow line of the heating circuit a boiler is connected as a peak load device.
Consumers are modeled as sinks are sources with a constant temperature.</p>
</html>"),
Diagram(coordinateSystem(extent={{-160,-120},{140,80}})),
Icon(coordinateSystem(extent={{-160,-120},{140,80}})));
Diagram(coordinateSystem(extent={{-160,-120},{200,80}})),
Icon(coordinateSystem(extent={{-160,-120},{200,80}})));
end GeothermalHeatPumpSystem;

0 comments on commit dc3844d

Please sign in to comment.