Buildings.Utilities.Psychrometrics.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.Utilities.Psychrometics.

Extends from Buildings.BaseClasses.BaseIconExamples (Icon for Examples packages).

Package Content

NameDescription
DewPointTemperature Unit test for dew point temperature calculation
HumidityRatioPressure Unit test for humidity ratio model
TotalAirDryAir Unit test for conversion of humidity per total air and dry air mass
Twb_TdbXi  
MassFraction_pTphi Unit test for dew point temperature calculation


Buildings.Utilities.Psychrometrics.Examples.DewPointTemperature

Unit test for dew point temperature calculation

Buildings.Utilities.Psychrometrics.Examples.DewPointTemperature

Modelica definition

model DewPointTemperature 
  "Unit test for dew point temperature calculation"
   package Medium = Buildings.Media.PerfectGases.MoistAir "Medium model";
  Buildings.Utilities.Psychrometrics.pW_Tdp watVapPre;
    Modelica.Blocks.Sources.Ramp XHum(
    duration=1,
    height=(0.01 - 0.1),
    offset=0.1) "Humidity concentration";
  Buildings.Utilities.Psychrometrics.pW_X humRat(
                         use_p_in=false);
  Buildings.Utilities.Psychrometrics.Tdp_pW TDewPoi;
equation 
  connect(XHum.y, humRat.X_w);
  connect(humRat.p_w, TDewPoi.p_w);
  connect(TDewPoi.T, watVapPre.T);
end DewPointTemperature;

Buildings.Utilities.Psychrometrics.Examples.HumidityRatioPressure

Unit test for humidity ratio model

Buildings.Utilities.Psychrometrics.Examples.HumidityRatioPressure

Modelica definition

model HumidityRatioPressure "Unit test for humidity ratio model"
 package Medium = Buildings.Media.PerfectGases.MoistAir "Medium model";
  Buildings.Utilities.Psychrometrics.pW_X vapPre(
                         use_p_in=true) "Model for humidity ratio";
    Modelica.Blocks.Sources.Ramp XHumDryAir(
    duration=1,
    height=(0.0133 - 0.2),
    offset=0.2) "Humidity concentration in [kg/kg dry air]";
  Modelica.Blocks.Sources.Constant p(k=101325) "Pressure";
  Buildings.Utilities.Psychrometrics.X_pW humRat(
                            use_p_in=true);
  Diagnostics.AssertEquality assertEquality(threShold=1E-5) 
    "Checks that model and its inverse implementation are correct";
  ToTotalAir toTotalAir;
equation 
  connect(vapPre.p_w, humRat.p_w);
  connect(humRat.X_w, assertEquality.u1);
  connect(p.y, humRat.p_in);
  connect(p.y, vapPre.p_in);
  connect(XHumDryAir.y, toTotalAir.XiDry);
  connect(toTotalAir.XiTotalAir, vapPre.X_w);
  connect(toTotalAir.XiTotalAir, assertEquality.u2);
end HumidityRatioPressure;

Buildings.Utilities.Psychrometrics.Examples.TotalAirDryAir

Unit test for conversion of humidity per total air and dry air mass

Buildings.Utilities.Psychrometrics.Examples.TotalAirDryAir

Modelica definition

model TotalAirDryAir 
  "Unit test for conversion of humidity per total air and dry air mass"
   package Medium = Buildings.Media.PerfectGases.MoistAir "Medium model";
    Modelica.Blocks.Sources.Ramp XHum(
    duration=1,
    height=(0.01 - 0.1),
    offset=0.1) "Humidity concentration";
  ToTotalAir toTotalAir;
  ToDryAir toDryAir;
  Diagnostics.AssertEquality assertEquality(threShold=1E-5) 
    "Checks that model and its inverse implementation are correct";
equation 
  connect(toTotalAir.XiDry, XHum.y);
  connect(toTotalAir.XiTotalAir, toDryAir.XiTotalAir);
  connect(toDryAir.XiDry, assertEquality.u1);
  connect(assertEquality.u2, XHum.y);
end TotalAirDryAir;

Buildings.Utilities.Psychrometrics.Examples.Twb_TdbXi

Buildings.Utilities.Psychrometrics.Examples.Twb_TdbXi

Information


This examples is a unit test for the wet bulb computation.
The problem setup is such that the moisture concentration and
the dry bulb temperature are varied simultaneously so 
that the wet bulb temperature remains constant.
This wet bulb temperature is checked against a constant value with
an assert statement.
If this assert is triggered, then the model for the wet bulb computation
is broken (assuming that the inputs remained unchanged).

Modelica definition

model Twb_TdbXi

 package Medium = Buildings.Media.PerfectGases.MoistAir "Medium model";

    Modelica.Blocks.Sources.Ramp TDB(
    height=10,
    duration=1,
    offset=273.15 + 30) "Dry bulb temperature";
  Buildings.Utilities.Diagnostics.AssertEquality assertEquality(startTime=0,
      threShold=0.05);
  Modelica.Blocks.Sources.Constant TWBExp(k=273.15 + 25) 
    "Expected wet bulb temperature";
  Buildings.Utilities.Psychrometrics.Twb_TdbXi wetBul(         redeclare 
      package Medium = Medium) "Model for wet bulb temperature";
  Modelica.Blocks.Sources.Constant p(k=101325) "Pressure";
    Modelica.Blocks.Sources.Ramp XHum(
    duration=1,
    height=(0.0133 - 0.0175),
    offset=0.0175) "Humidity concentration";
equation 
  connect(TWBExp.y, assertEquality.u2);
  connect(p.y, wetBul.p);
  connect(XHum.y, wetBul.Xi[1]);
  connect(TDB.y, wetBul.Tdb);
  connect(wetBul.Twb, assertEquality.u1);
end Twb_TdbXi;

Buildings.Utilities.Psychrometrics.Examples.MassFraction_pTphi

Unit test for dew point temperature calculation

Buildings.Utilities.Psychrometrics.Examples.MassFraction_pTphi

Modelica definition

model MassFraction_pTphi 
  "Unit test for dew point temperature calculation"

   package Medium1 = Buildings.Media.PerfectGases.MoistAir "Medium model";
   package Medium2 = Buildings.Media.GasesPTDecoupled.MoistAir "Medium model";
    Modelica.Blocks.Sources.Ramp Phi(
    offset=0,
    duration=0.5,
    height=1) "Relative humidity";
  Buildings.Utilities.Psychrometrics.X_pTphi masFra1(           redeclare 
      package Medium = Medium1) "Mass fraction computation";
    Modelica.Blocks.Sources.Ramp T(
    height=10,
    offset=283.15,
    duration=0.5,
    startTime=0.5) "Temperature";
    Modelica.Blocks.Sources.Constant P(k=101325) "Pressure";
  Buildings.Utilities.Psychrometrics.X_pTphi masFra2(           redeclare 
      package Medium = Medium2, use_p_in=false) "Mass fraction computation";
equation 
  connect(T.y, masFra1.T);
  connect(Phi.y, masFra1.phi);
  connect(T.y, masFra2.T);
  connect(Phi.y, masFra2.phi);
  connect(P.y, masFra1.p_in);
end MassFraction_pTphi;

HTML-documentation generated by Dymola Fri Jul 30 18:07:13 2010.