Buildings.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.Media.Interfaces.PartialSimpleIdealGasMedium (Medium model of Ideal gas with constant cp and cv. All other quantities, e.g. transport properties, are constant.).

Package Content

NameDescription
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=101325Pressure for which dStp is defined
dStp=1.2Fluid density at pressure pStp
Buildings.Media.GasesPTDecoupled.SimpleAir.BaseProperties BaseProperties Basic medium properties
Buildings.Media.GasesPTDecoupled.SimpleAir.setState_dTX setState_dTX Return thermodynamic state from d, T, and X or Xi
Buildings.Media.GasesPTDecoupled.SimpleAir.density density return density of ideal gas
Buildings.Media.GasesPTDecoupled.SimpleAir.specificEntropy specificEntropy Return specific entropy
Inherited
cp_constConstant specific heat capacity at constant pressure
cv_const=cp_const - R_gasConstant specific heat capacity at constant volume
R_gasmedium specific gas constant
MM_constMolar mass
eta_constConstant dynamic viscosity
lambda_constConstant thermal conductivity
T_minMinimum temperature valid for medium model
T_maxMaximum temperature valid for medium model
T0=reference_TZero enthalpy temperature
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.ThermodynamicState ThermodynamicState Thermodynamic state of ideal gas
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.FluidConstants FluidConstants fluid constants
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.setState_pTX setState_pTX Return thermodynamic state from p, T, and X or Xi
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.setState_phX setState_phX Return thermodynamic state from p, h, and X or Xi
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.setState_psX setState_psX Return thermodynamic state from p, s, and X or Xi
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.pressure pressure Return pressure of ideal gas
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.temperature temperature Return temperature of ideal gas
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificEnthalpy specificEnthalpy Return specific enthalpy
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificInternalEnergy specificInternalEnergy Return specific internal energy
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificGibbsEnergy specificGibbsEnergy Return specific Gibbs energy
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificHelmholtzEnergy specificHelmholtzEnergy Return specific Helmholtz energy
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.dynamicViscosity dynamicViscosity Return dynamic viscosity
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.thermalConductivity thermalConductivity Return thermal conductivity
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificHeatCapacityCp specificHeatCapacityCp Return specific heat capacity at constant pressure
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificHeatCapacityCv specificHeatCapacityCv Return specific heat capacity at constant volume
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.isentropicExponent isentropicExponent Return isentropic exponent
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.velocityOfSound velocityOfSound Return velocity of sound
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.specificEnthalpy_pTX specificEnthalpy_pTX Return specific enthalpy from p, T, and X or Xi
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.temperature_phX temperature_phX Return temperature from p, h, and X or Xi
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium.density_phX density_phX Return density from p, h, and X or Xi
Modelica.Media.Interfaces.PartialPureSubstance.setState_pT setState_pTReturn thermodynamic state from p and T
Modelica.Media.Interfaces.PartialPureSubstance.setState_ph setState_phReturn thermodynamic state from p and h
Modelica.Media.Interfaces.PartialPureSubstance.setState_ps setState_psReturn thermodynamic state from p and s
Modelica.Media.Interfaces.PartialPureSubstance.setState_dT setState_dTReturn thermodynamic state from d and T
Modelica.Media.Interfaces.PartialPureSubstance.density_ph density_phReturn density from p and h
Modelica.Media.Interfaces.PartialPureSubstance.temperature_ph temperature_phReturn temperature from p and h
Modelica.Media.Interfaces.PartialPureSubstance.pressure_dT pressure_dTReturn pressure from d and T
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_dT specificEnthalpy_dTReturn specific enthalpy from d and T
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_ps specificEnthalpy_psReturn specific enthalpy from p and s
Modelica.Media.Interfaces.PartialPureSubstance.temperature_ps temperature_psReturn temperature from p and s
Modelica.Media.Interfaces.PartialPureSubstance.density_ps density_psReturn density from p and s
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_pT specificEnthalpy_pTReturn specific enthalpy from p and T
Modelica.Media.Interfaces.PartialPureSubstance.density_pT density_pTReturn density from p and T
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=101325Reference pressure of Medium: default 1 atmosphere
reference_T=298.15Reference temperature of Medium: default 25 deg Celsius
reference_X=fill(1/nX, nX)Default mass fractions of medium
p_default=101325Default 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_XDefault value for mass fractions of medium (for initialization)
nS=size(substanceNames, 1)Number of substances
nX=nSNumber of mass fractions
nXi=if fixedX then 0 else if reducedX then nS - 1 else nSNumber of structurally independent mass fractions (see docu for details)
nC=size(extraPropertiesNames, 1)Number of extra (outside of standard mass-balance) transported properties
Modelica.Media.Interfaces.PartialMedium.prandtlNumber prandtlNumberReturn the Prandtl number
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cp heatCapacity_cpalias for deprecated name
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cv heatCapacity_cvalias for deprecated name
Modelica.Media.Interfaces.PartialMedium.isentropicEnthalpy isentropicEnthalpyReturn isentropic enthalpy
Modelica.Media.Interfaces.PartialMedium.isobaricExpansionCoefficient isobaricExpansionCoefficientReturn overall the isobaric expansion coefficient beta
Modelica.Media.Interfaces.PartialMedium.beta betaalias for isobaricExpansionCoefficient for user convenience
Modelica.Media.Interfaces.PartialMedium.isothermalCompressibility isothermalCompressibilityReturn overall the isothermal compressibility factor
Modelica.Media.Interfaces.PartialMedium.kappa kappaalias of isothermalCompressibility for user convenience
Modelica.Media.Interfaces.PartialMedium.density_derp_h density_derp_hReturn density derivative wrt pressure at const specific enthalpy
Modelica.Media.Interfaces.PartialMedium.density_derh_p density_derh_pReturn density derivative wrt specific enthalpy at constant pressure
Modelica.Media.Interfaces.PartialMedium.density_derp_T density_derp_TReturn density derivative wrt pressure at const temperature
Modelica.Media.Interfaces.PartialMedium.density_derT_p density_derT_pReturn density derivative wrt temperature at constant pressure
Modelica.Media.Interfaces.PartialMedium.density_derX density_derXReturn density derivative wrt mass fraction
Modelica.Media.Interfaces.PartialMedium.molarMass molarMassReturn the molar mass of the medium
Modelica.Media.Interfaces.PartialMedium.density_pTX density_pTXReturn density from p, T, and X or Xi
Modelica.Media.Interfaces.PartialMedium.temperature_psX temperature_psXReturn temperature from p,s, and X or Xi
Modelica.Media.Interfaces.PartialMedium.density_psX density_psXReturn density from p, s, and X or Xi
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_psX specificEnthalpy_psXReturn specific enthalpy from p, s, and X or Xi
AbsolutePressureType for absolute pressure with medium specific attributes
DensityType for density with medium specific attributes
DynamicViscosityType for dynamic viscosity with medium specific attributes
EnthalpyFlowRateType for enthalpy flow rate with medium specific attributes
MassFlowRateType for mass flow rate with medium specific attributes
MassFractionType for mass fraction with medium specific attributes
MoleFractionType for mole fraction with medium specific attributes
MolarMassType for molar mass with medium specific attributes
MolarVolumeType for molar volume with medium specific attributes
IsentropicExponentType for isentropic exponent with medium specific attributes
SpecificEnergyType for specific energy with medium specific attributes
SpecificInternalEnergyType for specific internal energy with medium specific attributes
SpecificEnthalpyType for specific enthalpy with medium specific attributes
SpecificEntropyType for specific entropy with medium specific attributes
SpecificHeatCapacityType for specific heat capacity with medium specific attributes
SurfaceTensionType for surface tension with medium specific attributes
TemperatureType for temperature with medium specific attributes
ThermalConductivityType for thermal conductivity with medium specific attributes
PrandtlNumberType for Prandtl number with medium specific attributes
VelocityOfSoundType for velocity of sound with medium specific attributes
ExtraPropertyType for unspecified, mass-specific property transported by flow
CumulativeExtraPropertyType for conserved integral of unspecified, mass specific property
ExtraPropertyFlowRateType for flow rate of unspecified, mass-specific property
IsobaricExpansionCoefficientType for isobaric expansion coefficient with medium specific attributes
DipoleMomentType for dipole moment with medium specific attributes
DerDensityByPressureType for partial derivative of density with resect to pressure with medium specific attributes
DerDensityByEnthalpyType for partial derivative of density with resect to enthalpy with medium specific attributes
DerEnthalpyByPressureType for partial derivative of enthalpy with resect to pressure with medium specific attributes
DerDensityByTemperatureType for partial derivative of density with resect to temperature with medium specific attributes
Modelica.Media.Interfaces.PartialMedium.Choices ChoicesTypes, constants to define menu choices

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.Media.GasesPTDecoupled.SimpleAir.BaseProperties Buildings.Media.GasesPTDecoupled.SimpleAir.BaseProperties

Basic medium properties

Parameters

TypeNameDefaultDescription
BooleanstandardOrderComponentstrueif true, and reducedX = true, the last element of X will be computed from the other ones
Advanced
BooleanpreferredMediumStatesfalse= 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";
   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);
   u = h-R*T;
   R = R_gas;
   //    d = p/(R*T);
   d/dStp = p/pStp;
   MM = MM_const;
   state.T = T;
   state.p = p;
end BaseProperties;

Buildings.Media.GasesPTDecoupled.SimpleAir.setState_dTX Buildings.Media.GasesPTDecoupled.SimpleAir.setState_dTX

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

Inputs

TypeNameDefaultDescription
Densityd density [kg/m3]
TemperatureT Temperature [K]
MassFractionX[:]fill(0, 0)Mass fractions [kg/kg]

Outputs

TypeNameDescription
ThermodynamicStatestate 

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.Media.GasesPTDecoupled.SimpleAir.density Buildings.Media.GasesPTDecoupled.SimpleAir.density

return density of ideal gas

Inputs

TypeNameDefaultDescription
ThermodynamicStatestate thermodynamic state record

Outputs

TypeNameDescription
DensitydDensity [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.Media.GasesPTDecoupled.SimpleAir.specificEntropy Buildings.Media.GasesPTDecoupled.SimpleAir.specificEntropy

Return specific entropy

Inputs

TypeNameDefaultDescription
ThermodynamicStatestate thermodynamic state record

Outputs

TypeNameDescription
SpecificEntropysSpecific 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.Media.GasesPTDecoupled.SimpleAir.BaseProperties.InputAbsolutePressure

Pressure as input signal connector

Modelica definition

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

Buildings.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.Media.GasesPTDecoupled.SimpleAir.BaseProperties.InputSpecificEnthalpy

Specific enthalpy as input signal connector

Modelica definition

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

HTML-documentation generated by Dymola Thu Feb 19 16:53:13 2009.