(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-05
(45)【発行日】2022-09-13
(54)【発明の名称】テトラメッシュ生成装置、及びプログラム
(51)【国際特許分類】
G06F 30/23 20200101AFI20220906BHJP
【FI】
G06F30/23
(21)【出願番号】P 2018205606
(22)【出願日】2018-10-31
【審査請求日】2021-06-16
(73)【特許権者】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(74)【代理人】
【識別番号】100105887
【氏名又は名称】来山 幹雄
(72)【発明者】
【氏名】大西 良孝
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開平07-230487(JP,A)
【文献】特開2007-094628(JP,A)
【文献】国際公開第2013/058215(WO,A1)
【文献】特開2008-257591(JP,A)
【文献】特開平11-339073(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/23
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
三次元形状を定義する形状定義データが入力される入力部と、
前記入力部に入力された前記形状定義データで定義される前記三次元形状のエッジ上、及び表面上に複数の粒子を配置し、前記三次元形状の表面から離れた内奥部に、内部分布規則に則って粒子を配置し、前記三次元形状の内奥部と表面との間の空間に、前記内部分布規則に則った位置からずれた位置に粒子を配置し、配置された粒子の中心を頂点とするテトラメッシュを生成する処理部と
を有するテトラメッシュ生成装置。
【請求項2】
前記処理部は、
前記三次元形状のエッジ上に粒子を配置した後、エッジ上の粒子を発生源として、前記三次元形状の表面上に、表面分布規則に則って粒子を順次配置し、
前記三次元形状の表面上の粒子を変位させて、異なる発生源から順次配置された粒子同士が衝突する境界における前記表面分布規則の破綻を緩和させる請求項1に記載のテトラメッシュ生成装置。
【請求項3】
前記処理部は、
前記三次元形状の内部に、前記内部分布規則に則って粒子を配置し、
前記三次元形状の内部の粒子を変位させて、前記表面分布規則の破綻を緩和させた後の表面上の粒子の集合と、前記三次元形状の内部の粒子の集合との界面に生じている粒子の分布密度の不連続を緩和させる請求項2に記載のテトラメッシュ生成装置。
【請求項4】
さらに、出力部を有し、
前記処理部は、
テトラメッシュを生成する処理において、前記三次元形状のエッジ上の粒子、前記表面分布規則の破綻を緩和させた後の表面上の粒子、及び粒子の分布密度の不連続を緩和させた後の前記三次元形状の内部の粒子の位置に基づいて、粒子の中心を頂点とするテトラメッシュを生成し、
生成したテトラメッシュを定義するテトラメッシュ定義データを前記出力部に出力する請求項3に記載のテトラメッシュ生成装置。
【請求項5】
前記処理部は、
粒子の中心を頂点とするテトラメッシュを生成した後、前記テトラメッシュ定義データを出力する前に、前記三次元形状の外側の不要な四面体を削除する請求項4に記載のテトラメッシュ生成装置。
【請求項6】
三次元形状を定義する形状定義データを入力させる機能と、
入力された前記形状定義データで定義される前記三次元形状のエッジ上、及び表面上に複数の粒子を配置し、前記三次元形状の表面から離れた内奥部に、内部分布規則に則って粒子を配置し、前記三次元形状の内奥部と表面との間の空間に、前記内部分布規則に則った位置からずれた位置に粒子を配置し、粒子の中心を頂点とするテトラメッシュを生成す
る機能と、
生成されたテトラメッシュを定義するテトラメッシュ定義データを出力する機能と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テトラメッシュ生成装置、及びプログラムに関する。
【背景技術】
【0002】
テトラメッシュの生成方法が多数提案されている(特許文献1、非特許文献1参照)。これらのテトラメッシュの生成方法のほとんどは、有限要素法への適用を想定している。そのため、結晶格子構造を基にしている分子動力学法やくりこみ群分子動力学法(以下、両者をまとめて分子動力学法という場合がある。)とは相性が良くない場合がある。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Parikh, P., Pizadeh, S., and Lohner, R., “Package for 3-D Unstructured Grid Generation, Finite-Element Flow Solution and Flow Field Visualization”, NASA CR-182090, 1990
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の方法で生成したテトラメッシュを用いて分子動力学法による解析を行うと、解析精度が著しく低下する場合がある。特に、直方体を分割して作られたテトラメッシュ(特許文献1参照)はせん断方向への剛性が低いため、このメッシュを用いて分子動力学法による解析を行うと、解析が破綻する場合がある。
【0006】
本発明の目的は、分子動力学法やくりこみ群分子動力学法による解析に適したテトラメッシュ生成装置、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明の一観点によると、
三次元形状を定義する形状定義データが入力される入力部と、
前記入力部に入力された前記形状定義データで定義される前記三次元形状のエッジ上、及び表面上に複数の粒子を配置し、前記三次元形状の表面から離れた内奥部に、内部分布規則に則って粒子を配置し、前記三次元形状の内奥部と表面との間の空間に、前記内部分布規則に則った位置からずれた位置に粒子を配置し、配置された粒子の中心を頂点とするテトラメッシュを生成する処理部と
を有するテトラメッシュ生成装置が提供される。
【0009】
本発明の他の観点によると、
三次元形状を定義する形状定義データを入力させる機能と、
入力された前記形状定義データで定義される前記三次元形状のエッジ上、及び表面上に複数の粒子を配置し、前記三次元形状の表面から離れた内奥部に、内部分布規則に則って粒子を配置し、前記三次元形状の内奥部と表面との間の空間に、前記内部分布規則に則った位置からずれた位置に粒子を配置し、粒子の中心を頂点とするテトラメッシュを生成する機能と、
生成されたテトラメッシュを定義するテトラメッシュ定義データを出力する機能と
をコンピュータに実行させるプログラムが提供される。
【発明の効果】
【0010】
内奥部に、シミュレーション対象の原子配置を反映した形状のテトラメッシュを生成することが可能である。内奥部と表面との間の空間においては、内部分布規則に則った位置からずれて粒子を配置するため、内奥部のテトラメッシュと、表面のテトラメッシュとのメッシュ形状の不連続性を緩和させることができる。
【0011】
このテトラメッシュの節点に粒子を配置して、分子動力学法またはくりこみ群分子動力学法により粒子の挙動をシミュレーションすることにより、シミュレーションの精度を高めることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施例によるテトラメッシュ生成装置のブロック図である。
【
図2】
図2は、実施例によるテトラメッシュ生成方法のフローチャートである。
【
図3】
図3は、STL形式で定義された三次元形状の一例を示す斜視図である。
【
図4】
図4は、複数の区画を階調の異なるグレーレベルで色分けした三次元形状の斜視図である。
【
図5】
図5Aは、区画ごとに階調の異なるグレーレベルで色分けした三次元形状の一部分を拡大した図であり、
図5Bは、エッジ上の三角形要素の節点に球形の粒子を表示した図である。
【
図6】
図6は、エッジ上に配置した複数の節点を示す斜視図である。
【
図7】
図7は、三次元形状の表面上に粒子を配置する表面分布規則を説明するための図である。
【
図8】
図8Aは、三次元形状の表面を覆いつくした粒子の分布の一例を示す図であり、
図8Bは、
図8Aの一部分を拡大した図である。
【
図9】
図9は、三次元形状の表面から逸脱した粒子を表面上に戻す処理を説明するための模式図である。
【
図10】
図10は、三次元形状が配置された空間を複数のセルに分割した状態の模式図である。
【
図12】
図12は、三次元形状の表面を構成しない余分な三角形の一例を示す斜視図である。
【
図13】
図13は、ステップS5の緩和処理を行うときの運動方程式のタイムステップ数を変えて得られた表面メッシュの歪み量Qを示す箱ひげ図である。
【
図14】
図14Aは、三次元形状の内部に配置した粒子、表面上の粒子、及びエッジ上の粒子の分布の一例を示す模式図であり、
図14Bは、粒子の分布密度の不連続を緩和させる処理を行った後の粒子の分布を示す模式図である。
【
図15】
図15Aは、表面メッシュを構成する三角形がテトラメッシュの四面体の面として採用されていない例を示す模式図であり、
図15Bは、四面体の頂点の組み合わせを調整した後のテトラメッシュを示す模式図である。
【
図16】
図16Aは、最終的に作成されたテトラメッシュの斜視図であり、
図16Bは、余分な四面体を削除する前のテトラメッシュの斜視図である。
【
図17】
図17は、三次元形状の内部に形成されたテトラメッシュの形状を示す断面図、及び一部の断面の拡大図である。
【発明を実施するための形態】
【0013】
図1~
図16を参照しながら、実施例によるテトラメッシュ生成装置及びテトラメッシュ生成方法について説明する。
【0014】
図1は、実施例によるテトラメッシュ生成装置のブロック図である。実施例によるテトラメッシュ生成装置は、入力部20、処理部21、出力部22、及び記憶部23を含む。入力部20から、テトラメッシュ生成の条件、例えば三次元形状を定義する形状定義データ、メッシュの節点間隔、節点の配置の基本的な条件等が入力される。さらに、オペレータから入力部20に各種指令(コマンド)等が入力される。入力部20は、例えば通信装置、リムーバブルメディア読取装置、キーボード等で構成される。
【0015】
処理部21は、入力された条件に基づいてテトラメッシュを生成する処理を行い、処理結果を出力部22に出力する。処理結果には、テトラメッシュの形状を定義するテトラメッシュ定義データが含まれる。処理部21は、例えばコンピュータを含み、テトラメッシュを生成する種々の機能をコンピュータに実行させるためのプログラムが記憶部23に記憶されている。出力部22は、通信装置、リムーバブルメディア書込み装置、ディスプレイ等を含む。
【0016】
図2は、実施例によるテトラメッシュ生成方法のフローチャートである。
ステップS1において、処理部21が、入力部20から入力された三次元形状を定義する形状定義データを取得する。形状定義データは、例えばSTL(Standard Triangulated Language)形式のデータであり、三次元CADを用いて作成される。STL形式のデータは、小さな三角形要素の集合体で三次元形状の表面を再現する。
【0017】
図3は、STL形式で定義された三次元形状30の一例を示す斜視図である。
図3に示した三次元形状のモデルは混錬機のローラーである。
図3では、三次元形状30の表面に配置される複数の三角形要素の頂点に相当する位置に球形の粒子31を示している。平坦な領域及び曲率半径の大きな領域には、大きな三角形要素が配置され、曲率半径の小さな領域には、小さな三角形要素が配置される。
【0018】
ステップS2(
図2)において、処理部21は、形状定義データに基づいて、三次元形状30のエッジを検出する。以下、エッジを検出する方法の一例について説明する。
【0019】
形状定義データの三角形要素の各々に、法線ベクトルを定義することができる。隣り合う三角形要素の法線ベクトルのなす角度が所定のしきい値以下であれば、この2つの三角形要素を同一の区画に属させる。隣り合う三角形要素の法線ベクトルのなす角度が所定のしきい値より大きい場合、この2つの三角形要素を異なる区画に属させる。このしきい値は、例えば30度程度とする。区画の境界をエッジと定義する。
【0020】
図4は、複数の区画を階調の異なるグレーレベルで色分けした三次元形状30の斜視図である。
図5Aは、複数の区画を階調の異なるグレーレベルで色分けした三次元形状30の一部分を拡大した図である。
図4及び
図5Aに示したように、区画の境界にエッジ32が定義される。
図5Bは、エッジ32上の三角形要素の節点に球形の粒子31を表示した図である。
【0021】
ステップS3(
図2)において、エッジ32上に等間隔で複数の節点を配置する。この節点は、テトラメッシュの節点に相当する。節点の間隔は、テトラメッシュを生成する条件として、入力部20(
図1)から入力される。
【0022】
図6は、エッジ32上に配置した複数の節点を示す斜視図である。
図6においては、節点に相当する位置に、球形の粒子35を表示している。本実施例で生成したテトラメッシュを分子動力学法に適用する場合には、テトラメッシュの節点の位置に粒子を配置するため、本明細書において、テトラメッシュの節点を「粒子」という場合がある。テトラメッシュの節点の位置は、粒子の中心位置に相当する。
【0023】
ステップS4(
図2)において、エッジ32上の粒子35(
図5)を発生源として、三次元形状30(
図3)の表面に、表面分布規則に則って粒子36を順次配置する。
図7を参照して、表面分布規則について説明する。
【0024】
図7は、三次元形状30(
図3)の表面上に粒子36を配置する表面分布規則を説明するための図である。ステップS3(
図2)において、エッジ32上に複数の粒子35が等間隔で配置されている。エッジ32上の複数の粒子35のうち隣り合う2つの粒子35aと35bとを発生源として、2つの発生源から等距離(エッジ32上の粒子35の間隔)で、かつ三次元形状30の三角形要素上の位置に、新たに粒子36aを配置する。続いて、粒子35aと36aとに基づいて、同様に新たな粒子36bを配置する。
【0025】
このように、エッジ32上の粒子35、または既に配置した表面上の粒子36の位置に基づいて、三次元形状30の表面を覆いつくすまで同様の処理を繰り返す。この処理により、発生源となるエッジ32上の粒子35から、表面上の粒子36が配置された領域が広がる(成長する)。新たに配置される粒子37の近傍に、既に粒子35または36が配置されている場合には、その粒子37を配置しない。ここで、「近傍」とは、エッジ32上の粒子35の間隔よりも近い範囲を意味する。共通の発生源から成長した領域を均質領域ということとする。
【0026】
図8Aは、三次元形状30の表面を覆いつくした粒子36の分布の一例を示す図である。
図8Bは、
図8Aの一部分を拡大した図である。異なる発生源から成長した2つの均質領域が衝突する位置に欠陥や粒界等が発生した境界38が現れる。この境界38においては、表面分布規則が破綻している。
【0027】
ステップS5(
図2)において、表面上の粒子36を変位させて、均質領域の境界における表面分布規則の破綻を緩和させる。ここで、破綻を緩和させるとは、境界における粒子配置の規則性の乱れを緩和させることを意味する。以下、表面分布規則の破綻を緩和させる処理の一例について説明する。
【0028】
エッジ32上の粒子35及び表面上の粒子36の間の相互作用ポテンシャルを定義する。この相互作用ポテンシャルを用いて運動方程式を解くことにより、仮想的な粒子を移動させる。なお、エッジ32上の粒子35は移動しないものとする。
【0029】
相互作用ポテンシャルとしてバネモデルを用い、斥力のみを考慮する。また、エッジ32上の粒子以外の粒子の粒径をゼロとし、時間の経過とともに粒子を膨張させる、即ち粒径を大きくする。粒子に作用する圧力が所定のしきい値を超えたら、粒子の膨張を停止させる。例えば、隣の粒子と接触するまで膨張したら、当該粒子の膨張を停止させる。粒子同士がほぼ接触した状態で運動方程式を解く場合には、運動方程式のタイムステップを繰り返しても粒子がほとんど移動しない。粒子の粒径の初期値をゼロに設定することにより、粒子を容易に変位させることができる。
【0030】
粒子iに作用する圧力Piは、以下の式で定義される。
【数1】
ここで、jは、粒子iと相互作用する粒子を意味し、V
iは粒子iの体積であり、r
ijは粒子iと粒子jとの距離であり、φ(r
ij)は粒子iと粒子jとの間のポテンシャル関数である。
【0031】
運動方程式を解いて三次元形状30(
図3)の表面上の粒子を移動させると、粒子が表面から逸脱してしまう場合がある。表面から逸脱した粒子は、三次元形状30の表面上に戻す。次に、粒子を表面上に戻す処理について、
図9を参照して説明する。
【0032】
図9は、三次元形状の表面から逸脱した粒子を表面上に戻す処理を説明するための模式図である。表面39上の粒子40が、運動方程式を解いて1タイムステップ進めると粒子40aの位置まで移動する。粒子40aは三次元形状の表面39から逸脱している。このとき、粒子40aを三次元形状の表面39の三角形要素が作る平面に垂直投影した投影像が三角形要素の内部にあり、かつ粒子40aに最も近い投影像40bを定義する。この投影像40bの位置を、運動方程式を解く前の粒子40が移動した後の位置と定義する。通常は、移動後の粒子40aが表面39から逸脱する距離は僅かであるため、粒子40aの位置に最も近い三角形要素が作る平面上に垂直投影した投影像が、上述の投影像40bとして採用される。
【0033】
次に、
図10を参照して、表面から逸脱した粒子40a(
図9)の位置に最も近い三角形要素を見つる方法の一例について説明する。
【0034】
図10は、三次元形状30(
図3)が配置された空間を複数のセル43に分割した状態の模式図である。
図10では、三次元形状30を、その表面に対して垂直方向から見た模式図である。三次元形状30が配置された空間が複数のセル43に分割されている。予め、三角形要素と、その三角形要素が交差するセル43とを関連付けて登録しておく。さらに、いずれの三角形要素とも交差していないセル43については、当該セル43に最も近い位置にある三角形要素と関連付けておく。セル43と三角形要素とを関連付けたデータは、記憶部23(
図1)に記憶されている。
図10に示した例では、ハッチングが付されたセル43が、実線で示した三角形要素44に関連付けられている。
【0035】
運動方程式を解いた後、表面から逸脱した粒子40a(
図9)が含まれるセル43を求める。セル43と三角形要素とを関連付けたデータに基づいて、このセル43に関連付けられている三角形要素を抽出する。このように、三次元形状30が配置されている空間を複数のセル43に分割して、セル43と三角形要素と関連付けておくことにより、表面から逸脱した粒子40a(
図9)の位置に最も近い三角形要素を見つけることができる。
【0036】
図11A~
図11Cは、表面分布規則の破綻を緩和する処理(ステップS5)を行う前の粒子の分布を示す模式図である。
図11Aに示した例では、粒子の分布密度が相対的に高い領域と、相対的に低い領域とが観察される。
図11Bに示した例では、粒子の分布密度が周囲よりも高くなっている領域が観察される。
図11Cに示した例では、粒子の分布密度が局所的に高くなっている領域が観察される。
【0037】
図11D~
図11Fは、それぞれ
図11A~
図11Cに示した例の緩和処理後の粒子の分布を示す模式図である。いずれの例においても、粒子の分布が均等な分布に近づいていることがわかる。このように、ステップS5の緩和処理を行うことにより、三次元形状30の表面上に配置された粒子の分布を均等な分布に近付けることができる。
【0038】
ステップS6(
図2)において、緩和処理を行った後の粒子の位置に基づいて、表面メッシュを作成する。以下、表面メッシュの作成方法について説明する。
【0039】
緩和処理を行った後の粒子の位置に基づいて、ドロネー三角形分割を行う。具体的には、まず、3個の粒子を選択し、この3個の粒子の中心を表面に含む球を考える。ただし、3個の粒子の中心位置から得られる平面と球との交円は大円であるとする。球の内部に他の粒子が存在しなければ、選択した3個の粒子の中心位置を頂点とする三角形を、表面メッシュの一部として採用する。
【0040】
ただし、この方法では、実際には三次元形状30の表面を構成していない三角形が表面メッシュの一部として採用されてしまう場合がある。このような三角形を削除することにより、表面メッシュを完成する。
【0041】
図12は、三次元形状30の表面を構成しない余分な三角形の一例を示す斜視図である。三次元形状30の表面45と表面46とが交線47で交わっている。このように2つの表面が交わっている交線47上の粒子を含む余分な三角形48が表面メッシュの一部として採用されやすい。三次元形状30の表面メッシュを構成する三角形の各々は、3つの辺を介して3つの三角形に連続している。ところが、余分な三角形48は、2つの辺を介してそれぞれ隣の三角形に連続しているが、残りの1つの辺を介して他の三角形に連続していない。この辺は、他の三角形と共有されていない。このように、辺を介して隣り合う三角形の個数が3個ではない三角形を余分な三角形として削除する。
【0042】
このようにして作成した表面メッシュの歪み量Qを計算により求めた。歪み量Qは、以下の式で定義される。
【数2】
ここで、θ
max及びθ
minは、それぞれ表面メッシュを構成する三角形の内角の最大値及び最小値である。θ
eは正三角形の1つの内角の角度、すなわち60°である。表面メッシュのすべての三角形が正三角形であるとき歪み量Q=0になり、三角形のすべての頂点が1本の直線上に並ぶと歪み量Q=1になる。
【0043】
図13は、ステップS5の緩和処理を行うときの運動方程式のタイムステップ数を変えて得られた緩和処理後の表面メッシュの歪み量Qを示す箱ひげ図である。参考のために、市販のメッシュ生成ソフトを用いて生成した表面メッシュの歪み量Qを比較例として示す。
【0044】
緩和処理のタイムステップ数を増やすと、歪み量Qが低下することがわかる。また、本実施例による方法で作成した表面メッシュの歪み量Qは、従来の市販のソフトを使用して作成した表面メッシュの歪み量Qより小さいことがわかる。テトラメッシュを用いて分子動力学法により解析を行う場合には、経験的に歪み量Qが0.5以下であれば十分であることがわかっている。本実施例による方法により、この条件を満たす表面メッシュを生成することができる。
【0045】
ステップS7(
図2)において、三次元形状30の内部に、内部分布規則に則って粒子を配置する。内部分布規則として、例えば、面心立方格子の原子位置に粒子を配置するという規則を採用する。この規則は、面心立方格子構造の金属を分子動力学法によってシミュレーションする場合に特に有効である。なお、体心立方格子構造や六方最密充填構造の金属のシミュレーションを行う場合には、内部分布規則としてこれらの構造の原子位置に粒子を配置するという規則を採用するとよい。
【0046】
次に、粒子の配置方法についてより具体的に説明する。まず、三次元形状30(
図3)の内部、及び表面メッシュをすべて覆うように粒子を配置する。粒子の半径は、内部分布規則に適用される格子構造の原子半径とする。例えば、内部分布規則として面心立方格子を採用する場合、粒子の半径rは格子定数aを用いて以下の式で定義される。
【数3】
【0047】
次に、表面上及びエッジ上の粒子35、36(
図6、
図7)と重なる粒子を削除する。なお、表面上及びエッジ上の粒子35、36の半径は、内部分布規則に則って配置される粒子の半径と同一である。内部分布規則に則って配置した粒子の中心間の距離から、結合している粒子対を求める。結合している粒子同士を同一のグループに分類する。表面上及びエッジ上の粒子35、36と重なる粒子を削除しているため、内部分布規則に則って配置された粒子は2つのグループに分類される。2つのグループの粒子のうち、三次元形状30の外側に配置されていると判定されたグループの粒子を削除する。この結果、三次元形状30の内部のみに粒子を配置することができる。
【0048】
図14Aは、三次元形状30の内部に配置した粒子52、表面上の粒子36、及びエッジ上の粒子35の分布の一例を示す模式図である。内部分布規則に則って配置した粒子のうち、表面上の粒子36及びエッジ上の粒子35と重なる粒子を削除しているため、内部の粒子52の集合と表面上及びエッジ上の粒子36、35の集合との界面に、粒子52の直径より小さい寸法の初期隙間53が生じる。すなわち、内部の粒子52の集合と、表面上及びエッジ上の粒子36、35の集合との界面に、粒子の分布密度が不連続に変化する部分が発生する。
【0049】
ステップS8(
図2)において、内部の粒子52を変位させて粒子の分布密度の不連続を緩和させる。内部の粒子52を変位させる方法は、ステップS5で表面上の粒子を変位させた方法と同一である。なお、内部の粒子52を変位させる処理では、表面から逸脱した粒子を表面上に戻す処理は不要である。また、表面上及びエッジ上の粒子36、35は移動させない。
【0050】
図14Bは、粒子の分布密度の不連続を緩和させる処理を行った後の粒子の分布を示す模式図である。内部の粒子52の集合と表面上及びエッジ上の粒子36、35の集合との界面に生じていた初期隙間53(
図14A)が、ほぼ消滅していることがわかる。
【0051】
ステップS9(
図2)において、内部の粒子52、表面上の粒子36、及びエッジ上の粒子35(
図14B)の中心を頂点とするテトラメッシュを作成する。テトラメッシュの作成には、例えばドロネー三角形分割手法を用いることができる。ただし、この手法により作成したテトラメッシュは、表面メッシュを構成する三角形がテトラメッシュの四面体の面として採用されない状況が生じ得る。
【0052】
図15Aは、表面メッシュを構成する三角形がテトラメッシュの四面体の面として採用されていない例を示す模式図である。三次元形状30(
図3)の表面上に節点I、J、Kが配置され、三次元形状30の内部に節点Lが配置され、節点I、J、Kを含む表面の外側に節点Mが配置されている。節点I、K、L、Mを頂点とする1つの四面体IKLMが作成され、節点J、K、L、Mを頂点とする他の1つの四面体JKLMが作成されている。
図15Aにおいて、2つの四面体の界面KLMにハッチングを付している。この場合、節点I、J、Kを頂点とする三角形IJKが四面体の1つの面として採用されていない。四面体IKLM及び四面体JKLMは、表面メッシュの三角形IJKを貫いている。
【0053】
ステップS10(
図2)において、表面メッシュを構成するすべての三角形がテトラメッシュの四面体の面を構成するように、四面体の頂点の組み合わせを調整する。
【0054】
図15Bは、四面体の頂点の組み合わせを調整した後のテトラメッシュを示す模式図である。以下、四面体の頂点の組み合わせの調整方法について説明する。まず、表面メッシュを貫いている四面体を抽出する。
図15Aの例では、四面体IKLM及び四面体JKLMが抽出される。この2つの四面体の頂点の組み合わせを変えて、2つの四面体IJKL及び四面体IJKMを作成する。
図15Bにおいて、2つの四面体の界面IJKにハッチングを付している。
図15Bに示した例では、表面メッシを構成する三角形IJKが、テトラメッシュの四面体の面として採用されている。
【0055】
3つの四面体が、表面メッシュの隣り合う2つの三角形を貫いている場合も、同様に3つの四面体の頂点の組み合わせを調整する。表面メッシュの隣り合う3つ以上の三角形を複数の四面体が貫いている場合も、同様の処理を行う。
【0056】
ステップS11(
図2)において、不要な四面体、すなわち、三次元形状30の外側の四面体を削除する。次に、不要な四面体を削除する方法について説明する。
【0057】
まず、作成されたテトラメッシュの四面体から表面に位置する四面体を抽出する。例えば、四面体の1つの面を共有する他の四面体が存在しない場合、その面は表面であると判定する。表面と判定された面が表面メッシュの三角形と一致しない場合、当該四面体を削除する。四面体を削除すると、新たに表面が現れるため、新たな表面と表面メッシュの三角形とを比較する。四面体を削除する処理を繰り返すことにより、三次元形状30の外側の四面体が削除され、内部の四面体のみが残る。
【0058】
図16Aは、最終的に作成されたテトラメッシュの斜視図である。
図16Bは、余分な四面体を削除する前のテトラメッシュの斜視図である。
図16Bに示したテトラメッシュは、表面の窪みを埋め込むように三次元形状30の外側に配置された四面体を含んでいる。三次元形状30の外側の四面体を削除することにより、
図16Aに示したテトラメッシュが得られる。
【0059】
図17は、三次元形状30の内部に形成されたテトラメッシュの形状を示す破断斜視図、及び断面の一部を拡大した断面図である。三次元形状30の表面から離れた内奥部においては、ほぼ面心立方格子に相当するテトラメッシュが形成されていることがわかる。ステップS8(
図2)での緩和処理では、内奥部の粒子は実質的にほとんど移動しない。このため、内奥部には、内部分布規則に則った粒子52の配置が維持されている。内奥部と表面との間の空間、特に表層部においては、粒子52が変位することにより、内部分布規則に則った位置からややずれた位置に粒子52が配置されることになる。
【0060】
次に、上記実施例の優れた効果について説明する。
上記実施例では、三次元形状の内奥部に、シミュレーション対象の原子配置を反映した形状のテトラメッシュを生成することができる。また、三次元形状の表面やエッジには、ほぼ均等に粒子を配置することができる。内奥部と表面との間の空間においては、内部分布規則に則った位置からずれて粒子を配置するため、内奥部のテトラメッシュと、表面のテトラメッシュとのメッシュ形状の不連続性を緩和させることができる。
【0061】
このテトラメッシュの節点に粒子を配置して、分子動力学法またはくりこみ群分子動力学法を用いて粒子の挙動をシミュレーションすることにより、シミュレーションの精度を高めることができる。
【0062】
本発明は上述の実施例に制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。
【符号の説明】
【0063】
20 入力部
21 処理部
22 出力部
23 記憶部
30 三次元形状
31 三次元形状を反映する三角形要素の頂点に位置する粒子
32 三次元形状のエッジ
35、35a、35b エッジ上の粒子
36、36a、36b 表面上の粒子
37 配置しない粒子
38 境界
39 三次元形状の表面
40 運動方程式を解く前の粒子
40a 運動方程式を解いて1タイムステップ進ませた後の粒子
40b 表面への垂直投影像
43 セル
44 三次元形状の表面の三角形要素
45、46 三次元形状の表面
47 交線
48 表面を構成しない余分な三角形
52 内部の粒子
53 初期隙間