packageTemplateHybridTwoPhaseMediumFormula
Extends from AixLib.Media.Refrigerants.Interfaces.PartialHybridTwoPhaseMediumFormula (Base class for two phase medium using a hybrid approach without records).
Information
This package is a template for new refrigerant models using a hybrid approach based on the "Fast_Propane" model developed by Sangi et al. (for detailed information, please checkout AixLib.Media.Refrigerants.Interfaces.PartialHybridTwoPhaseMediumFormula ). For a new refrigerant model just make a copy of this package, remove the "partial" keyword from the package and provide the information that is requested in the comments of the Modelica code. The following information is requested:
- Fluid constants: Provide basic information of the refrigerant and add the reference.
- Basic information: Provide basic information like the refrigerant name and its valid fluid limits in terms of different thermodynamic state properties.
- Base properties: Provide information about the refrigerant's base properties like the relation between specific enthalpy, specific internal energy, pressure and density.
- Helmholtz EoS: Provide the formulas of the Helmholtz equation of state.
- Saturation state properties: Provide the formulas of the saturation properties.
- Further thermodynamic properties: Provide formulas for further thermodynamic properties like the thermal conductivity or surface tension.
- Fitted state properties: Provide the formulas of ther further state properties.
A refrigerant package inherits from PartialHybridTwoPhaseMediumFormula and provides the equations for the refrigerant. Moreover, the PartialHybridTwoPhaseMedium package inherits from PartialMedium and, therefore, the details of this package are described in Modelica.Media.UsersGuide .
References
Sangi, Roozbeh; Jahangiri, Pooyan; Klasing, Freerk; Streblow, Rita; Müller, Dirk (2014): A Medium Model for the Refrigerant Propane for Fast and Accurate Dynamic Simulations. In: The 10th International Modelica Conference. Lund, Sweden, March 10-12, 2014: Linköping University Electronic Press (Linköping Electronic Conference Proceedings), S. 1271–1275
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Media.Interfaces.PartialTwoPhaseMedium.FluidConstants | refrigerantConstants | Thermodynamic constants for refrigerant | |
| Modelica.Media.Interfaces.Choices.IndependentVariables | ThermoStates (from PartialMedium) | Enumeration type for independent variables | |
| String | mediumName (from PartialMedium) | "unusablePartialMedium" | Name of the medium |
| String[:] | substanceNames (from PartialMedium) | {mediumName} | Names of the mixture substances. Set substanceNames={mediumName} if only one substance. |
| String[:] | extraPropertiesNames (from PartialMedium) | fill("", 0) | Names of the additional (extra) transported properties. Set extraPropertiesNames=fill("",0) if unused |
| Boolean | singleState (from PartialMedium) | = true, if u and d are not a function of pressure | |
| Boolean | reducedX (from PartialMedium) | true | = true, if medium contains the equation sum(X) = 1.0; set reducedX=true, if only one substance (see docu for details) |
| Boolean | fixedX (from PartialMedium) | false | = true, if medium contains the equation X = reference_X |
| AbsolutePressure | reference_p (from PartialMedium) | 101325 | Reference pressure of Medium: default 1 atmosphere |
| Temperature | reference_T (from PartialMedium) | 298.15 | Reference temperature of Medium: default 25 deg Celsius |
| MassFraction[nX] | reference_X (from PartialMedium) | fill(1/nX, nX) | Default mass fractions of medium |
| AbsolutePressure | p_default (from PartialMedium) | 101325 | Default value for pressure of medium (for initialization) |
| Temperature | T_default (from PartialMedium) | Modelica.Units.Conversions.from_degC(20) | Default value for temperature of medium (for initialization) |
| SpecificEnthalpy | h_default (from PartialMedium) | specificEnthalpy_pTX(p_default, T_default, X_default) | Default value for specific enthalpy of medium (for initialization) |
| MassFraction[nX] | X_default (from PartialMedium) | reference_X | Default value for mass fractions of medium (for initialization) |
| ExtraProperty[nC] | C_default (from PartialMedium) | fill(0, nC) | Default value for trace substances of medium (for initialization) |
| Integer | nS (from PartialMedium) | size(substanceNames, 1) | Number of substances |
| Integer | nX (from PartialMedium) | nS | Number of mass fractions |
| Integer | nXi (from PartialMedium) | if fixedX then 0 else if reducedX then nS - 1 else nS | Number of structurally independent mass fractions (see docu for details) |
| Integer | nC (from PartialMedium) | size(extraPropertiesNames, 1) | Number of extra (outside of standard mass-balance) transported properties |
| Real[nC] | C_nominal (from PartialMedium) | 1.0e-6*ones(nC) | Default for the nominal values for the extra properties |
| Boolean | smoothModel (from PartialTwoPhaseMedium) | false | = true, if the (derived) model should not generate state events |
| Boolean | onePhase (from PartialTwoPhaseMedium) | false | = true, if the (derived) model should never be called with two-phase inputs |
| FluidConstants | fluidConstants (from PartialTwoPhaseMedium) | Constant data for the fluid |
Contents
| Name | Description |
|---|---|
| SmoothTransition | Record that contains ranges to calculate a smooth transition between different regions |
| f_Idg | Dimensionless Helmholtz energy (Ideal gas contribution f_Idg) |
| f_Res | Dimensionless Helmholtz energy (Residual part alpha_r) |
| t_fIdg_t | Short form for tau*(dalpha_0/dtau)_delta=const |
| tt_fIdg_tt | Short form for tau*tau*(ddalpha_0/(dtau*dtau))_delta=const |
| t_fRes_t | Short form for tau*(dalpha_r/dtau)_delta=const |
| tt_fRes_tt | Short form for tau*tau*(ddalpha_r/(dtau*dtau))_delta=const |
| d_fRes_d | Short form for delta*(dalpha_r/(ddelta))_tau=const |
| dd_fRes_dd | Short form for delta*delta(ddalpha_r/(ddelta*delta))_tau=const |
| td_fRes_td | Short form for tau*delta*(ddalpha_r/(dtau*ddelta)) |
| ttt_fIdg_ttt | Short form for tau*tau*tau*(dddalpha_0/(dtau*dtau*dtau))_delta=const |
| ttt_fRes_ttt | Short form for tau*tau*tau*(dddalpha_r/(dtau*dtau*dtau))_delta=const |
| ddd_fRes_ddd | Short form for delta*delta*delta* (dddalpha_r/(ddelta*ddelta*ddelta))_tau=const |
| tdd_fRes_tdd | Short form for tau*delta*delta*(dddalpha_r/(dtau*ddelta*ddelta)) |
| ttd_fRes_ttd | Short form for tau*tau*delta*(dddalpha_r/(dtau*dtau*ddelta)) |
| Saturation pressure of refrigerant (Ancillary equation) | |
| Saturation temperature of refrigerant (Ancillary equation) | |
| Boiling curve specific density of refrigerant (Ancillary equation) | |
| Dew curve specific density of refrigerant (Ancillary equation) | |
| Boiling curve specific enthalpy of refrigerant (Ancillary equation) | |
| Dew curve specific enthalpy of refrigerant (Ancillary equation) | |
| Boiling curve specific entropy of refrigerant (Ancillary equation) | |
| Dew curve specific entropy of propane (Ancillary equation) | |
| Calculates temperature as function of pressure and specific enthalpy | |
| Calculates temperature as function of pressure and specific entroy | |
| Computes density as a function of pressure and temperature | |
| Calculates dynamic viscosity of refrigerant | |
| Calculates thermal conductivity of refrigerant | |
| Surface tension in two phase region of refrigerant |
Revisions
- June 6, 2017, by Mirko Engelpracht, Christian Vering:
First implementation (see issue 408).