図面 (/)
課題
解決手段
本発明は、有限要素法による解析対象について生成した第1メッシュから、その解析対象について第1メッシュとは別に生成した第2メッシュへ、データを授受するメッシュ間データ授受方法である。先ず、第1メッシュを構成する複数の要素および/または節点と第2メッシュを構成する複数の要素および/または節点とをそれぞれ、解析対象の形状に基づく所定の配列方向に沿って並び替える(配列ステップ)。次に、配列方向に沿って順に、授受元である第1メッシュの要素および/または節点にそれぞれ保有されているデータを、授受先である第2メッシュの要素および/または節点へ引き渡す(授受ステップ)。配列順序に沿った検索により、データ授受先の節点等を短時間で抽出できる。
概要
背景
複雑な有形状の部材を設計する際、CAE(Computer Aided Engineering)を用いた数値解析(シミュレーション)等により、その部材に生じ得る応力分布や温度分布等が予め評価される。このような数値解析は、通常、解析対象(解析モデル)を細かな要素に分割したメッシュ(モデル)に、有限要素法(FEM:Finite Element Method)を適用してなされる。
ところで、解析対象は同じでも、解析途中でメッシュが再生成(リメッシュ)されたり、解析内容に応じてメッシュが個別に生成されたりする。例えば、成形時の変形を同じソフトウェアで評価する場合でも、成形中におけるメッシュの歪みが大きくなり、メッシュ品質が劣化する場合、リメッシュがなされる。また、例えば、成形形状と成形後の強度とを異なるソフトウェアで評価する場合、各ソフトウェア毎に解析に適したメッシュが生成される。このような場合、先行するメッシュモデルで行った解析結果を、後行するメッシュモデルに引き継ぐこと、つまり、異なるメッシュ間で解析データを授受することが必要となる。
概要
有限要素法による数値解析を行うときに生成される異なるメッシュ間で、データ授受を短時間に行える方法を提供する。本発明は、有限要素法による解析対象について生成した第1メッシュから、その解析対象について第1メッシュとは別に生成した第2メッシュへ、データを授受するメッシュ間データ授受方法である。先ず、第1メッシュを構成する複数の要素および/または節点と第2メッシュを構成する複数の要素および/または節点とをそれぞれ、解析対象の形状に基づく所定の配列方向に沿って並び替える(配列ステップ)。次に、配列方向に沿って順に、授受元である第1メッシュの要素および/または節点にそれぞれ保有されているデータを、授受先である第2メッシュの要素および/または節点へ引き渡す(授受ステップ)。配列順序に沿った検索により、データ授受先の節点等を短時間で抽出できる。
目的
効果
実績
- 技術文献被引用数
- 0件
- 牽制数
- 0件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
有限要素法による解析対象について生成した第1メッシュから、該解析対象について該第1メッシュとは別に生成した第2メッシュへ、データを授受するメッシュ間データ授受方法であって、該第1メッシュを構成する複数の要素および/または節点と該第2メッシュを構成する複数の要素および/または節点とをそれぞれ、所定の配列方向に沿って並び替える配列ステップと、該配列方向に沿って順に、授受元である該第1メッシュの要素および/または節点にそれぞれ保有されているデータを、授受先である該第2メッシュの要素および/または節点へ引き渡す授受ステップと、を備えるメッシュ間データ授受方法。
請求項2
前記授受ステップは、前記第1メッシュの要素および/または節点のそれぞれから、所定範囲内で検索された一つ以上の前記第2メッシュの要素および/または節点へ、一律にデータを引き渡す請求項1に記載のメッシュ間データ授受方法。
請求項3
前記授受ステップは、前記第1メッシュの要素および/または節点のそれぞれから、授受元である該第1メッシュの要素および/または節点に近い前記第2メッシュの要素および/または節点へ、優先してデータを引き渡す請求項1に記載のメッシュ間データ授受方法。
請求項4
前記配列ステップの配列方向は、前記解析対象の最長寸法の方向である請求項1〜3のいずれかに記載のメッシュ間データ授受方法。
技術分野
背景技術
0002
複雑な有形状の部材を設計する際、CAE(Computer Aided Engineering)を用いた数値解析(シミュレーション)等により、その部材に生じ得る応力分布や温度分布等が予め評価される。このような数値解析は、通常、解析対象(解析モデル)を細かな要素に分割したメッシュ(モデル)に、有限要素法(FEM:Finite Element Method)を適用してなされる。
0003
ところで、解析対象は同じでも、解析途中でメッシュが再生成(リメッシュ)されたり、解析内容に応じてメッシュが個別に生成されたりする。例えば、成形時の変形を同じソフトウェアで評価する場合でも、成形中におけるメッシュの歪みが大きくなり、メッシュ品質が劣化する場合、リメッシュがなされる。また、例えば、成形形状と成形後の強度とを異なるソフトウェアで評価する場合、各ソフトウェア毎に解析に適したメッシュが生成される。このような場合、先行するメッシュモデルで行った解析結果を、後行するメッシュモデルに引き継ぐこと、つまり、異なるメッシュ間で解析データを授受することが必要となる。
先行技術
0004
特開2005−250647号公報
特開2012−190444号公報
発明が解決しようとする課題
0005
異なるメッシュ間のデータ授受は、従来、授受元(渡す側)である節点または要素(単に「節点等」という。)毎に、それらに最も近い授受先(受取る側)の節点等を、授受先の全節点等から検索・抽出してなされていた。
0006
例えば、図1に示すように、授受元のメッシュAの各節点a1〜a5に保存されている解析データを、授受元のメッシュBの各節点b1〜b5のいずれかに受け渡す場合を考える。従来の方法では、全節点b1〜b5を授受先の候補として等しく扱い、その全体の中から、授受元の節点(a1〜a5)に最近接なものを抽出(検索)する処理を、節点a1〜a5毎に繰り返し行っていた。このため、5つのデータの授受に、従来は5×5=25回の演算処理が必要であった。
0007
実際の数値解析では、図1に示す設例よりも、節点数や要素数が遙かに多く(例えば数千〜数十万)、データ授受に必要となる演算処理回数は膨大となる。このため、異なるメッシュ間でデータを授受するだけでも、非常に長い処理時間が費やされていた。
0009
なお、上記の特許文献1と特許文献2には、メッシュに関連する記載はあるものの、異なるメッシュ間におけるデータ授受に関する記載はない。
課題を解決するための手段
0010
本発明者は上述した課題を解決すべく鋭意研究した結果、データ授受前に、授受元と授受先の節点等を予め所定の方向に沿って配列しておくことを着想した。これにより、授受元の節点等に対応する授受先の節点等の検索範囲が絞り込まれ、授受先の抽出に要する時間が大幅に短縮されるようになった。この成果を発展させることにより、以降に述べる本発明を完成するに至った。
0011
《メッシュ間データ授受方法》
(1)本発明は、有限要素法による解析対象について生成した第1メッシュから、該解析対象について該第1メッシュとは別に生成した第2メッシュへ、データを授受するメッシュ間データ授受方法であって、該第1メッシュを構成する複数の要素および/または節点と該第2メッシュを構成する複数の要素および/または節点とをそれぞれ、所定の配列方向に沿って並び替える配列ステップと、該配列方向に沿って順に、授受元である該第1メッシュの要素および/または節点にそれぞれ保有されているデータを、授受先である該第2メッシュの要素および/または節点へ引き渡す授受ステップと、を備えるメッシュ間データ授受方法である。
0012
(2)本発明のメッシュ間データ授受方法(単に「データ授受方法」ともいう。)によれば、異なるメッシュ間のデータ授受に要する時間が大幅に短縮され得る。この理由は次の通りである。本発明の場合、データ授受に係る各メッシュを構成する節点および/または要素(単に「節点等」という。)が、データ授受前に、ある方向に沿って予め配列されている。この配列順序に沿って、授受元の節点等に対応する授受先の節点等を検索または抽出する場合、授受先の節点等の全部を候補(検索範囲)とする必要がなく、所定の検索範囲内だけで、授受先の節点等を十分に抽出できる。この結果、授受元の節点等に対応する授受先の節点等の検索・抽出を効率的に短時間内で行うことが可能となる。
0013
《プログラムとシステム》
本発明は、上述したステップをコンピュータに実行させるメッシュ間データ授受プログラムとしても把握できる。また、そのメッシュ間データ授受プログラムと、メッシュ間データ授受プログラムを実行するコンピュータとを備えるメッシュ間データ授受システム(または装置)としても把握できる。
0014
《その他》
本明細書でいう「〜ステップ」(方法の構成要素)と「〜手段」(物の構成要素)は、本発明の対象(方法の発明か物の発明)に応じて、相互に言換えることができる。また、「〜手段」は「〜部」と換言することもできる。
図面の簡単な説明
0015
データの授受元の節点とその授受先の節点との初期状態を示す一例である。
各節点を所定の方向(Y座標)に沿って並び替えた後の状態を示す一例である。
授受元の各節点と検索された一つ以上の授受先の節点との対応関係を示す一例である。
メッシュ間のデータ授受に係るフローチャートの一部である。
メッシュ間のデータ授受に係るフローチャートの残部である。
0016
上述した本発明の構成要素に、本明細書中から任意に選択した一つまたは二つ以上の構成要素を付加し得る。本明細書で説明する内容は、データ授受方法のみならず、そのプログラムやシステム等にも適宜該当する。
0017
《配列ステップ》
各メッシュの節点等を配列(並び替え)する方向は任意に設定され得る。例えば、各節点等をある起点からの距離(長さ)の大小順に並べるなら、配列方向は、同じメッシュ内において、各節点等の距離の大小が特定される方向がよい。なお、要素(面または立体)に係る距離は、例えば、その中心(要素重心)との距離とすればよい。
0018
メッシュは解析対象の形状に沿って生成されるため、配列方向も解析対象の形状(特徴)に基づいて設定さると好ましい。解析対象の形状に基づいて設定される配列方向を、適宜、形状特徴方向ともいう。
0019
具体的にいうと、配列方向は、例えば、解析対象の最長寸法の方向、またはそれを反映した座標軸の方向等とするとよい。解析対象の形状がある座標軸に沿っていないときは、座標変換した座標軸に沿って配列方向(形状特徴方向)を設定してもよい。なお、座標軸は、デカルト座標の他、解析対象に応じて、極座標、円筒座標等でもよい。座標系は、有限要素法の次数に応じて、二次元でも三次元でもよい。
0020
《授受ステップ》
(1)検索・抽出
授受元の節点等から授受先の節点等へのデータ授受は、上述した配列方向に沿って、その一方(一端側)から順になされる。ある授受元の節点等に対する授受先の節点等の検索範囲は、授受元と授受先の各メッシュサイズに応じて、調整されるとよい。但し、データ授受がされない授受先の節点等が発生しない検索範囲であると好ましい。
0021
検索範囲を狭く(小さく)すると、授受元に対応する授受先の節点等が短時間で抽出され得る。検索範囲を広く(大きく)すると、授受元に対応する授受先の節点等が漏れなく確実に抽出され得る。節点等が距離(長さ)の大小順に配列されるとき、検索範囲は、例えば、最大要素辺長(特に授受先の最大要素辺長)の1〜5倍程度にするとよい。
0022
(2)データ授受
データ授受は、例えば、授受元である第1メッシュの要素および/または節点のそれぞれから、所定範囲内で検索された一つ以上の第2メッシュの要素および/または節点へ、一律にデータを引き渡してなされる。この場合、第1メッシュの節点等が有するデータは、検索された第2メッシュの節点等へそのまま受け渡されるため、メッシュ間のデータ授受が短時間で効率的になされる。
0023
複数の第1メッシュの節点等に対して、同じ第2メッシュの節点等が重複検索されることがある。このような第2メッシュの節点等には、最後に検索された第1メッシュの節点等にあったデータが受渡し(つまり上書き)される。この場合、必ずしも、最近接な節点等の間でデータ授受がなされることにはならない。しかし、配列後の各節点等の間の距離差は僅かであるため、そのようなデータ授受でも、第2メッシュによる解析結果への影響は少ない。
0024
勿論、最近接な節点等の間でデータ授受がなされるようにしてもよい。すなわち、第1メッシュの要素および/または節点のそれぞれから、授受元である第1メッシュの要素および/または節点に近い第2メッシュの要素および/または節点へ、優先してデータを引き渡すとよい。例えば、授受元である第1メッシュの節点等に対応する授受先である第2メッシュの節点等を検察する毎に、データ授受を行う節点等の間の距離を求め、その距離を第2メッシュの節点等の付属データとして保存しておく。或る第2メッシュの節点等が重複検索されたとき、先に検索された第1メッシュの節点等との距離と、後に検索された別な第1メッシュの節点等との距離とを比較する。後者の距離が短いときだけ、後の第1メッシュの節点等が保有していたデータを、その第2メッシュの節点等に渡す(上書きする)。こうにすれば、最近接な節点等の間で、優先的なデータ授受がなされるようになる。
0025
《メッシュ》
メッシュサイズ(分割数)、メッシュタイプ等は適宜調整される。メッシュタイプ(要素の形状)は、例えば、二次元(シェル)要素なら三角形や四角形、三次元要素なら三角錐や角柱等である。データの授受は、節点間同士、要素間同士、さらには節点と要素の間でなされてもよい。要素に関する遠近(距離の大小)は、例えば、要素の中心(重心)に基づいて判断され得る。要素の中心(重心)は、要素を構成する節点の座標等から算出される。なお、本明細書でいう節点には、中間節点も含まれる。
0026
メッシュ間のデータ授受は、通常、同一の解析対象に対してなされ、データ授受時のモデル形状は基本的に同じである。但し、厳密にいうと、生成されるメッシュが異なると、各要素が連結されて画定されるメッシュモデルの形状は、僅かに相違し得る。
0027
第1メッシュと第2メッシュは、同じソフトウェア内で生成されたものでも、異なるソフトウェアで生成されたものでもよい。第1メッシュから第2メッシュへ授受されるデータの種類は問わない。通常、第1メッシュに基づく解析結果が、第2メッシュへ受け渡される。データ授受に伴い、第2メッシュの各節点等には、関連情報(例えば授受元の節点等との距離)が新たに付加(生成)されてもよい。
0028
メッシュ間データ授受方法に関する想定事例を示しつつ、以下で本発明をより具体的に説明する。
0029
《システム》
本実施例に係るメッシュ間データ授受システムは、汎用または専用のコンピュータと、そのコンピュータ上で実行されるプログラムとにより構成される。コンピュータは、演算部(CPU等)、データやプログラムを一時的または長期的に保存する保存部(ROM、RAM、HDD、SSD等)、表示部(ディスプレー等)、入出力部(キーボード、マウス、通信インターフェース等)などを備える。コンピュータは、専用機でも汎用機(パーソナルコンピュータ(PC)等)でもよい。プログラムは、コンピュータに一時的または長期的にインストールされて、後述するメッシュ間データ授受方法に係る各ステップを実行する。プログラムは、専用ソフトウェアでも、汎用ソフトウェアを利用したものでもよい。なお、各ステップを実行するプログラム部分が各手段となる。
0030
《事例》
二次元のメッシュA(第1メッシュ)の各節点に保存されている解析データを、二次元のメッシュB(第2メッシュ)の各節点へ受け渡す場合を想定した事例を、図1〜図3に示した。先ず、この簡潔な事例に基づいて、本発明を具体的に説明する。
0031
メッシュAは節点番号a1〜a5である5つの節点を有する。メッシュBも節点番号b1〜b5である5つの節点を有する。各節点には、図1〜図3に示すように、節点情報(位置情報)として座標(X、Y)が付与(生成)されている。
0032
各節点は、当初、図1に示すように配列されていたとする。次に、Y座標軸方向を形状特徴方向(配列方向)として、図2に示すように、各節点をY座標値の大きい方から順番に並び替える(配列ステップの一例)。
0033
さらに、配列後のメッシュAの各節点(授受元)のY座標値を起点として、Y座標値が±2(検索範囲)内となる配列後のメッシュBの節点(授受先)を検索する。例えば、図3に示すように、節点a5の授受先として、Y座標値が9±2(=11〜7)の範囲内にある節点b1と節点b5が抽出される。そして、メッシュAの節点a5に保存されていたデータが、節点b1と節点b5に保存(上書き)される。こうして、節点a5から節点b1と節点b5へデータ授受がなされる(授受ステップの一例)。
0034
同様に、再配列後の節点a2の授受先として、Y座標値が6±2(=8〜4)の範囲内にある節点b1、節点b5および節点b3が抽出される。そして、メッシュAの節点a2に保存されていたデータが、節点b1、節点b5および節点b3に上書き保存される。これにより、節点b1と節点b5に保存されるデータは、既に保存されていた節点a5のデータから、節点a2のデータに更新される。
0035
同様の処理が繰り返されることにより、メッシュBの全節点に、メッシュAの各節点から受け渡されたデータが保存される。なお、最終的に、節点a5のデータは、メッシュBに受渡しされないことになるが、メッシュBに基づく数値解析に実質的な影響はない。
0036
以上のように、授受先の節点が検索される毎に、その節点のデータを授受元の節点のデータで上書き保存(更新)する簡易処理の他、授受される節点間同士の距離を考慮した厳密処理がなされてもよい。例えば、授受される節点間の距離が、先に授受された節点間の距離よりも小さくなるときだけ、節点のデータを更新(上書き保存)するようにしてもよい(厳密処理)。
0037
一例として節点b3を観ると、先に授受された節点a2と節点b3の距離と、後に授受される節点a1と節点b3の距離とは等しい。つまり、後の授受時に節点間の距離は小さくなっていない。このため、節点b3のデータは、簡易処理なら最新の検索でヒットした節点a1のデータによって更新されるが、厳密処理なら節点a2のデータのまま維持されることになる。
0038
《フローチャート》
以上を踏まえて、異なるメッシュ間の節点間で、データ授受を行うときのフローチャートの一例を図4Aおよび図4Bに示した。以下、そのフローチャートに示した各処理について詳述する。なお、ここでは、一例として、節点間におけるデータ授受を示すが、要素間または要素と節点の間でも同様である。
0039
ステップS11で、メッシュAの各節点の情報を読み込む。メッシュAに係る情報には、節点の座標等の位置情報(節点情報)の他、解析データ等が含まれる。ステップS12で、メッシュBの各節点の情報を読み込む。メッシュBに係る情報は、節点の位置情報(座標)等である。
0040
ステップS13で、解析対象に応じた配列方向(形状特徴方向)を特定する。起点から各節点までの距離の大小が明確な方向が選択、抽出されるとよい。例えば、解析対象の最長寸法方向に沿った座標軸方向を配列方向とするとよい。なお、配列方向は、解析対象に応じて自動的に特定されてもよいし、個別に入力して設定されてもよい。
0041
ステップS14で、メッシュAの各節点を配列方向に沿って並べ替える(配列ステップの一例)。同様に、ステップS15で、メッシュAの各節点を配列方向に沿って並べ替える(配列ステップの一例)。なお、配列方向が座標軸方向の場合なら、座標値の大きい方または小さい方から順に、各節点を配列するとよい。
0042
ステップS16で、メッシュAの各節点(授受元)に対して抽出するメッシュBの節点(授受先)の検索範囲を特定する。検索範囲は、メッシュBの節点に抽出漏れ(歯抜け)が生じない程度であるとよい。
0043
ステップS17で、データ授受を簡易処理によるか、厳密処理によるかを選択する。簡易処理が選択されたときはステップS21に進み、厳密処理が選択されたときはステップS31へ進む。
0044
ステップS21では、ステップS16で特定された検索範囲内で、メッシュAの節点a(N)のデータの授受先であるメッシュBの節点b(M)を検索して抽出する。なお、N、Mは節点番号を示す整数である。
0045
ステップS22で、メッシュAの節点a(N)に保存されているデータを、抽出されたメッシュBの節点b(M)に(上書き)保存する。こうして、節点a(N)から節点b(M)へデータが授受される(授受ステップの一例)。
0046
ステップS23により、ステップS21およびステップS22の操作を、メッシュAの全ての節点a(N)について完了するまで繰り返し行う。
0047
一方、ステップS31では、ステップS21と同様に、メッシュAの節点a(N)のデータの授受先であるメッシュBの節点b(M)を検索・抽出する。ステップS32では、ステップS22と同様に、メッシュAの節点a(N)に保存されているデータを、抽出されたメッシュBの節点b(M)に一旦保存する。
0048
ステップS33で、データの授受元である節点a(N)と、データの授受先である各節点b(M)との間の距離を計算する。その計算結果(距離)を、各節点b(M)の付属データとして保存する。
0049
ステップS34で、メッシュAの次の節点a(N+1)のデータの授受先であるメッシュBの節点b(W)を検索・抽出する。なお、Wも節点番号を示す整数である。
0050
ステップS35で、節点b(W)にデータが既に保存されているかを判断する。節点b(W)にデータが保存されていないとき、ステップS36に進み、ステップS32と同様に、メッシュAの節点a(N+1)に保存されているデータを、抽出されたメッシュBの節点b(W)に一旦保存する。
0051
ステップS35で、節点b(W)に先行するデータが既に保存されていたとき、ステップS37に進み、データの授受元である節点a(N+1)と、データの授受先である各節点b(W)との間の距離を計算する。
0052
ステップS38で、節点b(M)の付属データとして節点b(W)に既に保存されている距離と、新たに算出された節点a(N+1)と節点b(W)の間の距離とを比較する。前者の距離より、後者の距離が小さくないとき、ステップS39に進み、節点b(W)の情報を変更せずに保持(維持)する。つまり、節点a(N+1)から節点b(W)へのデータ授受や付属データの更新等は行わない。
0053
ステップS38で、前者の距離より後者の距離が小さいとき、ステップS40に進み、メッシュAの節点a(N+1)に保存されているデータを、メッシュBの節点b(W)に上書き保存する(授受ステップの一例)。
0054
ステップS41で、節点a(N+1)と節点b(W)との間の距離を、節点b(W)の付属データとして、上書き保存(更新)する。
0055
ステップS42により、ステップS34〜ステップS41までの各操作を、メッシュAの全ての節点a(N+1)について完了するまで繰り返し行う。
0056
このような処理により、メッシュAから別のメッシュBへのデータ授受が、短時間内に完了される。
0057
《測定》
異なるメッシュ間で、解析結果(データ)の受渡しを行ったときの処理時間を実際に計測した。具体的には、図4Aと図4Bに示したフローチャートを、プログラム言語(FORTRAN)で組み込んだ自作プログラムを実行したときの処理時間を計測した。メッシュAは、節点数:59,933、要素数:241,468とした。メッシュBは、節点数:49,171、要素数:161,976とした。メッシュBは、同一ソフトウェア内で、メッシュAをリメッシュして生成された。データの授受は、メッシュAの節点とメッシュBの節点との間で行った。