ブロックを積みながら(210) Scilab/Xcos、Modelica配管シミュレーション

Joseph Halfmoon

前回、いよいよModelicaやらんとならんか、と思ったのです。しかしModelicaに行ってしまう前にScilab/Xcos内のModelicaブロックで出来ることはやっておきたいデス。そこで今回は「配管」のデモとな。大仰なお名前の「熱水力学」パレットに登場するブロックどもの練習です。軽く「流して」おくかという感じ。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

    Scilab 2024.0.0

Hydraulics

今回のデモのファイルは Hydraulics.zcos という御名前です。デモの表示によると「油圧ブロック」と訳されてます。しかしお惚け老人は中の人に異を唱えたいです。Hydraulicsと言われて、この単語を「油圧」と訳すか「水力学」と訳すかは文脈によるみたいです(いつもの生成AI様のお教えです。)油圧といったら、結構な圧力かけて巨大な力(でも流量はさほどでもない。油だし)を生み出す用途すよね。力が問題。一方、「水力学」の場合は、ジャバジャバと大量の液体(フツーは水)を流すイメージっす。量流してなんぼか? まあ、フローの中には液体が何だとかご指定はないのですが、お惚け老人がモデルを眺める限り「水力学」の方がしっくりくる感じです。貯留槽も大気圧に開放みたいだし、取り扱っている圧力(水圧)も水道局の送水圧に毛が生えた?もんくらいだし。ホントか?

なお、thermal-hydraulicなモデリングをするためのブロックらしく、エンタルピーの欄などもアチコチにあるのですが、今回デモでは熱にはあまり焦点が合わさっていない感じ。知らんけど。

以下が、Scilab/Xcosの熱水力学パレットの全貌です。全てModelicaブロックになっているので、Modelicaが使えるように裏でCコンパイラ等を設定しておかねば使えない奴らです。palette

今回デモでは上の Flowmeter以外の全ブロックを使ってます。

「油圧ブロック」デモ

以下のデモ選択ブロックでは「油圧ブロック」と訳されてますけど、お惚け老人の所感では「油じゃないんじゃね」という意見です。selectHydraulics

上記を選択すると現れるフロー(お惚け老人が勝手な注釈を書き加えている)が以下に。HydraulicsFlowEC

 

左端の目標値というのがどうも、貯留槽内の水位?の目標値みたいです。右側のグラフ表示のところで、制御弁の開度、貯留高さ、目標値を時系列グラフにしているみたい。

上の方の黄色の枠内が、純粋Xcosブロックによる制御器のモデルです。伝達関数で定義されてますが、メンドイのでの特性とかには踏み込みませぬ。ここの部分を「流れる」のはここでは純粋な数値っす。下側の緑色の枠内が、Modelicaブロックを使って描かれた「管路」のモデルです。左側のソースから流れ出た流体が制御弁で流量制御されて、貯留槽にいったん溜まり、それが配管通してドレインへ流れ出すみたい。ここのModelicaブロックの四角のポートどもを流れるのは、仮想的な流体っす。圧力あり、流量があり、熱(エンタルピー)なども含むように見えるもの。

上記の入力にあたる、Curveブロックの設定が以下に。CurveSetting

これがどのような意味なのか、素人老人には分かりませんが、貯留槽の液面高さ(m)がこんな雰囲気になることを期待している筈。なおブロックのパラメータ的には貯留槽の断面は1平米、有効な高さは40mあるみたいっす。

シミュレーション結果のグラフが以下に。HydraulicsSimGraph

上の緑色が制御弁の開度です。一方、下のグラフは赤色がさきほどの「目標値」、黒色が実際の値です。結構良い感じ?

Googleの生成AI、Gemini様のお教え

毎度お世話になってます。今回も、thermal-hydraulic についてGemini様にお教えいただいているのでそのお答えを貼り付けておきます。geminiTH1

ふむふむ、今回はやはりこちらのデモよな。応用についてもお教え下すってます。geminiTH2

そして、解析手法についても言及あり。geminiTH3

今回のデモは、CFDの場末の端っこくらいな感じ? どうなんだ?

ブロックを積みながら(209) Scilab/Xcos、Modelica 台の上のボール へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です