在加热模型中为周围空气指定热容量(使用 Modlica)?

问题描述 投票:0回答:1

我想计算加热管加热时的温度变化。 内部管道被加热,然后是周围的管道。该周围的管道与周围的空气交换热量。

因此热流进入外管周围的空气中。

我的问题是如何分配空气的热容量?我不清楚我必须考虑的数量。 我需要它来计算热流的空气温度,它定义了影响热流的温度梯度。

my Model schematic

model Waermeuebertragung

type Radius = Real(unit = "m");
type Laenge = Real(unit = "m");
type Dichte = Real(unit = "kg/m^3");

  // REAKTORPARAMETER
  
  parameter Radius rii = 10e-3 "Innenrohr Innenradius";
  parameter Radius ria = 11e-3 "Innenrohr Außenradius";
  parameter Radius rai = 23.5e-3 "Außenrohr Innenradius";
  parameter Radius raa = 28.5e-3 "Außenrohr Außenradius";
  parameter Laenge l = 1.5 "Länge Rohrreaktor";
  parameter Dichte rho_SS = 7800 "Dichte Stahl";



      Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Rohrwand_i(C = Waermekapazitaet_Rohr(ri=rii,ra=ria,l=l, density=rho_SS)) annotation(
        Placement(visible = true, transformation(origin = {-44, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Rohrwand_a(C = Waermekapazitaet_Rohr(ri=rai,ra=raa,l=l, density=rho_SS)) annotation(
        Placement(visible = true, transformation(origin = {40, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Components.Convection convection_internal annotation(
        Placement(visible = true, transformation(origin = {-4, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature annotation(
        Placement(visible = true, transformation(origin = {-80, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Blocks.Sources.Ramp T_ramp(duration = 300, height = 200, offset = T_amb, startTime = 0) annotation(
        Placement(visible = true, transformation(origin = {-80, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Blocks.Sources.Constant const(k = 0.01) annotation(
        Placement(visible = true, transformation(origin = {-10, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Components.Convection convection annotation(
        Placement(visible = true, transformation(origin = {84, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor temperatureSensor_i annotation(
        Placement(visible = true, transformation(origin = {-12, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor temperatureSensor_m annotation(
        Placement(visible = true, transformation(origin = {30, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor temperatureSensor_a annotation(
        Placement(visible = true, transformation(origin = {116, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
      parameter Modelica.Units.SI.Temperature T_amb = 293.15;
      Modelica.Thermal.HeatTransfer.Components.HeatCapacitor heatCapacitor(C = 0.1) annotation(
        Placement(visible = true, transformation(origin = {120, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
    equation
      connect(convection_internal.fluid, Rohrwand_a.port) annotation(
        Line(points = {{6, -10}, {40, -10}}, color = {191, 0, 0}));
      connect(Rohrwand_i.port, convection_internal.solid) annotation(
        Line(points = {{-44, -10}, {-14, -10}}, color = {191, 0, 0}));
      connect(prescribedTemperature.port, Rohrwand_i.port) annotation(
        Line(points = {{-70, -10}, {-44, -10}}, color = {191, 0, 0}));
      connect(T_ramp.y, prescribedTemperature.T) annotation(
        Line(points = {{-68, 72}, {-64, 72}, {-64, 50}, {-98, 50}, {-98, -10}, {-92, -10}}, color = {0, 0, 127}));
      connect(const.y, convection_internal.Gc) annotation(
        Line(points = {{2, 72}, {16, 72}, {16, 30}, {-4, 30}, {-4, 0}}, color = {0, 0, 127}));
      connect(const.y, convection.Gc) annotation(
        Line(points = {{2, 72}, {84, 72}, {84, 0}}, color = {0, 0, 127}));
      connect(temperatureSensor_m.port, convection_internal.fluid) annotation(
        Line(points = {{20, -54}, {8, -54}, {8, -34}, {20, -34}, {20, -10}, {6, -10}}, color = {191, 0, 0}));
      connect(Rohrwand_a.port, convection.solid) annotation(
        Line(points = {{40, -10}, {74, -10}}, color = {191, 0, 0}));
      connect(prescribedTemperature.port, temperatureSensor_i.port) annotation(
        Line(points = {{-70, -10}, {-44, -10}, {-44, -54}, {-22, -54}}, color = {191, 0, 0}));
      connect(temperatureSensor_a.port, convection.fluid) annotation(
        Line(points = {{106, -54}, {92, -54}, {92, -26}, {106, -26}, {106, -10}, {94, -10}}, color = {191, 0, 0}));
      connect(heatCapacitor.port, convection.fluid) annotation(
        Line(points = {{120, -12}, {120, -20}, {102, -20}, {102, -10}, {94, -10}}, color = {191, 0, 0}));
      annotation(
        Diagram(coordinateSystem(extent = {{-100, 100}, {140, -60}})));
    end Waermeuebertragung;

当我需要将对流模块与热电容器模块(右侧)一起使用时,我可以获得温度。

simulation modelica openmodelica
1个回答
0
投票

根据建模需求,我至少看到两种可能性。

第一种方法是将其视为具有无限热容量的环境空气,因此将

Modelica.Thermal.HeatTransfer.Components.HeatCapacitor heatCapacitor
替换为:

Modelica.Thermal.HeatTransfer.Sources.FixedTemperature fixedTemperature(T=
        T_amb)

第二种选择是首先有一个小风量,然后与周围空气相连;但这需要更详细的建模。

© www.soinside.com 2019 - 2024. All rights reserved.