HeatFlowSensorWHeatFlowSensor Icon

HeatFlowSensor

Measures the rate of heat flow between two thermal connection points.

This component represents an ideal thermal sensor that quantifies the heat flow rate passing from node_a to node_b. It introduces no temperature drop between its connection points (node_a.T = node_b.T) and has no thermal energy storage (node_a.Q + node_b.Q = 0). The output signal Q represents the heat flow rate from node_a to node_b.

The key behaviors are defined by:

\[Q = \text{node_a.Q} \text{node_a.Q} + \text{node_b.Q} = 0 \text{node_a.T} = \text{node_b.T}\]

Usage

ThermalComponents.HeatFlowSensor()

Connectors

  • Q - This connector represents a real signal as an output from a component (RealOutput)
  • node_a - This connector represents a thermal node with temperature and heat flow as the potential and flow variables, respectively. (Node)
  • node_b - This connector represents a thermal node with temperature and heat flow as the potential and flow variables, respectively. (Node)

Behavior

\[ \begin{align} \mathtt{node\_a.T}\left( t \right) &= \mathtt{node\_b.T}\left( t \right) \\ \mathtt{node\_a.Q}\left( t \right) + \mathtt{node\_b.Q}\left( t \right) &= 0 \\ Q\left( t \right) &= \mathtt{node\_a.Q}\left( t \right) \end{align} \]

Source

# Measures the rate of heat flow between two thermal connection points.
#
# This component represents an ideal thermal sensor that quantifies the heat flow rate
# passing from `node_a` to `node_b`. It introduces no temperature drop between
# its connection points (`node_a.T = node_b.T`) and has no thermal energy storage
# (`node_a.Q + node_b.Q = 0`). The output signal `Q` represents the heat flow
# rate from `node_a` to `node_b`.
#
# The key behaviors are defined by:
# ```math
# Q = \text{node_a.Q}
# \text{node_a.Q} + \text{node_b.Q} = 0
# \text{node_a.T} = \text{node_b.T}
# ```
component HeatFlowSensor
  # Output signal representing the measured heat flow rate from node_a to node_b
  Q = RealOutput() [{"Dyad": {"placement": {"icon": {"x1": 400, "y1": 900, "x2": 600, "y2": 1100}}}}]
  # Thermal connection point 'a'
  node_a = Node() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "node_a", "x1": -100, "y1": 400, "x2": 100, "y2": 600}}
    }
  }]
  # Thermal connection point 'b'
  node_b = Node() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "node_b", "x1": 900, "y1": 400, "x2": 1100, "y2": 600}}
    }
  }]
relations
  node_a.T = node_b.T
  node_a.Q + node_b.Q = 0
  Q = node_a.Q
metadata {
  "Dyad": {
    "labels": [
      {"label": "$(instance)", "x": 500, "y": 1100, "rot": 0},
      {"label": "W", "x": 500, "y": 708.3, "rot": 0}
    ],
    "icons": {"default": "dyad://ThermalComponents/HeatFlowSensor.svg"}
  }
}
end
Flattened Source
# Measures the rate of heat flow between two thermal connection points.
#
# This component represents an ideal thermal sensor that quantifies the heat flow rate
# passing from `node_a` to `node_b`. It introduces no temperature drop between
# its connection points (`node_a.T = node_b.T`) and has no thermal energy storage
# (`node_a.Q + node_b.Q = 0`). The output signal `Q` represents the heat flow
# rate from `node_a` to `node_b`.
#
# The key behaviors are defined by:
# ```math
# Q = \text{node_a.Q}
# \text{node_a.Q} + \text{node_b.Q} = 0
# \text{node_a.T} = \text{node_b.T}
# ```
component HeatFlowSensor
  # Output signal representing the measured heat flow rate from node_a to node_b
  Q = RealOutput() [{"Dyad": {"placement": {"icon": {"x1": 400, "y1": 900, "x2": 600, "y2": 1100}}}}]
  # Thermal connection point 'a'
  node_a = Node() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "node_a", "x1": -100, "y1": 400, "x2": 100, "y2": 600}}
    }
  }]
  # Thermal connection point 'b'
  node_b = Node() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "node_b", "x1": 900, "y1": 400, "x2": 1100, "y2": 600}}
    }
  }]
relations
  node_a.T = node_b.T
  node_a.Q + node_b.Q = 0
  Q = node_a.Q
metadata {
  "Dyad": {
    "labels": [
      {"label": "$(instance)", "x": 500, "y": 1100, "rot": 0},
      {"label": "W", "x": 500, "y": 708.3, "rot": 0}
    ],
    "icons": {"default": "dyad://ThermalComponents/HeatFlowSensor.svg"}
  }
}
end


Test Cases

No test cases defined.

  • Examples
  • Experiments
  • Analyses