Description: "Package with dry air model that decouples pressure and temperature"

- Home > Modelica

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir

Package with dry air model that decouples pressure and temperature

### Information

This medium model is identical to Modelica.Media.Air.SimpleAir, except the equation `d = p/(R*T)` has been replaced with `d/dStp = p/pStp` where `pStd` and `dStp` are constants for a reference temperature and density.

This new formulation often leads to smaller systems of nonlinear equations because pressure and temperature are decoupled, at the expense of accuracy.

As in Modelica.Media.Air.SimpleAir, the specific enthalpy h and specific internal energy u are only a function of temperature T and all other provided medium quantities are constant.

Extends from Buildings.Obsolete.Media.Interfaces.PartialSimpleIdealGasMedium (Medium model of Ideal gas with constant cp and cv. All other quantities, e.g., transport properties, are constant.).

### Package Content

Name | Description
--- | ---
fluidConstants=FluidConstants(iupacName={"simple air"}, casRegistryNumber={"not a real substance"}, chemicalFormula={"N2, O2"}, structureFormula={"N2, O2"}, molarMass=Modelica.Media.IdealGases.Common.SingleGasesData.N2.MM) | constant data for the fluid
pStp=101325 | Pressure for which dStp is defined
dStp=1.2 | Fluid density at pressure pStp
BaseProperties | Basic medium properties
setState_dTX | Return thermodynamic state from d, T, and X or Xi
density | return density of ideal gas
specificInternalEnergy | Return specific internal energy
specificEntropy | Return specific entropy
enthalpyOfCondensingGas | Enthalpy of steam per unit mass of steam
saturationPressure | Return saturation pressure of condensing fluid
Inherited
cp_const | Constant specific heat capacity at constant pressure
cv_const=cp_const - R_gas | Constant specific heat capacity at constant volume
R_gas | medium specific gas constant
MM_const | Molar mass
eta_const | Constant dynamic viscosity
lambda_const | Constant thermal conductivity
T_min | Minimum temperature valid for medium model
T_max | Maximum temperature valid for medium model
T0=reference_T | Zero enthalpy temperature
ThermodynamicState | Thermodynamic state of ideal gas
FluidConstants | fluid constants
setState_pTX | Return thermodynamic state from p, T, and X or Xi
setState_phX | Return thermodynamic state from p, h, and X or Xi
setState_psX | Return thermodynamic state from p, s, and X or Xi
setSmoothState | Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
pressure | Return pressure of ideal gas
temperature | Return temperature of ideal gas
specificEnthalpy | Return specific enthalpy
specificGibbsEnergy | Return specific Gibbs energy
specificHelmholtzEnergy | Return specific Helmholtz energy
dynamicViscosity | Return dynamic viscosity
thermalConductivity | Return thermal conductivity
specificHeatCapacityCp | Return specific heat capacity at constant pressure
specificHeatCapacityCv | Return specific heat capacity at constant volume
isentropicExponent | Return isentropic exponent
velocityOfSound | Return velocity of sound
specificEnthalpy_pTX | Return specific enthalpy from p, T, and X or Xi
temperature_phX | Return temperature from p, h, and X or Xi
density_phX | Return density from p, h, and X or Xi
isentropicEnthalpy | Return isentropic enthalpy
isobaricExpansionCoefficient | Returns overall the isobaric expansion coefficient beta
isothermalCompressibility | Returns overall the isothermal compressibility factor
density_derp_T | Returns the partial derivative of density with respect to pressure at constant temperature
density_derT_p | Returns the partial derivative of density with respect to temperature at constant pressure
density_derX | Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature
molarMass | Returns the molar mass of the medium
setState_pT | Return thermodynamic state from p and T
setState_ph | Return thermodynamic state from p and h
setState_ps | Return thermodynamic state from p and s
setState_dT | Return thermodynamic state from d and T
density_ph | Return density from p and h
temperature_ph | Return temperature from p and h
pressure_dT | Return pressure from d and T
specificEnthalpy_dT | Return specific enthalpy from d and T
specificEnthalpy_ps | Return specific enthalpy from p and s
temperature_ps | Return temperature from p and s
density_ps | Return density from p and s
specificEnthalpy_pT | Return specific enthalpy from p and T
density_pT | Return density from p and T
ThermoStates | Enumeration type for independent variables
mediumName="unusablePartialMedium" | Name of the medium
substanceNames={mediumName} | Names of the mixture substances. Set substanceNames={mediumName} if only one substance.
extraPropertiesNames=fill("", 0) | Names of the additional (extra) transported properties. Set extraPropertiesNames=fill("",0) if unused
singleState | = true, if u and d are not a function of pressure
reducedX=true | = true if medium contains the equation sum(X) = 1.0; set reducedX=true if only one substance (see docu for details)
fixedX=false | = true if medium contains the equation X = reference_X
reference_p=101325 | Reference pressure of Medium: default 1 atmosphere
reference_T=298.15 | Reference temperature of Medium: default 25 deg Celsius
reference_X=fill(1/nX, nX) | Default mass fractions of medium
p_default=101325 | Default value for pressure of medium (for initialization)
T_default=Modelica.SIunits.Conversions.from_degC(20) | Default value for temperature of medium (for initialization)
h_default=specificEnthalpy_pTX(p_default, T_default, X_default) | Default value for specific enthalpy of medium (for initialization)
X_default=reference_X | Default value for mass fractions of medium (for initialization)
nS=size(substanceNames, 1) | Number of substances
nX=nS | Number of mass fractions
nXi=if fixedX then 0 else if reducedX then nS - 1 else nS | Number of structurally independent mass fractions (see docu for details)
nC=size(extraPropertiesNames, 1) | Number of extra (outside of standard mass-balance) transported properties
C_nominal=1.0e-6*ones(nC) | Default for the nominal values for the extra properties
prandtlNumber | Return the Prandtl number
heatCapacity_cp | Alias for deprecated name
heatCapacity_cv | Alias for deprecated name
beta | Alias for isobaricExpansionCoefficient for user convenience
kappa | Alias of isothermalCompressibility for user convenience
density_derp_h | Return density derivative w.r.t. pressure at const specific enthalpy
density_derh_p | Return density derivative w.r.t. specific enthalpy at constant pressure
specificEntropy_pTX | Return specific enthalpy from p, T, and X or Xi
density_pTX | Return density from p, T, and X or Xi
temperature_psX | Return temperature from p,s, and X or Xi
density_psX | Return density from p, s, and X or Xi
specificEnthalpy_psX | Return specific enthalpy from p, s, and X or Xi
MassFlowRate | Type for mass flow rate with medium specific attributes
AbsolutePressure | Type for absolute pressure with medium specific attributes
Density | Type for density with medium specific attributes
DynamicViscosity | Type for dynamic viscosity with medium specific attributes
EnthalpyFlowRate | Type for enthalpy flow rate with medium specific attributes
MassFraction | Type for mass fraction with medium specific attributes
MoleFraction | Type for mole fraction with medium specific attributes
MolarMass | Type for molar mass with medium specific attributes
MolarVolume | Type for molar volume with medium specific attributes
IsentropicExponent | Type for isentropic exponent with medium specific attributes
SpecificEnergy | Type for specific energy with medium specific attributes
SpecificInternalEnergy | Type for specific internal energy with medium specific attributes
SpecificEnthalpy | Type for specific enthalpy with medium specific attributes
SpecificEntropy | Type for specific entropy with medium specific attributes
SpecificHeatCapacity | Type for specific heat capacity with medium specific attributes
SurfaceTension | Type for surface tension with medium specific attributes
Temperature | Type for temperature with medium specific attributes
ThermalConductivity | Type for thermal conductivity with medium specific attributes
PrandtlNumber | Type for Prandtl number with medium specific attributes
VelocityOfSound | Type for velocity of sound with medium specific attributes
ExtraProperty | Type for unspecified, mass-specific property transported by flow
CumulativeExtraProperty | Type for conserved integral of unspecified, mass specific property
ExtraPropertyFlowRate | Type for flow rate of unspecified, mass-specific property
IsobaricExpansionCoefficient | Type for isobaric expansion coefficient with medium specific attributes
DipoleMoment | Type for dipole moment with medium specific attributes
DerDensityByPressure | Type for partial derivative of density with respect to pressure with medium specific attributes
DerDensityByEnthalpy | Type for partial derivative of density with respect to enthalpy with medium specific attributes
DerEnthalpyByPressure | Type for partial derivative of enthalpy with respect to pressure with medium specific attributes
DerDensityByTemperature | Type for partial derivative of density with respect to temperature with medium specific attributes
DerTemperatureByPressure | Type for partial derivative of temperature with respect to pressure with medium specific attributes
SaturationProperties | Saturation properties of two phase medium
FluidLimits | Validity limits for fluid model
FixedPhase | Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use
Basic | The most basic version of a record used in several degrees of detail
IdealGas | The ideal gas version of a record used in several degrees of detail
TwoPhase | The two phase fluid version of a record used in several degrees of detail

### Types and constants

      constant FluidConstants[nS] fluidConstants=
        FluidConstants(iupacName={"simple air"},
                       casRegistryNumber={"not a real substance"},
                       chemicalFormula={"N2, O2"},
                       structureFormula={"N2, O2"},
                       molarMass=Modelica.Media.IdealGases.Common.SingleGasesData.N2.MM)
      "constant data for the fluid";

       constant AbsolutePressure pStp = 101325 "Pressure for which dStp is defined";

       constant Density dStp = 1.2 "Fluid density at pressure pStp";

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.BaseProperties

Basic medium properties

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Advanced
Boolean | preferredMediumStates | false | = true if StateSelect.prefer shall be used for the independent property variables of the medium

### Modelica definition

redeclare replaceable model BaseProperties "Basic medium properties" // declarations from Modelica.Media.Interfaces.PartialMedium InputAbsolutePressure p "Absolute pressure of medium"; InputMassFraction[nXi] Xi(start=reference_X[1:nXi]) "Structurally independent mass fractions"; InputSpecificEnthalpy h "Specific enthalpy of medium"; Density d "Density of medium"; Temperature T "Temperature of medium"; MassFraction[nX] X(start=reference_X) "Mass fractions (= (component mass)/total mass m_i/m)"; SpecificInternalEnergy u "Specific internal energy of medium"; SpecificHeatCapacity R "Gas constant (of mixture if applicable)"; MolarMass MM "Molar mass (of mixture or single fluid)"; ThermodynamicState state "thermodynamic state record for optional functions"; parameter Boolean preferredMediumStates=false "= true if StateSelect.prefer shall be used for the independent property variables of the medium"; final parameter Boolean standardOrderComponents = true "if true, and reducedX = true, the last element of X will be computed from the other ones"; SI.Conversions.NonSIunits.Temperature_degC T_degC= Modelica.SIunits.Conversions.to_degC(T) "Temperature of medium in [degC]"; SI.Conversions.NonSIunits.Pressure_bar p_bar= Modelica.SIunits.Conversions.to_bar(p) "Absolute pressure of medium in [bar]"; // Local connector definition, used for equation balancing check connector InputAbsolutePressure = input SI.AbsolutePressure "Pressure as input signal connector"; connector InputSpecificEnthalpy = input SI.SpecificEnthalpy "Specific enthalpy as input signal connector"; connector InputMassFraction = input SI.MassFraction "Mass fraction as input signal connector"; // own declarations equation if standardOrderComponents then Xi = X[1:nXi]; if fixedX then X = reference_X; end if; if reducedX and not fixedX then X[nX] = 1 - sum(Xi); end if; for i in 1:nX loop assert(X[i] >= -1.e-5 and X[i] <= 1 + 1.e-5, "Mass fraction X[" + String(i) + "] = " + String(X[i]) + "of substance " + substanceNames[i] + "\nof medium " + mediumName + " is not in the range 0..1"); end for; end if; assert(p >= 0.0, "Pressure (= " + String(p) + " Pa) of medium \"" + mediumName + "\" is negative\n(Temperature = " + String(T) + " K)"); // new medium equations h = specificEnthalpy_pTX(p,T,X); // Equation for ideal gas, from h=u+p*v and R*T=p*v, from which follows that u = h-R*T. // u = h-R*T; // However, in this medium, the gas law is d/dStp=p/pStp, from which follows using h=u+pv that // u= h-p*v = h-p/d = h-pStp/dStp u = h-pStp/dStp; R = R_gas; // d = p/(R*T); d/dStp = p/pStp; MM = MM_const; state.T = T; state.p = p; end BaseProperties;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.setState_dTX

Return thermodynamic state from d, T, and X or Xi

### Information

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Density | d |  | Density [kg/m3]
Temperature | T |  | Temperature [K]
MassFraction | X[:] | fill(0, 0) | Mass fractions [kg/kg]

### Outputs

Type | Name | Description
--- | --- | ---
ThermodynamicState | state |

### Modelica definition

redeclare function setState_dTX "Return thermodynamic state from d, T, and X or Xi" extends Modelica.Icons.Function; input Density d "Density"; input Temperature T "Temperature"; input MassFraction X[:] = fill(0,0) "Mass fractions"; output ThermodynamicState state; algorithm state := ThermodynamicState(p=d/dStp*pStp,T=T); end setState_dTX;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.density

return density of ideal gas

### Information

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
ThermodynamicState | state |  | Thermodynamic state record

### Outputs

Type | Name | Description
--- | --- | ---
Density | d | Density [kg/m3]

### Modelica definition

redeclare function density "return density of ideal gas" extends Modelica.Icons.Function; input ThermodynamicState state "Thermodynamic state record"; output Density d "Density"; algorithm d := dStp*state.p/pStp; end density;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.specificInternalEnergy

Return specific internal energy

### Information

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
ThermodynamicState | state |  | thermodynamic state record

### Outputs

Type | Name | Description
--- | --- | ---
SpecificEnergy | u | Specific internal energy [J/kg]

### Modelica definition

redeclare function specificInternalEnergy "Return specific internal energy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SpecificEnergy u "Specific internal energy"; algorithm u := specificEnthalpy(state) - pStp/dStp; end specificInternalEnergy;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.specificEntropy

Return specific entropy

### Information

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
ThermodynamicState | state |  | Thermodynamic state record

### Outputs

Type | Name | Description
--- | --- | ---
SpecificEntropy | s | Specific entropy [J/(kg.K)]

### Modelica definition

redeclare replaceable function specificEntropy "Return specific entropy" extends Modelica.Icons.Function; input ThermodynamicState state "Thermodynamic state record"; output SpecificEntropy s "Specific entropy"; algorithm s := cp_const*Modelica.Math.log(state.T/T0);// - R_gas*Modelica.Math.log(state.p/reference_p); end specificEntropy;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.enthalpyOfCondensingGas

Enthalpy of steam per unit mass of steam

### Information

Dummy function that returns `0`.

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Temperature | T |  | Temperature [K]

### Outputs

Type | Name | Description
--- | --- | ---
SpecificEnthalpy | h | Steam enthalpy [J/kg]

### Modelica definition

replaceable function enthalpyOfCondensingGas "Enthalpy of steam per unit mass of steam" extends Modelica.Icons.Function; input Temperature T "Temperature"; output SpecificEnthalpy h "Steam enthalpy"; algorithm h := 0; end enthalpyOfCondensingGas;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.saturationPressure

Return saturation pressure of condensing fluid

### Information

Dummy function that returns `0`.

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Temperature | Tsat |  | Saturation temperature [K]

### Outputs

Type | Name | Description
--- | --- | ---
AbsolutePressure | psat | Saturation pressure [Pa]

### Modelica definition

replaceable function saturationPressure "Return saturation pressure of condensing fluid" extends Modelica.Icons.Function; input Temperature Tsat "Saturation temperature"; output AbsolutePressure psat "Saturation pressure"; algorithm psat := 0; end saturationPressure;

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.BaseProperties.InputAbsolutePressure

Pressure as input signal connector

### Modelica definition

connector InputAbsolutePressure = input SI.AbsolutePressure "Pressure as input signal connector";

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.BaseProperties.InputMassFraction

Mass fraction as input signal connector

### Modelica definition

connector InputMassFraction = input SI.MassFraction "Mass fraction as input signal connector";

## Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.BaseProperties.InputSpecificEnthalpy

Specific enthalpy as input signal connector

### Modelica definition

connector InputSpecificEnthalpy = input SI.SpecificEnthalpy "Specific enthalpy as input signal connector";