Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.BypassDampers BypassDampers Test model for the enthalpy recovery wheel with bypass dampers
Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.SpeedControlled SpeedControlled Test model for the enthalpy recovery wheel with a variable speed drive

Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.BypassDampers Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.BypassDampers

Test model for the enthalpy recovery wheel with bypass dampers

Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.BypassDampers

Information

Example for the model Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BypassDampers.

The input signals are configured as follows:

The expected outputs are:

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
Genericperper(mSup_flow_nominal=5, mEx...Performance record for the enthalpy wheel

Modelica definition

model BypassDampers "Test model for the enthalpy recovery wheel with bypass dampers" extends Modelica.Icons.Example; package Medium = Buildings.Media.Air "Air"; parameter Buildings.Fluid.HeatExchangers.ThermalWheels.Data.Generic per( mSup_flow_nominal=5, mExh_flow_nominal=5, have_varSpe=false) "Performance record for the enthalpy wheel"; Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = Medium, p(displayUnit="Pa")=101325, T=273.15+10, nPorts=1) "Exhaust air sink"; Buildings.Fluid.Sources.Boundary_pT sou_2( redeclare package Medium = Medium, p(displayUnit="Pa")=101325+500, T(displayUnit="K")=293.15, nPorts=1) "Exhaust air source"; Modelica.Blocks.Sources.Ramp TSup( height=10, duration=60, offset=273.15+30, startTime=60) "Supply air temperature"; Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = Medium, T=273.15+30, X={0.012,1 - 0.012}, p(displayUnit="Pa")=101325-500, nPorts=1) "Supply air sink"; Buildings.Fluid.Sources.Boundary_pT sou_1( redeclare package Medium = Medium, T=273.15+50, X={0.012,1 - 0.012}, use_T_in=true, p(displayUnit="Pa")=101325, nPorts=1) "Supply air source"; Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.BypassDampers whe( redeclare package Medium = Medium, per=per) "Wheel"; Modelica.Blocks.Sources.Ramp bypDamPos( height=0.2, duration=160, offset=0, startTime=200) "Bypass damper position"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse opeSig( width=0.8, period=400, shift=72) "Operating signal"; Buildings.Fluid.Sensors.TemperatureTwoPort senExhTem( redeclare package Medium =Medium, m_flow_nominal=5) "Temperature of the exhaust air"; Buildings.Fluid.Sensors.TemperatureTwoPort senSupTem( redeclare package Medium = Medium, m_flow_nominal=5) "Temperature of the supply air"; equation connect(TSup.y, sou_1.T_in); connect(sou_1.ports[1],whe.port_a1); connect(whe.port_a2, sou_2.ports[1]); connect(bypDamPos.y, whe.uBypDamPos); connect(opeSig.y, whe.uRot); connect(senExhTem.port_b, sin_2.ports[1]); connect(senExhTem.port_a, whe.port_b2); connect(senSupTem.port_b, sin_1.ports[1]); connect(senSupTem.port_a, whe.port_b1); end BypassDampers;

Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.SpeedControlled Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.SpeedControlled

Test model for the enthalpy recovery wheel with a variable speed drive

Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.Validation.SpeedControlled

Information

Example for the model Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.SpeedControlled.

This example considers two wheels: wheUseDefCur employs a user-defined efficiency curve; wheDefCur employs a default efficiency curve

The input signals are configured as follows:

The expected outputs are:

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
ASHRAEperper(mSup_flow_nominal=5, mEx...Performance record for the enthalpy wheel
ASHRAEperDefMotCurperDefMotCur(mSup_flow_nomin...Performance record for the enthalpy wheel with default motor curve

Modelica definition

model SpeedControlled "Test model for the enthalpy recovery wheel with a variable speed drive" extends Modelica.Icons.Example; package Medium = Buildings.Media.Air "Air"; parameter Buildings.Fluid.HeatExchangers.ThermalWheels.Data.ASHRAE per( mSup_flow_nominal=5, mExh_flow_nominal=5, relMotEff(uSpe={0.1,0.6,0.8,1}, eta={0.3,0.8,0.9,1}), have_latHEX=true, use_defaultMotorEfficiencyCurve=false) "Performance record for the enthalpy wheel"; parameter Buildings.Fluid.HeatExchangers.ThermalWheels.Data.ASHRAE perDefMotCur( mSup_flow_nominal=5, mExh_flow_nominal=5, have_latHEX=true, use_defaultMotorEfficiencyCurve=true) "Performance record for the enthalpy wheel with default motor curve"; Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = Medium, p(displayUnit="Pa")=101325, T(displayUnit="K")=273.15+10, nPorts=2) "Exhaust air sink"; Buildings.Fluid.Sources.Boundary_pT sou_2( redeclare package Medium = Medium, p(displayUnit="Pa")=101325+500, T(displayUnit="K")=293.15, nPorts=2) "Exhaust air source"; Modelica.Blocks.Sources.Ramp TSup( height=10, duration=60, offset=273.15+30, startTime=60) "Supply air temperature"; Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = Medium, T=273.15+30, X={0.012,1 - 0.012}, p(displayUnit="Pa")=101325-500, nPorts=2) "Supply air sink"; Buildings.Fluid.Sources.Boundary_pT sou_1( redeclare package Medium = Medium, T=273.15+50, X={0.012,1 - 0.012}, use_T_in=true, p(displayUnit="Pa")=101325, nPorts=2) "Supply air source"; Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.SpeedControlled wheUseDefCur( redeclare package Medium = Medium, per=per) "Wheel with a user-defined curve"; Buildings.Fluid.HeatExchangers.ThermalWheels.Latent.SpeedControlled wheDefCur( redeclare package Medium = Medium, per=perDefMotCur) "Wheel with a default curve"; Modelica.Blocks.Sources.Ramp wheSpe( height=0.3, duration=160, offset=0.7, startTime=200) "Wheel speed"; Buildings.Fluid.Sensors.TemperatureTwoPort senExhTem( redeclare package Medium = Medium, m_flow_nominal=5) "Temperature of the exhaust air"; Buildings.Fluid.Sensors.TemperatureTwoPort senSupTem( redeclare package Medium = Medium, m_flow_nominal=5) "Temperature of the supply air"; equation connect(TSup.y, sou_1.T_in); connect(sou_1.ports[2], wheUseDefCur.port_a1); connect(wheUseDefCur.port_a2, sou_2.ports[1]); connect(wheSpe.y, wheUseDefCur.uSpe); connect(senExhTem.port_b, sin_2.ports[1]); connect(senExhTem.port_a, wheUseDefCur.port_b2); connect(senSupTem.port_b, sin_1.ports[2]); connect(senSupTem.port_a, wheUseDefCur.port_b1); connect(wheDefCur.port_a1, sou_1.ports[1]); connect(wheDefCur.port_b2, sin_2.ports[2]); connect(wheDefCur.port_a2, sou_2.ports[2]); connect(wheDefCur.port_b1, sin_1.ports[1]); connect(wheDefCur.uSpe, wheSpe.y); end SpeedControlled;