ModelingToolkitStandardLibrary: Thermal Components

Index

Thermal Utilities

ModelingToolkitStandardLibrary.Thermal.HeatPortFunction
HeatPort(; name, T_start=273.15 + 20.0, Q_flow_start=0.0)

Port for a thermal system.

States:

  • T: [K] Temperature of the port
  • Q_flow: [W] Heat flow rate at the port

Parameters:

  • T_start: [K] Temperature of the port
  • Q_flow_start: [W] Heat flow rate at the port
ModelingToolkitStandardLibrary.Thermal.Element1DFunction
Element1D(;name, dT0=0.0, Q_flow0=0.0)

This partial model contains the basic connectors and variables to allow heat transfer models to be created that do not store energy. This model defines and includes equations for the temperature drop across the element, dT, and the heat flow rate through the element from port_a to port_b, Q_flow.

States:

  • dT: [K] Temperature difference across the component a.T - b.T
  • Q_flow: [W] Heat flow rate from port a -> port b

Connectors:

port_a port_b

Parameters:

  • dT_start: [K] Initial temperature difference across the component a.T - b.T
  • Q_flow_start: [W] Initial heat flow rate from port a -> port b

Thermal Components

ModelingToolkitStandardLibrary.Thermal.BodyRadiationFunction
BodyRadiation(; name, G)

Lumped thermal element for radiation heat transfer.

States:

  • dT: [K] Temperature difference across the component a.T - b.T
  • Q_flow: [W] Heat flow rate from port a -> port b

Connectors:

  • port_a
  • port_b

Parameters:

  • G: [m^2] Net radiation conductance between two surfaces
ModelingToolkitStandardLibrary.Thermal.ConvectiveConductorFunction
ConvectiveConductor(; name, G)

Lumped thermal element for heat convection.

States:

  • dT: [K] Temperature difference across the component solid.T - fluid.T
  • Q_flow: [W] Heat flow rate from solid -> fluid

Connectors:

  • solid
  • fluid

Parameters:

  • G: [W/K] Convective thermal conductance
ModelingToolkitStandardLibrary.Thermal.ConvectiveResistorFunction
ConvectiveResistor(; name, R)

Lumped thermal element for heat convection.

States:

  • dT: [K] Temperature difference across the component solid.T - fluid.T
  • Q_flow: [W] Heat flow rate from solid -> fluid

Connectors:

  • solid
  • fluid

Parameters:

  • R: [K/W] Constant thermal resistance of material
ModelingToolkitStandardLibrary.Thermal.HeatCapacitorFunction
HeatCapacitor(; name, C, T_start=273.15 + 20)

Lumped thermal element storing heat

States:

  • T: [K] Temperature of element
  • der_T: [K/s] Time derivative of temperature

Connectors:

  • port

Parameters:

  • C: [J/K] Heat capacity of element (= cp*m)
  • T_start: [K] Initial temperature of element
ModelingToolkitStandardLibrary.Thermal.ThermalResistorFunction
ThermalResistor(; name, R)

Lumped thermal element transporting heat without storing it.

States:

  • dT: [K] Temperature difference across the component a.T - b.T
  • Q_flow: [W] Heat flow rate from port a -> port b

Connectors:

  • port_a
  • port_b

Parameters:

  • R: [K/W] Constant thermal resistance of material
ModelingToolkitStandardLibrary.Thermal.ThermalCollectorFunction
ThermalCollector(; name, m=1)

Collects m heat flows

This is a model to collect the heat flows from m heatports to one single heatport.

States:

Connectors:

  • port_a1 to port_am
  • port_b

Parameters:

  • m: Number of heat ports (e.g. m=2: port_a1, port_a2)

Thermal Sensors

ModelingToolkitStandardLibrary.Thermal.RelativeTemperatureSensorFunction
RelativeTemperatureSensor(; name)

Relative Temperature sensor.

The relative temperature port_a.T - port_b.T is determined between the two ports of this component and is provided as output signal in kelvin.

States:

  • T(t): [K] Relative temperature a.T - b.T

Connectors:

  • port_a
  • port_b
ModelingToolkitStandardLibrary.Thermal.HeatFlowSensorFunction
HeatFlowSensor(; name)

Heat flow rate sensor.

This model is capable of monitoring the heat flow rate flowing through this component. The sensed value of heat flow rate is the amount that passes through this sensor while keeping the temperature drop across the sensor zero. This is an ideal model so it does not absorb any energy and it has no direct effect on the thermal response of a system it is included in. The output signal is positive, if the heat flows from port_a to port_b.

States:

  • Q_flow(t): [W] Heat flow from port_a to port_b

Connectors:

  • port_a
  • port_b
ModelingToolkitStandardLibrary.Thermal.TemperatureSensorFunction
TemperatureSensor(; name)

Absolute temperature sensor in kelvin.

This is an ideal absolute temperature sensor which returns the temperature of the connected port in kelvin as an output signal. The sensor itself has no thermal interaction with whatever it is connected to. Furthermore, no thermocouple-like lags are associated with this sensor model.

States:

  • T(t): [K] Absolute temperature

Connectors:

  • port

Thermal Sources

ModelingToolkitStandardLibrary.Thermal.FixedHeatFlowFunction
FixedHeatFlow(; name, Q_flow=1.0, T_ref=293.15, alpha=0.0)

Fixed heat flow boundary condition.

This model allows a specified amount of heat flow rate to be "injected" into a thermal system at a given port. The constant amount of heat flow rate Q_flow is given as a parameter. The heat flows into the component to which the component FixedHeatFlow is connected, if parameter Q_flow is positive.

Connectors:

  • port

Parameters:

  • Q_flow: [W] Fixed heat flow rate at port
  • T_ref: [K] Reference temperature
  • alpha: [1/K] Temperature coefficient of heat flow rate
ModelingToolkitStandardLibrary.Thermal.FixedTemperatureFunction
FixedTemperature(; name, T)

Fixed temperature boundary condition in kelvin.

This model defines a fixed temperature T at its port in kelvin, i.e., it defines a fixed temperature as a boundary condition.

Connectors:

  • port

Parameters:

  • T: [K] Fixed temperature boundary condition
ModelingToolkitStandardLibrary.Thermal.PrescribedHeatFlowFunction
PrescribedHeatFlow(; name, Q_flow=1.0, T_ref=293.15, alpha=0.0)

Prescribed heat flow boundary condition.

This model allows a specified amount of heat flow rate to be "injected" into a thermal system at a given port. The amount of heat is given by the input signal Q_flow into the model. The heat flows into the component to which the component PrescribedHeatFlow is connected, if the input signal is positive. If parameter alpha is > 0, the heat flow is multiplied by 1 + alpha*(port.T - T_ref) in order to simulate temperature dependent losses (which are given an reference temperature T_ref).

Connectors:

  • port
  • Q_flow Input for the heat flow

Parameters:

  • T_ref: [K] Reference temperature
  • alpha: [1/K] Temperature coefficient of heat flow rate
ModelingToolkitStandardLibrary.Thermal.PrescribedTemperatureFunction
PrescribedTemperature(; name, T)

This model represents a variable temperature boundary condition.

The temperature in kelvin is given as input signal T to the model. The effect is that an instance of this model acts as an infinite reservoir able to absorb or generate as much energy as required to keep the temperature at the specified value.

Connectors:

  • port
  • T input for the temperature