(57)【要約】      （修正有）【課題】複数の個々のコンポーネントを有する製品のコンピュータ流体力学シミュレーションの方法を提供する。【解決手段】方法は、既知のコンポーネントのライブラリを生成するステップであって、ライブラリは、コンポーネント形状と、シミュレーションに必要なモデル化特性とを有し、コンポーネントはライブラリ内で個々にメッシュ化される、ステップと、製品のCFDモデルを生成するためにライブラリからの複数のコンポーネントを選択し所望の構成に配置するためにグラフィカルユーザインタフェースを用いるステップと、ソルバーの動作の時間及びソルバー間のデータ交換を管理するために複数のソルバーをスケジューリングすることによりモデルをCFDシミュレーションするステップであって、各ソルバーは、少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化する、ステップと、を有する。【選択図】図２２
2014191826.tif 000002
【特許請求の範囲】
【請求項１】
複数の個別のコンポーネントを有する製品のためのコンピュータ流体力学（Computational  Fluid  Dynamics：CFD）シミュレーションの方法であって、前記方法は、
既知のコンポーネントのライブラリを生成するステップであって、前記ライブラリは、前記コンポーネントのコンポーネント形状とシミュレーションに必要なモデル化特性を含み、前記コンポーネントは前記ライブラリ内で個々にメッシュ化される、ステップと、
グラフィカルユーザインタフェース（GUI）を用いて、前記ライブラリからの複数のコンポーネントを選択し所望の構成に配置して、製品のCFDモデルを生成するステップと、
前記モデルをCFDシミュレーションするステップと、
を有する方法。
【請求項２】
一連のマルチコンポーネント製品のためのCFD前処理を簡略化する方法であって、各製品は前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記方法は、
前記一連のマルチコンポーネント製品の各コンポーネントについて、順に、
コンポーネント形状のCAD（Computer  Aided  Design）モデルを入力するステップと、
前記コンポーネントの周囲の空気領域を追加するステップと、
CFD分析で用いるために、前記コンポーネント及びその周囲の空気領域を含むメッシュを生成するステップと、
前記コンポーネントのモデル化特性を設定するステップと、
前記コンポーネント形状、メッシュ及びモデル化特性を、既知のコンポーネントとして、前記一連のマルチコンポーネント製品の既知のコンポーネントを個々に格納するコンポーネントライブラリに追加するステップと、
を有し、前記コンポーネントライブラリは、前記製品のモデルを生成するために、前記既知のコンポーネントを選択し配置することを可能にする、方法。
【請求項３】
前記コンポーネントの前記モデル化特性は、前記コンポーネントのシミュレーションに必要な全ての特性を有し、望ましくは、材料特性、及び内部境界条件、熱特性、流速及び気孔率のような前記コンポーネントの特定の特性を有する、請求項１又は２に記載の方法。
【請求項４】
メッシュ分解能及び／又は前記周囲の空気領域の厚さは、専門のユーザにより決定される、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
一連のマルチコンポーネント製品からマルチコンポーネント製品のCFDモデルを生成する方法であって、各製品は、前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記方法は、製品の各コンポーネントについて、順に、
前記一連のマルチコンポーネント製品の既知のコンポーネントと、前記コンポーネントを含むメッシュと、前記コンポーネントの周囲の空気領域及びモデル化特性とを個々に格納するコンポーネントライブラリからコンポーネントを選択するステップであって、前記既知のコンポーネントはコンポーネント形状を含む、ステップと、
前記既知のコンポーネントを所望の構成に配置するステップと、
前記製品の全ての既知のコンポーネントが配置されると、CFDシミュレーションに必要なデータをCFDモデルとして生成し保存するステップと、
を有する方法。
【請求項６】
各コンポーネントは、前記製品内の大きなコンポーネントである基本、又は残りのコンポーネントのうちの１つである通常のコンポーネントとして分類される、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
新しく配置された又は変更されたコンポ―ネントと前記モデルとの間の共通部分が計算され、前記共通部分のルールが自動的に適用される、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
共通部分のルールは、コンポーネントの固体部分の交差を認めない、及び／又は共通部分のルールは、シミュレーション領域のX及びY境界の外側にある空気領域をトリミングする、及び／又は共通部分のルールは、コンポーネントの空気領域を含むようシミュレーション領域をZ方向に拡張する、請求項７に記載の方法。
【請求項９】
前記製品内の全ての既知のコンポーネントが配置されると、大きなコンポーネント及びそれらの周囲領域は、メッシュパーティショニングアルゴリズムを用いて分割され、及び／又は前記製品内の全ての既知のコンポーネントが配置されると、相互に近傍にある小さなコンポーネントは、メッシュマージを用いて大きなコンポーネントに結合される、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
複数のコンポーネントを含むマルチコンポーネント製品のCFDモデルを解決する方法であって、前記方法は、
前記製品内の前記コンポーネントに従う前記製品の分割に基づき提供される複数のソルバーを用いるステップであって、各ソルバーは、少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化する、ステップと、
を有し、スケジューラは、各ソルバーの動作の時間及び前記ソルバー間のデータ交換を管理する、方法。
【請求項１１】
前記スケジューラは、前記ソルバー間のデータ交換をトリガする前に、複数のソルバーの各々について１回の反復を行う、請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
各ソルバーは、前記製品内の最大のコンポーネントを解決する基本ソルバー、又は前記製品内の残りのコンポーネントを解決するコンポーネントソルバーであり、望ましくは、前記データ交換は、各コンポーネントソルバーと前記基本ソルバーとの間で行われる、請求項１又は１０又は１１に記載の方法。
【請求項１３】
前記基本ソルバーは、境界条件を各コンポーネントソルバーへ転送し、各コンポーネントソルバーは、自身の全体の体積のデータを前記基本ソルバーへ転送する、請求項１２に記載の方法。
【請求項１４】
前記スケジューラは、全ての前記ソルバーを並列に動作させ１回の反復の後に全ての前記ソルバー間でデータ交換させる平坦型スケジューラ、又は前記コンポーネントをグループ化しデータ交換が行われる前に少なくとも１グループを収束させる階層型スケジューラである、請求項１、１０乃至１３のいずれか一項に記載の方法。
【請求項１５】
前記基本は、コンポーネントグループの部分ではなく、データ交換の前に１回の反復を実行する別個のソルバーを有する、請求項１２又は１３に記載の方法。
【請求項１６】
複数の個々のコンポーネントを有する製品のコンピュータ流体力学（Computational  Fluid  Dynamics：CFD）シミュレーションの方法を実施するよう構成されるコンピューティングシステムであって、前記システムは、
既知のコンポーネントのライブラリを生成し前記ライブラリをデータベースに格納するよう構成されるライブラリプロセッサであって、前記ライブラリは、前記既知のコンポーネントのコンポーネント形状と、シミュレーションに必要なモデル化特性とを有し、前記コンポーネントは、前記ライブラリ内で個々にメッシュ化される、ライブラリプロセッサと、
製品のCFDモデルを生成するために、ユーザに前記ライブラリから複数のコンポーネントを選択し所望の構成に配置させるよう構成されるGUIと、
CFDシミュレータと、
を有するコンピューティングシステム。
【請求項１７】
一連のマルチコンポーネント製品のCFD前処理を簡略化する方法を実施するよう構成されるコンピュータ装置であって、各製品は前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記コンピュータ装置は、
コンポーネント形状のCAD（Computer  Aided  Design）モデルのための入力と、
ライブラリインタフェース及びライブラリプロセッサであって、ライブラリユーザに前記コンポーネントの周囲の空気領域を追加させ、CFD分析のために前記コンポーネントと前記コンポーネントの周囲の空気領域を含むメッシュを生成させ、前記コンポーネントのモデル化特性を設定させる、ライブラリインタフェース及びライブラリプロセッサと、
前記一連のマルチコンポーネント製品の既知のコンポーネントをデータベースに個々に格納するコンポーネントライブラリであって、各既知のコンポーネントは、コンポーネント形状と、既知のコンポーネントとしてメッシュ及びモデル化特性とを有し、前記コンポーネントライブラリは、前記製品のモデルを生成するために前記既知のコンポーネントを選択し配置させる、コンポーネントライブラリと、
を有するコンピュータ装置。
【請求項１８】
一連のマルチコンポーネント製品からマルチコンポーネント製品のCFDモデルを生成する方法を実施するコンピュータ装置であって、各製品は、前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記コンピュータ装置は、プロセッサを有し、前記プロセッサは、
前記一連のマルチコンポーネント製品の既知のコンポーネントと、前記コンポーネントを含むメッシュと、前記コンポーネントの周囲の空気領域及びモデル化特性とを個々に格納するコンポーネントライブラリからコンポーネントを選択するよう構成され、前記既知のコンポーネントはコンポーネント形状を含み、
前記既知のコンポーネントを所望の構成に配置するよう構成され、
前記コンピュータ装置は、前記製品の全ての既知のコンポーネントが配置されると、CFDシミュレーションに必要なデータをCFDモデルとして生成し保存するモデル生成器を更に有する、コンピュータ装置。
【請求項１９】
複数のコンポーネントを有するマルチコンポーネント製品のCFDモデルを解決する方法を実施するよう構成されるコンピュータ装置であって、前記コンピュータ装置は、
スケジューラとカプラとを有するCFDシミュレータ、
を有し、前記スケジューラは、前記製品内の前記コンポーネントに従う前記製品の分割に基づき提供される複数のソルバーの動作の時間を管理するよう構成され、各ソルバーは、少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化し、
前記スケジューラは、前記カプラを用いて前記ソルバー間のデータ交換も管理する、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコンポーネントコンピュータ流体力学シミュレーションに関する。
【背景技術】
【０００２】
マルチコンポーネントコンピュータ流体力学（computational  fluid  dynamics：CFD）シミュレーションは、多くの工業製品の設計において重大な段階になってきている。１つの標準的な例は、IT産業である。IT産業では、ハードウェア製造業者及びシステムインテグレータは、CFDを用いて、ノートブック、デスクトップ、コンピュータ、サーバ及び多の装置内部の気体流及び熱転送をシミュレートする。CFDシミュレーションから得た結果は、コンポーネントが筐体内に配置される方法を最適化し及びそれらのコンポーネントが最適温度で動作するよう保証することにより、製品の品質及び信頼性を向上するために用いられる。大規模に、自動車又は航空機内の多くの部品について、同じ種類のシミュレーションを用いることができる。CFDは、データセンタ及びデータセンタ内の部屋のシミュレーションにも用いることができる。
【０００３】
図１は、従来のCFDシミュレーション処理の流れを示す。先ず、ステップS１で、シミュレートされるシステムのCADモデルが生成され又は得られる。シミュレーションが実行される前に、方法は、前処理を実行する。前処理では、ステップS２でモデルのメッシュが生成され、次にステップS３で境界条件及び材料特性が設定される。メッシュ化では、メッシャーにより形状が膨大な数の要素に区分され（メッシュ化され）、メッシュを形成する。境界条件により達成されたメッシュは、次にソルバーへ送られる。ソルバーは、有限要素法、又はより一般的には有限体積法のような標準的な数値技術を用いて、各要素についての個々の計算を用いて境界条件がシステムに及ぼす影響（例えば、流体の動作及び特性）を計算する。多くのコンポーネントを有する複雑な形状では、メッシュ化段階は、計算能力の観点から及び多くの時点で手動作業を要するので、特に困難である。
【０００４】
前処理段階が完了した後、ステップS４で、上述のCFDソルバーは、シミュレーション／モデル化段階で動作し、通常、反復技術を用いてシミュレーションの結果を得るために数値式を解く。処理は、後処理段階S５で終了し、結果が視覚化され及び分析される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、特に多数のコンポーネントの組み合わせであるモデルについて、複雑なCFDモデルをシミュレートするために必要な計算及び／又はユーザ入力の時間を解決することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、マルチコンポーネントコンピュータ流体力学（computational  fluid  dynamics：CFD）シミュレーションに関する。これらの種類のシミュレーションは、CAE（Computed  Aided  Engineering）の一部であり、製品の品質を向上するために製品の動作をモデル化及びシミュレートする目的でコンピュータソフトウェアを使用する。
【０００７】
CFDは、流量を含む問題を解決し分析するために反復数値法及びアルゴリズムを用いる流体力学の一分野である。解は、流量の定常状態又は過渡状態であっても良い。CFDは、熱流量も考慮に入れるので、熱分析としても動作する。
【０００８】
本発明は、特に、有限数の成分から成る多数のモデルに関係するCFDシミュレーションの分野に関する。標準的なアプリケーションは、サーバ内部の熱転送のCFDシミュレーションであり、通常、モデルは１つの大きな成分（コンポーネント）（マザーボード）と多数の小さな成分（コンポーネント）（拡張カード、メモリモジュール、CPU、等）を有し、幾つかの構成がシミュレートされ分析される必要がある。
【０００９】
本発明の一態様の一実施形態によると、複数の個々のコンポーネントを有する製品のコンピュータ流体力学（CFD）シミュレーションの方法が提供される。当該方法は、既知のコンポーネントのライブラリを生成するステップであって、前記ライブラリは、前記コンポーネントのコンポーネント形状とシミュレーションに必要なモデル化特性とを有し、前記コンポーネントは前記ライブラリ内で個々にメッシュ化される、ステップと、グラフィカルユーザインタフェース（GUI）を用いて前記ライブラリから複数のコンポーネントを選択し所望の位置に配置して、製品のCFDモデルを作成するステップと、前記モデルにCFDシミュレーションを行うステップと、を有する。
【００１０】
CFDシミュレーションは、複数のソルバーをスケジューリングして前記ソルバーの動作の時間及び前記ソルバー間のデータ交換を管理し、各ソルバーは少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化する。
【００１１】
本実施形態は、コンポーネントメッシュ化、製品のCFDモデルを作成するためのコンポーネントの選択、及び前記モデルのCFDシミュレーションの各段階で、製品のマルチコンポーネント形状を利用できる。既知のコンポーネントのライブラリは、コンポーネントを１回のみメッシュ化し且つ広範な製品の中で用いることを可能にする。所定のGUIは、簡単な選択及び予めメッシュ化されたコンポーネントの並置を可能にし、メッシュ化要件の知識を必要とせずに、製品のCFDモデルを迅速に作成可能にする。複数のソルバーの使用は、少なくとも部分的に個々のメッシュ化コンポーネントにより予め定められたモデルの分割を有する並列計算アーキテクチャを最適に使用でき、早い段階から更なる利点が存在することを意味する。
【００１２】
本発明の第１の態様はシステムアプローチ全体に関するが、当業者は、マルチコンポーネントアプロ―チを用いるライブラリ生成、CFDモデルの作成及びCFDモデルのシミュレーションの各段階が、個々に有利であることを理解するだろう。
【００１３】
本発明の更なる態様の一実施形態によると、一連のマルチコンポーネント製品のためのCFD前処理を簡略化する方法が提供される。各製品は前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記方法は、前記一連のマルチコンポーネント製品の各コンポーネントについて、順に、コンポーネント形状のCAD（Computer  Aided  Design）モデルを入力するステップと、前記コンポーネントの周囲の空気領域を追加するステップと、CFD分析で用いるために、前記コンポーネント及びその周囲の空気領域を含むメッシュを生成するステップと、前記コンポーネントのモデル化特性を設定するステップと、前記コンポーネント形状、メッシュ及びモデル化特性を、既知のコンポーネントとして、前記一連のマルチコンポーネント製品の既知のコンポーネントを個々に格納するコンポーネントライブラリに追加するステップと、を有し、前記コンポーネントライブラリは、前記製品のモデルを生成するために、前記既知のコンポーネントを選択し配置することを可能にする。
【００１４】
本体用は、一連のマルチコンポーネント製品のための複数のコンポーネントのライブラリ内の（例えば、データベースとして組み込まれる）記憶に関連する。各製品は、異なるコンポーネントの組合せを有する。例えば、異なるコンポーネントが存在し、及び／又は使用されるコンポーネンの数及び／又はコンポーネントの位置は、製品によって異なっても良い。コンピュータ支援設計モデルは、ライブラリを有するコンピュータシステムに読み込まれ、又は該システム内で直接生成できる。各コンポーネントは、CFD分析のための空気領域、コンポーネント及びその周囲空気領域を含むメッシュ、並びにモデル化特性を設けられる。これらの特徴（及び場合によっては他の特徴）は、データベース内に既知のコンポーネントを形成する。既知のコンポーネントは、必ずしもメッシュ化又は他のモデル化特性を変更する必要がなく、モデルを生成するために単に選択され配置できる。
【００１５】
有利なことに、前記コンポーネントの前記モデル化特性は、前記コンポーネントのシミュレーションに必要な全ての特性を有し、望ましくは、材料特性、及び内部境界条件、熱特性、流速及び気孔率のような前記コンポーネントの特定の特性を有する。
【００１６】
メッシュ分解能及び周囲空気領域の厚さは、場合によってはシステム規定値を用いて設定されても良いが、望ましくは、専門ユーザがメッシュ分解能及び周囲空気領域の厚さを決定する。これは、各コンポーネントについて、専門知識をライブラリ内にキャプチャさせる。
【００１７】
本発明の更に別の態様によると、一連のマルチコンポーネント製品からマルチコンポーネント製品のCFDモデルを生成する方法が提供される。各製品は、前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記方法は、製品の各コンポーネントについて、順に、前記一連のマルチコンポーネント製品の既知のコンポーネントと、前記コンポーネントを含むメッシュと、前記コンポーネントの周囲の空気領域及びモデル化特性とを個々に格納するコンポーネントライブラリからコンポーネントを選択するステップであって、前記既知のコンポーネントはコンポーネント形状を含む、ステップと、前記既知のコンポーネントを所望の構成に配置するステップと、前記製品の全ての既知のコンポーネントが配置されると、CFDシミュレーションに必要なデータをCFDモデルとして生成し保存するステップと、を有する。
【００１８】
この態様では、モデル生成は、ライブラリ生成の態様に関して前述した既知のコンポーネントの使用により簡略化される。
【００１９】
多くの環境では、特にIT産業において、他の小さいコンポーネントが収容される単一の基本コンポーネントが存在する。したがって、幾つかの実施形態では、各コンポーネントは、製品内で最大のコンポーネントである基本、又は残りのコンポーネントのうちの１つであるコンポーネントとして、分類される。
【００２０】
この分類は、ライブラリ生成段階で行われても良い。
【００２１】
有利なことに、モデル生成処理は、モデル生成を導くルールを用いる。例えば、コンポーネントが（例えばGUIを用いて）新しく配置される又は変更される度に、コンポーネントと予め含まれるモデルの部分との間の共通部分が計算され、共通部分ルールが自動的に適用される。
【００２２】
多くの実施形態では、GUIは、マザーボード又は他の基本コンポーネントの上にコンポーネントを配置するために（位置及び回転を設定するために）用いられるのみであり、変更は行われない。しかしながら、幾つかの実施形態では、調整可能なパラメータ（例えば、内部熱源の電力）がある。このようなパラメータがコンポーネントのメッシュに影響しない場合、それらは、GUIから設定／変更できる。変更の別の可能性は、コンポーネントが、該コンポーネントに関連する複数のメッシュ、例えば精細バージョン、中間バージョン、及び粗バージョンを有することである。次に、GUIは、好適な分解能でメッシュを選択するために用いられる。変更は、モデル生成段階の任意の適切な時間に行うことができる。
【００２３】
一例では、任意の適切な共通部分ルールが適用され、新しく配置され又は変更されたコンポーネントとモデルとの間の共通部分が計算され、共通部分ルールが自動的に適用される。別の例では、共通部分ルールは、コンポーネントの固体部分の共通部分を認めない。
【００２４】
幾つかの実施形態では、X及びY境界は２次元、つまりマザーボード又はシミュレーション領域の「水平方向の」範囲として用いられても良い。このような構成では、共通部分ルールは、シミュレーション領域のX及びY境界の外側の空気領域をトリミングしても良い。
【００２５】
更なる例では、共通部分ルールは、コンポーネントの空気領域を含むようZ方向のシミュレーション領域を拡張する。Z方向は、マザーボードと直交する方向として考えられても良い。
【００２６】
当業者は、これらの共通部分ルールのうちの任意のもの及び全部が環境に従って適用されても良く、更なる共通部分ルールが適用されても良いことを理解する。
【００２７】
任意で、コンポーネントは、全てのコンポーネントがモデルに適用されると、解決段階中の効率を向上するために、分割及び／又は結合されても良い。一実施形態では、製品内の全ての既知のコンポーネントが配置されると、（閾サイズを超えるコンポーネントのような）より大きなコンポーネント及びそれらの周囲領域は、メッシュパーティショニングアルゴリズムを用いて分割される。
【００２８】
別の実施形態では、製品内の全ての既知のコンポーネントが配置されると、（空気領域が重なり合うコンポーネントのような）相互に近傍にある小さいコンポーネントは、メッシュマージを用いてより大きなコンポーネントに結合される。
【００２９】
本発明の更に別の態様の一実施形態では、複数のコンポーネントを含むマルチコンポーネント製品のCFDモデルを解決する方法が提供される。前記方法は、前記製品内の前記コンポーネントに従う前記製品の分割に基づき提供される複数のソルバーを用いるステップであって、各ソルバーは、少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化する、ステップと、を有し、スケジューラは、各ソルバーの動作の時間及び前記ソルバー間のデータ交換を管理する。
【００３０】
本発明の本態様によると、単独で又は任意の他の態様と組み合わせて用いられても良く、複数のソルバー（又は同一のソルバーの複数のインスタンス）は、マルチコンポーネント製品のCFDシミュレーションで用いられても良い。コンポーネントは上述のようにモデル生成の態様で分割又は結合され得るので、複数のソルバーへの分割は複数のコンポーネントへの分割に正確に従わなくても良いが、分割はコンポーネントによるメッシュ化に基づく。スケジューラは、ソルバーが動作するタイミングを管理し、ソルバー間のデータ交換も管理する。
【００３１】
一例では、スケジューラは、ソルバー間のデータ交換をトリガする前に、多数のソルバーの各々について１回の反復を許容する。
【００３２】
上述のように、各コンポーネントは、基本又は通常コンポーネントであっても良い。したがって、ソルバーは、基本ソルバーと多数のコンポーネントソルバーとを有しても良い。一実施形態によると、各ソルバーは、製品内の最大コンポーネントを解決する（モデル化する）基本ソルバー、又は製品内の残りのコンポーネントを解決するコンポーネントソルバーである。
【００３３】
このような構成では、データ交換は、各コンポーネントソルバーと基本ソルバーとの間で行われても良い。例えば、基本ソルバーは境界条件を各コンポーネントソルバーへ転送しても良く、各コンポーネントソルバーは自身の全体体積についてのデータを基本ソルバーへ転送しても良い。これは、基本がシミュレーション領域の範囲を定め、コンポーネントソルバーが問題のコンポーネントに対応する領域のサブ領域であり基本メッシュより精細なメッシュを有する場合が多い実施形態に特に適する。
【００３４】
スケジューラは、任意の適切な方法で、ソルバーの動作の時間を管理しても良い。一例では、スケジューラは、全てのソルバーが並列に動作し、１回の反復の後に全てのソルバー間でデータ交換をさせる平坦型スケジューラである。
【００３５】
別の例では、スケジューラは、コンポーネントをグループ化し、データ交換が行われる前に少なくとも１つのグループを収束させる階層型スケジューラである。
【００３６】
例えば、各コンポーネントは、１つのグループに属し、基本はそれ自体の別個のスケジューラを提供されても良い。このような環境では、グループ化されたコンポーネントは、反復シミュレーションを行われ、基本とのデータ交換を行う前に収束し得る。一方、基本ソルバーは、グループ化されたコンポーネントとのデータ交換の前にシミュレーションの１回の反復のみを実行し得る。
【００３７】
このグループ化は、モデル生成段階のものとは異なる。モデル生成段階では、結合（メッシュニッティング）は、複数のコンポーネントメッシュを１つに結合するために用いられた。これは、一種のグループ化である。しかしながら、階層型ソルバーの場合には、実際にメッシュを結合することなく、グループ化する。
【００３８】
例えば、１つのグループは、メモリモジュール、例えば図２に示す４個のメモリモジュールであり得る。これは後述する。多数の反復に対して、メモリモジュールとマザーボードとの間で１回だけ情報が交換される。次に、モデルの一部が収束した後に、モデルの残りの部分と情報が交換される。
【００３９】
上述の方法の態様の任意及び全部、並びに方法の態様の任意の部分的特徴は、本発明の実施形態において結合され又は別個に取り入れられても良い。
【００４０】
本発明は、コンピューティングシステム及び装置の実施形態も有する。これらのコンピューティングシステム及び装置の実施形態の特徴及び部分的特徴は、互いに及び方法の態様と及び方法の部分的特徴と任意の組合せで又は別個に結合されても良い。
【００４１】
本発明の更に別の態様の一実施形態によると、複数の個々のコンポーネントを有する製品のためのコンピュータ流体力学（CFD）シミュレーションの方法を実施するよう構成されるコンピューティングシステムが提供される。前記システムは、既知のコンポーネントのライブラリを生成し、前記ライブラリは該コンポーネントのコンポーネント形状とシミュレーションのために必要なモデル化特性とを有し、前記ライブラリをメモリに格納し、前記コンポーネントは前記ライブラリ内で個々にメッシュ化される、よう構成されるライブラリプロセッサと、ユーザに、前記ライブラリから複数のコンポーネントを選択し所望の構成に配置して製品のCFDモデルを作成させるよう構成されるGUIと、スケジューラ及びカプラを有し得るCFDシミュレータであって、前記シミュレータは複数のソルバーをスケジューリングすることにより前記モデルをシミュレートするよう構成され、各ソルバーは少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化し、前記スケジューラは前記ソルバーの動作の時間を管理し及び前記カプラを用いて前記ソルバー間のデータ交換を管理する、CFDシミュレータと、を有する。
【００４２】
本発明は、一緒に上述のライブラリデータベース、GUI機能及びCFDシミュレータを有する複数のコンピューティングシステムにも関する。
【００４３】
更なる態様の一実施形態によると、一連のマルチコンポーネント製品のCFD前処理を簡略化する方法を実施するよう構成されるコンピュータ装置が提供される。各製品は前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記コンピュータ装置は、コンポーネント形状のCAD（Computer  Aided  Design）モデルのための入力と、ライブラリインタフェース及びライブラリプロセッサであって、ライブラリユーザに前記コンポーネントの周囲の空気領域を追加させ、CFD分析のために前記コンポーネントと前記コンポーネントの周囲の空気領域を含むメッシュを生成させ、前記コンポーネントのモデル化特性を設定させる、ライブラリインタフェース及びライブラリプロセッサと、前記一連のマルチコンポーネント製品の既知のコンポーネントをデータベースに個々に格納するコンポーネントライブラリであって、各既知のコンポーネントは、コンポーネント形状と、既知のコンポーネントとしてメッシュ及びモデル化特性とを有し、前記コンポーネントライブラリは、前記製品のモデルを生成するために前記既知のコンポーネントを選択し配置させる、コンポーネントライブラリと、を有する。
【００４４】
更に別の態様の一実施形態によると、一連のマルチコンポーネント製品からマルチコンポーネント製品のCFDモデルを生成する方法を実施するコンピュータ装置であって、各製品は、前記一連のマルチコンポーネント製品のために提供される複数のコンポーネントの異なる組合せを有し、前記コンピュータ装置は、セレクタであって、前記一連のマルチコンポーネント製品の既知のコンポーネントと、前記コンポーネントを含むメッシュと、前記コンポーネントの周囲の空気領域及びモデル化特性とを個々に格納するコンポーネントライブラリからコンポーネントを選択するよう構成され、前記既知のコンポーネントはコンポーネント形状を含む、セレクタと、前記既知のコンポーネントを所望の構成に配置するよう構成され、前記製品の全ての既知のコンポーネントが配置されると、CFDシミュレーションに必要なデータをCFDモデルとして生成し保存するモデル生成器と、を有する。
【００４５】
モデル生成の態様は、GUIを有するコンピュータ装置を提供し得る。セレクタ及び位置決めメカニズムは、GUI入力を受け、コンポーネントを選択し位置決めする。セレクタ及び位置決めメカニズムは、１又は複数のプログラミングされたプロセッサとして実施されても良い。
【００４６】
更に別の態様の一実施形態によると、複数のコンポーネントを有するマルチコンポーネント製品のCFDモデルを解決する方法を実施するよう構成されるコンピュータ装置であって、前記コンピュータ装置は、スケジューラとカプラとを有するCFDシミュレータ、を有し、前記スケジューラは、前記製品内の前記コンポーネントに従う前記製品の分割に基づき提供される複数のソルバーの動作の時間を管理するよう構成され、各ソルバーは、少なくとも１つのコンポーネントの一部又は全部を有するコンポーネントグループをモデル化し、前記スケジューラは、前記カプラを用いて前記ソルバー間のデータ交換も管理する。
【００４７】
上述の態様の何れにおいても、種々の特徴は、ハードウェアで、又は１若しくは複数のプロセッサで動作するソフトウェアモジュールとして実施されても良い。ある態様の特徴は、他の態様の特徴に適用されても良い。
【００４８】
方法の態様はコンピュータによる実施を対象としている。また、システム及び装置の態様で定められた個々のコンポーネントは、所定のコンポーネントを提供するためにコンピュータハードウェアで実行するよう構成されるコードと組み合わせてプロセッサ及びメモリを有しても良い。
【００４９】
本発明は、１又は複数のハードウェアモジュ―ルによる実行のための又はその動作の制御のためのコンピュータプログラム又はコンピュータプログラム製品、つまり非一時的情報担体、例えば機械可読記憶装置に有形に又は伝搬信号で具現化されたコンピュータプログラムとして実施できる。コンピュータプログラムは、単独型プログラム、コンピュータプログラムの一部、又は１より多いコンピュータプログラムの形式であり、コンパイルされた又はインタープリットされた言語を含む任意の形式のプログラミング言語で記述でき、単独型プログラムとして又はモジュール、コンポーネント、サブルーチン若しくはデータ処理環境での使用に適する他のユニットを含む任意の形式で展開できる。コンピュータプログラムは、１つのモジュールで又は複数のモジュールで、１カ所で、又は複数箇所に分散して車上で又はバックエンドシステムで通信ネットワークにより相互接続されて、実行されるよう展開できる。
【００５０】
本発明の方法のステップは、入力データに対して作用し出力を生成することにより本発明の機能を実行するためにコンピュータプログラムを実行する１又は複数のプログラマブルプロセッサにより実行できる。本発明の装置は、特定目的論理回路、例えばＦＰＧＡ（field  programmable  gate  array）又はＡＳＩＣ（application-specific  integrated  circuit）を含み得る。
【００５１】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用及び特定目的プロセッサの両方、及び任意の種類のデジタルコンピュータの１又は複数のプロセッサを含む。概して、プロセッサは、命令及びデータを読み出し専用メモリ又はランダムアクセスメモリ又はそれらの両方から受信する。コンピュータの基本要素は、命令及びデータを格納する１又は複数のメモリ装置に結合され命令を実行するプロセッサである。
【００５２】
本発明は、特定の実施形態の観点で説明された。他の実施形態も添付の請求の範囲に包含される。例えば、本発明のステップは、異なる順序で実行され、依然として所望の結果を達成できる。複数のテストスクリプトバージョンは、オブジェクト指向プログラミング技術を用いずに１つのユニットとして編集され呼び出すことができる。例えば、スクリプトオブジェクトの要素は、構造化データベース又はファイルシステムに体系化できる。また、スクリプトオブジェクトにより実行されるとして記載した動作は、テスト制御プログラムにより実行できる。
【００５３】
好適な実施形態による装置は、特定の機能を実行するよう構成され又は配置されるよう記載された。この構成又は配置は、ハードウェア又はミドルウェア又は他の適切なシステムの使用によっても良い。好適な実施形態では、構成又は配置はソフトウェアによる。
【００５４】
本発明の要素は、「セレクタ」及び「位置決めメカニズム」、「スケジューラ」、「カプラ」及び他の機能的用語を用いて記載された。当業者は、このような用語及びそれらの等価物が、空間的に離れているが所定の機能を提供するために結合するシステムの部分を表し得ることを理解する。同様に、コンピューティングシステム又は装置の同一の物理的部分は、所定の機能のうちの任意の２以上を提供しても良い。
【００５５】
例えば、別個に定められた部分は、必要に応じて、同じメモリ及び／又はプロセッサを用いて実装されても良い。
【００５６】
以下では、例として、従来技術及び本発明の実施形態を示す添付の図面を参照する。
【図面の簡単な説明】
【００５７】
【図１】従来のCFDシミュレーションのフローチャートである。
【図２】シミュレートされるべき単純なモデル（左）及びその対応するメッシュ（右）の３D表現である。
【図３】シミュレートされるべき異なるシナリオの３D表現である。
【図４】アクセラレータを有するコンピュータの構造図である。
【図５】ノード当たり２個のマルチコアCPU（それぞれ６個のコア）及び３個のアクセラレータを有する４ノード異種クラスタの構造図である。
【図６】多成分CFD処理の概略である。
【図７】本発明の実施形態による例示的なシステムのフローチャートである。
【図８】コンポーネントを準備し該コンポーネントをコンポーネントライブラリに追加する処理のフロー図である。
【図９】熱シンクの例のコンポーネントモデルを生成する３Dの段階毎の図である。
【図１０】GUIの主要なアプリケーションウインドウの図である。
【図１１】モデル生成手順のフローチャートである。
【図１２】GUIにおけるコンポーネント選択の図である。
【図１３】GUIにおけるコンポーネント配置の図である。
【図１４】トリミング操作の例の図である。
【図１５】合併操作の例である。
【図１６】コンポーネント分割操作の例である。
【図１７】コンポーネントマージ操作の例である。
【図１８】ソルバーへの分割を示す３D図である。
【図１９】平坦型スケジューラの処理フロー図である。
【図２０】階層型スケジューラの処理フロー図である。
【図２１】ソルバーを異種システムにマッピングする階層的な種類のスケジューラの接続図である。
【図２２】本発明の実施形態における幾つかのオプションを示すフローチャートである。
【発明を実施するための形態】
【００５８】
図２は、従来のCFD分析の非常に簡単な例を示す。図２では、シミュレートされるべきモデルは、電源ユニット（PSU）２と、４個のグループに分けられた１６個のメモリモジュール３と、放熱板５を有する２個のプロセッサ４とを備えたサーバマザーボード１を有する。CADモデルが生成され読み込まれた後に、モデル全体のメッシュが生成される。一例を図２の右側に示す。
【００５９】
一般に、利用可能なコンポーネントの正しい組み合わせを選択することにより、ハードウェア製造業者又はシステムインテグレータは、多数のハードウェア構成を提供できる。例えば、図３にこのような３つの組み合わせを示す。高性能大容量メモリ構成（例１）、高性能小容量メモリ構成（例２）、及び低性能小容量メモリ構成（例３）である。これらの全ての例は、シミュレートされる必要があり、従来のアプローチでは、全てのモデルが最初からメッシュ化される必要がある。
【００６０】
前処理段階が終了した後、適切なCFDソルバーが実行され、次に得られた結果が分析される。
【００６１】
高分解能メッシュが要求される複雑なモデルでは、CFDソルバーの実行は非常に時間を要する。幾つかのCFDソルバーは、同じ計算ノード又は複数の計算ノードで複数のCPUで実行するために、並列化戦略をとる。しかしながら、依然として、並列計算能力が無い又は多くの現在のクラスタ内で利用可能な多数のプロセッサに性能が良好に対応しない多くのCFDソルバーが存在する。
【００６２】
最近、次第に、コンピュータは、特に上位クラスタ及びスーパーコンピュータでは、「異機種環境」になってきている。異機種コンピュータは、計算速度及び効率を増大するために１つではなく数種類のプロセッサを用いる。現在、殆ど全てのこのようなシステムは、「アクセラレータ」パラダイムに従い、GPU（Graphic  Processing  Unit）、Intel  Xeon  Phiコプロセッサ又はＦＰＧＡ（Field  Programmable  Gate  Array）のようなアクセラレータが用いられ、CPUの計算能力を補強している。図４に、加速されたノードの一例を示す。図４では、２個のアクセラレータ（アクセラレータ１及び２）がホストシステムにPCI  Expressバスを介して接続される。
【００６３】
ギガビットイーサネット(登録商標)又はInfinibandのようなネットワークインタフェースを用いて、複数の加速されたノードが異機種環境クラスタ内で結合できる。一例を図５に示す。図５は、ノード毎に２個のマルチコアＣＰＵ（それぞれ６個のコア）と３個のアクセラレータを有する４ノードの異機種環境クラスタの一例である。
【００６４】
現在、異機種環境クラスタで動作可能な少数のCFDコードが存在する。このようなコードの例は、SpeedIT（http://speed-it.vratis.com/）のようなGPUで加速されたソルバーと組み合わせた場合にGPUクラスタで動作できるOpenFOAM（http://www.openfoam.com）である。モデルが従来のアプローチで行われるように一体に扱われるとき、シミュレーションは、複数のアクセラレータに渡って区分され、各ソルバーの反復において、アクセラレータ間でデータが交換されるために、ネットワークを介して及びPCI  Expressバスに渡って大量の通信が必要とされる。この通信は、直ぐに重大なボトルネックとなり、ソルバーの拡張性を制限する。
【００６５】
一般に、計算用メッシュの生成及びソルバーは、間違いなく、CFDシミュレーションの中で最も時間を要する２つである。シミュレートされるべきモデルが実際に多数のコンポーネントの組み合わせである特定の例では、CFDシミュレーションの従来のアプローチは、以下の欠点に苦しむ。
【００６６】
プリプロセッサレベルで、どんなに小さい変更でもモデルが変更されるたびに、計算用メッシュは再生成されなければならない。
・ソルバーレベルで、一体的方法でモデルを扱うことは、通常、高度に並列化された現在の及び次世代のコンピューティングプラットフォームにより必要とされる並列化レベルの必須レベルを提供しない。さらに、異機種環境システムは、膨大な通信量が必要とされるので、効率的に利用できない。
【００６７】
本発明の実施形態は、複雑なCFDモデルをシミュレートするために現在要求される膨大な時間を解決する。特に、実際に多数のコンポーネントの組み合わせであるモデルの場合に、それらは、以下の課題のうちの一方又は両方を解決し得る。
・異なるシミュレーション毎に計算用メッシュを再生成する必要。
・大規模な機械での、特に異機種環境アーキテクチャを有する機械での、ソルバーの非効率性。
【００６８】
本発明の実施形態は、従来のCFDシミュレーションシステムに比べて計算効率が良く且つ少ないユーザ介入しか必要としない新しいコンピュータ流体力学（Computational  Fluid  Dynamics）シミュレーションシステムを提供する。
【００６９】
本実施形態のスケジューラは、タスク並列処理のためのマルチコンポーネントアプローチに依る。タスク並列化を利用するために、複数のソルバー又は同一のソルバーの複数のインスタンスが動作する（用語「ソルバー」及び「ソルバーインスタンス」は、本願明細書で同義的に用いられ、コーディングにおいて同一であっても良く同一で無くても良いがCADモデルの異なる部分で実行する別個のソルバーを表す）。他のアプローチでは、ソルバーは、一体的に１つである（１つのタスクを有し、タスク並列化を有しない）。
【００７０】
上述のように、現在のCFDシミュレーションの慣例は一体的アプローチを伴い、シミュレートされるべきモデル全体が先ず生成され、次に膨大な数の現在利用可能なCFDソルバーのうちの１つを用いて解かれる。シミュレーションモデルの生成は、専門知識を必要とし、CFD専門家が正しいモデル分解能、材料特性、及び他のモデルパラメータを設定することが要求される。計算用メッシュを生成する必要は、複雑なモデルの設定を一層困難にし時間を要するものにしてしまう。さらに、利用可能なCFDソルバーのうちの幾つかは大規模な並列計算が可能であるが、このような能力の無い又は膨大な数のプロセッサに対応できない多くのソルバーが存在する。
【００７１】
本発明の実施形態は、いわゆる「マルチコンポーネントCFD」又は「ドメイン分解」アプローチを用いる。これらに従って、複雑なモデルは、より小さいコンポーネントの組み合わせとして見える。これらのコンポーネントは、独立して設定でき、コンポーネントライブラリに追加でき、複雑なモデルを生成するためにユーザにより使用される。ある方法では、本発明の実施形態に従い新しいモデルを生成するステップは、電子装置を構築するステップと似ている。ここで、ビルダーは、カタログから一回に１つ、適切なコンポーネントを選択し、それらをボード上の正しい位置に置く。ランタイムにおいて、スマートスケジューラは、複数のCFDソルバー又は同一のCFDソルバーの複数のインスタンスを実行し、それらの間でデータを交換して、シミュレーションが一体的ではなくコンポーネント毎に実行されるようにしても良い。この方法では、本発明の実施形態の「マルチコンポーネントCFDソルバー」アプローチは、モデル設定段階を大幅に簡略化するだけではなく、解決段階の並列化レベルも向上する。図６は、一実施形態による提案のシステムの簡略レイアウトを示す。
【００７２】
本発明は、特に、複雑な製品及びシステムに適し、IT産業において、例えばノートブック、デスクトップ及びサーバ内部の気体流及び熱転送のモデル化において、並びに自動車及び航空機の製造において、適用を見いだす可能性が最も高い。データセンタは、比較的単純な構造を有する傾向があり、直接的な一体的アプローチにより適するだろう。
【００７３】
図６に示す実施形態では、ユーザは、マルチコンポーネントの製品のモデルを作成するために、GUIで作業する。これは、ステップS６として示す。GUIは、以下に詳述するように、マルチコンポーネントアプローチに特に適応され得る。
【００７４】
次に、モデルは、マルチコンポーネントCFDソルバー１０においてシミュレーションのために使用される。CFDソルバー１０は、特に以下に詳述するマルチコンポーネントCFDシミュレーションに適用されるスケジューラと、市販CFDソルバー１４とを有しても良い。ステップS７で、結果が生成される。
【００７５】
図７は、本発明の実施形態によるより詳細なシステムの配置を示す。
【００７６】
図７に示すシステムは、以下の３つのコンポーネントを有する。
１）ライブラリ生成コンポーネントC１
２）GUIに基づくモデル生成コンポーネントC２
３）スマートスケジューラに基づくソルバーコンポーネントC３。
【００７７】
本実施形態の第１の段階は、ライブラリ生成段階C１である。C１では、S１０で、シミュレーションのためにモデルの基本コンポーネントが準備され（つまり、熱源、流速、材料特性、等のような種々の特性が追加される）、次にS２０で、コンポーネントライブラリデータベースに追加される。ライブラリプロセッサは、この段階のために必要である。ライブラリユーザインタフェースも、通常、必要である。処理は通常手動であり、ユーザインタフェースを必要とするが、自動化されても良い。この処理がどのように実行されるかに関係なく、この段階は、幾つかの主要な特徴を有し得る。
・このステップは、コンポーネントについて一回のみ実行されなけれなならない。
・各コンポーネントの全ての特性は、形状と共にライブラリに保存される。
・メッシュ分解能、周囲の空気の量、特性等の形式の専門知識は、コンポーネントライブラリに蓄積される。
【００７８】
本実施形態の第２の段階は、モデル生成段階C２である。ユーザは、ライブラリ及びプロセッサ（及び生成中及び生成後にモデルを格納するためのメモリ）に接続されたGUIに基づく環境を用いる。ステップS３０で、GUI３０は、前に投入されたコンポーネントライブラリからコンポーネントを選択し配置することにより、シミュレートされるべきモデルを生成するために用いられる。コンポーネントが選択され、境界条件が設定された後に、ステップS４０で、モデルはシステム内のモデル生成器により自動的に結合され、モデルデータ４０（ソルバーに対する入力データ）がユーザ介入無しに生成される。この段階の主な特徴は次の通りである。
・メッシュ化が必要ない。
・特性（例えば、材料、内部境界条件、等）を設定する必要がない。しかしながら、これらは、必要に応じてユーザにより更新できる。
・生成されたモデルは、それ自体、コンポーネントライブラリにコンポーネントとして追加できる。
【００７９】
第３の段階は、ソルバー段階C３であり、セレクタ１２がデータカプラ５０を制御する。シミュレーションを１つの一体的モデルとして実行し、ソルバーの１つのインスタンスのみを実行する代わりに、本実施形態の本アプローチでは、コンポーネント毎に１つの、又はコンポーネントグループ毎に１つの、複数のソルバーが実行される。１つの単一コンポーネントについて複数のソルバーを実行することも可能である。複数のソルバー６０間でデータを交換するために、結合技術が用いられ、最終的な結果が元の一体的シミュレーションの結果と一致するようにする。この段階の主な特徴は、現在のコンピュータアーキテクチャにおいて計算効率が良いことである。
【００８０】
上述の及び他の実施形態では、単一のコンピュータシステムが、３つの段階全ての機能を提供でき、又は各段階の処理は、段階と段階の間のデータ転送を伴い別個のコンピュータシステムにより実行できる。例えば、ライブラリ生成は専門のCAE会社により、モデル生成はサーバ設計及び製造会社により実行され、最終的なシミュレーション及びソルバーはクラウドに収容され、各段階が別個のコンピューティングシステムに関連し、別個の事業体により実行されても良い。代替で、３つの段階全てが、単一のシステム内で実行されても良い。
【００８１】
＜ライブラリ生成＞
本発明の１つの特定の実施形態は、コンポーネントライブラリ（データベース）生成に関連する。これは、マルチコンポーネントCFDしすての最初の段階である。コンポーネントライブラリは、処理されメッシュ化されたCADコンポーネントから生成される。図２及び図３に示した例を生成するために、コンポーネントライブラリ内で４種類のコンポーネントが提示される必要である。つまり、PSUコンポーネント、メモリモジュールコンポーネント、放熱板コンポーネント、及びマザーボードコンポーネントである。
【００８２】
図８に示す処理は、新しいコンポーネントをコンポーネントライブラリに追加するために用いられる。また、図９は、放熱板コンポーネントについてのこの処理の例を示す。この処理は次の通りである。
１）処理は、サポートされるCADフォーマット（例えば、STEP、IGES）内のコンポーネントのCADモデルで開始する。
２）ステップS５０で、所望の厚み（ユーザにより選択されるか、又はシステム規定である）の空気領域がコンポーネントに追加される。留意すべきことに、通常、特定のコンポーネントの各方向にどれ位の空気が必要かを決定する専門知識が必要とされ、この段階でそれを追加することにより、この知識は、コンポーネント毎にライブラリ内にキャプチャされる。
３）ステップS６０で、前のステップで追加されたコンポーネント及び周囲空気を構成するメッシュが生成される。このステップは専門知識を必要とする。図９から分かるように、コンポーネント自体は、周囲空気領域よりも精細なメッシュを有する。
４）設定される特性は、コンポーネントについて設定される。
【００８３】
ａ．材料特性
ｂ．内部境界条件（後の段階で作動され得る）
ｃ．熱源の導入のような特定の熱特性
ｄ．ファン及び同様の部品の流速
ｅ．気孔率
ｆ．その他。
【００８４】
材料特性は、各特定のコンポーネントに対応する材料特性である。実際の材料情報は、追加データベースに格納される。データベースは、材料名（例えば、アルミニウム、銅）毎に、種々の物理特性（密度、熱伝導率、比熱、等）を格納する。
【００８５】
内部境界条件の一例は、例えばCPUモデルでは、熱源である。熱源の場合、該熱源により生成される熱量は、既定値又はユーザにより指定される値（例えば７５ワット）であり得る。値は単純なパラメータなので、コンポーネントがデータベースに保存された後でも（例えば、GUIでコンポーネントを選択するとき）変更できる。
【００８６】
更なる設定される特性の例は、「基本」のような又は通常コンポーネントのような、以下に詳述するコンポーネントの分類である。
【００８７】
５）完成したコンポーネントは、コンポーネントライブラリ２００に追加される。
【００８８】
この段階でコンポーネントに関連する全ての特性を設定し、それらを形状と共にライブラリに保存することにより、モデルを設定するのに必要な多くの専門知識がキャプチャされ、コンポーネントライブラリに蓄積できることに留意すべき重要なことである。これは、非専門的ユーザ（例えば、設計者）が専門家の助言を僅かしか又は全く有しないで、モデルを設定することを可能にする。
【００８９】
コンポーネントライブラリの実施形態は、少なくとも以下の元の要素を有する。
・ライブラリの概念は、コンポーネント毎に、形状及びシミュレーションに必要な全ての特性の両方を有する。
・要素を追加する手順。
【００９０】
＜モデル生成＞
以下の例は、X、Y、Z座標でシミュレーション領域を表す。X及びY座標は、マザーボードの水平範囲（又は全体の空気領域、又はシミュレーション領域のX及びY範囲を定める他の基本コンポーネント）を表し得る。
【００９１】
Ｚ座標は、マザーボード、空気領域又は基本コンポーネントと直交する「高さ」方向を表す。
【００９２】
全体的ルールとして、基本コンポーネントのメッシュ範囲は、シミュレーション領域のサイズを定め、他のコンポーネントのメッシュは、基本コンポーネントのメッシュ内よりも高い分解能のメッシュである。
【００９３】
＜GUIに基づくモデル生成＞
本発明の別の特定の実施形態は、GUIを用いたモデル生成に関する。
【００９４】
コンポーネントライブラリが設定された後、ユーザは、GUI環境を用いて、シミュレートされるべきモデルを準備する。モデルは、コンポーネントライブラリから１又は複数のコンポーネントを選択することにより、及び該コンポーネントをそれらの所望の位置に１つずつ配置することにより、準備される。全てのコンポーネントは既にメッシュ化されているので、この段階でメッシュ化は必要ない。
【００９５】
ここで重要なことは、ユーザに、ライブラリからコンポーネントを選択し、それらをモデル内に配置し、レイアウトを視覚的にチェックする容易且つ効率的な方法を提供することである。後述するGUIは、これらのタスクを達成する、特にモデルレイアウトを視覚的にチェックするのに有利な方法である。
【００９６】
図１０は、ITシミュレーションを対象としたGUIの例示的レイアウトを示す。GUIは、３つの主なビューに分割される。
・コンポーネントライブラリビューは、ライブラリ内で利用可能なコンポーネントを示す。コンポーネントは、２つのカテゴリ、つまり基本とコンポーネントとに分けられる。基本は、変化しない（又はあまり頻繁に変化しない）モデルの部分である。コンポーネントは、位置及び構成がシミュレーション毎に大きく変化する小さいコンポーネントである。留意すべきことに、シミュレーション領域のサイズに等しいサイズの空気部分も基本として動作し得る。
・選択されたコンポーネントビューは、モデル、周囲空気、及び現在選択されているライブラリ内のコンポーネントに関連する他の特性を示す。
・完成モデルビューは、全てのコンポーネントがそれらの指定位置にあり周囲空気領域と一緒にあるモデル全体を示す。
【００９７】
図１１に、モデル生成の進行を示す。ステップは、以下の通りである。
【００９８】
＜１＞コンポーネントを選択する
ステップS８０で、ユーザは、GUIを用いて、コンポーネントライブラリビュー内のコンポーネントらいからコンポーネントを選択する。コンポーネントを選択すると、モデル（周囲空気ゾーンを含む）が、選択されたコンポーネントビューに表示される。この処理を図１２に示す。
【００９９】
通常、ユーザは、先ず空気領域を含むマザーボードのような基本を選択する。その次に、他のコンポーネントが、マザーボードの空気領域に追加される。
【０１００】
＜２＞コンポーネントを配置する
ステップS８０でコンポーネントを選択した後に、ステップS９０で、ユーザは、コンポーネントが配置される場所、及び必要に応じて関連する回転を指定する。これがどのように見えるかの一例を図１３に示す。
【０１０１】
＜３＞共通部分を計算する
コンポーネントを配置し又は変更すると、ステップS１００で、システムは、新しい又は変更されたコンポーネントと、既に存在するコンポーネントとの間の共通部分を計算する。他の共通部分のルールも追加で又は代替で実施されても良いが、幾つかの可能なルールは次の通りである。
・固体の共通部分がない。２以上のコンポーネントの固体部分が交差することを許容しない（交差する場合には、ユーザにエラーメッセージが示される）。
・トリミング。X及びY方向のシミュレーション領域の境界の外側の空気領域が除去される（図１４に一例を示す）。
・合併。シミュレーション領域は、全てのコンポーネントの空気領域を含むためにZ方向に自動的に拡張される（図１５に一例を示す）。
・警告。システムは、部品の境界がシミュレーション領域の境界を越えた場合に、ユーザに警告できる。
【０１０２】
＜４＞GUIを更新する
新しい／更新されたコンポーネントと前のコンポーネントとの間の共通部分が計算された後に、ステップS１１０で、GUIは更新され、現在からの完成モデルビューが更新された完成モデルを示すようにする。
【０１０３】
＜５＞より多くのコンポーネント（ステップS１２０）
上述のステップは、ユーザが追加又は変更すべきコンポーネントが存在しないと決定するまで、繰り返す。
【０１０４】
＜６＞モデルを生成する（ステップS１３０）
ユーザが、追加すべきコンポーネントがもう存在しないと決定した後に、シミュレートされるべきモデルに必要なデータが生成され、ソルバー段階により読み取り可能なフォーマットで保存される。後述のように、初期微調整処理があっても良い。
【０１０５】
ユーザがシミュレートされるべきモデル（例えば、マザーボードと選択したコンポーネント）を組み立てると、次に、モデルをそのまま保つか、又は任意で解決段階中の効率を向上させるためにコンポーネントを分割又は結合するかの選択肢がある。
【０１０６】
メッシュの集合は、個々のメッシュが一緒にされるが、組み立てられたメッシュが１つの単純な接続されたメッシュにならない状況を含む。２つのメッシュ部分が物理的に接触している場合でも、それらの接合部分は、各メッシュに１セットの、ノード及び要素の２つのセットを有する。より形式的には、１より多い部分のメッシュに属するノードを有する組み立てられたメッシュ内に要素が存在しない。メッシュ結合の場合にのみ、２コンポーネントのメッシュが１つに結合される場合に、例えば「ニット」法を用いて個々のメッシュが変更される。
【０１０７】
したがって、この段階で、目標システムの特性及びモデルの特性を考慮すると、以下の更に２つの動作が可能である。
・コンポーネント分割。非常に大きなコンポーネントは、２以上のセクションに分けられ、利用可能な並列化の量を増大させる。コンポーネント及びその周りの空気領域は、従来知られているメッシュパーティショニングアルゴリズムを用いて分割される。図１６は、この動作の一例を示す。ユーザは、この段階で又は処理のもっと早い段階で、例えば特定の手動入力を用いることにより又は全体のサイズ閾を定めることにより、どんなサイズの又はどんな種類のコンポーネントがメッシュパーティショニングをトリガするかを定めても良い。
・コンポーネントマージ。互いに近くに配置された小さなコンポーネントは、１つの大きなコンポーネントに結合できる。この動作の利点は、間接的なソルバーが用いられるとき、収束の必要な接合部分が少ないので、より速い収束である。さらに、計算上の観点から、より大きなコンポーネントは、通常、GPUのような幾つかのアクセラレータでより良い性能をもたらす。コンポーネントマージは、従来知られているメッシュマージアルゴリズムを用いて元のコンポーネントの周りの空気領域を拡張し及び結合することにより実現される。図１７は、この動作の一例を示す。コンポーネントマージは、コンポーネント近接性により、単純な例では隣接するコンポーネントの空気領域の重なり合いにより、トリガされ得る。
【０１０８】
モデル生成段階は、ソルバーにより準備される実際のデータを生成する。コンポーネントモデルに変更がない場合（例えば、コンポーネントの分割又は結合がない場合）、この段階で生成されたデータは、マザーボード及び各コンポーネントのメッシュデータ、並びに（後述するコンポーネントグループの階層構造がある場合には）コンポーネント間の相互接続関係に関する情報である。コンポーネントモデルに変更がある場合、この段階で、変更されたコンポーネントメッシュも生成される。
【０１０９】
モデル生成の実施形態は、少なくとも以下の元の要素を含む。
・GUI。
・コンポーネントに対して実行される動作。
【０１１０】
＜ライブラリからコンポーネントを選択するためのバッチ処理＞
ライブラリの概念は、GUIを有しないで用いられる。しかしながら、ユーザがライブラリからのコンポーネントを用いてモデルを作成できる特定の方法が常に存在しなければならない。これを行う最良且つ最も簡単な方法はGUIを介するかも知れないが、バッチ型システムを用いることも可能である。例えば、ユーザは、実行されるべき動作（例えば、コンポーネント＃２５を選択し、位置（１，１，４）に配置し、X軸に対して４５度だけ回転する）を有するスクリプトを提供し得る。これは、非常に時間のかかる作業だが、幾つかの環境（例えば、非常に小さな変化を有する広範な製品を作成する）では適切であり得る。
【０１１１】
＜マルチコンポーネントソルバー＞
本発明の更なる特定の実施形態は、ソルバーステップに関する。ソルバーステップは、マルチコンポーネントアプローチに従い得る。ソルバーステップでは、CFDソルバーの１インスタンスが、１コンポーネント又は１コンポーネントグループのみをシミュレートする。これは、１つのソルバーインスタンスがモデル全体をシミュレートするために用いられる従来のアプローチとは異なる。
【０１１２】
したがって、本実施形態のスケジューラは、タスク並列処理のためのマルチコンポーネントアプローチに依る。タスク並列化を利用するために、複数のソルバー又は同一ソルバーの複数のインスタンスが実行する。他のアプローチでは、ソルバーは、一体的に１つである（１つのタスクを有し、タスク並列化を有しない）。
【０１１３】
図１８は、コンポーネントに基づくソルバーアプローチの一例を示す。図１８では、CFDソルバーの６個のインスタンスが、並列に、シミュレーションを実行するために用いられる。本例では、ソルバーAはマザーボード１をシミュレートし、ソルバーB及びCはそれぞれ左及び右のメモリバンクを扱い、各バンクのメモリモジュールコンポーネント３は１つのコンポーネントにマージされ、ソルバーDは放熱板を扱い、ソルバーE及びFはPSU２を扱う。
【０１１４】
本発明の実施形態のコンポーネントに基づくソルバーのコアは、２つのコンポーネント、つまりスケジューラとカプラを有する。
【０１１５】
（１）スケジューラ
スケジューラは、複数のソルバーインスタンスを管理する。各ソルバーは、直列又は並列に実行できる独立コードとして扱われる。スケジューラは、同一又は異なるCDFソルバーコードの複数のインスタンスを開始及び終了し、個々のソルバー間のデータ交換を仲介する。
【０１１６】
本発明は、２種類のスケジューラを提案する。
・平坦型スケジューラ。全てのソルバーが同じレベルに存在する。
・階層型スケジューラ。ソルバーはツリーのように体系化される。
【０１１７】
図１９は、平坦型スケジューラのレイアウトを示す。基本ソルバー（例えば、マザーボードのためのソルバー、又はシステム内の大きなコンポーネントのためのソルバー）とコンポーネントソルバーとの間の区別が行われる。留意すべきことに、ユーザにとって好適ならば、シミュレーション領域と同じ大きさの空気のみを有するメッシュを基本と考えること、及びマザーボードを含む全てのコンポーネントをコンポーネントソルバーとして考えることも可能である。全てのソルバーを合わせて１ステップ進めた後に、カプラを介して、各コンポーネントソルバーと基本ソルバーとの間で、データ交換動作が実行される。
【０１１８】
図２０は、階層型スケジューラのレイアウトを示す。階層型スケジューラでは、モデルの部分（例えば、幾つかのコンポーネントを含む）は、平坦型方法で又は階層型方法で独立にシミュレートされ、次に、１つの型の１つのコンポーネントについてではなく、一度に一部分についてデータが交換される。
【０１１９】
計算上の観点から、階層型スケジューラの１つの重要な利点は、データ交換が局所的であり、アルゴリズムの計算効率をより良くすることである。
【０１２０】
データ交換は、基本メッシュを有するデータの交換が領域全体のうちの小さい部分でのみ行われるので、局所的である。したがって、例えば、データ交換は、１ノード又は１GPUのメモリ内で全て行われ得る。時２１に示す例では、グループ１内の全てのコンポーネントについての解決はアクセラレータ１で行われ、グループ２内の全てのコンポーネントはアクセラレータ２により処理される。基本ソルバーはCPUで動作する。各グループ内のコンポーネントを処理するソルバー間のデータ交換は頻繁に起こるので、該グループに割り当てられたアクセラレータのメモリ内部で全ての転送が生じるため、コストが低減される。全てのグループについてのシミュレーションが収束した後に、各グループと基本ソルバーとの間のデータ交換が行われる。データが交換された後、処理は、シミュレーション全体が終了するまで繰り返される。
【０１２１】
（２）カプラ
カプラコンポーネントは、コンポーネント間のデータ転送を扱う。異なるメッシュ間でデータを転送するために、標準的な補間手順が用いられる。さらに、収束の速度を上げるために、FETIのような高機能結合アルゴリズムが用いられ得る。
【０１２２】
通常、データ交換は２段階で行われる（２つの段階は、図示したレイアウトの各々の「カプラによるデータ交換」エントリで実行される）。
・基本メッシュ→コンポーネントメッシュ
フローステップが実行される前に、基本ソルバー（通常、粗メッシュで動作する）に関連するグリッドからのデータがコンポーネントソルバー（通常、精細メッシュで動作する）に関連するグリッドへ転送される。
・コンポーネント境界は、基本メッシュのフローフィールドから境界データを要求する。
・コンポーネントメッシュ→基本メッシュ
フローステップが終了した後に、コンポーネントに関連するメッシュからのデータは、基本ソルバーに関連するメッシュへ転送される。
・コンポーネント内部フローフィールドデータ（体積全体）は、基本メッシュへ転送され戻される。
【０１２３】
本発明の本実施形態のソルバー段階は、少なくとも以下の元の要素を含む。
・スケジューラ。
【０１２４】
＜代替のソルバー構造＞
特定のソルバー方法が常に必要とされる。基本的に、以下の３つのアプローチが取られる。
１）マルチコンポーネントアプローチ（上述した）。
２）Overtureソルバーのような既存の（しかし特定の高機能な）一体的ソルバーを用いる重なり合い又は埋め込み（つまり、組み立て）メッシュアプローチ。
３）コンポーネントメッシュが単一の一体的メッシュに編成される（マージされる）場合、一体的アプローチ（つまり、標準的なソルバー）を用いるこれは、少なくとも多面体（固体形状）型メッシュについて可能である。
【０１２５】
図２２は、本発明の実施形態のオプションの幾つかを示すフローチャートである。このCAE処理への入力は、コンポーネントのCADモデル１００である。コンポーネントは、前述のように準備され、コンポーネントライブラリ又は部品データベース２００に格納される。モデルを生成するために、コンポーネントは、GUI３０を用いて又は手動で生成することにより、或いは場合によってはこれら２つの方法の混合により、ライブラリから選択される。ステップS４０でモデル生成が行われ、組み立てられたメッシュ化モデルを生成する。これは、モデル生成段階を完了する。ソルバー段階には３つの選択肢がある。選択肢３では、組み立てられたモデルは、単一のメッシュを形成するためにニット処理を施され、シミュレーションのために「標準的な」一体型ソルバーが用いられる。選択肢２では、重なり合い又は埋め込みメッシュアプローチが取られ、「Overture」又は構造化グリッドの集合に係る問題を解くのに適する別のより複雑な一体型ソルバーが用いられる。
【０１２６】
選択肢１では、本発明の一実施形態は、マルチコンポーネントCFDを提供し、コンポーネント毎に１つのソルバー又はコンポーネント毎に用いられる１つのソルバーのインスタンスを有する。
【０１２７】
＜本発明の実施形態の従来技術に勝る利点＞
有限数のコンポーネントを有するモデルに繰り返しCFDシミュレーションを実行するとき、上述の本発明の実施形態は、従来のCFDシステムに対して以下の主な利点のうちの一部又は全部を有し得る。
・どれだけ多くのモデルがシミュレートされるかに関わらず、各コンポーネントは１回のみメッシュ化される必要があるだけである。これは、有意な時間の節約をもたらす。
・専門知識はコンポーネント特性の形式でコンポーネントライブラリにキャプチャされるので、システムは、経験の少ないユーザ（例えば、設計者）により使用できる。
・各コンポーネントは独立してメッシュ化されるので、メッシュ化の複雑性が低減される。
・メッシュ化段階でしばしば要求される手動操作はもはや必要ないので（全てのコンポーネントは正しい分解能で１回のみメッシュ化される）、モデル生成段階の自動化が高まる。
・複数のソルバーインスタンスが並列に実行されるので、ソルバー段階の並列化の程度が増大される。このように、直列CFDソルバーが用いられるときでさえ、並列計算が可能である。
・モデルを全体ではなく１回に１部分をシミュレートすることにより、（計算時間のコストは増大するが）限られたコンピュータ資源で複雑なモデルがシミュレートできる。
・アクセラレータへ／からの通信を減少させることにより、異機種環境アーキテクチャが効率的に生かされる。
【符号の説明】
【０１２８】
１２  スケジューラ
３０  GUI
５０  カプラ
６０  CFDソルバー
１００  CADモデル
２００  コンポーネントライブラリ
【図１】
2014191826.tif 000003
【図２】
2014191826.tif 000004
【図３】
2014191826.tif 000005
【図４】
2014191826.tif 000006
【図５】
2014191826.tif 000007
【図６】
2014191826.tif 000008
【図７】
2014191826.tif 000009
【図８】
2014191826.tif 000010
【図９】
2014191826.tif 000011
【図１０】
2014191826.tif 000012
【図１１】
2014191826.tif 000013
【図１２】
2014191826.tif 000014
【図１３】
2014191826.tif 000015
【図１４】
2014191826.tif 000016
【図１５】
2014191826.tif 000017
【図１６】
2014191826.tif 000018
【図１７】
2014191826.tif 000019
【図１８】
2014191826.tif 000020
【図１９】
2014191826.tif 000021
【図２０】
2014191826.tif 000022
【図２１】
2014191826.tif 000023
【図２２】
2014191826.tif 000024