JP3692460B2 - 混合格子型解適合格子法を用いた数値解析装置 - Google Patents

混合格子型解適合格子法を用いた数値解析装置 Download PDF

Info

Publication number
JP3692460B2
JP3692460B2 JP2003288359A JP2003288359A JP3692460B2 JP 3692460 B2 JP3692460 B2 JP 3692460B2 JP 2003288359 A JP2003288359 A JP 2003288359A JP 2003288359 A JP2003288359 A JP 2003288359A JP 3692460 B2 JP3692460 B2 JP 3692460B2
Authority
JP
Japan
Prior art keywords
elements
division
transition
lattice
deletion
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
Application number
JP2003288359A
Other languages
English (en)
Other versions
JP2005056288A (ja
Inventor
▲隆▼彦 棚橋
智彦 神保
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.)
Keio University
Original Assignee
Keio University
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 Keio University filed Critical Keio University
Priority to JP2003288359A priority Critical patent/JP3692460B2/ja
Publication of JP2005056288A publication Critical patent/JP2005056288A/ja
Application granted granted Critical
Publication of JP3692460B2 publication Critical patent/JP3692460B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、混合格子型解適合格子法を用いた数値解析装置に関し、特に、四面体と五面体(ピラミッド要素、プリズム要素)と六面体を組み合わせた格子を変化に応じて分割削除する混合格子型解適合格子法を用い、遷移要素を生成して有限要素法により計算する数値解析装置に関する。
圧縮性の高速流体の非定常解析などにおいては、時間とともに変化する衝撃波のような物理量の不連続を取り扱う。このような場合、高精度な結果を得るためには、要素の細かい格子が必要になる。しかし、解析領域全体を細かい格子で分割すると、計算メモリを大量に消費し、計算速度も低下する。メモリを節約し、計算も高速にするためには、物理量の変化の激しい部分だけ、格子を細かくするとよい。この方法として、解適合格子法がある。解適合格子法としては、p法とr法とh法があるが、衝撃波解析のように不連続部分を取り扱う場合には、要素の細分化を行うh法が最も効果的である。特にh法は、AMR(Adaptive Mesh Refinement)法と呼ばれ、要素を細分化するだけでなく、不要な部分の要素を初期の要素に戻すことで、最小限の計算メモリで高精度な解析を行うことができる。
また、近年の数値解析においては、解析対象の形状は複雑化しており、格子生成作業の効率化が求められている。解析対象が複雑な形状でも、歪みの少ない高品質な要素を用いて容易に格子生成できることが重要である。三次元解析では、主に四面体要素と六面体要素が用いられる。四面体要素は形状適合性がよいため、複雑な形状の対象に対しても容易に歪みの少ない要素を用いて格子を生成できるが、計算の効率が悪い。六面体要素は、計算の効率はよいが、複雑な形状の対象に対して格子を生成するのは困難であり、要素が歪んでしまう。その他の要素として、ピラミッド要素、プリズム要素がある。プリズム要素は、形状適合性がよく、精度も高い。
複雑な形状の対象物を扱う問題では、これらの要素からなるHybrid格子を用いる。解析領域に可能な限り六面体要素の格子を用い、格子生成が困難な箇所のみに、四面体要素の格子を用いて解析を行うのが最も効率が良い。四面体要素とプリズム要素で、形状適合性を満足させることができる。六面体要素とプリズム要素で、計算効率性を満足させることができる。さらに他の要素として、ピラミッド要素がある。四面体要素と六面体要素の間に、ピラミッド要素を用いることで、連続な格子を無理なく構成することができる。Hybrid格子を用いることで特に、複雑な形状の対象物の周りに、歪みの少ない要素を生成でき、高精度な解析を行うことができる。Hybrid格子にAMR法を適用する方法を、混合格子型解適合格子法(Hybrid Grid Adaptation: HGA)という。
しかし、AMR法を適用した場合、要素の分割・削除によって、分割された要素とその隣接要素との間や、稜を共有する要素との間に、中間節点(不完全な頂点)が生成される。一般に、このような中間節点が生成されたままであると、計算を実行することができない。そのために、何らかの対策を行う必要がある。要素中心有限体積法を用いる場合には、境界面数を調節することにより、流束を評価して計算を行うことができる。
AMR法に関する従来例をいくつか簡単に説明する。本発明者は、特許文献1において、混合格子型解適合格子法を用いて、格子の自由度と計算効率を両立させる数値解析装置を提案した。要素中心有限体積法により数値解析を行う数値解析装置である。四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)の自由な組み合わせを用いて作成した初期格子データを用いる。要素ごとに密度に基づいて分割削除の指針値を計算する。要素の体積が最小値よりも大きくて、要素の格子レベル(分割回数)が最大でなくて、分割削除の指針値が分割しきい値よりも大きければ、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を分割する。要素の格子レベルが零の初期格子でなくて、分割削除の指針値が削除しきい値よりも小さければ、要素を削除併合して分割前の要素に戻す。
非特許文献1には、適応型メッシュ方法が開示されている。階層的な要素分割に基づく適応型の細分化法を定式化したものである。四面体と六面体とプリズムとピラミッドを任意に混合したメッシュを解析した。必要なメモリを、できるだけ少なくするようにした。この方法は、混合メッシュ上で計算する代数的な多格子流体解析装置とともに用いる。粘性流も非粘性流も、四面体と六面体と混合メッシュを適応的に細分化することで、計算できる。
特願2002-195688号明細書 D. J. Mavriplis; "Adaptive meshing techniques for viscous flowcalculations on mixed element unstructured meshes", Int. J. Numer. Meth.Fluids 2000; 34: 93-111.
しかし、従来の混合格子型解適合格子法を有限要素法に適用することは困難である。一般的には、中間節点を一時的に埋める要素(遷移要素)が用いられる。しかし、遷移要素を使うと、アルゴリズムが複雑になり、要素の形状が歪みやすいため、計算が不安定になるという問題がある。四面体要素のみを用いた場合、四面体要素を用いて遷移要素を作成すればよく、アルゴリズムは簡単である。また、要素の歪みは、ある程度解消される。しかし、六面体要素のみを用いた場合、六面体要素を用いて遷移要素を作成する必要があり、この場合、アルゴリズムが複雑になる。さらに、要素が歪みやすいため、計算が不安定になる。
本発明の目的は、従来のこれらの問題を解決して、有限要素法でも混合格子型解適合格子法で計算できるようにすることである。
上記の課題を解決するために、本発明では、有限要素法により混合格子型解適合格子法を用いて数値解析を行う数値解析装置に、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)の自由な組み合わせを用いて作成された初期格子データを格納する初期格子記憶手段と、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割する格子分割手段と、分割された要素を削除して分割前の要素に戻す格子削除手段と、要素の分割削除によって生じた不完全な節点である中間節点を解消するように遷移要素を生成する遷移要素生成手段と、遷移要素が生成された格子の各要素について分割削除の指針値を計算する指針値計算手段と、指針値に基づいて要素を分割するか削除するかを判定する分割削除判定手段と、遷移要素を削除する遷移要素削除手段とを具備する構成とする。
また、遷移要素生成手段に、要素における中間節点の配置状態に応じた個別の分割方法で要素を分割する個別分割処理手段と、個別分割処理手段により要素を分割できない場合に一律的な標準分割方法で要素を分割する標準分割処理手段とを備える構成とする。
本発明では、上記のように構成したことにより、混合格子型解適合格子法を利用する場合でも有限要素法で安定に計算することができる。AMR法をHybrid格子に対応させることにより、遷移要素の作成・削除のアルゴリズムを、ある程度簡単にすることができ、歪みの少ない遷移要素を作成することができ、低容量計算機で高精度な数値流体解析が行える。さらに、Hybrid格子を用いていることから、形状適合性および計算効率性に優れている。特に、複雑な形状の解析対象物の周りの流体解析においても、格子を容易に生成することができ、高精度な解析を行うことができる。
以下、本発明を実施するための最良の形態について、図1〜図15を参照しながら詳細に説明する。
本発明の実施例1は、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)とを用い、分割削除の指針値が分割しきい値よりも大きければ、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割し、分割削除の指針値が削除しきい値よりも小さければ、要素を削除して分割前の要素に戻し、分割削除により生じた中間節点を遷移要素により解消して、有限要素法により数値解析を行う数値解析装置である。
図1は、本発明の実施例1における数値解析装置の構成を示す機能ブロック図である。図1において、入力装置1は、初期格子データと分割しきい値データと削除しきい値データと物理量などの各種データやパラメータを入力する手段である。初期格子メモリ2は、格子の初期値を格納するメモリである。分割しきい値メモリ3は、格子分割の判定基準を保持するメモリである。削除しきい値メモリ4は、格子削除の判定基準を保持するメモリである。有限要素法演算装置5は、有限要素法により数値解析を行う手段である。格子分割手段6は、格子の要素を分割する手段である。格子削除手段7は、格子を削除し要素を合併してもとのサイズの要素に戻す手段である。指針値計算手段8は、密度などの物理量をもとに指針値を計算する手段である。分割判定手段9は、分割しきい値と指針値を比較する手段である。削除判定手段10は、削除しきい値と指針値を比較する手段である。表示装置11は、数値解析の結果を表示する手段である。遷移要素生成手段12は、遷移要素を生成する手段である。遷移要素削除手段13は、遷移要素を削除する手段である。
図2は、本発明の実施例1における数値解析装置の動作手順を示す流れ図である。図3は、HGA法に関する手順を示す流れ図である。図4は、数値解析装置の分割手順と削除手順を示す流れ図である。
図5は、本発明の実施例1における数値解析装置で用いる格子要素の分割方法を示す図である。図5(a)は、四面体の8分割法(Type1)を示す図である。図5(b)は、四面体の6分割法(Type2)を示す図である。図5(c)は、ピラミッド(四角錐)要素を、6つのピラミッドと4つの四面体に分割する10分割法を示す図である。図5(d)は、プリズム(三角柱)要素の8分割法を示す図である。図5(e)は、六面体の8分割法を示す図である。図5(f)は、三角形の面を分割する方法を示す図である。図5(g)は、四角形の面を分割する方法を示す図である。図5(h)は、要素のFamily関係を説明する図である。
図6(a)は、二次元における格子レベル差0の要素を分割する方法を示す図である。図6(b)は、二次元における格子レベル差1の要素を分割する方法を示す図である。図6(c)は、二次元における格子レベル差1の要素を削除する方法を示す図である。図6(d)は、二次元における格子レベル差0の要素を削除する方法を示す図である。図6(e)は、二次元における中間節点と遷移要素の説明図である。図7(a)は、遷移要素の生成手順を説明する図である。図7(b)は、遷移要素の削除手順を説明する図である。図7(c)は、遷移要素の生成削除を説明する図である。図8は、遷移要素の生成方法を説明する図である。図9は、遷移要素の生成削除の際に隣接要素のデータを修正するための場合分けの方法を説明する図である。
上記のように構成された本発明の実施例1における数値解析装置の動作を説明する。最初に、図1を参照しながら、数値解析装置の機能の概要を説明する。数値解析装置の基本的な構成は、従来の装置と同じである。有限要素法で計算できるように、HGA(Hybrid
Grid Adaptation)法のアルゴリズムに、遷移要素の生成削除の手続きを導入したものである。入力装置1から、初期格子データと分割しきい値データと削除しきい値データと物理量などの各種データやパラメータを入力する。格子の初期値は、初期格子メモリ2に格納しておく。格子分割の判定基準を、分割しきい値メモリ3に保持しておく。格子削除の判定基準を、削除しきい値メモリ4に保持しておく。これらのデータに基づいて、有限要素法演算装置5で、有限要素法により数値解析を行う。
指針値計算手段8で、密度などの物理量をもとに指針値を計算する。分割判定手段9で、分割しきい値と指針値を比較する。削除判定手段10で、削除しきい値と指針値を比較する。指針値が分割しきい値以上であれば、格子分割手段6で、格子の要素を分割する。指針値が削除しきい値以下であれば、格子削除手段7で、格子を削除し要素を合併してもとのサイズの要素に戻す。遷移要素作成手段12で、格子の生成削除で生じた中間節点を解消するための遷移要素を生成する。中間節点が解消された格子について、有限要素法演算装置5で、有限要素法により数値解析を行う。指針値計算手段8で、密度などの物理量をもとに指針値を計算する。その後、遷移要素削除手段13で、遷移要素を削除する。これを繰り返して、数値解析を進める。数値解析の結果を、表示装置11に表示する。
次に、図2を参照しながら、HGA法による数値解析装置の全体の動作手順の概要を説明する。ステップ1で、有限要素法演算装置5は、初期格子メモリ2から初期格子データを読み込む。ステップ2で、有限要素法による計算を実行する。ここで実行する時間単位数は1つでもよく、複数でもよい。ステップ3で、すべての時間単位について計算が終了したかを検査する。終了していれば、ステップ4で、結果を表示して処理を終了する。終了していなければ、ステップ5で、指針値を計算し、ステップ6で、遷移要素を削除し格子データを更新する。格子データの更新とは、隣接要素などのデータの修正のことである。格子データの更新は、要素の分割、削除、遷移要素の削除、作成後に、それぞれ実行する。
ステップ7で、指針値と分割しきい値を比較し、指針値が分割しきい値以上であれば、ステップ8で要素を分割し格子データを更新する。指針値を削除しきい値と比較し、指針値が削除しきい値以下であれば、ステップ9で要素を削除し格子データを更新する。指針値が分割しきい値と削除しきい値の中間であれば、分割も削除もしない。比較と分割と削除の処理を、格子を構成するすべての要素について行う。その後、ステップ10で、遷移要素を生成し格子データを更新して、ステップ2に戻り、有限要素法による計算を実行する。
第3に、図3を参照しながら、数値解析装置のHGA法に特に関係する動作手順の概要を説明する。HGA法の主要部は、図3に示すように、大きく分けて以下の手順で実行される。
(1)分割・削除の指針値の計算、要素へのマーキング
(2)遷移要素の削除
(3)要素の分割
(4)要素の削除
(5)中間節点の存在する要素へのマーキング
(6)遷移要素の作成
(7)要素数・節点数のカウント
HGA法の手順(1)では、分割・削除を行う要素を判断する前段階として、要素ごとに指針値を計算する。HGA法では、物理量変化の急激な箇所に要素を集中させることが目的となる。このような箇所を探知するために、通常、密度や、圧力勾配や、圧力の二階微分などを利用する。圧縮性流体の場合、衝撃波や接触不連続面を探知するための指針値に密度が用いられるので、ここでも、密度を分割・削除の指針値として用いる。この指針値に他の物理量を用いることで、他の数値解析分野にも適用が可能である。
各要素の指針値を計算して、指針値が分割のしきい値よりも大きければ、分割・削除フラグを「分割」に設定する。削除のしきい値よりも小さければ、分割・削除フラグを「削除」に設定する。その中間であれば、分割・削除フラグを「分割・削除を行わない」に設定する。さらに、各要素の格子レベル(分割回数)が、予め設定しておいた最大値に等しい時は、その要素の分割は行われない。また、要素体積が、予め設定しておいた最小値よりも小さい場合は、格子レベルが最大でなくとも、分割・削除フラグを「分割」に設定しない。また、格子レベルが0(初期格子)の場合、削除は行われない。HGA法の手順(2)では、遷移要素を削除する。
HGA法の手順(3)では、要素の分割を行う前に、着目要素と、その隣接要素や、辺(稜)を共有する要素の情報により、要素の再マーキングを行う。この作業は、着目要素とその隣接要素、節点を共有する要素との格子レベルの差が1以内に抑えられるようになるまで、再帰的に繰り返される。つまり、1つの辺(稜)上に中間節点は1個までしか取れないようになっている。その後、各要素形状に応じた分割ルーチンが実行される。HGA法の手順(4)では、要素を削除する。要素の削除は、分割の逆の方法で行う。要素の削除は、特定の条件を満たす場合に実行される。HGA法の手順(5)では、中間節点の存在する要素へマーキングする。HGA法の手順(6)では、遷移要素を作成する。HGA法の手順(7)では、要素数・節点数をカウントする。HGA法の各手順の詳しい内容は後述する。
第4に、図4を参照しながら、要素の分割と削除の手順を説明する。図4(a)を参照して、要素の分割処理手順を説明する。ステップ11で、データの移動及びメモリの確保を行う。分割する前の要素情報を、仮親の要素の一時メモリに移す。そして、新たにできる節点、要素のメモリを確保する。ステップ12で、新たにできた要素の情報の設定を行う。分割によって新たにできた要素を構成する節点のメモリと、隣接する要素のメモリを設定し、物理量を与える。ステップ13で、分割する以前の要素に隣接していた要素の情報を修正する。隣接要素の節点、その隣接要素、要素境界面数のデータを修正する。ステップ14で、節点を共有する要素データの設定と修正を行う。要素の分割により新たに生成された節点と既存の節点との節点共有要素のデータを設定、修正する。ステップ15で、分割する以前の要素と辺を共有する要素のデータを修正する。節点を共有する要素を検索し、新たにできた節点を要素情報に追加し、要素データを修正する。ステップ16で、仮親のメモリの解放を行う。
図4(b)を参照して、要素の削除処理手順を説明する。ステップ21で、仮親のメモリの確保とデータの移動を行う。削除以前の親要素の情報を仮親の要素に移す。ステップ22で、削除後の要素情報の設定を行う。削除後の要素のセルデータと、隣接要素の要素データを設定する。ステップ23で、削除される以前の要素に隣接していた要素の情報を修正する。ステップ24で、節点で隣接する要素データの修正を行う。要素が削除されるのに伴い、節点の隣接要素データを修正する。ステップ25で、削除される以前の要素と辺を共有する要素の要素データを修正する。節点を共有する要素を検索し、格子レベル差を考慮して、その節点を削除するかを決定し、要素データを修正する。節点を削除した場合は、その節点のメモリを解放する。ステップ26で、仮親のメモリの解放と、削除された要素のメモリの解放を行う。
第5に、図5と図6を参照しながら、要素の分割方法と削除方法を説明する。四面体要素は、8個の四面体要素に分割する方法(図5(a)Type1)と、4個の四面体要素と2個のピラミッド要素に分割する方法(図5(b)Type2)の2種類があり、選択が可能である。また、ピラミッド要素は、図5(c)に示すように、6個のピラミッド要素と4個の四面体要素に分割される。プリズム要素は、図5(d)に示すように、8個のプリズム要素に分割される。六面体要素は、図5(e)に示すように、8個の六面体要素に分割される。削除は、この逆である。このように分割削除を行うことで、要素境界面において、三角形の面、四角形の面は、それぞれ、図5(f)、(g)のようになる。こうすることで、要素境界面の取り扱いが、ある程度容易になり、プログラムの複雑化を防ぐことができる。
要素の分割の具体的な手順を説明する。
(1)データ移動とメモリ確保:分割する前の要素の情報を、仮親の要素に移す。そして、新たにできる節点、要素のメモリを確保する。
(2)新要素データの設定:分割によって新たにできた要素のデータを設定する。さらに、図5(h)に示すようなFamily関係を設定する。図5(h)では、分かり易くするために、二次元の三角形要素で説明してある。分割以前の要素と形状が同じ要素の1つを親要素とする。ただし、親要素の親要素は自分である。兄弟要素は一緒に分割によって生成された要素のうちの1つである。また、Family関係データは配列になっており、格子レベルごとに設定されている。また、親要素や兄弟要素が存在しない場合は、配列の対応位置にNULL文字が値として入っている。
(3)隣接要素の情報修正:要素の分割により、新たな要素が生成されたため、分割以前の要素の隣接要素の各種データを修正する。隣接要素との格子レベル差が0の時(図6(a))には、要素の各種データを修正し、格子レベル差が1の時(図6(b))には、隣接要素の各種データのみを修正する。また、それぞれの要素形状に対応した処理が実行される。
(4)節点データの設定と修正:要素の分割により新たに生成された節点、既存の節点の各種データを設定、修正する。
(5)要素のデータ修正:分割する以前の要素と辺を共有する要素を、節点を共有する要素の各種データを用いて検索し、新たにできた節点を要素情報に追加し、各種データを修正する。
(6)メモリの解放:仮親のメモリを解放する。
要素の具体的な削除手順を説明する。要素の削除は、分割の逆の方法で行う。要素の削除は、次の条件を満たす場合に実行される。
(条件1)親要素とその全ての兄弟要素の格子レベル(分割回数)が同じ
(条件2)親要素とその全ての兄弟要素に削除マークがついている
(1)メモリ確保とデータ移動:削除以前の親要素のデータを、仮親の要素に移す。
(2)要素データの設定:削除後の要素の各種データを設定する。
(3)隣接要素のデータ修正:要素が削除されたために、削除される以前の要素の隣接要素の各種データを修正する。隣接要素との格子レベル差が1の時(図6(c))には、各種データを修正し、格子レベル差が0の時(図6(d))には、隣接要素情報のみを修正する。それぞれの隣接要素の形状に対応した処理関数が実行される。
(4)データの設定と修正:要素が削除されるのに伴い、節点の各種データを修正する。
(5)要素のデータ修正:削除される以前の要素と辺を共有する要素を、節点を共有する要素の各種データを用いて検索し、格子レベル差を考慮し、その節点を削除するかを決定し、各種データを修正する。節点を削除した場合は、その節点のメモリを解放する。
(6)メモリの解放:仮親のメモリと、削除された要素のメモリを解放する。
第6に、図7を参照しながら、遷移要素の生成方法について説明する。遷移要素とは以下のようなものである。AMR法を適用した場合、要素の分割・削除によって分割された要素と、その隣接要素(辺または稜を共有する要素)との間に、不完全な頂点である中間節点が生成される。中間節点を有する要素を、中間要素と呼ぶことにする。図6(e)に示すように、この中間節点を解消するために、一時的な要素を生成する。この一時的な要素を遷移要素と呼ぶ。遷移要素で構成された格子の部分を遷移格子と呼ぶ。Hybrid格子に対応しているため、四面体要素、ピラミッド要素、プリズム要素、六面体要素を用いて遷移要素を作成することができる。基本的には、図7(a)に示すような2つのプロセス(Process1とProcess2)によって、遷移要素を作成する。遷移要素を作成する前に、中間節点の存在する中間要素にマーキングを行う。また、遷移要素の種類は、遷移要素が作成される前の中間要素の形状、中間節点の位置によって分類され、フラグメモリに格納されている。このようにすることにより、アルゴリズムがある程度簡単になる。
Process1では、中間節点の存在する中間要素の中心(体心)に、一時的な節点Temporary nodeを作成し、四面体要素またはピラミッド要素を作成する。四面体要素、ピラミッド要素、プリズム要素、六面体要素については、それぞれ図7(c)のようになる。Process1の具体的な手順は、以下のようになる。
(1)データ移動とメモリ確保:遷移要素を作成する前の中間要素のデータを、仮親の要素に移す。新たにできる節点(中間要素の中心に生成された節点)のメモリと、新要素のメモリを確保する。
(2)新要素のデータ設定:遷移要素の作成によって新たにできた要素のデータとFamily関係を設定する。
(3)データの設定と修正:遷移要素の作成により、新たに生成された節点(要素中心に生成された節点)と、既存の節点の各種データを設定、修正する。
(4)メモリの解放:仮親のメモリを解放する。
Process2では、Process1によって作成された四面体要素、ピラミッド要素の中間節点を解消するように、遷移要素を作成する。Process1の処理結果により、中間節点は1つの面にのみ存在しているようになったため、遷移要素を作成する処理関数の種類は、中間節点の存在する面の形状(三角形または四角形)、中間節点のある位置によって場合分けされる。具体的には、図8のようになる。中間節点が存在する面の形状が三角形の場合は、図8(a)のようになる。中間節点が存在する面の形状が四角形の場合は、図8(c)のようになる。このような方法で遷移要素を作成することで、遷移要素の種類を2次元的にとらえることができ、アルゴリズムの複雑化を防ぐことができる。ただし、図中の点線の丸印は、その節点が存在している存在していないの両方を表す。
Process2の具体的な手順は以下のようになる。
(1)データ移動とメモリ確保:遷移要素を作成する前の要素のデータを、仮親の要素に移す。新たにできる節点(caseB-6における面中心の節点を作成する場合)のメモリと、新要素のメモリを確保する。
(2)新要素のデータ設定:遷移要素の作成によって新たにできた要素の各種データとFamily関係を設定する。
(3)隣接要素のデータ修正:遷移要素が作成される以前の隣接要素のデータ(面中心の節点を作成する場合)と隣接要素に関するデータを修正する。このとき実行される処理関数は、図9に示すように場合分けされる。
(4)データの設定と修正:新たに生成された節点(面中心の節点を作成する場合)と、既存の節点の各種データを設定、修正する。
(5)メモリの解放:仮親のメモリを解放する。
第7に、図7(b)を参照しながら、遷移要素の削除方法を説明する。遷移要素は一時的な要素のため、指針値の計算の後に遷移要素は全て削除される。生成の場合と同様に、削除も以下に示す2つのプロセスによって実行され、作成時の逆のプロセスをたどる。Process1では、遷移要素作成のProcess2により作成された遷移要素を削除し、遷移要素作成のProcess1により作成された四面体要素、ピラミッド要素に戻す。
(1)メモリ確保とデータ移動:遷移要素削除以前の要素のうちの1個の要素のデータを、仮親の要素に移す。
(2)要素のデータ設定:遷移要素削除後の要素の各種データを設定する。
(3)隣接要素のデータ修正:隣接要素の各種データを修正する。このとき実行される処理関数は、図9に示すように場合分けされる。
(4)データの設定と修正:遷移要素が削除されるのに伴い、節点の各種データを修正する。
(5)メモリの解放:仮親のメモリと、削除された要素、節点(CaseB-6における面中心の節点を削除する場合)のメモリを解放する。
Process2では、遷移要素作成のProcess1によって作成された四面体要素、ピラミッド要素を削除する。
(1)メモリ確保とデータ移動:遷移要素削除以前の親要素のデータを、仮親の要素に移す。
(2)要素のデータ設定:遷移要素削除後の中間要素の各種データを設定する。
(3)データの設定と修正:遷移要素が削除されるのに伴い、節点の各種データを修正する。
(4)メモリの解放:仮親のメモリと、削除された要素のメモリと、要素中心の節点のメモリを解放する。
新たに生じる要素や節点の配列番号の取り方を説明する。分割によって新たに生じる要素や節点の配列番号の取り方としては、以前の削除によってフリーとなっている配列番号を使い回してやれば、最小限の配列番号で済む。しかし、フリーとなった配列番号の検索には莫大な時間がかかるので、避けるべきである。使用する計算機が許す限り、大きく配列番号を取っておく。分割により新たに必要となる配列は、新しい番号をどんどん使っていく。最大配列番号まで使い切る状態に至ったら、配列番号の使いまわしを行う。こうすることで、最大配列番号を使う状態に至るまでは、非常に速くHGA法を実行できる。
HGA法は、四面体要素とピラミッド要素とプリズム要素と六面体要素から構成されるHybrid格子で、解析対象を要素に分割して、解析する方法である。HGA法では、Hybrid格子において、物理量の変化が急激である箇所の要素を分割し、変化が急激でなく、細かい要素である必要がない箇所の要素を削除し初期の要素に戻すことを、動的に行う。遷移要素を用いて中間節点を解消するため、その他の特別な処理を行う必要はない。Hybrid格子対応の従来の有限要素法プログラムに対して、インターフェースを統一し、HGA法で使用する変数を追加することで、簡単に組み込むことができ、混合格子型解適合格子法を用いた数値解析装置が実現できる。
上記のように、本発明の実施例1では、数値解析装置を、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)とを用い、分割削除の指針値が分割しきい値よりも大きければ、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割し、分割削除の指針値が削除しきい値よりも小さければ、要素を削除して分割前の要素に戻し、分割削除により生じた中間節点を遷移要素により解消して、有限要素法により数値解析を行う構成としたので、混合格子型解適合格子法でも有限要素法で計算できる。
本発明の実施例2は、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)とを用い、分割削除の指針値が分割しきい値よりも大きければ、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割し、分割削除の指針値が削除しきい値よりも小さければ、要素を削除して分割前の要素に戻し、分割削除により生じた中間節点を、個別分割法を標準分割法に優先して適用する方法で遷移要素を生成して解消して、有限要素法により数値解析を行う数値解析装置である。
図10は、本発明の実施例2における数値解析装置での遷移要素の個別分割法による生成方法を説明する図である。図11は、四面体の遷移要素の個別分割法による生成削除方法を説明する図である。図12は、ピラミッドの遷移要素の個別分割法による生成削除方法を説明する図である。図13は、プリズムの遷移要素の個別分割法による生成削除方法を説明する図である。図14は、六面体の遷移要素の個別分割法による生成削除方法を説明する図である。図15は、遷移要素の個別分割法による生成削除方法を説明する表である。実施例2における数値解析装置の基本的な構成は、実施例1と同じである。個別分割法を優先して遷移要素を生成する点が異なる。
個別分割法による遷移要素の生成と削除を説明する。遷移要素を実施例1の分割法(これを標準分割法とよぶ)のみで生成すると、要素数の増加や要素の歪みのために、計算時間が増加したり、計算が不安定になったりする場合がある。例えば、標準分割法で中間節点が1つある四面体を分割する場合、四面体の体心を頂点とし四面体の各面を底面とする4つの三角錐(四面体)に分割して(図7(c-1))から、さらに中間節点を通る面で分割する(図8(a-2))ので、要素数が6つと多くなり、要素の形状も扁平になる。そこで、中間節点の存在する位置に応じた適切な分割法を個別に適用して、標準分割法とは異なる方法で遷移要素を生成する。
図10に示すように、標準分割法の図8に対応する方法で、中間節点の存在する位置に応じて要素を分割する。例えば、個別分割法で中間節点が1つある四面体を分割する場合、中間節点を通る面で2つに分割するのみ(図11(c))である。要素の形状も扁平にはならない。この個別分割法による遷移要素の生成削除方法を、標準方法よりも優先して実行する。個別分割法で遷移要素を生成できない場合のみ、標準分割法で遷移要素を生成する。個別分割法で生成した遷移要素を削除する場合は、個別分割法の逆の手順で削除する。個別分割法の個々の分割法は、適宜追加や削除が可能である。
個別分割法の遷移要素作成手順を説明する。
(1)データ移動とメモリ確保:遷移要素を作成する前の要素の情報を仮親の要素に移す。そして、新たにできる節点(面中心に節点が生成される場合)と要素のメモリを確保する。
(2)新要素情報の設定:遷移要素の作成によって新たにできた要素の各種データとFamily関係を設定する。
(3)隣接要素の情報修正:遷移要素が生成される以前の要素の隣接要素の各種データを修正する。このとき実行される処理関数は、図9に示すように場合分けされる。
(4)関係データの設定と修正:遷移要素の作成により新たに生成された節点(面中心に節点が生成される場合)と、既存の節点の関係データを設定、修正する。
(5)メモリの解放:仮親のメモリを解放する。
個別分割法の遷移要素削除時の処理を説明する。
(1)メモリ確保とデータ移動:遷移要素削除以前の親要素の情報を仮親の要素に移す。
(2)削除後の要素情報の設定:遷移要素削除後の要素の各種データを設定する。
(3)隣接要素の情報修正:遷移要素が削除される以前の要素の隣接要素の各種データを修正する。このとき実行される処理関数は、図9に示すように場合分けされる。
(4)関係データの設定と修正:要素が削除されるのに伴い、節点の関係データを修正する。
(5)メモリの解放:仮親と削除された要素、節点(面中心の節点を削除する場合)のメモリを解放する。
個別分割法による遷移要素の具体的な生成・削除方法を説明する。図10に示すように、要素の境界面にある中間節点の状態に応じて、境界面を分割する。境界面のこの分割方法は、図8に示す標準分割法の底面の分割法に対応する方法である。この分割法を組み合わせて要素を分割し、遷移要素を生成する。例えば、四面体に1つの中間節点がある場合、図10(a)と(b)とを組み合わせて、図11(c)のように分割する。
四面体要素の場合は、図11と図15(a)に示すように分割する。ただし、CaseC-1とCaseC-2については、通常の格子の要素の分割方法を使って、四面体に分割する(CaseC-1)方法と、四面体とピラミッドに分割する(CaseC-2)方法を用いる。ピラミッド要素の場合は、図12と図15(b)に示すように分割する。ただし、CaseD-1については、通常の格子の要素の分割方法を使って、四面体4個とピラミッド6個に分割する。プリズム要素の場合は、図13と図15(c)に示すように分割する。ただし、CaseE-1については、通常の格子の要素の分割方法を使って、プリズム8個に分割する。六面体要素の場合は、図14と図15(d)に示すように分割する。ただし、CaseF-1については、通常の格子の要素の分割方法を使って、六面体8個に分割する。
上記のように、本発明の実施例2では、数値解析装置を、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)とを用い、分割削除の指針値が分割しきい値よりも大きければ、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割し、分割削除の指針値が削除しきい値よりも小さければ、要素を削除して分割前の要素に戻し、個別分割法を優先的に実行する方法で、分割削除により生じた中間節点を遷移要素により解消して、有限要素法により数値解析を行う構成としたので、必要最低限の計算メモリで高精度な解析を行うことができる。
本発明は、数値流体力学(Computational Fluid Dynamics: CFD)に利用するものである。コンピュータグラフィックスやCADへの組込みも可能である。
本発明の実施例1における数値解析装置の構成を示す機能ブロック図、 本発明の実施例1における数値解析装置の動作手順を示す流れ図、 本発明の実施例1における数値解析装置のHGA法に関する手順を示す流れ図、 本発明の実施例1における数値解析装置の分割手順と削除手順を示す流れ図、 本発明の実施例1における数値解析装置の格子の分割方法を示す図、 本発明の実施例1における数値解析装置の二次元要素を分割する方法を示す図、 本発明の実施例1における数値解析装置の遷移要素の生成削除を説明する図、 本発明の実施例1における数値解析装置の遷移要素の生成を説明する図、 本発明の実施例1における数値解析装置の遷移要素の生成削除の際に隣接要素のデータを修正するための場合分けの方法を説明する図、 本発明の実施例2における数値解析装置の個別分割法による遷移要素の生成方法を説明する図、 本発明の実施例2における数値解析装置の個別分割法による四面体の遷移要素の生成を説明する図、 本発明の実施例2における数値解析装置の個別分割法によるピラミッドの遷移要素の生成削除を説明する図、 本発明の実施例2における数値解析装置の個別分割法によるプリズムの遷移要素の生成削除を説明する図、 本発明の実施例2における数値解析装置の個別分割法による六面体の遷移要素の生成削除を説明する図、 本発明の実施例2における数値解析装置の個別分割法による遷移要素の生成削除を説明する表である。
符号の説明
1 入力装置
2 初期格子メモリ
3 分割しきい値メモリ
4 削除しきい値メモリ
5 有限要素法演算装置
6 格子分割手段
7 格子削除手段
8 指針値計算手段
9 分割判定手段
10 削除判定手段
11 表示装置
12 遷移要素生成手段
13 遷移要素削除手段

Claims (2)

  1. 混合格子を用いる有限要素法へ解適合格子法(AMR)を適用して物理量の数値解析を行う数値解析装置であって、四面体要素と六面体要素と五面体要素(ピラミッド要素、プリズム要素)の自由な組み合わせを用いて作成された初期格子データを格納する初期格子記憶手段と、要素の三角形の面を複数の三角形に、四角形の面を複数の四角形に分割するように、要素を複数の要素に分割する格子分割手段と、分割された要素を削除して分割前の要素に戻す格子削除手段と、要素の分割削除によって生じた不完全な節点である中間節点を解消するように遷移要素を生成する遷移要素生成手段と、格子の各要素について分割削除の指針値を計算する指針値計算手段と、指針値に基づいて要素を分割するか削除するかを判定する分割削除判定手段と、遷移要素を削除する遷移要素削除手段とを具備することを特徴とする数値解析装置。
  2. 前記遷移要素生成手段は、要素における中間節点の配置状態に応じた個別の分割方法で要素を分割する個別分割処理手段と、前記個別分割処理手段により要素を分割できない場合に、四面体要素か六面体要素か五面体要素である多面体要素の体心を頂点とし多面体要素の各面を底面とする多面体に分割してからさらに中間節点を通る面で分割するという標準分割方法で要素を分割する標準分割処理手段とを備えることを特徴とする請求項1記載の数値解析装置。
JP2003288359A 2003-08-07 2003-08-07 混合格子型解適合格子法を用いた数値解析装置 Expired - Fee Related JP3692460B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003288359A JP3692460B2 (ja) 2003-08-07 2003-08-07 混合格子型解適合格子法を用いた数値解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003288359A JP3692460B2 (ja) 2003-08-07 2003-08-07 混合格子型解適合格子法を用いた数値解析装置

Publications (2)

Publication Number Publication Date
JP2005056288A JP2005056288A (ja) 2005-03-03
JP3692460B2 true JP3692460B2 (ja) 2005-09-07

Family

ID=34367028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003288359A Expired - Fee Related JP3692460B2 (ja) 2003-08-07 2003-08-07 混合格子型解適合格子法を用いた数値解析装置

Country Status (1)

Country Link
JP (1) JP3692460B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4876777B2 (ja) * 2006-08-23 2012-02-15 日本電気株式会社 有限要素法解析モデルの要素分割システム、要素分割装置及び要素分割方法並びにそのプログラム
US9098657B2 (en) * 2013-02-05 2015-08-04 Livermore Software Technology Corp. Contact surface definition creation involving low order and quadratic finite elements in a numerical simulation of an impact event
EP2819097A1 (en) * 2013-06-24 2014-12-31 Fujitsu Limited Decoupled parallel meshing in computer aided design
CN111737839B (zh) * 2020-05-19 2023-03-31 广州大学 基于动态进化率和自适应网格的beso拓扑优化方法及其应用

Also Published As

Publication number Publication date
JP2005056288A (ja) 2005-03-03

Similar Documents

Publication Publication Date Title
US7043413B2 (en) Method for modeling an arbitrary well path in a hydrocarbon reservoir using adaptive meshing
US5440674A (en) Mesh generation with quasi-equilateral triangulation for finite element analyses
Li et al. 3D anisotropic mesh adaptation by mesh modification
Kucharik et al. A comparative study of interface reconstruction methods for multi-material ALE simulations
CN112669463B (zh) 三维点云的曲面重建方法、计算机设备和计算机可读存储介质
Itoh et al. Volume thinning for automatic isosurface propagation
Elsheikh et al. A reliable triangular mesh intersection algorithm and its application in geological modelling
US7152017B2 (en) Numerical analysis system using hybrid grid adaptation method
Zhang et al. Resolving topology ambiguity for multiple-material domains
EP0740273B1 (en) Method and apparatus for processing finite element meshing model
JP4778558B2 (ja) 有限要素法と境界要素法による結合方程式の高速演算処理方法
Shostko et al. Surface triangulation over intersecting geometries
JP3692460B2 (ja) 混合格子型解適合格子法を用いた数値解析装置
US20050162418A1 (en) Boundary data inside/outside judgment method and program thereof
US10109105B2 (en) Method for immediate boolean operations using geometric facets
Day et al. Embedded boundary algorithms for solving the poisson equation on complex domains
CN110837707B (zh) 一种有限元分析***、方法、计算机设备及存储介质
CN115087983A (zh) 使用几何面片进行混合建模的方法和***
Si TetGen, towards a quality tetrahedral mesh generator
Pola et al. Optimizing computational high-order schemes in finite volume simulations using unstructured mesh and topological data structures
JPH0981783A (ja) 有限要素モデル処理システム及びその方法
Joshi et al. A Novel Algorithm for Triangulating 2d Point Clouds Using Multi-Dimensional Data Structures and Nearest Neighbour Approach
JP2005196684A (ja) 3次元幾何データの無矛盾化方法及びそのシステム
KR100444783B1 (ko) 등가선 도시 시스템 및 방법
CN118261080A (zh) 信息获取方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050414

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050520

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: 20050607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050607

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: 20080701

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees