HeatFlowSensor IconHeatFlowSensor
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"}
}
}
endFlattened 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"}
}
}
endTest Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses