Buildings.Fluid.Geothermal.Aquifer.Examples
Example models for Buildings.Fluid.Geothermal.Aquifer
Information
This package contains example models for the classes in Buildings.Fluid.Geothermal.Aquifer.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name | Description |
---|---|
CoolingOffice |
Buildings.Fluid.Geothermal.Aquifer.Examples.CoolingOffice
Information
This example shows the application of the model Buildings.Fluid.Geothermal.Aquifer.MultiWell.
The system consists of two wells, a warm well and a cold well. Water is extracted from the cold well at 12°C and after passing through a heat exchanger it is injected in the warm well at 16°C. This may represent the operation of an aquifer thermal energy storage system that cools an office building with a constant load of 30 kW.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
---|---|---|---|
HeatFlowRate | QCoo_flow_nominal | 30000 | Cooling power [W] |
TemperatureDifference | deltaT | 4 | Temperature difference at heat exchanger [K] |
SpecificHeatCapacity | cpWat | 4186 | Heat capacity of water [J/(kg.K)] |
MassFlowRate | mWat_flow_nominal | QCoo_flow_nominal/(deltaT*cp... | Nominal water mass flow rate [kg/s] |
Modelica definition
model CoolingOffice
extends Modelica.Icons.Example;
package Medium = Buildings.Media.Water "Medium model";
parameter Modelica.Units.SI.HeatFlowRate QCoo_flow_nominal=30000
"Cooling power";
parameter Modelica.Units.SI.TemperatureDifference deltaT=4 "Temperature difference at heat exchanger";
parameter Modelica.Units.SI.SpecificHeatCapacity cpWat=4186 "Heat capacity of water";
parameter Modelica.Units.SI.MassFlowRate mWat_flow_nominal=
QCoo_flow_nominal/(deltaT*cpWat) "Nominal water mass flow rate";
HeatExchangers.HeaterCooler_u hea(
redeclare package Medium = Medium,
m_flow_nominal=mWat_flow_nominal,
dp_nominal=100,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
Q_flow_nominal=QCoo_flow_nominal) "Heat exchanger";
Modelica.Blocks.Sources.Constant uPum(k=1) "Pump control signal";
Modelica.Blocks.Sources.Constant uHea(k=1) "Heat load control signal";
MultiWell aquWel(
redeclare package Medium = Medium,
nVol=80,
h=20,
d=1000,
length=40,
TCol_start=285.15,
THot_start=285.15,
aquDat=Buildings.Fluid.Geothermal.Aquifer.Data.Rock(),
m_flow_nominal=mWat_flow_nominal,
dpExt_nominal=5000)
"Acquifer well";
Sources.Boundary_pT bou(
redeclare package Medium = Medium,
nPorts=1) "Pressure boundary condition";
equation
connect(uHea.y, hea.u);
connect(aquWel.port_Hot, hea.port_b);
connect(aquWel.port_Col, hea.port_a);
connect(bou.ports[1], hea.port_a);
connect(uPum.y, aquWel.u);
end CoolingOffice;