Buildings.Media.Examples

Collection of models that test the media models

Information

This package contains examples that test the media packages in Buildings.Media.

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

Package Content

Name Description
Buildings.Media.Examples.AirDerivativeCheck AirDerivativeCheck Model that tests the derivative implementation
Buildings.Media.Examples.AirProperties AirProperties Model that tests the implementation of the fluid properties
Buildings.Media.Examples.AirTemperatureEnthalpyInversion AirTemperatureEnthalpyInversion Model to check computation of h(T) and its inverse
Buildings.Media.Examples.PropyleneGlycolWaterDerivativeCheck PropyleneGlycolWaterDerivativeCheck Model that tests the derivative implementation
Buildings.Media.Examples.PropyleneGlycolWaterProperties PropyleneGlycolWaterProperties Model that tests the implementation of the fluid properties
Buildings.Media.Examples.PropyleneGlycolWaterTemperatureEnthalpyInversion PropyleneGlycolWaterTemperatureEnthalpyInversion Model to check computation of h(T) and its inverse
Buildings.Media.Examples.WaterDerivativeCheck WaterDerivativeCheck Model that tests the derivative implementation
Buildings.Media.Examples.WaterProperties WaterProperties Model that tests the implementation of the fluid properties
Buildings.Media.Examples.WaterTemperatureEnthalpyInversion WaterTemperatureEnthalpyInversion Model to check computation of h(T) and its inverse
Buildings.Media.Examples.BaseClasses BaseClasses Package with base classes for Buildings.Media.Examples

Buildings.Media.Examples.AirDerivativeCheck Buildings.Media.Examples.AirDerivativeCheck

Model that tests the derivative implementation

Information

This example checks whether the function derivative is implemented correctly. If the derivative implementation is not correct, the model will stop with an assert statement.

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

Modelica definition

model AirDerivativeCheck "Model that tests the derivative implementation" extends Modelica.Icons.Example; package Medium = Buildings.Media.Air; Modelica.SIunits.Temperature T "Temperature"; Modelica.SIunits.MassFraction X[1] "Water vapor mass fraction"; Modelica.SIunits.SpecificEnthalpy hLiqSym "Liquid phase enthalpy"; Modelica.SIunits.SpecificEnthalpy hLiqCod "Liquid phase enthalpy"; Modelica.SIunits.SpecificEnthalpy hSteSym "Water vapor enthalpy"; Modelica.SIunits.SpecificEnthalpy hSteCod "Water vapor enthalpy"; Modelica.SIunits.SpecificEnthalpy hAirSym "Dry air enthalpy"; Modelica.SIunits.SpecificEnthalpy hAirCod "Dry air enthalpy"; Modelica.SIunits.SpecificHeatCapacity cpSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cpCod "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvCod "Specific heat capacity"; constant Real convT(unit="K/s3") = 270 "Conversion factor to satisfy unit check"; constant Real convX(unit="1/s3") = 0.01 "Conversion factor to satisfy unit check"; initial equation hLiqSym = hLiqCod; hSteSym = hSteCod; hAirSym = hAirCod; cpSym = cpCod; cvSym = cvCod; equation T = 273.15+convT*time^3; X = {0.001}+convX*time^3*{1}; hLiqCod=Medium.enthalpyOfLiquid(T); der(hLiqCod)=der(hLiqSym); assert(abs(hLiqCod-hLiqSym) < 1E-2, "Model has an error"); hSteCod=Medium.enthalpyOfCondensingGas(T); der(hSteCod)=der(hSteSym); assert(abs(hSteCod-hSteSym) < 1E-2, "Model has an error"); hAirCod=Medium.enthalpyOfNonCondensingGas(T); der(hAirCod)=der(hAirSym); assert(abs(hAirCod-hAirSym) < 1E-2, "Model has an error"); cpCod=Medium.specificHeatCapacityCp( Medium.setState_pTX( p=1e5, T=T, X=X)); der(cpCod)=der(cpSym); assert(abs(cpCod-cpSym) < 1E-2, "Model has an error"); cvCod=Medium.specificHeatCapacityCv( Medium.setState_pTX( p=1e5, T=T, X=X)); der(cvCod)=der(cvSym); assert(abs(cvCod-cvSym) < 1E-2, "Model has an error"); end AirDerivativeCheck;

Buildings.Media.Examples.AirProperties Buildings.Media.Examples.AirProperties

Model that tests the implementation of the fluid properties

Information

This example checks thermophysical properties of the medium.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.FluidProperties (Model that tests the implementation of the fluid properties).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureTMin273.15 - 30Minimum temperature for the simulation [K]
TemperatureTMax273.15 + 60Maximum temperature for the simulation [K]
PressurepMedium.p_defaultPressure [Pa]
MassFractionX[Medium.nX]Medium.X_defaultMass fraction [1]

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model AirProperties "Model that tests the implementation of the fluid properties" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.FluidProperties( redeclare package Medium = Buildings.Media.Air, TMin=273.15-30, TMax=273.15+60); Modelica.SIunits.SpecificEnthalpy hLiq "Specific enthalpy of liquid"; equation // Check the implementation of the base properties basPro.state.p=p; basPro.state.T=T; basPro.state.X[1]=X[1]; hLiq = Medium.enthalpyOfLiquid(T); if Medium.nX == 1 then assert(abs(h-hLiq) < 1e-8, "Error in enthalpy computation."); end if; end AirProperties;

Buildings.Media.Examples.AirTemperatureEnthalpyInversion Buildings.Media.Examples.AirTemperatureEnthalpyInversion

Model to check computation of h(T) and its inverse

Information

This model tests whether the inversion of temperature and enthalpy is implemented correctly. If T ≠ T(h(T)), the model stops with an error.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion (Model to check computation of h(T) and its inverse with a controlleable tolerance).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureT0273.15 + 20Temperature [K]
Realtol1E-8Numerical tolerance

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model AirTemperatureEnthalpyInversion "Model to check computation of h(T) and its inverse" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion ( redeclare package Medium = Buildings.Media.Air); end AirTemperatureEnthalpyInversion;

Buildings.Media.Examples.PropyleneGlycolWaterDerivativeCheck Buildings.Media.Examples.PropyleneGlycolWaterDerivativeCheck

Model that tests the derivative implementation

Information

This example checks whether the function derivative is implemented correctly. If the derivative implementation is not correct, the model will stop with an assert statement.

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

Modelica definition

model PropyleneGlycolWaterDerivativeCheck "Model that tests the derivative implementation" extends Modelica.Icons.Example; package Medium = Buildings.Media.Antifreeze.PropyleneGlycolWater ( X_a=0.60, property_T=293.15); Modelica.SIunits.Temperature T "Temperature"; Modelica.SIunits.SpecificEnthalpy hLiqSym "Liquid phase enthalpy"; Modelica.SIunits.SpecificEnthalpy hLiqCod "Liquid phase enthalpy"; Modelica.SIunits.SpecificHeatCapacity cpSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cpCod "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvCod "Specific heat capacity"; constant Real convT(unit="K/s3") = 100 "Conversion factor to satisfy unit check"; initial equation hLiqSym = hLiqCod; cpSym = cpCod; cvSym = cvCod; equation T = 273.15+convT*time^3; hLiqCod=Medium.cp_const*(T-Medium.reference_T); der(hLiqCod)=der(hLiqSym); assert(abs(hLiqCod-hLiqSym) < 1E-2, "Model has an error"); cpCod=Medium.specificHeatCapacityCp( Medium.setState_pTX( p=1e5, T=T, X=Medium.X_default)); der(cpCod)=der(cpSym); assert(abs(cpCod-cpSym) < 1E-2, "Model has an error"); cvCod=Medium.specificHeatCapacityCv( Medium.setState_pTX( p=1e5, T=T, X=Medium.X_default)); der(cvCod)=der(cvSym); assert(abs(cvCod-cvSym) < 1E-2, "Model has an error"); end PropyleneGlycolWaterDerivativeCheck;

Buildings.Media.Examples.PropyleneGlycolWaterProperties Buildings.Media.Examples.PropyleneGlycolWaterProperties

Model that tests the implementation of the fluid properties

Information

This example checks thermophysical properties of the medium.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.FluidProperties (Model that tests the implementation of the fluid properties).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureTMin273.15Minimum temperature for the simulation [K]
TemperatureTMax373.15Maximum temperature for the simulation [K]
PressurepMedium.p_defaultPressure [Pa]
MassFractionX[Medium.nX]Medium.X_defaultMass fraction [1]

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model PropyleneGlycolWaterProperties "Model that tests the implementation of the fluid properties" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.FluidProperties( redeclare package Medium = Buildings.Media.Antifreeze.PropyleneGlycolWater ( X_a=0.60, property_T=293.15), TMin=273.15, TMax=373.15); equation // Check the implementation of the base properties basPro.state.p=p; basPro.state.T=T; end PropyleneGlycolWaterProperties;

Buildings.Media.Examples.PropyleneGlycolWaterTemperatureEnthalpyInversion Buildings.Media.Examples.PropyleneGlycolWaterTemperatureEnthalpyInversion

Model to check computation of h(T) and its inverse

Information

This model tests whether the inversion of temperature and enthalpy is implemented correctly. If T ≠ T(h(T)), the model stops with an error.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion (Model to check computation of h(T) and its inverse with a controlleable tolerance).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureT0273.15 + 20Temperature [K]
Realtol1E-8Numerical tolerance

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model PropyleneGlycolWaterTemperatureEnthalpyInversion "Model to check computation of h(T) and its inverse" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion ( redeclare package Medium = Buildings.Media.Antifreeze.PropyleneGlycolWater ( X_a=0.60, property_T=293.15)); end PropyleneGlycolWaterTemperatureEnthalpyInversion;

Buildings.Media.Examples.WaterDerivativeCheck Buildings.Media.Examples.WaterDerivativeCheck

Model that tests the derivative implementation

Information

This example checks whether the function derivative is implemented correctly. If the derivative implementation is not correct, the model will stop with an assert statement.

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

Modelica definition

model WaterDerivativeCheck "Model that tests the derivative implementation" extends Modelica.Icons.Example; package Medium = Buildings.Media.Water; Modelica.SIunits.Temperature T "Temperature"; Modelica.SIunits.SpecificEnthalpy hLiqSym "Liquid phase enthalpy"; Modelica.SIunits.SpecificEnthalpy hLiqCod "Liquid phase enthalpy"; Modelica.SIunits.SpecificHeatCapacity cpSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cpCod "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvSym "Specific heat capacity"; Modelica.SIunits.SpecificHeatCapacity cvCod "Specific heat capacity"; constant Real convT(unit="K/s3") = 270 "Conversion factor to satisfy unit check"; initial equation hLiqSym = hLiqCod; cpSym = cpCod; cvSym = cvCod; equation T = 273.15+convT*time^3; hLiqCod=Medium.enthalpyOfLiquid(T); der(hLiqCod)=der(hLiqSym); assert(abs(hLiqCod-hLiqSym) < 1E-2, "Model has an error"); cpCod=Medium.specificHeatCapacityCp( Medium.setState_pTX( p=1e5, T=T, X=Medium.X_default)); der(cpCod)=der(cpSym); assert(abs(cpCod-cpSym) < 1E-2, "Model has an error"); cvCod=Medium.specificHeatCapacityCv( Medium.setState_pTX( p=1e5, T=T, X=Medium.X_default)); der(cvCod)=der(cvSym); assert(abs(cvCod-cvSym) < 1E-2, "Model has an error"); end WaterDerivativeCheck;

Buildings.Media.Examples.WaterProperties Buildings.Media.Examples.WaterProperties

Model that tests the implementation of the fluid properties

Information

This example checks thermophysical properties of the medium.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.FluidProperties (Model that tests the implementation of the fluid properties).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureTMin273.15Minimum temperature for the simulation [K]
TemperatureTMax373.15Maximum temperature for the simulation [K]
PressurepMedium.p_defaultPressure [Pa]
MassFractionX[Medium.nX]Medium.X_defaultMass fraction [1]

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model WaterProperties "Model that tests the implementation of the fluid properties" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.FluidProperties( redeclare package Medium = Buildings.Media.Water, TMin=273.15, TMax=373.15); equation // Check the implementation of the base properties basPro.state.p=p; basPro.state.T=T; end WaterProperties;

Buildings.Media.Examples.WaterTemperatureEnthalpyInversion Buildings.Media.Examples.WaterTemperatureEnthalpyInversion

Model to check computation of h(T) and its inverse

Information

This model tests whether the inversion of temperature and enthalpy is implemented correctly. If T ≠ T(h(T)), the model stops with an error.

Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion (Model to check computation of h(T) and its inverse with a controlleable tolerance).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMedium 
TemperatureT0273.15 + 20Temperature [K]
Realtol1E-8Numerical tolerance

Connectors

TypeNameDescription
replaceable package Medium 

Modelica definition

model WaterTemperatureEnthalpyInversion "Model to check computation of h(T) and its inverse" extends Modelica.Icons.Example; extends Buildings.Media.Examples.BaseClasses.TestTemperatureEnthalpyInversion ( redeclare package Medium = Buildings.Media.Water); end WaterTemperatureEnthalpyInversion;