modelModularCompressors
Model of simple modular compressors
Extends from BaseClasses.PartialModularCompressors (Base model for all modular compressor models).
Information
This is a model of modular compressors that are used, for example, in
close-loop systems like heat pumps or chillers.
It consists of nCom compressors in parallel and also
nCom PID conrollers if no external controller is used.
Modeling approaches
This base model mainly consists of two sub-models. Therefore, please checkout these sub-models for further information of underlying modeling approaches and parameterisation:
- AixLib.Fluid.Movers.Compressors.BaseClasses.PartialCompressor.
- AixLib.Controls.HeatPump.ModularHeatPumps.ModularCompressorController.
The first sub-model describes a simple compressor that is defined in AixLib.Fluid.Movers.Compressors.SimpleCompressors; the second sub-model describes the internal controller model.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| General › Modular approach | |||
| Integer | nCom (from PartialModularCompressors) | 1 | Number of compressors in parallel |
| Compressors › Geometry | |||
| Modelica.Units.SI.Volume[nCom] | VDis (from PartialModularCompressors) | fill(13e-6, nCom) | Displacement volume of the compressor |
| Modelica.Units.SI.Efficiency[nCom] | epsRef (from PartialModularCompressors) | fill(0.04, nCom) | Ratio of the real and the ideal displacement volume |
| Modelica.Units.SI.Diameter[nCom] | diameterInl (from PartialModularCompressors) | fill(12e-3, nCom) | Diameter of the pipe at compressor's inlet |
| Modelica.Units.SI.Diameter[nCom] | diameterOut (from PartialModularCompressors) | fill(8e-3, nCom) | Diameter of the pipe at compressor's outlet |
| Compressors › Compressor's characterisitcs | |||
| Modelica.Units.SI.Frequency[nCom] | rotSpeMax (from PartialModularCompressors) | fill(120, nCom) | Maximal rotational speed executable by the compressor |
| Real[nCom] | piPreMax (from PartialModularCompressors) | fill(15, nCom) | Maximal pressure ratio executable by the compressor |
| Compressors › Transient behaviour | |||
| Boolean[nCom] | useInpFil (from PartialModularCompressors) | fill(true, nCom) | = true, if transient behaviour of rotational speed is computed |
| Modelica.Units.SI.Time[nCom] | risTim (from PartialModularCompressors) | fill(0.5, nCom) | Time until rotational speed reaches 99.6 % of its set value |
| Controller › Base setup | |||
| Boolean | useExt (from PartialModularCompressors) | true | = true, if external signal is used instead of internal controllers |
| Modelica.Blocks.Types.SimpleController[nCom] | controllerType (from PartialModularCompressors) | fill(Modelica.Blocks.Types.SimpleController.PID, nCom) | Type of controller |
| Boolean[nCom] | reverseAction (from PartialModularCompressors) | fill(false, nCom) | = true, if medium flow rate is throttled through cooling coil controller |
| AixLib.Types.Reset[nCom] | reset (from PartialModularCompressors) | fill(AixLib.Types.Reset.Disabled, nCom) | Type of controller output reset |
| Controller › PID setup | |||
| Real[nCom] | k (from PartialModularCompressors) | fill(1, nCom) | Gain of controller |
| Modelica.Units.SI.Time[nCom] | Ti (from PartialModularCompressors) | fill(0.5, nCom) | Time constant of integrator block |
| Real[nCom] | Ni (from PartialModularCompressors) | fill(0.9, nCom) | Ni*Ti is time constant of anti-windup compensation |
| Modelica.Units.SI.Time[nCom] | Td (from PartialModularCompressors) | fill(0.1, nCom) | Time constant of derivative block |
| Real[nCom] | Nd (from PartialModularCompressors) | fill(10, nCom) | The higher Nd, the more ideal the derivative block |
| Controller › Weighting and limits | |||
| Real[nCom] | wp (from PartialModularCompressors) | fill(1, nCom) | Set-point weight for Proportional block (0..1) |
| Real[nCom] | wd (from PartialModularCompressors) | fill(0, nCom) | Set-point weight for Derivative block (0..1) |
| Real[nCom] | yMax (from PartialModularCompressors) | fill(1, nCom) | Upper limit of output |
| Real[nCom] | yMin (from PartialModularCompressors) | fill(0, nCom) | Lower limit of output |
| Pressure and heat losses › Pressure losses - General | |||
| Real[nCom] | zetInl (from PartialModularCompressors) | {((1/0.59 - 1)^2 + (1 - (diameterInl[i]/0.066)^2))*(1 - (diameterInl[i]/0.066)^2) for i in 1:nCom} | Pressure loss factor at compressor's inlet for flow of port_a -> port_b |
| Real[nCom] | zetOut (from PartialModularCompressors) | {((1/0.59 - 1)^2 + (1 - (diameterOut[i]/0.1122)^2))*(1 - (diameterOut[i]/0.1122)^2) for i in 1:nCom} | Pressure loss factor at compressor's outlet for flow of port_a -> port_b |
| Pressure and heat losses › Pressure losses - Advanced | |||
| Boolean[nCom] | from_dp (from PartialModularCompressors) | fill(false, nCom) | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean[nCom] | homotopyInitialization (from PartialModularCompressors) | fill(true, nCom) | = true, use homotopy method for initialisation |
| Boolean[nCom] | linearized (from PartialModularCompressors) | fill(false, nCom) | = true, use linear relation between m_flow and dp for any flow rate |
| Pressure and heat losses › Heat losses - General | |||
| Utilities.Types.HeatTransferModels[nCom] | heaTraMod (from PartialModularCompressors) | fill(Utilities.Types.HeatTransferModels.Simplified, nCom) | Choose heat transfer model for heat losses at compressor's inlet and outlet |
| Pressure and heat losses › Heat losses - Geometry | |||
| Modelica.Units.SI.Mass[nCom] | mWal (from PartialModularCompressors) | fill(2.5, nCom) | Mass of the fictitious wall |
| Modelica.Units.SI.SpecificHeatCapacity[nCom] | cpWal (from PartialModularCompressors) | fill(450, nCom) | Specific heat capacity of the fictitious wall |
| Pressure and heat losses › Heat losses - Thermal conductances | |||
| Modelica.Units.SI.ThermalConductance[nCom] | kAMeaInl (from PartialModularCompressors) | fill(25, nCom) | Effective mean thermal conductance between medium and fictitious wall at inlet |
| Modelica.Units.SI.ThermalConductance[nCom] | kAMeaOut (from PartialModularCompressors) | fill(35, nCom) | Effective mean thermal conductance between medium and fictitious wall at outlet |
| Modelica.Units.SI.ThermalConductance[nCom] | kAMeaAmb (from PartialModularCompressors) | fill(10, nCom) | Effective mean thermal conductance coefficient between fictitious wall and ambient |
| Pressure and heat losses › Heat losses - Initialisation | |||
| Boolean[nCom] | iniTWal0 (from PartialModularCompressors) | fill(true, nCom) | = true, if wall is initialised at fixed temperature; Otherwise, steady state initialisation |
| Modelica.Units.SI.Temperature[nCom] | TWal0 (from PartialModularCompressors) | fill(293.15, nCom) | Temperature of wall at initialisation |
| Advanced › General | |||
| Modelica.Units.SI.PressureDifference | dp_start (from PartialModularCompressors) | -20e5 | Guess value of compressor's dp = port_a.p - port_b.p |
| Medium.MassFlowRate | m_flow_start (from PartialModularCompressors) | 0.5*m_flow_nominal | Guess value of compressor's m_flow = port_a.m_flowr |
| Medium.MassFlowRate | m_flow_small (from PartialModularCompressors) | 1e-6*m_flow_nominal | Small mass flow rate for regularization of compressor's zero flow |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialModularCompressors) | 0.1 | Nominal mass flow rate |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialModularCompressors) | false | = true, if compressor's temperatures at port_a and port_b are computed |
| Boolean | show_V_flow (from PartialModularCompressors) | false | = true, if compressor's volume flow rate at inflowing port is computed |
| Boolean | show_staEff (from PartialModularCompressors) | false | = true, if thermodynamic states and efficiencies are computed |
| Boolean | show_qua (from PartialModularCompressors) | false | = true, if vapour qualities are computed |
| Boolean | show_parCom (from PartialModularCompressors) | true | = true, if compressors' input parameters are shown in results |
| Boolean | show_parCon (from PartialModularCompressors) | true | = true, if controller's input parameters are shown in results |
| Advanced › Initialisation | |||
| Modelica.Units.SI.Frequency[nCom] | rotSpe0 (from PartialModularCompressors) | fill(60, nCom) | Compressor's rotational spped at initialisation |
| Modelica.Units.SI.AbsolutePressure[nCom] | pInl0 (from PartialModularCompressors) | fill(3e5, nCom) | Pressure at compressor's inlet at initialisation |
| Modelica.Units.SI.Temperature[nCom] | TInl0 (from PartialModularCompressors) | fill(283.15, nCom) | Temperature at compressor's inlet at initialisation |
| Advanced › Initialisation Controller | |||
| Modelica.Blocks.Types.Init[nCom] | initType (from PartialModularCompressors) | fill(Modelica.Blocks.Types.Init.InitialState, nCom) | Init: (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Real[nCom] | xi_start (from PartialModularCompressors) | fill(0, nCom) | Initial or guess value value for integrator output (= integrator state) |
| Real[nCom] | xd_start (from PartialModularCompressors) | fill(0, nCom) | Initial or guess value for state of derivative block |
| Real[nCom] | y_start (from PartialModularCompressors) | fill(0, nCom) | Initial value of output |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialModularCompressors) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialModularCompressors) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialModularCompressors) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b[nCom] | heatPort (from PartialModularCompressors) | Heat port for compressors' heat losses | |
| Controls.Interfaces.ModularHeatPumpControlBus | dataBus (from PartialModularCompressors) | Connector that contains all relevant control signals |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SimpleCompressor[nCom] | modCom (from PartialModularCompressors) | Array of compressor models in parallel | |
| ModularController | modCon (from PartialModularCompressors) | Model of internal controller |
Revisions
- October 20, 2017, by Mirko Engelpracht:
First implementation (see issue 467).