modelRotaryCompression
Extends from BaseClasses.PartialCompression (Partial model for compression that contains basic definitions used in various compressor models).
Information
This is a model describing the compression process of a rolling piston type rotary (i.e. rotary) compressor. The model is based on a grey-box approach and, therefore, it inherits from AixLib.Fluid.Movers.Compressors.BaseClasses.PartialCompression. Consequently, the model uses three efficiencies that must be redefined by the User:
References
In the following, some general references are given for information about the compression process:
W. Eifler, E. Schlücker, U. Spicher and G. Will (2009): Küttner Kolbenmaschinen: Kolbenpumpen, Kolbenverdichter, Brennkraftmaschinen (in German). Publisher: Vieweg + Teubner
P.C. Hanlon (2011): Compressor Handbook. Publisher: McGraw-Hill
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| General › Geometry | |||
| Modelica.Units.SI.Volume | VDis (from PartialCompression) | 13e-6 | Displacement volume of the compressor |
| Modelica.Units.SI.Efficiency | epsRef (from PartialCompression) | 0.04 | Ratio of the real and the ideal displacement volume |
| General › Compressor's characterisitcs | |||
| Modelica.Units.SI.Frequency | rotSpeMax (from PartialCompression) | 120 | Maximal rotational speed executable by the compressor |
| Real | piPreMax (from PartialCompression) | 15 | Maximal pressure ratio executable by the compressor |
| Transient behaviour | |||
| Boolean | useInpFil (from PartialCompression) | true | = true, if transient behaviour of rotational speed is computed |
| Modelica.Units.SI.Time | risTim (from PartialCompression) | 0.5 | Time until rotational speed reaches 99.6 % of its set value |
| Efficiencies and similitude theory › Engine efficiency | |||
| Boolean | useIseWor (from PartialCompression) | oveEngEff.useIseWor | = true, if overal machanic efficiency is related to isentropic compressor work |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Modelica.Units.SI.PressureDifference | dp_start (from PartialTwoPortTransport) | 0 | Guess value of dp = port_a.p - port_b.p |
| Medium.MassFlowRate | m_flow_start (from PartialTwoPortTransport) | 0 | Guess value of m_flow = port_a.m_flow |
| Medium.MassFlowRate | m_flow_small (from PartialTwoPortTransport) | Small mass flow rate for regularization of zero flow | |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialCompression) | 0.1 | Nominal mass flow rate |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortTransport) | true | = true, if temperatures at port_a and port_b are computed |
| Boolean | show_V_flow (from PartialTwoPortTransport) | true | = true, if volume flow rate at inflowing port is computed |
| Boolean | show_staEff (from PartialCompression) | false | = true, if thermodynamic states and efficiencies are computed |
| Boolean | show_qua (from PartialCompression) | false | = true, if vapour qualities are computed |
| Advanced › Initialisation | |||
| Modelica.Units.SI.Frequency | rotSpe0 (from PartialCompression) | 60 | Compressor's rotational spped at initialisation |
| Modelica.Units.SI.AbsolutePressure | pInl0 (from PartialCompression) | 3e5 | Pressure at compressor's inlet at initialisation |
| Modelica.Units.SI.Temperature | TInl0 (from PartialCompression) | 283.15 | Temperature at compressor's inlet at initialisation |
| Modelica.Units.SI.Density | dInl0 (from PartialCompression) | Medium.density(Medium.setState_pTX(p = pInl0, T = TInl0)) | Density at compressor's inlet at initialisation |
| Modelica.Units.SI.SpecificEnthalpy | hInl0 (from PartialCompression) | Medium.specificEnthalpy(Medium.setState_pTX(p = pInl0, T = TInl0)) | Specific enthalpy at compressor's inlet at initialisation |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | manVarCom (from PartialCompression) | Prescribed compressor's rotational speed | |
| Modelica.Blocks.Interfaces.RealOutput | curManVarCom (from PartialCompression) | Current compressor's rotational speed | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b | heatPort (from PartialCompression) | Heat port connector to calculate heat losses to ambient |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium.MassFlowRate | m_flow (from PartialTwoPortTransport) | Mass flow rate in design flow direction | |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortTransport) | Pressure difference between port_a and port_b (= port_a.p - port_b.p) | |
| Modelica.Units.SI.VolumeFlowRate | V_flow (from PartialTwoPortTransport) | m_flow/Modelica.Fluid.Utilities.regStep(m_flow, Medium.density(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.density(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), m_flow_small) | Volume flow rate at inflowing port (positive when flow from port_a to port_b) |
| Medium.Temperature | port_a_T (from PartialTwoPortTransport) | Modelica.Fluid.Utilities.regStep(port_a.m_flow, Medium.temperature(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_a.p, port_a.h_outflow, port_a.Xi_outflow)), m_flow_small) | Temperature close to port_a, if show_T = true |
| Medium.Temperature | port_b_T (from PartialTwoPortTransport) | Modelica.Fluid.Utilities.regStep(port_b.m_flow, Medium.temperature(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_b.p, port_b.h_outflow, port_b.Xi_outflow)), m_flow_small) | Temperature close to port_b, if show_T = true |
| Modelica.Blocks.Continuous.Filter | filRotSpe (from PartialCompression) | Second order filter to approximate change of compressor's rotational speed | |
| Modelica.Blocks.Routing.RealPassThrough | rotSpeThr (from PartialCompression) | Dummy passing through of compressor's rotational speed to allow usage of filter | |
| EngineEfficiency | oveEngEff (from PartialCompression) | Instance of model 'engine efficiency' | |
| VolumetricEfficiency | oveVolEff (from PartialCompression) | Instance of model 'volumetric efficiency' | |
| IsentropicEfficiency | oveIseEff (from PartialCompression) | Instance of model 'isentropic efficiency' | |
| CompressorStates | comSta (from PartialCompression) | Record containing compressor's thermodynamic states and efficiencies | |
| CompressorQualities | comQua (from PartialCompression) | Record containing compressor's vapour qualities | |
| Modelica.Units.SI.Power | PEle (from PartialCompression) | Compressor's current electrical power consumption | |
| Modelica.Units.SI.Power | Q_flow_ref (from PartialCompression) | Current power transferred to reffrigerant | |
| Modelica.Units.SI.Frequency | rotSpe (from PartialCompression) | Compressor's current rotational speed | |
| Real | piPre (from PartialCompression) | Ratio of compressor's outlet and inlet pressure |
Revisions
- October 20, 2017, by Mirko Engelpracht:
First implementation (see issue 467).