JPH07334541A - 数値解析用要素作成システム - Google Patents

数値解析用要素作成システム

Info

Publication number
JPH07334541A
JPH07334541A JP6126080A JP12608094A JPH07334541A JP H07334541 A JPH07334541 A JP H07334541A JP 6126080 A JP6126080 A JP 6126080A JP 12608094 A JP12608094 A JP 12608094A JP H07334541 A JPH07334541 A JP H07334541A
Authority
JP
Japan
Prior art keywords
small
polygon
division
area
infinitesimal
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.)
Pending
Application number
JP6126080A
Other languages
English (en)
Inventor
Yusaku Yamamoto
有作 山本
Nobutoshi Sagawa
暢俊 佐川
Toshio Okochi
俊夫 大河内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6126080A priority Critical patent/JPH07334541A/ja
Publication of JPH07334541A publication Critical patent/JPH07334541A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】領域上に予め与えられた格子線を用いて領域の
要素分割を行うシステムにおいて、分割用格子線9の角
と分割すべき領域境界8とがちょうど重なった場合11
でも、例外処理を行わず、領域境界が角から無限小だけ
離れた点を通ると解釈して通常どおりに分割を行い、そ
の結果生じる無限小長さの辺16や無限小の多角形15
を分割後に取り除くことにより、数値解析用要素を生成
する。 【効果】従来必要であった例外処理を不要にすることに
より、処理を高速化できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は数値解析モデルの作成方
法に係り、特に、有限要素法等を行う場合に解析領域を
分割して数値解析用の有限要素を自動生成する要素生成
システムに関する。
【0002】
【従来の技術】偏微分方程式により記述される物理現象
の解析方法として、有限要素法による数値シミュレーシ
ョンが広く用いられている。この方法は解析領域を多数
の小領域(有限要素)に分割し、各小領域で偏微分方程
式を離散化することにより、偏微分方程式を各要素上の
節点での物理量についての連立一次方程式に帰着させて
解を求めるものである。節点数は通常きわめて多くなる
ため、シミュレーションを効率的に行うためには、解析
領域の形を与えるだけで自動的に領域分割を行い、有限
要素を生成するシステムが望まれる。
【0003】解析領域の形を与えて有限要素を自動生成
するシステムは、一般に、図1のように解析領域を入力
するための入力装置,入力された領域上に要素を生成す
るための演算装置,生成した有限要素を出力するための
出力装置からなる。このうち演算装置で要素を作成する
ために用いられる方法は、正規領域に張られた格子から
写像関数によって解析領域上での格子を作る方法(たと
えば J. F.トンプソン(Thompson),他著、“ニューメリ
カル グリッド ジェネレーション(NumericalGrid Gen
eration)”,North−Holland, 1985 参照)、デローネ
三角形分割を利用する方法(たとえば S.リベイ(Reba
y)著:“Efficient Unstructured MeshGeneration by
Means of Delauney Triangulation and Bower−Watson
Algorithm”,ジャーナル オブ コンピュテイショナ
ル フィジクス(Journalof Computational Physics),
Vol. 106, pp. 125−138(1993)参照)、分割すべき領域
を含む領域にあらかじめ与えられた規則的もしくは不規
則的格子を用いて分割を行う方法(たとえば P. L. ベ
ーマン(Baehmann),他著“Robust,Geometrically Bas
ed Automatic two−Dimensional Mesh Generation,イ
ンタナショナル ジャーナル フォー ニューメリカル
メソズ イン エンジニアリング(International Jo
urnal for Numerical Methods in Engineering),Vol.2
4, pp. 1043−1078(1987)参照)などが知られている。
この三者のうち最後にあげた方法は、複雑な領域形状の
場合でも、大きさのばらつき,極端なつぶれなどのない
高品質な要素を生成することが比較的容易であり、かつ
要素生成に要する時間が短いため、多くの利用例があ
る。2次元の解析領域を要素分割する場合、この方法の
一種である四分木法(上記最後の文献参照)が広く利用
されている。以下、四分木法の概略を示す。四分木法は
次の5ステップから構成される。
【0004】(1) 四分木の生成 解析領域の境界を多角形と仮定する。四分木法では、ま
ず解析領域を含む平面上に基本となる直交格子を引く。
これにより平面は正方形に分割されるが、細かい解析要
素が必要な領域ではこの正方形を4分割し、さらに細か
い解析要素が必要な領域ではさらに4分割する、という
ことを繰り返す(図2(a))。この再帰的な4分割によっ
て最終的にできた各正方形を、以後では小正方形と呼
ぶ。また、小正方形の角,解析領域の境界多角形の頂
点,格子線と領域境界とが交差してできる交点を、以後
ではそれぞれ単に角,頂点,交点と呼ぶことにする。さ
らに、再帰的な4分割によってできる小正方形の木構造
を四分木と呼ぶ(図2(b))。
【0005】(2) 格子線による領域の分割 上で作った格子線を粗いものから順に取り、境界多角形
が該格子線と交差するか否かを判定し、交差する場合に
は該格子線によって該多角形を複数個の小多角形に分割
する(図3)。この手続きをすべての格子線について繰
り返すことにより、対象領域の小多角形への分割を得る
(図2(c))。
【0006】なお、本処理における交差判定および分割
では、分割に用いる格子線に対して境界多角形の各頂点
が上側(右側)にあるか下側(左側)にあるかを判定
し、隣り合う頂点が反対側にあるときに交差があるとみ
なして分割を行っている。しかしこの方式では、頂点が
ちょうど格子線と重なっているときは扱えず、例外処理
が必要となる。「発明が解決しようとする課題」の項で
後述するように、考慮しなくてはならない重なり方は4
種類あるため、例外処理によって重なりに対処する方式
では処理が複雑となり、実行速度が低下するという問題
がある。
【0007】(3) 点の重ね合わせ 上記分割の結果、きわめて短い辺を持つ小多角形、ある
いは細長い小多角形ができることがある。これは後の要
素生成において形の悪い要素を作る原因になるので、そ
の前に取り除いておかなくてはならない。そのための方
法は、近い位置にある二つの点を重ねること、線分の近
くにある点を線分上に乗せることの二つがある。これら
の操作を点の重ね合わせと呼び、実用になる有限要素を
作るには不可欠の段階である。図2(c)の領域分割に対
し、点→点の重ね合わせおよび点→境界辺の重ね合わせ
を行うことにより、極めて短い辺および細長い多角形を
除去した結果を図2(d)に示す。
【0008】(4) 要素の生成 各小多角形を適当に分割して三角形要素を作る(図2
(e))。
【0009】(5) スムージング 要素の節点位置を適当に移動させることにより、要素の
ゆがみをなくす(図2(f))。
【0010】以上で、対象領域の三角形要素への分割が
完了する。これが従来の四分木法である。
【0011】
【発明が解決しようとする課題】四分木法では、(2)の
分割が全体の実行時間の大部分を占める。この分割は有
限要素を作るための領域の初期分割であり、与えられた
格子により、多角形領域を有限長さの辺のみを持つ小多
角形に分割することを目的とする。
【0012】本分割処理では、上述のように、分割に用
いる格子線に対して境界多角形の各頂点が上側(右側)
にあるか下側(左側)にあるかを判定し、隣り合う頂点
が反対側にあるときに交差があるとみなして分割を行
う。しかし、この方式では、頂点がちょうど格子線と重
なっているときは扱えず、例外処理が必要となる。この
ように、格子と境界多角形との間に重なりがあり、分割
のために例外処理が必要となる状況を、ここでは退化と
呼ぶ。
【0013】四分木法の分割処理における退化は、(1)
境界辺が格子の角を通る場合、(2)多角形の頂点が格子
の角と一致する場合、(3)多角形の頂点が格子線上にあ
る場合、(4)多角形の辺と格子線とが重なる場合の四通
りが考えられる(図4)。そこで従来の方法では、各交
差判定において、退化が存在するか否か、存在する場合
には上記4種類のうちのどれかを判定し、それぞれの場
合に応じた分割を行っていた。しかし、その結果、各交
差判定において複雑な場合分けと例外処理とが必要とな
り、実行速度が低下するという問題があった。
【0014】本発明の目的は、退化を統一的な手法で扱
って例外処理をなくすことにより、例外処理によって生
じていたプログラムの速度低下の問題を解決しようとす
るものである。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、本発明による有限要素生成システムでは無限小の長
さという新概念を導入した。退化が生じるのは、入力の
境界多角形に属する点あるいは線分が格子に属する点あ
るいは線分と重なるからである。そこで本発明では、重
なりが生じたとき、前者が後者よりも無限小だけ上ある
いは右にあるとみなし、重なっていない場合と同様の処
理を行う。これにより、今まで必要であった「重なり」
という概念はなくなり、交差判定の結果は交差するか否
かの2通りで記述できることになる。これに伴い、今ま
で必要であったすべての例外処理は不要となる。
【0016】ただし、ここで導入した無限小長さを放置
すると、最後の要素生成の段階において、無限小長さの
辺を持った要素ができてしまう可能性がある。そこで、
もともとの四分木法にあった点の重ね合わせの手続きを
用いて、無限小長さを自動的に解消する。これにより、
退化の存在によって生じた無限小長さは、最終的に生成
された要素には現れないことが保証される。
【0017】
【作用】1ヶ所だけに退化(境界線と格子の角との重な
り)がある場合を例にとり、例外処理なしに退化が解消
される過程を説明する。
【0018】まず、図5(a)が入力図形と格子との位置
関係である。領域境界として入力された三角形の一辺と
格子の角とが重なっているが、本発明の方法ではこの場
合、入力図形の辺が角の無限小だけ右上を通っていると
解釈する。この部分を拡大したのが図5(b)である。格
子線により入力図形を分割したのが図5(c)であるが、
例外処理は行われず、そのかわりに右上部分に無限小の
三角形ができる。また、左上,右下の図形にもそれぞれ
無限小長さの辺が生じる。
【0019】次に、点の重ね合わせを行ったものが図5
(d)である。点の重ね合わせにより、無限小長さの辺の
両端点は同一の点に重ねられる。なお、この点の重ね合
わせの手続きは、従来の四分木法で有限の微小長さの線
分を解消するのに用いていたものをそのまま使えばよ
い。点の重ね合わせにより、左上と右下の図形は三角形
に無限小の自己閉路が付いたものになる。また、右上の
無限小の三角形は、一つの点から三つの自己閉路が出た
形になる。最後にこれらの自己閉路を除去すれば、入力
図形は三つの小図形に分割される。これを図5(e)に示
す。自己閉路の除去にも、従来の四分木法で用いていた
ものをそのまま使えばよい。
【0020】以上により、退化のある場合でも例外処理
なしに入力図形の分割を正しく行うことができた。
【0021】
【実施例】以下、本発明の原理および実施例を、図面に
より詳細に説明する。ここで実施例として挙げるのは、
与えられた2次元領域を有限要素法用の三角形要素に分
割するシステムである。システムは領域形状を入力する
ための入力装置,領域を要素に分割するための演算装
置,分割した要素を出力するための出力装置から構成さ
れる。
【0022】演算装置における領域分割処理は、図6に
示すステップから構成される。本実施例では、まず入力
装置から領域形状データおよび要素分割の疎密制御デー
タを入力し(図6の22)、後者に基づいて領域平面上
に疎密を持った直交格子を生成し(図6の23)、この
格子によって領域の境界多角形を分割して行くことによ
り、最終的に領域の三角形要素への分割を得る。
【0023】このうち直交格子生成後のステップは、前
半部(図6の25,26,27,28,29)と後半部
(図6の31,32,33,34)とに大きく分けられ
る。
【0024】前半部における基本操作は、1本の格子線
Lをとり、小多角形リスト(図6の30)の中から1個
の小多角形Cを取り出し、LとCとが交わるならばLに
よってCを分割し、分割によって得られた複数の小多角
形を再び小多角形リストに戻すことである。小多角形リ
ストに境界多角形のみが入っている状態(図6の24)か
ら出発し、すべての格子線、およびその格子線に対して
小多角形リスト中のすべての小多角形に対してこの基本
操作を繰り返すことにより(図6の25,26)、前半部
が終了する。
【0025】一方、後半部での基本操作は、小多角形リ
ストの中から1個の小多角形Cを取り出し、その形状を
後述のように修正した後、これを三角形要素に分割する
ことである。小多角形リスト中のすべての小多角形に対
してこの基本操作を繰り返すことにより(図6の3
1)、後半部が終了する。最後にスムージング操作によ
って三角形要素のゆがみを取り除き、作成した要素を出
力装置に出力する。
【0026】本発明における最も大きな特徴は、上述の
前半部および後半部の基本操作における退化の取り扱い
方法にあるので、以下、最初に前半部の基本操作である
図6の27,28,29のそれぞれを(1),(2),(3)と
して詳しく述べ、次に後半部の基本操作である図6の3
2,33,34のそれぞれを(4),(5),(6)として述べ
る。
【0027】(1)交点計算(図6の27) ここでは小多角形リストから取り出した小多角形Cと格
子線Lとの交点を計算し、求めた交点を多角形Cの辺に
挿入する。それには多角形Cの隣り合う頂点vi,vj
をとり、viとvjが直線Lの反対側にあったら、交点
uを計算して辺vivj上に挿入すればよい。いま、多
角形Cの辺には反時計回りに向きがついているとする。
このときCの境界辺と格子線Lの交点の符号を、辺が格
子線Lを下から上へ横切るとき+、上から下へ横切ると
き−と定義すると、こうして得られる交点には明らかに
+と−のものが同数個ある(図7(a))。
【0028】以上ではCの頂点が格子線L上にないこと
を暗黙のうちに仮定していたが、頂点が直線L上に乗っ
ている場合には、直線Lの上側にあるものと定義し、通
常の場合と同様にして必要ならば交点を求める。たとえ
ば、図7(b)およびその拡大図に示すように、多角形C
が格子線Lに上側から接する場合には交点がないものと
みなし、下側から接する場合には2個の交点があるとみ
なす。これにより退化を特別扱いせずにすみ、また、交
点の符号の数についての上述の性質は退化がある場合に
も成り立つことになる。このとき頂点と交点とを結ぶ辺
は無限小長さとなるが、以後での取扱いは有限長さの辺
の場合とほとんど変わらない。
【0029】(2)交点の整列(図6の28) 上で求めた交点は、格子線L上では左から−,+,−,
+のように1個おきに向きが逆のものが並んでいるはず
である。しかし実際には数値誤差のため、こうならない
こともある。特にここではCの頂点が格子線L上にある
場合でも交点を計算しているため、順序の逆転が起こっ
てしまう可能性が大きい。順序が逆転すると、次のステ
ップの多角形Cの分割がうまく行かず、多角形Cの内と
外とが反転してしまうことも起こりうる。
【0030】そこで、格子線L上で交点の並べ替えを行
い、交点が左から正しく−+−+と並ぶようにする(図
8)。並べ替えは、計算された交点を左から順に見てゆ
き、符号がおかしいところがあったら隣と入れ換えるこ
とによって行う。この手続きによれば、計算誤差により
交点順序が逆転した場合でも、正しい順序が復元でき
る。
【0031】(3)多角形の分割(図6の29) 上で得た交点を使って、多角形Cを格子線によって複数
個の多角形に分割する。(2)のステップにより交点は順
序正しく並んでいるはずだから、分割は問題なく行える
(図9(a))。なお、退化のある場合は分割により無限小
長さの辺を持つ多角形が生じるが、これはそのままにし
ておく(図9(b))。Cの分割によってできた複数の小多
角形は、無限小長さの辺を持つものも含め、小多角形リ
スト(図6の30)に追加する。
【0032】小多角形リストに領域境界の多角形のみが
入っている状態から出発し、すべての格子線L、および
格子線について、小多角形リスト中のすべての小多角形
Cに対して以上の(1),(2),(3)の手続きを適用するこ
とにより、境界多角形をもっとも細かい小多角形にまで
分割できる。退化がある場合には無限小長さの辺を持つ
小多角形が生じるが、特別な処理は不要である。これに
より、前半部の操作が終了する。次に、以上の操作によ
り作成された小多角形リスト中のすべての小多角形Cに
対し、次の(4),(5),(6)の手続きを適用する。
【0033】(4)点の重ね合わせ(図6の32) 小多角形リストから1個の小多角形Cを取り、点の重ね
合わせという操作を行う。これは、きわめて短い辺を持
つ小多角形,細長い小多角形などを取り除くための前処
理であり、小多角形Cを構成する点のうち、近い距離に
ある二つの点を重ねること、および小多角形の辺に近い
点を辺上に乗せることの二つからなる。以下、このそれ
ぞれについて説明する。点の重ね合わせを行うことによ
り、退化のために生じた無限小長さの辺も取り除くこと
ができる。
【0034】(a)点→点の重ね合わせ 小多角形Cの点には、もとの領域境界の頂点,境界と格
子との交差によってできた交点,格子どうしが交わる角
の3種類がある。ここでは点と点との距離がd以下のと
きに二つの点を重ねるが、このことによって領域境界の
形状が変わってはならない。そこで、各点の移動に関し
ては次のような制限がつく。
【0035】(1)頂点は動かしてはならない。
【0036】(2)交点は、それが乗っている境界辺の上
のみを動くことができる。
【0037】(3)角はどこへでも動ける。
【0038】これらより、重ね方に関しては次の規則が
できる。
【0039】(1)頂点は他の点に重ねてはならない。
【0040】(2)交点は、同じ境界辺上にある他の頂
点,交点に重ねることができる。
【0041】(「退化」という概念がないことより、境
界辺上に角が乗ることはないことに注意。) (3)角はどの点にでも重ねることができる。
【0042】これらの制限を考慮した上で、重ねられる
点をすべて重ねる。なお、点の重ね合わせを行ったとい
うことは、重ねる点のデータ構造に、それが重なった相
手の点の種類と点番号とを記入し、以後その点を重なっ
た相手の点と同一視することにより表現する。小多角形
C自体のデータ構造(構成する点の数など)は変更しな
い。したがって点→点の重ね合わせにより、小多角形C
には自己閉路、あるいはくびれ,並列枝などができるこ
とになる。
【0043】点の重ね合わせの例を図10に示す。○印
の二つの点を重ね合わせることにより、自己閉路が生じ
る。
【0044】(b)点→辺の重ね合わせ 小多角形Cの辺には、もともと領域の境界辺だったもの
と格子辺だったものの2種類がある。これと点の種類と
を考え合わせると、可能な重ね方は次の2通りになる。
【0045】(1)角を境界辺の上に乗せる(図11
(a))。
【0046】(2)頂点を格子辺の上に乗せる(図11
(b))。
【0047】このうち(2)では、頂点の位置を移動する
ことはできないので、実際には格子辺の方を曲げて頂点
を通るようにする。これらの制限のもとで、辺から距離
d以内にある点をすべて辺に重ねる。
【0048】点→辺の重ね合わせを行ったということ
は、小多角形Cのデータ構造において辺上に新たな点を
設け、重ねる点と同じ点番号,点の種類をその点に与え
ることによって表現する。その他の小多角形Cのデータ
構造は変更しない。したがって点→辺の重ね合わせによ
り、小多角形Cにはくびれあるいは並列枝ができること
になる。
【0049】角→境界辺の重ね合わせを行った例を図1
1(a)に示す。右上の小三角形の○印の点を対辺に重ね
合わせることにより、くびれと並列枝のある小多角形が
生じる。また、頂点→格子辺の重ね合わせを行った例を
図11(b)に示す。右側の小多角形の○印の頂点を向か
いの格子辺に重ねることにより、くびれのある小多角形
が生じる。
【0050】以上が点の重ね合わせの概略であるが、こ
れをそのまま行っただけでは生成される要素の品質は必
ずしも改善されない。実際、点→辺の重ね合わせを行っ
たために辺が二つに分割され、かえって短い辺ができて
しまうことも起こりうる。そこで、点の重ね合わせによ
って新たに生じる辺の長さを前もって評価し、前よりも
短い辺が生じないという条件のもとで、点の重ね合わせ
を実行する。
【0051】(5)小多角形の簡約(図6の33) 点の重ね合わせの結果、小多角形Cは自己閉路,くび
れ、あるいは並列枝などを含むようになる。したがって
要素を生成するためには、これらのものを取り除く必要
がある。これを行うのが簡約である。自己閉路,並列枝
などの発見は小多角形の点リストの番号だけを見て行え
るので、簡約は完全に組合せ論的な操作であり、数値計
算を必要としない。簡約の結果、小多角形Cはさらにい
くつかの小多角形に分割される。また、無限に小さい小
多角形,完全につぶれた小多角形などは消滅する(図1
2)。
【0052】以上の(4)と(5)の操作により、退化は
(陽に意識されることなく)完全に取り除かれる。ま
た、これらは退化のない場合でも、形の良い要素を作る
には不可欠の段階であるから、退化を考慮したために特
に処理が複雑になったわけではない。
【0053】(6)三角形への分割(図6の34) これは小多角形をさらに分割し、最終的な要素を作る段
階である。この段階では特に退化の問題はないが、なる
べく形の良い要素ができるような分割を行う必要があ
る。
【0054】以上の(4),(5),(6)の操作を小多角形リ
スト中のすべての小多角形に対して行うことにより、後
半部が終了する。この後、次のスムージング操作を行う
ことにより、要素生成が終了する。
【0055】(7)スムーシング 最後に、点の位置を移動させることによって要素のゆが
みを取り除く。動かすのは角および交点であり、角は領
域内、交点は境界辺上を移動させる。
【0056】以上が本発明を利用した2次元有限要素生
成方法の基本的な部分であるが、これを使って実際にプ
ログラムを作るには、次のような工夫が必要となる。
【0057】(1)安定な交点計算法 (2)2段階の点の重ね合わせ 以下ではこれらについて説明する。
【0058】(1)安定な交点計算法 上のアルゴリズムでは多角形と直線との交点がいつでも
計算できることを前提としているが、入力データによっ
ては、多角形の辺と格子の辺とがほとんど平行になる場
合も起こりうる。このようなとき、2直線の交点を求め
る通常の公式をそのまま適用したのでは、たちまちオー
バーフローが生じてプログラムが異常終了してしまう。
従来の方法ならこのような場合を退化として特別扱いす
ることもできたが、本アルゴリズムでは退化を特別扱い
しないので、どんな場合でも1個の交点を計算して返さ
なくてはならない。
【0059】そこで、通常の公式を用いることをやめ、
垂線を利用した安定な計算法を採用した。直線をl、線
分(多角形の辺)の端点をp1、p2とするとき、これ
は次のようになる。
【0060】(1)p1,p2からそれぞれlにおろした
垂線の足t1,t2を求める。 (2)線分p1t1,p2t2の両方が微少量εよりも短
いならば、(両端点が直線上に乗っていると判断して)
t1を交点として採用する。 (2)′そうでないならば、線分t1t2をp1t1:p
2t2に分ける点を交点として採用する。
【0061】これによれば、線分の両端点が直線に関し
て反対側にありさえすれば、いかなる入力に対してもた
だ一つ交点が求められることが保証され、また交点の
x,y座標が両端点のx,y座標の中間にあることが保
証される。
【0062】(2)2段階の点の重ね合わせ 点の重ね合わせの過程では、無限小長さの辺と有限長さ
の短い辺の両方を取り除かなくてはならない。ところ
が、これを一度にやろうとすると、点の重ね合わせを行
う順番によって、ある点が無限小だけ離れた点に重ねら
れず、有限の距離だけ離れた点に先に重ねられてしまう
ことが起こりうる。すると小多角形のゆがみが大きくな
り、結果としてできる要素の形に悪影響が出る。この例
を図13(a)に示す。図の一番左側の図形でεと書いてあ
るのが無限小長さの線分である。この図形においてA,
B,Cと書いてある点がそれぞれ同じ記号の点に重ね合
わせられた場合、点Cは同じ小多角形上の無限小だけ離
れた点とは重ねられずに有限の距離だけ離れた点と重ね
られるため、図形は細長く引き伸ばされ、結果として一
番右の図のような細長い要素が生成される。
【0063】この問題を解決するため、まず基準となる
距離を十分小さく(たとえば小正方形の辺の長さの10
0分の1程度)おさえて点の重ね合わせを行い、次に距
離を大きく(たとえば辺の長さの4分の1程度)しても
う一度点の重ね合わせを行う。このように2段階に分け
ることにより、無限小長さの辺に対して優先的に点の重
ね合わせが行われることが期待できる。この方法による
重ね合わせの例を図13(b)に示す。無限小だけ離れた
点が最初に重ね合わされるため、点A,B,Cは図中の
同じ記号の点と重なり、形の良い要素が生成される。
【0064】退化によって生じる場合分けの除去による
プログラムの高速化という本発明の基本的な特徴に加え
て、以上の二つの工夫を採用することにより、生成され
る要素の形の改善、またいかなる入力に対してもオーバ
ーフローによってプログラムが異常終了することのない
頑健性といった特徴を持つ要素生成システムを構成する
ことができる。
【0065】なお、本実施例においてはすべて2次元の
領域の場合について説明したが、3次元の場合でも、八
分木法として知られている要素生成方法を用いれば、本
発明の退化処理方法はそのまま適用できる。また、本実
施例では三角形要素を生成する場合について説明した
が、本発明の方法は、これ以外の要素形についても全く
同様に適用できる。
【0066】
【発明の効果】本発明によれば、四分木法等を利用した
領域分割システムにおいて、従来必要であった数多くの
場合分けを設けることなく、退化のある場合を統一的に
扱うことができる。その結果、プログラムにおいて複雑
な処理が不要となり、実行速度が向上する。
【図面の簡単な説明】
【図1】四分木法による有限要素生成システムの全体を
示すブロック図。
【図2】従来の四分木法による有限要素生成方法の各ス
テップを示す説明図。
【図3】従来の四分木法において、与えられた領域多角
形を格子線により分割して複数の小多角形を作る部分の
説明図。
【図4】四分木法において起こりうる4種類の退化の説
明図。
【図5】本発明の方法で退化が例外処理によらず自動的
に解消されることを示す説明図。
【図6】本発明を四分木法による有限要素生成システム
に適用した場合の手続き全体を示すフローチャート。
【図7】図5の手続きのうち交点計算を行う部分の説明
図。
【図8】交点順序の逆転を検出し、補正を行う部分の説
明図。
【図9】退化のない場合とある場合についての多角形の
分割を行う部分の説明図。
【図10】点→点の重ね合わせの部分の説明図。
【図11】点→辺の重ね合わせの部分の説明図。
【図12】小多角形の簡約を行う部分の説明図。
【図13】2段階の点の重ね合わせの効果の説明図。
【符号の説明】
8…入力多角形の境界、9…格子線、11…境界辺が格
子の角を通ることによって生じる退化、15…退化によ
り生じる無限小の小多角形、16…無限小長さの辺、1
7…点の重ね合わせによってできる自己閉路。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】与えられた多面体領域または多角形領域を
    数値解析用の小領域に分割するシステムのうち、分割す
    べき領域を含む領域にあらかじめ与えられた規則的もし
    くは不規則的メッシュを用いて初期分割を行うシステム
    において、 前記分割すべき領域の境界に属する頂点とメッシュに属
    する頂点もしくは辺もしくは面との間に重なりがある場
    合に、前記分割すべき領域の境界に属する頂点を前記メ
    ッシュに属する頂点から無限小だけずれた位置にあると
    みなし、重なりのない場合と同様にして前記メッシュに
    属する辺もしくは面に対する頂点の内外判定を行い、そ
    の結果を用いて前記メッシュに属する辺もしくは面によ
    る領域の分割を行うことにより、重なりの有無、あるい
    は重なりの種類によって従来必要であった例外処理を用
    いることなく初期分割を終了し、 前記無限小のずれを導入したことによって分割結果の小
    領域に生じる、長さが無限小の辺,面積が無限小の多角
    形、および体積が無限小の多面体を分割後に取り除くこ
    とを特徴とする数値解析用要素分割システム。
  2. 【請求項2】与えられた多面体領域または多角形領域を
    数値解析用の小領域に分割するシステムのうち、分割す
    べき領域と分割結果の小領域とを共に多角形領域とする
    システムにおいて、 初期分割の際、前記多角形領域の境界に属する頂点と前
    記分割用メッシュに属する頂点もしくは辺との間に重な
    りがある場合に、前記多角形領域の境界に属する頂点を
    前記分割用メッシュに属する頂点から無限小だけずれた
    位置にあるとみなして前記重なりを取り除き、重なりの
    ない場合と同様にして、メッシュの辺により前記多角形
    領域を前記辺の一方の側にある複数個の小多角形と前記
    辺の他方の側にある複数個の小多角形とに分割すること
    により、重なりを処理するために従来必要であった例外
    処理を用いることなく初期分割を終了し、 前記無限小のずれを導入したことによって初期分割の結
    果の小多角形に無限小長さの辺が生じた場合は、前記辺
    の両端点を重ね合わせて前記辺を除去することにより、
    前記多角形領域を有限長さの辺のみからなる小多角形に
    分割することを特徴とする数値解析用要素分割システ
    ム。
  3. 【請求項3】請求項2において、あらかじめ与える前記
    分割用メッシュとして、場所により格子の疎密を変化さ
    せた直交格子を用いる数値解析用要素分割システム。
JP6126080A 1994-06-08 1994-06-08 数値解析用要素作成システム Pending JPH07334541A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6126080A JPH07334541A (ja) 1994-06-08 1994-06-08 数値解析用要素作成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6126080A JPH07334541A (ja) 1994-06-08 1994-06-08 数値解析用要素作成システム

Publications (1)

Publication Number Publication Date
JPH07334541A true JPH07334541A (ja) 1995-12-22

Family

ID=14926119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6126080A Pending JPH07334541A (ja) 1994-06-08 1994-06-08 数値解析用要素作成システム

Country Status (1)

Country Link
JP (1) JPH07334541A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017017A1 (fr) * 2001-08-16 2003-02-27 Riken Procede et appareil d'usinage a haute precision pour materiau heterogene
US7321366B2 (en) 2002-02-28 2008-01-22 Riken Method and program for converting boundary data into cell inner shape data
US7333104B2 (en) 2001-12-04 2008-02-19 Riken Method and program of converting three-dimensional shape data into cell internal data
US7372460B2 (en) 2003-07-16 2008-05-13 Riken Method and program for generating volume data from boundary representation data
US7406361B2 (en) 2001-08-16 2008-07-29 Riken Rapid prototyping method and apparatus using V-CAD data
JP2008197921A (ja) * 2007-02-13 2008-08-28 Mizuho Information & Research Institute Inc シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
EP1978487A2 (en) 2007-04-06 2008-10-08 Hitachi, Ltd. Numerical analysis mesh generating method and apparatus
US7898540B2 (en) 2005-09-12 2011-03-01 Riken Method and program for converting boundary data into cell inner shape data

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017017A1 (fr) * 2001-08-16 2003-02-27 Riken Procede et appareil d'usinage a haute precision pour materiau heterogene
EP1431850A1 (en) * 2001-08-16 2004-06-23 Riken ULTRA−PRECISION MACHINING METHOD AND DEVICE FOR HETEROGENEOUS MATERIAL
US7174236B2 (en) 2001-08-16 2007-02-06 Riken Ultra-precise processing method and apparatus for inhomogeneous material
EP1431850A4 (en) * 2001-08-16 2007-10-31 Riken METHOD AND APPARATUS FOR HIGH-PRECISION MACHINING FOR HETEROGENEOUS MATERIAL
US7406361B2 (en) 2001-08-16 2008-07-29 Riken Rapid prototyping method and apparatus using V-CAD data
US7333104B2 (en) 2001-12-04 2008-02-19 Riken Method and program of converting three-dimensional shape data into cell internal data
US7321366B2 (en) 2002-02-28 2008-01-22 Riken Method and program for converting boundary data into cell inner shape data
US7372460B2 (en) 2003-07-16 2008-05-13 Riken Method and program for generating volume data from boundary representation data
US7898540B2 (en) 2005-09-12 2011-03-01 Riken Method and program for converting boundary data into cell inner shape data
JP2008197921A (ja) * 2007-02-13 2008-08-28 Mizuho Information & Research Institute Inc シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
EP1978487A2 (en) 2007-04-06 2008-10-08 Hitachi, Ltd. Numerical analysis mesh generating method and apparatus

Similar Documents

Publication Publication Date Title
Viertel et al. An approach to quad meshing based on harmonic cross-valued maps and the Ginzburg--Landau theory
US4933889A (en) Method for fine decomposition in finite element mesh generation
US4785399A (en) Shaping geometric objects by cumulative translational sweeps
JP3962361B2 (ja) 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム
JP2006523891A (ja) 局所洗練を用いてt−スプライン及びt−nurcc表面を定義するためのシステム及び方法
JPH0362266A (ja) 計算機援助図面作成方法
Romon et al. Exact robot navigation in geometrically complicated but topologically simple spaces
JPH07334541A (ja) 数値解析用要素作成システム
Belfiore et al. Automatic sketching of planar kinematic chains
JP2002245098A (ja) 六面体メッシュ生成方法および装置
Campagna et al. Ray tracing of spline surfaces: Bézier clipping, Chebyshev boxing, and bounding volume hierarchy–a critical comparison with new results
Schmidt et al. Adaptive mesh booleans
Peters et al. Algorithm 1032: Bi-cubic splines for polyhedral control nets
Allison et al. Managing variable-dimension structural optimization problems using generative algorithms
Ng et al. Incremental tessellation of trimmed parametric surfaces
JP2566061B2 (ja) エリアデータからパスデータへの変換方法
De Berg et al. On rectilinear duals for vertex-weighted plane graphs
Viertel et al. Toward a paver replacement.
JPH11195139A (ja) 自由曲面生成装置および方法、並びに提供媒体
Campen Tiling the bunny: Quad layouts for efficient 3d geometry representation
JP3187808B2 (ja) 物体の表面形状データ作成装置
CN116910834B (zh) 基于nurbs曲面快速求交算法的cad模型构建方法
JP3187815B2 (ja) 物体の表面形状データ作成方法
CN115471635B (zh) 一种基于Delaunay图的多块结构网格奇点识别方法
JP3632127B2 (ja) 有限要素メッシュの生成装置