この記事で、排気ノズル単体でdesign-pointとoff-designの計算をひとまとめに行えるようになったことを報告した。今回は予告通りTurbojetエンジン全体モデルを作成・動作させられた事を報告する。排気ノズルの回で相応に苦戦したためか、今回はスムーズだった。


Turbojetエンジンにおいて、Design-Pointのときはparameterとして値を定めるが、Off-Design計算では収束計算の結果値が決まる変数は2つ。(本当は、CompressorのTableスケーリングレシオなど、ここに書ききれない数有るのだが、それらはどれも1Component内の計算処理で完結する。エンジン全体のModel diagramには現れない。なのでここでは省略する。)

  1. エンジン全体が吸い込む空気の質量流量
  2. 主軸の機械回転数
下図に示す通り、2つDesign-Pointでの変数定義のためのComponentが組み込まれている。

Design-Pointのエンジン吸込み空気質量流量と軸機械回転数のComoponent以外はこれまで多数の記事で出てきたのと同じComponentで成り立っている。Compressor、Turbine、Nozzleには、Design-Pointの値決めと、Design-Pointでの諸変数値を受けてOff-Designの計算を行うための処理が組み込まれているが、物理式はどれも過去に出てきたものと同じだ。物理式を書いたClassを継承してComponentのClassを作成しているので、物理式が同一であることは担保される。これがObject-Orientedの良いところ。


以下、簡単な動作確認。

ノズル単体で実施したとき同様に意図通り動作している。parameterで与えた吸込み空気質量流量と機械回転数でシミュレーションを開始し、Off-Design計算に移行してからは意図通り、燃焼器出口ガス温度を上げて吸込み空気質量流量と機械回転数が、特性Tableデータに従って上昇させる事が出来ている。

以上のシミュレーションに用いたモデルは下記のパッケージに収録し、ライブラリ一式をgithubで公開している。

  • PropulsionSystem.Examples.Engines.IntegrateDesPtOffDes.Turbojet_ex02


以下は、追加作成したモデル。エンジン作動のInputとして燃焼器出口ガス温度に加えて、排気ノズルも動かしてみた。これはOff-Designしか行えない、従来のモデルでも実施できるシミュレーションで、ただのおまけだ。

燃焼器出口ガス温度を保持したまま、排気ノズルを閉じると、エンジン作動はどう変化するのかを観る。おまけで作って計算を流したものなので、踏み込んだ考察・解説は行わないこと容赦願う。その当たり、丁寧に別記事を立てよう(いつか)。

予想外と思った方が居るのではないだろうか。水ホースの口を絞ると流速が上がって反動が大きくなるので、これも同じように、排気噴射の速度が上がって推力が上がるのではないかと考えても不思議ではない。

実際には推力が下がった。ホースの場合とは異なり、エンジンでは上流機器の動作が下流の特性に引き摺られるからだ。下流で流量を流すCapacityが下がったので、それに合わせて吸込みを行う圧縮機の回転が下がった。

ここで注意して欲しいのは、この結果となるのは、燃焼器出口ガス温度をエンジン作動のInputとしている(拘束条件)からであるということだ。エンジン軸回転が自由なvariableなので質量流量のcapacity低下に回転で対応した。もし、エンジン作動のInputに軸回転数や燃料流量を指定した計算を行うと、当然異なる挙動となる。

”自身は何を計算しているのか”、”自身はその計算モデルで何をしたい/観たいのか”を強く意識してモデル作成・結果観察を行わなければならない。さもないと、無意味で明後日な方向に進むことになる。この辺は、MBD、1DCAEでシステムシミュレーションを行っていると難しいところであり、面白くもあるところだ。

以上のおまけモデルも下記のパッケージに収録し、ライブラリ一式をgithubで公開している。更に深くTurbojetのOff-Design挙動を観たい方は是非動かして遊んで頂きたい。

  • PropulsionSystem.Examples.Engines.IntegrateDesPtOffDes.Turbojet_ex03



これで無事にturbopropエンジン全体までDesign-PointとOff-Design Pointの計算を1纏めに実行できるようになった訳だが、、、これで終わりではない。Turbofanや3rd-streamエンジン、可変パイパス比エンジン、電動ハイブリッドエンジンなどの複雑奇怪なシステムを、収束性やモデルを2種類(もしくは、過渡現象Comoponentの有無も入れて3種類)作る手間から解放されて計算出来るようにすることが目的なのだ。

全く根拠がない予感なのだが、複雑なエンジンシステムを組み立てると何か新しい壁に当たるか、収束性の問題が息を吹き返して一筋縄で進めない気がする。。。必ずDesign-Pointで計算を開始させるようにはしたが、肝心のInitializationには何ら工夫が凝らされていない上、variableとequation/algorithmの数は増えている。首尾良く進めるとは思えない。。。

あと、ソースコードも整理整頓しないと。。。継承を挟んで機能実装する所を分けたりするのが出来てないところが有ったり、試行錯誤中のコメントアウトのゴミが残っていたりと、本来人様に見せられたものでないコードのまま公開している。。。

何やら終盤で話が記事のメインネタから逸れたが、以上



文献紹介

Modelicaによるシステムシミュレーション入門

入門者に最適の書。Modelicaって何?という導入から、簡単なコードベースやGUIベースの例モデルまで解説。筆者も入門時に手に取った。訳に少し癖が有る印象だが、英語書物がハードルになる方には確かな助けになる筈。


[楽天、電子書籍版] [AU payマーケット、電子書籍版] [7ネットショッピング、電子書籍版]
[楽天、紙面書籍版] [AU payマーケット、紙面書籍版]

Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica

「Modelicaによるシステムシミュレーション入門」の英語版原書。英語に抵抗がなければこちらを入手したら良いと思う。


[Yahoo、紙面書籍版]

Principles of Object-Oriented Modeling and Simulation with Modelica 3.3 A Cyber-Physical Approach (Wiley-IEEE Press)

本格的にModelicaを使い込むなら必携の書。辞書的に適宜調べものをするような形で手元に有ると頼もしい武器。量が多いので電子版もお勧め。筆者もKindle版を所有し、かなりの頻度で参照している。


[楽天、電子書籍版]

Introduction to Physical Modeling With Modelica


[楽天、紙面書籍版]


------------------------------