本記事を書いている今この時、FluidSystemoComponentライブラリのチェックバルブが作成済みだ。本来なそちらの製作記記事を先に書くべきの筈である。しかし、動作確認の中で作ったモデルが、面白いものだと後から思い直したので、熱いうちにそちらを語る。
作ったのはバルブを幾つか使ったかなりシンプルな流体回路だ。しかし後から、「この解析って単純に見えて3DCAEだと遥かに手間がかかるのではないか?」と思い直した。これは裏返しにすると1DCAEとModelicaの魅力・メリット。今回、それを紹介したい。
以下ずっと、「これを3Dで真面目に行うには何をしなければならない?どれくらいの手間・時間がかかる?」と、自問と想像をしながら読み進めて欲しい。
まずは、作りたい物の簡略図からスタート。絵が下手なのは容赦願う。
造るものは、水道の末端をデフォルメしたような液体供給回路。供給元は1ヶ所、定容積ポンプが一定の体積流量を供給し続ける。そして、供給先は2か所で、それぞれ流量調整バルブを設ける。出口は大気圧。蛇口と同じもの。
ここで、このシステムには以下の要求・制約が課せられているとする。これらを満たすシステムを作る。
- 供給元ポンプは供給先バルブの操作に関係無く、定回転作動させておく。 →バルブの操作に合わせてポンプの動作を変え続けるのは、動力源の負荷を頻繁に上下させて機器に悪そう。
- 一方のバルブが全開になっても、他方に、指定の体積流量を供給できる。(供給量の下限) →全バルブ全開時に要求流量を供給出来ないというのは流体供給システムとして失格だろう。
- 一方のバルブが全閉になっても、他方の体積流量が、指定値を上回る事が無い。(供給量の上限) →他のバルブが閉まって突然大流量出てきたら困る。流速次第では事故やケガを招く。
- 供給元ポンプ出口の流体圧力が制限値を超えることが無い。(圧力の上限) →圧が上がり過ぎたら機器自体が壊れる。容積ポンプはで出口圧力問答無用で回転に応じた流量を押し出す、壊れるまで。
- 両方のバルブを全閉にできる。 →水道の蛇口のように、全ライン供給停止にすることもあるだろう。
さて、モデルを作ってparametersを変えることで要求アイテムを満足させられるのかを確かめる。先の簡略図を忠実かつ限りなくシンプルにModelicaでモデル化すると以下のスケマチックとなる。
説明不要なくらいみたままの単純なシステムだろう。要求1~5を満足できるか考える前に、一応、シミュレーションを流して挙動を見よう。
まず、インプット。10s-20sでポンプ回転を上昇。その後、30s-40sで#2のバルブを全閉に向かって閉じる。
それではアウトプット。ポンプ出口圧力、バルブ2流量、バルブ1流量を観る。
当然だが、ポンプ出口圧力は約2倍まで上昇し、バルブ1の質量流量も倍増した。見事にバルブ2を閉じたことに釣られた。
この挙動を見た上で、input variablesを設定して要求・拘束条件を総て満足するか考えてみよう。
- 要求1:供給元ポンプを常に定回転作動させる。
- 要求2:下限値以上の供給量達成。
- 要求3:供給量が上限値を超えない。
- 要求4:ポンプ出口圧力が上限値を超えない。
- 要求5
何もしなくても達成される。ポンプの軸とバルブをわざわざ機械的に接続しない限り破られない。
簡単に達成可能。両バルブを全開に設定して、供給体積流量が下限値を上回るようにポンプの吐出量を大きくしてゆけば良い。
可能そうだが、不可能である。要求値次第で満足できる場合も有る。しかし、設計変数の設定で常に能動的に満足出来るようになっていなければダメ。不合格。
要求3と同じ。要求値と下流の圧力損失次第で大丈夫なこともある。しかし、「能動的に」担保することはできない。不合格。
不可能。全バルブを閉じると要求4を満足しなくなる。ポンプか配管のどこかが確実に壊れる。
満足できない要求アイテムがあった。故に、作成したシステムは達成目的に対して足りないものがある。さて、改修しよう。機器と流路を1つ追加する。何度も断る、絵が下手なのは容赦願う。
ポンプ出口に、バイパス流路、すぐタンクに戻る流路、を追加した。
そして「チェックバルブ」も設置。これは差圧が一定値を超えると流路が開き始めるバルブ。バネ押さえによる機械的なものなのでセンサや制御機器は不要。これを設置するのは、バイパス流路にずっと流体が流れ放しなのは頂けないから。バイパス回路を使うのは必要な時だけだ。
インプットは先ほどと同じなので省略する。覚えていなければ、Fig.3-5をご覧あれ。早速、計算結果のポンプ吐出圧力、バルブ1,2の流量を観てゆこう。
今回は、バルブ2を閉じてもポンプ出口圧力の上昇とバルブ1質量流量増加がすぐに停止した。チェックバルブが開いて、バルブ1を閉じなければ「バルブ1に流れる筈だった」流量がバイパス回路に流れている。
以下が、チェックバルブの挙動。
チェックバルブに流体が流れ始めるのはバイパス1を閉じていく途中から。両バルブ全開の時は全く流れていない。流れ始めて以降は、流量は差圧に応じて増し続ける。このバルブモデルは、通過体積流量vs.差圧が線形の特性となるよう作ったもので、Fig.15に示すとおり意図通り動いている。(*本当はバネが縮みきるまで線形で、そのあとはオリフィスと似た振る舞いとなる筈だが、そこまで複雑なモデルはまだ作っていない。)
チェックバルブの仕様、つまり開口差圧・開口後の流量vs.差圧を調整すれば、ポンプ出口圧力・バルブ1質量流量の最高到達値を調整できる。チェックバルブを0から作るも良し、既存製品から要求達成可能なものを選ぶも良し。計算は極短時間で回るし、バルブの仕様、使う流体、作動状態(タンクの流体温度や解放圧力など)を色々変えるのも簡単だ。
今回作った流体供給回路、3Dのモデリングと解析で最適な設計変数決めが出来るだろうか?また、一度考案したシステム構成では要求を満足できないから形態を変えて試す、今回だとチェックバルブの追加、と言うことが出来るだろうか?不可能ではないだろうが、3Dモデルを作ってメッシュを切って、とするだけで桁が違う時間が掛るのではないかと思う。
ここまでシンプルなら手計算/エクセルでも出来そうだが、それはそれで結構手間がかかるのではないだろうか?イタレーション・条件分岐が多数発生するので、サクサクっと実施出来るものではない筈だ。何より、違う形態を試すへの対応が難しい。
今回のような、可動部が多数あるシステム。そして、あるバルブの操作が全く別のバルブの動きを決め、その動きが動かしたバルブ部の流体状態を変えるという、単純に見えて複雑にループした振る舞いをみせるシステム。そういったものの設計には、1DCAEは3Dにはない構成要素の組換・設計変数の変更・計算実行の手軽さがパワーを発揮する。
ツールは色々有るが、Modelicaは、シミュレーション特化言語で複数のフリー・商用ツールで共通で使える。そして、「非因果な方程式記述」が可能という特徴が実に魅力な言語だ。ぜひとも導入してその魅力と力に触れてみてほしい。
筆者の作成しているライブラリと本記事で紹介したシステムモデルは総てgithubで公開しているのでリンクを貼っておく。ご自由にご覧あれ。(GPL3を守る範囲内ならどのように利用するのも自由です。)
本記事で使ったモデルは以下2つ。
- ディレクトリ:HydroThermal/Examples
- flowSupplyNetwork002.mo
- flowSupplyNetwork003.mo
モデルファイル;
チュートリアルみたいなものも作りたくなってきたな。。
コメント