Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses
Partial validation models
Information
Package with partial models for heat pump validations.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
![]() |
Validation base case for the reversible heat pump model. |
Buildings.Fluid.HeatPumps.ModularReversible.Validation.BaseClasses.PartialValidation
Validation base case for the reversible heat pump model.
Information
Partial model for the validation of different modular heat pump approaches based on measured data of a brine-to-water heat pump at the Institute for Energy Efficient Building and Indoor Climate.
If questions regarding the data or model arises, please raise an issue and link FWuellhorst.
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package MediumSin | Buildings.Media.Water | Medium of sink side | |
replaceable package MediumSou | Buildings.Media.Water | Medium of source side |
Connectors
Type | Name | Description |
---|---|---|
replaceable package MediumSin | Medium of sink side | |
replaceable package MediumSou | Medium of source side | |
output RealOutput | TConOutMea | Measured condenser outlet [K] |
output RealOutput | TEvaOutMea | Measured evaporator outlet [K] |
output RealOutput | PEleMea | Measured electrical power consumption [W] |
output RealOutput | PEleSim | Simulated electrical power consumption [W] |
output RealOutput | TConOutSim | Simulated condenser outlet [K] |
output RealOutput | TEvaOutSim | Simulated evaporator outlet [K] |
Modelica definition
partial model PartialValidation
"Validation base case for the reversible heat pump model."
replaceable package MediumSin = Buildings.Media.Water
constrainedby Modelica.Media.Interfaces.PartialMedium
"Medium of sink side";
replaceable package MediumSou = Buildings.Media.Water
constrainedby Modelica.Media.Interfaces.PartialMedium
"Medium of source side";
Buildings.Fluid.Sources.MassFlowSource_T souSidMasFlowSou(
use_m_flow_in=true,
use_T_in=true,
m_flow=1,
nPorts=1,
redeclare final package Medium = MediumSou,
T=275.15) "Ideal mass flow source at the inlet of the source side";
Buildings.Fluid.Sources.Boundary_pT souSidFixBou(
nPorts=1,
redeclare package Medium = MediumSou)
"Fixed boundary at the outlet of the source side";
Buildings.Fluid.HeatPumps.ModularReversible.Modular heaPum(
redeclare final package MediumCon = MediumSin,
redeclare final package MediumEva = MediumSou,
final use_intSafCtr=false,
TConHea_nominal=303.15,
dTCon_nominal=5,
CCon=0,
GConOut=0,
GConIns=0,
TEvaHea_nominal=290.15,
dTEva_nominal=5,
mEva_flow_nominal=0.8,
dpEva_nominal=0,
dpCon_nominal=0,
use_conCap=false,
final use_rev=false,
CEva=0,
GEvaOut=0,
GEvaIns=0,
TEva_start=290.15,
use_evaCap=false,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
TCon_start=303.15,
redeclare model RefrigerantCycleHeatPumpCooling =
Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.BaseClasses.NoCooling)
"Heat pump";
Buildings.Fluid.Sources.Boundary_pT sinSidFixBou(redeclare final package Medium =
MediumSin, nPorts=1) "Fixed boundary at the outlet of the sink side";
Buildings.Fluid.Sources.MassFlowSource_T sinSidMasFlowSou(
use_m_flow_in=true,
use_T_in=true,
m_flow=1,
nPorts=1,
redeclare final package Medium = MediumSin,
T=275.15) "Ideal mass flow source at the inlet of the source side";
Modelica.Blocks.Math.Gain mEva_flow(final k=heaPum.mEva_flow_nominal)
"Gain to scale the time table output to flow rate";
Modelica.Blocks.Math.Gain mCon_flow(final k=heaPum.mCon_flow_nominal)
"Gain to scale the time table output to flow rate";
Modelica.Blocks.Sources.CombiTimeTable tabMea(
tableOnFile=true,
tableName="MeasuredData",
fileName=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/Data/Fluid/HeatPumps/Validation/MeasuredHeatPumpData.txt"),
columns=2:10,
extrapolation=Modelica.Blocks.Types.Extrapolation.HoldLastPoint)
"Table with measurement data";
Modelica.Blocks.Interfaces.RealOutput TConOutMea(unit="K", displayUnit="degC")
"Measured condenser outlet";
Modelica.Blocks.Interfaces.RealOutput TEvaOutMea(unit="K", displayUnit="degC")
"Measured evaporator outlet";
Modelica.Blocks.Interfaces.RealOutput PEleMea(unit="W")
"Measured electrical power consumption";
Modelica.Blocks.Interfaces.RealOutput PEleSim(unit="W")
"Simulated electrical power consumption";
Modelica.Blocks.Interfaces.RealOutput TConOutSim(unit="K", displayUnit="degC")
"Simulated condenser outlet";
Modelica.Blocks.Interfaces.RealOutput TEvaOutSim(unit="K", displayUnit="degC")
"Simulated evaporator outlet";
Modelica.Blocks.Sources.RealExpression reaPEle(y=heaPum.refCyc.PEle)
"Use of internal heat pump state for PEle";
Modelica.Blocks.Sources.RealExpression reaTEvaOut(y=heaPum.eva.T)
"Use of internal heat pump state for TEvaOut";
Modelica.Blocks.Sources.RealExpression reaTConOut(y=heaPum.con.T)
"Use of internal heat pump state for TConOut";
equation
connect(souSidMasFlowSou.ports[1], heaPum.port_a2);
connect(heaPum.port_b2, souSidFixBou.ports[1]);
connect(heaPum.port_b1, sinSidFixBou.ports[1]);
connect(heaPum.port_a1, sinSidMasFlowSou.ports[1]);
connect(mEva_flow.y, souSidMasFlowSou.m_flow_in);
connect(sinSidMasFlowSou.m_flow_in, mCon_flow.y);
connect(tabMea.y[5], mEva_flow.u);
connect(tabMea.y[7], mCon_flow.u);
connect(tabMea.y[6], heaPum.ySet);
connect(tabMea.y[9], souSidMasFlowSou.T_in);
connect(sinSidMasFlowSou.T_in, tabMea.y[1]);
connect(tabMea.y[2], TConOutMea);
connect(tabMea.y[8], TEvaOutMea);
connect(tabMea.y[3], PEleMea);
connect(reaPEle.y, PEleSim);
connect(TEvaOutSim, reaTEvaOut.y);
connect(TConOutSim, reaTConOut.y);
end PartialValidation;