
前回、いよいよ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コンパイラ等を設定しておかねば使えない奴らです。
今回デモでは上の Flowmeter以外の全ブロックを使ってます。
「油圧ブロック」デモ
以下のデモ選択ブロックでは「油圧ブロック」と訳されてますけど、お惚け老人の所感では「油じゃないんじゃね」という意見です。
上記を選択すると現れるフロー(お惚け老人が勝手な注釈を書き加えている)が以下に。
左端の目標値というのがどうも、貯留槽内の水位?の目標値みたいです。右側のグラフ表示のところで、制御弁の開度、貯留高さ、目標値を時系列グラフにしているみたい。
上の方の黄色の枠内が、純粋Xcosブロックによる制御器のモデルです。伝達関数で定義されてますが、メンドイのでの特性とかには踏み込みませぬ。ここの部分を「流れる」のはここでは純粋な数値っす。下側の緑色の枠内が、Modelicaブロックを使って描かれた「管路」のモデルです。左側のソースから流れ出た流体が制御弁で流量制御されて、貯留槽にいったん溜まり、それが配管通してドレインへ流れ出すみたい。ここのModelicaブロックの四角のポートどもを流れるのは、仮想的な流体っす。圧力あり、流量があり、熱(エンタルピー)なども含むように見えるもの。
これがどのような意味なのか、素人老人には分かりませんが、貯留槽の液面高さ(m)がこんな雰囲気になることを期待している筈。なおブロックのパラメータ的には貯留槽の断面は1平米、有効な高さは40mあるみたいっす。
上の緑色が制御弁の開度です。一方、下のグラフは赤色がさきほどの「目標値」、黒色が実際の値です。結構良い感じ?
Googleの生成AI、Gemini様のお教え
毎度お世話になってます。今回も、thermal-hydraulic についてGemini様にお教えいただいているのでそのお答えを貼り付けておきます。
ふむふむ、今回はやはりこちらのデモよな。応用についてもお教え下すってます。
今回のデモは、CFDの場末の端っこくらいな感じ? どうなんだ?