$(instance)TemperatureOfTwoMassesTest Icon

TemperatureOfTwoMassesTest

This model connects 2 masses at different temperature. And, compares and tests initial and final temperatures of these masses. This components tests RelativeTemperatureSensor and TemperatureSensor.

Usage

TemperatureOfTwoMassesTest()

Variables

NameDescriptionUnits
final_TProjected final temperatureK

Behavior

\[ \begin{equation} \left[ \begin{array}{c} \mathtt{final\_T}\left( t \right) = \frac{\mathtt{mass1.C} \mathtt{mass1.T0} + \mathtt{mass2.C} \mathtt{mass2.T0}}{\mathtt{mass1.C} + \mathtt{mass2.C}} \\ \mathrm{connect}\left( mass1_{+}node, conduction_{+}node_{a} \right) \\ \mathrm{connect}\left( conduction_{+}node_{b}, mass2_{+}node \right) \\ \mathrm{connect}\left( mass1_{+}node, relative_{temperature\_sensor_{+}node\_a} \right) \\ \mathrm{connect}\left( mass2_{+}node, relative_{temperature\_sensor_{+}node\_b} \right) \\ \mathrm{connect}\left( mass1_{+}node, temperature_{sensor1_{+}node} \right) \\ \mathrm{connect}\left( mass2_{+}node, temperature_{sensor2_{+}node} \right) \\ \mathtt{mass1.T}\left( t \right) = \mathtt{mass1.node.T}\left( t \right) \\ \frac{\mathrm{d} \mathtt{mass1.T}\left( t \right)}{\mathrm{d}t} = \mathtt{mass1.dT}\left( t \right) \\ \mathtt{mass1.dT}\left( t \right) = \frac{\mathtt{mass1.node.Q}\left( t \right)}{\mathtt{mass1.C}} \\ \mathtt{mass2.T}\left( t \right) = \mathtt{mass2.node.T}\left( t \right) \\ \frac{\mathrm{d} \mathtt{mass2.T}\left( t \right)}{\mathrm{d}t} = \mathtt{mass2.dT}\left( t \right) \\ \mathtt{mass2.dT}\left( t \right) = \frac{\mathtt{mass2.node.Q}\left( t \right)}{\mathtt{mass2.C}} \\ \mathtt{conduction.{\Delta}T}\left( t \right) = - \mathtt{conduction.node\_b.T}\left( t \right) + \mathtt{conduction.node\_a.T}\left( t \right) \\ \mathtt{conduction.node\_a.Q}\left( t \right) = \mathtt{conduction.Q}\left( t \right) \\ \mathtt{conduction.node\_a.Q}\left( t \right) + \mathtt{conduction.node\_b.Q}\left( t \right) = 0 \\ \mathtt{conduction.Q}\left( t \right) = \mathtt{conduction.G} \mathtt{conduction.{\Delta}T}\left( t \right) \\ \mathtt{relative\_temperature\_sensor.T\_rel}\left( t \right) = - \mathtt{relative\_temperature\_sensor.node\_b.T}\left( t \right) + \mathtt{relative\_temperature\_sensor.node\_a.T}\left( t \right) \\ 0 = \mathtt{relative\_temperature\_sensor.node\_a.Q}\left( t \right) \\ 0 = \mathtt{relative\_temperature\_sensor.node\_b.Q}\left( t \right) \\ \mathtt{temperature\_sensor1.T}\left( t \right) = \mathtt{temperature\_sensor1.node.T}\left( t \right) \\ \mathtt{temperature\_sensor1.node.Q}\left( t \right) = 0 \\ \mathtt{temperature\_sensor2.T}\left( t \right) = \mathtt{temperature\_sensor2.node.T}\left( t \right) \\ \mathtt{temperature\_sensor2.node.Q}\left( t \right) = 0 \\ \end{array} \right] \end{equation} \]

Source

# This model connects 2 masses at different temperature. And, compares and tests
# initial and final temperatures of these masses. This components tests
# `RelativeTemperatureSensor` and `TemperatureSensor`.
component TemperatureOfTwoMassesTest
  mass1 = HeatCapacitor(C=15, T0=373.15)
  mass2 = HeatCapacitor(C=15, T0=273.15)
  conduction = ThermalConductor(G=10)
  relative_temperature_sensor = RelativeTemperatureSensor()
  temperature_sensor1 = TemperatureSensor()
  temperature_sensor2 = TemperatureSensor()
  # Projected final temperature
  variable final_T::Temperature
relations
  final_T = (mass1.T0*mass1.C+mass2.T0*mass2.C)/(mass1.C+mass2.C)
  connect(mass1.node, conduction.node_a)
  connect(conduction.node_b, mass2.node)
  connect(mass1.node, relative_temperature_sensor.node_a)
  connect(mass2.node, relative_temperature_sensor.node_b)
  connect(mass1.node, temperature_sensor1.node)
  connect(mass2.node, temperature_sensor2.node)
metadata {
  "JuliaSim": {
    "tests": {
      "case1": {
        "stop": 10,
        "atol": {
          "mass1.T": 0.001,
          "mass2.T": 0.001,
          "temperature_sensor1.T": 0.001,
          "temperature_sensor2.T": 0.001,
          "relative_temperature_sensor.T_rel": 0.001
        },
        "expect": {
          "initial": {
            "temperature_sensor1.T": 373.15,
            "temperature_sensor2.T": 273.15,
            "relative_temperature_sensor.T_rel": 100
          },
          "signals": [
            "mass1.node.T",
            "mass2.node.T",
            "temperature_sensor1.T",
            "temperature_sensor2.T",
            "relative_temperature_sensor.T_rel"
          ]
        }
      }
    }
  }
}
end
Flattened Source
# This model connects 2 masses at different temperature. And, compares and tests
# initial and final temperatures of these masses. This components tests
# `RelativeTemperatureSensor` and `TemperatureSensor`.
component TemperatureOfTwoMassesTest
  mass1 = HeatCapacitor(C=15, T0=373.15)
  mass2 = HeatCapacitor(C=15, T0=273.15)
  conduction = ThermalConductor(G=10)
  relative_temperature_sensor = RelativeTemperatureSensor()
  temperature_sensor1 = TemperatureSensor()
  temperature_sensor2 = TemperatureSensor()
  # Projected final temperature
  variable final_T::Temperature
relations
  final_T = (mass1.T0*mass1.C+mass2.T0*mass2.C)/(mass1.C+mass2.C)
  connect(mass1.node, conduction.node_a)
  connect(conduction.node_b, mass2.node)
  connect(mass1.node, relative_temperature_sensor.node_a)
  connect(mass2.node, relative_temperature_sensor.node_b)
  connect(mass1.node, temperature_sensor1.node)
  connect(mass2.node, temperature_sensor2.node)
metadata {
  "JuliaSim": {
    "tests": {
      "case1": {
        "stop": 10,
        "atol": {
          "mass1.T": 0.001,
          "mass2.T": 0.001,
          "temperature_sensor1.T": 0.001,
          "temperature_sensor2.T": 0.001,
          "relative_temperature_sensor.T_rel": 0.001
        },
        "expect": {
          "initial": {
            "temperature_sensor1.T": 373.15,
            "temperature_sensor2.T": 273.15,
            "relative_temperature_sensor.T_rel": 100
          },
          "signals": [
            "mass1.node.T",
            "mass2.node.T",
            "temperature_sensor1.T",
            "temperature_sensor2.T",
            "relative_temperature_sensor.T_rel"
          ]
        }
      }
    }
  }
}
end

Test Cases

Test Case case1

Signal `mass1.node.T` for test `case1` of `TemperatureOfTwoMassesTest`

Signal `mass2.node.T` for test `case1` of `TemperatureOfTwoMassesTest`

Signal `temperature_sensor1.T` for test `case1` of `TemperatureOfTwoMassesTest`

Signal `temperature_sensor2.T` for test `case1` of `TemperatureOfTwoMassesTest`

Signal `relative_temperature_sensor.T_rel` for test `case1` of `TemperatureOfTwoMassesTest`

  • Examples
  • Experiments
  • Analyses