(57)【要約】【課題】ソリッド要素の肉厚方向および肉厚算出方法、ならびにソリッド要素の肉厚方向および肉厚算出装置を提供すること。  特にソリッド要素を利用した流体流動解析を実施する場合、およびその流体流動解析の結果を基に構造解析を実施する場合に用いる肉厚方向および肉厚の算出方法、ならびに肉厚方向および肉厚の算出装置を提供すること。  【解決手段】ソリッドモデルのフリーフェースを取得する手段と、６つの探索方向を決定する評価方向決定手段と、ソリッドモデルの各ソリッド要素の基準位置から各探索方向におけるソリッドモデルのフリーフェース上の最短距離の点を算出する距離算出手段を有し、探索方向が相反する方向である３つの組み合わせについて、肉厚、距離などを評価することにより、肉厚、肉厚方向を算出する。【選択図】  図２Ｂ
2009266198.tif 000002
【特許請求の範囲】
【請求項１】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）すべての前記ソリッド要素の各々について、前記ソリッド要素の前記基準位置からすべての前記フリーフェースまでの距離のうち、最短の距離となるフリーフェースを算出し、前記基準位置から前記最短の距離となるフリーフェースへの方向を、前記ソリッド要素における肉厚方向とする肉厚方向算出工程。
【請求項２】
請求項１の（３）の工程を以下の各工程により算出することを特徴とする請求項１に記載の肉厚方向算出方法。
（１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から、前記フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する前記任意の一つのソリッド要素の最短距離および最短方向ベクトル算出工程
（２）上記（１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程
（３）前記任意の一つのソリッド要素における肉厚方向を、上記（１）（２）の工程で得られたすべての最短距離のうち該最短距離が最も短いフリーフェースへの方向とする肉厚方向算出工程。
（４）上記（３）の肉厚方向算出工程を前記任意の一つのソリッド要素以外のすべてのソリッド要素について行う第二の繰り返し工程。
【請求項３】
請求項１の（３）の工程を以下の各工程により算出することを特徴とする請求項１に記載の肉厚方向算出方法。
（１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素およびフリーフェースを算出する連結算出工程。
（２）すべての前記フリーフェースについて、該各フリーフェースに隣接するすべてのフリーフェースを算出するフリーフェースの隣接算出工程。
（３）すべての前記各ソリッド要素が保有する基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する最短距離の初期化工程。
（４）前記フリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面するすべてのフリーフェースのうち、前記各ソリッド要素の基準位置から該各ソリッド要素が面するフリーフェースまでの最短距離が最も短い該フリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の基準位置から該参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の参照面までの最短距離が、前記各ソリッド要素が保有する最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（６）上記（５）の更新工程の更新がなくなるまで、上記（５）の更新工程を繰り返す前記参照面および前記最短距離および前記最短方向ベクトル更新の繰り返し工程。
（７）前記更新の繰り返し工程で算出された前記最短方向ベクトルを前記ソリッド要素の肉厚方向とする肉厚方向算出工程。
【請求項４】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）前記基準位置から前記フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（４）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（５）前記ソリッド要素における肉厚方向を、上記（３）（４）の工程で得られた複数の第一の最短距離のうち最も短い第一の最短距離の方向とする肉厚方向算出工程。
（６）前記肉厚方向算出工程をすべての前記ソリッド要素について行う肉厚方向算出の第二の繰り返し工程。
【請求項５】
請求項４の（３）〜（６）の工程のかわりに以下の各工程により算出することを特徴とする請求項４に記載の肉厚方向算出方法
（１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記フリーフェースに面しているかを判定し、面している場合、すべての前記の面しているフリーフェースを第一の参照面とする第一の参照面算出工程。
（４）前記第一の参照面を有している任意の一つのソリッド要素について、当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第二の最短距離および第二の最短方向ベクトル算出工程。
（５）当該任意の一つのソリッド要素について前記第二の最短距離および第二の最短方向ベクトル算出をすべての前記第一の参照面について行う第二の最短距離および第二の最短方向ベクトル算出の繰り返し工程。
（６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第二の最短距離のうち第二の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルとし、前記第二の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程。
（７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出の繰り返し工程。
（８）前記第二の参照面に隣接するすべてのフリーフェースを算出する参照面とフリーフェースの連結算出工程。
（９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの第三の参照面までの最短距離および最短方向ベクトルを算出する第四の最短距離および第四の最短方向ベクトル算出工程。
（１１）当該任意の一つのソリッド要素について、前記第四の最短距離および第四の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第四の最短距離および第四の最短方向ベクトル算出の繰り返し工程。
（１２）当該任意の一つのソリッド要素について、すべての前記第四の最短距離のうち当該第四の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第五の最短距離および第五の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第五の最短距離および第五の最短方向ベクトルならびに第四の参照面算出工程。
（１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第五の最短距離および第五の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第三の最短距離よりも前記第五の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第五の最短距離および第五の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（１５）前記（８）から（１４）までの処理をすべての前記ソリッド要素について行うことにより、前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新する第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（１６）前記（８）から（１５）の処理を、前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（１７）前記第二の繰り返し工程で算出された第三の最短方向ベクトルを前記各ソリッド要素の肉厚方向とする肉厚方向算出工程。
【請求項６】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（５）すべての前記各ソリッド要素の基準位置からの距離が最短である前記６つの方向の各方向に存在する該各方向に分類されたフリーフェースを、すべての前記各ソリッド要素の前記各方向に分類された各参照面とし、すべての前記各ソリッド要素の前記基準位置から前記各方向に分類された各参照面までの最短距離、および最短方向ベクトルを前記各方向に分類された各最短距離および各最短方向ベクトルとする前記６つの方向の各方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出工程。
（６）すべての前記各ソリッド要素について、前記６つの方向の±が逆となる三組それぞれの前記最短距離を加算することによって三組の加算距離を算出し、前記三組の加算距離のうち加算距離が最短となる加算距離を算出する最短加算距離算出工程。
（７）すべての前記各ソリッド要素の肉厚方向を、前記最短加算距離を構成する２つの最短距離を比較し、該最短距離が短い方向の最短方向ベクトルとする肉厚方向算出工程。
【請求項７】
請求項６の（５）の工程を以下の各工程により算出することを特徴とする請求項６に記載の肉厚方向算出方法。
（１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する最短距離および最短方向ベクトル算出工程。
（２）上記（１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程。
（３）すべての前記ソリッド要素のうち任意の一つのソリッド要素の前記６つの方向のうち任意の一つの方向に分類された参照面および最短距離ならびに最短方向ベクトルを上記（１）（２）の工程を実施したすべてのフリーフェースのうち最短距離が最も短いフリーフェースおよび最短距離ならびに最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（４）上記（１）〜（３）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記６つの方向のうち任意の一つの方向以外の５つの方向について行う第二の繰り返し工程。
（５）上記（４）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記任意の一つの前記ソリッド要素以外のすべての前記ソリッド要素について行う第三の繰り返し工程。
【請求項８】
請求項７の（１）〜（３）の工程を以下の各工程により算出することを特徴とする請求項７に記載の肉厚方向算出方法。
（１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素および前記任意の一つの方向に分類されたフリーフェースを算出するソリッド要素の連結算出工程。
（２）前記任意の一つの方向に分類されたすべてのフリーフェースについて、該各フリーフェースに隣接する任意の一つの方向に分類されたすべてのフリーフェースを算出するフリーフェースの連結算出工程。
（３）すべての前記各ソリッド要素が保有する前記任意の一つの方向の基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する前記任意の一つの方向の最短距離の初期化工程。
（４）前記任意の一つの方向に分類されたフリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面する前記任意の一つの方向に分類されたすべてのフリーフェースのうち、前記各ソリッド要素の基準位置からフリーフェースまでの最短距離が最も短いフリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の前記基準位置から前記参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の前記任意の一つの方向に分類された参照面までの最短距離が、前記各ソリッド要素が保有する前記任意の一つの方向の最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（６）上記（５）の更新工程の更新がなくなるまで、上記（５）の更新工程を繰り返す前記参照面および最短距離および最短方向ベクトル更新の繰り返し工程。
（７）前記更新の繰り返し工程で算出された前記参照面および最短距離ならびに最短方向ベクトルを、すべての前記各ソリッド要素の前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出とする前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出方法。
【請求項９】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）前記ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（５）前記ソリッド要素の任意の一つのソリッド要素について、（Ａ）かつ（Ｂ）の条件を満たす前記フリーフェースを算出する前記６つの方向のうち任意の１つの方向の評価フリーフェース算出工程。
（Ａ）前記６つの方向のうち前記任意の一つの方向と最も近い方向に分類された前記フリーフェース。
（Ｂ）当該任意の一つのソリッド要素の基準位置から前記フリーフェースへの第一の最短方向ベクトルと前記フリーフェースの法線ベクトルの内積が正になるフリーフェース。
（６）前記基準位置から前記評価フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（７）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（８）前記（６）（７）の工程で得られた第一の最短距離が最も短いフリーフェースまでの最短距離および最短方向ベクトルを、前記６つの方向のうち任意の一つの方向の第二の最短距離および第二の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル算出工程。
（９）前記６つの方向のうち任意の一つの方向の前記第一の最短距離および第一の最短方向ベクトル算出工程、ならびに前記第一の繰り返し工程、および前記第二の最短距離および第二の最短方向ベクトル算出工程をすべての前記ソリッド要素について行う第二の繰り返し工程。
（１０）前記第二の最短距離および第二の最短方向ベクトル算出工程および第三の繰り返し工程を前記一つの方向以外のすべて方向について行う第三の繰り返し工程。
（１１）当該ソリッド要素について、前記６つの方向の±が逆となる３つの組み合わせそれぞれの前記第二の最短距離を加算することによって、三組の加算距離を算出し、前記三組の組み合わせの中で前記加算距離が最も小さくなる組み合わせを算出する最小組み合わせ算出工程。
（１２）前記最小組み合わせの算出を、すべての前記ソリッド要素について行う最小組み合わせ算出の繰り返し工程。
（１３）当該ソリッド要素における肉厚方向を、前記加算距離が最も小さくなる組み合わせを構成する二つの前記第二の最短距離を比較し、該第二の最短距離が小さい方の方向の前記第二の最短ベクトルの方向とする肉厚方向算出工程。
（１４）前記肉厚方向算出工程をすべての前記ソリッド要素について行う肉厚方向算出の繰り返し工程。
【請求項１０】
請求項９の（６）〜（９）の工程のかわりに以下の各工程により算出することを特徴とする請求項９に記載の肉厚方向算出方法。
（１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記評価フリーフェースに面しているかを判定し、面している場合、すべての前記の面している評価フリーフェースを第一の参照面とする第一の参照面算出工程。
（４）前記第一の参照面を有している任意の一つのソリッド要素について、前記当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第三の最短距離および第三の最短方向ベクトル算出工程。
（５）当該任意の一つのソリッド要素について前記第三の最短距離および第三の最短方向ベクトル算出をすべての前記第一の参照面について行う第三の最短距離および第三の最短方向ベクトル算出の繰り返し工程。
（６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第三の最短距離のうち第三の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルとし、前記第三の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面算出工程。
（７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出繰り返し工程。
（８）前記第二の参照面に隣接するすべての前記フリーフェースを算出する参照面とフリーフェースの連結算出工程。
（９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべての前記ソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースのうち前記評価フリーフェースであるものを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの第三の参照面までの最短距離および最短方向ベクトルを算出する第五の最短距離および第五の最短方向ベクトル算出工程。
（１１）当該任意の一つのソリッド要素について、前記第五の最短距離および第五の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第五の最短距離および第五の最短方向ベクトル算出繰り返し工程。
（１２）当該任意の一つのソリッド要素について、すべての前記第五の最短距離のうち第五の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第六の最短距離および第六の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第六の最短距離および第六の最短方向ベクトルならびに第四の参照面算出工程。
（１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第四の最短距離よりも前記第六の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（１５）前記（８）から（１４）の処理をすべての前記ソリッド要素について行うことにより、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新する第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（１６）前記（８）から（１５）の処理を、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（１７）前記第二の繰り返し工程で算出された第三の最短距離および第三の最短方向ベクトルを前記ソリッド要素の第三の最短距離および第三の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル工程。
【請求項１１】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚を算出することを特徴とする肉厚算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（５）すべての前記各ソリッド要素の基準位置からの距離が最短である前記６つの方向の各方向に存在する該各方向に分類されたフリーフェースを、すべての前記各ソリッド要素の前記各方向に分類された各参照面とし、すべての前記各ソリッド要素の前記基準位置から前記各方向に分類された各参照面までの最短距離、および最短方向ベクトルを前記各方向に分類された各最短距離および各最短方向ベクトルとする前記６つの方向の各方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出工程。
（６）すべての前記各ソリッド要素について、前記６つの方向の±が逆となる三組それぞれの前記最短距離を加算することによって三組の加算距離を算出し、前記三組の加算距離のうち加算距離が最短となる加算距離を肉厚とする肉厚算出工程。
【請求項１２】
請求項１１の（５）の工程を以下の各工程により算出することを特徴とする請求項１１に記載の肉厚算出方法。
（１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する最短距離および最短方向ベクトル算出工程。
（２）上記（１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程。
（３）すべての前記ソリッド要素のうち任意の一つのソリッド要素の前記６つの方向のうち任意の一つの方向に分類された参照面および最短距離ならびに最短方向ベクトルを上記（１）（２）の工程を実施したすべてのフリーフェースのうち最短距離が最も短いフリーフェースおよび最短距離ならびに最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（４）上記（１）〜（３）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記６つの方向のうち任意の一つの方向以外の５つの方向について行う第二の繰り返し工程。
（５）上記（４）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記任意の一つの前記ソリッド要素以外のすべての前記ソリッド要素について行う第三の繰り返し工程。
【請求項１３】
請求項１２の（１）〜（３）の工程を以下の各工程により算出することを特徴とする請求項１２に記載の肉厚算出方法。
（１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素および前記任意の一つの方向に分類されたフリーフェースを算出するソリッド要素の連結算出工程。
（２）前記任意の一つの方向に分類されたすべてのフリーフェースについて、該各フリーフェースに隣接する任意の一つの方向に分類されたすべてのフリーフェースを算出するフリーフェースの連結算出工程。
（３）すべての前記各ソリッド要素が保有する前記任意の一つの方向の基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する前記任意の一つの方向の最短距離の初期化工程。
（４）前記任意の一つの方向に分類されたフリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面する前記任意の一つの方向に分類されたすべてのフリーフェースのうち、前記各ソリッド要素の基準位置からフリーフェースまでの最短距離が最も短いフリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の前記基準位置から前記参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の前記任意の一つの方向に分類された参照面までの最短距離が、前記各ソリッド要素が保有する前記任意の一つの方向の最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（６）上記（５）の更新工程の更新がなくなるまで、上記（５）の更新工程を繰り返す前記参照面および最短距離および最短方向ベクトル更新の繰り返し工程。
（７）前記更新の繰り返し工程で算出された前記参照面および最短距離ならびに最短方向ベクトルを、すべての前記各ソリッド要素の前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出とする前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出方法。
【請求項１４】
プログラムされたコンピュータによって３次元ソリッドモデルの肉厚を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚を算出することを特徴とする肉厚算出方法。
（１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（３）前記ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（５）前記ソリッド要素の任意の一つのソリッド要素について、（Ａ）かつ（Ｂ）の条件を満たす前記フリーフェースを算出する前記６つの方向のうち任意の１つの方向の評価フリーフェース算出工程。
（Ａ）前記６つの方向のうち前記任意の一つの方向と同一の方向に分類された前記フリーフェース。
（Ｂ）当該任意の一つのソリッド要素の基準位置から前記フリーフェースへの第一の最短方向ベクトルと前記フリーフェースの法線ベクトルの内積が正になるフリーフェース。
（６）前記基準位置から前記評価フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（７）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（８）前記（６）（７）の工程で得られた第一の最短距離が最も短いフリーフェースまでの最短距離および最短方向ベクトルを、前記６つの方向のうち任意の一つの方向の第二の最短距離および第二の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル算出工程。
（９）前記６つの方向のうち任意の一つの方向の前記第一の最短距離および第一の最短方向ベクトル算出工程、ならびに前記第一の繰り返し工程、および前記第二の最短距離および第二の最短方向ベクトル算出工程をすべての前記ソリッド要素について行う第二の繰り返し工程。
（１０）前記第二の最短距離および第二の最短方向ベクトル算出工程および第三の繰り返し工程を前記一つの方向以外のすべて方向について行う第三の繰り返し工程。
（１１）当該ソリッド要素について、前記６つの方向の±が逆となる３つの組み合わせそれぞれの前記第二の最短距離を加算することによって、三組の加算距離を算出し、前記三組の組み合わせの中で最小となる前記加算距離を前記基準位置を有するソリッド要素の肉厚とする肉厚算出工程。
（１２）前記肉厚の算出をすべての前記ソリッド要素について行う肉厚算出の繰り返し工程。
【請求項１５】
請求項１４の（６）〜（９）の工程のかわりに以下の各工程により算出することを特徴とする請求項１４に記載の肉厚算出方法。
（１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記評価フリーフェースに面しているかを判定し、面している場合、すべての前記の面している評価フリーフェースを第一の参照面とする第一の参照面算出工程。
（４）前記第一の参照面を有している任意の一つのソリッド要素について、前記当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第三の最短距離および第三の最短方向ベクトル算出工程。
（５）当該任意の一つのソリッド要素について前記第三の最短距離および第三の最短方向ベクトル算出をすべての前記第一の参照面について行う第三の最短距離および第三の最短方向ベクトル算出の繰り返し工程。
（６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第三の最短距離のうち該第三の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルとし、前記第三の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面算出工程。
（７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出繰り返し工程。
（８）前記第二の参照面に隣接するすべての前記フリーフェースを算出する参照面とフリーフェースの連結算出工程。
（９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースのうち前記評価フリーフェースであるものを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの該第三の参照面までの最短距離および最短方向ベクトルを算出する第五の最短距離および第五の最短方向ベクトル算出工程。
（１１）当該任意の一つのソリッド要素について、前記第五の最短距離および第五の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第五の最短距離および第五の最短方向ベクトル算出繰り返し工程。
（１２）当該任意の一つのソリッド要素について、すべての前記第五の最短距離のうち当該第五の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第六の最短距離および第六の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第六の最短距離および第六の最短方向ベクトルならびに第四の参照面算出工程。
（１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第四の最短距離よりも前記第六の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（１５）前記（８）から（１４）の処理をすべての前記ソリッド要素について行うことにより、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新する第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（１６）前記（８）から（１５）の処理を、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（１７）前記第二の繰り返し工程で算出された第三の最短距離および第三の最短方向ベクトルを前記ソリッド要素の第三の最短距離および第三の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル工程。
【請求項１６】
３次元ソリッドモデルの各ソリッド要素について、請求項１１〜１５のいずれかに記載の方法で求めた肉厚とおよび流体の粘度から流動コンダクタンスκとを算出し、該流動コンダクタンスκに基づいて前記ソリッド要素流体の流動過程を解析することを特徴とする流体の流動過程解析方法。
【請求項１７】
前記流体の流動解析結果を基に行う流動方向、幅方向、肉厚方向の収縮異方性を考慮した変形解析において、請求項１〜１０のいずれかに記載の肉厚方向を、収縮異方性を考慮した変形解析の肉厚方向とすることを特徴とする構造解析方法。
【請求項１８】
前記流体が溶融樹脂であることを特徴とする請求項１６に記載の流動過程解析方法。
【請求項１９】
前記流体が溶融樹脂であることを特徴とする請求項１７に記載の構造解析方法。
【請求項２０】
請求項１〜１９のいずれかに記載の工程を実行する手段を備えた解析装置。
【請求項２１】
請求項１〜１９のいずれかに記載の方法の各工程をコンピュータに実行させるためのプログラム。
【請求項２２】
請求項２１に記載のプログラムを記憶したコンピュータ読みとり可能な記憶媒体。
【請求項２３】
請求項１〜１９のいずれかに記載の方法を用いて射出成形における属性パラメータを決定し、これに基づいて射出成形品を製造する射出成形品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソリッド要素の肉厚方向および肉厚算出方法、ならびにソリッド要素の肉厚方向および肉厚の算出装置に関する。
【０００２】
特にソリッド要素を利用して、流体流動解析を実施する場合、およびその流体流動解析の結果を基に構造解析を実施する場合に用いる肉厚方向および肉厚の算出方法、ならびに肉厚方向および肉厚の算出装置に関する。
【背景技術】
【０００３】
一般に、射出成形過程をはじめとする流体流動過程をコンピュータ・シミュレーションにより再現する射出成形過程等の解析方法、およびその流体流動過程のシミュレーション結果を初期条件として変形などを解析する構造解析方法が広く実用化されている。
【０００４】
また、解析で用いる要素については、２次元のシェル要素ではなく３次元のソリッド要素を用いて解析を行うと、解析用の形状モデル作成が容易であり、モデル作成から解析結果出力までの時間を短縮することができるため、近年は、ソリッド要素による解析が増加する傾向にある。
【０００５】
ソリッド要素を用いた射出成形の流体流動過程のシミュレーション方法としては、特許文献１が挙げられる。特許文献１では、流体の流動するキャビティを多数の微小要素に分割した３次元ソリッドモデルを構築し、流動コンダクタンスκをキャビティの肉厚に基づいて決定し、この流動コンダクタンスκに基づいて各微小要素における圧力、圧力変化または流動速度を算出している。この方法は、流動コンダクタンスκを導入することにより、通常３次元の流動を解析するときに用いる連続の式および運動方程式の未知変数を４つから１つに削減することができるため、実用的な計算時間で射出成形過程をはじめとする流体の流動過程の解析を行うことを可能にしている。しかし、この技術の根幹である流動コンダクタンスκは肉厚に基づいて決定されるため、流動挙動を忠実に解析で再現するためには、肉厚データが正確である必要がある。
【０００６】
この肉厚データの算出方法について、特許文献１では、以下の５つの方法が示されている。
（１）薄肉部分の３次元ＣＡＤデータの肉厚データを用いる方法。
（２）薄肉部分の３次元的微小要素について、肉厚データを別途入力する方法。
（３）薄肉部分の３次元的微小要素について、たとえば、１層構造の薄肉部分の場合、３次元的微小要素が３角錐形状のとき、表面に露出した（金型あるいはキャビティに接した）三角形面積Ｓと三角錐体積Ｖを算出し、肉厚Ｈ＝３Ｖ／Ｓとして算出する方法。３次元的要素の２面以上が表面に露出しているときは各面についてＨ を求め、それらの最小値を採用する。
（４）薄肉部分の３次元的微小要素について、表面に露出した面の法線を想定し、この法線が当該薄肉部分のモデルを通過する距離（法線が上記露出した面と交わる点および上記表面に対向する薄肉部分のモデルの面との交点の間の距離）を肉厚とする方法。
（５）キャビティ形状を定義するのに用いたＣＡＤから出力される前述の表面データを用いて、（４）と同様に薄肉部分の表面の法線がモデル内部を通過する距離を肉厚とする方法。
【０００７】
その他、ソリッドモデルの肉厚や距離を求める方法としては、特許文献２や特許文献３が挙げられる。
【０００８】
特許文献２では、ソリッドモデルのモデル面上の任意の検査点からの法線で任意方向への検査線を発生させ、検査点からの前記検査線が前記ソリッドモデルの他面と交差する交差点までの距離から肉厚を算出している。
【０００９】
また、特許文献３では、自由曲面上に設定されたサンプリング点を通り、自由曲面もしくは設定平面に直交する直線を生成し、サンプリング点及び上記直線の設定平面との交点間の距離を表す距離データ群を得、距離データ群のうち最小値を検出することにより自由曲面と平面間の最短距離を算出することにより面から面までの距離を算出している。
【００１０】
このように、いずれの肉厚算出方法、もしくは距離算出方法も、モデル表面の法線を利用して、距離や肉厚を算出している点で、共通している。
【００１１】
しかし、これら従来の方法では、表面の法線方向を基準にするため、リブ根元などは肉厚を算出できず、周囲の要素の肉厚をリブ根元の肉厚として代用していた。その結果、実際とは異なる肉厚から流動コンダクタンスを算出し、流体流動過程のシミュレーションを行うことになり、流動挙動が実際とは異なる場合があった。
【００１２】
このことが原因で、解析と実測の流動パターンが一致せず、流動挙動によって決まる材料配向方向や充填材料の配向方向が解析と実測で一致しないケースが発生し、そのような場合、流動解析結果を基に実施した構造解析も実測と一致しない結果につながっていた。
【００１３】
またこの問題とは別に、流体流動解析の結果を基に構造解析を実施する場合、収縮異方性が重要である。特に、繊維を含有した樹脂を用いて射出成形を行った場合、繊維が流動の影響を受けて配向し、その配向パターンに応じた収縮異方性が生じる。
【００１４】
非特許文献３の記載のように、金型内の樹脂流動は壁面からのせん断の影響を受けて、図３Ａに示すファウンテンフローという特有の湧き出し流れが生じることにより、図３Ｂに示すように、スキン層と呼ばれる壁面付近では壁面からのせん断力を受けて流動方向、コア層と呼ばれる中心層では壁面からのせん断力が小さいために幅方向に繊維が配向する傾向になる。そのため、流動方向、幅方向と比べて肉厚方向への配向割合が小さくなる結果、肉厚方向の収縮が最も大きくなる。しかし、従来の肉厚方向算出方法は、肉厚算出と同様ＣＡＤなどから算出しているため、Ｌ字のコーナー部やＴ字のリブ根元では、図４Ａ、図４Ｂに示すようにせん断方向、すなわち流動方向に対して直角にならないため、必ずしもファウンテンフロー挙動に対応した肉厚方向となっていない。その結果、図５に示す断面形状がＴ字形状の根元のコーナー倒れなどでは、流動方向、幅方向、肉厚方向の収縮異方性が原因で発生するコーナー部の倒れについての解析予測精度が低いという問題があった。
【００１５】
そこで、例えば、特許文献４では、リブ根元部、レンズ部品等の厚肉部と薄肉部とが混在する場合は、最も収縮が大きい異方性収縮の主軸を、要素を構成する各節点の節点温度から、指定された温度条件を満たす平面を決定し、その決定された平面に対する法線ベクトル方向（熱流束方向）とする方法が示されている。しかしこの方法では、図６に示す要素について、温度分布の算出タイミングにより、異方性収縮主軸が変化してしまうという問題や、異方性収縮主軸方向を熱流束方向と考えているため、異方性収縮主軸方向が必ずしもファウンテンフローの湧き出し方向になるとは限らないという問題がある。このことが原因で繊維の配向および材料の分子配向の異方性により生じる収縮異方性による収縮やそり変形が正しく解析できない問題があった。
【特許文献１】特開平９−１５０４４３号公報
【特許文献２】特開平３−１１８６６８号公報
【特許文献３】特開平１０−１２４５５５号公報
【特許文献４】特開２００７−７６３１９号公報
【非特許文献１】村田泰彦／横井秀俊、“射出成形ＣＡＥベンチマークテストのための検証用データベース構築ＩＩ−リブキャビティにおける計測結果−”、成形加工シンポジア’０１、日本国、２００１、Ｐ．６７〜７０
【非特許文献２】横井秀俊／櫛田茂美／松坂茂／松田元、“大型三次元可視化金型による型内樹脂流動挙動の実験解析”、生産研究、日本国、１９９７、４９巻９号、Ｐ．４３４〜４３７
【非特許文献３】山下勝久／野々村千里／山田敏郎、“射出成形品の繊維配向における層構造の解析（１）−線膨張係数のそり変形挙動に及ぼす影響−”、成形加工、日本国、２００１、第１３巻第６号、Ｐ．４００〜４０７
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、リブ根元など、ソリッド要素表面の法線方向を基準に肉厚を算出できない部分について、正確な肉厚を算出し、適正な流動コンダクタンスで流体流動過程のシミュレーションを行う方法および装置を提供することにある。
【００１７】
これにより、本発明の第一の目的である、３次元的なモデルを用いて流体の流路の形状、流路の流動抵抗を忠実に再現し、なおかつ、実用的な計算時間内に精度の高い流体流動過程の解析が可能な解析方法および解析装置を提供することが可能となる。
【００１８】
さらには、Ｌ字コーナー部やリブ根元やＸ字部などの表面の法線方向を基準として肉厚方向を算出することが困難な部位について、肉厚方向を算出する方法および装置を提供し、ファウンテンフローによる流動方向、幅方向、肉厚方向の収縮異方性が原因で発生する収縮やそり変形を行う方法や装置を提供することにある。
【００１９】
ファウンテンフローの挙動に対応した肉厚方向としてソリッド要素の基準位置から、最短距離のフリーフェースへの方向を採用することにより、本発明の第二の目的である、３次元的なモデルを用いて流動過程解析を行い、それに続いて実施する収縮そり解析において、ファウンテンフローが起因となって発生する流動方向、幅方向、肉厚方向の収縮異方性を考慮した収縮やそり変形解析が可能な解析方法および解析装置を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法が提供される。
（１−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（１−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（１−３）すべての前記ソリッド要素の各々について、前記ソリッド要素の前記基準位置からすべての前記フリーフェースまでの距離のうち、最短の距離となるフリーフェースを算出し、前記基準位置から前記最短の距離となるフリーフェースへの方向を、前記ソリッド要素における肉厚方向とする肉厚方向算出工程。
【００２１】
また、上記目的を達成するために、本発明によれば、前記（１−３）の工程を以下の各工程により算出することを特徴とする肉厚方向算出方法が提供される。
（２−１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から、前記フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する前記任意の一つのソリッド要素の最短距離および最短方向ベクトル算出工程
（２−２）上記（２−１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程
（２−３）前記任意の一つのソリッド要素における肉厚方向を、上記（２−１）（２−２）の工程で得られたすべての最短距離のうち該最短距離が最も短いフリーフェースへの方向とする肉厚方向算出工程。
（２−４）上記（２−３）の肉厚方向算出工程を前記任意の一つのソリッド要素以外のすべてのソリッド要素について行う第二の繰り返し工程。
【００２２】
また、上記目的を達成するために、本発明によれば、（１−３）の工程を以下の各工程により算出することを特徴とする肉厚方向算出方法が提供される。
（３−１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素およびフリーフェースを算出する連結算出工程。
（３−２）すべての前記フリーフェースについて、該各フリーフェースに隣接するすべてのフリーフェースを算出するフリーフェースの隣接算出工程。
（３−３）すべての前記各ソリッド要素が保有する基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する最短距離の初期化工程。
（３−４）前記フリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面するすべてのフリーフェースのうち、前記各ソリッド要素の基準位置から該各ソリッド要素が面するフリーフェースまでの最短距離が最も短い該フリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の基準位置から該参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（３−５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の参照面までの最短距離が、前記各ソリッド要素が保有する最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（３−６）上記（３−５）の更新工程の更新がなくなるまで、上記（３−５）の更新工程を繰り返す前記参照面および前記最短距離および前記最短方向ベクトル更新の繰り返し工程。
（３−７）前記更新の繰り返し工程で算出された前記最短方向ベクトルを前記ソリッド要素の肉厚方向とする肉厚方向算出工程。
【００２３】
また、上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法が提供される。
（４−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（４−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（４−３）前記基準位置から前記フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（４−４）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（４−５）前記ソリッド要素における肉厚方向を、上記（４−３）（４−４）の工程で得られた複数の第一の最短距離のうち最も短い第一の最短距離の方向とする肉厚方向算出工程。
（４−６）前記肉厚方向算出工程をすべての前記ソリッド要素について行う肉厚方向算出の第二の繰り返し工程。
【００２４】
また、上記目的を達成するために、本発明によれば、（４−３）〜（４−６）の工程のかわりに以下の各工程により算出することを特徴とする記載の肉厚方向算出方法が提供される。
（５−１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（５−２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（５−３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記フリーフェースに面しているかを判定し、面している場合、すべての前記の面しているフリーフェースを第一の参照面とする第一の参照面算出工程。
（５−４）前記第一の参照面を有している任意の一つのソリッド要素について、当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第二の最短距離および第二の最短方向ベクトル算出工程。
（５−５）当該任意の一つのソリッド要素について前記第二の最短距離および第二の最短方向ベクトル算出をすべての前記第一の参照面について行う第二の最短距離および第二の最短方向ベクトル算出の繰り返し工程。
（５−６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第二の最短距離のうち第二の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルとし、前記第二の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程。
（５−７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出の繰り返し工程。
（５−８）前記第二の参照面に隣接するすべてのフリーフェースを算出する参照面とフリーフェースの連結算出工程。
（５−９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（５−１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの第三の参照面までの最短距離および最短方向ベクトルを算出する第四の最短距離および第四の最短方向ベクトル算出工程。
（５−１１）当該任意の一つのソリッド要素について、前記第四の最短距離および第四の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第四の最短距離および第四の最短方向ベクトル算出の繰り返し工程。
（５−１２）当該任意の一つのソリッド要素について、すべての前記第四の最短距離のうち当該第四の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第五の最短距離および第五の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第五の最短距離および第五の最短方向ベクトルならびに第四の参照面算出工程。
（５−１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第五の最短距離および第五の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（５−１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第三の最短距離よりも前記第五の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第五の最短距離および第五の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（５−１５）前記（５−８）から（５−１４）までの処理をすべての前記ソリッド要素について行うことにより、前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新する第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（５−１６）前記（５−８）から（５−１５）の処理を、前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第三の最短距離および第三の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（５−１７）前記第二の繰り返し工程で算出された第三の最短方向ベクトルを前記各ソリッド要素の肉厚方向とする肉厚方向算出工程。
【００２５】
また、上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法が提供される。
（６−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（６−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（６−３）ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（６−４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（６−５）すべての前記各ソリッド要素の基準位置からの距離が最短である前記６つの方向の各方向に存在する該各方向に分類されたフリーフェースを、すべての前記各ソリッド要素の前記各方向に分類された各参照面とし、すべての前記各ソリッド要素の前記基準位置から前記各方向に分類された各参照面までの最短距離、および最短方向ベクトルを前記各方向に分類された各最短距離および各最短方向ベクトルとする前記６つの方向の各方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出工程。
（６−６）すべての前記各ソリッド要素について、前記６つの方向の±が逆となる三組それぞれの前記最短距離を加算することによって三組の加算距離を算出し、前記三組の加算距離のうち加算距離が最短となる加算距離を算出する最短加算距離算出工程。
（６−７）すべての前記各ソリッド要素の肉厚方向を、前記最短加算距離を構成する２つの最短距離を比較し、該最短距離が短い方向の最短方向ベクトルとする肉厚方向算出工程。
【００２６】
また、上記目的を達成するために、本発明によれば、（６−５）の工程を以下の各工程により算出することを特徴とする肉厚方向算出方法が提供される。
（７−１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する最短距離および最短方向ベクトル算出工程。
（７−２）上記（７−１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程。
（７−３）すべての前記ソリッド要素のうち任意の一つのソリッド要素の前記６つの方向のうち任意の一つの方向に分類された参照面および最短距離ならびに最短方向ベクトルを上記（７−１）（７−２）の工程を実施したすべてのフリーフェースのうち最短距離が最も短いフリーフェースおよび最短距離ならびに最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（７−４）上記（７−１）〜（７−３）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記６つの方向のうち任意の一つの方向以外の５つの方向について行う第二の繰り返し工程。
（７−５）上記（７−４）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記任意の一つの前記ソリッド要素以外のすべての前記ソリッド要素について行う第三の繰り返し工程。
【００２７】
また、上記目的を達成するために、本発明によれば、（７−１）〜（７−３）の工程を以下の各工程により算出することを特徴とする肉厚方向算出方法が提供される。
（８−１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素および前記任意の一つの方向に分類されたフリーフェースを算出するソリッド要素の連結算出工程。
（８−２）前記任意の一つの方向に分類されたすべてのフリーフェースについて、該各フリーフェースに隣接する任意の一つの方向に分類されたすべてのフリーフェースを算出するフリーフェースの連結算出工程。
（８−３）すべての前記各ソリッド要素が保有する前記任意の一つの方向の基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する前記任意の一つの方向の最短距離の初期化工程。
（８−４）前記任意の一つの方向に分類されたフリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面する前記任意の一つの方向に分類されたすべてのフリーフェースのうち、前記各ソリッド要素の基準位置からフリーフェースまでの最短距離が最も短いフリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の前記基準位置から前記参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（８−５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の前記任意の一つの方向に分類された参照面までの最短距離が、前記各ソリッド要素が保有する前記任意の一つの方向の最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（８−６）上記（８−５）の更新工程の更新がなくなるまで、上記（８−５）の更新工程を繰り返す前記参照面および最短距離および最短方向ベクトル更新の繰り返し工程。
（８−７）前記更新の繰り返し工程で算出された前記参照面および最短距離ならびに最短方向ベクトルを、すべての前記各ソリッド要素の前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出とする前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出方法。
【００２８】
また、上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚方向を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚方向を算出することを特徴とする肉厚方向算出方法が提供される。（９−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（９−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（９−３）前記ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（９−４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（９−５）前記ソリッド要素の任意の一つのソリッド要素について、（Ａ）かつ（Ｂ）の条件を満たす前記フリーフェースを算出する前記６つの方向のうち任意の１つの方向の評価フリーフェース算出工程。
（Ａ）前記６つの方向のうち前記任意の一つの方向と最も近い方向に分類された前記フリーフェース。
（Ｂ）当該任意の一つのソリッド要素の基準位置から前記フリーフェースへの第一の最短方向ベクトルと前記フリーフェースの法線ベクトルの内積が正になるフリーフェース。
（９−６）前記基準位置から前記評価フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（９−７）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（９−８）前記（９−６）（９−７）の工程で得られた第一の最短距離が最も短いフリーフェースまでの最短距離および最短方向ベクトルを、前記６つの方向のうち任意の一つの方向の第二の最短距離および第二の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル算出工程。
（９−９）前記６つの方向のうち任意の一つの方向の前記第一の最短距離および第一の最短方向ベクトル算出工程、ならびに前記第一の繰り返し工程、および前記第二の最短距離および第二の最短方向ベクトル算出工程をすべての前記ソリッド要素について行う第二の繰り返し工程。
（９−１０）前記第二の最短距離および第二の最短方向ベクトル算出工程および第三の繰り返し工程を前記一つの方向以外のすべて方向について行う第三の繰り返し工程。
（９−１１）当該ソリッド要素について、前記６つの方向の±が逆となる３つの組み合わせそれぞれの前記第二の最短距離を加算することによって、三組の加算距離を算出し、前記三組の組み合わせの中で前記加算距離が最も小さくなる組み合わせを算出する最小組み合わせ算出工程。
（９−１２）前記最小組み合わせの算出を、すべての前記ソリッド要素について行う最小組み合わせ算出の繰り返し工程。
（９−１３）当該ソリッド要素における肉厚方向を、前記加算距離が最も小さくなる組み合わせを構成する二つの前記第二の最短距離を比較し、該第二の最短距離が小さい方の方向の前記第二の最短ベクトルの方向とする肉厚方向算出工程。
（９−１４）前記肉厚方向算出工程をすべての前記ソリッド要素について行う肉厚方向算出の繰り返し工程。
【００２９】
また、上記目的を達成するために、本発明によれば、（９−６）〜（９−９）の工程のかわりに以下の各工程により算出することを特徴とする肉厚方向算出方法が提供される。
（１０−１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（１０−２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（１０−３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記評価フリーフェースに面しているかを判定し、面している場合、すべての前記の面している評価フリーフェースを第一の参照面とする第一の参照面算出工程。
（１０−４）前記第一の参照面を有している任意の一つのソリッド要素について、前記当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第三の最短距離および第三の最短方向ベクトル算出工程。
（１０−５）当該任意の一つのソリッド要素について前記第三の最短距離および第三の最短方向ベクトル算出をすべての前記第一の参照面について行う第三の最短距離および第三の最短方向ベクトル算出の繰り返し工程。
（１０−６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第三の最短距離のうち第三の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルとし、前記第三の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面算出工程。
（１０−７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出繰り返し工程。
（１０−８）前記第二の参照面に隣接するすべての前記フリーフェースを算出する参照面とフリーフェースの連結算出工程。
（１０−９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべての前記ソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースのうち前記評価フリーフェースであるものを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（１０−１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの第三の参照面までの最短距離および最短方向ベクトルを算出する第五の最短距離および第五の最短方向ベクトル算出工程。
（１０−１１）当該任意の一つのソリッド要素について、前記第五の最短距離および第五の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第五の最短距離および第五の最短方向ベクトル算出繰り返し工程。
（１０−１２）当該任意の一つのソリッド要素について、すべての前記第五の最短距離のうち第五の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第六の最短距離および第六の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第六の最短距離および第六の最短方向ベクトルならびに第四の参照面算出工程。
（１０−１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（１０−１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第四の最短距離よりも前記第六の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（１０−１５）前記（１０−８）から（１０−１４）の処理をすべての前記ソリッド要素について行うことにより、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新する第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（１０−１６）前記（１０−８）から（１０−１５）の処理を、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（１０−１７）前記第二の繰り返し工程で算出された第三の最短距離および第三の最短方向ベクトルを前記ソリッド要素の第三の最短距離および第三の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル工程。
【００３０】
また、上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚を算出することを特徴とする肉厚算出方法が提供される。
（１１−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（１１−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（１１−３）ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（１１−４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（１１−５）すべての前記各ソリッド要素の基準位置からの距離が最短である前記６つの方向の各方向に存在する該各方向に分類されたフリーフェースを、すべての前記各ソリッド要素の前記各方向に分類された各参照面とし、すべての前記各ソリッド要素の前記基準位置から前記各方向に分類された各参照面までの最短距離、および最短方向ベクトルを前記各方向に分類された各最短距離および各最短方向ベクトルとする前記６つの方向の各方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出工程。
（１１−６）すべての前記各ソリッド要素について、前記６つの方向の±が逆となる三組それぞれの前記最短距離を加算することによって三組の加算距離を算出し、前記三組の加算距離のうち加算距離が最短となる加算距離を肉厚とする肉厚算出工程。
【００３１】
また、上記目的を達成するために、本発明によれば、上記（１１−５）の工程を以下の各工程により算出することを特徴とする肉厚算出方法が提供される。
（１２−１）すべての前記ソリッド要素のうち任意の一つのソリッド要素の基準位置から前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する最短距離および最短方向ベクトル算出工程。
（１２−２）上記（１２−１）の前記最短距離および最短方向ベクトル算出を、前記任意の一つのソリッド要素の基準位置と前記６つの方向のうち任意の一つの方向に存在する該任意の一つの方向に分類されたすべてのフリーフェースのうち前記任意の一つのフリーフェース以外のすべてのフリーフェースとの間で行う第一の繰り返し工程。
（１２−３）すべての前記ソリッド要素のうち任意の一つのソリッド要素の前記６つの方向のうち任意の一つの方向に分類された参照面および最短距離ならびに最短方向ベクトルを上記（１２−１）（１２−２）の工程を実施したすべてのフリーフェースのうち最短距離が最も短いフリーフェースおよび最短距離ならびに最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（１２−４）上記（１２−１）〜（１２−３）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記６つの方向のうち任意の一つの方向以外の５つの方向について行う第二の繰り返し工程。
（１２−５）上記（１２−４）の前記参照面および最短距離ならびに最短方向ベクトル算出を、前記任意の一つの前記ソリッド要素以外のすべての前記ソリッド要素について行う第三の繰り返し工程。
【００３２】
また、上記目的を達成するために、本発明によれば、上記（１２−１）〜（１２−３）の工程を以下の各工程により算出することを特徴とする肉厚算出方法が提供される。
（１３−１）すべての前記ソリッド要素について、該各ソリッド要素に隣接するすべてのソリッド要素および前記任意の一つの方向に分類されたフリーフェースを算出するソリッド要素の連結算出工程。
（１３−２）前記任意の一つの方向に分類されたすべてのフリーフェースについて、該各フリーフェースに隣接する任意の一つの方向に分類されたすべてのフリーフェースを算出するフリーフェースの連結算出工程。
（１３−３）すべての前記各ソリッド要素が保有する前記任意の一つの方向の基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する前記任意の一つの方向の最短距離の初期化工程。
（１３−４）前記任意の一つの方向に分類されたフリーフェースに面するすべての各ソリッド要素について、該各ソリッド要素が面する前記任意の一つの方向に分類されたすべてのフリーフェースのうち、前記各ソリッド要素の基準位置からフリーフェースまでの最短距離が最も短いフリーフェースを前記各ソリッド要素の参照面とし、前記各ソリッド要素の前記基準位置から前記参照面までの最短距離および最短方向ベクトルを前記各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程。
（１３−５）すべての前記各ソリッド要素の基準位置から該各ソリッド要素に隣接するすべての各ソリッド要素の前記任意の一つの方向に分類された参照面までの最短距離が、前記各ソリッド要素が保有する前記任意の一つの方向の最短距離よりも短い場合、前記各隣接するソリッド要素の参照面および前記各ソリッド要素の基準位置から前記各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを前記各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程。
（１３−６）上記（１３−５）の更新工程の更新がなくなるまで、上記（５）の更新工程を繰り返す前記参照面および最短距離および最短方向ベクトル更新の繰り返し工程。
（１３−７）前記更新の繰り返し工程で算出された前記参照面および最短距離ならびに最短方向ベクトルを、すべての前記各ソリッド要素の前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出とする前記任意の一つの方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出方法。
【００３３】
また、上記目的を達成するために、本発明によれば、プログラムされたコンピュータによって３次元ソリッドモデルの肉厚を算出する方法であって、以下の工程によりすべてのソリッド要素の肉厚を算出することを特徴とする肉厚算出方法が提供される。
（１４−１）前記ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程。
（１４−２）すべての前記ソリッド要素の基準位置を決定する基準位置決定工程。
（１４−３）前記ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程。
（１４−４）前記フリーフェースの法線ベクトルと前記６つの方向の特徴を関連付けることにより、すべての前記フリーフェースを前記６つの方向に分類するフリーフェース分類工程。
（１４−５）前記ソリッド要素の任意の一つのソリッド要素について、（Ａ）かつ（Ｂ）の条件を満たす前記フリーフェースを算出する前記６つの方向のうち任意の１つの方向の評価フリーフェース算出工程。
（Ａ）前記６つの方向のうち前記任意の一つの方向と同一の方向に分類された前記フリーフェース。
（Ｂ）当該任意の一つのソリッド要素の基準位置から前記フリーフェースへの第一の最短方向ベクトルと前記フリーフェースの法線ベクトルの内積が正になるフリーフェース。
（１４−６）前記基準位置から前記評価フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する第一の最短距離および第一の最短方向ベクトル算出工程。
（１４−７）前記第一の最短距離および第一の最短方向ベクトルの算出を、前記基準位置と前記一つのフリーフェース以外のフリーフェースすべてとの間で行う第一の繰り返し工程。
（１４−８）前記（１４−６）（１４−７）の工程で得られた第一の最短距離が最も短いフリーフェースまでの最短距離および最短方向ベクトルを、前記６つの方向のうち任意の一つの方向の第二の最短距離および第二の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル算出工程。
（１４−９）前記６つの方向のうち任意の一つの方向の前記第一の最短距離および第一の最短方向ベクトル算出工程、ならびに前記第一の繰り返し工程、および前記第二の最短距離および第二の最短方向ベクトル算出工程をすべての前記ソリッド要素について行う第二の繰り返し工程。
（１４−１０）前記第二の最短距離および第二の最短方向ベクトル算出工程および第三の繰り返し工程を前記一つの方向以外のすべて方向について行う第三の繰り返し工程。
（１４−１１）当該ソリッド要素について、前記６つの方向の±が逆となる３つの組み合わせそれぞれの前記第二の最短距離を加算することによって、三組の加算距離を算出し、前記三組の組み合わせの中で最小となる前記加算距離を前記基準位置を有するソリッド要素の肉厚とする肉厚算出工程。
（１４−１２）前記肉厚の算出をすべての前記ソリッド要素について行う肉厚算出の繰り返し工程。
【００３４】
また、上記目的を達成するために、本発明によれば、（１４−６）〜（１４−９）の工程のかわりに以下の各工程により算出することを特徴とする肉厚算出方法が提供される。
（１５−１）前記ソリッド要素の任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出するソリッド要素の連結算出工程。
（１５−２）前記連結算出工程をすべての前記ソリッド要素について行うソリッド要素の連結算出の繰り返し工程。
（１５−３）前記ソリッド要素のうち任意の一つのソリッド要素について、前記評価フリーフェースに面しているかを判定し、面している場合、すべての前記の面している評価フリーフェースを第一の参照面とする第一の参照面算出工程。
（１５−４）前記第一の参照面を有している任意の一つのソリッド要素について、前記当該ソリッド要素の基準位置からすべての前記第一の参照面のうち任意の一つの第一の参照面までの最短距離および最短方向ベクトルを算出する第三の最短距離および第三の最短方向ベクトル算出工程。
（１５−５）当該任意の一つのソリッド要素について前記第三の最短距離および第三の最短方向ベクトル算出をすべての前記第一の参照面について行う第三の最短距離および第三の最短方向ベクトル算出の繰り返し工程。
（１５−６）前記第一の参照面を有している任意の一つのソリッド要素について、すべての前記第三の最短距離のうち該第三の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルとし、前記第三の最短距離が最小になる第一の参照面を当該任意の一つのソリッド要素の第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面算出工程。
（１５−７）前記第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出工程をすべてのソリッド要素について繰り返す第三の最短距離および第三の最短方向ベクトルならびに第二の参照面算出繰り返し工程。
（１５−８）前記第二の参照面に隣接するすべての前記フリーフェースを算出する参照面とフリーフェースの連結算出工程。
（１５−９）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素の隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が前記第二の参照面を有する場合、前記第二の参照面および該第二の参照面に隣接するすべての前記フリーフェースのうち前記評価フリーフェースであるものを当該任意の一つのソリッド要素の第三の参照面とする第三の参照面算出工程。
（１５−１０）当該任意の一つのソリッド要素の前記基準位置から前記第三の参照面のうち任意の一つの該第三の参照面までの最短距離および最短方向ベクトルを算出する第五の最短距離および第五の最短方向ベクトル算出工程。
（１５−１１）当該任意の一つのソリッド要素について、前記第五の最短距離および第五の最短方向ベクトル算出をすべての前記第三の参照面について繰り返す第五の最短距離および第五の最短方向ベクトル算出繰り返し工程。
（１５−１２）当該任意の一つのソリッド要素について、すべての前記第五の最短距離のうち当該第五の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを当該任意の一つのソリッド要素の第六の最短距離および第六の最短方向ベクトルとし、前記最短距離となる第三の参照面を当該任意の一つのソリッド要素の第四の参照面とする第六の最短距離および第六の最短方向ベクトルならびに第四の参照面算出工程。
（１５−１３）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有さず、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第一の更新工程。
（１５−１４）前記ソリッド要素のうち任意の一つのソリッド要素について、当該任意の一つのソリッド要素が前記第二の参照面を有し、前記第四の参照面を有する場合、当該任意の一つのソリッド要素の前記第四の最短距離よりも前記第六の最短距離が小さい場合、当該任意の一つのソリッド要素の前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を当該任意の一つのソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の第二の更新工程。
（１５−１５）前記（１５−８）から（１５−１４）の処理をすべての前記ソリッド要素について行うことにより、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新する第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第一の繰り返し工程。
（１５−１６）前記（１５−８）から（１５−１５）の処理を、前記第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新がなくなるまで繰り返す、第四の最短距離および第四の最短方向ベクトルならびに第二の参照面の更新の第二の繰り返し工程。
（１５−１７）前記第二の繰り返し工程で算出された第三の最短距離および第三の最短方向ベクトルを前記ソリッド要素の第三の最短距離および第三の最短方向ベクトルとする第二の最短距離および第二の最短方向ベクトル工程。
【００３５】
また、上記目的を達成するために、本発明によれば、３次元ソリッドモデルの各ソリッド要素について、上記の方法で求めた肉厚とおよび流体の粘度から流動コンダクタンスκとを算出し、該流動コンダクタンスκに基づいて前記ソリッド要素流体の流動過程を解析することを特徴とする流体の流動過程解析方法が提供される。
【００３６】
また、上記目的を達成するために、本発明によれば、前記流体の流動解析結果を基に行う流動方向、幅方向、肉厚方向の収縮異方性を考慮した変形解析において、上記の肉厚方向を、収縮異方性を考慮した変形解析の肉厚方向とすることを特徴とする構造解析方法が提供される。
【００３７】
また、上記目的を達成するために、本発明によれば、前記流体が溶融樹脂であることを特徴とする流動過程解析方法が提供される。
【００３８】
また、上記目的を達成するために、本発明によれば、前記流体が溶融樹脂であることを特徴とする構造解析方法が提供される。
【００３９】
また、上記目的を達成するために、本発明によれば、上記の工程を実行する手段を備えた解析装置が提供される。
【００４０】
また、上記目的を達成するために、本発明によれば、上記の各工程をコンピュータに実行させるためのプログラムが提供される。
【００４１】
また、上記目的を達成するために、本発明によれば、上記のプログラムを記憶したコンピュータ読みとり可能な記憶媒体が提供される。
【００４２】
また、上記目的を達成するために、本発明によれば、上記の方法を用いて射出成形における属性パラメータを決定し、これに基づいて射出成形品を製造する射出成形品の製造方法が提供される。
【００４３】
本発明において「ソリッド要素」とは、解析において、対象となる３次元形状を３次元の形状のまま、細かく分割した要素のことである。ソリッド要素には、４面体のテトラ要素、５面体のウェッジ要素、６面体のヘキサ要素などがある。
【００４４】
本発明において「フリーフェース」とは３次元形状のモデルを構成するソリッド要素の面のうち、対象となる３次元形状のモデル表面に現れる面のことである。フリーフェースでないソリッド要素の面は、２つのソリッド要素に属し、フリーフェースは、１つのソリッド要素のみに属する面であるため、容易に抽出することができる。ソリッド要素が４面体のテトラ要素の場合には、フリーフェースは三角形となり、６面体のヘキサ要素の場合には、フリーフェースは四角形となり、５面体のウェッジ要素の場合には、フリーフェースは三角形もしくは四角形となる。
【００４５】
本発明において「ソリッド要素の基準位置」とは、ソリッド要素内部の任意の位置のことである。ソリッド要素の内部であればどこでも良いが、重心位置とすることが好ましい。
【００４６】
本発明において「ソリッド要素に隣接するすべてのソリッド要素」とは、ソリッド要素の隣のソリッド要素のことである。ソリッド要素が４面体のテトラ要素である場合は最大４つ、５面体のウェッジ要素である場合は最大５つ、６面体のヘキサ要素である場合は最大６つの隣接するソリッド要素が存在する。ソリッド要素とそのソリッド要素の隣のソリッド要素は、両方のソリッド要素に属する面を有するため、容易に抽出することができる。なお、隣接するソリッド要素は、隣のソリッド要素だけではなく、隣の隣のソリッド要素も含むようにすると、ソリッド要素が歪んでいた場合でも肉厚方向を正確に計算できるため、より好ましい。
【００４７】
本発明において「ソリッド要素に隣接するすべてのソリッド要素もしくはフリーフェース」とは、ソリッド要素の隣のソリッド要素もしくはフリーフェースのことである。ソリッド要素が４面体のテトラ要素である場合はソリッド要素とフリーフェースを合わせて４つ、５面体のウェッジ要素である場合はソリッド要素とフリーフェースを合わせて５つ、６面体のヘキサ要素である場合はソリッド要素とフリーフェースを合わせて６つの隣接するソリッド要素もしくはフリーフェースが存在する。ソリッド要素とそのソリッド要素の隣のソリッド要素は、両方のソリッド要素に属する面を有するため、容易に抽出することができる。また、隣接するフリーフェースとは、ソリッド要素に面していないソリッド要素の面そのもののことである。なお、隣接するソリッド要素もしくはフリーフェースは、隣のソリッド要素もしくはフリーフェースだけではなく、隣の隣のソリッド要素もしくはフリーフェースも含むようにすると、ソリッド要素が歪んでいた場合でも肉厚方向を正確に計算できるため、より好ましい。
【００４８】
本発明において「参照面に隣接するすべてのフリーフェース」とは、参照面の隣のフリーフェースのことである。参照面が三角形である場合は３つ、四角形である場合は４つの隣接するフリーフェースが存在する。参照面とその参照面の隣のフリーフェースは両方の面に属する辺を有するため容易に抽出することができる。また隣接するフリーフェースは、隣のフリーフェースだけではなく、隣の隣のフリーフェースも含むようにすることにより、計算処理のミスを減らすことができる。
【００４９】
本発明において「フリーフェースに隣接するすべてのフリーフェース」とは、フリーフェースの隣のフリーフェースのことである。参照面が三角形である場合は３つ、四角形である場合は４つの隣接するフリーフェースが存在する。参照面とその参照面の隣のフリーフェースは両方の面に属する辺を有するため容易に抽出することができる。また隣接するフリーフェースは、隣のフリーフェースだけではなく、隣の隣のフリーフェースも含むようにすることにより、計算処理のミスを減らすことができる。
【００５０】
本発明において「所定以上の距離」は、例えば、ソリッドモデルを包含する球の直径以上の距離（例えば、３次元モデルが、一辺の長さが１０、２０、２０ｍｍの直方体であった場合、３１ｍｍなど、外接球の直径３０ｍｍよりも大きい距離にすればよい。）や、１０の１０乗など、所定以上の大きい値にしておくと外接球の直径を求める必要がなく、より好ましい。また、ＣＡＤで３次元モデルの最大肉厚が分かっている場合、その最大肉厚よりも長い距離に設定してもよい。
【００５１】
本発明において「法線ベクトル方向と６つの方向の特徴を関連付ける」とは、法線ベクトルの方向と直交座標系の±方向である６つの方向とのなす角度、もしくは内積を計算することにより、法線ベクトルの方向が、直交座標系の±方向である６つの方向のうち、どの方向に最も近いかを決定することをいう。なお、フリーフェースの法線ベクトル方向は、ソリッドモデルに対して外側を向くものとする。例えば、法線ベクトル方向が（１，−３，２）、直交座標系の±方向である６つの方向が（１，０，０）、（−１，０，０）、（０，１，０）、（０，−１，０）、（０，０，１）、（０，０，−１）であったとする。このとき、法線ベクトル方向と６つの方向との内積となす角度をそれぞれ計算すると、法線ベクトル方向と６つの方向のうち（０，−１，０）方向との内積が３と最も大きくなる（なす角度が３６．６°と最も小さくなる）。このことから、法線ベクトル方向（１，−３，２）は、６つの方向のうち、（０、−１，０）方向に最も近い方向であることを決定することができ、法線ベクトル方向と６つの方向の特徴を関連付けることができる。
【００５２】
本発明において「フリーフェースを６つの方向に分類する」とは、フリーフェースを関連付けられた６つの方向にグループ分けすると言うことである。例えば、直交座標系の±方向である６つの方向が±Ｘ、±Ｙ、±Ｚであり、あるフリーフェースが＋Ｘ方向と関連付けられている場合、そのフリーフェースは＋Ｘ方向のグループに分類される。
【００５３】
本発明において「各方向に存在する各方向に分類されたフリーフェース」とは、ソリッド要素の基準位置からフリーフェースへの最短方向ベクトルとフリーフェースの法線ベクトルが正であるフリーフェースのことである。
【００５４】
本発明において「流動コンダクタンスκ」とは、流動のし易さを示す変数で、例えば、粘度が低い、肉厚が大きい場合は、流動コンダクタンスκが大きくなる。
【００５５】
流動解析では、特許文献１に記載の通り、一般に知られる連続の式（１）を用いる。
【００５６】
【数１】
2009266198.tif 000003
【００５７】
ここで、Ｘ 、Ｙ 、Ｚ は３次元の空間座標であり、Ｕ 、Ｖ、Ｗはそれぞれの座標軸方向射出成形材料の流動速度である。この式１はＵ 、Ｖ、Ｗを未知変数とする方程式であり、一般にはこの式および圧力Ｐと流動速度から導かれるせん断応力とを未知変数とする運動方程式を解く必要があるとされ、３次元の流動を扱う場合は未知変数が４個となる。式（２）に示す流動コンダクタンスκを導入することで、式（１）は式（３）のように変形し、未知変数の数を４個から圧力のみの１個に減らすことにより計算時間を大幅に減少することができる。
【００５８】
【数２】
2009266198.tif 000004
【００５９】
【数３】
2009266198.tif 000005
【００６０】
上記の式（２） においてκは流動コンダクタンスである。この式（２）はダルシー流れの式と呼ばれ、多孔質中の浸透流を表す式である。すなわち３次元の座標軸Ｘ、Ｙ 、Ｚ方向の流動速度Ｕ 、Ｖ、Ｗはそれぞれの方向の圧力勾配などに比例するものと仮定したものである。
【００６１】
上記式（３）は一般の熱伝導を表す方程式と同形である。熱伝導問題では任意の微小要素分割された領域について、領域境界の温度Ｔあるいは温度勾配を境界条件として予め設定すれば、領域内部の温度分布を有限要素法、差分法、コントロールボリューム法などの数値解析手法により求めることができる。したがって任意の微小要素分割された領域について、領域境界の圧力Ｐあるいは圧力勾配を境界条件として設定すれば、熱伝導問題のための解析手法や解析プログラムを用いることによって式（３）も同様に解くことが可能であり、材料の圧力分布を求めることができる。
【００６２】
境界条件の設定方法については、例えば、材料流入部分では射出圧力値あるいは射出流量より求められる圧力勾配値を設定し、成形型表面に接する領域境界では流入流出がないことから圧力勾配零を設定し、さらに自由表面である流動先端部分の圧力は例えば大気圧と設定する。
【００６３】
さらに射出成形では材料の充填部分が時間と共に増加することから、圧力分布も時間と共に変化する。このような圧力分布の時間的変化（圧力変化の分布）は、新たに充填された材料の総量に従って充填領域形状の変化を求め再び式（５）を解くことで得ることができる。充填領域形状の変化を求める方法としては従来の射出成形過程の解析方法で用いられているコントロールボリューム法やＦＡＮ法（Ｆｌｏｗ  Ａｎａｌｙｓｉｓ  Ｎｅｔｗｏｒｋ  Ｍｅｔｈｏｄ）などが用いられる。
【００６４】
また、流動速度は、たとえば、上述のように圧力分布Ｐを求めこれを式（４）に代入することにより簡単に求めることができる。
【００６５】
そして、流動コンダクタンスκは薄肉部において、式（４）から導出できる。
【００６６】
【数４】
2009266198.tif 000006
【００６７】
ここでＨは材料流路の厚さ、ηは材料粘度である。
【発明の効果】
【００６８】
本発明によれば以下に説明するとおり、ファウンテンフローの挙動に対応した肉厚および肉厚方向を算出することができるため、流体流動過程のシミュレーションに用いる流動コンダクタンスκの精度が向上するため流動解析精度が向上することができる。
また、流動解析精度が向上するため、流動過程の後引き続き行う流動解析結果を利用した構造解析の精度も向上することができる。さらに、肉厚方向の解析精度が向上するため、流動方向、幅方向、肉厚方向の異方性を考慮した変形解析精度も向上することができる。
【発明を実施するための最良の形態】
【００６９】
以下に、本発明による流体流動過程の解析方法および解析装置の一例である、射出成形過程の解析方法、解析装置の好ましい形態の例を、図面を参照しながら詳細に説明する。
【００７０】
図１は本発明の解析装置のハードウェア構成例を示す図である。中央演算装置、ＲＡＭ（ランダム・アクセス・メモリ）、マザーボードなどを備えたコンピュータ１０１は、キーボード１０２、マウス１０３などの入力装置、ディスプレイ１０４やプリンタ１０５などの表示出力装置、およびメモリー、ハードディスクなどの記憶装置１０６が接続されている。また、メモリーやハードディスク装置の他、テープ、ＦＤ（フレキシブルディスクカートリッジ）、ＭＯ（光磁気ディスク）、ＰＤ（相変化光ディスク）、ＣＤ（コンパクト・ディスク）、ＤＶＤ（デジタル・バーサタイル・ディスク）、ブルーレイディスク、ＨＤ  ＤＶＤ（高解像度デジタル・バーサタイル・ディスク）などのディスクメモリー、ＵＳＢ（ユニバーサル・シリアル・バス）メモリー、メモリーカードなどのリムーバブルメディアなどの外部記録媒体を接続し、記憶装置１０６にデータを読み込み、書き出しすることが可能である。記憶装置１０６には、プログラム１０７、３次元ソリッド要素の形状データ１０８、条件データ１０９が保存されている。３次元ソリッド要素の形状データ１０８や条件データ１０９は、キーボード１０２、マウス１０３などの入力装置によって、作成、編集することが可能である。解析は記憶装置１０６からコンピュータ１０１のＲＡＭ（ランダム・アクセス・メモリ）に読み込み実施される。解析結果は、ディスプレイ１０４やプリンタ１０５などの表示出力装置で表示・出力することも、記憶装置１０６に格納して別の解析に利用することも可能である。
【００７１】
プログラム１０７はソリッド要素のフリーフェース算出手段１１１、ソリッド要素の数（Ｓｎ）、フリーフェースの数（Ｆｎ）、評価フリーフェースの数（Ａｎ）等の個数カウント手段１１２、ソリッド要素の基準位置算出手段１１３、基準位置からフリーフェースまでの距離算出手段１１４、肉厚算出手段１１５、肉厚方向算出手段１１６、評価フリーフェース算出手段１１７、参照面算出手段１１８、ソリッド要素の連結算出手段１１９、フリーフェースの連結算出手段１２０から構成され、図２Ａ〜図２Ｌに示すフロー図に従って、肉厚方向、肉厚を算出する。
【００７２】
また、プログラム１０７は、流動解析手段１２１、構造解析手段１２２によって、算出した肉厚方向、肉厚を適用した流動解析や構造解析を実施する。
【００７３】
図２Ａは本発明の第二の目的であるファウンテンフロー挙動に対応した肉厚方向の算出についての実施形態の一例を示す図である。そして、図２Ｂは本発明の第一の目的である肉厚を算出する実施形態の一例を示す図であり、また本発明の第二の目的であるファウンテンフロー挙動に対応した肉厚方向を算出する実施形態の一例を示す図である。図２Ｃ〜図２Ｇは、図２Ａ、図２Ｂのフロー図に示す各ステップの詳細を示すフロー図の一例である。また、図２Ｈ、図２Ｉは、図２Ａ、図２Ｂのフロー図の詳細を示すフロー図の一例である。
【００７４】
図２Ａのステップ２００１、および図２Ｂのステップ２００３は、少なくとも２種類の方法を用いて算出することができる。一つは、全数計算することにより算出する方法（以下、全数計算する方法と呼ぶ）、もう一方は、段階的に計算を行い、全数計算をせずに算出する方法（以下、段階的に計算する方法と呼ぶ）である。全数計算する方法は計算アルゴリズムを単純化することができる利点があるが、計算時間が長くなる欠点がある。段階的に計算する方法は、計算アルゴリズムは複雑になるが、計算時間を短くすることができる。
【００７５】
図２Ａ、図２Ｂのフロー図の詳細を示す図２Ｈ、図２Ｉは全数計算する方法の一例で、図２Ｊ、図２Ｋは図２Ｈおよび図２Ｉの破線部についての別の実施形態の一例で、段階的に計算する方法である。図２Ｈおよび図２Ｉの破線部の方法は、ソリッド要素の要素数が増加すると、計算時間が要素数の２乗のオーダーで大きくなる。そこで、図２Ｈおよび図２Ｉの破線部の処理を図２Ｊおよび図２Ｋのフロー図に置き換えると、計算時間は要素数にほぼ比例するため、計算時間を一定規模以下に抑えることができる。本発明の実施の形態によれば、ソリッド要素の形状データおよびプログラムをキーボード１０２、マウス１０３などの入力装置により入力もしくは記憶装置１０６からコンピュータ１０１に読み込み、一例として、図２Ａ図２Ｋに示す本発明の実施形態のフロー図に従って演算処理を行い、最終的にディスプレイ１０４やプリンタ１０５などの表示出力装置もしくは記憶装置１０６に表示出力する。
【００７６】
以下、図２Ａ、図２Ｂのフロー図について説明する。
【００７７】
まず、図２Ａについて説明する。
【００７８】
プログラム１０７により、記憶装置１０６に保存されているソリッド要素の形状データ１０８を読み込む（ステップ２００１）。
【００７９】
次に、ソリッドモデルのすべてのフリーフェースを取得するフリーフェース取得工程を実施し、ソリッド要素のフリーフェースを算出する（ステップ２００２）。フリーフェースの算出は全ソリッド要素の全表面について、参照されるソリッド要素の数が１つの表面を探索することにより実施できる。例えば、図７のように２つの六面体でモデルが構成されている場合、ソリッド要素１およびソリッド要素２はそれぞれ６つの表面を持つが、そのうち節点２、３、７、６からなる表面はソリッド要素１からもソリッド要素２からも参照されるが、残りの１０個の表面は１つのソリッド要素からのみ参照されるため、フリーフェースとなる。フリーフェースと非フリーフェースの区別は、すべてのソリッド要素のすべての表面について、構成節点を比較し、同一の組み合わせのものがない場合、その面は１つのソリッド要素のみに属する面であるため、フリーフェースと処理すればよい。
【００８０】
次に、ソリッド要素の数（Ｓｎ）とフリーフェースの数（Ｆｎ）を算出する(ステップ２００３)。
【００８１】
次に、すべてのソリッド要素の基準位置を決定する基準位置決定工程を実施し、ソリッド要素の基準位置を算出する（ステップ２００４）。基準位置は、ソリッド要素内部の任意の位置であり、ソリッド要素の内部であればどこでも良いが、重心位置とすることが好ましい。（以降、ソリッド要素の基準位置をソリッド要素の重心位置として説明する。）
最後に、すべてのソリッド要素の各々について、ソリッド要素の基準位置からすべてのフリーフェースまでの距離のうち、最短の距離となるフリーフェースを算出し、基準位置から最短の距離となるフリーフェースへの方向を、ソリッド要素における肉厚方向とする肉厚方向算出工程を実施する。（ステップ２００５）。
【００８２】
このステップ２００５は、２種類の方法で算出することができる。一つは、全数計算することにより算出する方法、もう一方は、段階的に計算を行い、全数計算をせずに算出する方法である。全数計算する方法は計算アルゴリズムを単純化することができる利点があるが、計算時間が長くなる欠点がある。段階的に計算する方法は、計算アルゴリズムは複雑になるが、計算時間を短くすることができる。
【００８３】
最初に、全数計算する方法について、図２Ｃのフロー図を用いて、詳しく説明する。
【００８４】
まず、ソリッド要素の基準位置から、フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する（ステップ２１０３）。
【００８５】
ここで、最短距離および最短方向ベクトル算出方法の一例を説明する。フリーフェースは、三角形の場合と四角形の場合があるが、フリーフェースが四角形の場合、対角線で四角形を２つに分割し、２つの三角形に分け、２つの三角形への最短距離および最短方向ベクトルをそれぞれ算出することで、三角形と同様に処理することができる。従って、ここではフリーフェースが三角形の場合を例に説明する。
【００８６】
例えば、図８のような、ソリッド要素の基準位置Ｏとそのソリッド要素のフリーフェース（三角形ＡＢＣ）の組み合わせで説明する。まず、ソリッド要素の基準位置Ｏから三角形ＡＢＣへ垂線を引き、三角形ＡＢＣでなる面と垂線の交点をＨとする。Ｈは式（５）より求めることができる。式（５）は、基準位置Ｏから、ベクトルＯＡと垂線の単位ベクトルの内積で算出される距離を垂線方向へ移動させた位置がＨであることを示している。
【００８７】
【数５】
2009266198.tif 000007
【００８８】
次に、交点Ｈが三角形ＡＢＣの内側であるか外側であるかの判定を行う。交点Hが内側である場合、三角形ＡＢＣの面積が、三角形ＡＢＨと三角形ＢＣＨと三角形ＣＡＨの面積の和と等しくなる。また別の判定方法として、三角形ＡＢＣの重心Ｇと交点Ｈを結ぶ直線ＧＨが三角形ＡＢＣの辺ＡＢ、辺ＢＣ、辺ＣＡのいずれとも交わらない場合は三角形の内側であるという判定方法など、どのような判定方法を利用しても構わない。
【００８９】
交点Ｈが三角形ＡＢＣの内側である場合、交点Ｈが最短距離の点であり、基準位置Ｏから交点Ｈまでの距離をフリーフェースまでの距離とし、ＯＨ方向をフリーフェースへの方向とする。
【００９０】
一方、交点Ｈが三角形ＡＢＣの外側である場合、ソリッド要素の基準位置Ｏから三角形の各辺ＡＢ、ＢＣ、ＣＡ（線分ＡＢ、ＢＣ、ＣＡ）までの距離を算出する。中で最も算出した距離が短い辺上の最短距離の点Ｎが最短距離の点であり、点Ｎまでの距離をフリーフェースまでの距離とし、ＯＮ方向をフリーフェースへの方向とする。
【００９１】
例えば、線分ＡＢ上に最短距離の点Ｎが存在する場合、点Ｎは式（６）より求めることができる。
【００９２】
【数６】
2009266198.tif 000008
【００９３】
次に、最短距離および最短方向ベクトルの算出を、最初に最短距離および最短方向ベクトルを算出した基準位置と残りのフリーフェースとの間で繰り返し計算を行う（第一の繰り返し計算：ステップ２１０２〜２１０５）。
【００９４】
そして、第一の繰り返し計算で算出したＦｎ個の最短距離のうち最短距離が最も小さくなる最短方向ベクトルをソリッド要素の肉厚方向とする（ステップ２１０６）
そして、この基準位置を含めＳｎ個のソリッド要素について、ステップ２１０２〜２１０６の処理を繰り返し、それぞれのソリッド要素の最短方向ベクトルを算出し、ソリッド要素の肉厚方向とする。（第二の繰り返し計算：ステップ２１０１〜２１０８）。
【００９５】
続いて、段階的に計算する方法を、図２Ｄのフロー図を用いて詳しく説明する。
【００９６】
まず、すべてのソリッド要素について、各ソリッド要素に隣接するすべてのソリッド要素およびフリーフェースを算出する連結算出工程を実施する（ステップ２１５１）。隣接するソリッド要素とは、ソリッド要素の隣のソリッド要素およびフリーフェースのことであり、ソリッド要素が４面体のテトラ要素である場合は４つ、５面体のウェッジ要素である場合は５つ、６面体のヘキサ要素である場合は６つの隣接するソリッド要素もしくはフリーフェースが存在する。ソリッド要素とそのソリッド要素の隣のソリッド要素は、両方のソリッド要素に属する面を有するため、容易に抽出することができる。なお、隣接するすべてのソリッド要素は、隣のすべてソリッド要素だけではなく、隣のすべてのソリッド要素の、隣のすべてのソリッド要素も含むようにするとモデルに含まれるソリッド要素が歪んでいた場合でも肉厚、肉厚方向を正確に計算できるためより好ましい。例えば、図９Ａのソリッド要素１の隣のソリッド要素５の隣のソリッド要素３、ソリッド要素４も隣接するソリッド要素と見なすとよい。また、図９Ａでは、ソリッド要素２についても、隣の隣のソリッド要素を模式的に示している。
【００９７】
なお、図２Ｅはステップ２１５１をより詳細に示すフロー図である。任意の一つのソリッド要素Ｎについて連結を算出する（ステップ２２０２）。そして、同様な処理をすべてのソリッドについて、繰り返す（ステップ２２０１〜２２０４）。
【００９８】
続いて、すべてのフリーフェースについて、各フリーフェースに隣接するすべてのフリーフェースを算出するフリーフェースの隣接算出工程を実施する（ステップ２１５２）。隣接するフリーフェースの算出は、３次元形状が２次元形状になるだけで、隣接するソリッド要素の算出とほぼ同様である。隣接するフリーフェースとは、フリーフェースの隣のフリーフェースのことであり、フリーフェースが三角形である場合３つ、四角形の場合は、４つ隣接するフリーフェースが存在する。隣接するフリーフェースは、ソリッド要素と同様に、隣のフリーフェースだけではなく、隣のすべてのフリーフェースの、隣のすべてのフリーフェースも含むようにするとモデルに含まれるソリッド要素が歪んでいた場合でも、肉厚、肉厚方向を正確に算出できるためより好ましい。
【００９９】
なお、図２Ｆは、ステップ２１５２をより詳細に示すフロー図である。任意の一つのフリーフェースＮについて連結を算出する（ステップ２２５２）。そして、同様な処理をすべてのフリーフェースについて、繰り返す（ステップ２２５１〜２２５４）。
【０１００】
続いて、すべての前記各ソリッド要素が保有する基準位置からフリーフェースまでの最短距離を所定以上の距離に初期化するソリッド要素の保有する最短距離の初期化工程を実施する（ステップ２１５３）。所定以上の距離に初期化することによって、ソリッド要素が参照面を有するか否かを評価することなく、距離を比較するだけで、以降の参照面算出工程、および更新工程を実施することができるようになる。所定以上の距離とは、ソリッドモデルを包含する球の直径よりも長い距離など所定以上の距離のことである。例えば、３次元モデルが、一辺の長さが１０、２０、２０ｍｍの直方体であった場合、３１ｍｍなど、外接球の直径３０ｍｍよりも大きい距離にすればよい。また、１０の１０乗など、所定以上の大きい値にしておくと外接球の直径を求める必要がなく、より好ましい。また、ＣＡＤで３次元モデルの最大肉厚が分かっている場合、その最大肉厚よりも長い距離に設定しても問題ない。
【０１０１】
続いて、フリーフェースに面するすべての各ソリッド要素について、各ソリッド要素が面するすべてのフリーフェースのうち、各ソリッド要素の基準位置から各ソリッド要素が面するフリーフェースまでの最短距離が最も短いフリーフェースを各ソリッド要素の参照面とし、各ソリッド要素の基準位置から該参照面までの最短距離および最短方向ベクトルを各ソリッド要素の最短距離および最短方向ベクトルとする参照面および最短距離ならびに最短方向ベクトル算出工程を実施する（ステップ２１５４）。なお、フリーフェースに面するソリッド要素とは、図９Ａのソリッド要素１、４、５のようなソリッド要素のことで、ソリッド要素２、３のようにソリッド要素のみに隣接するソリッド要素は含まない。そして、フリーフェースに面するソリッド要素について、ソリッド要素１を例に説明すると、ソリッド要素１は＋Ｚ方向とーＸ方向のフリーフェースに面しているので、ソリッド要素１の基準点から＋Ｚ方向のフリーフェースまでの距離とーＸ方向のフリーフェースまでの距離とを比較し、距離の短いフリーフェースを参照面とする。
【０１０２】
なお、図２Ｇは、ステップ２１５４をより詳細に示すフロー図である。まず、フリーフェースに面するすべてのソリッド要素のうち、任意の一つのソリッド要素Ｎについて、ソリッド要素Ｎが面するすべてのフリーフェースのうち任意の一つのフリーフェースＮ２をこのソリッド要素の第二の参照面として、このソリッド要素の基準位置から第二の参照面までの最短距離および最短方向ベクトルを算出し、これらを第二の最短距離および最短方向ベクトルとする（ステップ２３０７）。そして、この第二の参照面および最短距離ならびに最短方向ベクトルの算出をこの任意の一つのソリッド要素が面するすべてのフリーフェースについて、繰り返す（ステップ２３０６〜２３０８）。そして、ソリッド要素ＮのＦｎ２個の第二の最短距離のうちもっとも距離の短い第二の参照面および第二の最短距離ならびに第二の最短方向ベクトルをソリッド要素Ｎの参照面および最短距離ならびに最短方向ベクトルとする（ステップ２３１０）。そして、これらをすべてのフリーフェースに面するソリッド要素のついて、繰り返す（ステップ２３０１〜ステップ２３１１）
続いて、すべての各ソリッド要素の基準位置から各ソリッド要素に隣接するすべての各ソリッド要素の参照面までの最短距離が、各ソリッド要素が保有する最短距離よりも短い場合、各隣接するソリッド要素の参照面および各ソリッド要素の基準位置から各隣接するソリッド要素の参照面までの最短距離ならびに最短方向ベクトルを各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルとして更新する参照面および最短距離ならびに最短方向ベクトル更新工程を実施する（ステップ２１５５）。
【０１０３】
ステップ２１５５について、図９Ａを例に説明する。ソリッド要素２、３などは、フリーフェースと面していないため、ステップ２１５５の第一回目の処理前では、参照面を持たず、保有する最短距離は初期値の所定以上の大きな距離（１０の１０乗など）である。ステップ２１５５の第一回目の処理で、ソリッド要素３の＋Ｚ方向に隣接するソリッド要素５は参照面を持つため、ソリッド要素３の基準位置からソリッド要素５の参照面（ソリッド要素５の＋Ｚ側のフリーフェース）までの距離とソリッド要素３の保有する最短距離（１０の１０乗など）を比較し、ソリッド要素５の参照面までの距離の方が短いため、ソリッド要素５の参照面をソリッド要素３の第二の参照面とする。そして、ソリッド要素３の基準位置からソリッド要素３の第二の参照面までの最短距離および最短方向ベクトルを第二の最短距離および第二の最短方向ベクトルとする。ソリッド要素３はーＸ方向に隣接するソリッド要素もフリーフェースに面しているため、−Ｘ方向に隣接するソリッド要素についても同様処理を行い、第二の参照面および第二の最短距離ならびに第二の最短方向ベクトルが算出される。このように、ソリッド要素３は第二の最短距離を２つ持つため、両者を比較して、第二の最短距離が短い方をソリッド要素３の参照面、最短距離、最短方向ベクトルとする。なお、ソリッド要素２については、隣接するソリッド要素もソリッドモデルの表面から離れているため参照面を持たず、このステップ２１５５の処理が行われない。
【０１０４】
続いて、ステップ２１５５の更新工程の更新がなくなるまで、更新工程を繰り返す参照面および最短距離および最短方向ベクトル更新の繰り返し工程を実施する。そして、更新の繰り返し工程で算出された最短方向ベクトルをソリッド要素の肉厚方向とする肉厚方向算出工程を実施する（ステップ２１５６）。
【０１０５】
なお、図２Ｈはステップ２１５５〜２１５６をより詳細に示すフロー図である。まず、更新回数のカウンター変数ＦＬＧを０にする（ステップ２３５１）。続いて、任意の一つのソリッド要素Ｎに隣接するソリッド要素の数Ｓｎ２を算出する（ステップ２３５３）。ソリッド要素の隣のソリッド要素のみを隣接するソリッド要素と見なしても、隣の隣のソリッド要素まで隣接するソリッド要素と見なしてよい。例えば、図９Ａのソリッド要素２の場合、隣のソリッド要素だけならＳｎ２＝６、隣の隣のソリッド要素まで隣接する要素と見なせばＳｎ２＝２４となる。続いて、ソリッド要素Ｎに隣接する任意の一つのソリッド要素Ｎ２が参照面を持つ場合、ソリッド要素Ｎの基準位置からソリッド要素Ｎ２の参照面までの距離を算出し、ソリッド要素Ｎの保有する最短距離の方が長い場合、ソリッド要素Ｎ２の参照面をソリッド要素Ｎの参照面に更新し、ソリッド要素Ｎの基準位置から更新したソリッド要素Ｎの参照面までの最短距離および最短方向ベクトルをソリッド要素Ｎの最短距離、最短方向ベクトルに更新する（ステップ２３５５〜２３５６）。なお、隣接するソリッド要素の参照面だけでなく、隣接するソリッド要素の参照面に隣接するフリーフェースも含めて評価することがより好ましい。参照面の隣接するフリーフェースを含めることによって、ソリッド要素が四面体であった場合でも歪んでいた場合でも、より正確に参照面の更新を行うことが可能となる。そして、更新回数のカウンター変数を１増やす（ステップ２３５７）。一方、ステップ２３５５で保有する最短距離の方が短かった場合は、ステップ２３５６〜２３５７を飛ばす。ステップ２３５５〜２３５７をソリッド要素Ｎに隣接するソリッド要素Ｎ２について繰り返す（ステップ２３５４〜２３５９）。続いて、ステップ２３５３〜ステップ２３５９の処理をすべてのソリッド要素について繰り返す（ステップ２３５２〜ステップ２３６０）。そして、更新回数のカウンター変数ＦＬＧ＝０になるまでステップ２３５２〜２３６０を繰り返すことにより、最終的にすべてのソリッド要素の参照面および最短距離ならびに最短方向ベクトルを算出することができる（ステップ２３５１〜２３６１）。
【０１０６】
次に、図２Ｂのフロー図について説明する。
【０１０７】
ステップ２０５１〜２０５４までは、図２Ａのステップ２００１〜ステップ２００４と同様の処理を行う。
【０１０８】
続いて、ソリッドモデルに共通する直交座標系の±方向である６つの方向を決定する方向決定工程を実施する（ステップ２０５５）。６つの方向とは、例えば、±Ｘ方向、±Ｙ方向、±Ｚ方向の合計６方向などのことである。もちろん（１、１、０）、（１、−１、０）、（−１、１、０）、（−１、−１、０）、（０、０、１）、（０、０、−１）の６方向など、直交座標系の±方向である６つの方向であれば構わない。以下、説明を簡単にするため、±Ｘ方向、±Ｙ方向、±Ｚ方向の合計６方向を評価する方向にした場合を代表例として説明する。
【０１０９】
続いて、フリーフェースの法線ベクトルと６つの方向の特徴を関連付けることにより、すべてのフリーフェースを６つの方向に分類するフリーフェース分類工程を実施する（ステップ２０５６）。ここで言う法線ベクトル方向と６つの方向の特徴を関連付けるとは、法線ベクトルの方向と直交座標系の±方向である６つの方向とのなす角度、もしくは内積を計算することにより、法線ベクトルの方向が、直交座標系の±方向である６つの方向のうち、どの方向に最も近いかを決定することをいう。例えば、法線ベクトル方向が（１，−３，２）、直交座標系の±方向である６つの方向が（１，０，０）、（−１，０，０）、（０，１，０）、（０，−１，０）、（０，０，１）、（０，０，−１）であったとする。このとき、法線ベクトル方向と６つの方向との内積となす角度をそれぞれ計算すると、法線ベクトル方向と６つの方向のうち（０，−１，０）方向との内積が３と最も大きくなる（なす角度が３６．６°と最も小さくなる）。このことから、法線ベクトル方向（１，−３，２）は、６つの方向のうち、（０、−１，０）方向に最も近い方向であることを決定することができ、法線ベクトル方向と６つの方向の特徴を関連付けることができる。
【０１１０】
また、フリーフェースを６つの方向に分類するとは、フリーフェースを関連付けられた６つの方向にグループ分けすると言うことである。例えば、直交座標系の±方向である６つの方向が±Ｘ、±Ｙ、±Ｚであり、あるフリーフェースが＋Ｘ方向と関連付けられている場合、そのフリーフェースは＋Ｘ方向のグループに分類される。
【０１１１】
続いて、すべての各ソリッド要素の基準位置からの距離が最短である前記６つの方向の各方向に存在する各方向に分類されたフリーフェースを、すべての各ソリッド要素の各方向に分類された各参照面とし、すべての前記各ソリッド要素の前記基準位置から各方向に分類された各参照面までの最短距離、および最短方向ベクトルを各方向に分類された各最短距離および各最短方向ベクトルとする６つの方向の各方向に分類された各参照面および各最短距離ならびに各最短方向ベクトル算出工程を実施する（ステップ２０５７）。ここで、各方向に存在する各方向に分類されたフリーフェースとは、ソリッド要素の基準位置からフリーフェースへの最短方向ベクトルとフリーフェースの法線ベクトルが正であるフリーフェースのことである。図９Ｂは各方向に存在する各方向に分類されたフリーフェースを詳細に説明するための図で、Ｌ型のソリッドモデルを＋Ｚ方向から見たものである。例えば、フリーフェース１０およびフリーフェース１１は、いずれも＋Ｙ方向に分類されるフリーフェースであるが、フリーフェース１０のみ、ソリッド要素１０の基準点からフリーフェースまでの最短方向ベクトルとフリーフェースの法線ベクトルとの内積が正であり、フリーフェース１０のみが＋Ｙ方向に存在する＋Ｙ方向に分類されたフリーフェースである。すなわち、ステップ２０５７を図９Ｂのソリッド要素１０を例に説明すると、ソリッド要素１０の基準位置からの距離が最短である＋Ｙ方向のフリーフェース１２がソリッド要素１０の＋Ｙ方向の参照面、ソリッド要素１０の基準位置からフリーフェース１２までの最短距離および最短方向ベクトルがソリッド要素１０の最短距離および最短方向ベクトルである。これを＋Ｙ方向以外の５つの方向およびすべての方向について、実行する。
【０１１２】
上記のようにステップ２０５７は、６つの方向の各方向に存在する各方向に分類されたフリーフェースについて、各ソリッド要素の参照面および最短距離ならびに最短方向ベクトルを算出するが、その詳細な方法は、図１Ｂのステップ２００５を図２Ｃ〜図２Ｈのフローに従って算出したことと同様に、図２Ｃ〜図２Ｈのフローによって算出することができる。
【０１１３】
続いて、すべての各ソリッド要素について、６つの方向の±が逆となる三組それぞれの最短距離を加算することによって三組の加算距離を算出し、三組の加算距離のうち加算距離が最短となる加算距離を算出する最短加算距離算出工程を実施する（ステップ２０５９）。例えば、６つの方向の最短距離が＋Ｘ方向が１、−Ｘ方向が２、＋Ｙ方向が８、−Ｙ方向が２、＋Ｚ方向が５、−Ｚ方向が３であった場合、±が逆になる三組の加算距離はＸ方向が３、Ｙ方向が１０、Ｚ方向が８で、Ｘ方向が最小の３ということとなる。
【０１１４】
続いて、すべての各ソリッド要素の肉厚方向を、最短加算距離を構成する２つの最短距離を比較し、最短距離が短い方向の最短方向ベクトルとする肉厚方向算出工程、およびすべての各ソリッド要素の肉厚を、最短加算距離とする肉厚算出工程を実施する（ステップ２０６０）。本ステップについて、上記ステップ２０５９の例を用いて説明する。加算距離が最小となるＸ方向の２つの最短距離は＋Ｘ方向が１、−Ｘ方向が２であるため、距離が短い方向の＋Ｘ方向の最短フリーフェースまでの最短方向を肉厚方向とする。そして、Ｘ方向の加算距離３を肉厚とする。
【０１１５】
次に、以下、図２Ｉ、図２Ｊ、図２Ｋ、図２Ｌのフロー図について説明する。これらはそれぞれ、図２Ａ〜図２Ｈまでに示すフローを詳細に直列のフローとして記載したものである。
【０１１６】
まず、図２Ｉについて説明する。
【０１１７】
プログラム１０７により、記憶装置１０６に保存されているソリッド要素の形状データ１０８を読み込む（ステップ２４０１）。次に、ソリッド要素のフリーフェースを算出する（ステップ２４０２）。フリーフェースの算出は全ソリッド要素の全表面について、参照されるソリッド要素の数が１つの表面を探索することにより実施できる。例えば、図７のように２つの六面体でモデルが構成されている場合、ソリッド要素１およびソリッド要素２はそれぞれ６つの表面を持つが、そのうち節点２、３、７、６からなる表面はソリッド要素１からもソリッド要素２からも参照されるが、残りの１０個の表面は１つのソリッド要素からのみ参照されるため、フリーフェースとなる。フリーフェースと非フリーフェースの区別は、すべてのソリッド要素のすべての表面について、構成節点を比較し、同一の組み合わせのものがない場合、その面は１つのソリッド要素のみに属する面であるため、フリーフェースと処理すればよい。
【０１１８】
次に、ソリッド要素の数（Ｓｎ）とフリーフェースの数（Ｆｎ）を算出する（ステップ２４０３）。
【０１１９】
次に、ソリッド要素の基準位置を算出する（ステップ２４０４）。基準位置は、ソリッド要素内部の任意の位置であり、ソリッド要素の内部であればどこでも良いが、重心位置とすることが好ましい。（以降、ソリッド要素の基準位置をソリッド要素の重心位置として説明する。）
そして次に、ソリッド要素の基準位置から、フリーフェースのうち任意の一つのフリーフェースまでの最短距離および最短方向ベクトルを算出する（第一の最短距離および第一の最短方向ベクトル算出：ステップ２４０７）。
【０１２０】
ここで、第一の最短距離および第一の最短方向ベクトル算出方法の一例を説明する。フリーフェースは、三角形の場合と四角形の場合があるが、フリーフェースが四角形の場合、対角線で四角形を２つに分割し、２つの三角形に分け、２つの三角形への第一の最短距離および第一の最短方向ベクトルをそれぞれ算出することで、三角形と同様に処理することができる。従って、ここではフリーフェースが三角形の場合を例に説明する。
【０１２１】
例えば、図８のような、ソリッド要素の基準位置Ｏとそのソリッド要素のフリーフェース（三角形ＡＢＣ）の組み合わせで説明する。まず、ソリッド要素の基準位置Ｏから三角形ＡＢＣへ垂線を引き、三角形ＡＢＣでなる面と垂線の交点をＨとする。Ｈは式（５）より求めることができる。式（５）は、基準位置Ｏから、ベクトルＯＡと垂線の単位ベクトルの内積で算出される距離を垂線方向へ移動させた位置がＨであることを示している。
【０１２２】
【数７】
2009266198.tif 000009
【０１２３】
次に、交点Ｈが三角形ＡＢＣの内側であるか外側であるかの判定を行う。交点Ｈが内側である場合、三角形ＡＢＣの面積が、三角形ＡＢＨと三角形ＢＣＨと三角形ＣＡＨの面積の和と等しくなる。また別の判定方法として、三角形ＡＢＣの重心Ｇと交点Ｈを結ぶ直線ＧＨが三角形ＡＢＣの辺ＡＢ、辺ＢＣ、辺ＣＡのいずれとも交わらない場合は三角形の内側であるという判定方法など、どのような判定方法を利用しても構わない。
【０１２４】
交点Ｈが三角形ＡＢＣの内側である場合、交点Ｈが最短距離の点であり、基準位置Ｏから交点Ｈまでの距離をフリーフェースまでの距離とし、ＯＨ方向をフリーフェースへの方向とする。
【０１２５】
一方、交点Ｈが三角形ＡＢＣの外側である場合、ソリッド要素の基準位置Ｏから三角形の各辺ＡＢ、ＢＣ、ＣＡ（線分ＡＢ、ＢＣ、ＣＡ）までの距離を算出する。中で最も算出した距離が短い辺上の最短距離の点Ｎが最短距離の点であり、点Ｎまでの距離をフリーフェースまでの距離とし、ＯＮ方向をフリーフェースへの方向とする。
【０１２６】
例えば、線分ＡＢ上に最短距離の点Ｎが存在する場合、点Ｎは式（６）より求めることができる。
【０１２７】
【数８】
2009266198.tif 000010
【０１２８】
次に、第一の最短距離および第一の最短方向ベクトルの算出を、最初に第一の最短距離および第一の最短方向ベクトルを算出した基準位置と残りのフリーフェースとの間で繰り返し計算を行う（第一の繰り返し計算：ステップ２４０６〜２４０９）。
【０１２９】
そして、第一の繰り返し計算で算出したＦｎ個の第一の最短距離のうち第一の最短距離が最も小さくなる第一の最短方向ベクトルをソリッド要素の肉厚方向とする（ステップ２４１０）
そして、この基準位置を含めＳｎ個のソリッド要素について、ステップ２４０６２４１０の処理を繰り返し、それぞれのソリッド要素の最短方向ベクトルを算出し、ソリッド要素の肉厚方向とする。（第二の繰り返し計算：ステップ２４０５〜２４１２）。
【０１３０】
以上の処理により、すべてのソリッド要素について、最も近いフリーフェースへの方向を肉厚方向として算出することができる。
【０１３１】
続いて、図２Ｉの破線部の処理について図２Ｋを用いた場合について説明する。
【０１３２】
まず、任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出する（ステップ２５０２）。隣接するソリッド要素とは、ソリッド要素の隣のソリッド要素のことである。ソリッド要素が４面体のテトラ要素である場合は最大４つ、５面体のウェッジ要素である場合は最大５つ、６面体のヘキサ要素である場合は最大６つの隣接するソリッド要素が存在する。ソリッド要素とそのソリッド要素の隣のソリッド要素は、両方のソリッド要素に属する面を有するため、容易に抽出することができる。なお、隣接するすべてのソリッド要素は、隣のすべてソリッド要素だけではなく、隣のすべてのソリッド要素の、隣のすべてのソリッド要素も含むようにするとモデルに含まれるソリッド要素が歪んでいた場合でも肉厚方向を正確に計算できるため、より好ましい。例えば、図９Ａのソリッド要素１の隣のソリッド要素５の隣のソリッド要素３、ソリッド要素４も隣接するソリッド要素と見なすとよい。また、図９Ａのソリッド要素２により、隣の隣のソリッド要素を模式的に示している。
【０１３３】
同様の処理をすべてのソリッド要素について行い、すべてのソリッド要素の隣接するすべてのソリッド要素を算出する（ソリッド要素の連結算出：ステップ２５０１〜２５０４）。
【０１３４】
次にソリッド要素がフリーフェースに面しているかを判定し、面している場合はすべての面しているフリーフェースを第一の参照面とする。例えば、図９Ａのようなソリッドモデルの場合、ソリッド要素１は、面している２つのフリーフェースを第一の参照面とする（第一の参照面の個数Ｒｎ＝２）（ステップ２５０６、２５０７）。
【０１３５】
そして次に、ソリッド要素が第一の参照面を有する場合、ソリッド要素の基準位置からＲｎ個の参照面のうち任意の１つの参照面までの最短距離および最短方向ベクトルを算出し、第二の最短距離および第二の最短方向ベクトルとする（ステップ２５０９）。例えば、図９Ａのソリッド番号１から＋Ｚ方向に面している第一の参照面までの最短距離および最短方向ベクトルを算出し、これを第二の最短距離および第二の最短方向ベクトルとする。
【０１３６】
そして、ステップ２５０９の処理をソリッド要素Ｎ（Ｎ＝１，２，・・・，Ｓｎ）の第一の参照面の数Ｒｎ個すべてについて繰り返し処理を行う（ステップ２５０８〜２５１１）。例えば、図９Ａのソリッド要素１は、Ｒｎ＝２であるので、＋Ｚ方向、−Ｘ方向の２個の参照面について、ステップ２５０９の処理を行う。
【０１３７】
さらに、求めたＲｎ個の参照面までの第二の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを第三の最短距離および第三の最短方向ベクトルとし、第二の最短距離が最小になる第一の参照面を第二の参照面として算出する（ステップ２５１２）。そして、ステップ２５０５〜２５１４を繰り返し、すべてのソリッド要素について、第三の最短距離および第三の最短方向ベクトルとし、第二の最短距離が最小になる第一の参照面を第二の参照面として算出する。
【０１３８】
次に、ソリッド要素Ｎの隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が第二の参照面を有する場合、第二の参照面を有する隣接するすべてソリッド要素の第二の参照面および第二の参照面に隣接するフリーフェースをソリッド要素Ｎの第三の参照面とする（ステップ２５１７）。例えば、図９Ａのソリッド要素２の隣接するソリッド要素がソリッド要素１の＋Ｚ側のフリーフェースを第二の参照面として有している場合、この第二の参照面および第二の参照面に隣接するフリーフェース（例えば、ソリッド要素５の＋Ｚ側に面するフリーフェース）を第三の参照面とする。
【０１３９】
そして、ソリッド要素Ｎの第三の参照面のうち基準位置と任意の１つの参照面までの最短距離および最短方向ベクトルを算出し、第四の最短距離および第四の最短方向ベクトルとする（ステップ２５２０）。さらに、ステップ２５２０の処理をすべての第三の参照面について繰り返す（ステップ２５１９〜２５２２）。
【０１４０】
次に、ソリッド要素Ｎのすべての第四の最短距離のうち第四の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを第五の最短距離および第五の最短方向ベクトルとし、最短距離となる第三の参照面を第四の参照面とする（ステップ２５２３）。
【０１４１】
そして、ソリッド要素Ｎが第二の参照面を有さず、第四の参照面を有する場合、すなわち、ソリッド要素Ｎがフリーフェースを有さず、ソリッド要素Ｎに隣接するソリッド要素がフリーフェースを有する場合、前記第五の最短距離および第五の最短方向ベクトルならびに第四の参照面を第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第一の更新工程を行う。一方、ソリッド要素Ｎが前記第二の参照面を有し、前記第四の参照面を有する場合、すなわち、ソリッド要素Ｎがフリーフェースを有し、ソリッド要素Ｎに隣接するソリッド要素がフリーフェースを有する場合、ソリッド要素Ｎの第三の最短距離よりも前記第五の最短距離が小さい時、第五の最短距離および第五の最短方向ベクトルならびに第四の参照面をソリッド要素Ｎの第三の最短距離および第三の最短方向ベクトルならびに第二の参照面とする第二の更新を行う（ステップ２５２４〜２５２６）。第二の更新工程の例として、図９Ｃに示すように、ソリッド１１の第二の参照面までの距離がソリッド要素１１の第四の参照面までの距離よりも小さい場合が挙げられる。
【０１４２】
最後に、ステップ２４１６から２５２８までの処理をすべてのソリッド要素について行い、さらには、このステップ２４６からステップ２６０までの処理を第一の更新および第二の更新がなくなるまで繰り返す（ステップ２５１５からステップ２５３１）。
【０１４３】
この処理によって、ソリッド要素の要素数が増加した場合でも、ソリッド要素の要素数にほぼ比例した計算時間で、すべてのソリッド要素の肉厚方法を算出することができる。
【０１４４】
次に、図２Ｊについて説明する。図２Ｊのステップ２４５１から２４５４までは図２Ｉと同一である。そこで、図２Ｊについては、ステップ２１２以降について説明する。
【０１４５】
まず、直交座標系の±方向である６つの評価する方向を決定する（ステップ２４５５）。例えば、±Ｘ方向、±Ｙ方向、±Ｚ方向の合計６方向など評価する方向を決定する。もちろん（１、１、０）、（１、−１、０）、（−１、１、０）、（−１、−１、０）、（０、０、１）、（０、０、−１）の６方向など、直交座標系の±方向である６つの方向であれば構わない。以下、説明を簡単にするため、±Ｘ方向、±Ｙ方向、±Ｚ方向の合計６方向を評価する方向にした場合を代表例として説明する。
【０１４６】
続いて、フリーフェースの法線ベクトル方向と上記６つの方向を関連付けることで、すべてのフリーフェースを６つの方向に分類する（ステップ２４５６）。
【０１４７】
ここで、法線ベクトル方向と６つの方向の特徴を関連付けるとは、法線ベクトルの方向と直交座標系の±方向である６つの方向とのなす角度、もしくは内積を計算することにより、法線ベクトルの方向が、直交座標系の±方向である６つの方向のうち、どの方向に最も近いかを決定することをいう。例えば、法線ベクトル方向が（１，−３，２）、直交座標系の±方向である６つの方向が（１，０，０）、（−１，０，０）、（０，１，０）、（０，−１，０）、（０，０，１）、（０，０，−１）であったとする。このとき、法線ベクトル方向と６つの方向との内積となす角度をそれぞれ計算すると、法線ベクトル方向と６つの方向のうち（０，−１，０）方向との内積が３と最も大きくなる（なす角度が３６．６°と最も小さくなる）。このことから、法線ベクトル方向（１，−３，２）は、６つの方向のうち、（０、−１，０）方向に最も近い方向であることを決定することができ、法線ベクトル方向と６つの方向の特徴を関連付けることができる。
【０１４８】
また、フリーフェースを６つの方向に分類するとは、フリーフェースを関連付けられた６つの方向にグループ分けすると言うことである。例えば、直交座標系の±方向である６つの方向が±Ｘ、±Ｙ、±Ｚであり、あるフリーフェースが＋Ｘ方向と関連付けられている場合、そのフリーフェースは＋Ｘ方向のグループに分類される。
【０１４９】
次に、任意の一つのソリッド要素について、（Ａ）かつ（Ｂ）の条件を満たす評価フリーフェースを算出する（ステップ２４５９）。これにより、評価方向と同じ方向であり、かつ評価方向と同じ方向のフリーフェースのみを評価フリーフェースとして選択できる。
（Ａ）６つの方向のうち任意の一つの方向（Ｎ３番目の方向）と同一の方向に分類された前記フリーフェース
（Ｂ）基準位置からフリーフェースへの第一の最短方向ベクトルとフリーフェースの法線ベクトルの内積が正になるフリーフェース
そして、ソリッド要素Ｎの基準位置から、評価フリーフェースのうち任意の１つのフリーフェースまでの最短距離および最短方向ベクトルを算出する（第一の最短距離および第一の最短方向ベクトル算出：ステップ２４６２）。
【０１５０】
そして、第一の最短距離および第一の最短方向ベクトルの算出を、最初に第一の最短距離および第一の最短方向ベクトルを算出した基準位置と残りの評価フリーフェースとの間で繰り返し計算を行う（第一の繰り返し計算：ステップ２４６０〜２４６４）。
【０１５１】
続いて、第一の最短距離および第一の最短方向ベクトル算出および第一の繰り返し計算で算出した評価フリーフェースへの第一の最短距離の中で、最も第一の最短距離が小さい第一の最短距離およびその方向の第一の最短方向ベクトルをソリッド要素Ｎの基準位置の第二の最短距離および第二の最短方向ベクトルとする（ステップ２４６５）。
【０１５２】
次に、Ｎ３番目の方向の第一の最短距離および第一の最短方向ベクトル算出、ならびに前記第一の繰り返し、および前記第二の最短距離および第二の最短方向ベクトル算出をすべての前記基準位置について行う第二の繰り返す（ステップ２４５８〜２４６７）
続いて、第二の最短距離および第二の最短方向ベクトル算出および第三の繰り返しをすべて方向について行う（ステップ２４５７〜２４６８）。
【０１５３】
以上の処理により、例えば３次元のソリッドモデルが図９Ａに示すような直方体であった場合、ソリッド要素の６つの面への６つの最短距離、最短方向ベクトルが算出できる。
【０１５４】
次に、ソリッド要素Ｎの基準位置について、前記６つの方向の±が逆となる３つの組み合わせそれぞれの第二の最短距離を加算する（ステップ２４７０）。そして三組の組み合わせの中で加算距離が最も小さくなる組み合わせを算出し、ソリッド要素Ｎの基準位置の前記最小組み合わせを構成する二つの前記第二の最短距離を比較し、第二の最短距離が小さい方向の第二の最短ベクトルとする肉厚方向とし、３つの加算距離のうち最小の加算距離を肉厚とする（ステップ２４７１）。
【０１５５】
以上の処理により、ファウンテンフローの挙動に対応した肉厚方向および肉厚が算出できる。
【０１５６】
なお、図２Ｊに示すフローにより、肉厚方向、もしくは肉厚、肉厚方向の算出が可能であるが、要素数が多い場合、計算時間のオーダーが要素数の二乗で増加するため、実質的に計算が不可能になる場合がある。そこで、計算時間短縮の方法として、図２Ｊの破線部で囲まれる部分の計算を図２Ｌに示すフローで実施するとよい。
【０１５７】
以下、図２Ｊの破線部の処理について図２Ｌを用いた場合について説明する。
【０１５８】
まず、任意の一つのソリッド要素について、隣接するすべてのソリッド要素を算出する（ステップ２５５２）。隣接するすべてのソリッド要素とは、当該ソリッド要素の隣のすべてのソリッド要素のことである。ソリッド要素が４面体のテトラ要素である場合は最大４つ、５面体のウェッジ要素である場合は最大５つ、６面体のヘキサ要素である場合は最大６つの隣接するソリッド要素が存在する。ソリッド要素とそのソリッド要素の隣のソリッド要素は、両方のソリッド要素に属する面を有するため、容易に抽出することができる。なお、隣接するすべてのソリッド要素は、隣のすべてのソリッド要素だけではなく、隣のすべてのソリッド要素の、隣のすべてのソリッド要素も含むようにするとソリッド要素が歪んでいた場合でも肉厚方向を正確に計算できるため、より好ましい。例えば、図９Ａのソリッド要素１の隣のソリッド要素５の隣のソリッド要素３、ソリッド要素４も隣接するソリッド要素と見なすとよい。また、図９Ａのソリッド要素２により、隣の隣の要素を模式的に示している。
【０１５９】
同様の処理をすべてのソリッド要素について行い、すべてのソリッド要素の隣接するすべてのソリッド要素を算出する（ソリッド要素の連結算出：ステップ２５５１〜２５５４）。
【０１６０】
次にソリッド要素が評価フリーフェースに面しているかを判定し、面している場合はすべての面している評価フリーフェースを第一の参照面とする。例えば、図９Ａのようなソリッドモデルの場合、ソリッド要素１は、面している２つの評価フリーフェースを第一の参照面とし（第一の参照面の個数Ｒｎ＝２）（ステップ２５５６、２５５７）。
【０１６１】
そして次に、ソリッド要素の基準位置からＲｎ個の参照面のうち任意の１つの参照面までの最短距離および最短方向ベクトルを算出し、第三の最短距離および第三の最短方向ベクトルとする（ステップ２５５９）。例えば、図９Ａのソリッド番号１から＋Ｚ方向に面している第一の参照面までの最短距離および最短方向ベクトルを算出し、これを第三の最距離および第三の最短方向ベクトルとする。
【０１６２】
そして、ステップ２５５９の処理をソリッドＮの第一の参照面の数Ｒｎ個すべてについて繰り返し処理を行う（ステップ２５５８〜２５６１）。例えば、図９Ａのソリッド要素１は、Ｒｎ＝２であるので、＋Ｚ方向、−Ｘ方向の２個の参照面について、ステップ２５５９の処理を行う。
【０１６３】
さらに、求めたＲｎ個の参照面までの第三の最短距離が最小になる第一の参照面までの最短距離および最短方向ベクトルを第四の最短距離および第四の最短方向ベクトルとし、第三の最短距離が最小になる第一の参照面を第二の参照面として算出する（ステップ２５６２）。そして、ステップ２５５５〜２５６４を繰り返し、すべてのソリッド要素について、第四の最短距離および第四の最短方向ベクトルとし、第三の最短距離が最小になる第一の参照面を第二の参照面として算出する。
【０１６４】
次に、ソリッド要素Ｎの隣接するすべてのソリッド要素のうち任意の一つの隣接するソリッド要素が第二の参照面を有する場合、第二の参照面を有する隣接するすべてのソリッド要素の第二の参照面および第二の参照面に隣接する評価フリーフェースをソリッド要素Ｎの第三の参照面とする（ステップ２５６７）。例えば、図９Ａのソリッド要素２の隣接するソリッド要素がソリッド要素１の＋Ｚ側の評価フリーフェースを第二の参照面として有している場合、この第二の参照面および第二の参照面に隣接する評価フリーフェース（例えば、ソリッド要素５の＋Ｚ側に面するフリーフェース）を第三の参照面とする。
【０１６５】
そして、ソリッド要素Ｎの第三の参照面のうち基準位置と任意の１つの参照面までの最短距離および最短方向ベクトルを算出し、第五の最短距離および第五の最短方向ベクトルとする（ステップ２５７０）。さらに、ステップ２５７０の処理をすべての第三の参照面について繰り返す（ステップ２５６９〜２５７２）。
【０１６６】
次に、ソリッド要素Ｎのすべての第五の最短距離のうち第五の最短距離が最小になる第三の参照面までの最短距離および最短方向ベクトルを第六の最短距離および第六の最短方向ベクトルとし、最短距離となる第三の参照面を第四の参照面とする（ステップ２５７３）。
【０１６７】
そして、ソリッド要素Ｎが第二の参照面を有さず、第四の参照面を有する場合、すなわち、ソリッド要素Ｎがフリーフェースを有さず、ソリッド要素Ｎに隣接するソリッド要素がフリーフェースを有する場合、前記第六の最短距離および第六の最短方向ベクトルならびに第四の参照面を第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第一の更新工程を行う。一方、ソリッド要素Ｎが前記第二の参照面を有し、前記第四の参照面を有する場合、すなわち、ソリッド要素Ｎがフリーフェースを有し、ソリッド要素Ｎに隣接するソリッド要素がフリーフェースを有する場合、ソリッド要素Ｎの第四の最短距離よりも前記第六の最短距離が小さい時、第六の最短距離および第六の最短方向ベクトルならびに第四の参照面をソリッド要素Ｎの第四の最短距離および第四の最短方向ベクトルならびに第二の参照面とする第二の更新を行う（ステップ２５７４〜２５７６）。第二の更新工程の例として、図９Ｄに示すように、ソリッド１２の＋Ｙ方向に分類された第二の参照面までの距離がソリッド要素１２のＹ方向に分類された第四の参照面までの距離よりも小さい場合が挙げられる。
【０１６８】
最後に、ステップ２５６６から２５８０までの処理をすべてのソリッド要素について行い、さらには、このステップ２５６６からステップ２５８０までの処理を第一の更新および第二の更新がなくなるまで繰り返す（ステップ２５６５〜２５８１）。
【０１６９】
この処理によって、ソリッド要素の要素数が増加した場合でも、ソリッド要素の要素数にほぼ比例した計算時間で、すべてのソリッド要素の肉厚方法を算出することができる。
【０１７０】
以下、図２Ａ〜図２Ｋのフローに従って得られた肉厚、肉厚方向データを用いて、流体流動解析および流体流動解析の結果を基に構造解析を実施する。
【０１７１】
まず、流体流動解析について説明する。
【０１７２】
流動解析は、特許文献１に記載の通り、一般に知られる連続の式（１）を用いる。
【０１７３】
【数９】
2009266198.tif 000011
【０１７４】
ここで、Ｘ、Ｙ、Ｚ は３次元の空間座標であり、Ｕ、Ｖ、Ｗはそれぞれの座標軸方向射出成形材料の流動速度である。この式１はＵ、Ｖ、Ｗを未知変数とする方程式であり、一般にはこの式および圧力Ｐと流動速度から導かれるせん断応力とを未知変数とする運動方程式を解く必要があるとされ、３次元の流動を扱う場合は未知変数が４個となる。式（２）に示す流動コンダクタンスκを導入することで、式（１）は式（３）のように変形し、未知変数の数を４個から圧力のみの１個に減らすことにより計算時間を大幅に減少することができる。
【０１７５】
【数１０】
2009266198.tif 000012
【０１７６】
【数１１】
2009266198.tif 000013
【０１７７】
上記の式（２）においてκは流動コンダクタンスである。この式（２）はダルシー流れの式と呼ばれ、多孔質中の浸透流を表す式である。すなわち３次元の座標軸X 、Y、Z 方向の流動速度Ｕ、Ｖ、Ｗはそれぞれの方向の圧力勾配などに比例するものと仮定したものである。
【０１７８】
上記式（３）は一般の熱伝導を表す方程式と同形である。熱伝導問題では任意の微小要素分割された領域について、領域境界の温度Ｔあるいは温度勾配を境界条件として予め設定すれば、領域内部の温度分布を有限要素法、差分法、コントロールボリューム法などの数値解析手法により求めることができる。したがって任意の微小要素分割された領域について、領域境界の圧力Ｐあるいは圧力勾配を境界条件として設定すれば、熱伝導問題のための解析手法や解析プログラムを用いることによって式（３）も同様に解くことが可能であり、材料の圧力分布を求めることができる。
【０１７９】
境界条件の設定方法については、例えば、材料流入部分では射出圧力値あるいは射出流量より求められる圧力勾配値を設定し、成形型表面に接する領域境界では流入流出がないことから圧力勾配零を設定し、さらに自由表面である流動先端部分の圧力は例えば大気圧と設定する。
【０１８０】
さらに射出成形では材料の充填部分が時間と共に増加することから、圧力分布も時間と共に変化する。このような圧力分布の時間的変化（圧力変化の分布）は、新たに充填された材料の総量に従って充填領域形状の変化を求め再び式(５) を解くことで得ることができる。充填領域形状の変化を求める方法としては従来の射出成形過程の解析方法で用いられているコントロールボリューム法やＦＡＮ法（Ｆｌｏｗ  Ａｎａｌｙｓｉｓ  Ｎｅｔｗｏｒｋ  Ｍｅｔｈｏｄ）などが用いられる。
【０１８１】
また、流動速度は、たとえば、上述のように圧力分布Ｐを求めこれを式（４）に代入することにより簡単に求めることができる。
【０１８２】
次に流動コンダクタンスκの決定方法について詳しく説明する。
【０１８３】
薄肉部分の流動コンダクタンスは式（４）のように示される。
【０１８４】
【数１２】
2009266198.tif 000014
【０１８５】
ここでＨは材料流路の厚さ、ηは材料粘度である。
【０１８６】
特許文献１では、計算時間の観点から肉厚方向の分割数を１層もしくは２層程度しか想定していないが、構造解析の観点から肉厚方向も多層に分割していることが好ましい。その場合、前述の通り特許文献１の方法で算出した肉厚では、Ｔ字リブの根元などは流動コンダクタンスが小さく、正しく流体流動解析ができない。従って、本発明の図２Ａ〜図２Ｋで示すフローに従って導出した肉厚を用いることが好ましい。
【０１８７】
また、流動は粘度、温度、せん断速度、肉厚以外にも、壁面形状によっても変化する。壁面形状とは、図１２Ａ〜図１２Ｃに示すようなコーナー部分や十字部やエッジ部などのことである。図１２Ｃのような板形状の中央部を流動する場合は、表裏の壁面からせん断を受けるが、コーナー部や十字部ではそれと比較して壁面からせん断を受ける度合いが低く、エッジ部は中央よりも壁面からせん断を受ける度合いが高くなる。従って、壁面形状に応じて流動コンダクタンスを調整すると、流動解析精度が向上する。
【０１８８】
この壁面形状について、図２Ｂに従うフローで算出した６つの方向の最短距離、肉厚を利用すると壁面形状を算出することができる。例えば、コーナー部であれば、加算距離が最小となる２組の参照面について、ソリッド要素の基準位置から最短距離となる点について、一方は参照面のエッジ上、一方は参照面の内部に存在することになる。また、十字部では、この最短距離となる点がいずれも参照面のエッジ上に存在する。これにより、コーナー部や十字部などの壁面形状を判定できる。
【０１８９】
また、エッジ部については、加算距離が最小とならない残りの４つの方向の参照面までの距離を算出し、その距離が肉厚と比較して短い場合、エッジと判断することができる。
【０１９０】
なお、材料粘度ηは温度とせん断速度などに従って変化し、式（７）に示すような近似式で表すことができる。
【０１９１】
【数１３】
2009266198.tif 000015
【０１９２】
ここでＡ、Ｂ、Ｃ は材料に特有の係数であり粘度測定装置により実験的に求めることができる。また、γはひずみで、ガンマドット（γの上に・）はひずみ速度のことであり、Ｔは温度である。式（７）による材料粘度の近似値を式（６）に代入することにより、せん断速度と温度の変化にともなう材料粘度の変化の影響も流動コンダクタンス計算に簡単に取り入れることができる。もちろん、材料粘度ηは、式（８）の６定数式、式（９）のＣＲＯＳＳ−ＷＬＦ式など、他の近似式で表現されていても構わない。
【０１９３】
【数１４】
2009266198.tif 000016
【０１９４】
ただし、Ａ１からＡ６は材料に特有の係数であり、γはひずみで、ガンマドット（γの上に・）はひずみ速度のことであり、Ｔは温度である。
【０１９５】
【数１５】
2009266198.tif 000017
【０１９６】
ただし、Ａ１、Ａ２、Ｄ１、Ｄ２、Ｄ３、ｎ、τは材料に特有の係数であり、γはひずみで、ガンマドット（γの上に・）はひずみ速度のことであり、Ｔは温度、ｐは圧力である。
【０１９７】
続いて、流体流動解析の結果を元に実施する構造解析について説明する。
【０１９８】
前述の通り、流体流動解析の結果を元に実施する構造解析では、収縮異方性が重要であり、流動方向、幅方向と比べて肉厚方向への配向割合が小さくなる結果、肉厚方向の収縮が最も大きくなる。射出成形において、流動方向、幅方向、肉厚方向とは、図３Ａのファウンテンフロー挙動と相関している。従って、肉厚方向は本発明で算出する肉厚方向を利用することとよい。
【０１９９】
流動方向は、流動解析で算出された速度ベクトル方向にすればよく、幅方向は流動方向と肉厚方向から外積により算出する方向にすればよい。
【０２００】
各方向の収縮率は、式（１０）から式（１２）ようにして求めることができる。
【０２０１】
肉厚方向は、樹脂や繊維の配向がない状態での収縮であり、流動方向と幅方向はその配向割合に応じた収縮である。
【０２０２】
【数１６】
2009266198.tif 000018
【０２０３】
【数１７】
2009266198.tif 000019
【０２０４】
【数１８】
2009266198.tif 000020
【０２０５】
ただし、αＭＤ、αＴＤ、αＮＤはそれぞれ流動方向、幅方向、肉厚方向の成形収縮率、αは異方性が生じずに等方的に収縮したと仮定した時の成形収縮率とし（体積収縮率の１／３倍）、α２は無配向時の線膨張係数、α３は配向時の樹脂もしくは繊維の線膨張係数、Ｖは配向した樹脂もしくは繊維の体積割合、βは流動方向と幅方向の配向割合の比（流動方向の配向割合：幅方向の配向割合＝β：１）である。
【０２０６】
なお体積収縮率とは、流動解析、保圧解析、冷却解析によって計算される成形品体積の収縮割合のことである。
【０２０７】
以上の処理により、流体流動解析の結果を基に、各要素に異方性が存在する状態で実施する構造解析が可能となる。
【実施例】
【０２０８】
以下、実施例および比較例を挙げて、本実施形態を利用して算出したソリッド要素の肉厚を考慮した樹脂の流動解析、ならびに本実施形態を利用して算出した肉厚方向を考慮した樹脂の構造（変形）解析の方法および装置について、図面を参照しながら説明するが、本実施形態は以下の実施例のみに限定されるものではない。
［実施例１］
図１０Ａに示すような流動方向に対して平行なリブを有する平板形状をしたキャビティ１００１にゲート１００２から樹脂を充填した時の樹脂流動挙動を解析した。
【０２０９】
まず、図１０Ａに示すようなキャビティ形状を再現したソリッド要素（要素数７０７２、節点数９７２４、肉厚方向３〜４層分割）について、図２Ｂに示すフローに従い、肉厚、肉厚方向を算出した。算出した肉厚、肉厚方向について、リブのない部分は図１０Ｂ、リブのある部分は図１０Ｃに示す結果となった。この計算に要した計算時間は、“ＰＥＮＴＩＵＭ（登録商標）”４、３．２ＧＨｚのパーソナルコンピュータを用いた場合、３６秒であった。
【０２１０】
この結果を用いて、キャビティに樹脂を充填した時の樹脂流動挙動を解析した。樹脂はガラスを１５重量％含有するＰＢＴ樹脂とした。成形条件は、樹脂温度を２７０℃、金型の温度を８０℃、充填時間１秒、流動挙動の解析は、特許文献１の方法において、図１１Ａに示す肉厚を用いた。その結果、図１２Ａのように樹脂の充填パターンは、リブの根元では一般部よりも流動が先行する結果が得られ、実測のショートショットサンプル（キャビティ体積より少ない量の樹脂を充填した時の成形品サンプル）３種類とほぼ一致した。
［比較例１］
実施例１と同様に、図１１Ａに示すような流動方向に対して平行なリブを有する平板形状をしたキャビティ１００１にゲート１００２から樹脂を充填した時の樹脂流動挙動を解析した。
【０２１１】
ソリッド要素、および使用樹脂、成形条件は実施例１と同様とした。肉厚、肉厚方向は、図１０Ｄに示すように、ＣＡＤのデータを用いた。また、壁面形状は考慮せずに解析を行った。
【０２１２】
その結果、図１２Ｂのように樹脂の充填パターンは、実施例１と比較して、エッジ部では一般部よりも流動が遅れ、リブの根元では一般部よりも流動が先行する結果が得られず、実測のショートショットサンプル（キャビティ体積より少ない量の樹脂を充填した時の成形品サンプル）３種類と一致しなかった。
［実施例２］
実施例１の樹脂流動挙動解析に引き続き、樹脂の保圧解析、および冷却工程解析を実施し、その結果を基に、金型から成形品を取り出した後の変形挙動を解析した。
【０２１３】
保圧・冷却解析で得られた各ソリッド要素の異方性が生じずに等方的に収縮したと仮定した時の成形収縮率αから式（１０）〜式（１２）を用いて、各方向の成形収縮率αＭＤ、αＴＤ、αＮＤを算出した。その際、肉厚方向は図２Ｂのフローに従って計算し、流動解析で算出された速度ベクトル方向、幅方向は、流動方向と肉厚方向との外積より算出した。
【０２１４】
その結果、図１１Ｃに示す、成形品中央部のそりは０．３１ｍｍとなり、実測の０．３２ｍｍとほぼ一致した。
［実施例３］
実施例２と同様に、金型から成形品を取り出した後の変形挙動を解析した。その際、肉厚方向を図２Ａに示すフローから算出した。図２Ａのフローから算出することにより、“ＰＥＮＴＩＵＭ（登録商標）”４、３．２ＧＨｚのパーソナルコンピュータを用いた場合、肉厚方向の計算を１２秒で行うことができた。
【０２１５】
その結果、図１１Ｃに示す、成形品中央部のそりは、実施例２と同様０．３１ｍｍとなり、実測の０．３２ｍｍとほぼ一致した。
［比較例２］
実施例２と同様に、金型から成形品を取り出した後の変形挙動を解析した。その際、肉厚方向を比較例１に示すとおり、図１０Ｄに示す方向とした。
【０２１６】
その結果、図１２Ｃに示す、成形品中央部のそりは、０．０７ｍｍとなり、実測の０．３２ｍｍよりも大幅に小さい値となった。
【産業上の利用可能性】
【０２１７】
本発明は流動解析、および流動解析結果を用いた構造解析に利用する肉厚、肉厚方向、壁面形状を算出する技術としての利用が可能であり、特にこれを射出成形に適用することが好適であるが、その応用範囲がこれらに限られるものではない。
【図面の簡単な説明】
【０２１８】
【図１】本発明の実施形態の構成を示すブロック図の一例を示す図である。
【図２Ａ】本発明の肉厚方向算出に関する実施形態のフロー図の一例を示す図である。
【図２Ｂ】本発明の肉厚、肉厚方向算出に関する実施形態のフロー図の一例を示す図である。
【図２Ｃ】本発明のすべてのソリッド要素の肉厚方向算出に関して、その詳細を示すフロー図の一例を示す図である。
【図２Ｄ】本発明のすべてのソリッド要素の肉厚および肉厚方向算出に関して、その詳細を示すフロー図の一例を示す図である。
【図２Ｅ】ソリッド要素の連結算出に関して、その詳細を示すフロー図の一例を示す図である。
【図２Ｆ】フリーフェースの連結算出に関して、その詳細を示すフロー図の一例を示す図である。
【図２Ｇ】フリーフェースに面するソリッド要素の参照面および最短距離ならびに最短方向ベクトルの算出に関して、その詳細を示すフロー図の一例を示す図である。
【図２Ｈ】ソリッド要素の肉厚および肉厚方向算出に関して、参照面および最短距離ならびに最短方向ベクトルの更新工程の詳細を示すフロー図の一例を示す図である。
【図２Ｉ】本発明の肉厚方向算出に関する実施形態のフロー図の一例を示す図である。
【図２Ｊ】本発明の肉厚、肉厚方向算出に関する実施形態のフロー図の一例を示す図である。
【図２Ｋ】本発明の肉厚方向算出に関する実施形態のフロー図の一例を示す図で、図２Ａの破線部の実施形態の一例を示す図である。
【図２Ｌ】本発明の肉厚方向算出に関する実施形態のフロー図の一例を示す図で、図２Ｂの破線部の実施形態の一例を示す図である。
【図３Ａ】樹脂が金型内に注入された時の樹脂流動挙動（ファウンテンフロー）の一例を示す肉厚方向断面図の一例である。
【図３Ｂ】樹脂が金型内に注入された時の配向挙動の一例を示す肉厚方向断面図の一例である。
【図４Ａ】Ｌ字形状について、ＣＡＤから算出した肉厚方向と樹脂を流した時のファウンテンフロー挙動に対応した肉厚方向の一例を示す断面図である。
【図４Ｂ】Ｔ字形状について、ＣＡＤから算出した肉厚方向と樹脂を流した時のファウンテンフロー挙動に対応した肉厚方向の一例を示す断面図である。
【図５】Ｔ字形状をした樹脂成形品が肉厚方向の収縮により内倒れする挙動の一例を示すＬ字成形品の断面図である。
【図６】異方性収縮の主軸を、要素を構成する各節点の節点温度から、指定された温度条件を満たす平面を決定し、その決定された平面に対する法線ベクトル方向（熱流束方向）とする方法により算出する一例を示す断面図である。
【図７】２つソリッド要素でモデル化した形状の一例を示す斜視図である。
【図８】ソリッド要素の基準位置からフリーフェースまでの最短距離を算出する方法の一例を示す斜視図である。
【図９Ａ】ソリッド要素の連結する要素の一例を示す斜視図である。
【図９Ｂ】各方向に存在する各方向に分類されたフリーフェースを詳細に説明するための図の一例で、Ｌ型のソリッドモデルを＋Ｚ方向から見た正面図である。
【図９Ｃ】ソリッド要素の第三の最短距離および第三の最短方向ベクトルならびに第二の参照面更新工程の一例を示すソリッド要素の断面図である。
【図９Ｄ】ソリッド要素の第四の最短距離および第四の最短方向ベクトルならびに第二の参照面更新工程の一例を示すソリッド要素の断面図である。
【図１０Ａ】本発明の実施例で用いるリブ付キャビティを示す斜視図である。
【図１０Ｂ】本発明の実施例で算出されたリブのない部分の肉厚、肉厚方向を示す断面図である。
【図１０Ｃ】本発明の実施例で算出されたリブのある部分の肉厚、肉厚方向を示す断面図である。
【図１０Ｄ】本発明の比較例で用いた、ＣＡＤデータから算出された肉厚および肉厚方向を示す断面図である。
【図１１Ａ】本発明の実施例で算出された樹脂の流動パターンとショートショット成形により得られた流動パターンを比較した結果を示す斜視図である。
【図１１Ｂ】本発明の比較例で算出された樹脂の流動パターンとショートショット成形により得られた流動パターンを比較した結果を示す斜視図である。
【図１１Ｃ】本発明の実施例で用いるリブ付キャビティの成形品中央部のそり評価方法を示す斜視図および断面図である。
【図１２Ａ】ソリッド要素のコーナー部の一例を示す斜視図である。
【図１２Ｂ】ソリッド要素の十字部の一例を示す斜視図である。
【図１２Ｃ】ソリッド要素のエッジ部の一例を示す斜視図である。
【符号の説明】
【０２１９】
１０１    コンピュータ
１０２    キーボード
１０３    マウス
１０４    ディスプレイ
１０５    プリンタ
１０６    記憶装置
１０７    プログラム
１０８    形状データ
１０９    条件データ
１１１    ソリッド要素のフリーフェース算出手段
１１２    ソリッド要素の数（Ｓｎ）、フリーフェースの数（Ｆｎ）評価フリーフェースの数（Ａｎ）等の個数カウント算出手段  
１１３    ソリッド要素の基準位置算出手段
１１４    基準位置からフリーフェースまでの距離算出手段
１１５    肉厚算出手段
１１６    肉厚方向算出手段
１１７    評価フリーフェース算出手段
１１８    参照面算出手段
１１９    ソリッド要素の連結算出手段
１２０    フリーフェースの連結算出手段
１２１    流動解析手段
１２２    構造解析手段
３０１    樹脂
３０２    金型壁面
３０３    ファウンテンフロー（湧き出し流れ）
３０４    肉厚方向
６０１    ソリッド要素
８０１    フリーフェース
９０１    ソリッドモデル
１００１  リブ付キャビティ
１００２  ゲート（樹脂注入点）
【図１】
2009266198.tif 000021
【図２Ａ】
2009266198.tif 000022
【図２Ｂ】
2009266198.tif 000023
【図２Ｃ】
2009266198.tif 000024
【図２Ｄ】
2009266198.tif 000025
【図２Ｅ】
2009266198.tif 000026
【図２Ｆ】
2009266198.tif 000027
【図２Ｇ】
2009266198.tif 000028
【図２Ｈ】
2009266198.tif 000029
【図２Ｉ】
2009266198.tif 000030
【図２Ｊ】
2009266198.tif 000031
【図２Ｋ】
2009266198.tif 000032
【図２Ｌ】
2009266198.tif 000033
【図３Ａ】
2009266198.tif 000034
【図３Ｂ】
2009266198.tif 000035
【図４Ａ】
2009266198.tif 000036
【図４Ｂ】
2009266198.tif 000037
【図５】
2009266198.tif 000038
【図６】
2009266198.tif 000039
【図７】
2009266198.tif 000040
【図８】
2009266198.tif 000041
【図９Ａ】
2009266198.tif 000042
【図９Ｂ】
2009266198.tif 000043
【図９Ｃ】
2009266198.tif 000044
【図９Ｄ】
2009266198.tif 000045
【図１０Ａ】
2009266198.tif 000046
【図１０Ｂ】
2009266198.tif 000047
【図１０Ｃ】
2009266198.tif 000048
【図１０Ｄ】
2009266198.tif 000049
【図１１Ａ】
2009266198.tif 000050
【図１１Ｂ】
2009266198.tif 000051
【図１１Ｃ】
2009266198.tif 000052
【図１２Ａ】
2009266198.tif 000053
【図１２Ｂ】
2009266198.tif 000054
【図１２Ｃ】
2009266198.tif 000055