(57)【要約】【課題】複雑形状に対する数値解析モデルの生成にあたり、設定の人手による入力作業を極力なくし、解析に好適な微小要素分割を行うことができる。これにより、数値解析にかかる期間や労力を大幅に短縮しうる解析モデルの生成方法を提供すること。【解決手段】計算領域の表面形状から統計情報を採取し、計算領域の形状の特徴、位置、重要度を特定し、その情報を用いて不均一ピッチ直交格子を発生させ、解析モデルとする。【選択図】図２４
2005078416.tif 000002
【特許請求の範囲】
【請求項１】
数値解析の対象となる領域の形状に基づいて複数の微小要素からなる解析モデルを生成する方法であって、
解析対象領域の表面形状データをメモリ上に入力する表面形状データ入力工程と、入力した前記表面形状データから所定の座標軸における格子密度分布を計算する格子密度分布計算工程と、計算した前記格子密度分布に基づいて前記所定の座標軸における格子点座標を生成する格子点座標生成工程と、生成した前記格子点座標に基づいて前記各微小要素を生成する微小要素生成工程と、を含む解析モデル生成方法。
【請求項２】
前記格子密度分布計算工程は、格子密度分布を前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に基づいて計算することを特徴とする請求項１に記載の解析モデル生成方法。
【請求項３】
前記格子密度分布計算工程は、前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に対してフィルタリング計算を施すことを特徴とする請求項２に記載の解析モデル生成方法。
【請求項４】
前記格子点座標生成工程は、前記表面形状データにおいて、隣り合う２つの稜線のなす角度が所定の値以下の値を持つとき、前記２つの稜線の交点の座標を格子点座標とすることを特徴とする請求項１〜３のいずれかに記載の解析モデル生成方法。
【請求項５】
前記格子点座標生成工程は、前記格子密度分布の極大点または極小点の座標を格子点座標とすることを特徴とする請求項１〜４のいずれかに記載の解析モデル生成方法。
【請求項６】
前記格子点座標生成工程は、格子点座標を前記格子密度分布の値の大きい部位に設定することを特徴とする請求項１〜５のいずれかに記載の解析モデル生成方法。
【請求項７】
前記格子点座標生成工程は、前記各座標軸の合計格子数を、前記表面形状データの前記各座標軸の前記格子密度分布の当該座標軸における積分値に基づいて、前記各座標軸に分配し、前記各座標軸毎に、該分配した格子数に応じた数の格子点座標発生させることを特徴とする請求項１〜６のいずれかに記載の解析モデル生成方法。
【請求項８】
数値解析の対象となる領域の形状に基づいて複数の微小要素からなる解析モデルを生成する装置であって、
解析対象領域の表面形状データをメモリ上に入力する表面形状データ入力手段と、入力した前記表面形状データから所定の座標軸における格子密度分布を計算する格子密度分布計算手段と、計算した前記格子密度分布に基づいて前記所定の座標軸における格子点座標を生成する格子点座標生成手段と、生成した前記格子点座標に基づいて前記各微小要素を生成する微小要素生成手段と、を含む解析モデル生成装置。
【請求項９】
前記格子密度分布計算手段は、格子密度分布を前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に基づいて計算するものであることを特徴とする請求項８に記載の解析モデル生成装置。
【請求項１０】
前記格子密度分布計算手段は、前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に対してフィルタリング計算を施すものであることを特徴とする請求項９に記載の解析モデル生成装置。
【請求項１１】
前記格子点座標生成手段は、前記表面形状データにおいて、隣り合う２つの稜線の角度が所定の値以上の値を持つとき、前記２つの稜線の交点の座標を格子点座標とするものであることを特徴とする請求項８〜１０のいずれかに記載の解析モデル生成装置。
【請求項１２】
前記格子点座標生成手段は、前記格子密度分布の極大点または極小点の座標を格子点座標とするものであることを特徴とする請求項８〜１１のいずれかに記載の解析モデル生成装置。
【請求項１３】
前記格子点座標生成手段は、格子点座標を前記格子密度分布の値の大きい部位に設定するものであることを特徴とする請求項８〜１２のいずれかに記載の解析モデル生成装置。
【請求項１４】
前記格子点座標生成手段は、前記各座標軸の合計格子数を、前記表面形状データの前記各座標軸の前記格子密度分布の当該座標軸における積分値に基づいて、前記各座標軸に分配し、前記各座標軸毎に、該分配した格子数に応じた数の格子点座標発生させることを特徴とする請求項８〜１３のいずれかに記載の解析モデル生成装置。
【請求項１５】
請求項１〜７のいずれかに記載の解析モデルの生成方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを記録したコンピュータ読みとり可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値解析、例えば有限要素法、差分法、有限体積法において用いる解析モデルを生成する方法および装置ならびにプログラムおよびその記憶媒体に関する。
【背景技術】
【０００２】
数値解析などに用いる微小要素モデルとしては、主に図１に示すように格子点の並びに規則性をもたない非構造格子、図２に示すように境界の形状を数式に当てはめて格子を作成する境界適合構造格子、図３に示すように座標軸に沿って格子点を配置する直交格子がある。これらは、非特許文献１に説明されている。
【０００３】
コンピュータ上で工業製品等の挙動等に関する数値解析（シミュレーション）を行う場合、製品のコスト削減、短命化などの理由により、複雑な形状データに対して解析モデルの微小要素の位置を決定する格子をできるだけ人手を介さずに自動で行うことが理想である。自動で格子を生成するには、上記直交格子が最も容易であることが知られている。ただし、ここで格子とは、コンピュータシミュレーションを行う対象の空間領域、物体などを微小要素に分割したときにおける、微小要素どうしの個々の境界面、境界線、もしくは計算領域全体に存在する上記境界面、境界線のすべてをいうものとする。
【０００４】
ここで、図３に示すように直交格子によって構成される微小要素について、隣接した微小要素同士が必ず微小要素の頂点を共有する直交格子を連続直交格子と呼ぶ。しかし、格子間隔が均等な連続直交格子においては複雑な形状データの境界の形状再現性が低い。もちろん、全体的に格子間隔を狭くすれば再現性が得られるが、合計格子数が多くなり、多くの計算機資源を使用する。一方、図４に示すように、格子を局所的に再帰的に分割することにより、形状の再現性を得る適合再分割法があるが、生成される微小要素は隣の微小要素と必ずしも頂点を共有しない非連続直交格子が生成される。また、非特許文献２および非特許文献３記載のように、境界に特殊な格子であるカットセルを用いることで形状の再現性の悪さを補おうとする方法（以降カットセル法と呼ぶ）も存在する。
【０００５】
また、直交格子をシミュレーションで使用する際、不均一に格子を配置する方法が知られている。たとえば、非特許文献４記載の、解析対象の特定の軸に対して、全体の分割間隔を指定する方法、分割を行う区間および分割数を指定する方法、特徴点を指定して直接格子を挿入する方法を組み合わせる方法などである。
【０００６】
この方法を使用すると、特定の箇所のみ格子間隔を狭く設定することができ、計算機資源の節約を行うことができるとされている。
【非特許文献１】寺田直樹、”非一様空間格子幅・時間ステップ幅および衝突効果”、［online］、２００２年８月２０日、名大STE研、［２００３年６月１７日検索］、インターネット＜URL：http://st6.stelab.nagoya-u.ac.jp/summer-school/pdf/text10.pdf＞
【非特許文献２】雷康斌、他3名、”V-CADデータを直接利用する二次元の任意形状流れ場の数値解析”、［online］、平成１４年９月１８日、理研シンポジウム  ものつくり情報技術統合化研究プログラム  、［２００３年６月１７日検索］、インターネット＜URL：http://www.riken.go.jp/lab-www/V-CAD/kokai/No200214.pdf＞
【非特許文献３】寺本進・藤井孝蔵, 1998, 直交格子法による三次元物体周りの流れ解析, 第12回数値流体力学シンポジウム講演論文集, 299-300.
【非特許文献４】東レ株式会社発行，３D-TIMONユーザーズマニュアル  第１版，２００２／９
【非特許文献５】Karman, S. L. Jr.,”SPLITFLOW: A 3D Unstructured Cartesian/Prismatic Grid CFD Code for Complex Geome-tries”,１９９５年１月,AIAA Paper 95-0343
【非特許文献６】鳥谷 浩志 千代倉 弘明  著 「３次元CADの基礎と応用」共立出版１９９１年２月
【特許文献１】特開平１０−２５５０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、直交格子を数値解析に適用しようとした場合、形状データの境界の形状再現性が常に問題になる。たとえば、樹脂流動シミュレーションに適用した場合、図６のように境界が階段状に近似されるため、樹脂が金型に充填される量が形状データ（実際には金型によって出来上がる製品の表面形状のデータである）とは異なる。これに起因して、樹脂の充填に必要な時間も実際とは違う。また表面積が形状データとは異なり、大きくなる。そのため、樹脂から金型への熱の移動が実際よりも大きくなる。このような問題を解決する方法として、直交格子の計算領域の境界に修正を施す方法が提案されている。その方法の主なものが上記適合再分割法やカットセル法である。
【０００８】
適合再分割法は図４に示すように、格子を局所的に再帰的に分割することにより、形状データの境界の形状再現性を向上させるというものである。この方法では、微小要素が形状データの境界に対してある条件を満たすまで、たとえば、微小要素のうち、表面形状データが示す解析対象領域と重なって存在するものに対し、上記微小要素が上記の表面形状データが示す計算領域と重なる割合が９０％以上まで、再帰的に自動的に分割することによって、格子の形状データの境界の再現性をあげようとするものである。この場合、図７に示すようにお互いに隣接する微小要素の頂点が共有されていない部分があることにより、大量の補間、または外挿計算、たとえば射出成形シミュレーションの場合、樹脂の流れが格子の非連続部分を通過する場合、樹脂の流速ベクトルと格子の位置を鑑みて各格子へ樹脂を振り分ける計算などが発生し、連続直交格子を用いた計算に特有のシミュレーションの単純さや、高速性が失われてしまう。
【０００９】
また、カットセル法は、非特許文献２に記載のとおり、形状データの境界に存在する格子をシミュレーションを行うソフトウェア中で自動判別し、一部分が欠けた格子として認識し、その場合は特定の方法で計算を行うというものである。この場合、境界のみ計算方法を別扱いする煩雑さと、この領域での粘性流体における数値積分などの不安定さが非特許文献２および非特許文献５に記載されている。
【００１０】
このように、カットセル法も適合再分割法と同じく、連続直交格子を用いた計算に特有のシミュレーションの単純さや、高速性が失われてしまうことには変わりがない。
【００１１】
格子間隔が均一な格子を生成する方法において、格子を細かく設定すればある程度の形状データの境界の形状再現性が得られるが、この場合、計算領域の大きさと表現したい形状特徴の大きさが大幅に異なる場合、膨大な数の格子を発生させるを得ず、計算機の資源を使い尽くしてしまうことがある。
【００１２】
一方、連続直交格子は空間のある軸での同じ箇所での格子間隔が同じである、すなわち、たとえば３次元空間において違う位置であったとしてもx座標軸での位置が同じであればx方向の格子間隔が同じでなければならないという特性がある。たとえば、図５に示すようにO部に微細な構造が存在し、O部の格子間隔を細かく設定すると、粗大な構造しか有しないP部まで格子間隔が細かくなってしまう。したがって、全体のバランスをとりながら最適の格子座標分布を得ることは容易ではない。
【００１３】
解析対象の特定の座標軸に対して、全体の分割間隔を指定する方法、分割を行う区間および分割数を指定する方法、特徴点を指定して直接格子を挿入する方法を組み合わせる方法においては、複雑な形状データに関して直交格子の特性を考慮して分割開始、終了座標、分割数を設定し、数値解析に好適な格子を得ることはオペレータに高い負担をかけ、詳細に設定することは事実上不可能である。また、オペレータが詳細に設定することで時間を消費し、格子作成を自動化しやすいという長所が失われてしまう。
【００１４】
また、非構造格子と連続直交格子を組み合わせた方法も存在するが、非構造格子を組み合わせたことにより、全体においては非構造格子となって、連続直交格子を用いた計算に特有の計算方法が使用不可能になってしまう。
【００１５】
本発明の目的は、高速な数値解析が可能な解析モデルをオペレータに大きな作業負担をかけることなく作成することが出来る解析モデルの作成方法および装置、ならびにプログラムおよびかかるプログラムを記録した記憶媒体を提供することである。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明によれば、数値解析の対象となる領域の形状に基づいて複数の微小要素からなる解析モデルを生成する方法であって、
解析対象領域の表面形状データをメモリ上に入力する表面形状データ入力工程と、入力した前記表面形状データから所定の座標軸における格子密度分布を計算する格子密度分布計算工程と、計算した前記格子密度分布に基づいて前記所定の座標軸における格子点座標を生成する格子点座標生成工程と、生成した前記格子点座標に基づいて前記各微小要素を生成する微小要素生成工程と、を含む解析モデル生成方法が提供される。
【００１７】
また、本発明の好ましい形態によれば、前記格子密度分布計算工程は、格子密度分布を前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に基づいて計算することを特徴とする解析モデル生成方法が提供される。
【００１８】
また、本発明の好ましい形態によれば、前記格子密度分布計算工程は、前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に対してフィルタリング計算を施すことを特徴とする解析モデル生成方法が提供される。
【００１９】
また、本発明の好ましい形態によれば、前記格子点座標生成工程は、前記表面形状データにおいて、隣り合う２つの稜線のなす角度が所定の値以上の値を持つとき、前記２つの稜線の交点の座標を格子点座標とすることを特徴とする解析モデル生成方法が提供される。
【００２０】
また、本発明の好ましい形態によれば、前記格子点座標生成工程は、前記格子密度分布の極大点または極小点の座標を格子点座標とすることを特徴とする解析モデル生成方法が提供される。
【００２１】
また、本発明の好ましい形態によれば、前記格子点座標生成工程は、格子点座標を前記格子密度分布の値の大きい部位に設定することを特徴とする解析モデル生成方法が提供される。
【００２２】
また、本発明の好ましい形態によれば、前記格子点座標生成工程は、前記各座標軸の合計格子数を、前記表面形状データの前記各座標軸の前記格子密度分布の当該座標軸における積分値に基づいて、前記各座標軸に分配し、前記各座標軸毎に、該分配した格子数に応じた数の格子点座標発生させることを特徴とする解析モデル生成方法が提供される。
【００２３】
また、本発明の別の形態によれば、数値解析の対象となる領域の形状に基づいて複数の微小要素からなる解析モデルを生成する装置であって、
解析対象領域の表面形状データをメモリ上に入力する表面形状データ入力手段と、入力した前記表面形状データから所定の座標軸における格子密度分布を計算する格子密度分布計算手段と、計算した前記格子密度分布に基づいて前記所定の座標軸における格子点座標を生成する格子点座標生成手段と、生成した前記格子点座標に基づいて前記各微小要素を生成する微小要素生成手段と、を含む解析モデル生成装置が提供される。
【００２４】
また、本発明の好ましい形態によれば、前記格子密度分布計算手段は、格子密度分布を前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に基づいて計算するものであることを特徴とする解析モデル生成装置が提供される。
【００２５】
また、本発明の好ましい形態によれば、前記格子密度分布計算手段は、前記表面形状データの、前記所定の座標軸における微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布に対してフィルタリング計算を施すものであることを特徴とする解析モデル生成装置が提供される。
【００２６】
また、本発明の好ましい形態によれば、前記格子点座標生成手段は、前記表面形状データにおいて、隣り合う２つの稜線の角度が所定の値以上の値を持つとき、前記２つの稜線の交点の座標を格子点座標とするものであることを特徴とする解析モデル生成装置が提供される。
【００２７】
また、本発明の好ましい形態によれば、前記格子点座標生成手段は、前記格子密度分布の極大点または極小点の座標を格子点座標とするものであることを特徴とする解析モデル生成装置が提供される。
【００２８】
また、本発明の好ましい形態によれば、前記格子点座標生成手段は、格子点座標を前記格子密度分布の値の大きい部位に設定するものであることを特徴とするに記載の解析モデル生成装置が提供される。
【００２９】
また、本発明の好ましい形態によれば、前記格子点座標生成手段は、前記各座標軸の合計格子数を、前記表面形状データの前記各座標軸の前記格子密度分布の当該座標軸における積分値に基づいて、前記各座標軸に分配し、前記各座標軸毎に、該分配した格子数に応じた数の格子点座標発生させることを特徴とする解析モデル生成装置が提供される。
【００３０】
また、本発明の好ましい形態によれば、解析モデルの生成方法の各工程をコンピュータに実行させるためのプログラムが提供される。
【００３１】
また、本発明の好ましい形態によれば、プログラムを記録したコンピュータ読みとり可能な記憶媒体が提供される。
【発明の効果】
【００３２】
本発明による格子生成方法および装置によれば、以下に説明するとおり、複雑な表面形状を持つ機械部品などの数値解析モデルの生成にあたり、オペレータによるによる入力作業の負担が小さく、かつ高い形状再現性を得ることが可能である。これにより、数値解析にかかる期間や労力を大幅に短縮しうる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の最良の実施形態の例を図面を参照しながら、詳細に説明する。
【００３４】
図８は本形態の解析モデル生成装置のハードウェア構成例を示す図である。コンピュータ８０１に入力装置８０３、表示装置８０４および補助記憶装置８０２が接続されている。
【００３５】
図９は本形態における実施の手順を示すフローチャートである。
【００３６】
本形態では、解析対象の領域を３次元空間とするが、時間軸、さらに事前に数値解析を行って算出された何らかのベクトル値またはスカラー値を示す座標軸を追加した４次元以上の空間でもよく、また、座標系としてはいわゆるデカルト座標である必要はなく、極座標系、円筒座標系のような空間でもよい。さらに、各座標軸は必ずしも直交していなくてもよい。
【００３７】
ステップ１では、８０１のＲＡＭ(ランダムアクセス可能な揮発性メモリ)に対して、表面データSを読み込む（表面形状データ入力工程、手段）。ここで表面データＳとは、数値解析の対象となる領域の表面形状を記述したデータであり、例えば非特許文献６に述べられているように曲面の式が２次方程式で表される２次曲面などの関数形で定義される場合や、図１０に示すように計算領域表面を微小な３角形など平面図形の組み合わせとして表し、各平面図形の頂点座標値の群により表面を定義する場合などがある。以降の例では計算領域を３角形の組み合わせとして表現した場合を例にとって説明する。
【００３８】
ステップ２では格子密度の分布計算を行う（格子密度分布計算工程、手段）。ここでは簡単のため、表面形状データＳを３次元に限定しｘ軸における分布を求める場合を考える。
【００３９】
まず、分布を求める微小区画を決定する(あらかじめ設定されていてもよい)。通常、微小区画の数は、設定する予定の格子数に比較して、十分多い数に設定しなければならない。表面形状データの存在する範囲の広がりの大きさ(表面形状データに存在する当該座標軸上の最大と最小値との差）をこの微小区画の数で除した値が、座標軸上の位置の空間的分解能となる。あらかじめ格子数が決まっていれば、その数の１００倍以上が理想的である。決まっていなければ、使用できる計算機のメインメモリなどの資源と１微小区画に必要とされるデータ量、また、数値解析において必要となるデータ量などから、微小区画数を割り出してもよい。次に、表面データＳのｘ座標における最小値、最大値を上記算出した微小区画数で均等に分割する。ここで、分割数Nとし、表面データＳのｘ座標値の最小値をxmin、xmax、微小区画名をDk（0≦k≦N-1）、Dkにおける最小座標をDkxmin、最大座標をDkxmaxとする。微小区画Diについて、最小座標  Dixmin=（（xmax - xmin）*i／N）＋xmin、最大座標はDixmax=（（xmax - xmin）*（i＋１）／N）＋xminとなる。次に、微小区画Di について、x座標軸における表面データＳの微分値の絶対値の所定の座標軸以外つまり、y,z座標軸における積分値を求める。
【００４０】
つまり次の式（１）を求める。
【００４１】
【数１】
2005078416.tif 000003
ここで、積分値SAxiはｘ座標軸に関しての微小区画iにおけるx座標軸における微分値の絶対値の所定の座標軸（ｘ軸）以外の、すなわち、y,z座標軸における積分値であり、座標軸、区画を省略した場合積分値SAと呼ぶことにする。このSAが格子密度分布となる。積分の範囲は、ｚ、ｙ座標軸ともに、Diに関して表面データＳがとりうる範囲である。
【００４２】
ここで、式（１）の意味するところは、次の通りである。
【００４３】
例として図１１のような図形に対して連続格子を発生させるとする。ここでは簡単のため２次元直交座標系で表示するが、この座標系においてｘ座標軸について格子点を配置する場合を考えることとする。したがって、図１１では「表面」は輪郭線に落とし込まれている。ここに、図１２は、図１１の一部における、ｘ座標軸、ｙ座標軸ともに均一に格子点の座標を配置した場合の、格子と、対象計算領域表面の図である。破線は、格子を表わし、破線で囲まれた最小の正方形の領域のうち解析対象領域(表面データＳの右下側)にわずかでも含まれる部位がある領域が、第一義的な解析モデルを形成する微小要素となる。図１２において、斜線部は上記の微小要素のうち、解析対象領域から外側にはみ出している領域を示している。解析モデルがこのような領域を含んでいる場合、この領域は、本来の解析対象領域に対する形状の誤差部分となる。
【００４４】
A部、Ｂ部ともにｘ座標軸における領域の範囲の大きさ(３．５マス分）は同じであるが、解析対象領域外にはみ出している、形状の誤差部分が広くなっており、明らかにＢ部よりA部の方が形状の近似度が劣っている。これは、A部、Ｂ部ともにｘ座標軸においては領域の範囲は同じであるにも関わらず、表面データＳのｘ座標軸に関する傾きが大きいためである。このことから、表面データＳのｘ座標軸に関する傾きが大きいほど格子密度を大きくする必要があるといえる。傾きの大きさ（表面データＳのｘ座標軸における微分値）は、右上がりでは正、右下がりでは負の値をとるが、右上がりでも右下がりでも上記の技術的意義に変わりはないので、絶対値で評価する。さらに、Ｃ部のように、A,Ｂ部と比較して微細な構造が存在する場合、数値計算にはさしたる重要性がない場合が多く、さらにこのような場所に格子が集中してしまった場合、他の部分に格子が行き渡らなくなってしまう。
【００４５】
また、同じｘ座標点において表面が多数個所に現れるほどそのｘ座標の表面データＳにおける重要度が高いので、これを反映させるために上記微分値の絶対値をｙ座標軸方向に積分する。3次元空間においては、さらにｚ座標軸が存在することになるが、ｙ座標軸方向とｚ座標軸方向とは技術的意義は同等なので、ｚ座標軸方向にも積分することになる。あるx座標軸上の点ｘiにおけるの積分値SAxiの図形的意義は、結局、表面データＳがx=xiに存在するx座標軸方向に法線を有する厚さ(xmax-xmin)/Nの平板形空間を横切る部分を上記法線方向に上記平板面上に射影した図形の面積であるといえる。この面積の大きさは、x=xiにおける表面データSのx座標軸方向の変化の平均的な大きさと、表面データSの中でのx=xiという位置の重要度の積であると捉えることもできる。
【００４６】
本形態において、式（１）を計算することは以下の計算を実行することによって実現する。
【００４７】
すなわち、まず、Ｓを２平面ｘ＝Dixmin、ｘ＝Dixmaxで切断し、微小区画Dixmin ≦ x ≦Dixmaxに含まれる部分を取り出し、SDiとする。ここで、Sは３角形で構成されているので、Sを切断したSDiは一般的に３角形、４角形、５角形の多角形を含む。次に、SDiに含まれる多角形のｘ座標を無視しｙ、ｚ座標のみで形成される２次元多角形の面積を求める。これをSDiに含まれる多角形すべてにおいて実行し、加算する。各多角形の加算値が式１のSAxiに相当する。
【００４８】
また、式（１）を計算する他の方法として、以下の方法を採ることも可能である。
【００４９】
上記と同様に、簡単のために、表面形状データＳを３次元に限定し、x座標軸を例にとる。
【００５０】
この方法では図１５のように、仮想的にｘ座標軸に平行な直線をｙｚ方向に適当な間隔で均等に分布させ、Ｓとの交点を求める。この直線の分布は、ｘ座標軸以外の座標軸、つまりｙ、ｚそれぞれの微小区画に１００個以上の直線が分布するのが望ましい。このとき、交点のx座標値を交点ごとに記憶しておく。次に、交点がどの区画Dk（Dixmin ≦ x ＜Dixmax）に分類されるかを判定し、区画Dkにおける交点の個数ISxkを記録する。図１５は簡単のために、ｘ、ｙ座標で考え、また分布を粗くしたものである。また、この場合はISxj=4である。この値は上記のSAxjに相当する。この方法を利用すると、はじめの方法で行ったように、表面形状データを切断する必要がなく表面形状が複雑な場合や、表面形状データが形状的に不具合を含んでいる場合に効果的である。また適切に交点算出を行えば、高速に演算を行うことが可能である。なおこの方法で算出した数値は、すべて整数値をとるため、以下で説明するフィルタリング処理（ステップ３）の重要度が高い。なお、これら以外に技術的意義として式（１）を計算しているに等しいものであれば、どのようなアルゴリズムでもよい。
【００５１】
またここで、図１３のような表面形状データＳを考える。このとき、Da,Dbの２つの区画を考慮した場合、上記式SAxを計算すると、式（１）の定義から一般的に、SAxa≦SAxbとなる。しかし、この場合、ｘ座標軸方向の格子密度分布は SAxa＝SAxbとなることが望ましいときもある。このときはSDiにおける境界線の長さでSAを除算することによって、断面積の違いによる不必要な変化を防ぐことができ、正規化することができる。図１３の場合は、図１４のLa,Lbすなわち、Ｓをそれぞれの区画の始点、終点で切断したものの境界の長さにあたる。当ステップでは簡単のためにx座標軸のみを例に取ったが、これを他のすべての座標軸にも行い、格子密度分布を得る。この場合の式（１）の積分値SAxiに相当する積分値SA'xiは、たとえば式（２）のように記述することができる。
【００５２】
【数２】
2005078416.tif 000004
この式（２）の図形的意義は、表面データＳがx=xiに存在するx座標軸方向に法線を有する厚さ(xmax-xmin)/Nの平板形空間を横切る部分を上記法線方向に上記平板面上に射影した図形の面積を上記横切る部分の長さＬの総和で除したものであるといえる。言い換えると、x=xiにおける表面データSのx座標軸方向の変化の平均的な大きさであると捉えることもできる。表面データSのx=xiにおける重要度を考慮せず、図12で示した射線部分に対応する個々の微小要素の誤差の均一化を目標とする場合に適用するのが好ましい。
【００５３】
実際の応用では、式（１）と式（２）の積分値の間をとるような重みづけ関数Ｗを導入してもよい。重みづけ関数Ｗとしては、たとえば、W= 1/L（0≦ L ≦Ltが成り立つ場合）, 1 (前記不等式が成り立たない場合)といった形を取ることが考えられる。なお、Ltはオペレータが指定する境界値である。この場合、上記法線方向に上記平板面上に射影した図形の面積を上記横切る部分の長さLt以下の場合でも必要以上に省略されることを防ぐことが出来る。
【００５４】
また、W=Fu(x,y,z)とすることも出来る。Fuはオペレータが指定する重み関数である。例えば、Fu(x) = 0.3x（0≦ x ≦5の場合）, 1/x （５＜ x ≦１０の場合）などと指定することもできる。この場合、特定の範囲の座標での格子の制御が可能になる。
ここで、その場合と式（１）および式（２）の積分値の形態を含む一般的な積分は、式（３）で表わすことができる。
【００５５】
【数３】
2005078416.tif 000005
次に、フィルタリング計算を行う。（ステップ３）ステップ１で実行したように表面形状データＳを微小区画に区切って計算を行った場合、計算誤差などの影響でSAの値に細かいノイズが発生することがある。高周波ノイズ成分カットを目的とするフィルタリング計算の目的は、そのノイズにより、後述のステップ５における、極大値、極小値座標抽出の結果に異常を来すおそれがあるのを低減または回避するためである。本形態においては、フィルタリング計算には移動平均法を用いるが、重み付け移動平均、FFTでのローパスバンドフィルタなどが使用できる。また、移動平均法を使用した場合には、SAの分布の変化が実際よりなだらかになる傾向があるが、これにより、格子密度分布の変化がなだらかになるので、格子の間隔がなめらかに変化するという効果もある。どれだけなだらかになるかは、移動平均法の平均をとる幅によって調整できる。
【００５６】
図１０に示す表面形状データＳのSAxを計算し、横軸をｘ座標、縦軸をSAxとしてプロットしたものを図１６に示す。
【００５７】
なお、ここで示した各座標軸のSA,例えば３次元空間ではSAx,SAy,SAzをプロットしたものを画面出力し、オペレータに表面形状データの複雑性を示す指針とすることも考えられる。オペレータは、この情報を用いて、後にさらに好適な格子配置を行うことも可能である。
【００５８】
次に、各座標軸への格子数の振り分けを行う。（ステップ４）計算領域に具体的に格子点を発生させるためには、各座標軸に対して格子点座標が何個所あるのが望ましいのかを求めるのが一般的である。まず、計算領域全体において発生すべき各座標軸方向の格子点座標の合計を決定する。これはオペレータが入力してもよいし、また、解析モデル生成装置のハードウェアにおける資源の上限等に基づいて自動的に計算してもよい。本形態ではオペレータが入力することとする。SAはどれだけ密に格子点座標を発生させるべきかという指標なので、各座標軸についてのSAの積分は、各座標軸についてどれだけ密に格子を発生させるべきかという指標になる。よって、ステップ３までで計算された所定の座標軸におけるSAの値をその座標軸について積分した値ISAを求める。例えば、x座標軸に関するISAxは、式（４）であらわせる。
【００５９】
【数４】
2005078416.tif 000006
つぎに、ISAに従ってオペレータが入力したか自動計算した合計格子数を比例配分により振り分ける。例えば、総数が1000個で、SAx の積分ISAxが 500.0、SAy の積分ISAyが 500.0、SAz の積分ISAzが 1000.0のときは、x、ｙ、ｚ、座標軸におけるそれぞれの格子点座標の数は、250個、250個、500個となる。なお、上記の比例配分処理は、あらかじめ格子の総数が定まっていなくても、結果的に上記各積分の値におおむね比例した数の格子数が各軸に分配されておれば、合計格子数を各軸に分配したものとする。
【００６０】
次に極大値、極小値座標抽出を行う。（ステップ５）極大値、または極小値座標は、ある座標軸において、微分値の絶対値の前記所定の座標軸以外の座標軸における積分値の分布が急激に変化する状態を示している。すなわち、表面データが非連続的に変化する箇所、たとえば角部を示している。たとえば、図１７のような表面形状データＳに対して、ｘ座標軸における格子分布密度SAxを算出する。このとき、S、SAxを重ねて図示すると、図１８のようになる。
【００６１】
このような箇所では数値解析の結果が特異な性質を示すことが多い。よって、角部に格子を集中的に発生させることが要求されることが多い。また、形状表面データの形状再現性を高めるという目的からすると、角部には格子を発生させることが好ましい。ここでは、極小値、極大値は、次のように求める。すなわち、k番目の区画において、区画k−１、k＋１と比較する。区画kでの格子分布密度SAxの値と、k−１、k＋１での値の差を求め、正負が変わっていれば、ｍは極小または極大値とする。たとえば図１９では区画Dmにおいて、（ｍ−１でのSA値)−（ｍでのSA値)＜０、（ｍでのSA値)−（ｍ＋１でのSA値)＞０、であるので極大点、図２０では区画Dｎにおいて（ｎ−１でのSA値)−（ｎでのSA値)＞０、（ｎでのSA値)−（ｎ＋１でのSA値)＜０、であるので極小点とする。
【００６２】
各座標軸に関して、極大値、極小値を判定した後、ＲＡＭ８０１に対して極大値、極小値の座標を記憶する。このとき、優先順位をつけ、その優先順位で降順にソートを行う。優先順位は、たとえば、SAの値が大きい方が高いこととする。
【００６３】
次に、特徴格子座標抽出を行う。（ステップ６）ここで、特徴格子座標とは、表面形状データの特徴点の座標である。特徴点とは、稜線同士が交わる場合で、かつ該稜線の交わる角度が一定の角度以下になる場合の、交点である。稜線とは、表面形状データを構成する面のうち、各交差する面について、各面の法線がある一定以上の角度をなす場合の、交差する面の交線である。稜線、特徴点を判定した後、ＲＡＭ８０１に対して特徴点の座標を記憶する。このとき、特徴点を形成する特徴線の本数、この特徴線がなす角度によって、優先順位をつけ、この優先順位で降順にソートを行う。優先順位は、特徴点を形成する稜線の本数が多いほど高く、また、稜線がなす角度が小さい方が高い。
【００６４】
本形態のように計算領域表面を３角形の組み合わせとして表し、各３角形の頂点座標値を定義する場合ステップ５とステップ６は類似しているが、曲面の式が２次方程式で表される２次曲面などの関数形で定義される場合は、必ずしも一致しない。また、フィルタリング処理（ステップ３）にて、表面形状データの角部がわずかながらずれる可能性がある。この場合、ステップ６の情報により、常に正しい角部の座標に格子を配置できる。
【００６５】
次に、格子配置を行う（格子点座標生成工程、手段）。（ステップ７）ここでは、ステップ３〜６で求められたデータ、すなわち、格子密度分布、各座標軸に割り当てられる格子数、極大値極小値座標、特徴格子座標に基づいて、格子点座標を配置する。本実施形態では、以下のルールにより実際に配置する。
ルール１：ステップ３〜６で求められたデータに対して格子点座標を生成する優先順位を特徴格子座標、極大値極小値座標、格子密度分布の順に大きいものとする。
ルール２：格子点座標を生成したとき、隣の格子点座標との間隔があらかじめ設定された所定の格子点座標の間隔の最小値より小さい場合、その格子点は生成しない。
【００６６】
まず、各座標軸に関して、ルール２に従って特徴格子座標に格子点座標を配置する。このとき、ステップ６にてソートされた順に配置する。ステップ４で求められた格子数より特徴格子座標が多い場合は、配置した格子点座標がステップ４で求められた対象座標軸の格子数に達した時点でその対象座標軸に関する格子点座標配置を終了する。
【００６７】
次に、各座標軸に関して、ルール２に従って極大値極小値座標に格子点座標を配置する。ステップ５にてソートされた順に配置する。このときステップ４で求められた対象座標軸の格子点座標数より配置済みの格子点座標数が多くなった場合は、配置した格子点座標がステップ４で求められた格子点座標数に達した時点でその対象座標軸に関する格子点座標配置を終了する。
【００６８】
次に、各座標軸に関して、ルール２に従って格子密度分布に基づいて格子を配置する。なお、この工程はすでに配置した格子座標がステップ４で求められた格子数に達していた場合、行わないこととする。格子密度分布に従って格子点座標を配置する方法は、本形態では、以下の方法に従う。
【００６９】
すなわち、ある軸に対し、格子密度分布SAの当該座標軸に関する、積分値Ｄを求める。該座標軸に対して格子数f個を配置することとし、格子点の座標をＣiとすると、SAのＣi〜Ｃi+1の区間における積分値がすべて同じ値Ｄ/fとなるようにＣi+1を配置する。よって、ＣiとCi+1の距離はその区間におけるSAの平均値に反比例する。
【００７０】
また、ここで配置した格子点座標によって構成される微小要素のアスペクト比を調べ、アスペクト比が高い、たとえば５以上の微小要素が存在する場合、解析結果に悪影響を及ぼす可能性があるので、所定の値以上のアスペクト比を有する微小要素が少なくなるように格子配置を修正する処理(アスペクト比修正処理)として以下の処理を施した方が望ましい。なお、アスペクト比とは、本実施形態においては微小要素を構成する辺のうち、最大の長さと、最小の長さの比とする。まず、対象の微小要素を構成する最大の長さを有する辺が、どの座標軸に平行かを判定する。このとき、その微小要素が属する区画もそれぞれの微小要素に対して記憶しておく。次に、ステップ３に戻り、その座標軸における、上記の記憶した区画に関してのみ、ステップ２で得られた格子分布密度に対して重み付けを行う。この場合の重みは、上限とするアスペクト比の２分の１程度が望ましい。次に、フィルタリング処理を行い、ステップ６までを行う。次にステップ７を実行する際、対象の座標軸に対して、（ΣASi）／２  （i=1〜Ｎa） 程度の格子を追加する。ここに、ASiはi個目の所定の座標軸における高アスペクト比微小要素のアスペクト比であり、Ｎaは所定の座標軸における高アスペクト比微小要素の個数である。これをすべての座標軸に対して、高アスペクト比要素がなくなるまで繰り返す。ただし、追加後の格子数は、一番初めの格子数の所定の値、たとえば、１．５倍までとし、この操作により１．５倍以上になる場合は中止し、ステップ８に進む。
【００７１】
ステップ８では格子の出力が行われる。ここでは、格子の座標、微小要素を構成している格子番号などの他に、付加情報として、格子によって形成された微小要素が解析対象領域の外側、内側、境界のいずれに属するかなどの情報が出力される。なお、出力先としては、図８記載のコンピュータにおいて、８０１のＲＡＭや、８０２の外部記憶装置などがあげられる。また、ステップ８で出力された格子点の座標は、表面形状データの特徴点などを考慮して決定されているため、非構造格子を生成する際に、格子点の初期配置に使用することで、良好な非構造格子を得ることも可能である。また、特許文献１記載の規格化分割空間として採用し、表面頂点を表面形状データへ移動するようにして、さらに良好な解析モデルを得ることも可能である。
【００７２】
以上の通り、本実施形態の解析モデルの生成方法および装置は、コンピュータのメモリ上のプログラムおよびデータならびに中央演算装置の動作によって実現されている。かかるコンピュータプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭといったコンピュータ読み取り可能な有形記憶媒体または無線もしくは有線のネットワーク等の伝送媒体を通じて流通される。
【実施例】
【００７３】
以下、上記実施形態を用いた実施例を説明する。本実施例では３次元CADで作成された形状に対して３次元の直交連続格子を作成する。
【００７４】
[実施例]図２１は3次元CADによりコンピュータ上に作成されたプラスチック製品の表面を3角形の集合で表現したものであり、各3角形の頂点座標値が所定のフォーマットでコンピュータのディスク上に出力されている。これをメモリ上に読み込む。（ステップ１）
次に、微小区間に区切り、格子分布を計算した後、フィルタリング処理を施す。（ステップ２，３）本実施例では、微小区画は表面形状データのｘ、ｙ、ｚ各座標軸における存在範囲を各座標軸について１００００個に分割した。図２２はｘ、ｙ、ｚ座標軸についての格子密度分布と、対応した方向から見た表面形状データを示したものである。次に、格子を振り分ける。（ステップ４）本実施例では、オペレータが合計格子数を１５０と入力した。そして、ｘ、ｙ、ｚのそれぞれの積分値が３２．９７、３２．８１、３２．９７となったので、ｘ、ｙ、ｚにはそれぞれ５０，５０，５０と振り分ける。極大値、極小値座標抽出、特徴格子座標抽出を行った後、格子配置を行ったところ、ｘ、ｙ、ｚのそれぞれの格子は図２３のようになる。図２４は表面形状データＳが内包する空間と格子が重なっている部分のみを微小要素として出力した図である。オペレータが行った操作は合計格子数の入力のみで、約５秒である。なお、ここではアスペクト比に基づく修正は行っていない。
【００７５】
[比較例]図２５は同じ合計格子数で格子を均等に配置し、表面形状データＳが内包する空間と格子が重なっている部分のみを微小要素として出力した図である。ここで、
体積誤差率  VE=（ 微小要素の体積−Sが内包している体積）／Sが内包している体積  と定義する。計算したVEを比較することにより簡易的にＳに対する形状再現性を比較することができる。
【００７６】
図２４のVEは３．６７％、微小要素数は４５５１４、頂点数は４０３３５
図２５のVEは３．９４％、微小要素数は６７６１６、頂点数は７３７７１
となり、本願発明の格子配置を採用した方が同じ格子数でも、表面形状データを再現するために少ない微小要素数、頂点数で表現でき、さらに高い形状再現性を得られることが示された。一般に、表面形状データを表現するために使用する微小要素数が多ければ多いほど形状再現性が高いとされている。本実施例の場合、本願発明の格子配置を採用しなかった方が微小要素数を約１．５倍、頂点数を約１．８倍消費しているにもかかわらず劣った形状再現性しか示していない。言い換えると、本実施例において、同じ微小要素数で表面形状データを表現した場合、本願発明の格子配置を採用した方が２倍近く高い形状再現性を得られることが示されたことになる。
【産業上の利用可能性】
【００７７】
本発明は、解析モデルの生成に限らず、３次元物体の表示などにも応用することができるが、その応用範囲は、これらに限られるものではない。
【図面の簡単な説明】
【００７８】
【図１】非構造格子の例を示す図である。
【図２】境界適合構造格子の例を示す図である。
【図３】直交格子の例を示す図である。
【図４】適合再分割格子の例を示す図である。
【図５】連続直交格子は空間のある座標軸での同じ箇所での格子間隔が同じであるという例を示す図である。
【図６】直交格子を数値解析に適用しようとした場合、形状データの境界が階段状に近似されるという例を示す図である。
【図７】連続格子と非連続格子の例を示す図である。
【図８】本発明の解析モデル生成装置のハードウェア構成例を示す図である。
【図９】本発明の解析モデル生成方法の手順の例を示すフローチャートである。
【図１０】３次元CADにより作成された射出成型品の表面を、３角形の組み合わせで表現した表面データを示す概念図である。
【図１１】式（１）定義を説明するための図である。
【図１２】領域Aと領域Bで表面形状データの再現性が異なることを示した図である。
【図１３】格子分布の値を正規化した方がよい形状の例を示す図である。
【図１４】正規化に使用する境界の長さの例を示す図である。
【図１５】格子密度分布の計算方法の一つを示す図である。
【図１６】フィルタリング計算を行う前の格子密度分布と行った後の格子密度分布の例を示す図である。
【図１７】格子密度分布の極大点極小点がＳの角部を示す１例である。
【図１８】図１７で示すＳに関して、格子密度分布の極大点極小点がＳの角部を示すために、Ｘ座標軸に関しての格子密度分布とＳを重ね合わせた例である。
【図１９】区画Dmが極大点であると認識される例を示す図である。
【図２０】区画Dmが極小点であると認識される例を示す図である。
【図２１】３次元CADにより作成された射出成型品の表面を、３角形の組み合わせで表現した表面データを示す概念図である。
【図２２】図２１に示す表面形状データに対して、ステップ１〜３を適用した結果である格子分布密度をそれぞれX座標軸Y座標軸Z座標軸に関して図示した物である。
【図２３】図２１に示す表面形状データに対して、ステップ１〜７を適用した結果である格子をそれぞれX座標軸Y座標軸Z座標軸に関して図示した物である。
【図２４】図２１に示す表面形状データに対して本発明の格子配置を行い、表面形状データが内包する空間と格子が重なっている部分のみを微小要素として出力した図である。
【図２５】図２１に示す表面形状データに対して実施例と同じ数の格子を均等に配置し、表面形状データと格子が重なっている部分のみを微小要素として出力した図である。
【符号の説明】
【００７９】
Ｓ：表面形状
８０１：コンピュータ
８０２：補助記憶装置
８０３：入力装置
８０４：表示装置
O：局所的に複雑な構造が存在する部分
P：O部と離れているにもかかわらず、Ｙ座標が一致するために格子が細かくなってしまう部分
A：ＳにおいてＸ座標軸における傾きが相対的に大きい部分
B：ＳにおいてＸ座標軸における傾きが相対的に小さい部分
C：Ｓにおいて局所的に複雑な構造が存在する部分
Da：とがった形状Ｓにおいて、先端に近い区画
Db：とがった形状Ｓにおいて、先端から遠い区画
La：DaにおけるＳの境界
Lb：DbにおけるＳの境界
SA：格子分布密度
Dm：極大点と判定される区画
Dn：極小点と判定される区画
SAx：ｘ座標軸における格子分布密度
SAy：ｙ座標軸における格子分布密度
SAz：ｚ座標軸における格子分布密度
【図１】
2005078416.tif 000007
【図２】
2005078416.tif 000008
【図３】
2005078416.tif 000009
【図４】
2005078416.tif 000010
【図５】
2005078416.tif 000011
【図６】
2005078416.tif 000012
【図７】
2005078416.tif 000013
【図８】
2005078416.tif 000014
【図９】
2005078416.tif 000015
【図１０】
2005078416.tif 000016
【図１１】
2005078416.tif 000017
【図１２】
2005078416.tif 000018
【図１３】
2005078416.tif 000019
【図１４】
2005078416.tif 000020
【図１５】
2005078416.tif 000021
【図１６】
2005078416.tif 000022
【図１７】
2005078416.tif 000023
【図１８】
2005078416.tif 000024
【図１９】
2005078416.tif 000025
【図２０】
2005078416.tif 000026
【図２１】
2005078416.tif 000027
【図２２】
2005078416.tif 000028
【図２３】
2005078416.tif 000029
【図２４】
2005078416.tif 000030
【図２５】
2005078416.tif 000031