JP3912854B2 - 有限要素モデル処理方法及び装置 - Google Patents
有限要素モデル処理方法及び装置 Download PDFInfo
- Publication number
- JP3912854B2 JP3912854B2 JP18183697A JP18183697A JP3912854B2 JP 3912854 B2 JP3912854 B2 JP 3912854B2 JP 18183697 A JP18183697 A JP 18183697A JP 18183697 A JP18183697 A JP 18183697A JP 3912854 B2 JP3912854 B2 JP 3912854B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- search
- adjacent
- search target
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、有限要素分割モデルを処理する有限要素モデル処理方法及び装置に関する。
【0002】
【従来の技術】
近年、偏微分方程式によって表わされる工学的問題を解析するために、有限要素解析が設計支援ツールとして広く使用されている。この有限要素解析では、物体及び空気を有限な要素に分割した有限要素分割モデルを使用し、結果として各要素位置における場(磁束密度、電界強度、電位、応力、変異、温度等)を得る。
【0003】
有限要素解析では、これら各要素位置における結果を用いて任意の点(以下、Pと記述する)での場を求める等のため、点Pを内含する要素を検索する必要が多々発生する。点Pを検索する最も単純な方法は、個々の要素について順に内含しているか否かをチェックしていく方法である。しかし、このような方法では、要素数が多い場合、検索すべき点Pの数が多い場合に、長大な検索時間を必要とする。
【0004】
そこで、検索時間を短縮する方法が、“Lawson,C.L.Software for C interporation,in Rice,J.(ed.)MathematicalSoftware III,Academic Press,New York,pp.161-194(1977)”に述べられている。また、“J.W.Sloan,A fast algorithm for constructingDelaunay triangulationsin the plane,Adv.Eng.Software,Vol9,No1(1987)”には、本方法(以下、Lawsonの方法と記述する)を有限要素分割処理プロセスに利用した例が示されている。
【0005】
Lawsonの方法では、任意の条件に基づいて定めた検索を開始する要素Es(例えば、要素番号1の要素)から点Pの方向に互いに隣接し合った要素(ここでは検索途上で辿る要素を検索対象要素と記述する)を辿っていくことにより点Pに行き着く。そして、その辿るべき方向の隣接要素を決めるものとして、2次元モデルの場合、検索対象要素の各辺に対する点Pとその要素の重心との位置関係を使用する。
【0006】
次に、Lawsonの方法を用いた従来の有限要素検索装置を図7〜図13を用いて詳しく説明する。
【0007】
図7は、Lawsonの方法を用いた従来の有限要素検索装置であるコンピュータの構成を示すブロック図である。同図において、701は全体の動作を制御する中央処理装置(CPU)で、該中央処理装置701には、表示装置702、入力装置703、メモリ704及び外部記憶装置705がバス706を介して接続されている。表示装置701は解析結果等を表示するものである。入力装置703は解析者が入力を行うものである。メモリ704は、検索プログラムが格納され且つ制御動作時の各種情報が格納され且つ読み出される。外部記憶装置705は、システムに収まらないデータを保存すると共に、システムが終了した後もデータを保存する。
【0008】
次に、図8に示す3角形要素から構成される分割モデルを例に、従来の検索処理を行うプログラムの構成及び処理の流れを図9〜図11を用いて説明する。
【0009】
図8は、3角形要素から構成される分割モデルの一例を示す図、図9は検索処理プログラムの構成を示す図である。
【0010】
図9において、901は処理の全体の流れを制御する制御部で、該制御部901に対して、隣接要素テーブル作成部902、辺に対する要素重心と点Pの位置関係判定部903及び隣接要素設定部904がコールできるようになっている。
【0011】
ここで、隣接要素テーブル作成部902は、各要素に対して隣接している要素が全て分かるようにした一覧表(隣接要素テーブル)を作成する。
【0012】
図10に隣接要素テーブル作成部902により作成された隣接要素テーブルの一例を示す。同図に示す隣接要素テーブルから、要素番号1の要素には要素2,6,7が隣接していることが分かる。この隣接要素テーブルの作成方法については、従来周知の技術であるから、その説明は省略する。
【0013】
図9における辺に対する要素重心と点Pの位置関係判定部903は、要素Eを構成する1つの辺Jが与えられたとき、辺J(の両端を延ばした直線)に対して要素Eの重心と点Pが同じ側にあるか、反対側にあるかを判定する。この判定は、単純な幾何学計算で容易に実現できる。隣接要素設定部904は、要素検索段階で要素Eを構成する1つの辺Jが与えられたとき、要素Eに辺Jを介して隣接する要素を、図10に示すような隣接要素テーブルを用いて求め、新たな検索対象要素としてメモリ704上に設定するものである。
【0014】
図11は図9に示す制御部901が行う処理の流れを示すフローチャートである。図11に示す処理中、ステップS1101は図9の隣接要素テーブル作成部902が、ステップS1105は図9の辺に対する要素重心と点Pの位置関係判定部903が、ステップS1109及びステップS1111は図9の隣接要素設定部904がそれぞれ担当する。
【0015】
以下、図11に基づいて検索過程を順を追って説明する。
【0016】
まず、ステップS1101で図9の隣接要素テーブル作成部902により、図10に示すような隣接要素テーブルを作成する。次にステップS1102で検索開始要素Esを検索対象要素Eとする。この検索開始要素Esは分割モデルに応じて適当に設定する。一般には、番号1の要素とする。次にステップS1103で変数jに1を設定する。次にステップS1104で検索対象要素Eの辺jを内含判定辺Jに設定する。なお、ここでは要素Eを構成する辺に1から始まる番号をふっている。
【0017】
次にステップS1105で図9の辺に対する要素重心と点Pの位置関係判定部903により、要素Eと点Pの位置関係、即ち、検索対象要素Eの辺jに対して点Pは、要素Eの重心と反対側にあるか否かを判定する。そして、内含判定辺Jに対して点Pと要素Eの重心が同じ側にある場合、次のステップS1106で全ての辺に対する要素重心と点Pの位置関係の判定が完了したか否かを判別する。そして、全ての辺に対する要素重心と点Pの位置関係の判定が完了した場合、即ち、要素Eの全ての辺に対して要素Eの重心と点Pとが同じ側にある場合は、ステップS1107で要素Eが点Pを内含すると判定した後、本検索処理動作を終了する。
【0018】
一方、前記ステップS1106において全ての辺に対する要素重心と点Pの位置関係の判定が完了していない場合は、ステップS1108で変数jにj+1を設定した後、前記ステップS1104へ戻って、再び検索対象要素Eの辺jを内含判定辺Jに設定する。
【0019】
また、前記ステップS1105において内含判定辺Jに対して点Pと要素Eの重心が反対側にある場合は、ステップS1109で図9の隣接要素設定部904により、辺jを介して要素Eと隣接する要素E’が有るか否かを判別する。そして、辺jを介して要素Eと隣接する要素E’が無い場合は、ステップS1110で点Pは分割モデル領域外であると判定した後、本検索処理動作を終了する。また、前記ステップS1109において辺jを介して要素Eと隣接する要素E’が有る場合は、ステップS1111で図9の隣接要素設定部904により、辺jを介して要素Eと隣接する要素E’を新たな検索対象要素Eに設定した後、前記ステップS1103へ戻って、再び、変数jに1を設定する。
【0020】
以上の処理によって、点Pを内含する要素が検索、抽出される。
【0021】
図8に本検索処理過程における検索対象要素の変遷の一例を矢印で示す。本検索方法によれば、検索は、1つの3角形から次の3角形へ、点Pのあるおおよその方向にほぼ直線的に進む。
【0022】
なお、ここでは2次元の3角形からなるモデルを例にして説明したが、本検索方法は、2次元4角形要素に対しても同様に適応することができる。更に、3次元のモデルに対しても、図11の処理フロー中の辺による内含判定、隣接要素の設定等を要素Eを構成する面に置き換えることで、対応可能なことは容易に分かる。
【0023】
【発明が解決しようとする課題】
しかしながら、上述した従来のLawsonの方法によれば、モデルが凹凸形状をしている(モデル外形に凹みがある)、またはモデル中に穴がある場合及び高次の要素からなるモデルの場合について、正常に検索できない場合があった。このことを図12及び図13を用いて説明する。
【0024】
図12はモデルが凹形状をしている例を示す図である。同図において、要素Esから開始して、点Pを検索しようとした場合、検索は図中矢印で示した履歴を辿り、最終的に点Pは分割モデル領域外であると判定されてしまう。このことは、モデル中に穴があり、検索開始要素Esと点Pが、その穴を隔てて対岸にある場合にも発生する。
【0025】
図13は2次の要素からなる分割モデルの一例を示す図である。同図において、白丸は各要素の頂点となる節点、バツ印は辺の中間点である節点(中間節点)を表わす。
【0026】
このような高次要素からなるモデルの場合、上述した方法を適用するにあたって、図中、バツ印で表示した中間節点を便宜上無視する。即ち、図中、要素E1は、点線で示した形状と見なす(以下、高次要素の場合、この点線を辺「仮の辺」と記述する)。この様にすることにより、上述した方法が適用できるが、次のような問題が発生する。即ち、図の点Pを内含する要素を検索するための検索対象要素EとしてE1が設定された場合、要素E1は点Pを内含していないにも拘らず、内含していると判定されてしまう。
【0027】
本発明は上述した従来の技術の有するこのような問題点に鑑みてなされたものであり、その目的とするところは、どのような分割モデルに対しても、高速且つ正確に任意の点を内含する要素を検索可能な有限要素モデル処理方法及び装置を提供しようとするものである。
【0028】
【課題を解決するための手段】
上記目的を達成するために請求項1記載の有限要素モデル処理方法は、メモリとCPUとを備え、該CPUが前記メモリに記憶されたプログラムを実行することで、判定手段と設定手段とを実現する有限要素モデル処理装置において、前記判定手段が、有限要素分割モデルに検索点が与えられたとき、特定の要素を最初の検索対象要素としてスタートし、現在の検索対象要素が前記検索点を内含するかを判定する判定工程と、前記判定工程において内含しないと判定された場合に、前記設定手段が、現在の検索対象要素の境界に関して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素を探索し、その隣接する要素を次の検索対象要素として設定する設定工程とを備え、前記判定工程と前記設定工程とを繰り返し実行していくことにより、前記検索点を内含する要素を検索する有限要素モデル処理方法において、前記設定工程において、前記設定手段が、現在の検索対象要素に対して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素が無い場合、前記要素の重心と前記検索点との位置に関係なく現在の検索対象要素に隣接する要素を次の検索対象要素として設定することを特徴とする。
【0029】
また、上記目的を達成するために請求項2記載の有限要素モデル処理方法は、請求項1記載の有限要素モデル処理方法において、前記設定工程における前記隣接する要素の探索では、前記設定手段が、現在の検索対象要素の各境界に対して、その要素の重心と前記検索点とが反対側となるかを判定し、反対側となると判定された場合に、その境界で隣接する要素が存在するかを判定することを特徴とする。
【0030】
また、上記目的を達成するために請求項3記載の有限要素モデル処理方法は、請求項1または2記載の有限要素モデル処理方法において、前記設定工程において、前記設定手段が、次の検索対象要素を、検索対象要素として未設定の要素の中から設定することを特徴とする。
【0031】
また、上記目的を達成するために請求項4記載の有限要素モデル処理方法は、請求項3記載の有限要素モデル処理方法において、前記設定工程において、前記設定手段が、現在の検索対象要素に隣接する要素の全てが既設定であった場合、現在の検索対象要素に隣接する要素以外で未設定の要素を次の検索対象要素として設定することを特徴とする。
【0033】
また、上記目的を達成するために請求項5記載の有限要素モデル処理方法は、請求項1乃至4のいずれか1項に記載の有限要素モデル処理方法において、前記設定工程において、前記設定手段が、現在の検索対象要素が前記検索点を内含するかを判定する際に、要素の形状関数を用いた写像を使用することを特徴とする。
【0034】
また、上記目的を達成するために請求項6記載の有限要素モデル処理方法は、請求項2記載の有限要素モデル処理方法において、前記設定工程において、前記設定手段が、前記要素の重心と前記検索点とが反対側となる境界で隣接する要素が無いことの発生回数をカウントし、そのカウント値が解析者の指定した値を超える場合、前記検索点は有限要素分割モデルの外の点であると判定することを特徴とする。
【0035】
また、上記目的を達成するために請求項7記載の有限要素モデル処理装置は、有限要素分割モデルに検索点が与えられたとき、特定の要素を最初の検索対象要素としてスタートし、現在の検索対象要素が前記検索点を内含するかを判定する判定手段と、該判定手段により内含しないと判定された場合に現在の検索対象要素の境界に関して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素を探索し、その隣接する要素を次の検索対象要素として設定する設定手段とを備え、前記判定手段による判定と前記設定手段による設定とを繰り返し実行していくことにより、前記検索点を内含する要素を検索する有限要素モデル処理装置において、前記設定手段が、現在の検索対象要素に対して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素が無い場合、前記要素の重心と前記検索点との位置に関係なく現在の検索対象要素に隣接する要素を次の検索対象要素として設定することを特徴とする。
【0042】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【0043】
(第1の実施の形態)
まず、本発明の第1の実施の形態を図1〜図6に基づき説明する。なお、本発明に係る有限要素検索装置であるコンピュータの構成は、上述した従来例の図7と同一であるから、同図を流用して説明する。
【0044】
本発明においては、メモリに格納するデータ及びプログラムは、以下に述べるように変更される。特に、データに関しては、各要素が既に検索対象要素として点Pを内含するか否かのチェックを行ったこと(既検出要素)を示す内含判定済みフラグ配列(Flg)が付け加わる。
【0045】
図1は、内含判定済みフラグ配列(Flg)の一例を示す図であり、各要素番号に対して内含関係の判定を済ませたことを示すフラグデータ(未の場合は0、済み「既検索要素」の場合は1)領域が用意されている。
【0046】
図2は、本実施の形態に係る有限要素検索処理プログラムの構成を示す図であり、同図中、201は処理の全体の流れを制御する制御部で、該制御部901に対して、隣接要素テーブル作成部202、辺に対する要素重心と点Pの位置関係判定部203、第1の隣接要素設定部204、第2の隣接要素設定部205、新規検索対象要素設定部206及び点Pの内含判定部207がコールできるようになっている。
【0047】
ここで、隣接要素テーブル作成部202及び辺に対する要素重心と点Pの位置関係判定部203は、従来例として説明した図9における隣接要素テーブル作成部902及び辺に対する要素重心と点Pの位置関係判定部903と同一である。
【0048】
第1の隣接要素設定部204は、要素Eが与えられたとき、要素Eに隣接する要素のうち内含判定を済ませていないもの(Flg=0の要素)の1つを返すものである。本機能は、隣接要素テーブルと内含判定済みフラグ配列(Flg)を用いることで容易に実現できる。
【0049】
第2の隣接要素設定部205は、基本的には従来の隣接要素設定部(図9の隣接要素設定部904)と同一であり、要素Eを構成する1つの辺が与えられたとき、要素Eに辺Jを介して隣接する要素を前記隣接要素テーブルを用いて求め、次の検索対象要素としてメモリ705(図7参照)上に設定する。但し、本実施の形態のものは、設定すべき隣接要素が既に点Pの内含判定を済ませている場合(Flg=1の場合)、その旨のデータを返して隣接要素の設定は行わないことが、従来のものと異なる。
【0050】
新規検索対象要素設定部206は、任意の条件に基づいて定めた内含判定を済ませていない要素の1つ(例えば、要素番号の最も小さいもの)を、次の検索対象要素としてメモリ705(図7参照)上に設定する。
【0051】
点Pの内含判定部207は、点Pが要素Eの内部/外部のいずれにあるかを判定する。本判定は、形状関数を用いて、要素Eを点Pと共に要素Eの局所座標系に写像するとにより位置関係を判定する。例えば、図3(a)に示す2次の3角形要素は、同図(c)に示す形状関数の式を用いることにより、同図(b)に示す局所座標系中の直角三角形に写像される。そこで、点Pも同様に本局所座標系に写像することにより、内含関係を容易に判定できる。本形状関数は、有限要素法で用いる全ての要素形状に対して定義でき、従って、全ての要素形状に対して同様の方法で内含判定を行うことができる。即ち、要素を構成する辺が曲線となる高次要素の場合にも、内含関係を正確に判定できる。
【0052】
図4は図2の制御部201が行う処理の流れを示すフローチャートである。図4に示す処理中、ステップS405は図2の点Pの内含判定部207が、ステップS410は図2の第1隣接要素設定部204が、ステップS411は図2の新規検索対象要素設定部206が、ステップS415〜ステップS417は図2の第2隣接要素設定部205がそれぞれ担当する。
【0053】
以下、図4に基づいて検索過程を順を追って説明する。
【0054】
まず、ステップS401で内含判定済みフラグ配列(Flg)の初期化を行う。本初期化では、全要素のフラグを未検索状態(Flg=0)に設定する。次にステップS402で図2の隣接要素テーブル作成部202により、隣接要素テーブルを作成する。次にステップS403で検索開始要素Esを検索対象要素Eとする。この検索開始要素Esは分割モデルに応じて適当に設定する。一般には、番号1の要素とする。次にステップS404で内含判定済みフラグ配列(Flg)の要素Eの部分を既検索状態(Flg=1)にする。
【0055】
次にステップS405で図2の点Pの内含判定部207により、要素Eが点Pを内含するか否かを判定する。そして、要素Eが点Pを内含する場合は、ステップS413で要素Eを点Pの内含要素として検索を終了する。また、前記ステップS405において要素Eが点Pを内含しない場合は、ステップS406で変数jに1を設定する。次にステップS407で検索対象要素Eの辺jを内含判定辺Jに設定する。なお、ここでは要素Eを構成する辺に1から始まる番号をふっている。
【0056】
次にステップS408で図2の辺に対する要素重心と点Pの位置関係判定部203により、要素Eと点Pの位置関係、即ち、検索対象要素Eの辺jに対して点Pは、要素Eの重心と反対側にあるか否かを判定する。そして、内含判定辺Jに対して点Pと要素Eの重心が同じ側にある場合、次のステップS409で全ての辺に対する要素重心と点Pの位置関係の判定が完了したか否かを判別する。そして、全ての辺に対する要素重心と点Pの位置関係の判定が完了した場合、即ち、要素Eの全ての辺に対して要素Eの重心と点Pとが同じ側にある場合は、ステップS410で図2の第1隣接要素設定部204により、要素Eに隣接する要素のうち、まだ、検索対象要素になっていないもの、即ちFlg=0のものが有るか否かを判定する。そして、Flg=0のものが有る場合は、前記ステップS404へ戻って、再び内含判定済みフラグ配列(Flg)の要素Eの部分を既検索状態(Flg=1)にする。
【0057】
一方、前記ステップS409において全ての辺に対する要素重心と点Pの位置関係の判定が完了していない場合は、ステップS414で変数jにj+1を設定した後、前記ステップS407へ戻って、再び検索対象要素Eの辺jを内含判定辺Jに設定する。
【0058】
また、前記ステップS408において内含判定辺Jに対して点Pと要素Eの重心が反対側にある場合は、ステップS415で図2の第2隣接要素設定部205により、辺jを介して要素Eと隣接する要素E’が有るか否かを判別する。そして、辺jを介して要素Eと隣接する要素E’が無い場合は、前記ステップS410へ進む。また、前記ステップS415において、辺jを介して要素Eと隣接する要素E’が有る場合は、ステップS416で図2の第2隣接要素設定部205により、Flg(E’)=0であるか否かを判定する。そして、Flg(E’)=0で有る場合は、ステップS417で図2の第2隣接要素設定部205により、辺jを介して要素Eと隣接する要素E’を新たな検索対象要素Eに設定した後、前記ステップS404へ戻って、再び、内含判定済みフラグ配列(Flg)の要素Eの部分を既検索状態(Flg=1)にする。また、前記ステップS416においてFlg(E’)=0でない場合は、前記ステップS409へ進んで全ての辺に対する要素重心と点Pの位置関係の判定が完了したか否かを判定する。
【0059】
また、前記ステップS410においてFlg=0のものが無い場合は、ステップS411で図2の新規検索対象要素設定部206により、未検索の要素(Flg=0)が有るか否かを判定する。そして、まだ、内含判定を行っていない要素が存在しない場合(Flg=0の要素無し)は、次のステップS412で点Pは分割モデル領域外であると判定した後、本検索処理動作を終了する。また、前記ステップS411において、まだ、内含判定を行っていない要素が存在する場合(Flg=0の要素有り)は、前記ステップS404へ戻って、再び、内含判定済みフラグ配列(Flg)の要素Eの部分を既検索状態(Flg=1)にする。
【0060】
以上の処理によって、点Pを内含する要素が検索、抽出される。
【0061】
なお、前記ステップS410及びステップS411において、2段構えで新規の検索対象要素を設定するようになっているが、その理由について説明する。
【0062】
まず、本発明によれば、基本的には検索対象要素は、ほぼ直線的に点Pの方向に近づく(図4のステップS415〜ステップS417を経るループ)。そして、その例外処理として、ステップS410に▲1▼から入るケースがあり、これは点Pに向かうべき方向が定まらない場合(図13のような場合)への対処である。また、ステップS410に▲2▼から入るケースというのは、直進して点Pには近づけない場合(回り込みを行う必要が有る場合)への対処である。
【0063】
このようなケースに陥った場合、まずは、現在の検索対象要素近傍の要素から新たに検索を開始するのが点Pに近づく近道である。これが図4のステップS410に該当する。
【0064】
ところが、これだけでは不十分である。その例を図5を用いて説明する。
【0065】
図5は4角形要素からなるモデルの一例を示す図である。同図において、検索開始要素Es及び検索点Pが図の位置にあるとき、検索対象要素は矢印のように変化し、図4のステップS410による新検索要素の設定だけでは、要素Eeで隣接要素にFlg=0のものが無くなり行き詰まってしまう。そこで、これを打開するために図4のステップS411の処理が生きてくる。即ち、この様な場合は、図2の新規検索対象要素設定部206によって全く異なる位置に有る要素が次の検索対象要素として設定され、検索処理が続行される。
【0066】
図6に従来の項で説明した凹形状をした分割モデルに本発明の検索処理を使用した場合の、検索対象要素の変遷の一例を矢印で示す。図4のステップS410に▲2▼から入ることにより、検索がモデルの境界部分に到達した(直進して点Pには近づけない)後も検索が実行されることから、検索はモデルの凹んだ部分を回り込むように、ほぼ最短距離で点Pの方向へ進む。このことは、モデル中に穴のあるモデルにおいて、検索開始要素Esと検索点Pがその穴を隔ててお互いの対岸に設定されている場合も同様である。検索対象要素は穴の周りを回り込むように点Pのある方向へ進む。
【0067】
また、本発明によれば、図4のステップS410に▲1▼から入ることにより、点Pに向かう方向が定まらないときも検索が続行されることから、高次要素からなるモデルの場合も何等かの形で検索は点Pの方向へ進む。例えば、本発明を図13の2次要素からなるモデルに適用した場合、検索対象要素Eに要素E1が設定された場合にも、図4のステップS405によって点Pは要素E1には内含されないと判定され、ステップS410またはステップS411によって新たな検索対象要素が設定される。そして、最終的に点Pを内含する要素E2に行き着く。
【0068】
以上の説明から明らかなように、本発明によれば、まず、点Pの方向に隣接する要素がない場合に、点Pの方向に関係なく現在の検索対象要素に隣接する要素が次の検索対象要素として設定される(図4のステップS410に▲2▼から入るケース)。その結果、分割モデルが凹形状もしくは穴がある形状の場合にも、検索対象要素は回り込んで点Pに到達するようになる。
【0069】
しかし、これだけでは高次要素モデルにおいて検索できないケースが発生する。そこで、これに対応するため、点Pに向かうべき方向が定まらない(現在の検索対象要素の全ての辺「仮の辺」に対して、要素重心と点Pの方向が同じ側に位置することにより、点Pの方向に隣接する要素が定まらない)場合は、点Pの方向に関係なく現在の検索対象要素に隣接する要素が次の検索対象要素として設定される(図4のステップS410に▲1▼から入るケース)。その結果、高次要素からなるモデルの場合も点Pに到達するようになった。
【0070】
しかし、これだけでは検索過程で同一経路を巡回し続けるという事態が発生することがあることが容易に分かる。これを回避するため、新たな検索対象要素として設定する要素は未検索の要素に限定している(図4のステップS410、ステップS411、ステップS417)。これによって、検索経路の無限巡回はなくなり、複雑な形状をした分割モデルにも対応できるようになった。
【0071】
なお、これだけでは現在の検索対象要素に隣接する要素の全てが既検索であった場合に、検索に行き詰まってしまう。そこで、このような場合には、任意の条件に基づいて定めた未検索の要素を次の検索対象要素に設定している(図4のステップS411)。これによって検索が行き詰まった場合にも新たな展開が開け、その結果、図5に示すような更に複雑な形状のモデルに対しても、検索開始要素Esの取り方に拘らず安定して点Pに到達できるようになった。
【0072】
最後に、最終的な内含判定は要素の形状関数を用いた写像を用いて行っている。これによって、高次要素からなるモデルの場合にも正確な内含要素を導けるようになった。
【0073】
なお、以上の説明から明らかなように、本発明における検索対象要素は、従来の場合と同様に、点Pに対してほぼ直線的に進むことから、検索所要時間は従来とほとんど変わらない。
【0074】
また、ここでは2次元のモデルを例にして説明したが、3次元モデルに対しても図4の処理フローにおいて、“要素Eの辺(高次要素の場合、仮の辺)”という言葉を“要素Eを構成する面”に置き換えることで対応できることは容易に分かる。なお、これらの差は、要素の境界という言葉を使うことで包括することができる。
【0075】
なお、3次元要素の場合、仮の面とは面を構成する頂点だけからなる面(中間節点を含まない)ということになる。ところが、本面が4辺形の場合、その4頂点が同一面上にない場合が発生する。しかし、このような場合にも、例えば、面を構成する4頂点(節点)の中から任意の方法で選択した3つの頂点を面上に持つ平面を更なる仮の面として代用することで、最終的には内含要素を検索できることは容易に分かる。
【0076】
本実施の形態に係る有限要素モデル処理装置によれば、検索途上で点Pの方向に要素がない、または点Pを内含していないにも拘らず内含していると判定され、その結果、点Pのある方向が分からなくなった場合にも、未検索の要素を新たな検策対象要素に設定して検索を続けるようにした。
【0077】
また、要素Eの全ての辺に対して点Pと要素Eの重心が同じ側にある場合(図11のステップS1107)及び辺Jを介して要素Eと隣接する要素がない場合(図11のステップS1111)にも未検索の要素を起点にした検索処理が継続実行される。このとき、常に未検索の要素を新たな検索対象要素とすることから、同一の検索経路を巡回し続けるということは起こらない。
【0078】
(第2の実施の形態)
次に本発明の第2の実施の形態を説明する。なお、本実施の形態における有限要素モデル処理装置であるコンピュータの構成は、上述した従来の図7と同一であるから、同図を流用して説明する。
【0079】
上述した第1の実施の形態によれば、点Pが分割モデルの領域外にある場合に、その最終的な判定を行うためには、全要素に対して点Pの内含判定を行う必要があることから、非常に長大な時間を要した。
【0080】
そこで、本実施の形態では、上述した第1の実施の形態に新たな仕組みを追加することで、点Pが分割モデルの領域外にある場合にも、その判定を早く下せるようにしたものである。
【0081】
上述した第1の実施の形態において、図4のステップS410に▲2▼から入るケースというのは、検索対象要素が直線的には点Pに近づけない場合であることを説明した。ところが分割モデルが凸形状をしている(モデル外形に凹んだ部分がない)場合には、図4のステップS410に▲2▼から入った時点で、即座に点Pが分割モデルの領域外であると判定することが可能である。また、分割モデルが凹形状をしている場合でも、図4のステップS410に▲2▼から入る回数の上限が(回り込みを行う経路の要素の数から)予め分かっている場合も多い。
【0082】
そこで、本実施の形態では、メモリ704上に図示しないカウンタを設け、図4のステップS410に▲2▼から入る回数をカウントする。そして、その回数が解析者の指定した回数(例えば、回り込み経路上の要素数)を超えた場合、その時点で点Pを分割モデルの領域外であると判定して、検索処理を終了する。
【0083】
【発明の効果】
以上詳述したように、本発明の有限要素モデル処理方法及び装置によれば、従来問題となっていた凹形状の分割モデル、穴がある分割モデル、要素の辺が曲線からなる高次の要素を使用した分割モデル等に対しても、最初の検索対象要素の設定に拘らず検索点を内含する要素を安定して検索することができるという効果を奏する。
【0084】
また、内含判定を要素の形状関数を使用して行う態様によれば、極めて正確な判定が可能となり、更に、解析者がモデル形状に応じてパラメータ(図4の2を通過する上限)を設定する態様によれば、検索点が分割モデルの領域外にある場合の判定も迅速に行えるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る有限要素モデル処理装置における内含判定済みフラグ配列の一例を示す図である。
【図2】本発明の第1の実施の形態に係る有限要素モデル処理装置におけるプログラムの構成を示す図である。
【図3】本発明の第1の実施の形態に係る有限要素モデル処理装置における局所座標系への写像を説明する図である。
【図4】本発明の第1の実施の形態に係る有限要素モデル処理装置における処理フローを示すフローチャートである。
【図5】本発明の第1の実施の形態に係る有限要素モデル処理装置における検索対象要素の履歴を説明する図である。
【図6】本発明の第1の実施の形態に係る有限要素モデル処理装置における検索対象要素の履歴を説明する図である。
【図7】従来の有限要素モデル処理装置であるコンピュータの構成を示すブロック図である。
【図8】従来の有限要素モデル処理装置における検索対象要素の履歴を説明する図である。
【図9】従来の有限要素モデル処理装置におけるプログラムの構成を示す図である。
【図10】従来の有限要素モデル処理装置における隣接要素テーブルを説明する図である。
【図11】従来の有限要素モデル処理装置における処理フローを示すフローチャートである。
【図12】従来の有限要素モデル処理装置における検索対象要素の履歴を説明する図である。
【図13】従来の有限要素モデル処理装置における高次要素モデルの一例を示す図である。
【符号の説明】
201 制御部
202 隣接要素テーブル作成部
203 辺に対する要素重心と点Pの位置関係判定部
204 第1隣接要素設定部
205 第2隣接要素設定部
206 新規検索対象要素設定部
207 点Pの内含判定部
701 CPU(中央処理装置)
702 表示装置
703 入力装置
704 メモリ
705 外部記憶装置
706 バス
901 制御部
902 隣接要素テーブル作成部
903 辺に対する要素重心と点Pの位置関係判定部
904 隣接要素設定部
Claims (7)
- メモリとCPUとを備え、該CPUが前記メモリに記憶されたプログラムを実行することで、判定手段と設定手段とを実現する有限要素モデル処理装置において、前記判定手段が、有限要素分割モデルに検索点が与えられたとき、特定の要素を最初の検索対象要素としてスタートし、現在の検索対象要素が前記検索点を内含するかを判定する判定工程と、前記判定工程において内含しないと判定された場合に、前記設定手段が、現在の検索対象要素の境界に関して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素を探索し、その隣接する要素を次の検索対象要素として設定する設定工程とを備え、前記判定工程と前記設定工程とを繰り返し実行していくことにより、前記検索点を内含する要素を検索する有限要素モデル処理方法において、前記設定工程において、前記設定手段が、現在の検索対象要素に対して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素が無い場合、前記要素の重心と前記検索点との位置に関係なく現在の検索対象要素に隣接する要素を次の検索対象要素として設定することを特徴とする有限要素モデル処理方法。
- 前記設定工程における前記隣接する要素の探索では、前記設定手段が、現在の検索対象要素の各境界に対して、その要素の重心と前記検索点とが反対側となるかを判定し、反対側となると判定された場合に、その境界で隣接する要素が存在するかを判定することを特徴とする請求項1記載の有限要素モデル処理方法。
- 前記設定工程において、前記設定手段が、次の検索対象要素を、検索対象要素として未設定の要素の中から設定することを特徴とする請求項1または2記載の有限要素モデル処理方法。
- 前記設定工程において、前記設定手段が、現在の検索対象要素に隣接する要素の全てが既設定であった場合、現在の検索対象要素に隣接する要素以外で未設定の要素を次の検索対象要素として設定することを特徴とする請求項3記載の有限要素モデル処理方法。
- 前記判定工程において、前記判定手段が、現在の検索対象要素が前記検索点を内含するかを判定する際に、要素の形状関数を用いた写像を使用することを特徴とする請求項1乃至4のいずれか1項に記載の有限要素モデル処理方法。
- 前記設定工程において、前記設定手段が、前記要素の重心と前記検索点とが反対側となる境界で隣接する要素が無いことの発生回数をカウントし、そのカウント値が解析者の指定した値を超える場合、前記検索点は有限要素分割モデルの外の点であると判定することを特徴とする請求項2記載の有限要素モデル処理方法。
- 有限要素分割モデルに検索点が与えられたとき、特定の要素を最初の検索対象要素としてスタートし、現在の検索対象要素が前記検索点を内含するかを判定する判定手段と、該判定手段により内含しないと判定された場合に現在の検索対象要素の境界に関して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素を探索し、その隣接する要素を次の検索対象要素として設定する設定手段とを備え、前記判定手段による判定と前記設定手段による設定とを繰り返し実行していくことにより、前記検索点を内含する要素を検索する有限要素モデル処理装置において、前記設定手段が、現在の検索対象要素に対して、その要素の重心と前記検索点とが反対側となる境界で隣接する要素が無い場合、前記要素の重心と前記検索点との位置に関係なく現在の検索対象要素に隣接する要素を次の検索対象要素として設定することを特徴とする有限要素モデル処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18183697A JP3912854B2 (ja) | 1997-06-24 | 1997-06-24 | 有限要素モデル処理方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18183697A JP3912854B2 (ja) | 1997-06-24 | 1997-06-24 | 有限要素モデル処理方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1116003A JPH1116003A (ja) | 1999-01-22 |
JP3912854B2 true JP3912854B2 (ja) | 2007-05-09 |
Family
ID=16107669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18183697A Expired - Fee Related JP3912854B2 (ja) | 1997-06-24 | 1997-06-24 | 有限要素モデル処理方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3912854B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101388675B1 (ko) * | 2012-08-07 | 2014-04-24 | 한양대학교 산학협력단 | 응력구속조건의 민감도를 해석하기 위한 노드 셋 선택방법 및 이를 이용한 응력기반 위상최적설계에서 사용하는 응력구속조건의 민감도를 해석하는 방법 |
-
1997
- 1997-06-24 JP JP18183697A patent/JP3912854B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1116003A (ja) | 1999-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3962361B2 (ja) | 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム | |
US4845651A (en) | Geometric modelling system | |
JPH06101019B2 (ja) | ソリッド・モデリング・システム | |
JP2006504117A (ja) | 設計‐作製‐検査のサイクル時間の短縮 | |
JP3497081B2 (ja) | 型設計システム及び型設計プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3015262B2 (ja) | 3次元形状データ加工装置 | |
JP4806706B2 (ja) | 解析モデルの変形方法および計算機 | |
JPH10149432A (ja) | 三次元形状検索装置 | |
JP3437223B2 (ja) | 形状表示装置および形状表示方法 | |
EP1091325B1 (en) | Defining parameters for an FEA calculation in a CAD program | |
US5179645A (en) | Method of recognizing overlapped graphics in each degree of overlapping thereof | |
US20040128648A1 (en) | Face correlation between computer aided design models | |
JP3912854B2 (ja) | 有限要素モデル処理方法及び装置 | |
EP1244062B1 (en) | Cell descriptor | |
JP4093440B2 (ja) | 閉領域の包含関係判定方法およびこの方法を実施するためのプログラムを記録した記録媒体 | |
KR20000072426A (ko) | 반도체 기판상의 3차원 구조물에 대한 비구조형 사면체메쉬 생성 시스템 및 방법 | |
JP2662856B2 (ja) | 形状特徴計測装置および方法 | |
JP2800709B2 (ja) | Fem解析モデルの領域分割方法 | |
JPH1078979A (ja) | 2次元cad図面からの立体生成方法およびそのプログラムを記録した記録媒体 | |
JP3112896B2 (ja) | 半導体集積回路のフロアプランニング方法及び装置 | |
CN117234195A (zh) | 一种地图区域分割方法、芯片、终端及机器人系统 | |
JPH0434193B2 (ja) | ||
JPH04348479A (ja) | 形状モデリング方法およびその装置 | |
WO2012114523A1 (ja) | 設計装置、設計方法、及び設計プログラム | |
JP3779343B2 (ja) | 互いに関連する輪郭点列の処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040623 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040623 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070130 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100209 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140209 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |