以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
(システムの全体構成)
図1は、本発明の実施形態に係るエンジン性能の予測解析システムAの全体構成を示す概念図である。このシステムは、エンジンの作動流体である吸気や排気等の流れを1次元及び3次元のCFD演算により模擬するとともに、気筒内の燃焼を化学反応式により模擬し、それらを組み合わせることによって、エンジンの運転シミュレーションを行うようにしたものである。このシステムの特長は、1次元及び3次元のCFD演算同士でのデータの授受と、CFD演算及び化学反応シミュレーション(化学反応SIM)の間のデータの授受とをいずれも自動化して、例えばスロットル弁から気筒を経て触媒コンバータに至る吸排気の流れをダイナミックにシミュレーションできるようにしたことで、極めて高精度の解析を容易に行えるようにしたことにある。
図示の符号1,1,…は、主にCFD演算を実行するコンピュータ装置であり、この実施形態では、特に3次元CFDの膨大な演算量に対応すべく高速のサーバコンピュータを複数台、並列に接続して使用している(以下、演算サーバという)。これら各演算サーバ1は、例えばハードディスクドライブ等の記憶装置を内蔵するとともに、それぞれディスプレイ等の画像表示装置10が接続され、さらに、図示しないが、プリンタ等の出力装置やオペレータによる入力操作を受け付けるキーボード、マウス等の入力デバイスも接続されている。前記記憶装置には、少なくとも、吸排気の流れを模擬するための1次元及び3次元の各CFDプログラムと、そのための物理モデル(解析モデル、数値計算モデル)を構築する専用のプリプロセッサと、燃焼状態を模擬する化学反応シミュレーションプログラムと、それら各プログラムによるシミュレーションの結果を画像表示するための画像処理プログラムとが記憶されている。
前記演算サーバ1,1,…は、その動作中に必要に応じて一般的な手法によりモデルデータベースDB11にアクセスすることができる。このモデルDB11には、1次元及び3次元のCFD演算に用いられるエンジンの物理モデルが格納されているとともに、その雛形がエンジンの各部位毎に種別された状態で格納されており、また、前記プリプロセッサにより新たに構築されたモデルも格納されるようになっている。前記物理モデルの雛形というのは、例えば吸気系のサージタンク、独立吸気通路、吸気ポート等や排気系の排気ポート、排気マニホルド、EGR通路等のように吸気や排気が流通する部位の基本的な形状を模擬し、且つその寸法、形状や材質、表面の状態、熱伝導率等の物理特性値が変更可能な部品モデルであって、以下、この実施形態ではテンプレート部品と呼ぶ。
そのように寸法、形状や物理特性値を変更可能なテンプレート部品のデータが格納されたモデルDB11を備えることで、このモデルDB11から読み込んだテンプレート部品の寸法、形状等を修正して組み合わせて、その内部に計算格子(メッシュ)を生成すれば、CFD演算のためのエンジンの物理モデルを構築することができる。また、そのようにして一旦、構築したモデルも前記モデルDB11に格納されるので、必要に応じてそのモデルを修正することもでき、エンジンの設計変さらにも容易に対応することができる。
また、前記演算サーバ1,1,…は、その動作中に必要に応じて一般的な手法によりCFD演算データベースDB12にアクセスすることができる。このCFD演算DB12には、CFD演算における計算の時間刻み、離散化スキーム、緩和係数等の計算条件やそれ以外にCFD演算のために用いられる種々のデータが格納されている。例えば、CFD演算DB12には、詳しくは後述するが、シミュレーションの始期に行う助走演算の態様(助走条件)を3次元の物理モデルに対応付けて予め設定した助走条件マップと、定常的な模擬運転条件下で3次元のCFD演算を行うときに、計算が発散すると予想される時間帯を予め特定した発散時間帯マップとが格納され、さらには、そのような計算の発散を防止するために行う計算条件の補正の仕方を予め設定した計算条件補正マップ(計算条件変更特性)等も格納されている。
また、前記演算サーバ1,1,…は、その動作中に必要に応じて一般的な手法により化学反応データベースDB13にアクセスすることができる。この化学反応DB13は、エンジンの気筒内燃焼室に充填されて燃焼に寄与する吸気中の種々のガス成分(化学種)のうちから代表的なものを、気筒内の状態を表す種々の物理量の組に対応付けて予めグループ化した状態で、格納したものである。従って、詳しくは後述するが、CFD演算の結果として得られる気筒内の状態に応じて、これに対応するガス成分のグループを前記化学反応DB13から読み込み、それらガス成分の化学反応をそれぞれ模擬することによって、燃焼状態を模擬することができる。
図示の符号2は、主にエンジンの諸元値、物理特性及び性能特性を互いに関連づけて記憶した実験データのデータベースDB14(実験DB)に接続されて、そのデータの管理を行うコンピュータ装置である(以下、実験DBサーバという)。すなわち、エンジンやトランスミッションに関する過去の実験・開発の過程で蓄積されたデータは、周知の統計的解析手法により整理されて、エンジンの諸元値、その物理特性(例えば体積効率、燃焼特性、損失係数等)及びその性能特性(例えば出力、燃費、エミッション等)を互いに関連づけた実験式として、実験DB14に格納されている。そして、この実験式に基づいて、例えばエンジンの諸元値や物理特性からその性能特性を予測することができるようになっている。
また、図示の符号3は、エンジンの設計を支援するための3次元CADシステムのコンピュータ装置である(以下、設計CADサーバという)。この設計CADサーバ3は、機械設計や構造解析のための汎用のCADプログラムを実行するとともに、その動作中に必要に応じて、一般的な手法により設計データベースDB15(設計DB)にアクセスして、エンジンの設計CADデータを呼び出したり、それらに変更を加えて新たに設計DB15に格納したりすることができる。すなわち、設計DB15には種々のエンジンの3次元の設計CADデータが、そのエンジンの各部位毎に個別に取り出して利用できる状態で格納されている。
図示の符号5,5,…は、それぞれパーソナルコンピュータからなる端末(PC端末)であり、これらはパワートレインの設計部門、開発部門、実験部門等に複数台ずつ配置されていて、光通信ケーブル等を用いたネットワーク6によって前記演算サーバ1,1,…、実験DBサーバ2、設計CADサーバ3に双方向通信可能に接続されている。そして、該各PC端末5において、オペレータの操作に従ってシステムの制御プログラムが実行されると、該各PC端末5は前記ネットワーク6を介して演算サーバ1,1,…等に接続されて(ログイン)いわゆるサーバ・クライアント環境を構成し、主に演算サーバ1,1,…との間でコマンドやファイルの授受を行い、これによりエンジンの運転シミュレーションを実行するようになっている。
尚、前記実験DBサーバ2、設計CADサーバ3及びPC端末5にもそれぞれ演算サーバ1と同様にハードディスクドライブ等の記憶装置が内蔵され、また、ディスプレイ10や出力装置、入力デバイス等が接続されている。
(CFD演算)
次に、前記1次元及び3次元のCFDについて、4サイクル4気筒ガソリンエンジンの運転シミュレーションを具体例として説明する。
この例では、CFDの演算に要する時間をできるだけ短縮するために、基本的には1次元のCFDを基本としながら、必要に応じてエンジンの一部分を3次元のCFDにより置換するようにしている。すなわち、例えば図2(a)に示すように、エンジンの吸気通路上流のスロットル弁thvから第1〜第4気筒c1〜c4の燃焼室を経て触媒コンバータcatに至る1次元CFDの物理モデルM1を基本として、例えば解析の主たる目的が前記触媒コンバータcatにに流入する排気流の偏り具合を調べることである場合に、排気マニホルドexmを同図(b)のような3次元のモデルM3で置き換えるのである。
より具体的に、図示の1次元のモデルM1では、基本的には、サージタンクstから各気筒c1〜c4までの独立の吸気通路と、スロットル弁thvからサージタンクstまでの共通の吸気通路とをそれぞれ管の集合体として表し、同様に、各気筒c1〜c4から排気マニホルドexmの集合部までの独立排気通路と、その排気集合部から触媒コンバータcatの入口までの共通の排気通路とをそれぞれ管の集合体として表す。また、サージタンクstや第1〜第4気筒c1〜c4はそれぞれ容器として表す。尚、図には表示していないが、前記排気マニホルドexmの集合部からサージタンクstの上流に排気の一部を還流させるEGR通路も管の集合体として表せばよい。
このような1次元のモデルM1において管内を流れる吸気や排気の流れはいずれも圧縮性粘性流体の1次元流とみなし、その流れの状態を表す圧力p、密度ρ、速度u及び温度Tの各変数について周知の質量保存、運動量保存及びエネルギ保存の各方程式を、与えられた運転条件(模擬運転条件)の下で数値計算により解いてゆく。すなわち、前記各保存式に基づいて例えば特性曲線法により得られる特性方程式を用いて、流れ変数の値を計算し、スロットル下流から触媒上流までに至る吸排気の流れを所定の時間刻み(例えばクランク角)毎に記述する。この際、容器についてはその内部の状態は一様で、管から流入した流体は瞬時に均一に分布すると仮定する。また、管同士や管と容器との接合部分では適当な境界条件を与える。さらに、管の曲がり具合や壁面における摩擦、熱損失等の影響も考慮することが好ましい。
一方、前記排気マニホルドexmの3次元モデルM3は、各気筒毎の独立排気通路s1〜s4及びその下流の共通排気通路s5の形状をそれぞれ模擬するものであり、例えば、それらの通路の内壁面に所定寸法のレイヤーメッシュを貼り付けるとともに、通路内の空間にメッシュを切って、計算格子に分割したものである。そして、3次元のCFDでは、通路内の排気流を圧縮性粘性流体の3次元流とみなして前記1次元の場合と同様に各保存式を解いてゆく。すなわち、前記各保存式を時間及び空間において離散化して表した例えば差分方程式を用いて、前記1次元のCFD演算や後述の化学反応SIMにより与えられる境界条件の下で通路内の流れ場を計算し、この計算を所定の時間刻み毎に繰り返すことで、時々刻々と変化する排気マニホルド内の流れの様子を3次元で記述することができる。
そのように1次元及び3次元のCFDを組み合わせる場合、吸排気の流れが1次元と3次元との間で入れ替わる部位、すなわち3次元モデルの境界面においては、1次元CFDの演算結果に基づいて、3次元CFDの境界条件(境界面上の流れ変数の値)を与えることになるが、一般的に、1次元流においては流れ変数p,ρ,u,Tがその流れの横断面において一様であるとみなすので、これをそのまま3次元の境界面に受け渡しても正確なシミュレーションが行えるように、流れがその横断面全体で概ね一様になっている部位に境界面を設定するのが好ましい。
そして、そのように演算データを受け渡しながら、全体的な吸排気の流れは簡易な1次元モデルM1を用いて演算し、特に高い精度の要求される部位(この場合は排気マニホルド)については自動的に3次元のモデルM3に置き換えて演算が行われることで、1+3次元のCFDシミュレーションを極めて容易に実現することができ、解析の精度を確保しながら、そのための計算量を削減して、解析に要する時間を短縮することができる。
また、前記排気マニホルドの3次元モデルM3は、例えば各独立吸気通路s1〜s4及び共通排気通路s5に分割することができるので、排気マニホルド全体を3次元のモデルM3に置き換えるのではなく、例えば各気筒毎の独立排気通路については対応する気筒c1〜c4が排気行程にあるときにのみ3次元のモデルs1〜s4に置き換えて、この単独の独立排気通路のモデルs1〜s4を共通排気通路のモデルs5と組み合わせたものを用いるようにしており、このことで、計算量をさらに削減することができる。
(化学反応シミュレーション)
上述の如くエンジンの吸排気の流れをCFDによって模擬するとともに、この実施形態では、圧縮及び膨張行程にある気筒内の混合気や燃焼ガス等については、その運動を無視して、燃焼状態を模擬する化学反応シミュレーションを行うようにしている。具体的には、まず、上述の如き1次元又は3次元のCFD演算によって、気筒内の燃焼室に充填される吸気の状態、即ち圧力p,密度ρ,速度u及び温度Tを求める。その際、気筒の下死点と吸気バルブの閉時期とが異なることを考慮して、一度、気筒内に流入した後の吸気の吹き返しも模擬するようにすることで、気筒内に充填される吸気の状態を正確に求めることができる。
そのようにして、圧縮行程初期の燃焼室の圧力p及び温度Tが求められ、吸気流速uからは気筒内流動の強さが求められる。一方、混合気の空燃比(又は気筒への燃料供給量)や燃焼室に残留する既燃ガス(内部EGRガス)の量、気筒壁温等は、シミュレーションにおけるエンジンの運転状態(例えばエンジン負荷と回転速度等)に基づいて求められる。すなわち、この実施形態では、前記空燃比、内部EGRガス量、気筒壁温等の物理量の値をエンジンの運転状態に対応付けて予め設定したマップを備え、シミュレーション中のエンジンの運転状態に基づいて前記マップから複数の物理量の値を読み込むようにしている。
そして、前記したようにCFD演算の結果と与えられたエンジン運転条件とに基づいて、圧縮行程初期における燃焼室の状態を表す複数の物理量の値が求められれば、図3に模式的に示すように、その物理量の組に対応するガス成分のグループを化学反応DB13から読み込むことで、化学反応シミュレーションに用いる作動ガスの成分を、CFDによる流れのシミュレーションとエンジンの運転条件とを反映させた適切なものとすることができる。
前記化学反応DB13におけるガス成分グループのデータは、前記図3に一例を示すように、主に燃料として供給される種々の炭化水素と、空気中の窒素や酸素と、EGRガスに含まれる炭化水素、炭酸ガス、水蒸気等とのうちから、前記気筒の状態を表す物理量の組に対応する代表的なものを、その反応式とともに記憶したものである。すなわち、一般に、エンジンの燃焼に関連する化学種及びその反応式を全て挙げれば、これは約3000種類以上にも上るものであり、仮にその全てを演算しようとすれば、演算量が著しく多くなってしまい、シミュレーションの時間を徒に長引かせることになる。
この点、全ての化学素反応を挙げるのではなく、燃焼の状態を模擬する上で特に重要なもの、即ち燃焼を模擬する代表的なもののみに絞り込めば、それはせいぜい数十から数百程度で済むので、この実施形態では、エンジンの運転状態によって変化する代表的な化学素反応のみを所定数(例えば100)以下となるように抽出して、これに対応する代表的なガス成分のみを化学反応DB13に格納するようにしている。これにより、化学反応シミュレーションに用いるガス成分の数が適切なものになり、所要の精度をを確保しながら演算量を大幅に減らすことができる。また、化学反応DB13の大きさも適度のものとすることができる。
そして、前記の如く抽出したグループのガス成分(化学種)に基づいて、まず、気筒の圧縮行程では、ピストンの上昇に伴い燃焼室の圧力pが上昇し、これに伴い温度Tが上昇することと、気筒壁面との熱交換によって熱を奪われることとを考慮して、そのような条件下における各ガス成分の反応を逐次、記述する。この圧縮行程での化学反応シミュレーションにより、当該気筒において火花点火が行われる前の前炎反応やプレイグニッションの発生等を再現することができる。
また、気筒の圧縮上死点近傍では火花点火による混合気の着火を模擬し、これによる化学反応(燃焼)の進行を、気筒の膨張行程における燃焼室容積の増大を加味しつつ膨張行程終了時点まで逐次、記述する。そして、その膨張行程での化学反応シミュレーションの結果として得られる気筒内の既燃ガスの組成、合計の発熱量や気筒壁面との間の熱交換、ピストンに加えられた仕事量、該ピストンの下降に伴う燃焼室容積の拡大等に基づいて、当該気筒が排気行程に移行したときに燃焼室から排出される既燃ガス(排気)の状態を求める。このデータは上述したCFDプログラムにおける排気流の初期値とされる。
(シミュレーションの概要)
次に、この実施形態に係るエンジン性能の予測解析システムAによるシミュレーションの手順を説明する。図4にメインプログラムの概略を示すように、まず、PC端末5,5,…のいずれかにおいて画面表示等に従ってオペレータが所定の入力操作を行うことにより、エンジンシミュレーションのためのデータ(初期設定データ)が入力される(S1)。これは、既にエンジンモデルが構築されている場合には、モデルDB11に格納されているエンジンモデルを特定するための識別コードと、シミュレーションするエンジンの運転条件(模擬運転条件)等であり、エンジンモデルが構築されていない場合には、さらにモデルの構築に必要な情報が含まれる。
例えば、前記図2に示す4気筒エンジンのモデルについて説明すると、エンジンの吸排気系、燃焼室等の寸法・形状を表す幾何データ、それらの熱伝達率等の物理的特性を表す物理データ、或いはそれら詳細なデータに代えて、実験DB14や設計DB15に格納されているエンジンのデータを指定するコード等をPC端末5に入力させる。
また、エンジンのどの部位について3次元のモデルを用いるか選択させ、さらに、その部位について気筒のどの行程で3次元演算を行うか選択させる。すなわち、例えばエンジンの排気系の設計開発を支援することが解析の目的であれば、オペレータは、図2(b)に示すように排気マニホルドに3次元のモデルM3を用いるように選択して設定すればよく、さらに、そのうちの独立排気通路s1〜s4については対応する気筒が排気行程にあるときにのみ、3次元のCFD演算を行うように設定するのが好ましい。
続いて、ステップS2では、前記ステップS1において入力されたシミュレーションデータに基づいてエンジンモデルを構築するか、或いはモデルDB11から読み込んで、これを演算サーバ1,1,…の内部記憶装置(メモリ)に格納する。例えば、図2(a)に示すような、吸気系の一部から排気系の一部までに亘る1次元のCFDモデルM1と、各気筒c1〜c4毎の独立排気通路s1〜s4及び共通排気通路s5に分割可能な排気マニホルドの3次元モデルM3とがメモリに格納される。
尚、3次元のモデルM3を新たに構築する場合には、例えば、前記シミュレーションデータに基づいて、設計DB15から排気マニホルドの形状を表す3次元の設計CADデータがPC端末5に読み込まれ、これに境界面やメッシュの情報を指定するデータを付属したモデル作成コマンドが作成されて、演算サーバ1,1,…に送信される。そして、このコマンドを受け取った演算サーバ1,1,…ではプリプロセッサが起動されて、排気マニホルドの通路の内壁面にレイヤーメッシュを貼り付け、また、内部空間にメッシュを切っていく。
或いは、前記初期設定データに基づいて別のモデル作成コマンドがPC端末5から演算サーバ1,1,…に送信されると、このコマンドを受け取った演算サーバ1,1,…では、モデルDB11からサージタンクの基本的な形状を表すテンプレート部品のデータを読み込んで、この部品の寸法、形状等を変更することにより、CFD演算のためのメッシュを備えた3次元のモデルを構築する。
また、化学反応シミュレーションに関してはクランク角度の変化に対する気筒内容積の変化や気筒壁温に応じた熱伝達率の変化等を規定する容器のモデルを用いる。この容器モデルは、その内部の混合気や燃焼ガスの運動がないものとみなす、という意味において0次元の物理モデルである。
前記の如く演算サーバ1,1,…のメモリに格納したモデルを用いて、ステップS3では、エンジン運転中の吸排気の流れと燃焼室における燃焼の状態とを模擬するシミュレーション演算を行う。この演算処理の詳細について一例を挙げれば、この実施形態では、PC端末5と演算サーバ1,1,…との間でプログラムのデータファイルや実行ファイルを相互に送信及び受信しながら、該演算サーバ1,1,…により1次元及び3次元のCFD演算と化学反応シミュレーションとを同時並行的に実行するようにしている。
例えば、CFD演算の処理手順としては、まず、1次元CFD演算のモデルM1に対しシミュレーションの始期における境界条件(流れ変数p,ρ,u,T等)とエンジンの運転条件を入力し(S31:条件入力)、これに基づいて1次元流れの特性方程式を計算する(S32:CFD演算)。すなわち、図2(a)に示すモデルM1において、流れの入口側の境界であるスロットル弁thvと出口側の境界である触媒コンバータcatとにおける流れ変数の境界値が前記シミュレーションデータに基づいて与えられ、これにより、スロットル弁thv下流から各気筒c1〜c4の燃焼室を経て触媒コンバータcatに至る吸気及び排気の流れ場が求められる。
続くステップS33では、前記流れ場のデータを保存するとともに、このデータに基づいて3次元CFDの境界条件を与える。すなわち、前記1次元の流れ場のデータがデータファイルとして演算サーバ1,1,…からPC端末5に転送され、このデータファイルを受け取ったPC端末5では、1次元の流れ場のデータから所定の方法で3次元モデルの境界面(この実施形態ではいずれかの独立排気通路s1〜s4の入口と共通排気通路s5の出口)における流れ変数p,ρ,u,Tの値(境界値)を求めて、この境界条件を含んだ3次元CFDプログラムの実行ファイルを作成し、演算サーバ1,1,…に返送する。
続いて、前記の実行ファイルを受け取った演算サーバ1,1,…では3次元CFDプログラムを起動し、排気マニホルドの3次元モデルM3に前記境界条件やエンジンの模擬運転条件等の所定の演算条件を入力して(S34:条件入力)、これに基づいて3次元流れの差分方程式を計算する(S35:CFD演算)。すなわち、図2(b)に示す排気マニホルドのモデルM3のうち、対応する気筒が排気行程にある独立排気通路s1〜s4と共通排気通路s5とを組み合わせた3次元モデルが用いられ、その入口及び出口(境界面)における流れ変数の値(境界条件)に基づいて、当該通路内を流れる排気の状態(流れ変数p,ρ,u,T)、即ち排気の流れ場が3次元で求められる。そして、そうして求めた3次元の流れ場のデータを演算サーバ1,1,…のメモリに保存する(S36:データ保存)。
そのようにして1+3次元で求められたシミュレーション始期における流れ場のデータのうち、例えば気筒内の燃焼に係るものや当該気筒から排出される既燃ガスの状態等は、後述するが、所定のタイミングで化学反応シミュレーションの結果に基づいて書き換えられる(データの変換、提供及び書換:S37)。その後、エンジンのクランク角を予め設定した微小クランク角(時間刻み)だけ進めて(インクリメント:S38)、シミュレーションの終期として設定されたクランク角位置になったかどうか判定し(S39)、この判定がNOであれば、前記ステップS31に戻って、1次元及び3次元のCFD演算(S31〜S36)を微小クランク角毎に繰り返し実行する。
こうして、1+3次元のCFD演算がシミュレーションの始期から終期に至るまで、前記微小クランク角毎に繰り返し行われることで、エンジンの吸排気の流れ場が時々刻々と変化する様子を時系列に記述したデータが、演算サーバ1,1,…の内部記憶装置に格納される。
尚、上述の如くシミュレーションデータ(ステップS1)に含まれる運転条件は、エンジンの定常運転状態を模擬する場合には略一定であり、このときには1次元CFDモデルM1のスロットル弁thvにおける吸気流の境界値(変数p,ρ,u,T等)は略一定となる。一方、運転状態が変化する非定常運転状態を模擬する場合には、そのように変化する運転状態を表す時系列の模擬運転条件が前記シミュレーションデータに含まれており、前記フローのステップS31、S34では、それぞれクランク角の変化に応じて変化する運転条件が与えられることになる。また、後述するが、解析の途中で前記シミュレーションデータに含まれていない運転状態を模擬するために、キーボード等からの入力によって割り込みで運転条件を変更することもできるようになっている。
上述のした1+3次元のCFD演算と並行して、圧縮行程及び膨張行程にある気筒についてはそれぞれ化学反応シミュレーション(化学反応SIM)の演算が行われる。すなわち、シミュレーションの進行に伴い、いずれかの気筒(以下、例えば第1気筒c1として説明する)が吸気行程から圧縮行程に移行したときには、図5に模式的に示すように、上述したCFD演算による演算結果のデータが演算サーバ1,1,…からPC端末5に送信される。このデータを受け取ったPC端末5では、該データに基づいて第1気筒c1に充填された吸気の圧力p、温度T等や吸気中のEGRガスの割合を求めるとともに、現在のエンジンの運転条件に基づいて空燃比や気筒壁温等の物理量の値をマップから読み込み、これら気筒内の状態を表す物理量の組を特定して、この物理量の組に対応する識別コードを含む化学反応シミュレーションプログラムの実行ファイルを演算サーバ1,1,…に送信する(このプログラム間でのデータの授受を図に結果処理*1として示す)。
前記実行ファイルを受け取った演算サーバ1,1,…では化学反応シミュレーションプログラムが起動され、図4のフローに示すように、前記識別コードの物理量の組に対応するガス成分のグループデータを化学反応DB13から読み込んで、(S41:化学種の読込み)、第1気筒c1の容器モデルにより燃焼室容積の拡大を模擬しながら、予め設定した微小クランク角(時間刻み)におけるガス成分の化学反応を記述して(S42:化学反応演算)、その結果を保存する(S43:データ保存)。このような化学反応式の演算が当該気筒c1の圧縮行程初期から膨張行程の終期に至るまで、前記微小クランク角毎に繰り返し行われ、これにより、当該気筒c1内の燃焼室における圧縮及び膨張行程の作動ガスの状態を時系列に記述したデータが化学反応演算の結果として記憶装置に格納される。
そして、前記第1気筒c1が膨張行程を終了して排気行程に移行すれば、当該気筒c1についての化学反応シミュレーションは終了して、図に結果処理*2として示すように、第1気筒c1の燃焼室から排出される既燃ガス(排気)の組成や燃焼による発熱、仕事量等のデータが演算サーバ1,1,…からPC端末5に送信される。このデータを受け取ったPC端末5では、第1気筒c1の燃焼室から排出される既燃ガス(排気)の組成や燃焼による発熱、仕事量等に基づいて、気筒から吹出す排気流の初期状態を表す変数p,ρ,u,Tを求め、この変数のデータファイルと、これに基づいてCFD演算の演算結果データを書き換えるための所定のコマンドとを作成して、演算サーバ1,1,…に返送する。
そうして、前記コマンド及びファイルを受け取った演算サーバ1,1,…により、図4のフローのステップS37において、1次元CFD演算の演算結果データにおける第1気筒c1の圧縮行程及び膨張行程の部分が書き換えられる。また、EGRを考慮して、前記排気の組成に基づいて化学反応DB13におけるガス成分のデータが修正される。
上述したように、メインプログラムのステップS3では、シミュレーションの始期から終期までに亘りエンジンのクランク角の変化に同期して、1+3次元のCFD演算と化学反応シミュレーション演算とが並行して行われる。そして、シミュレーションの終期として設定されたクランク角位置になれば(S39で判定がYES)、ステップS4に進んでシミュレーションの結果を出力し、しかる後に制御終了となる(エンド)。
前記ステップS4におけるシミュレーション結果の出力としては、演算サーバ1,1,…の記憶装置に保存されている時系列の演算結果のデータのうちから所要のものを読み出して、PC端末5に転送し、このデータに基づいて、エンジン性能に関する所定の評価値の出力を行うようにすればよい。例えば、エンジンの出力特性、燃費特性、エンジン運転状態の変化に伴う各気筒の体積効率の変化等をグラフ化して、サーバ1,1,…やPC端末5のディスプレイに画像表示すればよい。また、例えば排気マニホルド内の排気の流れ等について3次元CFD演算の結果を可視化して、画像表示するようにしてもよい。
前記図4に示すフローのステップS32が、1次元のCFDプログラムを実行して、エンジンの吸排気の流れ場を演算する第1CFD演算ステップに対応し、同様にステップS35が、3次元のCFDプログラムを実行して、吸排気の流れ場を演算する第2CFD演算ステップに対応している。また、ステップS33,S34は、前記第1CFD演算ステップにより演算された流れ場のデータに基づいて、前記第2演算ステップによる3次元のCFD演算の境界条件を与える境界条件付与ステップに対応している。
そして、この実施形態の予測解析システムAでは、前記演算サーバ1,1,…において前記フローのステップS32及びステップS35がそれぞれ実行されることにより、この演算サーバ1,1,…が、1次元CFDプログラムを実行する第1CFD演算手段1a、及び3次元CFDプログラムを実行する第2CFD演算手段1cをそれぞれ構成する。また、前記演算サーバ1,1,…及びPC端末5,5,…において前記フローのステップS33,S34が実行されることにより、これら演算サーバ1,1,…及びPC端末5,5,…が、前記1次元CFDプログラムにより演算された流れ場のデータに基づいて、3次元CFD演算の境界条件を与える境界条件付与手段1bを構成する。
(CFDにおける計算の発散の防止)
ところで、上述の如く、エンジンの吸排気の流れを一部分だけ3次元流として模擬し、1次元のCFD演算により求めた流れ場のデータを自動的に3次元CFDの境界条件として与えるようにした場合、その境界条件が大きく変化することに起因して、3次元のCFD演算において数値振動(流れ変数値の計算上の振動)が発生し、計算が発散してしまうことがある。
すなわち、一般に、自動車用エンジンの燃焼は間欠燃焼であるから、その運転条件が変わらない定常運転状態であっても、吸排気の流れは変動の大きな非定常流であり、例えば排気マニホルドの独立排気通路では、対応する気筒の排気弁が閉じていて、他の気筒からの排気が下流側から上流側に向かって比較的ゆっくりと逆流している状態から、当該気筒の排気弁が開いて高温高圧の既燃ガスが高速で吹出す状態まで、極めて広い範囲で流れの状態が変化する。
より具体的に、図6は、排気マニホルドの所定部位における排気流速の変化を第1気筒の1燃焼サイクルに亘って観測したものであり、同図によれば、*1、*2として示すように、観測地点に各気筒からの排気流が到達する度に流速が上昇する様子が見て取れる。そのため、上述の如く排気マニホルドの一部のみを3次元のモデルで模擬するようにした場合、このモデルの例えば排気入口側境界面において排気流の圧力p、密度ρ、速度u、温度等T等、即ち1次元のCFD演算の結果として与えられる境界条件が非常に大きく変化することになり、このことに起因して大きな数値振動が発生するものである。
特に、同図に*1として示すシミュレーションの開始時点では、3次元の物理モデル内において空間的に離散化された流れ場が略静止状態になっており、各計算点の流速uは零(0)であるから、そのモデルにいきなり境界条件を与えて、図7(a)に示すような非定常な流れ場の計算を開始すると、当該モデル内の各計算点において1回の時間刻みの後に排気流速が初期値0から急変することになり、このことによって、同図(b)に模式的に示すように大きな数値振動が発生し、計算が発散してシステムダウンに至ることが多い。
そのような問題に対して、例えば、計算の時間刻みを短くしたり、安定性の高い低次のスキームを採用したりすることが、即ち計算条件を緩くすることが考えられるが、計算の時間刻みを短くすれば、そのことが直接的に計算時間の増大を招くことになるし、低次のスキームを採用した場合には離散化に伴う数値誤差がいわゆる数値粘性として作用するので、数値振動は抑えられるものの解析精度が低下することは避けられない。
(1)シミュレーション開始時の助走演算
斯かる問題点に鑑みて、この実施形態の予測解析システムAでは、まず前記*1のようなシミュレーションの開始時点で最初に3次元のCFD演算を始めるときには、1次元CFDの演算結果から与えられる境界条件をそのまま用いるのではなく、例えば図7(c)に模式的に示すように、境界条件を変化前の条件(図の例では排気流速値0)から変化後の条件(図の例では与えられた排気流速値)まで徐々に変更しながら、予備的にCFD演算(以下、助走演算ともいう)を行う助走期間を設けるようにしている。
すなわち、同図に実線で示すように、まず助走期間の前半では、境界条件が時間(又はクランク角)の変化に対して所定の変化度合いとなるよう予め設定した勾配で変更しながら、この境界条件に基づいて3次元のCFD演算を実行する。このように境界条件を徐々に変更すれば、時間刻み毎の変化は小さくなるので、同図に模式的に破線で示すように、モデル内の各計算点における数値振動が小さなものとなる。また、期間の後半では、境界条件を所定期間、概略一定に維持して、3次元CFD演算を実行する。こうすることで、前記期間の前半に生じた小さな数値振動も速やかに減衰し、モデル内の全体で流れ場が概ね定常的な状態になる。
そして、そのようにして定常的な状態となったモデル内の流れ場を初期状態として、新たにCFD演算を開始するようにすれば、たとえ高次の差分スキームを用いた高精度の非定常流動計算を実施していても、計算が発散することはなくなり、システムダウンを防止することができる。
以下に、前記の助走演算について図8のフローに基づいて具体的に説明する。このフローは、シミュレーションの始期において、上述したメインプログラム(図4)のステップS34〜36により3次元のCFD演算を行う前に、実行するものであり、まず、スタート後のステップS340でシミュレーションの始期であるかどうか判定し、始期でなければ制御を終了して前記メインプログラムのステップS34に進む一方、判定がYESでシミュレーションの始期であれば、ステップS341に進む。
このステップS341では、CFD演算DB12から読み込んだ助走条件マップを参照して、3次元のCFD演算に用いる各独立排気通路のモデルs1〜s4に対応する助走条件を選択する。このように助走条件をモデルに対応付けて設定するのは、次のような理由による。すなわち、助走期間における境界条件の変更の度合いは緩やかであるほど数値振動を抑えやすく、計算の発散をより確実に防止することができるが、その一方で、助走期間が長くなると、その分だけ計算の遅延を招くことになり、好ましくない。また、実際に数値振動が大きくなるかどうかについてはメッシュを含むモデルの形状等の影響が大きく、例えば吸排気の流れる通路の形状が複雑で異形のメッシュの個数が多いときには、このメッシュと周囲のメッシュとの間で流れ変数の偏差が大きくなり、数値振動が大きくなりやすい。
従って、そのように数値振動が大きくなって、計算が発散しやすいモデルに対しては、境界条件を十分に緩やかに変更する必要があるから、例えば助走期間の前半で境界条件の変化勾配を緩やかにしたり、或いは後半の時間を長くしたりするのがよい。一方で、発散が起きにくいモデルに対しては、前記勾配を比較的急にしたり、或いは後半の期間を短めにして、境界条件を比較的早く変更するのが好ましい。そのために、この実施形態では、予め実験等により各モデルに対応する適切な助走条件を求めて、これを助走条件マップとしてCFD演算DB12に格納しておき、助走演算を行う際には、各モデル毎に対応する助走条件を前記マップから読み出して、設定するようにしている。
さらに、前記ステップS341では、前記の如く読み出した助走条件を、エンジンの模擬運転条件(例えば模擬する負荷状態、回転速度、温度等)に応じて変更する。すなわち、例えば、エンジンの模擬運転条件が高負荷状態であって、排気の温度が高く且つ流量が多いときには、低負荷状態を模擬するときに比べて境界条件を緩やかに変更するのが好ましい。また、例えばエンジン冷間を模擬するときには、排気マニホルドの壁部や通路内の温度が比較的低い状態で、高温高圧の排気が流通することになるから、両者の温度差が比較的小さい温間に比べて境界条件を緩やかに変更するのが好ましい。
そして、そのように補正して設定した助走条件に従って、ステップS342において境界条件を少しだけ変更して3次元のモデルに入力し、続くステップS343において、メインプログラムのステップS35と同様にCFD演算を行う。続いて、ステップS344において同ステップS36と同様に流れ場のデータをメモリに保存し、続くステップS345では同ステップS38と同様にクランク角をインクリメントする。そして、続くステップS346において、助走期間に対応するクランク角範囲が経過したかどうか判定して(助走期間経過?)、この判定がNOであれば、前記ステップS342に戻って、助走演算(S342〜S345)を続ける一方、判定がYESであれば、助走演算を終了して、前記メインプログラムのステップS35に進み、本来のCFD演算を開始する。
つまり、助走期間において3次元モデルの境界条件を徐々に変更しながら、予備的に3次元CFD演算を行い、これによりモデル内の全体で流れ場が概ね定常的な状態になった後に、これを初期状態として新たに3次元CFD演算を開始することで、そのCFD演算が高次のスキームを用いた高精度の3次元非定常流動計算であっても、計算が発散することを防止できる。
前記図8に示す助走演算のフローにおいて、ステップS341が、助走条件、即ち助走期間における境界条件の変更の仕方を、エンジンの模擬運転条件及び3次元のモデルに対応付けて設定する助走態様設定ステップに対応している。
また、ステップS342〜346が、シミュレーションの開始時に最初に3次元のCFD演算を実行するときに、1次元のCFD演算の結果に基づいて与えられる境界条件が所定以上に大きく変化することを考慮して、この境界条件を予め設定した態様で徐々に変更しながら、3次元のCFDプログラムを実行する助走演算ステップに対応している。
また、この実施形態では、前記助走態様設定ステップ及び助走演算ステップをそれぞれ実行することで、演算サーバ1,1,…が助走態様設定手段1d及び助走演算手段1eを構成する。
尚、前記の助走演算の途中で、それまでの演算結果により求められた流れ場の状態に基づいて、助走条件を修正するようにしてもよい。すなわち、前記図8のフローのステップS346においてNOと判定してステップS342に戻るときに、メモリに保存した流れ場のデータに基づいて、時間の経過とともに流れ場の変動状態が大きくなっているかどうか判定し、流れ場の変動が大きくなっていれば、例えば助走期間の前半における境界条件の変化勾配を予め設定した所定値だけ小さくして、その変化が相対的に緩やかになるように修正する。一方、変動が大きくなっていなければ、例えば前記変化勾配を前記所定値だけ大きくして、境界条件をより早く変更するように修正する(図に仮想線で示すステップS347)。
そのように助走条件を修正した上で、この修正後の助走条件に従って前記ステップS342〜345を実行することを繰り返せば、助走期間における境界条件の変更の仕方を最適化することができる。従って、前記ステップS347は、CFD演算の途中で、演算される流れ場の変動が相対的に小さくなるように、それまでの演算結果に基づいて境界条件の変更の仕方を修正する助走態様修正ステップに対応する。
(2)計算条件の変更補正
上述の如くシミュレーションの開始時点において助走演算により計算の発散を防止するとともに、この実施形態では、シミュレーションの途中で前記図6の*2のように流れが急激に変化する時間帯では、一時的に3次元CFDの計算条件を緩和して、計算の発散を防止するようにしている。
具体的に、まず、エンジンの定常運転状態を模擬する場合には、予めその模擬する運転条件の下で1次元のCFD演算を少なくとも各気筒の1燃焼サイクル分、行い、この結果から、3次元CFDのモデル内の流れ場の変動が大きくて、計算の発散が予想される時間帯を特定しておく。例えば、1次元のCFDにより求めた或る時点の流れ場において流れ変数の値が急変するような計算の厳しい部位があり、この部位において隣り合うメッシュ間の流れ変数の偏差が大きければ、この部位における流れ変数の変化を時系列に調べる。そして、前記図6に*2として示すように流れ変数(図の例では排気流速)が急激に変化する時間帯があれば、この時間帯において計算が発散すると予想することができる。
そのように非定常な吸排気の流れを模擬する1次元のCFD演算は非定常計算になり、時間がかかるので、その非定常流れに含まれる幾つかのパターンの定常流れをそれぞれ模擬する1次元のCFD演算を行って、これにより発散の予想される時間帯を特定することもできる。例えば排気マニホルドの場合、1次元のモデルM1(図2参照)を用いて、各気筒c1〜c4毎の独立排気通路をそれぞれ上流側から下流側に排気流が流れる4通りの定常状態と、触媒cat直上の排圧が高くなってそこから上流側に排気が少し逆流する定常状態とをそれぞれ計算し、これにより計算の厳しい場所を特定することができる。
そうして特定した時間帯を、前記模擬運転条件下で3次元CFDの計算が発散する時間帯(発散時間帯)として、この模擬運転条件と前記モデルとに対応付けて発散時間帯マップに設定する。そして、図4のメインフローに示すような流れ解析のための1+3次元のCFD演算を行うときには、そのうちの3次元のCFD演算において前記発散時間帯になれば一時的に計算条件を緩くなるように変更補正する。
一方、例えば10・15モードのようにエンジンの運転状態が広い範囲で変化する非定常運転状態を模擬する場合には、解析の準備のために全ての運転条件を時系列に入力して予め1次元のCFD演算を行うとすると、この準備に時間がかかり過ぎるきらいがあるので、この場合には流れ解析のための1+3次元のCFD演算を行いながら、その1次元CFDの結果から3次元CFDの計算が発散するかどうか推定し、この推定時に計算条件を緩和するようにしている。
−定常運転の場合−
次に、まず、エンジンの定常運転状態を模擬する場合において計算条件を変更する具体的な手順を図9のフローチャートに基づいて説明する。このフローの手順は、前記図4に示すメインフローのCFD演算(ステップS3)において行うものであり、スタート後のステップS350では、前記メインフローのステップS34〜S37のように3次元のCFD演算を行い、続くステップS351において運転状態を模擬するエンジンのクランク角を微小クランク角(時間刻み)だけ進めた後に(メインフローのS38)、ステップS352においてシミュレーションの終期として設定されたクランク角位置になったかどうか判定し(メインフローのS39)、この判定がYESであればメインフローのステップS4に進む(エンド)。
一方、前記ステップS352の判定がNOであればステップS353に進んで、前記の如く予め設定した発散時間帯マップを参照して、計算の発散が予想される発散時間帯かどうか判定する。そして、判定がNOであれば前記ステップS350に戻って、3次元のCFD演算を継続する一方、判定がYESで発散時間帯であればステップS354に進んで、模擬運転条件やモデルに対応付けて設定されている最適な方法で(後述する)、3次元のCFD演算における計算条件を発散し難くなるように変更補正する。その後、前記ステップS350に戻って、前記の補正後の計算条件の下で3次元のCFD演算を行う。尚、図には示さないが、前記ステップS353においてNOと判定したときには、補正前の計算条件に戻って3次元のCFD演算を行う。
そのように3次元のCFD演算の途中で特定の時間帯だけ自動的に計算条件を緩和して、発散を防止することができるので、全体的には高次のスキームを用いた高精度の非定常流動計算を実施し、しかも、比較的粗い時間刻みで計算することによって時間短縮を図りながら、同時に計算の発散によるシステムダウンを防止することができる。
また、前記発散時間帯は、予め同じ模擬運転条件の下で1次元のCFD演算を行って、その結果から正確に特定するようにしているので、この時間帯を可及的に短くすることができ、解析精度の確保及び計算時間の短縮とシステムダウンの防止という相反する要求を極めて高い次元で両立することができる。
−非定常運転の場合−
次に、非定常運転状態を模擬する場合の計算条件の変更手順を図10のフローチャートに基づいて説明する。このフローの手順もメインフロー(図4)のステップS3において行うのものであり、まず、スタート後のステップS360では、前記メインフローのステップS31〜S33のように1次元のCFD演算を行い、続くステップS361ではその演算結果に基づいて計算が発散することを推定する。例えば、1次元で計算された流れ場において流れ変数の値が急変するような部位があり、この部位において隣り合うメッシュ間の流れ変数の偏差が設定値以上であれば、計算が発散すると推定することができる。
また、そのような部位における流れ変数の値が一つ前の計算時点と比べて設定値以上、大きく変化しているときにも、計算が発散すると推定することができる。そのような設定値は、模擬運転条件及びモデルに対応付けて予め設定し、CFD演算DB12に格納しておけばよく、通常、模擬運転条件が厳しいほど小さめの値に設定される。
前記ステップS361に続くステップS362では、前記の推定結果に基づいて計算条件を変更するかどうか判定し、この判定がYESであればステップS363に進んで、前記定常運転のフロー(図9)のステップS354と同様に3次元CFDの計算条件を発散し難くなるように補正した後、ステップS364に進んで前記の補正後の計算条件の下で3次元のCFD演算を行う(メインフローのステップS34〜S37)。一方、判定がNOであればそのままステップS364に進む。
そして、前記ステップS364において3次元のCFD演算を行った後に、ステップS365(メインフローのS38)においてクランク角を進め、ステップS366においてシミュレーションの終期かどうか判定して(メインフローのS39)、この判定がYESであればメインフローのステップS4に進む(エンド)一方、シミュレーションの終期でなければ、ステップS367に進んでエンジンの運転条件を更新した後に前記ステップS360に戻って、その更新した運転条件下で再び前記の如き1+3次元のCFD演算を繰り返す(ステップS360〜S365)。
尚、前記ステップS367における運転条件の更新は、基本的にはシミュレーションデータに含まれている時系列の模擬運転条件(例えば10・15モードに設定されているエンジン負荷や回転速度等)を時間刻み(クランク角)の進行に応じて読み込むのであるが、それ以外に、キーボード等からの入力によって割り込みで運転条件が変更されることもあり、この場合には、その割り込みで変更された運転条件が優先的に用いられる。
前記のように、エンジンの非定常運転状態を模擬するときには、定常運転状態を模擬するときのように予め発散時間帯を特定するのではなく、1+3次元のCFD演算を行っている最中に、その1次元のCFD演算により得られた流れ場のデータに基づいて、3次元CFDの計算が発散するかどうか推定するようにしているので、解析の準備に要する時間が短くなり、解析の途中に割り込みで模擬運転条件を変更することもできる。
前記図9、10にそれぞれ示すフローにおいて、図9のS353と図10のS361,S362とが、それぞれ、1次元CFD演算の結果として与えられる境界条件の変化に起因して、3次元CFD演算の計算が発散することを推定する発散推定ステップに対応している。そして、ステップS353では、DB12の発散時間帯マップに設定されている時間帯(模擬運転時間帯)で計算が発散すると推定するようにしており、一方、ステップS361では、1次元CFDの結果から計算が発散することを推定するようにしている。
また、図9のステップS354と図10のS363とが、それぞれ、計算の発散が推定されたときに3次元CFDの計算条件を発散し難くなるように変更補正する計算条件補正ステップに対応しており、このステップS354,S362では、以下に詳述するように、CFD演算DB12に格納されている計算条件補正マップにおいて予め物理モデル毎に設定されている計算条件の補正の仕方に従って、少なくともエンジンの運転条件に基づいて、計算条件を変更するようにしている。
そして、この実施形態では、前記発散推定ステップ及び計算条件補正ステップをそれぞれ実行することにより、PC端末5,5,…が、3次元CFDプログラムによる流れの計算が発散することを推定する発散推定手段1fと、その推定時に計算条件を変更補正する計算条件補正手段1gを構成する。
−計算条件の変更の仕方−
次に、3次元CFD演算における計算条件の変更補正の仕方について具体的に説明する。上述したように、3次元のCFDにおいて計算の時間刻みを短くしたり、低次のスキームを用いたりすると、数値振動を抑えて計算の発散を防止できる反面、計算時間の増大や解析精度の低下という悪影響がある。すなわち、時間刻みを短くするほど計算時間が長くなるし、より低次のスキームを用いるほど解析の精度が低下する、というように、計算条件の変更の仕方によって影響の度合いが異なる。
また、前記のように悪影響のあることを考慮すれば、計算条件の変更期間(時間帯)は短いほどよいし、3次元のモデル全体に亘って計算条件を変更するよりは、そのうちの一部分についてのみ計算条件を変更する方が好ましいといえる。
そこで、この実施形態では、上述の如く1次元CFDの結果に基づいて3次元CFDの計算条件を変更するときに、これを一律に変更するのではなく、計算の発散を防止できる範囲で必要最小限の変更を行うようにしている。すなわち、まず、3次元モデルの形状により計算の発散しやすさが異なることから、予めモデル毎に計算条件の変更の仕方を設定する。また、模擬運転条件やその変化の度合いによって計算の発散しやすさが異なることから、例えばエンジン負荷、エンジン回転速度、それらの変化度合い、エンジン水温等に対応付けて、計算条件の変更の仕方を設定する。さらに、モデルの分割可能な部位毎に発散するかどうか推定し、その推定部位のみについて計算条件を変更する。
より具体的に例えば図2に示す排気マニホルドの3次元モデルM3について説明すると、CFD演算DB12の計算条件補正マップにおいては、前記モデルM3の分割可能な部位、即ち各独立排気通路s1〜s4及び共通排気通路s5毎に、それぞれ計算の時間刻みΔtがエンジン回転速度ne、エンジン負荷(吸気充填効率)ce、エンジン水温Tw及び運転状態変化度αの関数Δt = f(ne、ce、Tw、α)として設定されている。ここで、運転状態変化度αというのは、図11(a)に模式的に示すように、エンジン回転速度、エンジン負荷及びエンジン水温の直交3軸からなる3次元のマップ上で互いに運転状態の異なる2点A,B間の距離として表されるものであり、αが大きいほど運転状態の変化が大きくて、計算が発散しやすくなることを意味する。
そして、前記運転条件等による計算の発散しやすさについては、上述の助走演算の場合と同様に例えばエンジンの高負荷状態で低負荷状態よりも発散しやすく、また、エンジン冷間では温間よりも発散しやすいので、そのように発散しやすいときほど計算の時間刻みが短くなるように前記関数f()を設定すればよい。この際、モデルの影響を正確に反映させるために、事前に3次元のモデルを用いて、図11(b)に示すように運転条件を予め設定した態様で急変させたときの排気の流れを模擬するCFD演算を行い、このときに計算が発散しない範囲で最も精度のよいスキームや緩和係数を選択するとともに、時間刻みΔtを最も長くなるように設定する。
加えて、排気通路内でも圧力波の伝播時間や排気の輸送遅れがあり、前記独立排気通路のモデルs1内でも場所によって厳しい時間帯や厳しさの度合いが異なることを考慮して、事前に1次元のCFDにより排気通路内の部位毎に入口からの距離(排気通路長さ)や通路の代表直径と計算の厳しさとの関係を求めて、これを前記関数f()に反映させるようにしてもよい。すなわち、Δt = f(L、D、ne、ce、Tw、α)となる。ここで、Lは排気通路長さ、Dは直径である。
尚、そのように計算の時間刻みΔtを変更し、また、例えば緩和係数の値を変更しても不十分な場合には、スキームを低次のものに変更すれよい。或いは、必ずしもそのような順序に限定されず、計算条件の変更の仕方は、時間刻み、緩和係数、スキーム等を適宜、変更するようにしてもよい。
前記のように計算条件(又はその変更の仕方)をモデル毎に運転条件に応じて変更補正することで、必要な補正を過不足なく行って計算の発散を防止しながら、それに付随する計算時間の増大や解析精度の低下等の悪影響を軽減することができる。しかも、前記のように計算条件をエンジンの回転速度や負荷等の運転条件の関数として設定しておけば、10・15モードのようにエンジンの運転状態が大きく変化する状況を模擬する場合でも、その模擬運転条件の変化に応じて最適な計算条件を直ちに設定することができ、解析の途中に割り込みで模擬運転条件が変更されたときにも、問題なく対応できる。
そのように適切な計算条件を予め設定した上で、メインフロー(図4)に示す1+3次元のCFD演算を実際に行うときに、そのうちの3次元のCFD演算においては排気マニホルド全体のモデルM3を用いるのではなく、各気筒c1〜c4毎にそれが排気行程にあるときに対応する独立排気通路及び共通排気通路のモデルs1〜s5を組み合わせて用いるとともに、図11(c)に模式的に示すように各気筒c1〜c4毎の排気行程初期(発散時間帯)において3次元モデルs1〜s5のうち計算の厳しい独立排気通路の部位s1〜s4の計算条件のみを変更する。
言い換えると、前記図9、10の各フローにおいて、発散推定ステップS353,S361では、前記3次元モデルM3の分割された各部位s1〜s4毎に計算が発散することを推定し、計算条件補正ステップS354,S363では、前記のように計算の発散が推定された部位s1〜s4の計算条件のみを補正するようにする。こうすることで、モデル全体において計算条件を補正するのに比べて、その条件の補正に付随する計算時間の増大や解析精度の低下という悪影響をさらに軽減することができる。
尚、前記のようにモデルM3の分割可能な部位s1〜s4毎に計算条件を設定すると、その部位s1〜s4毎に計算の時間刻みが異なるものとなって流れ場の計算結果に時間的なずれを生じる虞れがあるが、これについては、例えば、発散の推定された部位の時間刻みを他の部位の1/2、1/3等とする場合に、その部位の計算回数を他の部位の2倍、3倍等とすればよい。
(作用効果)
したがって、この実施形態に係るエンジン性能の予測解析システムAによると、エンジンの吸排気等の流れをCFDの適用により解析する場合に、基本的には1次元のエンジンモデルM1を用いた1次元のCFD演算を行うとともに、予め選択した部位については3次元のモデルM3を用いて、前記1次元のCFD演算により与えられる境界条件の下で、3次元の演算を行うようにしたので、エンジンの出力や燃費等の性能特性を十分に高い精度で予測することができるとともに、そのための演算量は大幅に減少させて、解析に要する時間を短縮することができる。
また、シミュレーションの開始時点で最初に3次元のCFD演算を始めるときには、1次元のCFDにより求められる境界条件をそのまま用いるのでなく、これを徐々に変更しながら予備的にCFD演算(助走演算)を行う助走期間を設けて、この助走演算により求められる変動の少ない流れ場を初期状態として、本来のCFD演算を開始するようにしたので、高次のスキームを用いた高精度の3次元非定常流動計算を実行して、エンジン性能の予測精度を十分に高めながら、その計算において境界条件の急変に起因する数値振動を抑えて、計算の発散によるシステムダウンを防止することができる。
しかも、前記助走期間においては、その期間全体に亘って境界条件を一様に変更するのではなく、期間の前半で条件を徐々に変更した後に所定期間、概略一定の条件に維持するようにしたので、期間の前半に生じた比較的小さな数値振動も減衰して、モデル内の全体で流れ場が略定常的な状態になった後に、本来のCFD演算を開始することができ、これにより、前記の如くシステムダウンを防止できる、という効果がより確実なものとなる。
さらにまた、シミュレーションの途中でエンジンの吸排気の流れが大きく変化し、これにより3次元CFD演算の境界条件が急檄に変化して、計算が発散する虞れのある時間帯では、その時間帯だけ計算条件を緩和することで、計算時間の増大や解析精度の低下という悪影響を抑えながら計算の発散を防止することができる。
その際、計算条件を一律に緩和する補正を行うのではなく、モデル毎に、また模擬運転条件に対応付けて予め設定されている適切な補正の仕方に従って、発散を防止するために必要な最小限の補正を行うとともに、この補正を3次元のモデル全体について行うのではなく、その内でも特に計算の厳しい部位のみにおいて行うようにしているので、前記の如く計算の発散を防止しながら、それに付随する悪影響は最小限に抑えることができる。
加えて、この実施形態では、前記助走期間における境界条件の変更の仕方(助走条件)や前記計算条件の変更の仕方をCFD演算DB12に格納したマップ等に予め設定してあり、それら助走演算や計算条件の補正がシミュレーションの中で自動で行われるようになるので、設計・開発支援ツールとしての実用性は極めて高い。
(他の実施形態)
尚、本発明は前記実施形態に限定されるものではなく、その他の種々の実施形態を包含するものである。すなわち、前記の実施形態では、シミュレーションの開始時点で3次元CFD演算を始めるときに助走演算を行うようにしているが、これは1次元CFD演算にも適用できる。
また、前記実施形態では、助走条件をCFDのモデル及びエンジンの模擬運転条件に対応付けて設定するようにしているが、これに限らず、それらの一方のみに対応付けて設定するようにしてもよい。
また、前記実施形態では、助走期間の前半で境界条件を徐々に変更し、後半では一定に維持するようにしているが、これに限らず、全期間に亘って徐々に変更するようにしてもよい。
さらに、前記実施形態では、3次元のCFD演算において計算の発散する虞れがあるときに計算条件を緩和するようにしているが、このことは1次元のCFD演算にも適用可能である。
さらにまた、前記実施形態では、エンジンの排気マニホルドについて3次元のCFD演算を行う場合について説明したが、これに限るものではなく、例えば吸気系のサージタンク、吸気ポート全体の形状や燃焼室に臨む吸気ポート開口部付近の形状を3次元で模擬するようにした場合の、その3次元CFD演算にも本発明を適用できる。
また、前記実施形態では、各気筒の圧縮及び膨張行程については化学反応シミュレーションを行うようにしているが、これは行わずに、1次元及び3次元のCFDのみによってエンジンの吸排気の流れを模擬するようにしてもよい。
また、前記実施形態では、4サイクルエンジンについてのシミュレーションを行う場合について説明したが、2サイクルエンジンやロータリエンジンについてもシミュレーションを行えることは勿論である。