chiller.py

class openconcept.thermal.chiller.LinearSelector(**kwargs)

Bases: ExplicitComponent

Averages thermal parameters given bypass

Inputs:
  • T_in_hot (float) – Incoming coolant temperature on the hot side (vector, K)

  • T_in_cold (float) – Incoming coolant temperature on the cold side (vector, K)

  • T_out_refrig_cold (float) – Coolant temperature in chiller outlet on the cold side (vector, K)

  • T_out_refrig_hot (float) – Coolant temperature in chiller outlet on the hot side (vector, K)

  • power_rating (float) – Rated electric power (scalar, W)

  • bypass (float) – Bypass parameter in range 0 - 1 (inclusive); 0 represents full refrig and no bypass, 1 all bypass no refrig (vector, None)

Outputs:
  • T_out_cold (float) – Outgoing coolant temperature on the cold side (vector, K)

  • T_out_hot (float) – Outgoing coolant temperature on the hot side (vector, K)

  • elec_load (float) – Electrical load (vector, W)

Options:

num_nodes (int) – The number of analysis points to run

class openconcept.thermal.chiller.COPHeatPump(**kwargs)

Bases: ExplicitComponent

Models heat transfer to coolant loop assuming zero thermal resistance.

Inputs:
  • COP (float) – Coeff of performance set by optimizer (vector, dimensionless)

  • power_rating (float) – Shaft work in the refrigerator (scalar, W)

Outputs:
  • q_in_1 (float) – Heat transfer rate INTO side 1 (vector, W)

  • q_in_2 (float) – Heat transfer rate INTO side 2 (vector, W)

Options:

num_nodes (int) – Number of analysis points to run (scalar, default 1)

class openconcept.thermal.chiller.HeatPumpWeight(**kwargs)

Bases: ExplicitComponent

Computes weight and power metrics for the vapor cycle machine. Defaults based on limited published data and guesswork.

Inputs:
  • power_rating (float) – Rated electric power (scalar, W)

  • specific_power (float) – Power per weight (scalar, W/kg)

Outputs:

component_weight (float) – Component weight (including coolants + motor) (scalar, kg)

class openconcept.thermal.chiller.HeatPumpWithIntegratedCoolantLoop(**kwargs)

Bases: Group

Models chiller with integrated coolant inputs and outputs on the hot and cold sides. Can bypass the chiller using linearly interpolated control points control.bypass_start and control.bypass_end outputs (0 is full refrigerator, 1 is full bypass, continuous in between).

Inputs:
  • T_in_hot (float) – Incoming coolant temperature on the hot side (vector, K)

  • T_in_cold (float) – Incoming coolant temperature on the cold side (vector, K)

  • mdot_coolant (float) – Coolant mass flow rate (vector, kg/s)

  • power_rating (float) – Rated electric power, default 1 kW (scalar, W)

  • specific_power (float) – Heat pump power per weight, default 200 W/kg (scalar, W/kg)

  • eff_factor (float) – Heat pump Carnot efficiency factor, default 0.4 (scalar, None)

  • control.bypass_start (float) – Bypass value (in range 0-1) at beginning used for linear interpolation, 0 is full refrigerator and 1 is full bypass; must access via control component (i.e. with “control.bypass_start”) (scalar, None)

  • control.bypass_end (float) – Bypass value (in range 0-1) at end used for linear interpolation, 0 is full refrigerator and 1 is full bypass; must access via control component (i.e. with “control.bypass_end”) (scalar, None)

Outputs:
  • T_out_hot (float) – Outgoing coolant temperature on the hot side (vector, K)

  • T_out_cold (float) – Outgoing coolant temperature on the cold side (vector, K)

  • component_weight (float) – Component weight (including coolants + motor) (scalar, kg)

  • elec_load (float) – Electrical load (vector, W)

Options:
  • num_nodes (int) – The number of analysis points to run

  • specific_heat (float) – Specific heat of the coolant (scalar, J/kg/K, default 3801 glycol/water)

class openconcept.thermal.chiller.COPExplicit(**kwargs)

Bases: ExplicitComponent

Computes “soft” coefficient of performance (COP) that doesn’t blow up as T_h - T_c approaches zero

Inputs:
  • T_c (float) – Cold side temperature (vector, K)

  • T_h (float) – Hot side temperature (vector, K)

  • eff_factor (float) – Efficiency factor (scalar, None)

Outputs:

COP (float) – Coefficient of performance (vector, None)

Options:

num_nodes (int) – The number of analysis points to run