# 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)