Buildings.Fluid.Humidifiers.Examples

Collection of models that illustrate model use and test models

Information

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

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

Package Content

Name Description
Buildings.Fluid.Humidifiers.Examples.Humidifier_u Humidifier_u Model that demonstrates the ideal humidifier model

Buildings.Fluid.Humidifiers.Examples.Humidifier_u Buildings.Fluid.Humidifiers.Examples.Humidifier_u

Model that demonstrates the ideal humidifier model

Buildings.Fluid.Humidifiers.Examples.Humidifier_u

Information

Model that demonstrates the use of an ideal humidifier. Both humidifer models are identical, except that one model is configured as a steady-state model, whereas the other is configured as a dynamic model. Both humidifiers add water to the medium to track a set-point for the outlet temperature using adiabatic cooling. The temperature of the water that is added to the medium is determined by the parameter T of the humidifier models.

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

Parameters

TypeNameDefaultDescription
MassFlowRatem_flow_nominal3000/1000/20Nominal mass flow rate [kg/s]

Modelica definition

model Humidifier_u "Model that demonstrates the ideal humidifier model" extends Modelica.Icons.Example; package Medium = Buildings.Media.Air; parameter Modelica.SIunits.MassFlowRate m_flow_nominal= 3000/1000/20 "Nominal mass flow rate"; Buildings.Fluid.Sources.MassFlowSource_T sou( redeclare package Medium = Medium, use_T_in=false, nPorts=2, m_flow=2*m_flow_nominal, T=303.15) "Source"; Buildings.Fluid.Humidifiers.Humidifier_u humSte( redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal, dp_nominal=6000, tau=0, mWat_flow_nominal=m_flow_nominal*0.005, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState) "Steady-state model of the humidifier"; Buildings.Fluid.Sensors.TemperatureTwoPort senTem1(redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal) "Temperature sensor"; Modelica.Blocks.Sources.TimeTable TSet(table=[0, 273.15 + 30; 120, 273.15 + 30; 120, 273.15 + 25; 1200, 273.15 + 25]) "Setpoint"; Buildings.Controls.Continuous.LimPID con1( Td=1, k=1, Ti=10, controllerType=Modelica.Blocks.Types.SimpleController.PI, reverseAction=true) "Controller"; Buildings.Fluid.Humidifiers.Humidifier_u humDyn( redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal, dp_nominal=6000, mWat_flow_nominal=m_flow_nominal*0.005, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, massDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, T_start=303.15) "Dynamic model of the humidifier"; Buildings.Fluid.Sensors.TemperatureTwoPort senTem2(redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal) "Temperature sensor"; Buildings.Controls.Continuous.LimPID con2( Td=1, Ti=10, k=0.1, controllerType=Modelica.Blocks.Types.SimpleController.PI, reverseAction=true) "Controller"; Buildings.Fluid.Sources.Boundary_pT sin( redeclare package Medium = Medium, use_T_in=false, p(displayUnit="Pa"), T=303.15, nPorts=2) "Sink"; equation connect(senTem1.T, con1.u_m); connect(TSet.y, con1.u_s); connect(con1.y, humSte.u); connect(humSte.port_b, senTem1.port_a); connect(senTem2.T, con2.u_m); connect(TSet.y, con2.u_s); connect(con2.y, humDyn.u); connect(humDyn.port_b, senTem2.port_a); connect(sou.ports[1], humSte.port_a); connect(sou.ports[2], humDyn.port_a); connect(senTem1.port_b, sin.ports[1]); connect(senTem2.port_b, sin.ports[2]); end Humidifier_u;