Buildings.Fluid.HeatExchangers.ActiveBeams.Examples

Package with examples of active beam models

Information

This package contains examples for the use of models that can be found in Buildings.Fluid.HeatExchangers.ActiveBeams.

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

Package Content

Name Description
Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingAndHeating CoolingAndHeating  
Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingOnly CoolingOnly  
Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.HeatingOnly HeatingOnly  

Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingAndHeating Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingAndHeating


Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingAndHeating

Information

This example tests the implementation of Buildings.Fluid.HeatExchangers.ActiveBeams.CoolingAndHeating for both heating and cooling mode. An air volume is maintained at a temperature between 22ˆC and 25ˆC by two controllers that regulate the water flow rate in the active beam.

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

Modelica definition

model CoolingAndHeating extends Modelica.Icons.Example; package MediumA = Buildings.Media.Air "Medium model for air"; package MediumW = Buildings.Media.Water "Medium model for water"; Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = MediumW, nPorts=1) "Sink chilled water"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumA, m_flow=0.0792, use_m_flow_in=false, nPorts=1, T=285.85) "Source air"; Buildings.Fluid.Sources.Boundary_pT bou( redeclare package Medium = MediumA, nPorts=1) "Sink air"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor theConWal(G=200) "Thermal conductor for wall"; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaFlo "Thermal loads"; Modelica.Blocks.Sources.Constant TSetHea(k=273.15 + 22) "Heating set-point temperature"; Buildings.HeatTransfer.Sources.FixedTemperature TOut(T=301.15) "Outdoor air temperature"; Buildings.Controls.Continuous.LimPID conHea( yMax=0.094, Td=0, reverseAction=false, Ti=100, k=0.1, controllerType=Modelica.Blocks.Types.SimpleController.PI) "Controller for heating"; Sources.MassFlowSource_T pumCoo( redeclare package Medium = MediumW, use_m_flow_in=true, nPorts=1, T=288.15) "Source chilled water"; Modelica.Blocks.Math.Gain gain(k=1200) "Gain for thermal loads"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTem "Room air temperature sensor"; Sources.MassFlowSource_T pumHea( redeclare package Medium = MediumW, use_m_flow_in=true, nPorts=1, T=320.95) "Source hot water"; Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = MediumW, nPorts=1) "Sink hot water"; Modelica.Blocks.Sources.Sine sine( freqHz=1/86400, amplitude=1, phase=-1.5707963267949) "Source for thermal loads"; Buildings.Fluid.MixingVolumes.MixingVolume vol(nPorts=2, redeclare package Medium = MediumA, m_flow_nominal=0.1, V=30, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Air volume for room"; Modelica.Blocks.Sources.Constant TSetCoo(k=273.15 + 25) "Cooling set-point temperature"; Buildings.Controls.Continuous.LimPID conCoo( yMax=0.094, reverseAction=true, Td=0, k=0.5, Ti=70, controllerType=Modelica.Blocks.Types.SimpleController.PI) "Controller for cooling"; Buildings.Fluid.HeatExchangers.ActiveBeams.CoolingAndHeating beaCooHea( redeclare package MediumWat = MediumW, redeclare package MediumAir = MediumA, redeclare Buildings.Fluid.HeatExchangers.ActiveBeams.Data.Trox.DID632A_nozzleH_length6ft_cooling perCoo, redeclare Buildings.Fluid.HeatExchangers.ActiveBeams.Data.Trox.DID632A_nozzleH_length6ft_heating perHea, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyStateInitial) "Active Beam"; equation connect(TOut.port, theConWal.port_a); connect(gain.y, heaFlo.Q_flow); connect(senTem.T,conHea. u_m); connect(sine.y, gain.u); connect(bou.ports[1], vol.ports[1]); connect(theConWal.port_b, vol.heatPort); connect(heaFlo.port, vol.heatPort); connect(senTem.port, vol.heatPort); connect(TSetHea.y, conHea.u_s); connect(TSetCoo.y, conCoo.u_s); connect(conCoo.u_m, senTem.T); connect(beaCooHea.watCoo_b, sin_1.ports[1]); connect(sin_2.ports[1], beaCooHea.watHea_b); connect(souAir.ports[1], beaCooHea.air_a); connect(beaCooHea.air_b, vol.ports[2]); connect(beaCooHea.heaPor, vol.heatPort); connect(conCoo.y, pumCoo.m_flow_in); connect(conHea.y, pumHea.m_flow_in); connect(pumCoo.ports[1], beaCooHea.watCoo_a); connect(pumHea.ports[1], beaCooHea.watHea_a); end CoolingAndHeating;

Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingOnly Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingOnly


Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingOnly

Information

This example tests the implementation of Buildings.Fluid.HeatExchangers.ActiveBeams.Cooling. An air volume is maintained at a temperature below 25ˆC by a controller that regulates the water flow rate in the active beam.

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

Modelica definition

model CoolingOnly extends Modelica.Icons.Example; package MediumA = Buildings.Media.Air "Medium model for air"; package MediumW = Buildings.Media.Water "Medium model for water"; Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = MediumW, nPorts=1) "Sink for water"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumA, use_m_flow_in=false, m_flow=0.0792, nPorts=1, T=285.85) "Source for air"; Buildings.Fluid.Sources.Boundary_pT bou( redeclare package Medium = MediumA, nPorts=1) "Sink for air"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor theConWal(G=200) "Thermal conductor for wall"; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaFlo "Thermal loads"; Modelica.Blocks.Sources.Constant TSetCoo(k=273.15 + 25) "Set-point temperature"; Buildings.HeatTransfer.Sources.FixedTemperature TOut(T=301.15) "Outdoor air temperature"; Buildings.Controls.Continuous.LimPID conPID( reverseAction=true, Td=0, k=0.5, Ti=70, controllerType=Modelica.Blocks.Types.SimpleController.PI, yMax=0.094) "Controller"; Sources.MassFlowSource_T pum( redeclare package Medium = MediumW, use_m_flow_in=true, nPorts=1, T=288.15) "Source for water"; Modelica.Blocks.Math.Gain gain(k=1200) "Gain thermal loads"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTem "Room air temperature sensor"; Modelica.Blocks.Sources.Sine sine( freqHz=1/86400, amplitude=1, phase=-1.5707963267949) "Source for thermal loads"; Buildings.Fluid.MixingVolumes.MixingVolume vol( nPorts=2, redeclare package Medium = MediumA, m_flow_nominal=0.1, V=30, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, T_start=293.15) "Air volume for room"; Buildings.Fluid.HeatExchangers.ActiveBeams.Cooling beaCoo( redeclare package MediumWat = MediumW, redeclare package MediumAir = MediumA, redeclare Buildings.Fluid.HeatExchangers.ActiveBeams.Data.Trox.DID632A_nozzleH_length6ft_cooling perCoo, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Active beam"; equation connect(TOut.port, theConWal.port_a); connect(gain.y, heaFlo.Q_flow); connect(TSetCoo.y, conPID.u_s); connect(senTem.T, conPID.u_m); connect(vol.ports[1], bou.ports[1]); connect(heaFlo.port, vol.heatPort); connect(theConWal.port_b, vol.heatPort); connect(senTem.port, vol.heatPort); connect(sine.y, gain.u); connect(beaCoo.watCoo_b, sin_1.ports[1]); connect(beaCoo.heaPor, vol.heatPort); connect(souAir.ports[1], beaCoo.air_a); connect(beaCoo.air_b, vol.ports[2]); connect(pum.ports[1], beaCoo.watCoo_a); connect(pum.m_flow_in, conPID.y); end CoolingOnly;

Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.HeatingOnly Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.HeatingOnly


Buildings.Fluid.HeatExchangers.ActiveBeams.Examples.HeatingOnly

Information

This example tests the implementation of Buildings.Fluid.HeatExchangers.ActiveBeams.CoolingAndHeating, but operates it only in heating mode. An air volume is maintained at a temperature above 22ˆC by a controller that regulates the water flow rate in the active beam.

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

Modelica definition

model HeatingOnly extends Modelica.Icons.Example; package MediumA = Buildings.Media.Air "Medium model for air"; package MediumW = Buildings.Media.Water "Medium model for water"; Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = MediumW, nPorts=1) "Sink for chilled water"; Buildings.Fluid.Sources.MassFlowSource_T souAir( redeclare package Medium = MediumA, m_flow=0.0792, use_m_flow_in=false, nPorts=1, T=285.85) "Source for air"; Buildings.Fluid.Sources.Boundary_pT bou( redeclare package Medium = MediumA, nPorts=1) "Sink for air"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor theConWal(G=200) "Thermal conductor for wall"; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaFlo "Thermal loads"; Modelica.Blocks.Sources.Constant TSetHea(k=273.15 + 22) "Heating set-point temperature"; Buildings.HeatTransfer.Sources.FixedTemperature TOut(T=301.15) "Outdoor air temperature"; Buildings.Controls.Continuous.LimPID conPID( yMax=0.094, Td=0, reverseAction=false, Ti=100, k=0.1, controllerType=Modelica.Blocks.Types.SimpleController.PI) "Controller"; Buildings.Fluid.Sources.Boundary_pT sou_1( redeclare package Medium = MediumW, T=288.15, nPorts=1) "Soure chilled water"; Modelica.Blocks.Math.Gain gain(k=1200); Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTem "Room air temperature sensor"; Sources.MassFlowSource_T pumHea( redeclare package Medium = MediumW, use_m_flow_in=true, nPorts=1, T=320.95) "Source for heating"; Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = MediumW, nPorts=1) "Sink for hot water"; Modelica.Blocks.Sources.Sine sine( freqHz=1/86400, amplitude=1, phase=-1.5707963267949) "Source for thermal loads"; Buildings.Fluid.MixingVolumes.MixingVolume vol(nPorts=2, redeclare package Medium = MediumA, m_flow_nominal=0.1, V=30, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, T_start=293.15) "Air volume for room"; Buildings.Fluid.HeatExchangers.ActiveBeams.CoolingAndHeating beaCooHea( redeclare package MediumWat = MediumW, redeclare package MediumAir = MediumA, redeclare Buildings.Fluid.HeatExchangers.ActiveBeams.Data.Trox.DID632A_nozzleH_length6ft_cooling perCoo, redeclare Buildings.Fluid.HeatExchangers.ActiveBeams.Data.Trox.DID632A_nozzleH_length6ft_heating perHea, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial) "Active beam"; equation connect(TOut.port, theConWal.port_a); connect(gain.y, heaFlo.Q_flow); connect(TSetHea.y, conPID.u_s); connect(senTem.T, conPID.u_m); connect(sine.y, gain.u); connect(bou.ports[1], vol.ports[1]); connect(theConWal.port_b, vol.heatPort); connect(heaFlo.port, vol.heatPort); connect(senTem.port, vol.heatPort); connect(beaCooHea.watHea_b, sin_2.ports[1]); connect(beaCooHea.heaPor, vol.heatPort); connect(souAir.ports[1], beaCooHea.air_a); connect(sin_1.ports[1], beaCooHea.watCoo_b); connect(sou_1.ports[1], beaCooHea.watCoo_a); connect(beaCooHea.air_b, vol.ports[2]); connect(pumHea.ports[1], beaCooHea.watHea_a); connect(pumHea.m_flow_in, conPID.y); end HeatingOnly;