(57)【要約】【課題】節点抽出の処理時間を短縮すると共にアセンブリ部品については部品間の接触判定を短時間で行う。【解決手段】中央処理装置（別図）の機能ブロックは、解析モデルデータを取り込む入力手段１１と、前記データより境界節点を抽出する際の節点の存在領域を設定する領域半径設定手段１２と、境界節点を判別するための２つの閾値を設定する閾値設定手段１３と、前記節点を中心とし、前記設定された一方の閾値を半径とする円内に存在する節点を抽出する領域内節点抽出手段１４と、抽出された節点群でベクトル計算を行うベクトル計算手段１５と、前記ベクトル計算結果と、前記設定された他方の閾値とにより境界節点と判定する境界節点判定手段１６と、１つの節点を共有する要素を検索する同一節点共有要素検索手段１７と、抽出された節点情報を出力する出力手段１８と、を備えて構成される。【選択図】図２
2010152863.tif 000002
【特許請求の範囲】
【請求項１】
数値解析で使用する解析モデルの境界に存在する節点を抽出する境界節点抽出システムであって、
前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出手段と、
前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成手段と、
前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出手段と、
前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出手段と、
を備えたことを特徴とする境界節点抽出システム。
【請求項２】
前記円の中心とした前記節点を共有する前記解析モデルの要素を、前記要素を構成する節点の情報に基づいて検索すると共に前記検索で検出された前記要素の個数をカウントする共有要素カウント手段と、
前記カウントされた前記要素の個数が所定の第２の閾値を超える場合には、前記円の中心とした前記節点を、前記抽出した境界節点の候補から除外する境界節点確定手段と、をさらに備えたことを特徴とする請求項１記載の境界節点抽出システム。
【請求項３】
前記領域内節点抽出手段、前記位置ベクトル構成手段、前記合成ベクトル算出手段及び前記境界節点抽出手段と、前記共有要素カウント手段及び前記境界節点確定手段とが、逐次処理を実行することを特徴とする請求項２に記載の境界節点抽出システム。
【請求項４】
前記領域内節点抽出手段、前記位置ベクトル構成手段、前記合成ベクトル算出手段及び前記境界節点抽出手段と、前記共有要素カウント手段及び前記境界節点確定手段とが、並列処理を実行することを特徴とする請求項２に記載の境界節点抽出システム。
【請求項５】
前記領域半径及び前記合成ベクトルの大きさを判定する際の閾値を設定するに際し、前記解析モデルのデータに基づいて要素サイズの平均値を求め、前記平均値を基本要素サイズとすると共に、前記基本要素サイズの整数倍を、前記領域半径及び前記合成ベクトルの大きさを判定する際の閾値として設定することを特徴とする請求項１記載の境界節点抽出システム。
【請求項６】
前記第２の閾値を設定するに際し、要素の最大内角度に基づいて、内部節点で共有することができる最小の要素数を計算すると共に、前記計算した要素数を前記第２の閾値として設定することを特徴とする請求項２記載の境界節点抽出システム。
【請求項７】
数値解析で使用する解析モデルの境界に存在する節点を抽出する境界節点抽出方法であって、
前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出ステップと、
前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成ステップと、
前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出ステップと、
前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出ステップと、
を有することを特徴とする境界節点抽出方法。
【請求項８】
前記円の中心とした前記節点を共有する前記解析モデルの要素を、前記要素を構成する節点の情報に基づいて検索すると共に前記検索で検出された前記要素の個数をカウントする共有要素カウントステップと、
前記カウントされた前記要素の個数が所定の第２の閾値を超える場合には、前記円の中心とした前記節点を、前記抽出した境界節点の候補から除外する境界節点確定ステップと、をさらに有することを特徴とする請求項７記載の境界節点抽出方法。
【請求項９】
数値解析で使用する解析モデルの境界に存在する節点を抽出するコンピュータに、
前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出ステップと、
前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成ステップと、
前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出ステップと、
前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出ステップと、
を実行させるためのプログラム。
【請求項１０】
前記円の中心とした前記節点を共有する前記解析モデルの要素を、前記要素を構成する節点の情報に基づいて検索すると共に前記検索で検出された前記要素の個数をカウントする共有要素カウントステップと、
前記カウントされた前記要素の個数が所定の第２の閾値を超える場合には、前記円の中心とした前記節点を、前記抽出した境界節点の候補から除外する境界節点確定ステップと、
をさらに実行させることを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は境界節点抽出システム及び境界節点抽出方法に係り、特に、有限要素法等を用いた数値解析に使用する解析モデルを処理対象として、その境界に存在する節点を効率的に抽出する境界節点抽出システム、境界節点抽出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、設計の不具合に起因する品質問題が、企業の存亡に関わる重大事件にまで発展している例が数多く見られることから、設計品質の検証方法、及び品質の向上が重要な課題となっている。このような状況の下で、設計品質の検証方法としては、有限要素法等を用いた解析手法が多くの分野で用いられている。
また、最近では３次元ＣＡＤの普及により、設計図面が３次元化され、３次元データとして開発されている。また、このような３次元データを基に有限要素法の解析モデルが作成され、解析計算が実行されている。更に近年は、ＰＣ（パーソナルコンピュータ）の処理能力の著しい向上により、解析対象物の実形状を３次元空間上に忠実に再現した解析モデルや、複数の部品をアセンブリした構造体モデルの解析が可能となり、これに伴って、有限要素法の解析モデルが大規模化し、要素数が増大する傾向にある。
【０００３】
複数の部品から構成される構造体は、接触可能性の有無を考慮することにより、部品間の力の伝達や、変位の拘束を実現している。接触可能性の有無を考慮するか否かの判定を行う場合は、複数の部品の中から、２つの部品からなるペアを抽出すると共に、このペアの各々の部品から、それぞれ節点を抽出して任意の２節点間の距離を算出する。なお、これらの作業は、前記ペアをなす両部品の全節点の組み合わせで実施することで、２節点間の距離の最小距離を求める。次に、接触可能性の有無を考慮するか否かを判定するための所定の閾値と、この最小距離とを比較し、この最小距離が、この閾値を超えない限りは両部品は接触する可能性有りとして、両部品間での接触の有無を判定している。
【０００４】
以上の判定処理は、考慮するべきペア数の組み合わせ数が、部品点数の約２乗の割合で増加するので、部品点数が増加するに連れて膨大なものとなる。同様に、距離計算する節点の組み合わせの数も、節点数の２乗の割合で増加するので、節点数が増加するに連れて膨大なものとなる。
しかしながら、部品間の最小距離を求める計算での節点の組み合わせは、実際には境界に存在する節点のみの組み合わせでよく、よって、従来の、内部の全ての節点を対象とする処理には、多くの無駄な処理が含まれていることになり、この点を解決することが課題であった。そこで、このような課題を解決する手法として、解析モデルから、効率良く境界節点を抽出する手法の開発が強く求められていた。
【０００５】
従来は、上記の課題を解決するための境界節点抽出方法として、例えば、特許文献１に記載された境界面抽出方法では、節点の座標および要素を構成する節点を表すテーブルを作成しておき、要素を１つ取り出して、この要素を構成する面を特定し、この面を構成する節点を特定した後、更に、この要素を１つずつ順次取り出して、要素を構成する面の構成節点をチェックして、同じものが存在しない場合に境界面としている。
【０００６】
また、例えば、特許文献２に記載された節点抽出方法では、まず、要素を構成する面の全てを境界面として、前述の特許文献１の場合と同様に、要素を順次１つずつ取り出して、要素を構成する面の構成節点に同一のものがあるか否かをチェックすることで境界面を抽出している。
しかし、この方法では、同一節点で構成されているか否かのチェックを、全要素の構成面の全ての組み合わせで実施する必要があるため、処理時間が膨大となる問題点がある。
【０００７】
図１６は、従来の境界節点抽出システムの処理手順を示すフローチャート図である。
以下、節点抽出方法を、図１６に示す従来の境界節点抽出方法の処理手順を参照しながら、図６に示す立方体の解析モデルの場合で説明する。
従来技術では、境界に存在する面は、他の要素の面と共有関係に無いことに注目して境界節点を抽出していた。図６に示す直方体モデルの要素数は1000で、節点数は1331である。
図１６から分かるように、従来技術では、ステップＡ１で接点テーブルを作成し、ステップＡ２で要素テーブルを作成した後、以下に示す３つのループ（繰り返し処理、Loop1,2,3 ）を実行する。
【０００８】
（１）  Loop1は、要素ａを選択するステップ（ステップＡ３）から、最終の判定条件（ステップＡ１０）に至るまでの、要素を選択するループ。
（２）  Loop2は、要素ｂを選択する（ステップＡ４）から、最終の判定条件（ステップＡ９）に至るまでの、要素を選択するループ。
（３）  Loop3は、各要素の構成面を抽出し（ステップＡ５）、同一面か否かをチェックし（ステップＡ６）、同一面の場合は、その識別を行う（ステップＡ７）ことを、全面を調査し終えたか否かを判定する判定条件（ステップＡ８）に至るまで繰り返すループ。
【０００９】
各Loopは、Loop1⊃Loop2⊃Loop3の入れ子構造となっている。１つの要素aiに対して、要素b1からbjまで処理するため、Loop1とLoop2の入れ子構造で最大で1000×1000=1000000回の繰り返し処理を実施することになる。重複を除外すると、1000×999/2=499500回の繰り返し処理を実施することになる。更に、Loop3の処理で、６面体要素の場合は、6×6=36回の同一面のチェックが必要となり、同一面の識別処理（ステップＡ７）を499500×36=17982000回実施することになる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平８−２６３６９７号公報
【特許文献２】特開平１０−２８９２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記背景技術で述べた従来の境界節点抽出システム及び境界節点抽出方法にあっては、解析モデルの全要素の構成面および辺の全ての組み合わせで、同一の面および辺を共有するか否かのチェックを行っているので、処理時間が膨大になるという問題点があった。
また、複数の部品で構成される構造体の解析モデルでは、部品間の接触判定を２つの部品間の最小距離で判別する場合に、全ての部品間の組み合わせにおいて、それぞれ全ての節点間で接触判定の距離計算を行っているので、この処理ステップにおいても処理時間が膨大になるという問題点があった。
【００１２】
本発明は、上記従来の問題点に鑑みてなされたものであって、所与の解析モデルを処理対象として、その境界に存在する節点を抽出するために必要な処理時間を短縮できる境界節点抽出システム、境界節点抽出方法及びプログラムを提供することを目的としている。
本発明の他の目的は、部品単品で境界節点を抽出しておき、部品をアセンブリした際には境界節点のみで部品間最小距離探査を行うことを可能にして、部品間の接触判定を短時間で行うことができる境界節点抽出システム、境界節点抽出方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明に係る境界節点抽出システムは、数値解析で使用する解析モデルの境界に存在する節点を抽出する境界節点抽出システムであって、前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出手段と、前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成手段と、前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出手段と、前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出手段と、を備えたことを特徴とする境界節点抽出システムを提供するものである。
【００１４】
また、前記境界節点抽出方法は、数値解析で使用する解析モデルの境界に存在する節点を抽出する境界節点抽出方法であって、前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出ステップと、前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成ステップと、前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出ステップと、前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出ステップと、を有することを特徴とする。
【００１５】
また、本発明に係るコンピュータプログラムは、数値解析で使用する解析モデルの境界に存在する節点を抽出するコンピュータに、前記解析モデルを構成する節点の位置情報に基づき、前記節点毎に、前記節点を中心とし、予め設定された領域半径を半径とする円内の領域に存在する他の節点を抽出する領域内節点抽出ステップと、前記円の中心とした前記節点を後尾とし、前記抽出した他の節点を先端とする位置ベクトルを作成する位置ベクトル構成ステップと、前記位置ベクトルの合成ベクトルを求め、該ベクトルの大きさを算出する合成ベクトル算出ステップと、前記合成ベクトルの大きさが所定の第１の閾値を超えた時に、前記円の中心とした前記節点を境界節点の候補として抽出する境界節点抽出ステップと、を実行させることを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明の境界節点抽出システムによれば、全要素の構成面の組み合わせを排除して、節点のみの探査で境界に存在する節点を抽出できるようにしたので、境界に存在する節点の抽出に要する時間を短縮することが可能となり、また、部品単体で境界節点を抽出しておき、部品アセンブリ後に部品単位で抽出した境界節点のみの組み合わせで最小距離探査を実施するので、効率的な接触条件（即ち、接触の可能性の有無）の判別が可能となる効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る境界節点抽出システムの全体構成を示す構成図である。
【図２】本発明の実施形態に係る境界節点抽出システムの中央処理装置３における機能ブロック構成を示す機能ブロック図である。
【図３】本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示すフローチャート図である。
【図４】本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示す他のフローチャート図である。
【図５】本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示す他のフローチャート図である。
【図６】３次元解析モデルの１例を示すものである。
【図７】境界節点の候補を抽出するベクトル計算方法を説明するための理想的な解析モデルの１例を示すものである。
【図８】本発明の実施形態に係る境界節点抽出システムにおける解析モデルの１例としての表示画面を示す説明図である。
【図９】各節点に対応して抽出された領域内節点の１例をリストした説明図である。
【図１０】節点共有要素を説明する説明図である。
【図１１】境界節点の候補を抽出する際の領域内の節点を終点とする位置ベクトルｐの合成ベクトルＰと、閾値との関係を示す説明図である。
【図１２】図８に示す解析モデルに対して境界節点抽出を完了した状態を示す説明図である。
【図１３】解析モデルの１例を示すものである。
【図１４】複数の解析モデルの節点間距離を解析した結果を示した説明図である。
【図１５】接触判定閾値を0.3mmとして実施した結果を示す表である。
【図１６】従来の境界節点抽出システムの処理手順を示すフローチャート図である。
【図１７】本発明の実施例の解析モデルのシステム表示状態を示す図である。
【図１８】本発明の実施例の領域内節点抽出の処理概要を示す図である。
【図１９】本発明の実施例の領域内節点テーブルを示す図である。
【図２０】本発明の実施例の境界節点抽出完了状態を示す図である。
【発明を実施するための形態】
【００１８】
本発明の境界節点抽出システムの解析原理は、まず、解析モデルのある節点に注目し、その節点を中心とした領域内に存在する節点を抽出する。次に、抽出された節点の、注目した節点に対する位置ベクトルを求め、全ての位置ベクトルの合成ベクトルを求める。次に、この合成ベクトルの大きさが、閾値より大きい場合、境界節点である可能性が大きいと判断することにより、効率的に境界節点を抽出することを可能にすることにある。また、以上の処理を部品体単体で実施し、境界節点を抽出しておいて、部品をアセンブリし接触判定を実施する際に、抽出された境界節点のみ使用して部品間最小距離探査を実施することにより、効率的に接触条件（即ち、接触の可能性の有無）の判別を行うことを可能にすることにある。
【００１９】
以下、本発明の境界節点抽出システムの最良の実施形態について、図面を参照して詳細に説明する。
図１は、本発明の実施形態に係る境界節点抽出システムの全体構成を示す構成図である。
同図に示す境界節点抽出システムは、キーボード、マウス等で構成可能な入力装置１と、境界節点抽出処理に必要な情報を記憶し、処理を実行するデータ処理装置２と、境界節点抽出処理に必要な大量の情報を記憶する外部記憶装置６と、ディスプレイ装置等の表示装置７と、印刷装置等の出力装置８と、を備える。また、データ処置装置２は、情報処理を実行する中央処置装置３と、中央処置装置３における処理途中のデータや、境界節点抽出処理に必要な処理プログラムを一時的に記憶する主記憶装置４と、内蔵HDD等に格納する情報を恒久的に記憶する補助記憶装置５と、を備える。
【００２０】
図２は、本発明の実施形態に係る境界節点抽出システムの中央処理装置３における機能ブロック構成を示す機能ブロック図である。
本発明の実施形態に係る境界節点抽出システムは、中央処理装置３が備える機能ブロックとして、図２に示すように、入力装置１を介して、若しくは補助記憶装置５や外部記憶装置８から解析モデルデータを取り込む入力手段１１と、取り込まれた解析モデルデータより境界節点を抽出する際に考慮する節点の存在領域を設定する領域半径設定手段１２と、境界節点を判別するための２つの閾値を設定する閾値設定手段１３と、前記節点を中心とし、前記設定された一方の閾値を半径とする円内に存在する節点を抽出する領域内節点抽出手段１４（領域内節点抽出手段）と、抽出された節点群でベクトル計算を行うベクトル計算手段１５（位置ベクトル構成手段、合成ベクトル算出手段）と、前記ベクトル計算結果と、前記設定された他方の閾値とにより境界節点と判定する境界節点判定手段１６（境界節点抽出手段）と、１つの節点を共有する要素を検索する同一節点共有要素検索手段１７（共有要素カウント手段、境界節点確定手段）と、抽出された節点情報を表示装置７や出力装置８に出力する出力手段１８と、を備える。
【００２１】
図２に示す機能ブロックは、実行形式のコンピュータプログラムとして構成されるものであり、この実行形式のコンピュータプログラムは、図１に示す外部記憶装置６または補助記憶装置５に記憶されている。境界節点の抽出を実行する際は、入力装置１より前記コンピュータプログラムを起動し、主記憶装置４に、このコンピュータプログラムを呼び込む。このコンピュータプログラムの操作は入力装置１を介して行うが、境界節点の抽出処理は中央処理装置３によって実行され、実行結果が表示装置７に出力される。また、この実行結果は、外部記憶装置６や、補助記憶装置５にも記憶させることができる。
【００２２】
以下、本発明の実施形態に係る境界節点抽出システムの機能を説明する。
図３は、本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示すフローチャート図である。
以下、図２、図１６を参照しながら、図３に示すフローチャート図を使用して、本発明の実施形態に係る境界節点抽出方法の最良の処理手順を説明する。
（ステップＳ１）
まず、ステップＳ１では、入力手段１１が、解析モデルデータを境界節点抽出システムにインポートし、インポートした解析モデルデータより、節点番号と、節点座標値データとを抽出し、節点テーブルを作成する。
【００２３】
（ステップＳ２）
次に、ステップＳ２では、入力手段１１が、インポートした解析モデルデータより、要素番号と、該要素番号の要素を構成している節点番号とを抽出し、要素テーブルを作成する。なお、インポートされる解析モデルデータは、解析計算を実行する解析ソルバ（図２示す機能ブロックから入力手段１１を除いた各手段）が解釈できる独自のフォーマットに従って作成されている。この後、領域半径設定手段１２（図２）が、インポートされた解析モデルの各節点に対して位置ベクトルを考慮する領域半径を設定し、閾値設定手段１３（図２）が、各位置ベクトルの合成ベクトルの大きさの閾値（第１の閾値）と共有要素数の閾値（第２の閾値）を設定するものとする。なお、前記領域半径及び前記閾値は、まず、前記解析モデルのデータに基づく基本要素サイズとして要素サイズの平均を求め、これにより、当該基本要素サイズの整数倍として設定することができる。
【００２４】
（ステップＳ３）
次に、ステップＳ３では、領域内節点抽出手段１４が、インポートされた節点データの中から、１つの節点を選択する。この節点は、節点番号の最も小さいもの（＝１）から順次に接点数（＝Ｍ）まで選択するものとする。この節点番号は、通常は自然数によりシーケンシャルに付与されている。従って、ステップＳ３のｉ回目の実行では節点番号がｉ番の節点ｉが選択される。
（ステップＳ４）
次に、ステップＳ４では、領域内節点抽出手段１４が、上記のとおり選択した節点ｉを中心とし、領域半径設定手段１２により予め設定された領域半径内に存在する節点を抽出し、領域内節点テーブルを作成する。
（ステップＳ５）
次に、ステップＳ５では、ベクトル計算手段１５が、節点ｉに対する領域内節点テーブルの各節点の位置ベクトルｐを算出する。節点ｉを中心とする位置ベクトルｐは、領域内節点テーブルの節点数分描くことができる。
【００２５】
（ステップＳ６）
次に、ステップＳ６では、ベクトル計算手段１５が、このベクトルｐの合成ベクトルＰを算出し、その合成ベクトルの大きさ｜Ｐ｜を算出する。
（ステップＳ７）
次に、ステップＳ７では、境界節点判定手段１６が、閾値設定手段１３により設定された閾値と、前記の合成ベクトルの大きさ｜Ｐ｜とを比較し、前記の合成ベクトルの大きさ｜Ｐ｜が閾値未満の場合（ＮＯの場合）はステップＳ１１に移る。さもなくて、前記の合成ベクトルの大きさ｜Ｐ｜が前記閾値以上の場合（ＹＥＳの場合）はステップＳ８に進む。
この場合、節点ｉは境界（解析モデルデータで示される形状の内部と外部との境界面となる位置）に存在する可能性が高いと考えられる。以下、この場合について、さらに詳細に説明する。
【００２６】
図７は、境界節点の候補を抽出するベクトル計算方法を説明するための理想的な解析モデルの１例を示すものである。
図６に示す直方体の要素で形成された理想的な直方体解析モデルで説明すると、図７は、直方体のある面に垂直な方向から見た平面図を示している。そして、図７に示すような、正方形の要素で形成された理想的な解析モデルで説明すると、境界に存在する節点は、片側に節点が無いため、以上のような方法で求めた合成ベクトルの大きさがモデル内部に向かって大きくなる傾向がある（即ち、合成ベクトルを示す矢印の長さが長くなる傾向がある）。一方、節点が内部に存在するに従って、その合成ベクトルの大きさは零に近くなると考えられる。従って、合成ベクトルの大きさを境界節点の判別に用いる際には、閾値を適切に設定することにより、境界節点を効率よく抽出することができる。
【００２７】
また、このような閾値を決定する方法として、図７に示す要素の大きさ（即ち節点間隔）を１ユニットとすると、領域半径を２ユニットとした場合、境界節点の合成ベクトルの大きさ｜Ｐ｜は、５ユニット〜５．６６ユニット（エッジ部分）となり、境界より１つ内部に存在する節点の合成ベクトルの大きさ｜Ｐ｜は、２ユニット〜２．８３ユニット（エッジ部分）となる。従って、閾値を３ユニット以上とした場合、領域節点のみを抽出することができることになるが、実際の解析モデルに適用するためには、領域節点の抽出漏れが無いようにするため、閾値を２ユニット以上とすることが望ましい。実用的には、全要素サイズの平均サイズのような基準となる要素サイズを設定し、その基本要素サイズに対して、２倍の領域半径を設定し、合成ベクトルの大きさ｜Ｐ｜の閾値は、２倍以上と設定することが望ましい。
【００２８】
（ステップＳ８）
ステップＳ８では、同一節点共有要素検索手段１７が、節点ｉの合成ベクトルの大きさ｜Ｐ｜が閾値以上であるので、節点ｉを共有する要素数（以下、「共有要素数」と称する）をカウントする。
（ステップＳ９）
次に、ステップＳ９では、同一節点共有要素検索手段１７が、前記のカウント数と予め設定した共有要素数閾値とを比較し、前記のカウント数が、予め設定した共有要素数閾値以下の場合（ＹＥＳの場合）はステップＳ１０に進み、さもなくて、前記のカウント数が、予め設定した共有要素数閾値を超えた場合（ＮＯの場合）はステップＳ１１に移る。但し、共有要素数のカウントに際しては、ステップＳ２で作成された要素テーブルを参照するものとし、共有要素数のカウントは、節点ｉを構成節点とする要素を前記要素テーブル上で探査して行うものとする。
【００２９】
（ステップＳ１０）
ステップＳ１０では、同一節点共有要素検索手段１７が、節点ｉを抽出リストに追加して更新し、ステップＳ１１に進む。
（ステップＳ１１）
ステップＳ１１では、同一節点共有要素検索手段１７が、ステップＳ３以下の一連の処理の処理対象が、次の節点、即ち、節点番号が（ｉ＋１）番である節点（ｉ＋１）となるように処理を移行させるが、この処理は、インポートされた解析モデルの最終節点（即ち、節点数：Ｍの接点）まで繰り返して行い、その後、最終的に作成された抽出リストを出力手段１８により出力するものとする。
【００３０】
共有要素数の閾値は、作成された解析モデルの要素品質に依存する。
図１０は、節点共有要素を説明する説明図である。
例えば、２次元要素で考えると、要素の内角度が120°未満で作成されている場合、図１０に示すcount=3のように、１つの節点を３つの要素が共有する状態では、節点が内部に存在する可能性はない。従って、共有要素閾値は３と設定する。即ち、一般には360°を、作成要素の許容最大内角で除した商を求め、この商以上の最小の自然数から１を差し引いた値を共有要素数閾値として設定することができる。２次元要素を伸張して３次元化するので、この場合の共有要素閾値は６と設定する。
【００３１】
以上で説明した本発明の実施形態に係る境界節点抽出システムの機能を、図６に示す立方体の解析モデルで説明すると、従来技術では、境界に存在する面は、他の要素の面と共有関係に無いことに注目して境界節点を抽出していた。従って、要素を選択して、その要素の構成面を抽出して、その面の構成節点を共有する他の要素が有るか否か、即ち、同じ面を共有している他の節点が有るか否かのチェックを全要素の組み合わせで実施する必要があり、処理が入れ子構造となり繰り返し処理数が多くなる問題点があった。
【００３２】
これに比べ、本発明の実施形態に係る境界節点抽出システムの場合は、まずは前処理として、要素を使用しないで節点の相対的な位置関係のみで境界に存在する節点（即ち、境界節点の候補）を抽出しておいてから、その節点を共有する要素数をカウントして境界節点を確定し、抽出する。この節点を共有する共有要素数をカウントする際には、要素を参照するので、繰り返し処理が発生するが、その処理数は、前記の前処理で抽出された節点のみに対して行うため、大幅に削減できる。
【００３３】
より具体的には、従来技術の場合、背景技術の項目で述べたように、図１６のフローに従うものとすると、最低でも1798200回の繰り返し処理が発生していたが、本発明の実施形態に係る境界節点抽出システムの場合は、図３のフローチャート図に示すように、基本的に全節点に対しての１回だけの繰り返し処理で完結する。しかし、上述したように節点を共有する要素数のカウント処理（ステップＳ８）で繰り返しが発生し、１つの節点に対し、６面体８節点要素の場合、8×1000=8000回の繰り返し処理をすることになる。しかしながら、この繰り返し処理の対象となる節点も、ステップＳ７において、閾値により判別された節点であり、全節点に対して実施する必要がない。仮に全節点に対して実施したと仮定した場合は、1331×8000=10648000回もの処理回数が必要となるのであるから、閾値で判別することにより、大幅に繰り返し処理回数が削減できることになる。
【００３４】
図４は、本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示す他のフローチャート図である。
同図に示すステップＳ２１〜Ｓ２７の処理は、図３に示すステップＳ１〜Ｓ７の処理に対応している。ステップＳ２１〜Ｓ２８までは、前処理、即ち、節点の相対的な位置関係のみで境界に存在する節点（即ち、境界節点の候補）を抽出して抽出リストを作成する処理である。また、ステップＳ２９〜Ｓ３４は、抽出リストに抽出された境界節点の候補から、節点を共有する要素数をカウントすることにより境界節点を確定する処理である。このように、処理ステップを前処理と後処理とに分けたことにより、図３のフローチャート図の場合の入れ子構造を解消することができる。
【００３５】
図５は、本発明の実施形態に係る境界節点抽出システムの最良の処理手順を示す他のフローチャート図である。
同図に示すステップＳ４１〜Ｓ４２の処理は、図４に示すステップＳ２１〜Ｓ２２の処理に対応している。また、同図に示すステップＳ４３〜Ｓ４９の処理は、図４に示すステップＳ２３〜Ｓ２９の処理に対応している。さらに、同図に示すステップＳ５０〜Ｓ５４の処理は、図４に示すステップＳ３０〜Ｓ３４の処理に対応している。このように、処理ステップを前処理と後処理とに分けると共に、両方の処理を並列処理させることにより、図３のフローチャート図の場合よりも処理速度を向上させることができる。
【実施例】
【００３６】
次に本発明の実施形態に係る各実施例を、図面を参照して説明する。
図８は、本発明の実施形態に係る境界節点抽出システムにおける解析モデルの１例としての表示画面を示す第１の説明図である。
図１７は、本発明の実施形態に係る境界節点抽出システムにおける解析モデルの１例としての表示画面を示す第２の説明図である。
まず、入力装置１により、前述の本発明の実施形態に係る境界節点抽出システムを、外部記憶装置６（図１）または補助記憶装置５（図１）より呼び込み起動させる。これにより、表示装置７（図１）には、例えば、図８に示すような解析モデルデータが表示される。
表示されたコマンド部３１のボタンを入力装置１により選択するか、または設定部３４の数値表示部に直接数値を入力することにより、本境界節点抽出システムは前述の各機能を実行する。
通常、本境界節点抽出システムは、図８に示す表示画面において、グローバルな座標系３２を有しており、この座標系に基づいて、前述の各節点および各要素が解析モデルとして表示部３３に表示されている。
【００３７】
以下、図３に示すフローチャート図を使用して、第１の実施例について説明する。
まず、３次元解析対象構造体の解析モデルデータを境界節点抽出システムにインポートした。
図１７は、インポートされた解析モデルが表示装置７に表示された状態を示している。
図１７に示す解析モデルは、一般的な機械系の構造体に含まれる、円孔、C、R面取、自由曲面部、鋭角エッジ、及び鈍角エッジを有しており、自動要素作成アルゴリズムを用いて、基本要素サイズ０．２ｍｍで一括要素作成した図８の２次元解析対象構造体の解析モデルデータを、図８の紙面に垂直方向に伸張して３次元化して作成したものである。
【００３８】
呼び込まれた解析モデルに対して、領域半径設定手段１２（図２）では、領域半径を設定し、閾値設定手段１３では、位置ベクトルの合成ベクトルの大きさの閾値、及び共有要素数の閾値を設定するが、領域半径を決定する基準としては、解析モデルの要素の基準サイズの２倍の値を設定した。図１７に示す解析モデルは、図８に示す基本要素サイズが０．２ｍｍで作成された２次元解析モデルデータを、０．２ｍｍ伸張して作成されているので、基本要素サイズは、０．２ｍｍとなり、領域半径は０．４ｍｍを設定した。合成ベクトルの大きさの閾値を決定する基準値としては、領域半径と同様に、解析モデルの要素の基準サイズの２倍の０．４ｍｍを設定した。共有要素数の閾値は、作成される要素の品質に依存する。図８に示す２次元解析モデルは、内角度140°まで許容したため、伸張して３次元化された図１７の解析モデルでは、前述の閾値設定法に従って、閾値を５以下に設定した。
【００３９】
インポートされた解析モデルの要素数、節点数および要素タイプの情報は自動的に設定部３４に表示される。前述の領域半径および閾値は、設定部３４に直接入力して設定した。
設定部３４の実行ボタンを押下すると、図３に示すフローチャート図の処理手順に従って処理が実行される。
境界節点抽出対象となる解析モデルより、節点の番号および座標系に対する各節点の座標値を節点テーブルとして保存し（ステップＳ１）、また、要素の番号およびその要素を構成する節点番号を要素テーブルとして保存する（ステップＳ２）。このテーブルの保存形態は、配列としてメモリ内に格納する。一方、メモリ内に保持しなくても、インポートされる解析モデルデータに直接アクセスして必要な節点情報および要素情報を入手することも可能である。即ち、解析モデルデータは、解析計算を実行する解析ソルバが解釈できる独自のフォーマットに従って作成されており、以上に示す節点情報および要素情報が記載されている。
【００４０】
次に、ひとつの節点を選択する（ステップＳ３）。この節点の選択には何も制約が無いので、節点番号の小さいものから順次選択し、以下のステップＳ１１まで全節点について繰り返し処理する。
節点番号が１である節点１を選択して、図１８に示すように、領域半径設定手段１２（図２）で設定した領域半径内に存在する節点を抽出し（ステップＳ４）、節点１を始点として、領域内の節点を終点とした位置ベクトルpを算出する（ステップＳ５）。図１９に示すように、節点１の場合、領域内の節点は１１節点存在するので、１１個のベクトルが作成できる。この１１個のベクトルの合成ベクトルPを作成し、その合成ベクトルPの大きさ｜Ｐ｜を計算する（ステップＳ６）。
【００４１】
節点１の場合、ベクトルPの大きさ｜Ｐ｜は、2.3044となり、ステップＳ７では閾値0.4より大きいと判断される。図１１に示すように合成ベクトルの大きさが閾値を超えて大きい場合その節点は境界に存在する可能性が大きいと判断する。
次に、節点１を共有する要素をカウントする。ステップＳ２で作成された要素テーブルより、節点１を構成節点とする要素を探索し、その要素数をカウントする。要素番号１番の要素１の構成節点リストを要素テーブルより呼び出して節点１を構成節点としているか否かをチェックする。この操作を要素１から要素27750までの全要素について行い、節点１を構成節点としている要素数をカウントする（ステップＳ８）。この一連の処理の途中、ステップＳ９では、このカウント数が共通要素閾値以下か否かを検証し、このカウント数が共通要素閾値以下の場合はステップＳ１０にて、この節点を境界節点とみなして抽出リストに追加する。
【００４２】
次に、節点番号２の節点２について同様の処理を実施し、同様にして、節点31424に至るまでの全節点について境界節点の抽出を実施する。
この一連の処理の途中で、合成ベクトルPの大きさが閾値より小さいものが存在した場合、その時点でその節点に対しての処理は完了し、次の節点に処理を移行する。また、同様に、節点を共有する要素数のカウント値が閾値より大きい場合、その節点は境界節点とみなさないで処理を完了し、抽出リストには追加しないようにしている。全節点の処理を完了し，境界節点を表示させた状態を図２０に示す。
【００４３】
以下、同様に、図３に示すフローチャート図、および図８に示す２次元解析モデルを使用して、第２の実施例について説明する。
まず、第1の実施例と同様に、解析対象構造体の解析モデルデータを境界節点抽出システムにインポートした。図８は、インポートされた解析モデルが表示装置７に表示された状態を示している。
上述したように、図８の２次元解析モデルは、一般的な機械系の構造体に含まれる、円孔、C、R面取、自由曲線部、鋭角エッジ、及び鈍角エッジを有しており、自動要素作成アルゴリズムを用いて、基本要素サイズ０．２ｍｍで一括要素作成した。
【００４４】
呼び込まれた解析モデルに対して、領域半径設定手段１２（図２）では、領域半径を設定し、閾値設定手段１３では、位置ベクトルの合成ベクトルの大きさの閾値、及び共有要素数の閾値を設定するが、領域半径を決定する基準としては、解析モデルの要素の基準サイズの２倍の値を設定した。図８に示す解析モデルでは、基本要素サイズが0.2ｍｍで作成されているので、領域半径は、0.4mmを設定した。合成ベクトルの大きさの閾値を決定する基準値としては、領域半径と同様に、解析モデルの要素の基準サイズの２倍の値を設定した。図６に示す解析モデルは、基本要素サイズが0.2ｍｍで作成されているので、合成ベクトルの大きさの閾値も、0.4mmを設定した。共有要素数の閾値は作成される要素の品質に依存する。図８に示す解析モデルは、内角度140°まで許容したため、前述の閾値設定法に従って、閾値を２以下に設定した。
【００４５】
インポートされた解析モデルの要素数、節点数および要素タイプの情報は自動的に設定部３４に表示される。前述の領域半径および閾値は、設定部３４に直接入力して設定した。
設定部３４の実行ボタンを押下すると、以下、図３に示すフローチャート図の処理手順に従って処理が実行された。
境界節点抽出対象となる解析モデルより、節点の番号および座標系に対する各節点の座標値を節点テーブルとして保存し（ステップＳ１）、また、要素の番号およびその要素を構成する節点番号を要素テーブルとして保存する（ステップＳ２）。このテーブルの保存形態は、配列としてメモリ内に格納する。一方、メモリ内に保持しなくても、インポートされる解析モデルデータに直接アクセスして必要な節点情報および要素情報を入手することも可能である。即ち、解析モデルデータは、解析計算を実行する解析ソルバが解釈できる独自のフォーマットに従って作成されており、以上に示す節点情報および要素情報が記載されている。
【００４６】
次に、１つの節点を選択する（ステップＳ３）。この節点の選択には何も制約が無いので、節点番号の小さいものから順次選択し、以下のステップＳ１１の処理まで全節点について繰り返し処理する。
図１２は、図８に示す解析モデルに対して境界節点抽出を完了した状態を示す説明図である。節点番号が１である節点１を選択して、図１１に示すように、領域半径設定手段１２（図２）で設定した領域半径内に存在する節点を抽出し（ステップＳ４）、節点１を始点として、領域内の節点を終点とした位置ベクトルｐを算出する（ステップＳ５）。節点１の場合、領域内の節点は７節点存在するので、７つの位置ベクトルが作成できる。この７つの位置ベクトルの合成ベクトルＰを作成し、その合成ベクトルＰの大きさ｜Ｐ｜を計算する（ステップＳ６）。
【００４７】
図１１は、境界節点の候補を抽出する際の領域内の節点を終点とする位置ベクトルｐの合成ベクトルＰと、閾値との関係を示す説明図である。
図１１に示すように、ベクトルＰが描け、ベクトルＰの大きさ｜Ｐ｜は、1.39073となり、ステップＳ７では閾値(=0.4)より大きいと判断される。図１１に示すように合成ベクトルＰの大きさが閾値を超えて大きい場合、その節点は境界に存在する可能性が大きいと判断する。
次に、節点１を共有する要素をカウントする。ステップＳ２で作成された要素テーブルより、節点１を構成節点とする要素を検索し、その要素数をカウントする。要素番号１番の要素１の構成節点リストを要素テーブルより呼び出して節点１を構成節点としているか否かをチェックする。この操作を要素１から要素１８５０までの全要素について行い、節点１を構成節点としている要素数をカウントする（ステップＳ８）。この一連の処理の途中、ステップＳ９では、このカウント数が共有要素閾値以下か否かを検証し、このカウント数が共有要素閾値以下の場合はステップＳ１０にて、この節点を境界節点とみなして抽出リストに追加する。
【００４８】
次に、節点番号２の節点２についても前記と同様の処理を実施し、同様にして、節点１９６４に至るまでの全節点について境界節点の抽出を実施する。
この一連の処理の途中で、合成ベクトルＰの大きさが閾値より小さいものが存在した場合、その時点でその節点に対しての処理を完了し、次の節点に対する処理に移行する。また、同様に、節点を共有する要素数のカウント値が閾値より大きい場合、その節点は境界節点とは見なさないで処理を完了し、抽出リストには追加しないようにしている。
【００４９】
全節点の処理を完了し、境界節点を表示させた状態を図１２に示す。
節点を共有する要素のカウント数の閾値は、本実施例では２を採用したが、閾値の値は、作成された解析モデルの品質に依存する。例えば、要素の内角度が120°未満で作成されている場合、図１０に示すCOUNT=3のケースが内部節点である可能性は無い。本実施例の解析モデルは、自動要素分割手段を採用し、内角度140°まで許容したため閾値を２以下にすることにより境界節点を抽出できた。なお、図９は、各節点に対応して抽出された領域内節点の１例をリストした説明図である。即ち、節点ｉ（ｉ=1〜1964 ）を中心とし、領域半径設定手段１２により予め設定された領域半径内に存在する全ての節点を抽出し、その個数と、各々の接点番号とをリストアップしたものである。
【００５０】
以下、図４に示すフローチャート図を使用して、第３の実施例について説明する。
前述の第２の実施例では、節点を共有する要素を全要素から検索しカウントする繰り返し処理（ステップＳ８）が、フロー初期の節点選択処理（ステップＳ３）から次の節点選択処理（ステップＳ１１）に至るまでのループ内に入り込んだ入れ子構造となっている。しかし、節点を選択し、領域内の節点で位置ベクトルｐを算出して、合成ベクトルＰの大きさより境界節点を判別してリストアップする一連の処理（ステップＳ２３〜Ｓ２９）と、節点を共有する要素を検索してカウントする一連の処理（ステップＳ３０〜Ｓ３４）は、互いに独立した処理としてシーケンシャルに連結することができる。
よって、第３の実施例では、以上の２つの処理の入れ子構造を解消して、シーケンシャルに展開処理した。
【００５１】
以下、図５に示すフローチャート図を使用して、第４の実施例について説明する。
上述した第３の実施例では、節点を選択し、領域内の節点でベクトルを算出して、合成ベクトルの大きさより境界節点を判別する処理（ステップＳ２３〜Ｓ２９）と、節点を共有する要素を検索してカウントする処理（ステップＳ３０〜Ｓ３４を、シーケンシャルに連結したが、第４の実施例では、これらの処理を並列に配置して、各々独立に処理させた。
【００５２】
この実施例では、並列に実行する前記２つの独立した処理によって節点抽出リストを作成し、最後に両者の積を取って絞り込む（ステップＳ５５）ことで、最終的な節手抽出リストを作成している。この実施例では、並列処理を行うために、全処理の内容を後処理に反映させることができないため、２つの処理は、いずれも全節点に対して行う必要があるが、それでも、２つの処理を完全に並列に処理することができるため、計算時間の短縮が期待できた。
【００５３】
次に、第５の実施例について、図１２および図１３を参照して説明する。
第５の実施例では、複数部品をアセンブリした場合について説明する。
図１２は、前述の各実施例で参照した図８に示す解析モデルに対して境界節点の抽出を完了した状態を示しているが、以下の説明では、この図１２に示す解析モデルをPart Aとし、新たに設定した図１３に示す解析モデルをPart Bとする。
Part A, B をアセンブリする前処理として、前述のいずれかの実施例の処理手順により、各Partで、境界節点をそれぞれ抽出させた。この処理は部品単独で、それぞれ実行することが可能であり、必ずしもアセンブリ時と同期させる必要は無く、モデル作成完了後でありさえすれば、何時でも行うことができる。
【００５４】
図１４は、複数の解析モデルがアセンブリされた状態を示す説明図である。
同図は、Part AとPart Bをアセンブリし、抽出された境界節点を明示した状態を示している。Part A−Part B間の接触を考慮するか否かを判断する場合、両Partの最短距離の値が、接触判定する閾値以下の場合は接触を考慮する必要有りと判断する。
それぞれのPartより、境界として抽出された節点を１つずつ選択し、節点間の距離を計算して接触判定閾値と比較し、節点間の距離が閾値以下の場合は、当該節点間距離と当該節点のペアとを記憶させた。
【００５５】
この実施例では、Part Aで境界節点として抽出された節点は78個であり、Part Bでは229 個であった。次に、Part Aで境界節点として抽出された節点を１つ選択し、Part Bで境界節点として抽出された全節点との距離を算出した。その距離が接触判定閾値以下の場合、両節点の節点番号と節点間距離を記憶した。本実施例において、接触判定閾値を0.3mmとして実施した結果を図１５に示す。
【００５６】
図１５は、複数の解析モデルの節点間距離を解析した結果を示した説明図である。同図は、接触判定閾値以下の距離にある２つの節点の番号と、節点間距離とを示している。これらの情報を基に、別途、接触要素を作成したり、節点を構成要素とする要素に接触考慮の属性を追加して接触を考慮することができる。
なお、この実施例では、距離探査に必要な距離計算を78×229=17862回実施した。従来技術の場合、全節点に対し距離探査を実施するので、307×1964=602948回実施することになるが、これと比較して大幅に計算時間が短縮できることが分かった。なお、前記算式において、数値の1964は、Part Aの全節点数、数値の307は、Part Bの全節点数である。
【００５７】
なお、本発明に係る境界節点抽出システムの各構成要素の処理の少なくとも一部をコンピュータ制御により実行するものとし、かつ、上記処理を、図３，４，５の各フローチャートで示した手順によりコンピュータに実行せしめるプログラムは、半導体メモリを始め、ＣＤ−ＲＯＭや磁気テープなどのコンピュータ読み取り可能な記録媒体に格納して配付してもよい。そして、少なくともマイクロコンピュータ，パーソナルコンピュータ，汎用コンピュータを範疇に含むコンピュータが、上記の記録媒体から上記プログラムを読み出して、実行するものとしてもよい。
【産業上の利用可能性】
【００５８】
本発明によれば、電子機器、自動車および建築物等の、あらゆる構造物の設計の検証に有限要素法を用いて行う際に、この有限要素法の解析モデルから、境界に存在する節点を効率的に作成することが可能であるので、解析対象が複数部品から構成されている場合の、接触判定、接触要素作成、及び境界条件付与等の仕事に好適に適用することができる。
【符号の説明】
【００５９】
１  入力装置
２  データ処理装置
３  中央処理装置
４  主記憶装置
５  補助記憶装置
６  外部記憶装置
７  表示装置
８  出力装置
１１  入力手段
１２  領域半径設定手段
１３  閾値設定手段
１４  領域内節点抽出手段
１５  ベクトル計算手段
１６  境界節点判定手段
１７  同一節点共有要素検索手段
１８  出力手段
【図１】
2010152863.tif 000003
【図２】
2010152863.tif 000004
【図３】
2010152863.tif 000005
【図４】
2010152863.tif 000006
【図５】
2010152863.tif 000007
【図６】
2010152863.tif 000008
【図７】
2010152863.tif 000009
【図８】
2010152863.tif 000010
【図９】
2010152863.tif 000011
【図１０】
2010152863.tif 000012
【図１１】
2010152863.tif 000013
【図１２】
2010152863.tif 000014
【図１３】
2010152863.tif 000015
【図１４】
2010152863.tif 000016
【図１５】
2010152863.tif 000017
【図１６】
2010152863.tif 000018
【図１７】
2010152863.tif 000019
【図１８】
2010152863.tif 000020
【図１９】
2010152863.tif 000021
【図２０】
2010152863.tif 000022