(57)【要約】【課題】  計算格子を移動させる際に生じるつぶれや歪みを抑え、高品質な計算格子を形成する計算格子形成装置、計算格子形成方法、及びプログラムを提供する。【解決手段】  計算空間を物体６０の直近の領域である物体固定領域５１と、物体固定領域から所定の格子点数だけ離れた領域である変形領域５５と、物体固定領域５１及び変形領域５５の間に設けられる緩衝領域５３とに分割し、各領域で異なる算出法で格子の移動ベクトルを算出する。格子移動演算部２００は、物体固定領域５１では格子点が物体とともに移動するように移動ベクトルを決定し、変形領域５５では任意の手法で移動ベクトルを算出し、緩衝領域５３では、上記各領域の格子ベクトルが滑らかに連続するように、移動ベクトルを算出する。特に、緩衝領域５３ではエッジ部５３１と角部５３３とで異なる算出法で移動ベクトルを算出してもよい。【選択図】図４
2010026581.tif 000002
【特許請求の範囲】
【請求項１】
計算空間に複数の格子点からなる計算格子を形成し、各格子点を経時的に移動させる計算格子形成装置であって、
前記計算空間を、該計算空間内に置かれた境界に直近の第１の領域と、前記第１の領域から所定の格子点数だけ離れた第２の領域と、前記第１の領域と前記第２の領域との間に設けられる第３の領域と、に分割し、前記第１、第２、及び第３の領域で夫々異なる方法で前記格子点を移動させる格子移動手段を備えることを特徴とする計算格子形成装置。
【請求項２】
前記格子移動手段は、
前記第１の領域では、前記境界の移動に追従するように各格子点を移動させ、
前記第２の領域では、任意の手法で格子点を移動させ、
前記第３の領域では、移動対象となる格子点について、前記第１の領域側の格子と前記第２の領域側の格子間で、所定の規則に従って滑らかに分布するように、前記格子点を移動させることを特徴とする請求項１に記載の計算格子形成装置。
【請求項３】
前記計算格子が、２次元格子である場合に、
前記格子移動手段は、
前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と線で接するエッジ部と、物体固定領域に線で接しない角部とで、夫々異なる方法で前記格子点を移動させることを特徴とする請求項１に記載の計算格子形成装置。
【請求項４】
前記計算格子が、３次元格子である場合に、
前記格子移動手段は、
前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と面で接するエッジ部と、物体固定領域に面で接しない角部とで、夫々異なる方法で前記格子点を移動させることを特徴とする請求項１に記載の計算格子形成装置。
【請求項５】
前記格子移動手段は、
前記角部に含まれる格子点は、前記第３の領域内の対向する格子線が夫々平行または略平行となるように移動させることを特徴とする請求項３または４に記載の計算格子形成装置。
【請求項６】
計算空間に複数の格子点からなる計算格子を形成し、各格子点を経時的に移動させる計算格子形成方法であって、
前記計算空間を、該計算空間内に置かれた境界に直近の第１の領域と、前記第１の領域から所定の格子点数だけ離れた第２の領域と、前記第１の領域と前記第２の領域との間に設けられる第３の領域と、に分割し、前記第１、第２、及び第３の領域で夫々異なる方法で前記格子点を移動させることを特徴とする計算格子形成方法。
【請求項７】
前記第１の領域では、前記境界の移動に追従するように各格子点を移動させ、
前記第２の領域では、任意の手法で格子点を移動させ、
前記第３の領域では、移動対象となる格子点について、前記第１の領域側の格子と、前記第２の領域側の格子間で、所定の規則に従って滑らかに分布するように、前記格子点を移動させることを特徴とする請求項６に記載の計算格子形成方法。
【請求項８】
前記計算格子が、２次元格子である場合に、
前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と線で接するエッジ部と、物体固定領域に線で接しない角部とで、夫々異なる方法で前記格子点を移動させることを特徴とする請求項６に記載の計算格子形成方法。
【請求項９】
前記格子が、３次元格子である場合に、
前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と面で接するエッジ部と、物体固定領域に面で接しない角部とで、夫々異なる方法で前記格子点を移動させることを特徴とする請求項６に記載の計算格子形成方法。
【請求項１０】
前記角部に含まれる格子点は、前記第３の領域内の対向する格子線が夫々平行または略平行となるように移動させることを特徴とする請求項８または９に記載の計算格子形成方法。
【請求項１１】
コンピュータを請求項１から５のいずれかに記載の計算格子形成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算格子形成装置、計算格子形成方法、及びプログラムに関し、詳細には、流体解析、及び構造解析等に用いられる計算格子を形成する計算格子形成装置、計算格子形成方法、及びプログラムに関する。
【背景技術】
【０００２】
近年コンピュータ等を用いて、物理現象を数値解析する様々な手法が研究、開発されている。例えば、移動物体周囲の流体解析手法の一つとして、ＡＬＥ（Arbitrary Lagrangian Eulerian formulations）法が知られている。ＡＬＥ法では、解析対象となる物理空間を多数の格子点で離散化し、物理空間をメッシュ状の計算格子（以下、格子という）からなる計算空間に写像する。そして、この格子を経時的に移動、変形させて移動物体周囲の流れを解析する。ここで形成される格子の質は流体解析の精度や安定性に大きく寄与する。
【０００３】
初期状態の格子（以下、初期格子）の形成法としては、（１）Geometrical Method、（２）代数式による格子形成法（Transfinite法）、（３）座標に対する楕円型偏微分方程式による格子形成法等の手法が知られている。また、格子を初期状態から移動させる格子移動法としては、（４）スプリングアナロジーによる格子移動法、（５）弾性力学的アプローチによる格子移動法、（６）速度場の偏微分方程式による平滑化、等の手法が知られている。
【０００４】
また、上述の（５）の弾性力学的な手法を利用して、複雑な対象に対して、形状が一部変わったときの格子を作成する際、格子を弾性体と見立て、既に存在する格子の外形を変えて構造解析を行うことで、内部の格子の移動ベクトルを求め、格子の作成を簡略化する手法が開示されている（特許文献１）。
また、構造解析を対象として、大変形を伴う場合に物体の変形が過度になりすぎないように各座標方向に対して、幾何学的な関係に基づいて変形の程度を補正する手法が開示されている（特許文献２）。
また、直交座標系において、物理量の変化の大きな箇所の格子間隔が密になるよう代数的に格子を移動させる手法が開示されている（特許文献３）。
【０００５】
【特許文献１】特開平９−１２８４３６号公報
【特許文献２】特開平７−３０２３５４号公報
【特許文献３】特開平７−０６３６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１の手法は、直前の格子に対するつりあい方程式をとくため、初期の格子情報が反映されず、空間解像度の制御が難しい。すなわち格子が一度つぶれてしまうと境界の位置が元の位置に戻ってもその格子は元の大きさに戻らないという不具合が起きる。また一つの剛性パラメータで格子の直交化と集中化を調節しているため、複雑な形状では対象や運動によってこのパラメータを試行錯誤的に調節しなければならないという問題がある。
【０００７】
また、特許文献２の手法は、各格子線方向に対して過度に格子が変形しないよう補正を独立に求めるため、２次元もしくは３次元的な歪みを抑えることができない。また、特許文献３の手法は、各格子線方向に対して補正を独立に求めるため、２次元もしくは３次元的な歪みを抑えることができない。さらに直交座標系を前提としているため、複雑な形状には対応できない。
【０００８】
また、境界付近の流れは変化が大きく、この領域の格子解像度不足は解析の精度低下に直接影響を及ぼすため、一般に、格子は境界に向かうにつれて細かく配置されている。移動境界解析を行う場合には境界が移動するため、境界近傍の格子は、格子サイズに対する移動量が大きく、もっとも歪みが集中しやすい。また、計算精度の観点からも境界近傍の格子解像度はなるべく変化しない方が望ましい。
【０００９】
図１１は、従来手法を用いて角柱状物体６０の回転させた場合における流体解析の結果出力例であり、（ａ）は初期状態の全体図、（ｂ）は（ａ）の物体６０の左上角部分を含む計算空間を拡大した図、（ｃ）は最大変位時における全体図、（ｄ）は（ｃ）の角柱状物体６０の上角部分の計算空間を拡大した図である。
なお、ここでは、スプリングアナロジーを構造格子に拡張する手法を用いている。角柱の回転角度は最大４５度とする。
図１１に示す従来手法による出力結果では、壁近傍の角部で格子がつぶれてしまっている。
【課題を解決するための手段】
【００１０】
本発明は、前述した問題点に鑑みてなされたもので、その目的は、物体との境界近傍の計算格子を移動させる際に生じるつぶれや歪みを抑え、高品質な計算格子を形成する計算格子形成装置、計算格子形成方法、及びプログラムを提供することである。
【００１１】
前述した目的を達成するために第１の発明は、計算空間に複数の格子点からなる計算格子を形成し、各格子点を経時的に移動させる計算格子形成装置であって、前記計算空間を、該計算空間内に置かれた境界に直近の第１の領域と、前記第１の領域から所定の格子点数だけ離れた第２の領域と、前記第１の領域と前記第２の領域との間に設けられる第３の領域と、に分割し、前記第１、第２、及び第３の領域で夫々異なる方法で前記格子点を移動させる格子移動手段を備えることを特徴とする計算格子形成装置である。
【００１２】
また、前記格子移動手段は、前記第１の領域では、前記境界の移動とともに各格子点を移動させ、前記第２の領域では、任意の手法で格子点を移動させ、前記第３の領域では、移動対象となる格子点について、前記第１の領域側の格子と、前記第２の領域側の格子間で、所定の規則に従って滑らかに分布するように、前記格子点を移動させる。
【００１３】
また、前記計算格子が、２次元格子である場合に、前記格子移動手段は、前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と線で接するエッジ部と、物体固定領域に線で接しない角部とで、夫々異なる方法で前記格子点を移動させる。
【００１４】
また、前記計算格子が、３次元格子である場合に、前記格子移動手段は、前記第３の領域を、第３の領域の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち物体固定領域と面で接するエッジ部と、物体固定領域に面で接しない角部とで、夫々異なる方法で前記格子点を移動させる。
【００１５】
また、前記格子移動手段は、前記角部に含まれる格子点は、前記第３の領域内の対向する格子線が夫々平行または略平行となるように移動させる。
【００１６】
第２の発明は、計算空間に複数の格子点からなる計算格子を形成し、各格子点を経時的に移動させる計算格子形成方法であって、前記計算空間を、該計算空間内に置かれた境界に直近の第１の領域と、前記第１の領域から所定の格子点数だけ離れた第２の領域と、前記第１の領域と前記第２の領域との間に設けられる第３の領域と、に分割し、前記第１、第２、及び第３の領域で夫々異なる方法で前記格子点を移動させることを特徴とする計算格子形成方法である。
【００１７】
第３の発明は、コンピュータを第１の発明の計算格子形成装置として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明により、物体との境界近傍の計算格子を移動させる際に生じるつぶれや歪みを抑え、高品質な計算格子を形成する計算格子形成装置、計算格子形成方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
【００２０】
図１は、本実施の形態の計算格子形成装置１により形成される計算格子について説明する図である。
図２は、本実施の形態に係る計算格子形成装置１を実現するコンピュータのハードウェア構成図である。
【００２１】
計算格子形成装置１は、解析対象となる物理空間を計算空間５０に写像するために、計算空間５０を複数の格子点で離散化し、計算格子（以下、格子という）を形成する。図１に示す計算空間５０は横方向及び縦方向に交差する複数の格子線によって表現される。格子線の交差する点が格子点である。
【００２２】
図１は、計算空間５０の中央に置かれた角柱状の物体６０を上面から見た様子を表す。図１の計算格子は、物体６０の各辺の延長線上で、格子線間隔が狭くなるように形成されている。
【００２３】
なお、図１では以下の説明の簡略化のために２次元の計算空間５０を例示したが、３次元としてもよい。格子の形状は四角形に限定されるものではなく六面体としてもよい。また、計算空間５０ではその座標を、２次元の場合は（ξ、η）で表し、３次元の場合は（ξ、η、ζ）で表すものとする。
また、格子ベクトルとは格子線の向きを表すベクトルであり、隣り合う格子点の位置から決定される。
また、移動ベクトルとは、移動対象となる格子点の移動すべき向きと長さを定義するベクトルである。
【００２４】
図２に示すように、計算格子形成装置１は、制御部３、記憶部５、メディア入出力部７、通信制御部９、入力部１１、表示部１３、周辺機器Ｉ／Ｆ部１５等が、バス１７と介して接続される。
【００２５】
制御部３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２６】
ＣＰＵは、記憶部５、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１７を介して接続された各装置を駆動制御し、計算格子形成装置１が行う後述する処理（図７、図９、図１０参照）を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部５、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部３が各種処理を行う為に使用するワークエリアを備える。
【００２７】
記憶部５は、ＨＤＤ（ハードディスクドライブ）であり、制御部３が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、アプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部３により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２８】
メディア入出力部７（ドライブ装置）は、データの入出力を行い、例えば、フロッピー（登録商標）ディスクドライブ、ＰＤドライブ、ＣＤドライブ（−ＲＯＭ、−Ｒ、ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
【００２９】
通信制御部９は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク１９間の通信を媒介する通信インタフェースであり、ネットワーク１９を介して、他のコンピュータ間との通信制御を行う。
【００３０】
入力部１１は、例えば、キーボード、マウス等のポインティング・デバイス、テンキー等の入力装置であり、データの入力を行う。
【００３１】
表示部１３は、液晶パネル、ＣＲＴモニタ等のディスプレイ装置、及びディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３２】
周辺機器Ｉ／Ｆ（インタフェース）部１５は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１５を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器との接続形態は有線、無線を問わない。
【００３３】
バス１７は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３４】
次に図３を参照しながら、計算格子形成装置１の機能構成について説明する。
図３は、計算格子形成装置１全体の機能概略構成図である。
【００３５】
計算格子形成装置１は、図３に示すように、初期格子形成部１００、格子移動演算部２００、流体解析部３００、及び結果出力部４００を備えて構成される。
初期格子形成部１００は、初期状態の格子（以下、初期格子という）を形成する。初期格子形成にはいかなる手法を用いてもよい。例えばGeometrical Method、代数式による格子形成法（Transfinite法）、座標に対する楕円型偏微分方程式による格子形成法等といった公知の手法を用いてもよいし、今後改良される新しい手法を適用するようにしてもよい。また、予め初期格子に関するデータを記憶部５に記憶しておき、解析実行時に初期格子形成部１００により記憶部５から読み出すようにしてもよい。初期格子形成部１００は形成した初期格子を格子移動演算部２００に出力する。
【００３６】
格子移動演算部２００は、初期格子形成部１００から入力される初期格子と、入力部１１から入力されるか、或いは記憶部５から読み込んだ解析対象となる流れ場の情報及び格子情報ｄ１０等と、に基づいて格子を移動させるための演算を実行する。格子の移動とは、時刻ステップ毎に計算空間５０内の各格子点の位置を変化させることであり、格子移動演算部２００により逐次計算される。格子移動演算部２００の行う演算処理については後述する。
【００３７】
流体解析部３００は、格子移動演算部２００から入力される移動後の格子について、ヤコビ行列式、メトリック関係式等を算出し、流体計算を行う。例えば、流れ場や、各種統計量の算出、格子の経時変化等の解析を行う。そして、解析結果を結果出力部４００に出力する。流体解析部３００の計算後、再び格子移動演算部２００に戻り、次の時刻での格子位置を求め、流体計算を行う。結果出力部４００は流体解析部３００から入力される解析結果を、数値やグラフ或いはグラフィック表示にて表示部１３に表示する。
【００３８】
次に、格子移動演算部２００における格子移動について、図４、図５、図６を参照して説明する。
図４は、分割された計算空間５０の模式図である。
格子移動演算部２００は、図１に示す計算空間５０を図４（ａ）に示すように３つの領域に分類する。
【００３９】
第１の領域は物体６０に直近の領域であり、壁（物体６０）から所定の距離にある格子点を含む。以下、第１の領域を物体固定領域５１と呼ぶ。
第２の領域は、第１の領域から所定の格子点数（または距離）だけ外側に離れた領域である。以下、第２の領域を変形領域５５と呼ぶ。
第３の領域は、物体固定領域５１と変形領域５５との間に設けられる領域であり、以下、緩衝領域５３と呼ぶ。
【００４０】
物体固定領域５１、緩衝領域５３、変形領域５５の領域のそれぞれの範囲は、解析対象となる流れ場の情報等に応じて決定すればよい。
例えば、簡略化のために、物体６０に隣接する格子点群（物体６０から第１点目の格子点群）を物体固定領域５１とし、物体固定領域５１の外側第１点目の格子点群を緩衝領域５３とし、緩衝領域５３より外側の格子点群を変形領域５５としてもよい。
また、物体固定領域５１、緩衝領域５３に複数層の格子点を配置するようにしてもよい。また、格子の数ではなく、距離で各領域を決定するようにしてもよい。領域決定の指標として、変形領域５５や物体６０の大きさに対する割合を用いるようにしてもよい。
なお、変形を伴う場合には、物体固定領域５１をなくしてしまう例も本実施の形態に含む。
【００４１】
物体固定領域５１において、格子は物体６０の移動とともに移動するものとする。そのため、この物体固定領域５１における格子点の移動ベクトルは、物体６０の変形もしくは運動に応じて決定される。
【００４２】
変形領域５５において、格子点の移動ベクトルは任意の手法を用いて算出される。例えば、スプリングアナロジーによる格子移動法、弾性力学的アプローチによる格子移動法、速度場の偏微分方程式による平滑化、といった公知の手法を用いてもよいし、今後改良される新しい格子移動手法を適用するようにしてもよい。
【００４３】
緩衝領域５３において、格子の移動ベクトルは、物体固定領域５１側と変形領域５５側の格子線の向き（格子ベクトル）を参照することにより、格子線の連続性が大きくなるように決定される。例えば緩衝領域が１層の場合には、物体固定領域５１側の格子ベクトルの向きと変形領域側の格子ベクトルの向きとの平均から移動対象となる格子点の移動ベクトルを算出する。また、格子点間隔が、物体固定領域５１側と変形領域側とで、滑らかになるように上記格子点の移動ベクトルを算出する。
【００４４】
更に、図４（ｂ）に示すように、緩衝領域５３を、その緩衝領域５３の幅と同一の幅を有する複数の部分に分割し、分割された部分のうち、線で物体固定領域５１と接する部分をエッジ部５３１とし、線で物体固定領域５１と接しない部分を角部５３３とする。ここで、緩衝領域５３の幅とは、物体固定領域５１との境界から変形領域５５との境界までに含まれる緩衝領域５３の格子点の層の数、または距離である。エッジ部５３１は、物体固定領域５１とξ方向またはη方向のいずれか一方向で接する格子点群であり、角部５３３は、物体固定領域５１の斜め方向（格子の対角線方向）に存在する格子点群である。
そして、エッジ部５３１と角部５３３とでは、異なる処理で移動ベクトルを算出するようにしてもよい。これは、一般に角部５３３は特に歪みが集中しやすいためである。エッジ部５３１と角部５３３とで異なる処理にて移動ベクトルを算出することにより、特に角部５３３での格子の歪みを抑えることができる。
【００４５】
以下、緩衝領域５３のエッジ部５３１と角部５３３とにおける移動ベクトルの算出について、それぞれ説明する。
図５は、緩衝領域５３のエッジ部５３１における移動ベクトルΔＰcの算出手法について説明する図であり、図６は、緩衝領域の角部５３３における移動ベクトルΔＰcの算出手法について説明する図である。
なお、図５、図６ではベクトルを表す符合として矢印（→）を付しているが、明細書内には矢印を付さない。代わりに、例えば点ＰとベクトルＰとを区別するため、ベクトルを意味する場合には「ベクトルＰ」と記載することとする。
【００４６】
まず、エッジ部５３１について図５を参照して説明する。
図５では、η方向についての格子点移動を示しており、点Ｐss、点Ｐsは、物体固定領域５１の格子点であり、Ｐnは変形領域５５の格子点であり、点Ｐcが緩衝領域５３のエッジ部５３１の格子点である。説明の簡略のため、緩衝領域５３の格子点数が１点の場合について述べる。
【００４７】
緩衝領域５３の格子点Ｐcの移動ベクトルΔＰcｂｎｄは、各格子点を結ぶ格子ベクトルが物体固定領域５１から変形領域５５に滑らかに連続するよう、以下の式（１）により、算出される。
【００４８】
【数１】
2010026581.tif 000003
【００４９】
ここで、
【００５０】
【数２】
2010026581.tif 000004
【００５１】
である。
また、Δsについては、辺ＰssＰs、辺ＰsＰc、辺ＰcＰnの格子間隔が滑らかに分布するように算出する。ここでいう「滑らかさ」及び「平滑性」とは、格子点が一部に集中したり、格子間隔比がばらついたりせずに、所定の規則に従って分布することをいう。例えば、格子間隔や格子間隔比が等しい場合、或いは等比級数に従って分布する場合等である。
また、Δsについて、格子間隔の上限値及び下限値を与え、この上限値及び下限値の範囲内の値をとるようにしてもよい。
【００５２】
上述の式（１）は、点Ｐcが点Ｐsに対して、物体固定領域５１側と変形領域５５側の傾きの平均となり、かつ格子間隔が滑らかになるように、点Ｐcを移動させることを意味するものである。
【００５３】
次に、角部５３３について図６を参照して説明する。
図６では、点Ｐwnが物体固定領域５１側の点であり、緩衝領域５３のξ方向に点Ｐw、η方向に点Ｐnが存在する。
点Ｐcの移動ベクトルΔＰcｂｎｄは、次の式（２）により算出される。
【００５４】
【数３】
2010026581.tif 000005
【００５５】
ここで、
【００５６】
【数４】
2010026581.tif 000006
【００５７】
である。
上述の式（２）は、辺ＰwＰcが緩衝領域５３側の辺ＰwnＰnと平行となり、辺ＰnＰcが緩衝領域５３側の辺ＰwnＰwと平行となるように、点Ｐcを移動させることを意味する。
【００５８】
最終的に、緩衝領域５３での次の時刻の移動ベクトルΔＰcは、以下の式（３）により求められる。
【００５９】
【数５】
2010026581.tif 000007
【００６０】
ここで、ｄｔsubは逐次計算に用いるサブステップの擬似時間刻みである。
【００６１】
格子移動演算部２００は、算出された移動ベクトルに従って格子点の移動後の位置を逐次計算する。
【００６２】
なお、上述の移動ベクトル算出法を３次元の計算格子に適用することも可能である。３次元の場合も同様に緩衝領域５３を、その緩衝領域５３の幅と同一の幅を有する複数の部分に分割する。分割された部分のうち、面で物体固定領域５１と接する部分をエッジ部５３１とし、面で物体固定領域５１と接しない部分を角部５３３とする。すなわち、エッジ部５３１は、物体固定領域５１とξ方向またはη方向またはζ方向のいずれか一方向で接する格子点群であり、角部５３３は、物体固定領域５１の斜め方向（格子の対角線方向）に存在する格子点群である。３次元の場合にも、エッジ部５３１と角部５３３とで上述のように、異なる手法で各格子点の移動ベクトルを算出する。
【００６３】
次に、図７及び図８を参照して、計算格子形成装置１における動作について説明する。
【００６４】
図７は、計算格子形成装置１の処理手順を示すフローチャートである。
図８は、本実施の形態の計算格子形成装置１によって得られる結果例を示す図である。
【００６５】
計算格子形成装置１は、図７のフローチャートの手順に従って、格子を形成し、移動させ、流体解析計算を実行する。
図７において、左側が通常の流体計算の部分、右側が本実施の形態の計算格子形成装置１の実行する格子移動処理に関する部分である。格子移動処理は流体計算の時間進行の一部に組み込まれる。
【００６６】
まず、初期格子形成部１００は、初期格子に関する情報を記憶部５から読み込み（ステップＳ１０１）、格子移動演算部２００へ渡す。格子移動演算部２００は、格子を移動する上で必要となる初期格子情報（格子ベクトル、格子間隔）を算出し（ステップＳ１０２）、ＲＡＭに保存する。次に、初期格子形成部１００は、流れ場及び格子に関する情報を有するファイルを記憶部５から読み込み（ステップＳ１０３）、格子移動演算部２００へ渡す。
【００６７】
格子移動演算部２００は、読み込まれた初期格子、流れ場及び格子に関する情報に基づいて、格子を移動する処理を行う。以降の処理では、各格子の移動ベクトルを、流体計算の擬似時間刻み（以下、時刻ステップという）毎に算出する。その際、各時刻ステップ内にサブステップを設け、移動ベクトルを陽解法的に逐次計算する。
【００６８】
まず、ステップＳ１０４において、物体６０との境界を次の時刻における位置に移動させる。
【００６９】
ステップＳ１０６において、格子移動演算部２００は、現在の格子点の位置情報から格子ベクトルと格子間隔を算出する。そしてステップＳ１０７において、格子移動演算部２００は、各格子の移動ベクトルを算出する。
【００７０】
移動ベクトルは、上述したように、物体固定領域５１、緩衝領域５３、変形領域５５の各領域で異なる算出法により算出される。すなわち、格子移動演算部２００は、物体固定領域５１では格子点が物体と共に移動するような移動ベクトルを算出する。また、変形領域５５では、いかなる手法を用いて格子の移動ベクトルを算出するようにしてもよい。
【００７１】
そして、緩衝領域５３では、物体固定領域５１側と変形領域側とで格子線の連続性が大きくなるように移動ベクトルを算出する。特に緩衝領域５３では、エッジ部５３１と角部５３３とで異なる算出法によりそれぞれ移動ベクトルが算出されるようにしてもよい。この場合、エッジ部５３１では格子ベクトルの傾きが、物体固定領域５３側の格子点と変形領域５５側の格子点に対して連続的に変化し、かつ格子間隔が滑らかになるように移動ベクトルが算出される。また、角部５３３では、対向する格子線がそれぞれなるべく平行になるように移動ベクトルを算出する。
格子移動演算部２００は決定された移動ベクトルΔＰcに従って、格子の位置を移動させる（ステップＳ１０８）。
【００７２】
格子移動演算部２００はステップＳ１０６〜ステップＳ１０８の処理をＫ回繰り返し、上限回数（Ｋmax）に達すると（ステップＳ１０９；Ｙｅｓ）、その時の移動ベクトルによって次のステップの格子位置を最終的に決定する。
その後、現ステップ及び前ステップでの各格子位置から格子移動速度を算出して（ステップＳ１１０）、流体解析部３００へ移行する。
【００７３】
流体解析部３００では、移動後の格子位置情報を用いて、従来の流体計算処理と同様にヤコビアン（ヤコビ行列式）、メトリック関係式を算出し（ステップＳ１１１）、当該時刻ステップでの流体計算を実行する（ステップＳ１１２）。流体解析部３００は、ステップＳ１０４〜ステップＳ１１２の処理をＮ回の時刻ステップ分だけ繰り返し、上限回数（Ｎmax）に達すると（ステップＳ１１３；Ｙｅｓ）、最終的な流れ場の状態や各種統計量の時間履歴の算出、そのときの格子位置等を含む解析結果を結果出力部４００に渡す。結果出力部４００は、流体解析結果を数値やグラフ化し、或いはグラフィック表示により出力する（ステップＳ１１４）。
【００７４】
図８は、本実施の形態の計算格子形成装置１によって得られる、角柱状物体６０の回転問題の結果出力例であり、（ａ）は初期状態の全体図、（ｂ）は（ａ）の物体６０の左上角部分を含む計算空間を拡大した図、（ｃ）は最大変位時の全体図、（ｄ）は（ｃ）の角柱状物体６０の上角部分を含む計算空間を拡大した図である。
角柱状物体６０の運動は以下の式（４）により与えられるものとする。
【００７５】
【数６】
2010026581.tif 000008
【００７６】
式（４）において、θは回転角度を表す。
また、最大回転角θmaxは４５度とする。
【００７７】
図８（ｄ）に示すように、本実施の形態の計算格子形成装置１によって形成された格子は最大変位時においてもつぶれや歪みが少ない。特に壁近傍において、その結果が顕著に表れている。
【００７８】
以上説明したように、本実施の形態の計算格子生成装置１は、格子移動演算部２００によって格子を移動させる際に、移動対象となる格子点の移動ベクトルを算出する。すなわち、計算空間５０を物体６０の直近の領域である物体固定領域５１と、物体固定領域５１からある程度離れた領域である変形領域５５と、物体固定領域５１及び変形領域５５の間に設けられる緩衝領域５３とに分割し、各領域により異なる処理で各格子点の移動ベクトルを算出する。物体固定領域５１では、移動ベクトルは格子点が物体とともに移動するように決定される。また、変形領域５５では任意の手法で移動ベクトルを算出する。そして緩衝領域５３では、物体固定領域５１側と変形領域５５側との格子ベクトル(格子線の向き)が滑らかに連続するように、格子点の移動ベクトルを算出する。
【００７９】
また、緩衝領域５３では、格子点の位置により更にエッジ部５３１と角部５３３とで異なる算出法で移動ベクトルを算出するようにしてもよい。この場合、角部５３３では、対向する辺（格子線）がなるべく平行（平行または略平行）となるように移動ベクトルを算出する。
【００８０】
その結果、格子線の不連続性が小さくなり、歪みを抑えることができる。特につぶれや歪みの集中しやすい角部５３３で歪みを抑えることができるため、高品質な格子を形成することが可能となり、流体解析の精度を向上させることができる。
【００８１】
なお、上述の図７のフローチャートでは、境界の移動が既知の場合の処理動作を示しているが、例えば、構造解析や機構解析といった他の解析手法と連成させてもよい。その場合は、図７のフローチャートに代えて、図９または図１０のフローチャートに基づく処理を行う。また、図３の機能ブロック図において、「流体解析部３００」に「構造解析または機構解析との連成解析部」が設けられる。
【００８２】
図９及び図１０は、本実施の形態の移動ベクトル算出手法を用いて格子を形成した際に、構造解析または機構解析と連成させる場合の処理手順を示し、図９は弱連成の場合、図１０は強連成の場合を示すフローチャートである。
【００８３】
図９の弱連成の例において、ステップＳ２０１〜ステップＳ２１２は、図７のステップＳ１０１〜ステップＳ１１２と同様の手法で格子を形成し、移動させ、流体計算を実行する。そして、ステップＳ２１３として、流体計算の後に構造計算または機構計算の処理を追加する。その後、ステップＳ２０４〜ステップＳ２１３までの処理を上限回数（Ｎmax）に達するまで繰り返し（ステップＳ２１４）、結果を出力して（ステップＳ２１５）、処理を終了する。
【００８４】
また、図１０の強連成の例においても、ステップＳ３０１〜ステップＳ３１２は、図７のステップＳ１０１〜ステップＳ１１２と同様の手法で格子を形成し、移動させ、流体計算を実行する。そして、ステップＳ３１３として、流体計算の後に構造計算または機構計算の処理を追加する（ステップＳ３１３）。強連成の場合は、流体計算と構造計算（または機構計算）の間で、力や変位の値をやり取りし、両者の釣り合いをとる。そのため、時刻ステップＮ内にサブステップＭを設けている。サブステップを上限回数（Ｍmax）に達するまで繰り返しつつ(ステップＳ３１４)、非定常計算における実時間進行に相当する時間ステップを上限回数（Ｎmax）に達するまで繰り返す（ステップＳ３１５）。
その後、結果を出力して（ステップＳ３１６）、処理を終了する。
【００８５】
なお、本実施の形態の計算格子の移動方法は、上述の流体解析（図７）または流体解析と構造解析との連成（図９、図１０）に適用するだけでなく、構造解析に適用することも可能である。
構造解析に適用する場合には、図７のフローチャートにおいて、ステップＳ１１２における「流体計算」処理を、「構造計算」処理に置き換える。
また、図３の機能ブロック図については、流体解析部３００は構造解析部に置き換えられる。
【００８６】
なお、上述の図７、図９、図１０に示す処理を行うプログラムは、ＣＤ−ＲＯＭ等の記録媒体に保持させて流通させても良いし、通信回線を介して送受信することもできる。
【００８７】
以上、添付図面を参照しながら、本発明に係る計算格子形成装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００８８】
【図１】計算格子形成装置１により形成される計算格子について説明する図
【図２】計算格子形成装置１を実現するコンピュータのハードウェア構成図
【図３】計算格子形成装置１全体の機能概略構成図
【図４】分割された計算空間５０の模式図
【図５】緩衝領域５３のエッジ部５３１における移動ベクトルについて説明する図
【図６】緩衝領域５３の角部５３３における移動ベクトルについて説明する図
【図７】計算格子形成装置１の処理手順を示すフローチャート
【図８】計算格子形成装置１によって得られる結果出力例を示す図
【図９】構造解析または機構解析と弱連成させる場合の処理手順を示すフローチャート
【図１０】構造解析または機構解析と強連成させる場合の処理手順を示すフローチャート
【図１１】従来手法を用いた角柱状物体６０の回転問題の結果出力例
【符号の説明】
【００８９】
１………計算格子形成装置
５０………計算格子
５１………物体固定領域（第１の領域）
５３………緩衝領域（第３の領域）
５５………変形領域（第２の領域）
５３１………エッジ部
５３３………角部
６０………物体（角柱状物体）
１００………初期格子形成部
２００………格子移動演算部
３００………流体解析部
４００………結果出力部
【図１】
2010026581.tif 000009
【図２】
2010026581.tif 000010
【図３】
2010026581.tif 000011
【図４】
2010026581.tif 000012
【図５】
2010026581.tif 000013
【図６】
2010026581.tif 000014
【図７】
2010026581.tif 000015
【図８】
2010026581.tif 000016
【図９】
2010026581.tif 000017
【図１０】
2010026581.tif 000018
【図１１】
2010026581.tif 000019