Extends from Modelica.Icons.Library (Icon for library).
| Name | Description |
|---|---|
| Ideal gas air medium model | |
| Ideal gas flue gas model | |
| air and steam mixture (no condensation!, pseudo-mixture) | |
| Test IdealGas.SingleMedia.N2 medium model | |
| Test interfaces of media | |
| Test IdealGas.SingleMedia.N2 medium model |
Modelica.Media.Examples.TestOnly.MixIdealGasAir
An example for using ideal gas properties and how to compute isentropic enthalpy changes. The function that is implemented is approximate, but usually very good: the second medium record medium2 is given to compare the approximation.
Extends from Modelica.Icons.Example (Icon for an example model).
model MixIdealGasAir "Ideal gas air medium model"
extends Modelica.Icons.Example;
package Medium = IdealGases.MixtureGases.CombustionAir "Medium model";
Medium.BaseProperties medium(
T(start = 200.0),
X(start = {0.2,0.8}),
p(start = 1.0e5));
Medium.BaseProperties medium2(
T(start = 300.0),
X(start = {0.2,0.8}),
p(start = 2.0e5));
Medium.SpecificHeatCapacity cp=Medium.specificHeatCapacityCp(medium.state);
Medium.SpecificHeatCapacity cv=Medium.specificHeatCapacityCv(medium.state);
Medium.IsentropicExponent gamma=Medium.isentropicExponent(medium.state);
Medium.SpecificEntropy s=Medium.specificEntropy(medium.state);
Medium.SpecificEntropy s2=Medium.specificEntropy(medium2.state);
Medium.VelocityOfSound a=Medium.velocityOfSound(medium.state);
Medium.DynamicViscosity eta= Medium.dynamicViscosity(medium.state);
Medium.ThermalConductivity lambda= Medium.thermalConductivity(medium.state);
Real beta = Medium.isobaricExpansionCoefficient(medium.state);
Real gamma2 = Medium.isothermalCompressibility(medium2.state);
Medium.SpecificEnthalpy h_is = Medium.isentropicEnthalpyApproximation(2.0e5, medium);
equation
der(medium.p) = 1000.0;
der(medium.T) = 1000;
medium.X = {0.2,0.8};
der(medium2.p) = 1.0e3;
der(medium2.T) = 0.0;
der(medium2.X) = {0.0,0.0};
// s2 = s;
end MixIdealGasAir;
Modelica.Media.Examples.TestOnly.FlueGas
An example for using ideal gas properties and how to compute isentropic enthalpy changes. The function that is implemented is approximate, but usually very good: the second medium record medium2 is given to compare the approximation.
Extends from Modelica.Icons.Example (Icon for an example model).
| Type | Name | Default | Description |
|---|---|---|---|
| MolarMass | MMx[4] | Medium.data.MM | Molar masses of flue gas [kg/mol] |
model FlueGas "Ideal gas flue gas model"
extends Modelica.Icons.Example;
package Medium = IdealGases.MixtureGases.FlueGasLambdaOnePlus "Medium model";
Medium.ThermodynamicState state(
T(start = 200.0),
X(start = {0.2,0.3,0.4,0.1}),
p(start = 1.0e5));
Medium.BaseProperties medium2(
T(start = 300.0),
X(start = {0.2,0.1,0.3,0.4}),
p(start = 2.0e5));
Medium.SpecificHeatCapacity cp=Medium.specificHeatCapacityCp(state);
Medium.SpecificHeatCapacity cv=Medium.specificHeatCapacityCv(state);
Medium.IsentropicExponent gamma=Medium.isentropicExponent(state);
Medium.SpecificEntropy s=Medium.specificEntropy(state);
Medium.SpecificEntropy s2=Medium.specificEntropy(medium2.state);
Medium.VelocityOfSound a=Medium.velocityOfSound(state);
Real beta = Medium.isobaricExpansionCoefficient(state);
Real gamma2 = Medium.isothermalCompressibility(medium2.state);
Medium.SpecificEnthalpy h_is = Medium.isentropicEnthalpyApproximation(2.0e5, medium2);
parameter Medium.MolarMass[4] MMx = Medium.data.MM "Molar masses of flue gas";
Medium.MolarMass MM = 1/sum(state.X[j]/MMx[j] for j in 1:4) "molar mass";
Real[4] dddX=Medium.density_derX(medium2.state);
equation
der(state.p) = 1000.0;
der(state.T) = 1000;
state.X = {0.2,0.2,0.4,0.2};
der(medium2.p) = 1.0e3;
der(medium2.T) = 0.0;
der(medium2.X[1:Medium.nX]) = {0.0,0.0,0.0,0.0};
end FlueGas;
Modelica.Media.Examples.TestOnly.IdealGasN2
Extends from Modelica.Icons.Example (Icon for an example model).
| Type | Name | Default | Description |
|---|---|---|---|
| Volume | V | 1 | Size of fixed volume [m3] |
| MassFlowRate | m_flow_ext | 0.01 | Mass flow rate into volume [kg/s] |
| EnthalpyFlowRate | H_flow_ext | 5000 | Enthalpy flow rate into volume [W] |
model IdealGasN2 "Test IdealGas.SingleMedia.N2 medium model"
extends Modelica.Icons.Example;
parameter Modelica.SIunits.Volume V=1 "Size of fixed volume";
parameter Medium.MassFlowRate m_flow_ext=0.01 "Mass flow rate into volume";
parameter Medium.EnthalpyFlowRate H_flow_ext=5000
"Enthalpy flow rate into volume";
package Medium = IdealGases.SingleGases.N2 "Medium model";
// initType=Medium.Choices.Init.SteadyState,
Medium.BaseProperties medium(preferredMediumStates=true,
p(start=1.e5),
T(start=300));
Real m(quantity=Medium.mediumName, start = 1.0);
SI.InternalEnergy U;
Medium.SpecificHeatCapacity cp=Medium.specificHeatCapacityCp(medium);
Medium.SpecificHeatCapacity cv=Medium.specificHeatCapacityCv(medium);
Medium.IsentropicExponent gamma=Medium.isentropicExponent(medium);
Medium.SpecificEntropy s=Medium.specificEntropy(medium);
Medium.VelocityOfSound a=Medium.velocityOfSound(medium);
equation
m = medium.d*V;
U = m*medium.u;
// Mass balance
der(m) = m_flow_ext;
// Energy balance
der(U) = H_flow_ext;
end IdealGasN2;
Modelica.Media.Examples.TestOnly.IdealGasN2Mix
Extends from Modelica.Icons.Example (Icon for an example model).
| Type | Name | Default | Description |
|---|---|---|---|
| Volume | V | 1 | Size of volume [m3] |
| MassFlowRate | m_flow_ext | 0.01 | Mass flow rate flowing into volume [kg/s] |
| EnthalpyFlowRate | H_flow_ext | 5000 | Enthalpy flow rate flowing into volume [W] |
model IdealGasN2Mix "Test IdealGas.SingleMedia.N2 medium model"
extends Modelica.Icons.Example;
parameter Modelica.SIunits.Volume V=1 "Size of volume";
parameter Medium.MassFlowRate m_flow_ext=0.01
"Mass flow rate flowing into volume";
parameter Medium.EnthalpyFlowRate H_flow_ext=5000
"Enthalpy flow rate flowing into volume";
package Medium = N2AsMix "Medium model";
// initType=Medium.Choices.Init.SteadyState,
Medium.BaseProperties medium(preferredMediumStates=true,
p(start=1.e5),
T(start=300));
Real m(quantity=Medium.mediumName, start = 1.0);
SI.InternalEnergy U;
Medium.SpecificHeatCapacity cp=Medium.specificHeatCapacityCp(medium);
Medium.SpecificHeatCapacity cv=Medium.specificHeatCapacityCv(medium);
Medium.IsentropicExponent gamma=Medium.isentropicExponent(medium);
Medium.SpecificEntropy s=Medium.specificEntropy(medium);
Medium.VelocityOfSound a=Medium.velocityOfSound(medium);
equation
m = medium.d*V;
U = m*medium.u;
medium.X = {1.0};
// Mass balance
der(m) = m_flow_ext;
// Energy balance
der(U) = H_flow_ext;
end IdealGasN2Mix;