境界要素解析方法、及び境界要素解析プログラム
【課題】解析対象の対称性を利用した解析を行うに際して、対称性の多様性に対しても対応可能で、効率的な解析を行うことができる境界要素解析方法及び境界要素解析プログラムを提供する。
【解決手段】ステップS101で入力した境界要素解析に使用する各種データを、ステップS102で記憶する。その際、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、境界要素の状態量毎に定義された境界要素を識別する境界要素識別情報を対応付けた状態量情報を記憶する。ステップS103では、入力された各種データを利用して、定義された各境界要素上にある要素点における境界値を変数とする離散化された境界積分方程式を生成する。次いで、ステップS104で、生成された境界積分方程式に入力された境界条件を代入し、未知数を整理して連立方程式を得る。そして、得られた連立方程式を解いて未知数の値を求める。
【解決手段】ステップS101で入力した境界要素解析に使用する各種データを、ステップS102で記憶する。その際、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、境界要素の状態量毎に定義された境界要素を識別する境界要素識別情報を対応付けた状態量情報を記憶する。ステップS103では、入力された各種データを利用して、定義された各境界要素上にある要素点における境界値を変数とする離散化された境界積分方程式を生成する。次いで、ステップS104で、生成された境界積分方程式に入力された境界条件を代入し、未知数を整理して連立方程式を得る。そして、得られた連立方程式を解いて未知数の値を求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータを用いて境界要素解析を行う境界要素解析方法、及び境界要素解析プログラムに関する。
【背景技術】
【0002】
計算機性能の飛躍的向上により、従来模型や実機を用いていた実験を数値解析手法によるシミュレーションに置き換える動きが盛んになっている。これに伴い、要求される解析の規模とスピードは計算機の進歩をさらに上回る速度で増大している。
【0003】
数値解析手法のうち、境界要素法は応力場、電場、磁場、腐食場などの解析に有利であり、これまでにも多くの使用例がある。通常の境界要素法に従えば、支配方程式は境界積分方程式に変換される。すなわち、境界を複数の要素に離散化し、各要素上にある要素点における境界値を変数とした(式1)のような離散化された境界積分方程式が得られる。
【0004】
【数1】
【0005】
ここで、[H]及び[G]は、解析場の幾何的および材料的条件で決まるマトリックスである。また、{u}及び{q}は、境界値を表す。例えば応力解析の場合、{u}が変位、{q}が表面力となり、電場解析の場合、{u}が電位、{q}が電流密度となる。
【0006】
(式1)に境界条件を代入し、未知数を整理すると、(式2)のような連立方程式が得られる。
【0007】
【数2】
【0008】
ここで、{x}及び{b}は、それぞれ未知ベクトル及び定数ベクトルである。未知数の数は要素点の数に対応する。幾何学的、材質的変化の極めて多い実際の複雑構造物等の解析を行うためには、膨大な数の要素が必要となり、このような大規模な解析においては、未知数の数も膨大となる。
【0009】
一般に、解析の対象となる工業製品や各種構造物等においては、形状および境界条件に対称性をもつものが少なくない。与えられた問題が対称な問題であれば、対称性を利用した効率的な離散化が可能となる。ここで、対称な問題とは物体の形状及び境界条件に関して、対称軸もしくは対称面が存在する問題である。対称な位置にある要素点の境界値は同じ値になるので、数値解析を行うに際して、この対称性を利用できれば、未知数の数を大幅に減じることができる。
【0010】
解析対象の対称性を考慮したモデル化を行って、境界要素解析の効率化を図ったものは、例えば特許文献1、被特許文献1に示されている。
【0011】
しかし、対称には、面対称、逆対称、軸対称、ヘリカル対称、ショートケーキ対称、それらが複合したもの等があり、対称問題は多様なものとなる。対称性が多様であると、鏡像の生成法、生成すべき鏡像の数等が個々の対称の場合で異なるために、それぞれの場合に対してプログラムを構成しなければならない。さらに、実際の解析対象は、複数種類の対称が混在している場合もあり、このような対称性混在の問題の場合をも考えると、対応すべきケースの数は増大し、プログラムの保守および拡張性の点で大きな問題点となる。
【0012】
【特許文献1】特開平9−251481号公報
【非特許文献1】材料と環境、Vol.47,No.3,P.156-163(1988)
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、上記事情に鑑みなされたもので、解析対象の対称性を利用した解析を行うに際して、対称性の多様性に対しても対応可能で、効率的な解析を行うことができる境界要素解析方法及び境界要素解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の境界要素解析方法は、コンピュータを用いて境界要素解析を行うものであって、前記境界要素解析に使用するデータを入力するデータ入力ステップと、前記データ入力ステップで入力したデータを記憶するデータ記憶ステップと、前記データ記憶ステップで記憶したデータに基づき、離散化された境界積分方程式を生成する方程式生成ステップと、前記境界積分方程式に前記データ入力ステップで入力された境界条件を代入後、前記境界積分方程式の未知数を演算する解析ステップとを備え、前記データ記憶ステップは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、前記境界要素の状態量に対して当該状態量を有する1又は複数の前記境界要素を識別する境界要素識別情報を関連付けた状態量情報と、を記憶するものであり、前記方程式生成ステップは、前記状態量情報で定義された数の状態量を有する前記境界積分方程式を生成するものである。
【0015】
本発明によれば、未知数を減少させた境界積分方程式を簡単に生成することができ、未知数を求めるための演算量を減少させることができる。また、解析対象の対称性の多様性に対しても対応可能で、効率的な解析を行うことができる。
【0016】
本発明の境界要素解析方法は、前記方程式生成ステップが、境界要素識別情報i(i=1〜L,Lはソース点の総数であり、前記状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数)を持つ境界要素をソース点とし、前記状態量情報の各状態量を識別する状態量識別情報k(k=1〜Ng)に対応付けられた境界要素それぞれを観測点とした時の、解析対象の形状によって定まる係数値の和を、前記境界要素定義情報及び前記状態量情報を参照して演算するステップと、前記求めた和をi行k列の係数値とするL行Ng列の係数マトリックスを生成するステップを含み、前記L行Ng列の係数マトリックスを前記境界積分方程式の係数マトリックスとするものを含む。
【0017】
本発明によれば、記憶した境界要素定義情報及び状態量情報を参照して、同様の演算を繰り返し行うことにより、境界積分方程式の係数マトリックスの係数値を求めることができ、解析演算を効率的に行うことができる。
【0018】
なお、このような処理によって求めた係数値を有する境界積分方程式は、マトリックス表示を用いないで記述すると、次の(式3)に示すようなものとなる。なお、ここでLはソース点を走査させる要素数(要素のサブセット)、Ngは総状態量数、Skは状態量kを持つ境界要素の集合を表し、u*、q*はポテンシャル、フラックスの状態量を表す。
【0019】
【数3】
【0020】
本発明の境界要素解析プログラムは、上記した境界要素解析情報における各ステップを、コンピュータを用いて実行させるためのプログラムである。
【発明の効果】
【0021】
以上の説明から明らかなように、本発明によれば、解析対象の対称性を利用した解析を行うに際して、対称性の多様性に対しても対応可能で、効率的な解析を行うことができる境界要素解析方法及び境界要素解析プログラムを提供することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施の形態について、図面を用いて説明する。図1は、本発明の実施の形態の境界要素解析方法の概略フローを示す図である。図1に示す各ステップは、所定のプログラムがインストールされたコンピュータによって実行される。なお、使用するコンピュータは、スタンドアローンのコンピュータでも、クライアント/サーバ形式のコンピュータでもよく、また、特別の周辺機器、機能等の付加も必要としない。したがって、通常のコンピュータを利用できるので、コンピュータの構成については説明を省略する。
【0023】
ステップS101では、境界要素解析に使用する各種データを入力する。入力するデータには、境界要素を定義するための節点に関する情報、各境界要素を定義する節点を識別する情報を含む境界要素に関する情報、各境界要素が持つ状態量に関する情報、境界条件、解析対象固有の定数データ、解析対象の各変数(状態量を含む。)相互間の関数等が含まれる。
【0024】
ステップS102では、ステップS101で入力した各種データを記憶する。ここでは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、境界要素の状態量毎に定義された境界要素を識別する境界要素識別情報を対応付けた状態量情報が記憶される。記憶されるデータの内容、形式等については後述する。
【0025】
ステップS103では、入力された各種データを利用して、定義された各境界要素上にある要素点における境界値を変数とする離散化された境界積分方程式を生成する。ここで生成される境界積分方程式は、状態量情報で定義された数の状態量を変数として有するものである。生成方法の詳細については後述する。
【0026】
ステップS104では、生成された境界積分方程式に入力された境界条件を代入し、未知数を整理して連立方程式を得る。そして、得られた連立方程式を解いて未知数の値を求める。このステップS104の処理は、従来の境界要素解析と同様であるので説明を省略する。ただし、生成された境界積分方程式の状態量の数が、従来の解析対象の対称性を考慮しない解析方法では、定義した境界要素の数であるのに対し、この実施の形態の解析方法では、定義した状態量の数であるので、解析のための計算量は大きく減少する。
【0027】
次に、図1のステップS102で記憶されるデータの内容、形式について説明する。図4に、この実施の形態の境界要素解析方法における入力データのデータ構造の一例を示す。図4に示すように、境界値およびその関数が表す量を状態量として定義する。そして、定義した状態量を識別する状態量識別情報(状態量ID)と境界条件、及びその状態量を有する境界要素(構成要素)が対応付けられ、状態量情報1として記憶される。
【0028】
境界要素は、それぞれを識別する境界要素識別情報(要素ID)とその境界要素を構成する節点(構成節点)及びその境界要素の形状によって定義され、境界要素情報2として記憶される。さらに、節点は、それぞれを識別する節点識別情報(節点ID)とその座標が対応付けられ、節点情報3として記憶される。したがって、境界要素情報2と節点情報3によって境界要素の形状データを認識することができる。
【0029】
図5に、状態量情報の一例を示す。図5は、状態量IDと構成要素との関係のみを示したものであり、状態量ID(この例では状態量識別番号k)と、要素数と、構成要素を対応付けたテーブル構成となっている。なお、図5において、要素数は、その状態量IDを有する構成要素の数を意味し、構成要素として記述したP1、P2等は、要素IDを示す。
【0030】
図6に、境界要素情報の一例を示す。図6の境界要素情報は、要素ID(この例では境界要素識別番号i)と、形状コードと、構成節点を対応付けたテーブル構成となっている。なお、形状コードは、境界要素の形状を示すものである。形状コードは、1:点要素、2:線要素、3:三角形要素、4:四角形要素のように定義する。また、構成節点として記述したX1、X2等は、節点IDを示す。
【0031】
図7に、節点情報の一例を示す。図7の節点情報は、節点IDと節点の座標値を対応付けたテーブル構成となっている。
【0032】
なお、入力データの記録は、以上説明したデータ構造で入力してもよいが、一端、入力データを記憶し、さらにデータ構造を変更する処理を行ってもよい。例えば、従来と同様、要素毎に境界条件情報と幾何的情報を対応付け構造のデータを入力し、それらの境界値(状態量)が一致するものをまとめることによって、上記した状態量情報を作成するようにしてもよい。
【0033】
例えば、図12に示すような軸対称分布を持つ柱状の解析対象の境界要素定義情報及び状態量情報を記憶する場合、次のような手順で行う。この解析対象の状態量は、周方向で同じ値を持ち、軸方向で値が分布するものとする。まず、図12(a)に示すような軸方向に分割した部分対象について要素分割を行い、それぞれの要素に要素番号を付与する。次いで、図12(a)の要素を回転、コピー操作を複数回行い、図12(b)に示すような解析対象の境界要素を得る。このときの境界要素は、同じ要素番号、同じ節点番号となるので、節点座標等のデータは、部分対象毎に記憶しておく。このような処理は、汎用の要素分割ソフトを利用して行うことができる。
【0034】
次いで、生成した全データを読み込み、同じ座標値の節点をまとめ、それぞれに対して節点IDを全体の通し番号で付与する。部分対象毎に記憶された境界要素は、同じ要素番号を持つものが同じ状態量を有するので、同じ要素番号を持つ要素をまとめ、それに対して状態量を定義し、状態量に複数の境界要素を対応付け、同様の操作を全ての境界要素について行う。そして、全ての境界要素に対して全体の通し番号で要素IDを振り直す。
【0035】
図12(c)に、要素IDを振り直した解析対象を示す。図12(c)における要素IDが1〜16の境界要素は、同一の状態量(状態量1)を有し、要素IDが17〜32の境界要素は、同じ状態量(状態量2)を有するので、状態量1に対して要素IDが1〜16の境界要素を対応付け、状態量2に対して要素IDが17〜32の境界要素を対応付けた状態量情報を記憶する。また、境界要素IDに対して節点IDを対応付け、さらに節点IDに対して節点座標を対応付けた境界要素定義情報を記憶する。
【0036】
続いて、図1のステップS103に示す境界積分方程式の生成について説明する。図2に、境界積分方程式生成処理の概略フローを示す。
【0037】
ステップS201では、境界要素識別番号iの初期設定を行い、ステップS202では、状態量識別番号kの初期設定を行う。初期設定値は、ともに「1」である。そして、ステップS203で、マトリックス係数Hik、Gikを生成する。マトリックス係数Hik、Gikは、(式4)で示す離散化された境界積分方程式の係数マトリックス[H]、[G]の各要素の値である。
【0038】
【数4】
【0039】
図3に、マトリックス係数生成処理の概略フローを示す。ステップS301では、状態量情報を参照して、状態量識別番号kに対応して記憶された構成要素Pjを抽出する。例えば、図5に示す例でk=1の場合は、構成要素P1とP2が抽出される。ここで、構成要素P1とP2の境界要素識別番号iは、それぞれ1と2であるとする。
【0040】
ステップS302では、境界要素識別情報iを持つ境界要素Piをソース点とし、境界要素Pjを観測点とした時の係数値hij、gijを、全てのPjについて算出する。係数値hij、gijは、解析対象の形状、解析対象場によって定まる係数であり、境界要素情報を利用して求めることができる。例えば、図5に示す例でk=1の場合、構成要素P1とP2が抽出されるので、i=1とすれば、係数値h11、g11、h12、g12を算出する。
【0041】
ステップS303では、算出した係数値hij、gijをそれぞれ加算する。例えば、係数値h11、g11、h12、g12が算出されたとすると、h11+h12とg11+g12を求める。そして、ステップS304で加算値をマトリックス係数Hik、Gikとして記憶する。
【0042】
図2に戻って、ステップS203でマトリックス係数Hik、Gikが生成されると、kを+1加算し(ステップS204)、k>Ngかどうかを判断する(ステップS205)。そして、k>Ngでない場合には、ステップS203を繰り返し行う。ここで、Ngは記憶された状態量情報の数であるので、定義された状態量の数分のマトリックス係数Hik、Gikが生成される。
【0043】
ステップS205で、k>Ngと判断されると、iを+1加算し(ステップS206)、i>Lかどうかを判断する(ステップS207)。そして、i>Lでない場合には、ステップS202以降の処理を繰り返し行う。ここで、Lは状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数である。図1のステップ104における連立方程式の演算に際して、少なくともNg個の方程式が得られれば解が求められるので、L=Ngとすれば十分である。L>Ngとして最小二乗法を使用して解くことにより、精度を向上させることもできる。ソース点を同一状態量の境界要素について走査させてそれぞれマトリックス係数を計算し,その平均を境界積分方程式のマトリックス係数とすることも可能であり、この方法も精度が向上する。
【0044】
なお、この例では、L個の境界要素をソース点とするに際して、境界要素識別番号iを1からの順にLまで選択したが、選択する境界要素は任意であり、これに限らない。例えば境界要素の数の半分をソース点とする場合は、1つ置きの境界要素識別番号iを有する境界要素を選択するようにしてもよい。以上説明から明らかなように、このような処理によって求めた係数値を有する境界積分方程式は、マトリックス表示を用いないで記述すると、上記(式3)に示すようなものとなる。
【0045】
以上説明した手順で生成された境界積分方程式は、L行Ng列の係数マトリックスを有する。解析対象の対称性がどのようなものであっても、状態量の数を減少させた境界積分方程式を簡単に生成することができる。
【0046】
次に、具体例に基づいて境界積分方程式の生成処理を説明する。図8に、4つの境界要素[1]〜[4]からなる解析対象の一例を示す。図8の解析対象は、対称軸の両側に2つずつの境界要素[1]と[3]、及び[2]と[4]を有し、境界要素[1]と[2]、及び[3]と[4]は、それぞれ等しい状態量を持つ。
【0047】
解析対象が図8に示すようなものである場合、記憶される状態量情報、境界要素情報、節点情報は、それぞれ図9、図10、図11に示すものとなる。
【0048】
今、状態量IDが「1」の要素の状態量をu1、q1、状態量IDが「2」の要素の状態量を状態量をu2、q2とし、ソース点とする境界要素の要素IDを「1」及び「3」として、図2、図3に示すフローの処理を行うと、次に示すように2×2の係数マトリックスを有する境界積分方程式が得られる。
【0049】
すなわち、i=1、k=1の時のマトリックス係数値は、h11+h12とg11+g12となり、i=1、k=2の時のマトリックス係数値は、h13+h14とg13+g14となる。また、i=3、k=1の時のマトリックス係数値は、h31+h32とg31+g32となり、i=3、k=2の時のマトリックス係数値は、h33+h34とg33+g34となる。したがって、生成される境界積分方程式は、(式5)に示すものとなる。
【0050】
【数5】
【図面の簡単な説明】
【0051】
【図1】本発明の実施の形態の境界要素解析方法の概略フローを示す図
【図2】本発明の実施の形態の境界要素解析方法における境界積分方程式生成処理の概略フローを示す図
【図3】本発明の実施の形態の境界要素解析方法におけるマトリックス係数生成処理の概略フローを示す図
【図4】本発明の実施の形態の境界要素解析方法における入力データのデータ構造の一例を示す図
【図5】本発明の実施の形態の境界要素解析方法における状態量情報の一例を示す図
【図6】本発明の実施の形態の境界要素解析方法における境界要素情報の一例を示す図
【図7】本発明の実施の形態の境界要素解析方法における節点情報の一例を示す図
【図8】解析対象の一例を示す図
【図9】図8に示す解析対象の状態量情報を示す図
【図10】図8に示す解析対象の境界要素情報を示す図
【図11】図8に示す解析対象の節点情報を示す図
【図12】本発明の実施の形態の境界要素解析方法における境界要素定義情報及び状態量情報の記憶処理の一例を示す図
【技術分野】
【0001】
本発明は、コンピュータを用いて境界要素解析を行う境界要素解析方法、及び境界要素解析プログラムに関する。
【背景技術】
【0002】
計算機性能の飛躍的向上により、従来模型や実機を用いていた実験を数値解析手法によるシミュレーションに置き換える動きが盛んになっている。これに伴い、要求される解析の規模とスピードは計算機の進歩をさらに上回る速度で増大している。
【0003】
数値解析手法のうち、境界要素法は応力場、電場、磁場、腐食場などの解析に有利であり、これまでにも多くの使用例がある。通常の境界要素法に従えば、支配方程式は境界積分方程式に変換される。すなわち、境界を複数の要素に離散化し、各要素上にある要素点における境界値を変数とした(式1)のような離散化された境界積分方程式が得られる。
【0004】
【数1】
【0005】
ここで、[H]及び[G]は、解析場の幾何的および材料的条件で決まるマトリックスである。また、{u}及び{q}は、境界値を表す。例えば応力解析の場合、{u}が変位、{q}が表面力となり、電場解析の場合、{u}が電位、{q}が電流密度となる。
【0006】
(式1)に境界条件を代入し、未知数を整理すると、(式2)のような連立方程式が得られる。
【0007】
【数2】
【0008】
ここで、{x}及び{b}は、それぞれ未知ベクトル及び定数ベクトルである。未知数の数は要素点の数に対応する。幾何学的、材質的変化の極めて多い実際の複雑構造物等の解析を行うためには、膨大な数の要素が必要となり、このような大規模な解析においては、未知数の数も膨大となる。
【0009】
一般に、解析の対象となる工業製品や各種構造物等においては、形状および境界条件に対称性をもつものが少なくない。与えられた問題が対称な問題であれば、対称性を利用した効率的な離散化が可能となる。ここで、対称な問題とは物体の形状及び境界条件に関して、対称軸もしくは対称面が存在する問題である。対称な位置にある要素点の境界値は同じ値になるので、数値解析を行うに際して、この対称性を利用できれば、未知数の数を大幅に減じることができる。
【0010】
解析対象の対称性を考慮したモデル化を行って、境界要素解析の効率化を図ったものは、例えば特許文献1、被特許文献1に示されている。
【0011】
しかし、対称には、面対称、逆対称、軸対称、ヘリカル対称、ショートケーキ対称、それらが複合したもの等があり、対称問題は多様なものとなる。対称性が多様であると、鏡像の生成法、生成すべき鏡像の数等が個々の対称の場合で異なるために、それぞれの場合に対してプログラムを構成しなければならない。さらに、実際の解析対象は、複数種類の対称が混在している場合もあり、このような対称性混在の問題の場合をも考えると、対応すべきケースの数は増大し、プログラムの保守および拡張性の点で大きな問題点となる。
【0012】
【特許文献1】特開平9−251481号公報
【非特許文献1】材料と環境、Vol.47,No.3,P.156-163(1988)
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、上記事情に鑑みなされたもので、解析対象の対称性を利用した解析を行うに際して、対称性の多様性に対しても対応可能で、効率的な解析を行うことができる境界要素解析方法及び境界要素解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の境界要素解析方法は、コンピュータを用いて境界要素解析を行うものであって、前記境界要素解析に使用するデータを入力するデータ入力ステップと、前記データ入力ステップで入力したデータを記憶するデータ記憶ステップと、前記データ記憶ステップで記憶したデータに基づき、離散化された境界積分方程式を生成する方程式生成ステップと、前記境界積分方程式に前記データ入力ステップで入力された境界条件を代入後、前記境界積分方程式の未知数を演算する解析ステップとを備え、前記データ記憶ステップは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、前記境界要素の状態量に対して当該状態量を有する1又は複数の前記境界要素を識別する境界要素識別情報を関連付けた状態量情報と、を記憶するものであり、前記方程式生成ステップは、前記状態量情報で定義された数の状態量を有する前記境界積分方程式を生成するものである。
【0015】
本発明によれば、未知数を減少させた境界積分方程式を簡単に生成することができ、未知数を求めるための演算量を減少させることができる。また、解析対象の対称性の多様性に対しても対応可能で、効率的な解析を行うことができる。
【0016】
本発明の境界要素解析方法は、前記方程式生成ステップが、境界要素識別情報i(i=1〜L,Lはソース点の総数であり、前記状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数)を持つ境界要素をソース点とし、前記状態量情報の各状態量を識別する状態量識別情報k(k=1〜Ng)に対応付けられた境界要素それぞれを観測点とした時の、解析対象の形状によって定まる係数値の和を、前記境界要素定義情報及び前記状態量情報を参照して演算するステップと、前記求めた和をi行k列の係数値とするL行Ng列の係数マトリックスを生成するステップを含み、前記L行Ng列の係数マトリックスを前記境界積分方程式の係数マトリックスとするものを含む。
【0017】
本発明によれば、記憶した境界要素定義情報及び状態量情報を参照して、同様の演算を繰り返し行うことにより、境界積分方程式の係数マトリックスの係数値を求めることができ、解析演算を効率的に行うことができる。
【0018】
なお、このような処理によって求めた係数値を有する境界積分方程式は、マトリックス表示を用いないで記述すると、次の(式3)に示すようなものとなる。なお、ここでLはソース点を走査させる要素数(要素のサブセット)、Ngは総状態量数、Skは状態量kを持つ境界要素の集合を表し、u*、q*はポテンシャル、フラックスの状態量を表す。
【0019】
【数3】
【0020】
本発明の境界要素解析プログラムは、上記した境界要素解析情報における各ステップを、コンピュータを用いて実行させるためのプログラムである。
【発明の効果】
【0021】
以上の説明から明らかなように、本発明によれば、解析対象の対称性を利用した解析を行うに際して、対称性の多様性に対しても対応可能で、効率的な解析を行うことができる境界要素解析方法及び境界要素解析プログラムを提供することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施の形態について、図面を用いて説明する。図1は、本発明の実施の形態の境界要素解析方法の概略フローを示す図である。図1に示す各ステップは、所定のプログラムがインストールされたコンピュータによって実行される。なお、使用するコンピュータは、スタンドアローンのコンピュータでも、クライアント/サーバ形式のコンピュータでもよく、また、特別の周辺機器、機能等の付加も必要としない。したがって、通常のコンピュータを利用できるので、コンピュータの構成については説明を省略する。
【0023】
ステップS101では、境界要素解析に使用する各種データを入力する。入力するデータには、境界要素を定義するための節点に関する情報、各境界要素を定義する節点を識別する情報を含む境界要素に関する情報、各境界要素が持つ状態量に関する情報、境界条件、解析対象固有の定数データ、解析対象の各変数(状態量を含む。)相互間の関数等が含まれる。
【0024】
ステップS102では、ステップS101で入力した各種データを記憶する。ここでは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、境界要素の状態量毎に定義された境界要素を識別する境界要素識別情報を対応付けた状態量情報が記憶される。記憶されるデータの内容、形式等については後述する。
【0025】
ステップS103では、入力された各種データを利用して、定義された各境界要素上にある要素点における境界値を変数とする離散化された境界積分方程式を生成する。ここで生成される境界積分方程式は、状態量情報で定義された数の状態量を変数として有するものである。生成方法の詳細については後述する。
【0026】
ステップS104では、生成された境界積分方程式に入力された境界条件を代入し、未知数を整理して連立方程式を得る。そして、得られた連立方程式を解いて未知数の値を求める。このステップS104の処理は、従来の境界要素解析と同様であるので説明を省略する。ただし、生成された境界積分方程式の状態量の数が、従来の解析対象の対称性を考慮しない解析方法では、定義した境界要素の数であるのに対し、この実施の形態の解析方法では、定義した状態量の数であるので、解析のための計算量は大きく減少する。
【0027】
次に、図1のステップS102で記憶されるデータの内容、形式について説明する。図4に、この実施の形態の境界要素解析方法における入力データのデータ構造の一例を示す。図4に示すように、境界値およびその関数が表す量を状態量として定義する。そして、定義した状態量を識別する状態量識別情報(状態量ID)と境界条件、及びその状態量を有する境界要素(構成要素)が対応付けられ、状態量情報1として記憶される。
【0028】
境界要素は、それぞれを識別する境界要素識別情報(要素ID)とその境界要素を構成する節点(構成節点)及びその境界要素の形状によって定義され、境界要素情報2として記憶される。さらに、節点は、それぞれを識別する節点識別情報(節点ID)とその座標が対応付けられ、節点情報3として記憶される。したがって、境界要素情報2と節点情報3によって境界要素の形状データを認識することができる。
【0029】
図5に、状態量情報の一例を示す。図5は、状態量IDと構成要素との関係のみを示したものであり、状態量ID(この例では状態量識別番号k)と、要素数と、構成要素を対応付けたテーブル構成となっている。なお、図5において、要素数は、その状態量IDを有する構成要素の数を意味し、構成要素として記述したP1、P2等は、要素IDを示す。
【0030】
図6に、境界要素情報の一例を示す。図6の境界要素情報は、要素ID(この例では境界要素識別番号i)と、形状コードと、構成節点を対応付けたテーブル構成となっている。なお、形状コードは、境界要素の形状を示すものである。形状コードは、1:点要素、2:線要素、3:三角形要素、4:四角形要素のように定義する。また、構成節点として記述したX1、X2等は、節点IDを示す。
【0031】
図7に、節点情報の一例を示す。図7の節点情報は、節点IDと節点の座標値を対応付けたテーブル構成となっている。
【0032】
なお、入力データの記録は、以上説明したデータ構造で入力してもよいが、一端、入力データを記憶し、さらにデータ構造を変更する処理を行ってもよい。例えば、従来と同様、要素毎に境界条件情報と幾何的情報を対応付け構造のデータを入力し、それらの境界値(状態量)が一致するものをまとめることによって、上記した状態量情報を作成するようにしてもよい。
【0033】
例えば、図12に示すような軸対称分布を持つ柱状の解析対象の境界要素定義情報及び状態量情報を記憶する場合、次のような手順で行う。この解析対象の状態量は、周方向で同じ値を持ち、軸方向で値が分布するものとする。まず、図12(a)に示すような軸方向に分割した部分対象について要素分割を行い、それぞれの要素に要素番号を付与する。次いで、図12(a)の要素を回転、コピー操作を複数回行い、図12(b)に示すような解析対象の境界要素を得る。このときの境界要素は、同じ要素番号、同じ節点番号となるので、節点座標等のデータは、部分対象毎に記憶しておく。このような処理は、汎用の要素分割ソフトを利用して行うことができる。
【0034】
次いで、生成した全データを読み込み、同じ座標値の節点をまとめ、それぞれに対して節点IDを全体の通し番号で付与する。部分対象毎に記憶された境界要素は、同じ要素番号を持つものが同じ状態量を有するので、同じ要素番号を持つ要素をまとめ、それに対して状態量を定義し、状態量に複数の境界要素を対応付け、同様の操作を全ての境界要素について行う。そして、全ての境界要素に対して全体の通し番号で要素IDを振り直す。
【0035】
図12(c)に、要素IDを振り直した解析対象を示す。図12(c)における要素IDが1〜16の境界要素は、同一の状態量(状態量1)を有し、要素IDが17〜32の境界要素は、同じ状態量(状態量2)を有するので、状態量1に対して要素IDが1〜16の境界要素を対応付け、状態量2に対して要素IDが17〜32の境界要素を対応付けた状態量情報を記憶する。また、境界要素IDに対して節点IDを対応付け、さらに節点IDに対して節点座標を対応付けた境界要素定義情報を記憶する。
【0036】
続いて、図1のステップS103に示す境界積分方程式の生成について説明する。図2に、境界積分方程式生成処理の概略フローを示す。
【0037】
ステップS201では、境界要素識別番号iの初期設定を行い、ステップS202では、状態量識別番号kの初期設定を行う。初期設定値は、ともに「1」である。そして、ステップS203で、マトリックス係数Hik、Gikを生成する。マトリックス係数Hik、Gikは、(式4)で示す離散化された境界積分方程式の係数マトリックス[H]、[G]の各要素の値である。
【0038】
【数4】
【0039】
図3に、マトリックス係数生成処理の概略フローを示す。ステップS301では、状態量情報を参照して、状態量識別番号kに対応して記憶された構成要素Pjを抽出する。例えば、図5に示す例でk=1の場合は、構成要素P1とP2が抽出される。ここで、構成要素P1とP2の境界要素識別番号iは、それぞれ1と2であるとする。
【0040】
ステップS302では、境界要素識別情報iを持つ境界要素Piをソース点とし、境界要素Pjを観測点とした時の係数値hij、gijを、全てのPjについて算出する。係数値hij、gijは、解析対象の形状、解析対象場によって定まる係数であり、境界要素情報を利用して求めることができる。例えば、図5に示す例でk=1の場合、構成要素P1とP2が抽出されるので、i=1とすれば、係数値h11、g11、h12、g12を算出する。
【0041】
ステップS303では、算出した係数値hij、gijをそれぞれ加算する。例えば、係数値h11、g11、h12、g12が算出されたとすると、h11+h12とg11+g12を求める。そして、ステップS304で加算値をマトリックス係数Hik、Gikとして記憶する。
【0042】
図2に戻って、ステップS203でマトリックス係数Hik、Gikが生成されると、kを+1加算し(ステップS204)、k>Ngかどうかを判断する(ステップS205)。そして、k>Ngでない場合には、ステップS203を繰り返し行う。ここで、Ngは記憶された状態量情報の数であるので、定義された状態量の数分のマトリックス係数Hik、Gikが生成される。
【0043】
ステップS205で、k>Ngと判断されると、iを+1加算し(ステップS206)、i>Lかどうかを判断する(ステップS207)。そして、i>Lでない場合には、ステップS202以降の処理を繰り返し行う。ここで、Lは状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数である。図1のステップ104における連立方程式の演算に際して、少なくともNg個の方程式が得られれば解が求められるので、L=Ngとすれば十分である。L>Ngとして最小二乗法を使用して解くことにより、精度を向上させることもできる。ソース点を同一状態量の境界要素について走査させてそれぞれマトリックス係数を計算し,その平均を境界積分方程式のマトリックス係数とすることも可能であり、この方法も精度が向上する。
【0044】
なお、この例では、L個の境界要素をソース点とするに際して、境界要素識別番号iを1からの順にLまで選択したが、選択する境界要素は任意であり、これに限らない。例えば境界要素の数の半分をソース点とする場合は、1つ置きの境界要素識別番号iを有する境界要素を選択するようにしてもよい。以上説明から明らかなように、このような処理によって求めた係数値を有する境界積分方程式は、マトリックス表示を用いないで記述すると、上記(式3)に示すようなものとなる。
【0045】
以上説明した手順で生成された境界積分方程式は、L行Ng列の係数マトリックスを有する。解析対象の対称性がどのようなものであっても、状態量の数を減少させた境界積分方程式を簡単に生成することができる。
【0046】
次に、具体例に基づいて境界積分方程式の生成処理を説明する。図8に、4つの境界要素[1]〜[4]からなる解析対象の一例を示す。図8の解析対象は、対称軸の両側に2つずつの境界要素[1]と[3]、及び[2]と[4]を有し、境界要素[1]と[2]、及び[3]と[4]は、それぞれ等しい状態量を持つ。
【0047】
解析対象が図8に示すようなものである場合、記憶される状態量情報、境界要素情報、節点情報は、それぞれ図9、図10、図11に示すものとなる。
【0048】
今、状態量IDが「1」の要素の状態量をu1、q1、状態量IDが「2」の要素の状態量を状態量をu2、q2とし、ソース点とする境界要素の要素IDを「1」及び「3」として、図2、図3に示すフローの処理を行うと、次に示すように2×2の係数マトリックスを有する境界積分方程式が得られる。
【0049】
すなわち、i=1、k=1の時のマトリックス係数値は、h11+h12とg11+g12となり、i=1、k=2の時のマトリックス係数値は、h13+h14とg13+g14となる。また、i=3、k=1の時のマトリックス係数値は、h31+h32とg31+g32となり、i=3、k=2の時のマトリックス係数値は、h33+h34とg33+g34となる。したがって、生成される境界積分方程式は、(式5)に示すものとなる。
【0050】
【数5】
【図面の簡単な説明】
【0051】
【図1】本発明の実施の形態の境界要素解析方法の概略フローを示す図
【図2】本発明の実施の形態の境界要素解析方法における境界積分方程式生成処理の概略フローを示す図
【図3】本発明の実施の形態の境界要素解析方法におけるマトリックス係数生成処理の概略フローを示す図
【図4】本発明の実施の形態の境界要素解析方法における入力データのデータ構造の一例を示す図
【図5】本発明の実施の形態の境界要素解析方法における状態量情報の一例を示す図
【図6】本発明の実施の形態の境界要素解析方法における境界要素情報の一例を示す図
【図7】本発明の実施の形態の境界要素解析方法における節点情報の一例を示す図
【図8】解析対象の一例を示す図
【図9】図8に示す解析対象の状態量情報を示す図
【図10】図8に示す解析対象の境界要素情報を示す図
【図11】図8に示す解析対象の節点情報を示す図
【図12】本発明の実施の形態の境界要素解析方法における境界要素定義情報及び状態量情報の記憶処理の一例を示す図
【特許請求の範囲】
【請求項1】
コンピュータを用いて境界要素解析を行う境界要素解析方法であって、
前記境界要素解析に使用するデータを入力するデータ入力ステップと、
前記データ入力ステップで入力したデータを記憶するデータ記憶ステップと、
前記データ記憶ステップで記憶したデータに基づき、離散化された境界積分方程式を生成する方程式生成ステップと、
前記境界積分方程式に前記データ入力ステップで入力された境界条件を代入後、前記境界積分方程式の未知数を演算する解析ステップとを備え、
前記データ記憶ステップは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、前記境界要素の状態量に対して当該状態量を有する1又は複数の前記境界要素を識別する境界要素識別情報を関連付けた状態量情報と、を記憶するものであり、
前記方程式生成ステップは、前記状態量情報で定義された数の状態量を有する前記境界積分方程式を生成するものである境界要素解析方法。
【請求項2】
前記方程式生成ステップは、
境界要素識別情報i(i=1〜L,Lはソース点の総数であり、前記状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数)を持つ境界要素をソース点とし、前記状態量情報の各状態量を識別する状態量識別情報k(k=1〜Ng)に対応付けられた境界要素それぞれを観測点とした時の、解析対象の形状によって定まる係数値の和を、前記境界要素定義情報及び前記状態量情報を参照して演算するステップと、
前記求めた和をi行k列の係数値とするL行Ng列の係数マトリックスを生成するステップを含み、
前記L行Ng列の係数マトリックスを前記境界積分方程式の係数マトリックスとする境界要素解析方法。
【請求項3】
コンピュータを用いて、請求項1又は2記載の境界要素解析方法における各ステップを実行させるための境界要素解析プログラム。
【請求項1】
コンピュータを用いて境界要素解析を行う境界要素解析方法であって、
前記境界要素解析に使用するデータを入力するデータ入力ステップと、
前記データ入力ステップで入力したデータを記憶するデータ記憶ステップと、
前記データ記憶ステップで記憶したデータに基づき、離散化された境界積分方程式を生成する方程式生成ステップと、
前記境界積分方程式に前記データ入力ステップで入力された境界条件を代入後、前記境界積分方程式の未知数を演算する解析ステップとを備え、
前記データ記憶ステップは、少なくとも、解析対象の境界要素を定義する境界要素定義情報と、前記境界要素の状態量に対して当該状態量を有する1又は複数の前記境界要素を識別する境界要素識別情報を関連付けた状態量情報と、を記憶するものであり、
前記方程式生成ステップは、前記状態量情報で定義された数の状態量を有する前記境界積分方程式を生成するものである境界要素解析方法。
【請求項2】
前記方程式生成ステップは、
境界要素識別情報i(i=1〜L,Lはソース点の総数であり、前記状態量情報の数Ng以上であって定義された境界要素の数以下の任意の数)を持つ境界要素をソース点とし、前記状態量情報の各状態量を識別する状態量識別情報k(k=1〜Ng)に対応付けられた境界要素それぞれを観測点とした時の、解析対象の形状によって定まる係数値の和を、前記境界要素定義情報及び前記状態量情報を参照して演算するステップと、
前記求めた和をi行k列の係数値とするL行Ng列の係数マトリックスを生成するステップを含み、
前記L行Ng列の係数マトリックスを前記境界積分方程式の係数マトリックスとする境界要素解析方法。
【請求項3】
コンピュータを用いて、請求項1又は2記載の境界要素解析方法における各ステップを実行させるための境界要素解析プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−18393(P2006−18393A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−193329(P2004−193329)
【出願日】平成16年6月30日(2004.6.30)
【出願人】(000000239)株式会社荏原製作所 (1,477)
【出願人】(504253256)
【Fターム(参考)】
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願日】平成16年6月30日(2004.6.30)
【出願人】(000000239)株式会社荏原製作所 (1,477)
【出願人】(504253256)
【Fターム(参考)】
[ Back to top ]