modelCompressorNVarying

Model 0D of a sCO2 compressor

Extends from SolarTherm.Media.CO2.PropCO2.

Information

This compressor is supposed to run on another shaft than the turbine's one. This model is not really satisfying in the off-design calculations: the convergence on the N_compressor is complicated.

The compressor model comes from the thesis of J. Dyreby.

Phi corresponds to the adimensionned mass flow rate and psi to the adimensioned head. Because of the difference in the shaft speed regarding Dyreby's thesis, it is necessary to compensate in the off-design model by the on-design head.

Parameters to integrate in the off-design PB model are:

  • The rotor diameter
  • The actual head (psi_actual)
  • The isentropic efficiency at design point (chosen)

J. J. Dyreby, « Modeling the supercritical carbon dioxide Brayton cycle with recompression », The University of Wisconsin-Madison, 2014. Available at https://sel.me.wisc.edu/publications-theses.shtml

Parameters

TypeNameDefaultDescription
Realeta_comp0.87isentropic efficiency of the compressor
RealPR2.313Pressure ratio
Modelica.SIunits.AbsolutePressurep_out250*10^5outlet pressure
Modelica.SIunits.ThermodynamicTemperatureT_amb273.15 + 40Outlet temperature in Kelvin
RealflowGuess1000
Realphi_opt0.0297035
Realpsi_opt0.461819

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a
Modelica.Fluid.Interfaces.FluidPort_bport_b

Components

TypeNameDefaultDescription
Modelica.Blocks.Types.ExternalCombiTable2DtableIDh_p_s (from PropCO2)Modelica.Blocks.Types.ExternalCombiTable2D(tableName = "Enthalpy", fileName = Modelica.Utilities.Files.loadResource("modelica://SolarTherm/Data/CO2/Props_from_P_S.txt"), table = fill(0.0, 0, 2), smoothness = Modelica.Blocks.Types.Smoothness.LinearSegments)
Modelica.Blocks.Types.ExternalCombiTable2DtableIDd_p_h (from PropCO2)Modelica.Blocks.Types.ExternalCombiTable2D(tableName = "Density", fileName = Modelica.Utilities.Files.loadResource("modelica://SolarTherm/Data/CO2/Props_from_P_H.txt"), table = fill(0.0, 0, 2), smoothness = Modelica.Blocks.Types.Smoothness.LinearSegments)
Modelica.Blocks.Types.ExternalCombiTable2DtableIDT_p_h (from PropCO2)Modelica.Blocks.Types.ExternalCombiTable2D(tableName = "Temperature", fileName = Modelica.Utilities.Files.loadResource("modelica://SolarTherm/Data/CO2/Props_from_P_H.txt"), table = fill(0.0, 0, 2), smoothness = Modelica.Blocks.Types.Smoothness.LinearSegments)
Modelica.Blocks.Types.ExternalCombiTable2DtableIDh_p_T (from PropCO2)Modelica.Blocks.Types.ExternalCombiTable2D(tableName = "Enthalpy", fileName = Modelica.Utilities.Files.loadResource("modelica://SolarTherm/Data/CO2/Props_from_P_T.txt"), table = fill(0.0, 0, 2), smoothness = Modelica.Blocks.Types.Smoothness.LinearSegments)
MedPB.ThermodynamicStatestate_athermodynamic state at the entrance
MedPB.ThermodynamicStatestate_isenthermodynamic state at the end of the isentropic compression
MedPB.ThermodynamicStatestate_bthermodynamic state at the end of the real compresssion
Modelica.SIunits.PowerW_comppower used for compression
SolarTherm.Types.SpecificExergyex_ddestroyed exergy
Modelica.SIunits.SpecificEntropys_entranceexergy at the entrance of the compressor
Reald_entrance
Realdiam_rotor
RealtipSpeed
RealN_compressor

Contents

NameDescription
MedPB