Compressor models

class PythonModel.compressors.ReciprocatingCompressor(parameters)

Bases: object

Object for reciprocating compressor model based on Jin (2002): H. Jin. Parameter estimation based models of water source heat pumps. PhD Thesis. Oklahoma State University. Stillwater, Oklahoma, USA. 2012.

Parameters
  • pisDis – Piston displacement (m3/s).

  • cleFac – Clearance factor (-).

  • etaEle – Electro-mechanical efficiency (-).

  • PLos – Constant part of the power losses (W).

  • pDro – Pressure drop at compressor suction and discharge (Pa).

  • dTSup – Degree of superheating (K).

get_DischargePressure(pCon)

Evaluate the discharge pressure (Pa).

Parameters

pCon – Condensing pressure (Pa).

Returns

Discharge pressure (Pa).

Usage: Type
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> '%.1f' % com.get_DischargePressure(1.879e6)
'1978290.0'
get_Power(vSuc, ref, pDis, pSuc, TSuc, **kargs)

Evaluate the power input to the compressor.

Parameters
  • vSuv – Suction specific volume (m3/kg).

  • ref – Refrigerant model.

  • pDis – Discharge pressure (Pa).

  • pSuc – Suction pressure (Pa).

  • TSuc – Suction temperature (K).

Returns

Power input to the compressor (W).

Usage: Type
>>> import refrigerants
>>> ref = refrigerants.R410A()
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> '%.2f' % com.get_Power(0.0288, ref, 1978290.0, 983710.0, 292.97)
'1765.63'
get_RefrigerantMassFlowRate(vSuc, ref, pDis, pSuc, TSuc, **kargs)

Evaluate the refrigerant mass flow rate.

Parameters
  • vSuv – Suction specific volume (m3/kg).

  • ref – Refrigerant model.

  • pDis – Discharge pressure (Pa).

  • pSuc – Suction pressure (Pa).

  • TSuc – Suction temperature (K).

Returns

Refrigerant mass flow rate (kg/s).

Usage: Type
>>> import refrigerants
>>> ref = refrigerants.R410A()
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> '%.8f' % com.get_RefrigerantMassFlowRate(0.0288, ref, 1978290.0, 983710.0, 292.97)
'0.05358166'
get_SuctionPressure(pEva)

Evaluate the suction pressure.

Parameters

pEva – Evaporating pressure (Pa).

Returns

Suction pressure (Pa).

Usage: Type
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> '%.1f' % com.get_SuctionPressure(1.083e6)
'983710.0'
get_SuctionTemperature(TEva)

Evaluate the suction temperature.

Parameters

TEva – Evaporating temperature (K).

Returns

Suction temperature (K).

Usage: Type
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> '%.2f' % com.get_SuctionTemperature(283.15)
'292.97'
initialGuessParameters(Q_nominal, P_nominal, TSou_nominal, TLoa_nominal, ref, CoolingMode)

Initialize guess parameters for calibration of the heat pump model.

Parameters
  • Q_nominal – Nominal heat pump capacity (W).

  • P_nominal – Nominal power input (W).

  • TSou_nominal – Source-side water temperature at nominal conditions (K).

  • TLoa_nominal – Load-side water temperature at nominal conditions (K).

  • ref – Refrigerant model.

  • CoolingMode – Boolean, True if heat pump is in cooling mode.

Returns

A list of parameters to the compressor model, a list of tuples of the bounds of the parameters (min, max) for the calibration routine.

modelicaModelPath()
Returns the full path to the compressor model in the Buildings

library.

Returns

Full path to the compressor model in the IBPSA library.

Usage: Type
>>> com = ReciprocatingCompressor([0.00162, 0.069, 0.696, 100.0, 99.29e3, 9.82])
>>> com.modelicaModelPath()
'IBPSA.Fluid.HeatPumps.Compressors.ReciprocatingCompressor'
printParameters()

Prints the value of the model parameters.

reinitializeParameters(parameters)

Reinitializes the compressor using new parameters.

Parameters
  • pisDis – Piston displacement (m3/s).

  • cleFac – Clearance factor (-).

  • etaEle – Electro-mechanical efficiency (-).

  • PLos – Constant part of the power losses (W).

  • pDro – Pressure drop at compressor suction and discharge (Pa).

  • dTSup – Degree of superheating (K).

class PythonModel.compressors.ScrollCompressor(parameters)

Bases: object

Object for scroll compressor model based on Jin (2002): H. Jin. Parameter estimation based models of water source heat pumps. PhD Thesis. Oklahoma State University. Stillwater, Oklahoma, USA. 2012.

Parameters
  • volRat – Volume ratio (-).

  • v_flow – Nominal Volume flow rate (m3/s).

  • leaCoe – LEakage coefficient (kg/s).

  • etaEle – Electro-mechanical efficiency (-).

  • PLos – Constant part of the power losses (W).

  • dTSup – Degree of superheating (K).

get_DischargePressure(pCon)

Evaluate the discharge pressure (Pa).

Parameters

pCon – Condensing pressure (Pa).

Returns

Discharge pressure (Pa).

Usage: Type
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> '%.1f' % com.get_DischargePressure(1.879e6)
'1879000.0'
get_Power(vSuc, ref, pDis, pSuc, TSuc)

Evaluate the power input to the compressor.

Parameters
  • vSuv – Suction specific volume (m3/kg).

  • ref – Refrigerant model.

  • pDis – Discharge pressure (Pa).

  • pSuc – Suction pressure (Pa).

  • TSuc – Suction temperature (K).

Returns

Power input to the compressor (W).

Usage: Type
>>> import refrigerants
>>> ref = refrigerants.R410A()
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> '%.2f' % com.get_Power(0.025, ref, 1.879e6, 1.083e6, 289.64)
'2940.26'
get_RefrigerantMassFlowRate(vSuc, pDis, pSuc, **kargs)

Evaluate the refrigerant mass flow rate.

Parameters
  • vSuv – Suction specific volume (m3/kg).

  • pDis – Discharge pressure (Pa).

  • pSuc – Suction pressure (Pa).

  • TSuc – Suction temperature (K).

Returns

Refrigerant mass flow rate (kg/s).

Usage: Type
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> '%.6f' % com.get_RefrigerantMassFlowRate(0.025, 1.879e6, 1.083e6)
'0.107687'
get_SuctionPressure(pEva)

Evaluate the suction pressure.

Parameters

pEva – Evaporating pressure (Pa).

Returns

Suction pressure (Pa).

Usage: Type
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> '%.1f' % com.get_SuctionPressure(1.083e6)
'1083000.0'
get_SuctionTemperature(TEva)

Evaluate the suction temperature.

Parameters

TEva – Evaporating temperature (K).

Returns

Suction temperature (K).

Usage: Type
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> '%.2f' % com.get_SuctionTemperature(283.15)
'289.64'
initialGuessParameters(Q_nominal, P_nominal, TSou_nominal, TLoa_nominal, ref, CoolingMode)

Initialize guess parameters for calibration of the heat pump model.

Parameters
  • Q_nominal – Nominal heat pump capacity (W).

  • P_nominal – Nominal power input (W).

  • TSou_nominal – Source-side water temperature at nominal conditions (K).

  • TLoa_nominal – Load-side water temperature at nominal conditions (K).

  • ref – Refrigerant model.

  • CoolingMode – Boolean, True if heat pump is in cooling mode.

Returns

A list of parameters to the compressor model, a list of tuples of the bounds of the parameters (min, max) for the calibration routine.

modelicaModelPath()
Returns the full path to the compressor model in the Buildings

library.

Returns

Full path to the compressor model in the IBPSA library.

Usage: Type
>>> com = ScrollCompressor([2.362, 0.00287, 0.0041, 0.922, 398.7, 6.49])
>>> com.modelicaModelPath()
'IBPSA.Fluid.HeatPumps.Compressors.ScrollCompressor'
printParameters()

Prints the value of the model parameters.

reinitializeParameters(parameters)

Reinitializes the compressor using new parameters.

Parameters
  • volRat – Volume ratio (-).

  • v_flow – Nominal Volume flow rate (m3/s).

  • leaCoe – LEakage coefficient (kg/s).

  • etaEle – Electro-mechanical efficiency (-).

  • PLos – Constant part of the power losses (W).

  • dTSup – Degree of superheating (K).

set_ModelicaParameters(simulator, suffix='')

Set parameter values for simulation in dymola.

Parameters
  • simulator – Simulator object (BuildinsPy)

  • suffix – String to add at the end of parameter names.

Returns

Simulator object (BuildingsPy)