This package contains base classes that are used to construct the models in Buildings.Fluid.HeatExchangers.Examples.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Name | Description |
---|---|
EffectivenessNTUMassFlow | Partial model of epsilon-NTU coil that tests variable mass flow rates |
Type | Name | Default | Description |
---|---|---|---|
Temperature | T_a1_nominal | 5 + 273.15 | [K] |
Temperature | T_b1_nominal | 10 + 273.15 | [K] |
Temperature | T_a2_nominal | 30 + 273.15 | [K] |
Temperature | T_b2_nominal | 15 + 273.15 | [K] |
HeatFlowRate | Q_flow_nominal | m1_flow_nominal*4200*(T_a1_n... | Nominal heat transfer [W] |
MassFlowRate | m1_flow_nominal | 0.1 | Nominal mass flow rate medium 1 [kg/s] |
MassFlowRate | m2_flow_nominal | m1_flow_nominal*4200/1000*(T... | Nominal mass flow rate medium 2 [kg/s] |
partial model EffectivenessNTUMassFlow "Partial model of epsilon-NTU coil that tests variable mass flow rates" import Buildings; package Medium1 = Buildings.Media.ConstantPropertyLiquidWater; package Medium2 = Buildings.Media.PerfectGases.MoistAirUnsaturated; parameter Modelica.SIunits.Temperature T_a1_nominal=5 + 273.15; parameter Modelica.SIunits.Temperature T_b1_nominal=10 + 273.15; parameter Modelica.SIunits.Temperature T_a2_nominal=30 + 273.15; parameter Modelica.SIunits.Temperature T_b2_nominal=15 + 273.15; parameter Modelica.SIunits.HeatFlowRate Q_flow_nominal = m1_flow_nominal*4200*(T_a1_nominal-T_b1_nominal) "Nominal heat transfer"; parameter Modelica.SIunits.MassFlowRate m1_flow_nominal=0.1 "Nominal mass flow rate medium 1"; parameter Modelica.SIunits.MassFlowRate m2_flow_nominal=m1_flow_nominal*4200/ 1000*(T_a1_nominal - T_b1_nominal)/(T_b2_nominal - T_a2_nominal) "Nominal mass flow rate medium 2";Buildings.Fluid.Sources.Boundary_pT sin_2( redeclare package Medium = Medium2, use_p_in=false, p(displayUnit="Pa") = 101325, T=T_a2_nominal); Buildings.Fluid.Sources.MassFlowSource_T sou_2( redeclare package Medium = Medium2, T=T_a2_nominal, X={0.02,1 - 0.02}, use_T_in=true, use_X_in=true, m_flow=m2_flow_nominal, use_m_flow_in=true); Buildings.Fluid.Sources.Boundary_pT sin_1( redeclare package Medium = Medium1, use_p_in=false, p=300000, T=T_a1_nominal); Buildings.Fluid.Sources.MassFlowSource_T sou_1( redeclare package Medium = Medium1, use_m_flow_in=true, use_T_in=false, T=T_a1_nominal); inner Modelica.Fluid.System system; Modelica.Blocks.Sources.Constant const(k=0.8); Buildings.Utilities.Psychrometrics.X_pTphi x_pTphi(use_p_in=false, redeclare package Medium = Medium2); Modelica.Blocks.Sources.Constant const1(k=T_a2_nominal); Modelica.Blocks.Math.Gain mWat_flow(k=m1_flow_nominal) "Water mass flow rate"; Modelica.Blocks.Sources.TimeTable mWatGai( table=[0,1; 3600*0.1,1; 3600*0.2,0.01; 3600*0.3,0.01]) "Gain for water mass flow rate"; Modelica.Blocks.Sources.TimeTable mAirGai( table=[0,1; 3600*0.5,1; 3600*0.6,-1; 3600*0.7,0; 3600*1,0]) "Gain for air mass flow rate"; Modelica.Blocks.Math.Gain mAir_flow(k=m2_flow_nominal) "Air mass flow rate"; equationconnect(x_pTphi.X, sou_2.X_in); connect(const.y, x_pTphi.phi); connect(const1.y, x_pTphi.T); connect(const1.y, sou_2.T_in); connect(mWat_flow.y, sou_1.m_flow_in); connect(mAir_flow.y, sou_2.m_flow_in); connect(mAirGai.y, mAir_flow.u); connect(mWatGai.y, mWat_flow.u); end EffectivenessNTUMassFlow;