(57)【要約】【課題】有限要素法による数値解析を行うときに生成される異なるメッシュ間で、データ授受を短時間に行える方法を提供する。【解決手段】本発明は、有限要素法による解析対象について生成した第１メッシュから、その解析対象について第１メッシュとは別に生成した第２メッシュへ、データを授受するメッシュ間データ授受方法である。先ず、第１メッシュを構成する複数の要素および／または節点と第２メッシュを構成する複数の要素および／または節点とをそれぞれ、解析対象の形状に基づく所定の配列方向に沿って並び替える（配列ステップ）。次に、配列方向に沿って順に、授受元である第１メッシュの要素および／または節点にそれぞれ保有されているデータを、授受先である第２メッシュの要素および／または節点へ引き渡す（授受ステップ）。配列順序に沿った検索により、データ授受先の節点等を短時間で抽出できる。【選択図】図３
2020177320.tif 000002
【特許請求の範囲】
【請求項１】
有限要素法による解析対象について生成した第１メッシュから、該解析対象について該第１メッシュとは別に生成した第２メッシュへ、データを授受するメッシュ間データ授受方法であって、
該第１メッシュを構成する複数の要素および／または節点と該第２メッシュを構成する複数の要素および／または節点とをそれぞれ、所定の配列方向に沿って並び替える配列ステップと、
該配列方向に沿って順に、授受元である該第１メッシュの要素および／または節点にそれぞれ保有されているデータを、授受先である該第２メッシュの要素および／または節点へ引き渡す授受ステップと、
を備えるメッシュ間データ授受方法。
【請求項２】
前記授受ステップは、前記第１メッシュの要素および／または節点のそれぞれから、所定範囲内で検索された一つ以上の前記第２メッシュの要素および／または節点へ、一律にデータを引き渡す請求項１に記載のメッシュ間データ授受方法。
【請求項３】
前記授受ステップは、前記第１メッシュの要素および／または節点のそれぞれから、授受元である該第１メッシュの要素および／または節点に近い前記第２メッシュの要素および／または節点へ、優先してデータを引き渡す請求項１に記載のメッシュ間データ授受方法。
【請求項４】
前記配列ステップの配列方向は、前記解析対象の最長寸法の方向である請求項１〜３のいずれかに記載のメッシュ間データ授受方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有限要素法の解析時に生成される異なるメッシュ間におけるデータ授受方法等に関する。
【背景技術】
【０００２】
複雑な有形状の部材を設計する際、ＣＡＥ（Computer Aided Engineering）を用いた数値解析（シミュレーション）等により、その部材に生じ得る応力分布や温度分布等が予め評価される。このような数値解析は、通常、解析対象（解析モデル）を細かな要素に分割したメッシュ（モデル）に、有限要素法（ＦＥＭ：Finite Element Method）を適用してなされる。
【０００３】
ところで、解析対象は同じでも、解析途中でメッシュが再生成（リメッシュ）されたり、解析内容に応じてメッシュが個別に生成されたりする。例えば、成形時の変形を同じソフトウェアで評価する場合でも、成形中におけるメッシュの歪みが大きくなり、メッシュ品質が劣化する場合、リメッシュがなされる。また、例えば、成形形状と成形後の強度とを異なるソフトウェアで評価する場合、各ソフトウェア毎に解析に適したメッシュが生成される。このような場合、先行するメッシュモデルで行った解析結果を、後行するメッシュモデルに引き継ぐこと、つまり、異なるメッシュ間で解析データを授受することが必要となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５０６４７号公報
【特許文献２】特開２０１２−１９０４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
異なるメッシュ間のデータ授受は、従来、授受元（渡す側）である節点または要素（単に「節点等」という。）毎に、それらに最も近い授受先（受取る側）の節点等を、授受先の全節点等から検索・抽出してなされていた。
【０００６】
例えば、図１に示すように、授受元のメッシュＡの各節点ａ１〜ａ５に保存されている解析データを、授受元のメッシュＢの各節点ｂ１〜ｂ５のいずれかに受け渡す場合を考える。従来の方法では、全節点ｂ１〜ｂ５を授受先の候補として等しく扱い、その全体の中から、授受元の節点（ａ１〜ａ５）に最近接なものを抽出（検索）する処理を、節点ａ１〜ａ５毎に繰り返し行っていた。このため、５つのデータの授受に、従来は５×５＝２５回の演算処理が必要であった。
【０００７】
実際の数値解析では、図１に示す設例よりも、節点数や要素数が遙かに多く（例えば数千〜数十万）、データ授受に必要となる演算処理回数は膨大となる。このため、異なるメッシュ間でデータを授受するだけでも、非常に長い処理時間が費やされていた。
【０００８】
本発明はこのような事情に鑑みて為されたものであり、メッシュ間のデータ授受に要する処理時間（演算時間）を大幅に短縮できるメッシュ間データ授受方法等を提供することを目的とする。
【０００９】
なお、上記の特許文献１と特許文献２には、メッシュに関連する記載はあるものの、異なるメッシュ間におけるデータ授受に関する記載はない。
【課題を解決するための手段】
【００１０】
本発明者は上述した課題を解決すべく鋭意研究した結果、データ授受前に、授受元と授受先の節点等を予め所定の方向に沿って配列しておくことを着想した。これにより、授受元の節点等に対応する授受先の節点等の検索範囲が絞り込まれ、授受先の抽出に要する時間が大幅に短縮されるようになった。この成果を発展させることにより、以降に述べる本発明を完成するに至った。
【００１１】
《メッシュ間データ授受方法》
（１）本発明は、有限要素法による解析対象について生成した第１メッシュから、該解析対象について該第１メッシュとは別に生成した第２メッシュへ、データを授受するメッシュ間データ授受方法であって、該第１メッシュを構成する複数の要素および／または節点と該第２メッシュを構成する複数の要素および／または節点とをそれぞれ、所定の配列方向に沿って並び替える配列ステップと、該配列方向に沿って順に、授受元である該第１メッシュの要素および／または節点にそれぞれ保有されているデータを、授受先である該第２メッシュの要素および／または節点へ引き渡す授受ステップと、を備えるメッシュ間データ授受方法である。
【００１２】
（２）本発明のメッシュ間データ授受方法（単に「データ授受方法」ともいう。）によれば、異なるメッシュ間のデータ授受に要する時間が大幅に短縮され得る。この理由は次の通りである。本発明の場合、データ授受に係る各メッシュを構成する節点および／または要素（単に「節点等」という。）が、データ授受前に、ある方向に沿って予め配列されている。この配列順序に沿って、授受元の節点等に対応する授受先の節点等を検索または抽出する場合、授受先の節点等の全部を候補（検索範囲）とする必要がなく、所定の検索範囲内だけで、授受先の節点等を十分に抽出できる。この結果、授受元の節点等に対応する授受先の節点等の検索・抽出を効率的に短時間内で行うことが可能となる。
【００１３】
《プログラムとシステム》
本発明は、上述したステップをコンピュータに実行させるメッシュ間データ授受プログラムとしても把握できる。また、そのメッシュ間データ授受プログラムと、メッシュ間データ授受プログラムを実行するコンピュータとを備えるメッシュ間データ授受システム（または装置）としても把握できる。
【００１４】
《その他》
本明細書でいう「〜ステップ」（方法の構成要素）と「〜手段」（物の構成要素）は、本発明の対象（方法の発明か物の発明）に応じて、相互に言換えることができる。また、「〜手段」は「〜部」と換言することもできる。
【図面の簡単な説明】
【００１５】
【図１】データの授受元の節点とその授受先の節点との初期状態を示す一例である。
【図２】各節点を所定の方向（Ｙ座標）に沿って並び替えた後の状態を示す一例である。
【図３】授受元の各節点と検索された一つ以上の授受先の節点との対応関係を示す一例である。
【図４Ａ】メッシュ間のデータ授受に係るフローチャートの一部である。
【図４Ｂ】メッシュ間のデータ授受に係るフローチャートの残部である。
【発明を実施するための形態】
【００１６】
上述した本発明の構成要素に、本明細書中から任意に選択した一つまたは二つ以上の構成要素を付加し得る。本明細書で説明する内容は、データ授受方法のみならず、そのプログラムやシステム等にも適宜該当する。
【００１７】
《配列ステップ》
各メッシュの節点等を配列（並び替え）する方向は任意に設定され得る。例えば、各節点等をある起点からの距離（長さ）の大小順に並べるなら、配列方向は、同じメッシュ内において、各節点等の距離の大小が特定される方向がよい。なお、要素（面または立体）に係る距離は、例えば、その中心（要素重心）との距離とすればよい。
【００１８】
メッシュは解析対象の形状に沿って生成されるため、配列方向も解析対象の形状（特徴）に基づいて設定さると好ましい。解析対象の形状に基づいて設定される配列方向を、適宜、形状特徴方向ともいう。
【００１９】
具体的にいうと、配列方向は、例えば、解析対象の最長寸法の方向、またはそれを反映した座標軸の方向等とするとよい。解析対象の形状がある座標軸に沿っていないときは、座標変換した座標軸に沿って配列方向（形状特徴方向）を設定してもよい。なお、座標軸は、デカルト座標の他、解析対象に応じて、極座標、円筒座標等でもよい。座標系は、有限要素法の次数に応じて、二次元でも三次元でもよい。
【００２０】
《授受ステップ》  
（１）検索・抽出
授受元の節点等から授受先の節点等へのデータ授受は、上述した配列方向に沿って、その一方（一端側）から順になされる。ある授受元の節点等に対する授受先の節点等の検索範囲は、授受元と授受先の各メッシュサイズに応じて、調整されるとよい。但し、データ授受がされない授受先の節点等が発生しない検索範囲であると好ましい。
【００２１】
検索範囲を狭く（小さく）すると、授受元に対応する授受先の節点等が短時間で抽出され得る。検索範囲を広く（大きく）すると、授受元に対応する授受先の節点等が漏れなく確実に抽出され得る。節点等が距離（長さ）の大小順に配列されるとき、検索範囲は、例えば、最大要素辺長（特に授受先の最大要素辺長）の１〜５倍程度にするとよい。
【００２２】
（２）データ授受
データ授受は、例えば、授受元である第１メッシュの要素および／または節点のそれぞれから、所定範囲内で検索された一つ以上の第２メッシュの要素および／または節点へ、一律にデータを引き渡してなされる。この場合、第１メッシュの節点等が有するデータは、検索された第２メッシュの節点等へそのまま受け渡されるため、メッシュ間のデータ授受が短時間で効率的になされる。
【００２３】
複数の第１メッシュの節点等に対して、同じ第２メッシュの節点等が重複検索されることがある。このような第２メッシュの節点等には、最後に検索された第１メッシュの節点等にあったデータが受渡し（つまり上書き）される。この場合、必ずしも、最近接な節点等の間でデータ授受がなされることにはならない。しかし、配列後の各節点等の間の距離差は僅かであるため、そのようなデータ授受でも、第２メッシュによる解析結果への影響は少ない。
【００２４】
勿論、最近接な節点等の間でデータ授受がなされるようにしてもよい。すなわち、第１メッシュの要素および／または節点のそれぞれから、授受元である第１メッシュの要素および／または節点に近い第２メッシュの要素および／または節点へ、優先してデータを引き渡すとよい。例えば、授受元である第１メッシュの節点等に対応する授受先である第２メッシュの節点等を検察する毎に、データ授受を行う節点等の間の距離を求め、その距離を第２メッシュの節点等の付属データとして保存しておく。或る第２メッシュの節点等が重複検索されたとき、先に検索された第１メッシュの節点等との距離と、後に検索された別な第１メッシュの節点等との距離とを比較する。後者の距離が短いときだけ、後の第１メッシュの節点等が保有していたデータを、その第２メッシュの節点等に渡す（上書きする）。こうにすれば、最近接な節点等の間で、優先的なデータ授受がなされるようになる。
【００２５】
《メッシュ》
メッシュサイズ（分割数）、メッシュタイプ等は適宜調整される。メッシュタイプ（要素の形状）は、例えば、二次元（シェル）要素なら三角形や四角形、三次元要素なら三角錐や角柱等である。データの授受は、節点間同士、要素間同士、さらには節点と要素の間でなされてもよい。要素に関する遠近（距離の大小）は、例えば、要素の中心（重心）に基づいて判断され得る。要素の中心（重心）は、要素を構成する節点の座標等から算出される。なお、本明細書でいう節点には、中間節点も含まれる。
【００２６】
メッシュ間のデータ授受は、通常、同一の解析対象に対してなされ、データ授受時のモデル形状は基本的に同じである。但し、厳密にいうと、生成されるメッシュが異なると、各要素が連結されて画定されるメッシュモデルの形状は、僅かに相違し得る。
【００２７】
第１メッシュと第２メッシュは、同じソフトウェア内で生成されたものでも、異なるソフトウェアで生成されたものでもよい。第１メッシュから第２メッシュへ授受されるデータの種類は問わない。通常、第１メッシュに基づく解析結果が、第２メッシュへ受け渡される。データ授受に伴い、第２メッシュの各節点等には、関連情報（例えば授受元の節点等との距離）が新たに付加（生成）されてもよい。
【実施例】
【００２８】
メッシュ間データ授受方法に関する想定事例を示しつつ、以下で本発明をより具体的に説明する。
【００２９】
《システム》
本実施例に係るメッシュ間データ授受システムは、汎用または専用のコンピュータと、そのコンピュータ上で実行されるプログラムとにより構成される。コンピュータは、演算部（ＣＰＵ等）、データやプログラムを一時的または長期的に保存する保存部（ＲＯＭ、ＲＡＭ、ＨＤＤ、ＳＳＤ等）、表示部（ディスプレー等）、入出力部（キーボード、マウス、通信インターフェース等）などを備える。コンピュータは、専用機でも汎用機（パーソナルコンピュータ（ＰＣ）等）でもよい。プログラムは、コンピュータに一時的または長期的にインストールされて、後述するメッシュ間データ授受方法に係る各ステップを実行する。プログラムは、専用ソフトウェアでも、汎用ソフトウェアを利用したものでもよい。なお、各ステップを実行するプログラム部分が各手段となる。
【００３０】
《事例》
二次元のメッシュＡ（第１メッシュ）の各節点に保存されている解析データを、二次元のメッシュＢ（第２メッシュ）の各節点へ受け渡す場合を想定した事例を、図１〜図３に示した。先ず、この簡潔な事例に基づいて、本発明を具体的に説明する。
【００３１】
メッシュＡは節点番号ａ１〜ａ５である５つの節点を有する。メッシュＢも節点番号ｂ１〜ｂ５である５つの節点を有する。各節点には、図１〜図３に示すように、節点情報（位置情報）として座標（Ｘ、Ｙ）が付与（生成）されている。
【００３２】
各節点は、当初、図１に示すように配列されていたとする。次に、Ｙ座標軸方向を形状特徴方向（配列方向）として、図２に示すように、各節点をＹ座標値の大きい方から順番に並び替える（配列ステップの一例）。
【００３３】
さらに、配列後のメッシュＡの各節点（授受元）のＹ座標値を起点として、Ｙ座標値が±２（検索範囲）内となる配列後のメッシュＢの節点（授受先）を検索する。例えば、図３に示すように、節点ａ５の授受先として、Ｙ座標値が９±２（＝１１〜７）の範囲内にある節点ｂ１と節点ｂ５が抽出される。そして、メッシュＡの節点ａ５に保存されていたデータが、節点ｂ１と節点ｂ５に保存（上書き）される。こうして、節点ａ５から節点ｂ１と節点ｂ５へデータ授受がなされる（授受ステップの一例）。
【００３４】
同様に、再配列後の節点ａ２の授受先として、Ｙ座標値が６±２（＝８〜４）の範囲内にある節点ｂ１、節点ｂ５および節点ｂ３が抽出される。そして、メッシュＡの節点ａ２に保存されていたデータが、節点ｂ１、節点ｂ５および節点ｂ３に上書き保存される。これにより、節点ｂ１と節点ｂ５に保存されるデータは、既に保存されていた節点ａ５のデータから、節点ａ２のデータに更新される。
【００３５】
同様の処理が繰り返されることにより、メッシュＢの全節点に、メッシュＡの各節点から受け渡されたデータが保存される。なお、最終的に、節点ａ５のデータは、メッシュＢに受渡しされないことになるが、メッシュＢに基づく数値解析に実質的な影響はない。
【００３６】
以上のように、授受先の節点が検索される毎に、その節点のデータを授受元の節点のデータで上書き保存（更新）する簡易処理の他、授受される節点間同士の距離を考慮した厳密処理がなされてもよい。例えば、授受される節点間の距離が、先に授受された節点間の距離よりも小さくなるときだけ、節点のデータを更新（上書き保存）するようにしてもよい（厳密処理）。
【００３７】
一例として節点ｂ３を観ると、先に授受された節点ａ２と節点ｂ３の距離と、後に授受される節点ａ１と節点ｂ３の距離とは等しい。つまり、後の授受時に節点間の距離は小さくなっていない。このため、節点ｂ３のデータは、簡易処理なら最新の検索でヒットした節点ａ１のデータによって更新されるが、厳密処理なら節点ａ２のデータのまま維持されることになる。
【００３８】
《フローチャート》
以上を踏まえて、異なるメッシュ間の節点間で、データ授受を行うときのフローチャートの一例を図４Ａおよび図４Ｂに示した。以下、そのフローチャートに示した各処理について詳述する。なお、ここでは、一例として、節点間におけるデータ授受を示すが、要素間または要素と節点の間でも同様である。
【００３９】
ステップＳ１１で、メッシュＡの各節点の情報を読み込む。メッシュＡに係る情報には、節点の座標等の位置情報（節点情報）の他、解析データ等が含まれる。ステップＳ１２で、メッシュＢの各節点の情報を読み込む。メッシュＢに係る情報は、節点の位置情報（座標）等である。
【００４０】
ステップＳ１３で、解析対象に応じた配列方向（形状特徴方向）を特定する。起点から各節点までの距離の大小が明確な方向が選択、抽出されるとよい。例えば、解析対象の最長寸法方向に沿った座標軸方向を配列方向とするとよい。なお、配列方向は、解析対象に応じて自動的に特定されてもよいし、個別に入力して設定されてもよい。
【００４１】
ステップＳ１４で、メッシュＡの各節点を配列方向に沿って並べ替える（配列ステップの一例）。同様に、ステップＳ１５で、メッシュＡの各節点を配列方向に沿って並べ替える（配列ステップの一例）。なお、配列方向が座標軸方向の場合なら、座標値の大きい方または小さい方から順に、各節点を配列するとよい。
【００４２】
ステップＳ１６で、メッシュＡの各節点（授受元）に対して抽出するメッシュＢの節点（授受先）の検索範囲を特定する。検索範囲は、メッシュＢの節点に抽出漏れ（歯抜け）が生じない程度であるとよい。
【００４３】
ステップＳ１７で、データ授受を簡易処理によるか、厳密処理によるかを選択する。簡易処理が選択されたときはステップＳ２１に進み、厳密処理が選択されたときはステップＳ３１へ進む。
【００４４】
ステップＳ２１では、ステップＳ１６で特定された検索範囲内で、メッシュＡの節点ａ（Ｎ）のデータの授受先であるメッシュＢの節点ｂ（Ｍ）を検索して抽出する。なお、Ｎ、Ｍは節点番号を示す整数である。
【００４５】
ステップＳ２２で、メッシュＡの節点ａ（Ｎ）に保存されているデータを、抽出されたメッシュＢの節点ｂ（Ｍ）に（上書き）保存する。こうして、節点ａ（Ｎ）から節点ｂ（Ｍ）へデータが授受される（授受ステップの一例）。
【００４６】
ステップＳ２３により、ステップＳ２１およびステップＳ２２の操作を、メッシュＡの全ての節点ａ（Ｎ）について完了するまで繰り返し行う。
【００４７】
一方、ステップＳ３１では、ステップＳ２１と同様に、メッシュＡの節点ａ（Ｎ）のデータの授受先であるメッシュＢの節点ｂ（Ｍ）を検索・抽出する。ステップＳ３２では、ステップＳ２２と同様に、メッシュＡの節点ａ（Ｎ）に保存されているデータを、抽出されたメッシュＢの節点ｂ（Ｍ）に一旦保存する。
【００４８】
ステップＳ３３で、データの授受元である節点ａ（Ｎ）と、データの授受先である各節点ｂ（Ｍ）との間の距離を計算する。その計算結果（距離）を、各節点ｂ（Ｍ）の付属データとして保存する。
【００４９】
ステップＳ３４で、メッシュＡの次の節点ａ（Ｎ＋１）のデータの授受先であるメッシュＢの節点ｂ（Ｗ）を検索・抽出する。なお、Ｗも節点番号を示す整数である。
【００５０】
ステップＳ３５で、節点ｂ（Ｗ）にデータが既に保存されているかを判断する。節点ｂ（Ｗ）にデータが保存されていないとき、ステップＳ３６に進み、ステップＳ３２と同様に、メッシュＡの節点ａ（Ｎ＋１）に保存されているデータを、抽出されたメッシュＢの節点ｂ（Ｗ）に一旦保存する。
【００５１】
ステップＳ３５で、節点ｂ（Ｗ）に先行するデータが既に保存されていたとき、ステップＳ３７に進み、データの授受元である節点ａ（Ｎ＋１）と、データの授受先である各節点ｂ（Ｗ）との間の距離を計算する。
【００５２】
ステップＳ３８で、節点ｂ（Ｍ）の付属データとして節点ｂ（Ｗ）に既に保存されている距離と、新たに算出された節点ａ（Ｎ＋１）と節点ｂ（Ｗ）の間の距離とを比較する。前者の距離より、後者の距離が小さくないとき、ステップＳ３９に進み、節点ｂ（Ｗ）の情報を変更せずに保持（維持）する。つまり、節点ａ（Ｎ＋１）から節点ｂ（Ｗ）へのデータ授受や付属データの更新等は行わない。
【００５３】
ステップＳ３８で、前者の距離より後者の距離が小さいとき、ステップＳ４０に進み、メッシュＡの節点ａ（Ｎ＋１）に保存されているデータを、メッシュＢの節点ｂ（Ｗ）に上書き保存する（授受ステップの一例）。
【００５４】
ステップＳ４１で、節点ａ（Ｎ＋１）と節点ｂ（Ｗ）との間の距離を、節点ｂ（Ｗ）の付属データとして、上書き保存（更新）する。
【００５５】
ステップＳ４２により、ステップＳ３４〜ステップＳ４１までの各操作を、メッシュＡの全ての節点ａ（Ｎ＋１）について完了するまで繰り返し行う。
【００５６】
このような処理により、メッシュＡから別のメッシュＢへのデータ授受が、短時間内に完了される。
【００５７】
《測定》
異なるメッシュ間で、解析結果（データ）の受渡しを行ったときの処理時間を実際に計測した。具体的には、図４Ａと図４Ｂに示したフローチャートを、プログラム言語（FORTRAN）で組み込んだ自作プログラムを実行したときの処理時間を計測した。メッシュＡは、節点数：59,933、要素数：241,468とした。メッシュＢは、節点数：49,171、要素数：161,976とした。メッシュＢは、同一ソフトウェア内で、メッシュＡをリメッシュして生成された。データの授受は、メッシュＡの節点とメッシュＢの節点との間で行った。
【００５８】
従来の方法（全検索）で処理したときの所要時間は４０分間であった。一方、図４Ｂに示した厳密処理を行ったときでも、その所要時間は３分間であり、従来の約１／１４にまで短縮された。この結果からも明らかなように、本発明のデータ授受方法によれば、異なるメッシュ間におけるデータ授受に要する所要時間を大幅に短縮できることが明らかとなった。
【図１】
2020177320.tif 000003
【図２】
2020177320.tif 000004
【図３】
2020177320.tif 000005
【図４Ａ】
2020177320.tif 000006
【図４Ｂ】
2020177320.tif 000007