thermal.py
- class openconcept.thermal.thermal.PerfectHeatTransferComp(**kwargs)
Bases:
ExplicitComponent
Models heat transfer to coolant loop assuming zero thermal resistance.
- Inputs:
T_in (float) – Incoming coolant temperature (vector, K)
q (float) – Heat flow into fluid stream; positive is heat addition (vector, W)
mdot_coolant (float) – Coolant mass flow (vector, kg/s)
- Outputs:
T_out (float) – Outgoing coolant temperature (vector, K)
T_average (float) – Average coolant temperature (vector K)
- Options:
num_nodes (int) – Number of analysis points to run (scalar, default 1)
specific_heat (float) – Specific heat of the coolant (scalar, J/kg/K, default 3801 glycol/water)
- class openconcept.thermal.thermal.ThermalComponentWithMass(**kwargs)
Bases:
ExplicitComponent
Computes thermal residual of a component with heating, cooling, and thermal mass
- Inputs:
q_in (float) – Heat generated by the component (vector, W)
q_out (float) – Heat to waste stream (vector, W)
mass (float) – Thermal mass (scalar, kg)
- Outputs:
dTdt (float) – First derivative of temperature (vector, K/s)
- Options:
specific_heat (float) – Specific heat capacity of the object in J / kg / K (default 921 = aluminum)
num_nodes (int) – The number of analysis points to run
- class openconcept.thermal.thermal.ThermalComponentMassless(**kwargs)
Bases:
ImplicitComponent
Computes thermal residual of a component with heating, cooling, and thermal mass
- Inputs:
q_in (float) – Heat generated by the component (vector, W)
q_out (float) – Heat to waste stream (vector, W)
- Outputs:
T_object (float) – Object temperature (vector, K/s)
- Options:
num_nodes (int) – The number of analysis points to run
- class openconcept.thermal.thermal.ConstantSurfaceTemperatureColdPlate_NTU(**kwargs)
Bases:
ExplicitComponent
Computes heat rejection to fluid stream of a microchannel cold plate with uniform temperature
- Inputs:
T_in (float) – Coolant inlet temperature (vector, K)
T_surface (float) – Temperature of the cold plate (vector, K)
mdot_coolant (float) – Mass flow rate of the coolant (vector, kg/s)
channel_length (float) – Length of each microchannel (scalar, m)
channel_width (float) – Width of each microchannel (scalar, m)
channel_height (float) – Height of each microchannel (scalar, m)
n_parallel (float) – Number of fluid channels (scalar, dimensionless)
- Outputs:
q (float) – Heat transfer rate from the plate to the fluid (vector, W)
T_out (float) – Outlet fluid temperature (vector, K)
- Options:
num_nodes (int) – The number of analysis points to run
fluid_rho (float) – Coolant density in kg/m**3 (default 0.997, water)
fluid_k (float) – Thermal conductivity of the fluid (W/m/K) (default 0.405, glycol/water)
nusselt (float) – Hydraulic diameter Nusselt number of the coolant in the channels (default 7.54 for constant temperature infinite parallel plate)
specific_heat (float) – Specific heat of the coolant (J/kg/K) (default 3801, glycol/water)
- class openconcept.thermal.thermal.LiquidCooledComp(**kwargs)
Bases:
Group
A component (heat producing) with thermal mass cooled by a cold plate.
- Inputs:
q_in (float) – Heat produced by the operating component (vector, W)
mdot_coolant (float) – Coolant mass flow rate (vector, kg/s)
T_in (float) – Instantaneous coolant inflow temperature (vector, K)
mass (float) – Object mass (only required in thermal mass mode) (scalar, kg)
T_initial (float) – Initial temperature of the cold plate (only required in thermal mass mode) / object (scalar, K)
duration (float) – Duration of mission segment, only required in unsteady mode
channel_width (float) – Width of coolant channels (scalar, m)
channel_height (float) – Height of coolant channels (scalar, m)
channel_length (float) – Length of coolant channels (scalar, m)
n_parallel (float) – Number of identical coolant channels (scalar, dimensionless)
- Outputs:
T_out (float) – Instantaneous coolant outlet temperature (vector, K)
T (float) – Object temperature (vector, K)
- Options:
specific_heat_object (float) – Specific heat capacity of the object in J / kg / K (default 921 = aluminum)
specific_heat_coolant (float) – Specific heat capacity of the coolant in J / kg / K (default 3801, glycol/water)
num_nodes (int) – Number of analysis points to run
quasi_steady (bool) – Whether or not to treat the component as having thermal mass
- class openconcept.thermal.thermal.CoolantReservoir(**kwargs)
Bases:
Group
A reservoir of coolant capable of buffering temperature
- Inputs:
mdot_coolant (float) – Coolant mass flow rate (vector, kg/s)
T_in (float) – Coolant inflow temperature (vector, K)
mass (float) – Object mass (only required in thermal mass mode) (scalar, kg)
T_initial (float) – Initial temperature of the coolant reservoir(only required in thermal mass mode) / object (scalar, K)
duration (float) – Time step of each mission segment (one for each segment) (scalar, s) If a single segment is provided (by default) this variable will be called just ‘dt’ only required in thermal mass mode
- Outputs:
T_out (float) – Coolant outlet temperature (vector, K)
- Options:
num_nodes (int) – Number of analysis points to run
- class openconcept.thermal.thermal.CoolantReservoirRate(**kwargs)
Bases:
ExplicitComponent
Computes dT/dt of a coolant reservoir based on inflow and current temps and flow rate
- Inputs:
T_in (float) – Coolant stream in (vector, K)
T_out (float) – Temperature of the reservoir (vector, K)
mass (float) – Total quantity of coolant (scalar, kg)
mdot_coolant (float) – Mass flow rate of the coolant (vector, kg/s)
- Outputs:
dTdt (float) – First derivative of temperature (vector, K/s)
- Options:
num_nodes (int) – The number of analysis points to run