(57)【要約】【課題】複雑な解析体系であっても、粒子の初期配置を簡単に、かつ、好適に行うことができるようにする。【解決手段】本発明に係る流動解析装置においては、粒子配置部３１は、格子状に分割された体系内の各格子点に粒子を配置し、構造物形状入力受付部３２は、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付け、格子点設定部３４は、形状の入力が受け付けられた所定の構造物の任意点を、体系内のいずれかの格子点に設定し、構造物内粒子判定部３５は、設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かを判定し、初期配置粒子決定部３６は、この判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定することを特徴とする。【選択図】  図２
2008262364.tif 000002
【特許請求の範囲】
【請求項１】
格子状に分割された体系内の各格子点に粒子を配置する配置手段と、
前記配置手段により前記体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付手段と、
前記入力受付手段により形状の入力が受け付けられた前記所定の構造物の任意点を、前記体系内のいずれかの格子点に設定する設定手段と、
前記設定手段により設定された前記体系内の所定の格子点を用いて、前記体系内の各格子点に配置された粒子が、前記所定の構造物内に含まれる粒子であるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記配置手段により前記体系内の各格子点に配置された粒子のうち、流体解析開始時に前記所定の構造物を形成させるために初期配置される粒子を決定する決定手段とを備えることを特徴とする流動解析装置。
【請求項２】
前記入力受付手段により入力が受け付けられる前記所定の構造物には、少なくとも、四角柱、円柱、円錐、四角錐、球、および多角形の形状を有する構造物が含まれることを特徴とする請求項１に記載の流動解析装置。
【請求項３】
前記設定手段により前記体系内のいずれかの格子点に設定される前記所定の構造物の任意点には、少なくとも、前記所定の構造物における頂点、底面における各頂点、中心点、底面の中心点、および交点のいずれか１つが含まれることを特徴とする請求項１に記載の流動解析装置。
【請求項４】
前記設定手段は、前記所定の構造物の任意点近傍に位置する格子点番号または粒子番号を取得し、取得された前記格子点番号または粒子番号に従い、前記所定の構造物の任意点を平行移動することで前記体系内のいずれかの格子点に設定することを特徴とする請求項１に記載の流動解析装置。
【請求項５】
前記決定手段により決定された初期配置粒子を用いて、前記所定の構造物に関して流体計算を行う流体計算手段をさらに備えることを特徴とする請求項１に記載の流動解析装置。
【請求項６】
前記入力受付手段は、複数の前記所定の構造物の形状の入力を受け付け、
前記決定手段は、前記配置手段により前記体系内の各格子点に配置された粒子のうち、流体解析開始時に、前記入力受付手段により受け付けられた複数の前記所定の構造物をそれぞれ形成させるために初期配置される粒子を決定することを特徴とする請求項１に記載の流動解析装置。
【請求項７】
格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、
前記配置ステップの処理により前記体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、
前記入力受付ステップの処理により形状の入力が受け付けられた前記所定の構造物の任意点を、前記体系内のいずれかの格子点に設定する設定ステップと、
前記設定ステップの処理により設定された前記体系内の所定の格子点を用いて、前記体系内の各格子点に配置された粒子が、前記所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、
前記判定ステップの処理による判定結果に基づいて、前記配置手段により前記体系内の各格子点に配置された粒子のうち、流体解析開始時に前記所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとを含むことを特徴とする流動解析方法。
【請求項８】
格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、
前記配置ステップの処理により前記体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、
前記入力受付ステップの処理により形状の入力が受け付けられた前記所定の構造物の任意点を、前記体系内のいずれかの格子点に設定する設定ステップと、
前記設定ステップの処理により設定された前記体系内の所定の格子点を用いて、前記体系内の各格子点に配置された粒子が、前記所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、
前記判定ステップの処理による判定結果に基づいて、前記配置手段により前記体系内の各格子点に配置された粒子のうち、流体解析開始時に前記所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとを含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、
前記配置ステップの処理により前記体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、
前記入力受付ステップの処理により形状の入力が受け付けられた前記所定の構造物の任意点を、前記体系内のいずれかの格子点に設定する設定ステップと、
前記設定ステップの処理により設定された前記体系内の所定の格子点を用いて、前記体系内の各格子点に配置された粒子が、前記所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、
前記判定ステップの処理による判定結果に基づいて、前記配置手段により前記体系内の各格子点に配置された粒子のうち、流体解析開始時に前記所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとをコンピュータに実行させることを特徴とする流動解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は流動解析装置および流動解析方法、記録媒体、並びに流動解析プログラムに係り、特に、流動解析時に、粒子の初期配置を行うことができるようにした流動解析装置および流動解析方法、記録媒体、並びに流動解析プログラムに関する。
【背景技術】
【０００２】
近年、原子力、機械、航空、船舶、土木、環境などの分野において流動解析を行う際には、粒子法による粒子型流動解析が行われるようになってきている。この粒子型流動解析を行うことができる粒子型流動解析装置を用いると、流動を支配する物理過程を粒子間の相互作用で表現することができ、これまで解析が困難であった砕波などの流動解析を簡単な計算手法で行うことができる（特許文献１参照）。
【０００３】
特許文献１に提案されている技術によれば、流体を粒子の集まりで表現し、流動を支配する拡散項、圧力項、および非圧縮条件の物理過程について、それぞれ拡散項計算部、圧力計算部、および非圧縮条件計算部により等価な粒子間の相互作用を計算し、流体の動きを解析することができる。これにより、砕波などの流動解析を短時間で高精度に行うことができる。
【特許文献１】特開平７−３３４４８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に提案されている技術では、砕波などの流動解析を短時間で高精度に行うことはできるが、流動解析時において粒子の初期配置を行う際に、通常、オペレータにより入力部が操作されることにより１つ１つの粒子の配置の入力を受け付け、入力が受け付けられた粒子の配置に基づいて、１つ１つの粒子の配置を決定していた。
【０００５】
この初期配置方法を用いて粒子の初期配置を行った場合、流動解析を行う体系の外側が構造物を形成する粒子（構造材粒子）により構成されるとともに、流体を形成する粒子（流体粒子）が体系内部を流れるような体系や、あるいは、この体系内に１つや２つ程度の矩形の構造物が設置されているような体系などのような単純な体系では、オペレータが入力部を操作して１つ１つの粒子の配置を入力したとしても、それほど煩雑な作業ではないために大きな問題とはならない。
【０００６】
しかしながら、３次元で、かつ、体系内に複数の構造物が設置されている体系や、複雑な形状の流路を持つ体系では、上述した初期配置方法を用いて粒子の初期配置を行うようにすると、複雑な構造物が粒子により形成されるように、オペレータが入力部を操作して１つ１つの粒子の配置を入力しなければならず、粒子の初期配置を行う際に煩雑な作業を伴ってしまい、その結果、オペレータは粒子の初期配置を行うことを煩わしいと感じてしまうという課題があった。
【０００７】
また、地形あるいは建築物などの３次元座標データを地図情報から読み込んだ上で、上述した初期配置方法を用いて粒子の初期配置を行うようにすると、粒子の初期配置を行う際の作業はさらに煩雑なものとなってしまうという課題があった。
【０００８】
一方、格子状に分割配置した粒子で任意の形状の構造物を表現する場合においては、配置する粒子の数が多いほど構造物の形状に忠実な表現を行うことができるが、オペレータが入力部を操作して１つ１つの粒子の配置を入力するようにすると、必ずしも、配置する際に用いることができる最大数の粒子で構造物を表現することができるとは限られず、構造物を表現するための粒子を好適に配置することができないという課題があった。
【０００９】
本発明は、このような状況に鑑みてなされてものであり、複雑な解析体系であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる流動解析装置および流動解析方法、記録媒体、並びに流動解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の流動解析装置は、上述した課題を解決するために、格子状に分割された体系内の各格子点に粒子を配置する配置手段と、配置手段により体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付手段と、入力受付手段により形状の入力が受け付けられた所定の構造物の任意点を、体系内のいずれかの格子点に設定する設定手段と、設定手段により設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かを判定する判定手段と、判定手段による判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する決定手段とを備えることを特徴とする。
【００１１】
本発明の流体解析方法は、上述した課題を解決するために、格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、配置ステップの処理により体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、入力受付ステップの処理により形状の入力が受け付けられた所定の構造物の任意点を、体系内のいずれかの格子点に設定する設定ステップと、設定ステップの処理により設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、判定ステップの処理による判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとを含むことを特徴とする。
【００１２】
本発明の記録媒体のプログラムは、上述した課題を解決するために、格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、配置ステップの処理により体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、入力受付ステップの処理により形状の入力が受け付けられた所定の構造物の任意点を、体系内のいずれかの格子点に設定する設定ステップと、設定ステップの処理により設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、判定ステップの処理による判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとを含むことを特徴とする。
【００１３】
本発明の流体解析プログラムは、上述した課題を解決するために、格子状に分割された体系内の各格子点に粒子を配置する配置ステップと、配置ステップの処理により体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付ける入力受付ステップと、入力受付ステップの処理により形状の入力が受け付けられた所定の構造物の任意点を、体系内のいずれかの格子点に設定する設定ステップと、設定ステップの処理により設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かを判定する判定ステップと、判定ステップの処理による判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する決定ステップとをコンピュータに実行させることを特徴とする。
【００１４】
本発明の流動解析装置においては、格子状に分割された体系内の各格子点に粒子が配置され、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力が受け付けられ、形状の入力が受け付けられた所定の構造物の任意点が、体系内のいずれかの格子点に設定され、設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かが判定され、判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定される。
【００１５】
本発明の流体解析方法においては、格子状に分割された体系内の各格子点に粒子が配置され、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力が受け付けられ、形状の入力が受け付けられた所定の構造物の任意点が、体系内のいずれかの格子点に設定され、設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かが判定され、判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定される。
【００１６】
本発明の記録媒体のプログラムにおいては、格子状に分割された体系内の各格子点に粒子が配置され、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力が受け付けられ、形状の入力が受け付けられた所定の構造物の任意点が、体系内のいずれかの格子点に設定され、設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かが判定され、判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定される。
【００１７】
本発明の流体解析プログラムにおいては、格子状に分割された体系内の各格子点に粒子が配置され、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力が受け付けられ、形状の入力が受け付けられた所定の構造物の任意点が、体系内のいずれかの格子点に設定され、設定された体系内の所定の格子点を用いて、体系内の各格子点に配置された粒子が、所定の構造物内に含まれる粒子であるか否かが判定され、判定結果に基づいて、配置手段により体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定される。
【発明の効果】
【００１８】
本発明によれば、複雑な解析体系であっても、粒子の所期配置を簡単に、かつ、好適に設定することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２０】
図１は、本発明に係る流動解析装置１の内部の構成を表している。
【００２１】
図１に示されるように、ＣＰＵ１１は、ＲＯＭ１２に記憶されているプログラム、または記憶部１８からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００２２】
ＲＡＭ１３にはまた、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００２３】
ＣＰＵ１１、ＲＯＭ１２、およびＲＡＭ１３には、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５が接続される。
【００２４】
入出力インタフェース１５には、キーボード、マウスなどによりなる入力部１６、ＣＲＴ(Cathode Ray Tube)、ＬＣＤ(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部１７、ハードディスクなどより構成される記憶部１８、モデム、ターミナルアダプタ、およびネットワークインタフェース（いずれも図示せず）などより構成される通信部１９が接続される。
【００２５】
入出力インタフェース１５には、必要に応じてドライブ２０が接続され、磁気ディスク２１（フロッピディスクを含む）、光ディスク２２（ＣＤ−ＲＯＭ(Compact Disk-Read Only Memory）、ＤＶＤ(Digital Versatile Disk)を含む)、光磁気ディスク２３(ＭＤ(Mini-Disk)を含む)、あるいは半導体メモリ２４などが適宜装着され、それから読み出しコンピュータプログラムが、必要に応じて記憶部１８にインストールされる。
【００２６】
図２は、図１の流動解析装置１が実行することができる機能的な構成を表している。
【００２７】
粒子配置部３１は、予め、流動解析を行う全体系を格子状に初期粒子間隔Ｄで分割し、格子状に分割された体系内の各格子点に粒子を配置する。
【００２８】
構造物形状入力受付部３２は、オペレータにより入力部１６が操作されることにより、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状の入力を受け付け、入力が受け付けられた所定の構造物の形状に関する種々のデータを構造物任意点座標取得部３３に供給する。
【００２９】
構造物任意点座標取得部３３は、構造物形状入力受付部３２から供給された所定の構造物の形状に関する種々のデータを取得し、取得された所定の構造物の形状に関する種々のデータに基づいて入力が受け付けられた所定の構造物の形状を認識するとともに、取得された所定の構造物の形状に関する種々のデータの中から、入力が受け付けられた所定の構造物の任意点（例えば四角柱の場合、四角柱の頂点など）の座標を読み込むことで、入力が受け付けられた所定の構造物の任意点の座標に関するデータを取得する。構造物任意点座標取得部３３は、取得された所定の構造物の任意点の座標に関するデータを格子点設定部３４に供給する。
【００３０】
格子点設定部３４は、構造物任意点座標取得部３３から供給された所定の構造物の任意点の座標に関するデータを取得するとともに、取得された所定の構造物の任意点の座標に関するデータに基づいて、所定の構造物の任意点近傍に位置する格子点の番号である格子点番号を取得する。格子点設定部３４は、取得された格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点を平行移動することで体系内の所定の格子点に設定し、設定された格子点に関する設定データを構造物内粒子判定部３５に供給する。
【００３１】
構造物内粒子判定部３５は、格子点設定部３４から供給された格子点に関する設定データを取得するとともに、取得された格子点に関する設定データに基づいて、格子状に分割された体系内の各格子点に予め配置された粒子が構造物内に含まれる粒子であるか否かを判定し、この判定結果を粒子配置部３１に供給する。
【００３２】
初期配置粒子決定部３６は、構造物内粒子判定部３５から供給された判定結果（構造物内に含まれる粒子であるか否かに関する判定結果）を取得し、取得された判定結果に従い、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する。
【００３３】
流体計算部３６は、初期配置決定部３６により決定された、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて流体計算を行う。
【００３４】
次に、図３のフローチャートを参照して、図２の流動解析装置１における初期配置粒子決定処理について説明する。この初期配置粒子決定処理は、オペレータにより入力部１６が操作されることにより初期配置粒子決定処理を開始するとの指示が受け付けられることで、開始される。
【００３５】
なお、図３のフローチャートを参照して説明する粒子初期配置処理においては、説明を簡略化するために、例えば図４に示されるように、まず、３次元の四角柱を所定の構造物の形状として入力を受け付けて、３次元の四角柱に関して粒子初期配置を行う場合について説明する。
【００３６】
ステップＳ１において、本発明に係る流動解析装置はオイラー型流動解析装置とは異なる粒子型流動解析装置であることから、円筒座標系、円柱座標系などの計算における座標系の概念がないため、粒子配置部３１は、まず、例えば図５に示されるように、予め、流動解析を行う全体系を格子状に初期粒子間隔Ｄで分割し、格子状に分割された体系内の各格子点に粒子を配置する。
【００３７】
このとき、原点の座標を（０、０、０）とすると、原点からｘ方向にｎｘ番目、ｙ方向にｎｙ番目、ｚ方向にｎｚ番目の格子点に配置された粒子が位置する座標は（（ｎｘ−１）Ｄ、（ｎｙ−１）Ｄ、（ｎｚ−１）Ｄ）とされる。
【００３８】
ステップＳ２において、構造物形状入力受付部３２は、オペレータにより入力部１６が操作されることにより、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の四角柱など）の入力を受け付ける。例えば図４および図６に示されるように、ｘ方向、ｙ方向、ｚ方向の１辺の長さがそれぞれＬｘ、Ｌｙ、Ｌｚとされるとともに、四角柱の底面において最も原点に対して距離が近い頂点Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）とされる四角柱の入力が受け付けられる。このとき、例えば図４に示されるように、入力が受け付けられた３次元の四角柱の各面は、体系内の格子点により形成される各格子面と平行に設置される。
【００３９】
構造物形状入力受付部３２は、入力が受け付けられた所定の構造物の形状（例えば３次元の四角柱など）に関する種々のデータを構造物任意点座標取得部３３に供給する。この所定の構造物の形状（例えば３次元の四角柱など）に関する種々のデータには、構造物の形状を示すデータだけでなく、四角柱のｘ方向、ｙ方向、ｚ方向の１辺の長さがそれぞれＬｘ、Ｌｙ、Ｌｚであることを示すデータや、四角柱の底面における各頂点の座標に関するデータ（例えば四角柱の底面において最も原点（０、０、０）に対して距離が近い頂点Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）であることを示すデータなど）などが含まれている。
【００４０】
ステップＳ３において、構造物任意点座標取得部３３は、構造物形状入力受付部３２から供給された所定の構造物の形状（例えば３次元の四角柱など）に関する種々のデータを取得し、取得された所定の構造物の形状に関する種々のデータに含まれる構造物の形状を示すデータに基づいて、入力が受け付けられた所定の構造物の形状（例えば四角柱など）を認識するとともに、取得された所定の構造物の形状に関する種々のデータの中から、入力が受け付けられた所定の構造物（例えば四角柱など）の任意点の座標を読み込むことで、入力が受け付けられた所定の構造物（例えば四角柱など）の任意点の座標に関するデータを取得する。
【００４１】
具体的には、入力が受け付けられた四角柱の底面における各頂点の座標に関するデータ（例えば四角柱の底面において最も原点（０、０、０）に対して距離が近い頂点Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）であることを示すデータなど）が取得される。
【００４２】
構造物任意点座標取得部３３は、取得された所定の構造物の任意点の座標に関するデータを格子点設定部３４に供給する。
【００４３】
ステップＳ４において、格子点設定部３４は、構造物任意店座標取得部３３から供給された所定の構造物の任意点の座標に関するデータを取得するとともに、取得された所定の構造物の任意点の座標に関するデータに基づいて、構造物の底面における頂点の座標の中から、最も原点に対して距離が近い頂点（頂点Ｃ）の座標（Ｃ（Ｃｘ、Ｃｙ、Ｃｚ））を探索する。格子点設定部３４は、初期粒子間隔Ｄと、探索された四角柱の底面において最も原点に対して距離が近い頂点（頂点Ｃ）の座標に基づいて、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点に配置された粒子の番号である粒子番号）を取得する。
【００４４】
例えば図７に示されるように、初期粒子間隔Ｄと、探索された四角柱の底面において最も原点に対して距離が近い頂点（頂点Ｃ）の座標に基づいて、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点（図７の例の場合、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）の番号である格子点番号（あるいは、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点（図７の例の場合、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）に配置された粒子の番号である粒子番号）が取得される。
【００４５】
より具体的には、所定の構造物（例えば四角柱など）の任意点である頂点Ｃの座標（Ｃｘ、Ｃｙ、Ｃｚ）から、例えばｘ、ｙ、ｚの各方向のうちの負の方向で最も近い位置の格子点（図７の例の場合、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【００４６】
但し、所定の構造物（例えば四角柱など）の任意点である頂点Ｃの座標（Ｃｘ、Ｃｙ、Ｃｚ）が、ｘ、ｙ、ｚ方向ともに初期粒子間隔Ｄの整数倍である場合には、所定の構造物（例えば四角柱など）の任意点である頂点Ｃは粒子が配置された格子点のいずれか１つに重なることから、頂点Ｃと頂点（頂点Ｃ）近傍に位置する格子点（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）が一致し、頂点Ｃが重なった格子点の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【００４７】
ステップＳ５において、格子点設定部３４は、取得された格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点（頂点Ｃ（Ｃｘ、Ｃｙ、Ｃｚ））を平行移動すること（図７の例の場合、矢印の方向に平行移動すること）で体系内の所定の格子点（例えば頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ））に設定し、設定された格子点に関する設定データを構造物内粒子判定部３５に供給する。
【００４８】
なお、格子点に関する設定データには、少なくとも、その格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータが含まれている。
【００４９】
これにより、原点Ｏからｘ方向にはint（Ｃｘ／D）個、ｙ方向にはint（Ｃｙ／D）個、ｚ方向にはint（Ｃｚ／D）個移動した位置に構造物の頂点が設定される。従って、入力が受け付けられた所定の構造物の任意点である頂点Ｃの座標は、入力が受け付けられた際の実際の座標データからややずれることとなる。
【００５０】
ステップＳ６において、構造物内粒子判定部３５は、格子点設定部３４から供給された格子点に関する設定データを取得し、取得された格子点に関する設定データに基づいて、まず、体系内のｘ−ｙ断面（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において各格子点に予め配置された粒子が、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【００５１】
具体的には、例えば図７に示されるように、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、例えば図５に示されるように格子状に分割された体系内のｘ−ｙ断面（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において各格子点に配置された粒子のうち、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｘ以内で、かつ、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｙ以内の粒子であるか否かが判定される。このとき、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｘ以内で、かつ、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｙ以内の粒子であると判定された場合、四角柱と同じ性質の粒子であると判定され、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定される。
【００５２】
一方、このとき、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｘ以内で、かつ、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）から距離＋Ｌｙ以内の粒子ではないと判定された場合、四角柱と同じ性質の粒子ではないと判定され、頂点Ｃ´を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【００５３】
ステップＳ７において、構造物内粒子判定部３５は、体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行ったか否かを判定する。ステップＳ７において体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行っていないと判定された場合、処理はステップＳ６に戻り、ステップＳ６において判定処理がさらに実行される。
【００５４】
一方、ステップＳ７において体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行ったと判定された場合、構造物内粒子判定部３５はステップＳ８で、取得された格子点に関する設定データに基づいて、頂点Ｃ´を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される四角柱底面に対してｚ方向の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【００５５】
この場合、ｘ−ｙ断面（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される四角柱底面に対して垂直な断面である、ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において体系内の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。
【００５６】
具体的には、例えば図８に示されるように、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、四角柱底面に対して垂直な断面である各ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離＋Ｌｘ以内で、かつ、Ｃ´ｚからｚ方向に距離＋Ｌｚ以内の粒子であるか否かが判定される。このとき、四角柱底面に対して垂直な断面である各ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離＋Ｌｘ以内で、かつ、Ｃ´ｚからｚ方向に距離＋Ｌｚ以内の粒子であると判定された場合、四角柱と同じ性質の粒子であると判定され、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であると判定される。
【００５７】
一方、このとき、Ｃ´ｘから距離＋Ｌｘ以内で、かつ、Ｃ´ｚから距離＋Ｌｚ以内の粒子ではないと判定された場合、四角柱と同じ性質の粒子ではないと判定され、ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【００５８】
ステップＳ９において、構造物内粒子判定部３５は、体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理を行ったか否かを判定する。ステップＳ９において体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理を行っていないと判定された場合、処理はステップＳ８に戻り、ステップＳ８において判定処理がさらに実行される。
【００５９】
一方、ステップＳ９において体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理をいったと判定された場合、構造物内粒子判定部３５は、体系内において構造物内に含まれる粒子（構造物内粒子）であるか否かに関する判定結果を、初期配置粒子決定部３６に供給する。
【００６０】
ステップＳ１０において、初期配置粒子決定部３６は、構造物内粒子判定部３６から供給された判定結果を取得し、取得された判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定する。すなわち、体系内の各格子点に配置された粒子のうち、ステップＳ６乃至Ｓ９の処理により構造物内に含まれる粒子（構造物内粒子）であると判定された粒子が、流体解析開始時に所定の構造物を形成させるために初期配置される粒子に決定される。
【００６１】
初期配置決定部３６は、決定された粒子（流体解析開始時に所定の構造物を形成させるために初期配置される粒子）に関する粒子決定データを流体計算部３７に供給する。
【００６２】
ステップＳ１１において、流体計算部３７は、初期配置粒子決定部３６から供給された、粒子（流体解析開始時に所定の構造物を形成させるために初期配置される粒子）に関する粒子決定データを取得し、取得された粒子決定データに基づいて、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて所定の構造物に関して流体計算を行う。
【００６３】
本発明の実施形態においては、初期配置する粒子を決定する際に、まず、予め、流動解析を行う全体系を格子状に初期粒子間隔Ｄで分割し、格子状に分割された体系内の各格子点に粒子を配置し、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の四角柱など）の入力を受け付けると、所定の構造物の形状（例えば３次元の四角柱など）に関する種々のデータを取得し、入力が受け付けられた所定の構造物（例えば四角柱など）の任意点の座標を読み込むことで、入力が受け付けられた所定の構造物（例えば四角柱など）の任意点の座標に関するデータを取得することができる。
【００６４】
そして、取得された所定の構造物の任意点の座標に関するデータに基づいて、構造物の底面における頂点の座標の中から、最も原点に対して距離が近い頂点（頂点Ｃ）の座標（Ｃ（Ｃｘ、Ｃｙ、Ｃｚ））を探索するとともに、初期粒子間隔Ｄと、探索された四角柱の底面において最も原点に対して距離が近い頂点（頂点Ｃ）の座標に基づいて、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば四角柱など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点に配置された粒子の番号である粒子番号）を取得し、取得された格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点（頂点Ｃ（Ｃｘ、Ｃｙ、Ｃｚ））を平行移動することで体系内の所定の格子点（例えば頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ））に設定することができる。
【００６５】
次に、格子点に関する設定データに基づいて、ｘ−ｙ断面またはｘ−ｚ断面において体系内の各格子点に予め配置された粒子が、ｘ−ｙ断面またはｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定し、その判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子を決定することができる。その後、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて流体計算を行うことができる。
【００６６】
これにより、複雑な解析体系であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。また、入力が受け付けられた所定の構造物を可能な限り多くの粒子によって表現することができ、構造物を表現するための粒子を好適に配置することができる。従って、粒子の初期配置を行う際に伴う煩雑な作業を削減することができ、粒子の初期配置を行うことを煩わしいとオペレータに感じさせないようにすることができる。
【００６７】
なお、図３の図３のフローチャートを参照して説明した初期配置粒子決定処理においては、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを判定した後、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを判定するようにしたが、このような場合に限られず、逆の順番で判定するようにしてもよく、設定された頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）からｘ方向に距離Ｌｘで、ｙ方向に距離Ｌｙで、かつ、ｚ方向に距離Ｌｚ以内である粒子であるか否かを判定することができさえすればよい。
【００６８】
ところで、図３のフローチャートを参照して説明した初期配置粒子決定処理においては、入力が受け付けられる所定の構造物として四角柱を明示して説明するようにしたが、このような場合に限られず、本発明は例えば３次元の円柱における初期配置粒子を決定する場合にも適用することができる。以下、図３のフローチャートを参照して、この場合における初期配置決定処理について説明する。
【００６９】
ステップＳ２において、構造物形状入力受付部３２は、オペレータにより入力部１６が操作されることにより、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の円柱など）の入力を受け付ける。例えば図９および図１０に示されるように、この円柱の軸方向に垂直な面の半径がＲで、円柱の高さがＨ（Ｌｚ）とされるとともに、円柱の底面の中心Ｃの位置座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）とされる円柱の入力が受け付けられる。このとき、例えば図９および図１０に示されるように、入力が受け付けられた３次元の円柱の軸方向に垂直な面は、体系内の格子点により形成される各格子面のうちのｘ−ｙ平面と平行に設置される。
【００７０】
ここで、円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点をＡ（Ａｘ、Ａｙ、Ａｚ）とする。
【００７１】
構造物形状入力受付部３２は、入力が受け付けられた所定の構造物の形状（例えば３次元の円柱など）に関する種々のデータを構造物任意点座標取得部３３に供給する。この所定の構造物の形状（例えば３次元の円柱など）に関する種々のデータには、構造物の形状を示すデータだけでなく、円柱の軸方向に垂直な面の半径がＲで、円柱の高さが（Ｌｚ）Ｈであることを示すデータや、円柱の中心Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）であり、円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ａの座標がＡ（Ａｘ、Ａｙ、Ａｚ）であることを示すデータなどが含まれている。
【００７２】
ステップＳ３において、構造物任意点座標取得部３３は、構造物形状入力受付部３２から供給された所定の構造物の形状（例えば３次元の円柱など）に関する種々のデータを取得し、取得された所定の構造物の形状に関する種々のデータに含まれる構造物の形状を示すデータに基づいて、入力が受け付けられた所定の構造物の形状（例えば円柱など）を認識するとともに、取得された所定の構造物の形状に関する種々のデータの中から、入力が受け付けられた所定の構造物（例えば円柱など）の任意点の座標を読み込むことで、入力が受け付けられた所定の構造物（例えば円柱など）の任意点の座標に関するデータを取得する。
【００７３】
具体的には、入力が受け付けられた円柱の底面における各頂点の座標に関するデータ（例えば円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ａの座標がＡ（Ａｘ、Ａｙ、Ａｚ）であることを示すデータなど）が取得される。
【００７４】
構造物任意点座標取得部３３は、取得された所定の構造物の任意点の座標に関するデータを格子点設定部３４に供給する。
【００７５】
ステップＳ４において、格子点設定部３４は、構造物任意店座標取得部３３から供給された所定の構造物の任意点の座標に関するデータを取得するとともに、初期粒子間隔Ｄと、円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）に基づいて、所定の構造物（例えば円柱など）の任意点である交点Ａ近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば円柱など）の任意点である交点Ａ近傍に位置する格子点に配置された粒子の番号である粒子番号）を取得する。
【００７６】
例えば図１１に示されるように、初期粒子間隔Ｄと、円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）に基づいて、所定の構造物（例えば円柱など）の任意点である交点Ａ近傍に位置する格子点（図１１の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）の番号である格子点番号（あるいは、所定の構造物（例えば円柱など）の任意点である交点Ａ近傍に位置する格子点（図１１の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）に配置された粒子の番号である粒子番号）が取得される。
【００７７】
より具体的には、所定の構造物（例えば円柱など）の任意点である、円柱の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）から、例えばｘ、ｙ、ｚの各方向のうちの負の方向で最も近い位置の格子点（図１１の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【００７８】
但し、所定の構造物（例えば円柱など）の任意点である交点Ａ（Ａｘ、Ａｙ、Ａｚ）が、ｘ、ｙ、ｚ方向ともに初期粒子間隔Ｄの整数倍である場合には、所定の構造物（例えば円柱など）の任意点である交点Ａは粒子が配置された格子点のいずれか１つに重なることから、交点Ａと交点Ａ近傍に位置する格子点（Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）が一致し、交点Ａが重なった格子点の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【００７９】
ステップＳ５において、格子点設定部３４は、取得された格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点である交点Ａ（Ａｘ、Ａｙ、Ａｚ）を平行移動すること（図１１の例の場合、矢印の方向に平行移動すること）で体系内の所定の格子点（Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）に設定し、これに伴って、円柱の底面の中心Ｃを新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定し、設定された格子点に関する設定データを構造物内粒子判定部３５に供給する。
【００８０】
なお、格子点に関する設定データには、少なくとも、その格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータが含まれている。
【００８１】
これにより、原点Ｏからｘ方向にはint（Ａx／D）個、ｙ方向にはint（Ａｙ／D）個、ｚ方向にはint（Ａｚ／D）個移動した位置に構造物の任意点である交点Ａが設定される。従って、入力が受け付けられた所定の構造物の任意点である交点Ａの座標は、入力が受け付けられた際の実際の座標データからややずれることとなる。これに伴い、円柱の底面の中心Ｃは、新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定される。
【００８２】
ステップＳ６において、構造物内粒子判定部３５は、格子点設定部３４から供給された格子点に関する設定データを取得し、取得された格子点に関する設定データに基づいて、まず、中心Ｃ´を通るｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´から距離Ｒ以内に位置する粒子であるか否かを順次判定し、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【００８３】
具体的には、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、中心Ｃ´を通るｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´からｘ方向およびｙ方向にＲ以内の距離で離れた粒子であるか否かが順次判定され、中心Ｃ´から距離Ｒ以内に位置する粒子であるか否かが順次判定される。このとき、中心Ｃ´を通るｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´から距離Ｒ以内に位置する粒子であると判定された場合、円柱と同じ性質の粒子であると判定され、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定される。
【００８４】
一方、このとき、中心Ｃ´を通るｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´から距離Ｒ以内に位置する粒子ではないと判定された場合、円柱と同じ性質の粒子ではないと判定され、ｘ−ｙ断面において構造物内に含まれない粒子（構造物外粒子）であると判定される。
【００８５】
ステップＳ７において、構造物内粒子判定部３５は、体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行ったか否かを判定する。ステップＳ７において体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行っていないと判定された場合、処理はステップＳ６に戻り、ステップＳ６において判定処理がさらに実行される。
【００８６】
一方、ステップＳ７において体系内の格子点に配置されたｘ−ｙ断面におけるすべての粒子に関して判定処理を行ったと判定された場合、構造物内粒子判定部３５はステップＳ８で、取得された格子点に関する設定データに基づいて、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される円柱底面に対してｚ方向の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【００８７】
この場合、ｘ−ｙ断面（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される円柱底面に対して垂直な断面である、ｘ−ｚ断面において体系内の各格子点に予め配置された粒子が、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【００８８】
具体的には、例えば図１２に示されるように、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、円柱底面に対して垂直な断面である各ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において格子点に配置された粒子のうち、中心Ｃ´からｘ方向およびｙ方向に距離Ｒ以内で、かつ、中心Ｃ´からｚ方向に距離＋Ｌｚ以内の粒子であるか否かが判定される。このとき、円柱底面に対して垂直な断面である各ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において格子点に配置された粒子のうち、中心Ｃ´からｘ方向およびｙ方向に距離Ｒ以内で、かつ、中心Ｃ´からｚ方向に距離＋Ｌｚ以内の粒子であると判定された場合、円柱と同じ性質の粒子であると判定され、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であると判定される。
【００８９】
一方、このとき、円柱底面に対して垂直な断面である各ｘ−ｚ断面（Ｙ軸に対して垂直な断面）において格子点に配置された粒子のうち、中心Ｃ´からｘ方向およびｙ方向に距離Ｒ以内で、かつ、中心Ｃ´からｚ方向に距離＋Ｌｚ以内の粒子であると判定された場合、円柱と同じ性質の粒子ではないと判定された場合、円柱と同じ性質の粒子ではないと判定され、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【００９０】
ステップＳ９において、構造物内粒子判定部３５は、体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理を行ったか否かを判定する。ステップＳ９において体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理を行っていないと判定された場合、処理はステップＳ８に戻り、ステップＳ８において判定処理がさらに実行される。
【００９１】
一方、ステップＳ９において体系内の格子点に配置されたｘ−ｚ断面におけるすべての粒子に関して判定処理をいったと判定された場合、構造物内粒子判定部３５は、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かに関する判定結果と、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かに関する判定結果を、初期配置粒子決定部３６に供給する。
【００９２】
その後、ステップＳ１０において、この判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子が決定され、ステップＳ１１において、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて所定の構造物に関して流体計算が行われる。
【００９３】
これにより、複雑な解析体系（例えば円柱形状の構造物など）であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。また、入力が受け付けられた所定の構造物を可能な限り多くの粒子によって表現することができ、構造物を表現するための粒子を好適に配置することができる。従って、粒子の初期配置を行う際に伴う煩雑な作業を削減することができ、粒子の初期配置を行うことを煩わしいとオペレータに感じさせないようにすることができる。
【００９４】
次に、本発明は例えば３次元の円錐における初期配置粒子を決定する場合にも適用することができる。以下、図３のフローチャートを参照して、この場合における初期配置決定処理について説明する。なお、重複する部分の説明については繰り返しになるので、適宜省略する。
【００９５】
ステップＳ２において、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の円錐など）の入力が受け付けられる。例えば図１３および図１４に示されるように、この円錐底面の半径がＲで、円錐の高さがＬｚとされるとともに、円錐の底面の中心Ｃの位置座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）とされ、頂点Ａの位置座標がＡ（Ａｘ、Ａｙ、Ａｚ）とされる円錐の入力が受け付けられる。このとき、例えば図１３および図１４に示されるように、入力が受け付けられた３次元の円錐底面は、体系内の格子点により形成される各格子面のうちのｘ−ｙ平面と平行に設置される。
【００９６】
ここで、円錐の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点をＥ（Ｅｘ、Ｅｙ、Ｅｚ）とする。
【００９７】
ステップＳ３において、所定の構造物の形状に関する種々のデータに含まれる構造物の形状を示すデータに基づいて、入力が受け付けられた所定の構造物の形状（例えば円錐など）が認識されるとともに、取得された所定の構造物の形状に関する種々のデータの中から、入力が受け付けられた所定の構造物（例えば円錐など）の任意点の座標が読み込まれることで、入力が受け付けられた所定の構造物（例えば円錐など）の任意点の座標に関するデータが取得される。
【００９８】
具体的には、入力が受け付けられた円錐の底面における各頂点の座標に関するデータ（例えば円錐の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ｅの座標がＥ（Ｅｘ、Ｅｙ、Ｅｚ）であることを示すデータなど）が取得される。
【００９９】
ステップＳ４において、初期粒子間隔Ｄと、円錐の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ｅの座標（Ｅｘ、Ｅｙ、Ｅｚ）に基づいて、所定の構造物（例えば円錐など）の任意点である交点Ｅ近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば円錐など）の任意点である交点Ｅ近傍に位置する格子点に配置された粒子の番号である粒子番号）が取得される。
【０１００】
例えば図１５に示されるように、初期粒子間隔Ｄと、円錐の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ｅの座標（Ｅｘ、Ｅｙ、Ｅｚ）に基づいて、所定の構造物（例えば円錐など）の任意点である交点Ｅ近傍に位置する格子点（図１５の例の場合、Ｅ´（Ｅ´ｘ、Ｅ´ｙ、Ｅ´ｚ）で表される格子点）の番号である格子点番号（あるいは、所定の構造物（例えば円錐など）の任意点である交点Ｅ近傍に位置する格子点（図１５の例の場合、Ｅ´（Ｅ´ｘ、Ｅ´ｙ、Ｅ´ｚ）で表される格子点）に配置された粒子の番号である粒子番号）が取得される。
【０１０１】
より具体的には、所定の構造物（例えば円錐など）の任意点である、円錐の底面の中心Ｃからｘ方向の負の方向に伸ばした線と底面の円周とが交わる点Ｅの座標（Ｅｘ、Ｅｙ、Ｅｚ）から、例えばｘ、ｙ、ｚの各方向のうちの負の方向で最も近い位置の格子点（図１５の例の場合、Ｅ´（Ｅ´ｘ、Ｅ´ｙ、Ｅ´ｚ）で表される格子点）の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【０１０２】
ステップＳ５において、格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点である交点Ｅ（Ｅｘ、Ｅｙ、Ｅｚ）が平行移動されること（図１５の例の場合、矢印の方向に平行移動すること）で体系内の所定の格子点（Ｅ´（Ｅ´ｘ、Ｅ´ｙ、Ｅ´ｚ）で表される格子点）に設定され、これに伴って、円錐の底面の中心Ｃが新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定される。
【０１０３】
これにより、原点Ｏからｘ方向にはint（Ｅx／D）個、ｙ方向にはint（Ｅｙ／D）個、ｚ方向にはint（Ｅｚ／D）個移動した位置に構造物の任意点である交点Ｅが設定される。従って、入力が受け付けられた所定の構造物の任意点である交点Ｅの座標は、入力が受け付けられた際の実際の座標データからややずれることとなる。これに伴い、円錐の底面の中心Ｃは、新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定される。
【０１０４】
ステップＳ６において、まず、中心Ｃ´を通るｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´から距離Ｒ以内に位置する粒子であるか否かが順次判定され、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。なお、判定方法については、上述したステップＳ６における説明と基本的には同様であり、その説明は省略する。
【０１０５】
次に、ステップＳ８において、中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される円錐底面に対してｚ方向の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。
【０１０６】
この場合、ｘ−ｙ断面（中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される円錐底面に対して平行な各ｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。
【０１０７】
具体的には、例えば図１６に示されるように、まず、例えばｙ＝Ｃ´ｙにおけるｘ−ｚ断面において、円錐の頂点Ａと円錐底面の点Ｂを結ぶ直線ｆ（ｘ、ｚ）のｚ座標がｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）の位置Ｐにおけるｘ座標Ｐｘと、中心Ｃ´のｘ座標がｘ＝Ｃ´ｘであるとの関係からＲ’＝｜Ｐｘ−Ｃ´ｘ｜の円を考える。このとき、円錐頂点Ａまでｚ方向の座標位置をＤずつ増やす。
【０１０８】
そして、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、円錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離Ｒ´（＝｜Ｐｘ−Ｃ´ｘ｜）以内で、かつ、Ｃ´ｚからｚ方向に距離＋Ｌｚ以内の粒子であるか否かが判定される。このとき、円錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離Ｒ´（＝｜Ｐｘ−Ｃ´ｘ｜）以内で、かつ、Ｃ´ｚからｚ方向に距離＋Ｌｚ以内の粒子であると判定された場合、円錐と同じ性質の粒子であると判定され、ｘ−ｚ断面において構造物内に含まれる粒子（構造物内粒子）であると判定される。
【０１０９】
一方、このとき、円錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離Ｒ´（＝｜Ｐｘ−Ｃ´ｘ｜）以内で、かつ、Ｃ´ｚからｚ方向に距離＋Ｌｚ以内の粒子ではないと判定された場合、円錐と同じ性質の粒子ではないと判定され、構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【０１１０】
その後、ステップＳ１０において、この判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子が決定され、ステップＳ１１において、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて所定の構造物に関して流体計算が行われる。
【０１１１】
これにより、複雑な解析体系（例えば円錐形状の構造物など）であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。また、入力が受け付けられた所定の構造物を可能な限り多くの粒子によって表現することができ、構造物を表現するための粒子を好適に配置することができる。従って、粒子の初期配置を行う際に伴う煩雑な作業を削減することができ、粒子の初期配置を行うことを煩わしいとオペレータに感じさせないようにすることができる。
【０１１２】
また、本発明は例えば３次元の四角錐における初期配置粒子を決定する場合にも適用することができる。以下、図３のフローチャートを参照して、この場合における初期配置決定処理について説明する。なお、重複する部分の説明については繰り返しになるので、適宜省略する。
【０１１３】
ステップＳ２において、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の四角錐など）の入力が受け付けられる。例えば図１７および図１８に示されるように、四角錐底面のｘ、ｙ方向の長さがＬｘおよびＬｙで、四角錐の高さがＬｚとされるとともに、四角錐の底面において最も原点に対して距離が近い頂点Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）とされる四角柱の入力が受け付けられる。このとき、例えば図１７および図１８に示されるように、入力が受け付けられた３次元の四角錐底面は、体系内の格子点により形成される各格子面のうちのｘ−ｙ平面と平行に設置される。
【０１１４】
ステップＳ３において、所定の構造物の形状に関する種々のデータに含まれる構造物の形状を示すデータに基づいて、入力が受け付けられた所定の構造物の形状（例えば四角錐など）が認識されるとともに、取得された所定の構造物の形状に関する種々のデータの中から、入力が受け付けられた所定の構造物（例えば四角錐など）の任意点の座標が読み込まれることで、入力が受け付けられた所定の構造物（例えば四角錐など）の任意点の座標に関するデータが取得される。
【０１１５】
具体的には、入力が受け付けられた四角錐の底面における各頂点の座標に関するデータ（例えば四角錐の底面において最も原点（０、０、０）に対して距離が近い頂点Ｃの座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）であることを示すデータなど）が取得される。
【０１１６】
ステップＳ４において、初期粒子間隔Ｄと、四角錐の底面において最も原点に対して距離が近い頂点（頂点Ｃ（Ｃｘ、Ｃｙ、Ｃｚ））に基づいて、所定の構造物（例えば四角錐など）の任意点である頂点Ｃ近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば四角錐など）の任意点である頂点Ｃ近傍に位置する格子点に配置された粒子の番号である粒子番号）が取得される。
【０１１７】
例えば図１９に示されるように、初期粒子間隔Ｄと、四角錐の底面において最も原点に対して距離が近い頂点（頂点Ｃ）の座標に基づいて、所定の構造物（例えば四角錐など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点（図１９の例の場合、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）の番号である格子点番号（あるいは、所定の構造物（例えば四角錐など）の任意点である頂点（頂点Ｃ）近傍に位置する格子点（図１９の例の場合、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）に配置された粒子の番号である粒子番号）が取得される。
【０１１８】
ステップＳ５において、格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点である頂点Ｃ（Ｃｘ、Ｃｙ、Ｃｚ）が平行移動されること（図１９の例の場合、矢印の方向に平行移動すること）で体系内の所定の格子点（Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）で表される格子点）に設定される。
【０１１９】
これにより、原点Ｏからｘ方向にはint（Ｃx／D）個、ｙ方向にはint（Ｃｙ／D）個、ｚ方向にはint（Ｃｚ／D）個移動した位置に構造物の任意点である頂点Ｃが設定される。従って、入力が受け付けられた所定の構造物の任意点である頂点Ｃの座標は、入力が受け付けられた際の実際の座標データからややずれることとなる。
【０１２０】
ステップＳ６において、まず、体系内のｘ−ｙ断面（頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において各格子点に予め配置された粒子が、ｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。なお、この判定方法については図７を用いて説明した判定方法と同様であり、その説明は省略する。
【０１２１】
次に、ステップＳ８において、頂点Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される四角錐底面に対してｚ方向の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。
【０１２２】
この場合、頂点Ｃ´を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される円錐底面に対して平行な各ｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【０１２３】
具体的には、例えば図２０に示されるように、例えばｙ＝Ｃ´ｙにおけるｘ−ｚ断面において、四角錐の頂点Ａと四角錐底面の点Ｂを結ぶ直線ｆ（ｘ、ｚ）のｚ座標がｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）の位置Ｐにおけるｘ座標Ｐｘが得られる。このとき、四角錐頂点Ａまでｚ方向の座標位置をＤずつ増やす。
【０１２４】
同様に、例えば図２１に示されるように、例えばｘ＝Ｃ´ｘにおけるｘ−ｙ断面において、四角錐の頂点Ａと四角錐底面の点Ｂを結ぶ直線ｇ（ｙ、ｚ）のｚ座標がｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）の位置Ｑにおけるｙ座標Ｑｙが得られる。このとき、四角錐頂点Ａまでｚ方向の座標位置をＤずつ増やす。
【０１２５】
そうすると、ｚ座標がｚ＝Ｃ´Ｚ＋ｎＤにおける四角錐のｘ−ｙ断面のｘ、ｙ方向の１辺の長さがそれぞれ｜Ｐｘ−Ｃ´ｘ|×２、｜Ｑｙ−Ｃ´ｙ|×２のように求められる。
【０１２６】
そして、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、四角錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｐｘからｘ方向に距離｜Ｐｘ−Ｃ´ｘ|×２以内で、かつ、Ｑｙからｙ方向に距離｜Ｑｙ−Ｃ´ｙ|×２以内の粒子であるか否かが判定される。このとき、四角錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｐｘからｘ方向に距離｜Ｐｘ−Ｃ´ｘ|×２以内で、かつ、Ｑｙからｙ方向に距離｜Ｑｙ−Ｃ´ｙ|×２以内の粒子であると判定された場合、四角錐と同じ性質の粒子であると判定され、構造物内に含まれる粒子（構造物内粒子）であると判定される。
【０１２７】
一方、このとき、四角錐底面に対して平行な各ｘ−ｙ断面において格子点に配置された粒子のうち、Ｐｘからｘ方向に距離｜Ｐｘ−Ｃ´ｘ|×２以内で、かつ、Ｑｙからｙ方向に距離｜Ｑｙ−Ｃ´ｙ|×２以内の粒子ではないと判定された場合、四角錐と同じ性質の粒子ではないと判定され、構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【０１２８】
その後、ステップＳ１０において、この判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子が決定され、ステップＳ１１において、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて所定の構造物に関して流体計算が行われる。
【０１２９】
これにより、複雑な解析体系（例えば四角錐形状の構造物など）であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。また、入力が受け付けられた所定の構造物を可能な限り多くの粒子によって表現することができ、構造物を表現するための粒子を好適に配置することができる。従って、粒子の初期配置を行う際に伴う煩雑な作業を削減することができ、粒子の初期配置を行うことを煩わしいとオペレータに感じさせないようにすることができる。
【０１３０】
次に、本発明は例えば３次元の球における初期配置粒子を決定する場合にも適用することができる。以下、図３のフローチャートを参照して、この場合における初期配置決定処理について説明する。なお、重複する部分の説明については繰り返しになるので、適宜省略する。
【０１３１】
ステップＳ２において、体系内の格子点に配置された粒子を用いて形成される所定の構造物の形状（例えば３次元の球など）の入力が受け付けられる。例えば図２２および図２３に示されるように、球の半径がＲとされるとともに、球の中心Ｃの位置座標がＣ（Ｃｘ、Ｃｙ、Ｃｚ）とされる球の入力が受け付けられる。
【０１３２】
ここで、球の中心Ｃからｘ方向の負の方向に伸ばした線と球面とが交わる点をＡ（Ａｘ、Ａｙ、Ａｚ）とする。
【０１３３】
ステップＳ４において、初期粒子間隔Ｄと、球の中心Ｃからｘ方向の負の方向に伸ばした線と球面とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）に基づいて、所定の構造物（例えば球など）の任意点である交点Ａ近傍に位置する格子点の番号である格子点番号（あるいは、所定の構造物（例えば球など）の任意点である交点Ａ近傍に位置する格子点に配置された粒子の番号である粒子番号）が取得される。
【０１３４】
例えば図２４に示されるように、初期粒子間隔Ｄと、球面の中心Ｃからｘ方向の負の方向に伸ばした線と球面とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）に基づいて、所定の構造物（例えば球など）の任意点である交点Ａ近傍に位置する格子点（図２４の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）の番号である格子点番号（あるいは、所定の構造物（例えば球など）の任意点である交点Ａ近傍に位置する格子点（図２４の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）に配置された粒子の番号である粒子番号）が取得される。
【０１３５】
より具体的には、所定の構造物（例えば球など）の任意点である、球の中心Ｃからｘ方向の負の方向に伸ばした線と球面とが交わる点Ａの座標（Ａｘ、Ａｙ、Ａｚ）から、例えばｘ、ｙ、ｚの各方向のうちの負の方向で最も近い位置の格子点（図２４の例の場合、Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）の番号である格子点番号（あるいは、その格子点に配置された粒子の番号である粒子番号）が取得される。
【０１３６】
ステップＳ５において、格子点番号（所定の構造物の任意点近傍に位置する格子点の番号）に従い、所定の構造物の任意点である交点Ａ（Ａｘ、Ａｙ、Ａｚ）が平行移動されること（図２４の例の場合、矢印の方向に平行移動すること）で体系内の所定の格子点（Ａ´（Ａ´ｘ、Ａ´ｙ、Ａ´ｚ）で表される格子点）に設定され、これに伴って、球の中心Ｃを新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定され。
【０１３７】
これにより、原点Ｏからｘ方向にはint（Ａx／D）個、ｙ方向にはint（Ａｙ／D）個、ｚ方向にはint（Ａｚ／D）個移動した位置に構造物の任意点である交点Ａが設定される。従って、入力が受け付けられた所定の構造物の任意点である交点Ａの座標は、入力が受け付けられた際の実際の座標データからややずれることとなる。これに伴い、円柱の底面の中心Ｃは、新たな中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）に設定される。
【０１３８】
ステップＳ６において、まず、中心Ｃ´を通る球の断面としてのｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、中心Ｃ´から距離Ｒ以内に位置する粒子であるか否かが順次判定され、球の断面としてのｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であるか否かが順次判定される。なお、この判定方法については図１１を用いて説明した判定方法と基本的には同様であり、その説明は省略する。
【０１３９】
ステップＳ８において、格子点に関する設定データに基づいて、中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むｘ−ｙ断面において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される断面に対してｚ方向の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【０１４０】
この場合、ｘ−ｙ断面（中心Ｃ´（Ｃ´ｘ、Ｃ´ｙ、Ｃ´ｚ）を含むＺ軸に対して垂直な断面）において構造物内に含まれる粒子（構造物内粒子）であると判定された粒子により形成される断面に対して平行な断面であるｘ−ｙ断面において体系内の各格子点に予め配置された粒子が、構造物内に含まれる粒子（構造物内粒子）であるか否かを順次判定する。
【０１４１】
具体的には、例えば図２５に示されるように、初期粒子間隔Ｄと、格子点に関する設定データに含まれる格子点の番号（あるいは、その格子点に配置された粒子の番号である粒子番号）や、その格子点における座標に関するデータに基づいて、球の断面に対して平行な断面である各ｘ−ｙ断面（例えばｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）におけるｘ−ｙ断面）において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離√Ｒ２−（Ｃ´ｚ＋ｎＤ）２およびＣ´ｙからｙ方向に距離√｛Ｒ２−（Ｃ´ｚ＋ｎＤ）２｝以内で、かつ、中心Ｃ´からｚ方向に距離Ｌｚ以内の粒子であるか否かが判定される。勿論、中心Ｃ´からＲだけ離れた位置のｘ−ｙ断面まで同様の判定処理を行う。
【０１４２】
このとき、球の断面に対して平行な断面である各ｘ−ｙ断面（例えばｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）におけるｘ−ｙ断面）において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離√Ｒ２−（Ｃ´ｚ＋ｎＤ）２およびＣ´ｙからｙ方向に距離√｛Ｒ２−（Ｃ´ｚ＋ｎＤ）２｝以内で、かつ、中心Ｃ´からｚ方向に距離Ｌｚ以内の粒子であると判定された場合、球と同じ性質の粒子であると判定され、構造物内に含まれる粒子（構造物内粒子）であると判定される。
【０１４３】
一方、このとき、球の断面に対して平行な断面である各ｘ−ｙ断面（例えばｚ＝Ｃ´ｚ＋ｎＤ（ｎは自然数）におけるｘ−ｙ断面）において格子点に配置された粒子のうち、Ｃ´ｘからｘ方向に距離√Ｒ２−（Ｃ´ｚ＋ｎＤ）２およびＣ´ｙからｙ方向に距離√｛Ｒ２−（Ｃ´ｚ＋ｎＤ）２｝以内で、かつ、中心Ｃ´からｚ方向に距離Ｌｚ以内の粒子ではないと判定された場合、球と同じ性質の粒子ではないと判定され、構造物内に含まれる粒子（構造物内粒子）ではない（すなわち、構造物外粒子である）と判定される。
【０１４４】
その後、ステップＳ１０において、この判定結果に基づいて、体系内の各格子点に配置された粒子のうち、流体解析開始時に所定の構造物を形成させるために初期配置される粒子が決定され、ステップＳ１１において、決定された流体解析開始時に所定の構造物を形成させるために初期配置される粒子を用いて所定の構造物に関して流体計算が行われる。
【０１４５】
これにより、複雑な解析体系（例えば球形状の構造物など）であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。また、入力が受け付けられた所定の構造物を可能な限り多くの粒子によって表現することができ、構造物を表現するための粒子を好適に配置することができる。従って、粒子の初期配置を行う際に伴う煩雑な作業を削減することができ、粒子の初期配置を行うことを煩わしいとオペレータに感じさせないようにすることができる。
【０１４６】
なお、勿論、図２６に示されるように３次元の多角形については、四角柱と三角柱による初期配置粒子決定処理を組み合わせることで初期配置粒子決定処理を行うことができる。これにより、より複雑な解析体系（例えば球形状の構造物など）であっても、粒子の初期配置を簡単に、かつ、好適に行うことができる。
【０１４７】
なお、本発明の実施形態において説明した一連の処理は、ソフトウェアにより実行させることもできるが、ハードウェアにより実行させることもできる。
【０１４８】
また、本発明の実施形態では、フローチャートのステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【図面の簡単な説明】
【０１４９】
【図１】本発明に係る流動解析装置の内部のハードウェア的な構成を示すブロック図。
【図２】図１の流動解析装置が実行することができる機能的な構成を示すブロック図。
【図３】図２の流動解析装置における初期配置粒子決定処理を説明するためのフローチャート。
【図４】初期配置粒子決定処理に際し、入力が受け付けられる四角柱の詳細を説明するための説明図。
【図５】予め格子状に格子点に粒子を配置する配置方法を説明する説明図。
【図６】入力が受け付けられた四角柱のサイズを示す図。
【図７】頂点を含むｘ−ｙ断面において四角柱に属する粒子を判定する判定方法を説明するための説明図。
【図８】頂点を含むｘ−ｙ断面に対してｚ方向において四角柱に属する粒子を判定する判定方法を説明するための説明図。
【図９】初期配置粒子決定処理に際し、入力が受け付けられる円柱の詳細を説明するための説明図。
【図１０】入力が受け付けられた円柱のサイズを示す図。
【図１１】頂点を含むｘ−ｙ断面において円柱に属する粒子を判定する判定方法を説明するための説明図。
【図１２】頂点を含むｘ−ｙ断面に対してｚ方向において円柱に属する粒子を判定する判定方法を説明するための説明図。
【図１３】初期配置粒子決定処理に際し、入力が受け付けられる円錐の詳細を説明するための説明図。
【図１４】入力が受け付けられた円錐のサイズを示す図。
【図１５】頂点を含むｘ−ｙ断面において円錐に属する粒子を判定する判定方法を説明するための説明図。
【図１６】頂点を含むｘ−ｙ断面に対してｚ方向において円錐に属する粒子を判定する判定方法を説明するための説明図。
【図１７】初期配置粒子決定処理に際し、入力が受け付けられる四角錐の詳細を説明するための説明図。
【図１８】入力が受け付けられた四角錐のサイズを示す図。
【図１９】頂点を含むｘ−ｙ断面において四角錐に属する粒子を判定する判定方法を説明するための説明図。
【図２０】頂点を含むｘ−ｙ断面に対してｚ方向において四角錐に属する粒子を判定する判定方法を説明するための説明図。
【図２１】頂点を含むｘ−ｙ断面に対してｚ方向において四角錐に属する粒子を判定する判定方法を説明するための説明図。
【図２２】初期配置粒子決定処理に際し、入力が受け付けられる球の詳細を説明するための説明図。
【図２３】入力が受け付けられた球のサイズを示す図。
【図２４】頂点を含むｘ−ｙ断面において球に属する粒子を判定する判定方法を説明するための説明図。
【図２５】頂点を含むｘ−ｙ断面に対してｚ方向において球に属する粒子を判定する判定方法を説明するための説明図。
【図２６】初期配置粒子決定処理に際し、入力が受け付けられる多角形の詳細を説明するための説明図。
【符号の説明】
【０１５０】
１…流動解析装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…バス、１５…入出力インタフェース、１６…入力部、１７…出力部、１８…記憶部、１９…通信部、２０…ドライブ、２１…磁気ディスク、２２…光ディスク、２３…光磁気ディスク、２４…半導体メモリ、３１…粒子配置部、３２…構造物形状入力受付部、３３…構造物任意点座標取得部、３４…格子点設定部、３５…構造物内粒子判定部、３６…初期配置粒子決定部、３７…流体計算部。
【図１】
2008262364.tif 000003
【図２】
2008262364.tif 000004
【図３】
2008262364.tif 000005
【図４】
2008262364.tif 000006
【図５】
2008262364.tif 000007
【図６】
2008262364.tif 000008
【図７】
2008262364.tif 000009
【図８】
2008262364.tif 000010
【図９】
2008262364.tif 000011
【図１０】
2008262364.tif 000012
【図１１】
2008262364.tif 000013
【図１２】
2008262364.tif 000014
【図１３】
2008262364.tif 000015
【図１４】
2008262364.tif 000016
【図１５】
2008262364.tif 000017
【図１６】
2008262364.tif 000018
【図１７】
2008262364.tif 000019
【図１８】
2008262364.tif 000020
【図１９】
2008262364.tif 000021
【図２０】
2008262364.tif 000022
【図２１】
2008262364.tif 000023
【図２２】
2008262364.tif 000024
【図２３】
2008262364.tif 000025
【図２４】
2008262364.tif 000026
【図２５】
2008262364.tif 000027
【図２６】
2008262364.tif 000028