2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenModelicaで伝熱流動 物性の設定

Posted at

OpenModelica(v1.12.0 (64-bit))をインストールして、OMEditのExampleをいじったり、本(Modelicaによるシステムシミュレーション入門)を読んだりしていましたが、ようやくOMEditを使ったオリジナルのモデル作りにチャレンジしております。

最初に作りましたのが、下図の最小限の構成。
simplest.png
ThermalのSourcesからAmbientを二つとってきて、volumeFlowでつないでみて、Parametersに適当な値を入力してみました。
この適当な値の入力でも少しハマりましたが、それは次回ご紹介するとして、テキストで見るとこんな感じです。

model test_temp
Modelica.Thermal.FluidHeatFlow.Sources.Ambient ambient1(constantAmbientPressure = 1e+06, constantAmbientTemperature = 293.15) annotation(
Placement(visible = true, transformation(origin = {-48, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Thermal.FluidHeatFlow.Sources.VolumeFlow volumeFlow1(T(start = 288.15), T0 = 288.15, constantVolumeFlow = 1, m = 1) annotation(
Placement(visible = true, transformation(origin = {-4, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Thermal.FluidHeatFlow.Sources.Ambient ambient2(constantAmbientPressure = 1e+06, constantAmbientTemperature = 288.15) annotation(
Placement(visible = true, transformation(origin = {52, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
equation
connect(volumeFlow1.flowPort_b, ambient2.flowPort) annotation(
Line(points = {{6, -2}, {42, -2}, {42, 0}, {42, 0}}, color = {255, 0, 0}));
connect(ambient1.flowPort, volumeFlow1.flowPort_a) annotation(
Line(points = {{-38, -2}, {-10, -2}, {-10, -2}, {-14, -2}, {-14, -2}}, color = {255, 0, 0}));
annotation(
uses(Modelica(version = "3.2.2")));
end test_temp;

これでも実行はできましたが、伝熱流動に携わる者として重大な疑念が残りました。
流体の物性はどうなっているのだろう?
下図のmediumという部分が作動流体を定義する部分であるであることに気づいたのですが、流体を指定する方法がわからない。

medium.png

そこで、Exampleを見直してみると、冒頭部分で流体を定義しているよう。
それを参考に、コピペしてmediumとしてWaterを定義してみたのが以下のテキストです。

model cooling_test2
parameter Modelica.Thermal.FluidHeatFlow.Media.Water
medium = Modelica.Thermal.FluidHeatFlow.Media.Water()
"Cooling medium";
Modelica.Thermal.FluidHeatFlow.Sources.Ambient ambient1(constantAmbientPressure = 1e+06, constantAmbientTemperature = 293.15, medium = medium, usePressureInput = false, useTemperatureInput = false) annotation(
Placement(visible = true, transformation(origin = {-60, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
Modelica.Thermal.FluidHeatFlow.Sources.Ambient ambient2(constantAmbientPressure = 500000, constantAmbientTemperature = 293.15, medium = medium, usePressureInput = false, useTemperatureInput = false) annotation(
Placement(visible = true, transformation(origin = {48, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Thermal.FluidHeatFlow.Sources.VolumeFlow volumeFlow1(T(start = 288.15), T0 = 288.15, constantVolumeFlow = 1, m = 1, medium = medium, useVolumeFlowInput = false) annotation(
Placement(visible = true, transformation(origin = {0, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
equation
connect(volumeFlow1.flowPort_b, ambient2.flowPort) annotation(
Line(points = {{10, 42}, {38, 42}}, color = {255, 0, 0}));
connect(ambient1.flowPort, volumeFlow1.flowPort_a) annotation(
Line(points = {{-50, 42}, {-10, 42}}, color = {255, 0, 0}));
annotation(
choicesAllMatching = true);
annotation(
uses(Modelica(version = "3.2.2")));
end cooling_test2;

ThermalFluidHeatFlowの中で見つけたMediaのWaterを使ってみました。
テキストを編集してmediumをWaterに定義する文を書いて、OMEditで、ambient、volumeFlowのコンポーネントのパラメータに設定してみました。
water.png
これで流体として水が設定されたはずです。(たぶん・・・)

流体を設定するGUIが(恐らく)無く、テキストに手打ちするしかないところが残念ですが、流体を選定することができるようになりました。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?