この記事にて、レシプロエンジンの平均化モデルコンポーネントを大部分作り上げたのに最後に疑問点が生じてしまった。今回、その部分を解決したので報告する。
記事を通して言いたいこと(結論)
例によって、冒頭で述べておく。
- 前回残った疑問箇所、排気ポート圧力の扱い方が一通り解決した。更新版コンポーネントを作成・リリースし、意図通りの挙動を示している。
モデル化
- ピストン&シリンダーの排気ポート流体圧力は、内部で執り行われる熱サイクル・その結果の膨張後状態量には因らず、下流の圧力損失と外気圧力因ってのみ決まる。ピストン&シリンダーは回転に対して一義的に送り出す体積流量が決まり、圧力に関して「定容積型ポンプ」と同じ振る舞いをしていると解釈した。
- ピストン&シリンダー排気ポートの流体比エンタルピは、熱サイクルの膨張終了状態の比エンタルピに、ピストンシリンダがポンプとして行った仕事を追加したものとする。ポンプとしての仕事はサイクルが発生する仕事に対しては微々たるものと想定されるが、吸気圧力と排気圧力に大きな差が生じるような作動の場合、ポンプ仕事が無視できないものとなる可能性も有る為。
- 下図に示すように、排気・吸気それぞれのストロークが、等圧で体積を押しのける動作であるとみなし、圧力と体積変化の積をそれぞれの仕事とする。
- 排気仕事はエンジンからみてロスに、吸気仕事は利得となる。そしてそれらの和が1サイクルあたりのポンプ仕事となる。
- 体積流量・軸powerと同様の考え方で、機械回転数を介して1サイクルあたりのポンプ仕事を単位時間あたりのポンプ仕事に変換する。これをpumping powerとする。
- pumping powerが必ずロスとなるとは限らない。pumping powerがエンジンからみてロスとなるか利得となるかは、下図からも判る通り、吸気・排気各ポートの圧力に依って決まる。
排気ポート状態量の考え方
ポンプ仕事の考え方
シミュレーションモデル
- 吸気側外気圧力
- 吸気側外気温度
- 吸気経路流体抵抗(オリフィス)の圧力損失係数
- 排気経路流体抵抗(オリフィス)の圧力損失係数
- 燃料割合
- 軸負荷(ダンパー負荷に加えて自由に負荷を与えられるようにしている。)
- コンポーネントのフルパス: PropulsionSystem.Elements.BasicElements.PistonCylinderIdealOttoMV01
- Exampleモデルのフルパス: PropulsionSystem.Examples.Elements.BasicElements.PistonCylinderIdealOttoMV01_ex02
- githubのライブラリページリンク
テスト用モデルのDiagram
前回記事と殆どの物理的な構成は同じ。
ただ、機械回転に関する拘束の与え方を変更。機械回転が外部機器で一定に保たれ、トルクが変動するという造りは直観的に理解し難い。それより、自動車などと同じように、回転速度に応じて増減する抵抗が接続されており、パワーが増せば加速し高回転へと静定、パワーを下げれば減速し低回転へと静定、となる方が理解しやすいのではないかと考えた。
Modelica.Mechanics.Rotationalパッケージの回転ダンパを使って機械回転に比例して抵抗トルクが生じる抵抗体を組み込む。注意して見ておいて頂きたいのは、ダンパコンポーネントの片側は静止壁に接続する点。ダンパコンポーネントは本来、軸回転振動の減衰をモデル化する為のものなので、慣性差等が原因で両端フランジ間に相対回転速度が生じたら、それに比例した抵抗トルクが発生するように出来ている。今回のように、軸の絶対速度に比例して抵抗を発生させたい場合は、エンジン軸と反対側を静止壁と繋ぐことで、”静止壁との相対回転数”に応じて抵抗トルクを発生させる訳だ。
次に、境界条件。下記をinput出来るようにしている。
モデル情報
シミュレーション実行
それではざっと主要なvariablesの挙動を観ていこう。
- 吸気流路オリフィスの圧力損失係数
- 排気流路オリフィスの圧力損失係数
- 吸気流路入口圧力(エンジン入口全圧)
- 軸機械回転数
- 軸出力
- 軸トルク
- pumping power
- pressure-volume線図
- 時刻: 45 [s]
- 時刻: 70 [s]
Input
色々境界条件を変化させられるようにテストモデルは組んだが、今回動かすのは動作確認に必要な下記の3つのみ。Inputの値・動きが意図通りか、inputが反映されるvariablesを確認する。
ランプ状に上昇させる。これに応じて、pumping powerが上昇(正値=ロス)、吸気の質量流量が低下し、軸出力が低下することを確認する。
ランプ状に上昇させる。これに応じて、排気ポート圧力が上昇してpumping powerが上昇(正値=ロス)し、軸出力が低下することを確認する。
ランプ状に上昇させる。吸気質量流量が上昇し、pumping powerが負(エンジンからみて利得)に転じて軸出力・トルクが上昇することを確認する。
Variables
主要なoutputの挙動を観て、作成したモデルが意図通りか・妥当かを確認していく。
50 [s] から、吸気圧力増加に応じて加速する。吸気密度が上昇して、パワーが増加するため。
0 [s] 直後で急激な加速が観られるのは、初期値の設定に因るものなので、気にする必要は無い。(今回は問題にならないが、複雑なシステムでは、こういった急変化が非現実的なレベルだと計算の収束性に影を落とす事があるので、極力全うな初期値を与えるように習慣付けしましょう。)
一見、50 [s] まで回転数が一定に見えるが、動きが小さい為に見えないのであって、拡大すると低下しているのが確認出来る。10 – 20 [s] が吸気圧の低下によるガス密度減少、30 – 40 [s] が排気ポート圧力上昇によるpumping パワーの上昇によって、パワーが低下するためのものだ。
一応確認のために観ておくが、軸機械回転数と同じ挙動となるので、コメント・解説は省略する。
こちらも軸出力と同様に、軸機械回転数と同じ挙動となるので、コメント省略。
50 [s] までは”ほぼ”0で、吸気圧力上昇に応じて急激に負の方向に絶対値が上昇する。pumping poewerが負とは、エンジンにとっての利得を意味しており、吸気・排気ポートの圧力差が、ピストンに対して追加の仕事を為している。
50 [s] までも、値が小さ過ぎて見えないだけで、0ではない。拡大すると、10 – 20 [s] と30 – 40 [s] で正の方向に値が上昇しているのが確認出来る。正のpumping powerはエンジンにとってのロスを意味している(その仕事は、排気ガスのエンタルピ上昇となる)。吸気ポート圧力低下・排気ポート圧力上昇共にガスを押し出すのに必要な仕事を大きくするので、pumping powerが増加する。
最後に、p-V線図を観て、サイクルの動きを俯瞰しよう。p-Vの動きを追うと熱サイクルの挙動は格段に理解しやすくなる。pumping powerが最大(正)となるタイミングと、最小(負で絶対値が最大)のタイミングの2つを観よう。
図が潰れていて非常に解り難いが、一番下の非常に横に細長い長方形がpumpingのpowerだ。これが時計回りだとエンジンにとって利得となる(流体が機械に仕事を為す)。吸気圧力<排気圧力となっており、pumpingのサイクル線図(長方形)が反時計回りとなっている(拡大すると、左側の縦矢印が下向きなのを確認できる)。pumping powerの挙動で見た通り、吸気ポート圧力低下と排気ポート圧力低下がエンジンにとってロスを発生させている。 *ただし、熱サイクルが生む仕事に比べると微々たるもの。
45 [s] のものよりは解りやすい筈。排気圧力<吸気圧力となっており、pumpingのサイクル線図(長方形)が時計回りとなっている(左側の縦矢印が上向き)。吸気圧力の増加により、流体がピントンによるpumpingの手助けをし、エンジンのpowerがかさ増しされている。 *ロスの場合同様、その量は熱サイクルが生む仕事から見ると微々たるもの。
後書き・まとめ
冒頭で述べたことの繰り返しとはなるが、
- 前回残った疑問箇所、排気ポート圧力の扱い方が一通り解決した。更新版コンポーネントを作成・リリースし、意図通りの挙動を示している。
これで、平均化レシプロエンジンのシステムモデルを組立てできるようになった。ただし、まだ完全な理想サイクルしか実装できてないので、次は非理想サイクル、即ちロスモデルを実装しなければ。
コメント