第 2 章 解適合格子細分化手法
2.7 疎化手法
疎化はRivaraのDeRefinement[6]を取り入れ,誤判定や必要以上の細分化が行われた場合には,不要な格子点と付
随する四面体を除去し分割前の状態に復元することにより格子点数の増加の抑制を行う.疎化処理に必要な情報とし て,各要素の細分化レベルと分割情報を細分化時に付与する.これらの設定基準は以下のとおりである.
2.7.1 細分化レベルの設定
疎化を行う上で,各格子点が何段階細分化されたかの指標であり,疎化対象の抽出の効率化のために付与する.計 算格子を構成する格子点とその他の要素に対して以下の手順で細分化レベルを設定する(図2.13).
- 格子点
初期格子で与えられる点の細分化レベルを1とする.
格子点の追加は辺の分割により行われ,分割する辺がもつ細分化レベルに1を加えた値とする.(図2.13 (b)) - 格子点以外の要素
各要素が保持する格子点の細分化レベルの最大値とする.
図2.13 各要素における細分化レベル
Edge RLv = k
Edge RLv = k +1
Node RLv = k Node RLv = k +1 Node RLv = k +2
EL RLv = k +2
(a) 格子点要素 (b) 辺要素
(c) 三角形要素 (d) 四面体要素
Face RLv = k + 2
2.7.2 分割情報の保持
格子点を除いて,細分化により追加される要素は細分化対象の要素を2分割することにより得られる.細分化によ る二次元格子の変化を図2.14 (a)に示す.図中の赤矢印は分割により新たに追加された格子点を示している.格子の復 元時には分割元となる要素をたどる必要があるため,一つの要素は,分割元となる要素番号,分割により得られる2 つの要素番号を保持する(図2.14 (b)).細分化により追加される要素は分割元の要素上に重なる形で存在するため,流 体解析及び細分化処理を行う場合にはデータ構造の末端要素のみを使用し,分割された要素は使用しない.
疎化は精度上不要と判断された格子点と隣接する要素を除外することによって行う.図2.15図に疎化により図中の A点とB点を除去するときの格子の変化を示す.格子点の除去により影響を受ける要素は,格子点追加により追加さ れた要素すべてである.A点は要素1を分割する際に生じた格子点であり,A点の追加により要素2,3が生じる.A 点を除外するとき要素2,3を取り除くが,図2.15 (b) の分割情報を見ると要素4以降はすべて要素3から派生して生 じていることがわかる.要素3を取り除くには派生するすべての要素及び格子点を取り除く必要があるため,実際の 影響範囲は図中の青枠の領域となる.一方,A点に隣接するB点を除去するときの影響範囲は緑枠内にある要素6,7 のみであり,除去により格子に及ぼす影響範囲は大きく異なる事がわかる.このため,精度改善上不要な格子点を除 去する過程で,精度に重要な要素・格子点まで除去される可能性がある.通常,細分化レベルが小さいほど周囲にも たらす影響範囲は大きくなる傾向にある.疎化による推算精度の低下を防ぐために,疎化判定は以下の3段階に分か れる.
1. 精度上重要な格子点の判定(細分化判定)
2. 1.で抽出した格子点が存在するのに必要な格子点の判定(保護判定)
3. 2.までに抽出されなかった格子点で細分化された格子点の抽出(疎化判定)
なお,疎化判定を行う前に,保護すべき格子点を設定する.
疎化の手順を以下に示す(図2.16).
(1) 細分化判定(図2.16 (b1))
精度上重要な格子点を特定するために,衝撃波関数を用いた細分化判定を行い細分化領域内の格子点を抽出する.
(a) 細分化例 (b) データ構造
1 2 3
4 5 6 7
親要素
子要素
流体解析, 細分化は 末端要素を使用
図2.14 二次元格子における細分化とデータ構造
分割情報の保持
格子点を除いて,細分化により追加される要素は細分化対象の要素を 分割することにより得られる.細分化によ る二次元格子の変化を図 に示す.図中の赤矢印は分割により新たに追加された格子点を示している.格子の復 元時には分割元となる要素をたどる必要があるため,一つの要素は,分割元となる要素番号,分割により得られる つの要素番号を保持する図 .細分化により追加される要素は分割元の要素上に重なる形で存在するため,流 体解析及び細分化処理を行う場合にはデータ構造の末端要素のみを使用し,分割された要素は使用しない.
疎化は精度上不要と判断された格子点と隣接する要素を除外することによって行う.図 図に疎化により図中の 点と 点を除去するときの格子の変化を示す.格子点の除去により影響を受ける要素は,格子点追加により追加さ れた要素すべてである. 点は要素 を分割する際に生じた格子点であり, 点の追加により要素 , が生じる.
点を除外するとき要素 , を取り除くが,図 の分割情報を見ると要素 以降はすべて要素 から派生して生 じていることがわかる.要素 を取り除くには派生するすべての要素及び格子点を取り除く必要があるため,実際の 影響範囲は図中の青枠の領域となる.一方, 点に隣接する 点を除去するときの影響範囲は緑枠内にある要素 , のみであり,除去により格子に及ぼす影響範囲は大きく異なる事がわかる.このため,精度改善上不要な格子点を除 去する過程で,精度に重要な要素・格子点まで除去される可能性がある.通常,細分化レベルが小さいほど周囲にも たらす影響範囲は大きくなる傾向にある.疎化による推算精度の低下を防ぐために,疎化判定は以下の 段階に分か れる.
精度上重要な格子点の判定 細分化判定
で抽出した格子点が存在するのに必要な格子点の判定保護判定 までに抽出されなかった格子点で細分化された格子点の抽出疎化判定 なお,疎化判定を行う前に,保護すべき格子点を設定する.
疎化の手順を以下に示す図 細分化判定図
精度上重要な格子点を特定するために,衝撃波関数を用いた細分化判定を行い細分化領域内の格子点を抽出する.
細分化例 データ構造
親要素
子要素
流体解析 細分化は 末端要素を使用
図 二次元格子における細分化とデータ構造
(2) 保護領域の設定
保護領域の探索には,二次元格子は三角形要素を,三次元格子は四面体要素を用いて行う.既に分割された要素を含 め全ての要素を用いて探索を行う.
(2-1) RLvごとのリストの生成
探索の効率化のために各要素に対して細分化レベル(RLv)ごとのリストを生成する.格子の最大RLvをkmaxとする
とき,k=kmax, kmax-1, ・・・, 3, 2の順にレベルの高いものから順に処理を行う.
(2-2) 探索レベルをk=kmaxに設定する.
(2-3) 探索レベル内での保護対象の探索
各要素が持つ格子点または,分割点(既に分割されている場合)に細分化対象または保護対象が含まれているとき要素 内の保護判定を行う.保護判定は,要素に属する格子点のうち保護設定されていない格子点を保護対象に追加する.
このとき,分割点は保護設定対象に含めない.(図2.16 (a),(b2))
(2-4) 現在探索しているRLvで新たな保護点の追加があったとき,(2-3)に戻り,同じRLvで再度探索を行う.
新たな追加がない場合は,探索レベルを1段階下げる(k=k-1).k=2での探索を終えた段階で(2-5)に進む.
(2-5) k=2まで処理を行う中で,保護点の追加を行ったときは(2-2)のリスト生成直後に戻り,新たな保護点の追
加がなくなるまで行う.
(3) 疎化判定
細分化・保護設定がされていない点で,細分化により追加された点(RLv>1)を疎化対象とする.(図2.16 (b3)) (4) 疎化の実行
疎化判定された格子点を除去すると共に,関連する要素の除去を行う.(図2.16 (b4))
1 4 5 2
n : 要素番号 : RLv=1 : RLv=2 : RLv=3
4 7
2
6 B(RLv:3) A(RLv:2)
A 点 を 除 去 B 点 を 除 去
1 2 3
4 5 6 7
B 点 除 去 の 影 響範囲
1 2 3
4 5 6 7
A 点 除 去 の 影 響範 囲
(a) 格子上
(b) 分割情報上
図2.15 除去点による疎化の影響範囲
要素番号
点 を 除 去
点 を 除 去
点 除 去 の 影 響範囲 点 除 去 の 影 響範 囲
格子上
分割情報上
図 除去点による疎化の影響範囲
細分化対象 保護対象 疎化可能点 n: 細分化レベル
2 3
2 3 2 3
2 3
2 3 2 3
2 3
2 3 2 3
2 3
2 2
(a) 保護判定
2 2
3
3
2 2
3
3 2 2
3
3
2 2
3
3
分割点
(b1)細分化判定 (b2) 保護判定
(b3) 疎化判定 (b4) 疎化
(b)疎化の流れ
図2.16 疎化判定および疎化処理