以下に添付図面を参照して、この発明にかかる解析支援プログラム、解析支援方法および解析支援装置の実施の形態を詳細に説明する。
図1は、実施の形態にかかる解析支援方法の一実施例を示す説明図である。図1において、解析支援装置100は、対象物の解析を支援するコンピュータである。ここで、解析とは、例えば、対象物内に伝達する高周波領域の音響や振動を解析するSEA法を用いた音響振動解析である。また、対象物とは、例えば、電子機器、工作機械、建築物、自動車、船舶、航空機などである。
SEA法を用いた音響振動解析において、対象物のモデル化は、対象物をいくつかの構造体に分割して、音響振動エネルギーの結合を表す構造体間のネットワークを構築することにより行われる。また、音響振動解析では、対象物内の壁に衝突した音の減衰や壁の穴から漏れ出てくる音を適切に解析するため、壁が存在する場所で対象物を分割することが望ましい。
そこで、本実施の形態では、対象物内の部品が存在する場所は壁がある可能性が高いので、対象物全体から分割された複数の要素を、対象物内の各部品が存在する空間に当て込んでマージすることで、対象物を壁がある場所で分割した部品ごとの構造体を生成する。
以下、実施の形態にかかる解析支援装置100の解析支援処理の一例について説明する。ここでは、音響振動解析の対象物として、サーバ101を例に挙げて説明する。
(1−1)解析支援装置100は、対象物に関する設計情報に基づいて、対象物を囲む立体図形と、対象物に含まれる部品群の各々の部品を囲む立体図形とを作成する。ここで、設計情報とは、例えば、対象物を構成する部品の形状、材料、位置などを示す3次元モデルデータである。
また、部品群とは、対象物に含まれる部品の集合であり、例えば、対象物を構成する部品のうち、一定の大きさを持つ部品の集合である。部品としては、例えば、CPU(Central Processing Unit)、電源、ファンなどがある。立体図形とは、例えば、対象物や部品を囲む直方体、球、ポリゴン図形などである。図面では、一例として、X軸とY軸とZ軸とからなる直交座標系において、サーバ101(対象物)を囲む直方体110と、ファン102(部品)を囲む直方体120とが示されている。
(1−2)解析支援装置100は、対象物を囲む立体図形を区切って、複数の要素に分割する。ここで、対象物を囲む立体図形を分割する分割間隔は、例えば、音響振動解析において対象とする音波の波長が収まる程度の長さに設定される(例えば、30[mm])。図面では、サーバ101(対象物)を囲む直方体110を格子状に区切って、複数の要素に分割されている。
(1−3)解析支援装置100は、対象物を囲む立体図形を区切って分割された複数の要素の中から、各々の部品を囲む立体図形に属する要素を判定する。具体的には、例えば、解析支援装置100が、各々の部品を囲む直方体のうち容積の小さい直方体から順次選択して、該直方体に含まれている要素を検索することにより、該直方体に属する要素を判定する。
これにより、各々の部品を囲む直方体同士が重なって、ある要素が複数の直方体に含まれる場合であっても、該要素が属する直方体を一意に特定することができる。この結果、例えば、ファン102(部品)を囲む直方体120に属する要素群が特定される。
(1−4)解析支援装置100は、各々の部品を囲む立体図形に属する要素に基づいて、各々の部品が存在する空間を表す空間モデルを生成する。ここで、空間モデルとは、立体形状のモデルであり、音波の存在する空間(いわゆる、音場)を表すものである。具体的には、例えば、解析支援装置100が、各々の部品を囲む直方体に属する要素をマージすることにより空間モデルを生成する。
図面では、例えば、直方体120に属する要素群をマージすることにより空間モデル130が生成されている。空間モデル130は、具体的には、空間モデル130の立体形状を特定する情報であり、例えば、空間モデル130を形成する面および該面を構成する頂点を特定する情報である。
このように、本実施の形態にかかる解析支援装置100によれば、対象物を囲む立体図形から分割された複数の要素のうち、対象物に含まれる各々の部品を囲む立体図形に属する要素群を特定することができる。また、解析支援装置100によれば、各々の部品を囲む立体図形に属する要素群に基づいて、各々の部品が存在する音場を表す空間モデルを生成することができる。
これにより、対象物に含まれる部品が存在して壁がある可能性が高い場所で分割された空間モデルを生成することができ、SEA法を用いた音響振動解析に適した解析モデルの作成作業の効率化を図ることができる。また、各空間モデルが各々の部品に対応しているため、音響振動解析の解析条件となる材料特性などを空間モデルに設定し易くなり、解析モデルの作成作業の効率化を図ることができる。
(解析支援装置100のハードウェア構成例)
図2は、実施の形態にかかる解析支援装置100のハードウェア構成例を示すブロック図である。図2において、解析支援装置100は、CPU201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、解析支援装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、例えば、モデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、解析支援装置100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
なお、解析支援装置100は、上述した構成部のうち、光ディスクドライブ206、光ディスク207、ディスプレイ208、キーボード210、マウス211、スキャナ212およびプリンタ213等を備えないことにしてもよい。
(解析支援装置100の機能的構成例)
図3は、実施の形態にかかる解析支援装置100の機能的構成を示すブロック図である。図3において、解析支援装置100は、取得部301と、作成部302と、分割部303と、判定部304と、生成部305と、検索部306と、算出部307と、設定部308と、出力部309と、を含む構成である。この制御部となる機能(取得部301〜出力部309)は、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。各機能部の処理結果は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
取得部301は、対象物に関する設計情報を取得する機能を有する。ここで、設計情報は、例えば、対象物を構成する部品の形状データ、材料データ、位置データなどを含む3次元CAD(Computer Aided Design)データである。形状データには、例えば、部品の形状を特定する情報が含まれている。材料データには、例えば、部品に含まれている材料(鉄、空気等)の名称、体積、密度、ヤング率などの材料特性を特定する情報が含まれている。位置データには、例えば、3次元の直交座標系における部品の配置位置を特定する情報が含まれている。
具体的には、例えば、取得部301が、図2に示したキーボード210やマウス211を用いたユーザの操作入力により、または、ネットワーク214を介した外部のコンピュータから対象物に関する設計情報を取得する。また、解析支援装置100が、対象物に関する2次元CADデータを取得し、2次元CADデータから3次元CADデータに変換することにしてもよい。
作成部302は、対象物に関する設計情報に基づいて、対象物を囲む立体図形と、対象物に含まれる部品群の各々の部品を囲む立体図形とを作成する機能を有する。ここで、対象物や部品を囲む立体図形とは、例えば、3次元の直交座標系における対象物や部品を囲む最小の直方体(以下、「バウンディングボックス」という)である。
具体的には、例えば、まず、作成部302が、対象物の中から、対象物全体の体積に対する体積の割合が所定範囲内(例えば、3〜30[%])のアセンブリを選択する。ここで、アセンブリとは、1以上の部品の組合せである。アセンブリを構成する部品の組合せは、例えば、アセンブリツリー情報から特定することができる。
アセンブリツリー情報は、対象物を構成する部品群を階層構造化して示す情報である。アセンブリツリー情報には、例えば、各アセンブリの体積を示す情報が含まれている。なお、各アセンブリの体積は、各アセンブリを構成する部品の体積を足し合わせることにより求めることにしてもよい。
アセンブリツリー情報は、例えば、対象物に関する設計情報に含まれていてもよく、また、該設計情報とともに取得されることにしてもよい。また、上記所定範囲は、例えば、予め任意に設定されてROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
より具体的には、例えば、作成部302が、アセンブリツリー情報を参照して、対象物全体の体積に対する体積の割合が所定範囲内のアセンブリを選択する。この際、作成部302が、対象物の中から、ユーザの操作入力により指定されたアセンブリを選択することにしてもよい。
そして、作成部302が、X軸とY軸とZ軸とからなる直交座標系において、対象物を囲むバウンディングボックスを作成する。また、作成部302が、X軸とY軸とZ軸とからなる直交座標系において、選択した各々のアセンブリを囲むバウンディングボックスを作成する。各バウンディングボックスは、例えば、該バウンディングボックスの各辺がX軸、Y軸およびZ軸のいずれかの軸と平行となるように作成される。
以下、対象物の中から選択されたアセンブリ群を「アセンブリAb1〜Abn」と表記する。また、対象物を囲むバウンディングボックスを「バウンディングボックスB0」と表記し、アセンブリAb1〜Abnを囲むバウンディングボックスを「バウンディングボックスB1〜Bn」と表記する。
作成された作成結果は、例えば、図4に示すバウンディングボックステーブル400に記憶される。バウンディングボックステーブル400は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。ここで、バウンディングボックステーブル400の記憶内容について説明する。
図4は、バウンディングボックステーブル400の記憶内容の一例を示す説明図である。図4において、バウンディングボックス400は、アセンブリID、バウンディングボックスID、Minポイント、Maxポイントおよび容積のフィールドを有する。各フィールドに情報を設定することで、バウンディングボックス情報400−#0〜400−#nがレコードとして記憶されている。
ここで、アセンブリIDは、アセンブリの識別子である。なお、「Ab0」は、対象物を表すアセンブリIDである。バウンディングボックスIDは、バウンディングボックスの識別子である。Minポイントは、X軸、Y軸およびZ軸からなる直交座標系におけるバウンディングボックスの頂点のうち、X座標、Y座標およびZ座標がそれぞれ最小となる点を示している。
Maxポイントは、X軸、Y軸およびZ軸からなる直交座標系におけるバウンディングボックスの頂点のうち、X座標、Y座標およびZ座標がそれぞれ最大となる点を示している。容積は、バウンディングボックスの容積である。なお、各バウンディングボックスB0〜Bnの容積は初期状態では「−(Null)」である。
図4中(4−1)のバウンディングボックス情報400−#iを例に挙げると、アセンブリAbiを囲むバウンディングボックスBiのMinポイント(Ximin,Yimin,Zimin)およびMaxポイント(Ximax,Yimax,Zimax)が示されている。
図3の説明に戻り、分割部303は、対象物を囲むバウンディングボックスB0を区切って、複数の要素に分割する機能を有する。具体的には、例えば、分割部303が、バウンディングボックスBiの各面を含む平面により、バウンディングボックスB0を格子状に区切って複数の要素に分割する(i=0,1,2,…,n)。
また、分割部303は、X軸、Y軸およびZ軸からなる直交座標系におけるバウンディングボックスB0から分割された要素間の隣接関係を特定することにしてもよい。なお、バウンディングボックスB0の分割例については、図10を用いて後述する。
以下、バウンディングボックスB0から分割された複数の要素を「要素C1〜Cm」と表記する。また、要素C1〜Cmのうち任意の要素を「要素Cj」と表記する(j=1,2,…,m)。
分割された分割結果は、例えば、図5に示す要素テーブル500に記憶される。要素テーブル500は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。ここで、要素テーブル500の記憶内容について説明する。
図5は、要素テーブル500の記憶内容の一例を示す説明図である。図5において、要素テーブル500は、要素ID、MinポイントおよびMaxポイントのフィールドを有する。各フィールドに情報を設定することで、要素情報500−1〜500−mがレコードとして記憶されている。
ここで、要素IDは、バウンディングボックスB0から分割された要素の識別子である。Minポイントは、X軸、Y軸およびZ軸からなる直交座標系における要素の頂点のうち、X座標、Y座標およびZ座標がそれぞれ最小となる点を示している。Maxポイントは、X軸、Y軸およびZ軸からなる直交座標系における要素の頂点のうち、X座標、Y座標およびZ座標がそれぞれ最大となる点を示している。
要素情報500−jを例に挙げると、要素CjのMinポイント(X[j]min,Y[j]min,Z[j]min)およびMaxポイント(X[j]max,Y[j]max,Z[j]max)が示されている。
図3の説明に戻り、判定部304は、分割された要素C1〜Cmの中から、バウンディングボックスBiに属する要素を判定する機能を有する。具体的には、例えば、まず、判定部304が、各バウンディングボックスB1〜Bnの容積v1〜vnを算出する。
各容積v1〜vnは、例えば、バウンディングボックステーブル400内の各バウンディングボックスB1〜BnのMinポイントおよびMaxポイントをもとに算出することができる。算出された各バウンディングボックスB1〜Bnの容積v1〜vnは、例えば、バウンディングボックステーブル400に記憶される(図4中(4−2)参照)。
つぎに、判定部304が、バウンディングボックスB1〜Bnの中から、容積が最小のバウンディングボックスBiを選択する。そして、判定部304が、下記式(1)〜(3)を用いて、要素CjがバウンディングボックスBiに属するか否かを判定する。
ただし、Ximin、YiminおよびZiminは、バウンディングボックスBiのMinポイントのX座標、Y座標およびZ座標である。Ximax、YimaxおよびZimaxは、バウンディングボックスBiのMaxポイントのX座標、Y座標およびZ座標である。また、X[j]min、Y[j]minおよびZ[j]minは、要素CjのMinポイントのX座標、Y座標およびZ座標である。X[j]max、Y[j]maxおよびZ[j]maxは、要素CjのMaxポイントのX座標、Y座標およびZ座標である。
Ximax<X[j]max または Ximin>X[j]min ・・・(1)
Yimax<Y[j]max または Yimin>Y[j]min ・・・(2)
Zimax<Z[j]max または Zimin>Z[j]min ・・・(3)
判定部304は、上記式(1)〜(3)をすべて満たさない場合、要素CjがバウンディングボックスBiに属すると判定する。一方、判定部304は、上記式(1)〜(3)のうち少なくともいずれかを満たす場合、要素CjがバウンディングボックスBiに属さないと判定する。
なお、バウンディングボックスBiの「Ximin、Yimin、Zimin」および「Ximax、Yimax、Zimax」は、例えば、図4に示したバウンディングボックステーブル400から特定される。また、「X[j]min、Y[j]min、Z[j]min」および「X[j]max、Y[j]max、Z[j]max」は、図5に示した要素テーブル500から特定される。
また、要素CjがバウンディングボックスBiに属さない場合、判定部304が、バウンディングボックスB1〜Bnの中から、未選択かつ容積が最小のバウンディングボックスBiを順次選択して、上記式(1)〜(3)を用いた所属判定を行う。また、判定部304は、要素CjがバウンディングボックスB1〜Bnのいずれのバウンディングボックスにも属さない場合、要素CjがバウンディングボックスB0に属すると判定する。
これにより、各要素Cjが属するバウンディングボックスBiを一意に特定することができる。判定された判定結果は、例えば、図6に示す所属先テーブル600に記憶される。所属先テーブル600は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。ここで、所属先テーブル600の記憶内容について説明する。
図6は、所属先テーブル600の記憶内容の一例を示す説明図である。図6において、所属先テーブル600は、要素ID、要素所属先ID、面IDおよび面所属先IDのフィールドを有する。各フィールドに情報を設定することで、所属先情報600−1〜600−mがレコードとして記憶されている。
ここで、要素IDは、バウンディングボックスB0から分割された要素の識別子である。要素所属先IDは、要素が属するバウンディングボックスの識別子である。面IDは、要素を構成する面の識別子である。各面には、X軸、Y軸およびZ軸からなる直交座標系における各面を構成する頂点の座標位置が対応付けられている。面所属先IDは、面が属するバウンディングボックスの識別子である。
所属先情報600−1を例に挙げると、要素C1の要素所属先ID「B1」および要素C1を構成する各面f1〜f6の面所属先IDがそれぞれ示されている。また、所属先情報600−2を例に挙げると、要素C2の要素所属先ID「B2」および要素C2を構成する各面f3,f7〜f11の面所属先IDがそれぞれ示されている。
なお、要素C2を構成する面の中に、要素C1を構成する面f3が含まれているのは、要素C1と要素C2とが面f3を共有していることを示している。ここで、バウンディングボックスB0から分割された要素Cjを構成する各面の所属例について説明する。
図7は、要素を構成する各面の所属例を示す説明図である。図7において、バウンディングボックスB0から分割された要素C1および要素C2が示されている。ここでは、要素C1がバウンディングボックスB1に属すると判定された後、要素C2がバウンディングボックスB2に属すると判定された場合を想定する。
まず、要素C1がバウンディングボックスB1に属すると判定されると、所属先テーブル600の要素C1の要素所属先IDフィールドに「B1」が設定される(図6参照)。また、所属先テーブル600の要素C1を構成する各面f1〜f6の面所属先IDフィールドに「B1」がそれぞれ設定される(図6参照)。また、面f3は要素C1と要素C2との間で共有されているため、要素C2の面f3の面所属先IDフィールドにも「B1」が設定される(図6参照)。
つぎに、要素C2がバウンディングボックスB2に属すると判定されると、所属先テーブル600の要素C2の要素所属先IDフィールドに「B2」が設定される(図6参照)。また、所属先テーブル600の要素C2を構成する面f3,f7〜f11の面所属先IDフィールドのうち情報が未設定のフィールドに「B2」が設定される(図6参照)。すなわち、各要素Cjを構成する面の所属先IDは、最初に設定された所属先IDが優先される。
図3の説明に戻り、生成部305は、バウンディングボックスBiに属する要素に基づいて、アセンブリAbiが存在する空間を表す空間モデル(以下、「空間サブシステム」という)を生成する機能を有する(ただし、i=1,2,…,n)。ここで、アセンブリAbiが存在する空間とは、例えば、アセンブリAbiが存在する音場である。
具体的には、例えば、まず、生成部305が、所属先テーブル600を参照して、バウンディングボックスBiに属する要素を特定する。そして、生成部305が、要素テーブル500を参照して、バウンディングボックスBiに属する要素をマージすることにより、立体形状の空間サブシステムを生成する。
ここで、マージとは、要素間の隣接関係に基づいて、隣接する要素同士を結合して一つの要素を生成することである。生成される空間サブシステムは、例えば、X軸、Y軸およびZ軸からなる直交座標系における空間サブシステムの各面および各面を構成する頂点を特定する情報を含むものである。
また、生成部305は、バウンディングボックスB0に属する要素に基づいて、アセンブリAbiが存在する空間とは異なる空間を表す空間サブシステムを生成する機能を有する。ここで、バウンディングボックスB0に属する要素とは、要素C1〜CmのうちバウンディングボックスB1〜Bnのいずれにも属さない要素である。
具体的には、例えば、まず、生成部305が、所属先テーブル600を参照して、バウンディングボックスB0に属する要素を特定する。そして、生成部305が、要素テーブル500を参照して、バウンディングボックスB0に属する要素をマージすることにより、立体形状の空間サブシステムを生成する。
なお、バウンディングボックスB0に属する要素は、バウンディングボックスB0内の複数箇所に離れて存在する場合がある。このため、バウンディングボックスB0に属する要素をマージすることにより、複数個の空間サブシステムが生成される場合がある。空間サブシステムの生成例については、図11および図12を用いて後述する。
以下、バウンディングボックスBiに属する要素から生成される空間サブシステムを「空間サブシステムRi」と表記する(i=0,1,2,…,n)。上述したように、バウンディングボックスB0に属する要素から複数個の空間サブシステムが生成される場合があるが、以下の説明では、単に「空間サブシステムR0」と表記する。
また、生成部305は、アセンブリAbiが存在する空間を囲む板を表す板モデル(以下、「構造サブシステム」という)を生成する機能を有する。また、生成部305は、アセンブリAbiが存在する空間とは異なる空間を囲む板を表す構造サブシステムを生成する機能を有する。
ここで、構造サブシステムとは、板状のモデルであり、音場を囲む壁を表すものである。具体的には、例えば、生成部305が、空間サブシステムRiを形成する各々の面を抽出することにより、各々の面ごとの構造サブシステムを生成する。すなわち、構造サブシステムは、空間サブシステムRiの表面を構成する要素の面をマージしたものとなる。
生成される構造サブシステムは、例えば、X軸、Y軸およびZ軸からなる直交座標系における構造サブシステムを構成する頂点を特定する情報を含むものである。構造サブシステムを生成する具体的な処理内容については、図11および図12を用いて後述する。
以下、空間サブシステムRiを形成する各々の面に対応する構造サブシステムを「構造サブシステムSi(1)〜Si(K)」と表記する。また、構造サブシステムSi(1)〜Si(K)のうち任意の構造サブシステムを「構造サブシステムSi(k)」と表記する(k=1,2,…,K)。また、全構造サブシステムのうち任意の構造サブシステムを単に「構造サブシステムS」と表記する。
検索部306は、生成されたモデル群の中から、隣接する空間サブシステムRiと構造サブシステムSとの組合せを検索する機能を有する。ここで、モデル群とは、空間サブシステムR0〜Rnおよび各空間サブシステムRiを形成する各々の面に対応する構造サブシステムSi(1)〜Si(K)の集合である。サブシステム間の隣接関係は、例えば、音響振動エネルギーの結合を表すネットワークを構築するために用いられる。
具体的には、例えば、検索部306が、空間サブシステムRiと、空間サブシステムRiを形成する各々の面に対応する各構造サブシステムSi(1)〜Si(K)との組合せを検索することにしてもよい。また、検索部306が、例えば、共通の面要素を有する空間サブシステムRiと構造サブシステムSとの組合せを検索することにしてもよい。
共通の面要素を有するとは、空間サブシステムRiと構造サブシステムSとが、ある要素の面を共有していることを表している。ここで、図8を用いて、空間サブシステムRiと構造サブシステムSとの間で共通する面要素の一例について説明する。
図8は、共通の面要素の一例を示す説明図である。図8において、要素801は、空間サブシステム810(図8中点線)を構成する要素の一つである。面802は、構造サブシステム820(図8中点線)を構成する要素の面の一つである。要素801と面802とは、頂点p1〜p4を持つ共通の面要素803を有している。
この場合、検索部306は、モデル群の中から、共通の面要素803を有する空間サブシステム810と構造サブシステム820との組合せを検索する。これにより、X軸、Y軸およびZ軸からなる直交座標系において隣接する空間サブシステムRiと構造サブシステムSとを特定することができる。
また、検索部306は、生成されたモデル群の中から、隣接する第1の構造サブシステムと第2の構造サブシステムとの組合せを検索する機能を有する。具体的には、例えば、検索部306が、共通の線要素を有する第1の構造サブシステムと第2の構造サブシステムとの組合せを検索することにしてもよい。
共通の線要素を有するとは、第1の構造サブシステムと第2の構造サブシステムとがある要素の線を共有していることを表している。ここで、図9を用いて、第1の構造サブシステムと第2の構造サブシステムとの間で共通する線要素の一例について説明する。
図9は、共通の線要素の一例を示す説明図である。図9において、面901は、構造サブシステム910を構成する要素の面の一つである。面902は、構造サブシステム920を構成する要素の面の一つである。面901と面902とは、頂点p5,p6を持つ共通の線要素903を有している。
この場合、検索部306は、モデル群の中から、共通の線要素903を有する構造サブシステム910と構造サブシステム920との組合せを検索する。これにより、X軸、Y軸およびZ軸からなる直交座標系において隣接する第1の構造サブシステムと第2の構造サブシステムとを特定することができる。
算出部307は、空間サブシステムRiの容積Viを算出する機能を有する。具体的には、例えば、算出部307が、空間サブシステムRiを形成する各々の面を構成する頂点の座標位置に基づいて、空間サブシステムRiの容積Viを算出する。
また、算出部307は、空間サブシステムRiの表面積SAiを算出する機能を有する。具体的には、例えば、空間サブシステムRiを形成する各々の面を構成する頂点の座標位置に基づいて、空間サブシステムRiの表面積SAiを算出する。
設定部308は、算出された容積Viまたは/および表面積SAiを空間サブシステムRiに設定する機能を有する。具体的には、例えば、設定部308が、空間サブシステムRiと容積Viおよび表面積SAiとを関連付けて、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶する。
また、算出部307は、構造サブシステムSi(k)の面積Ai(k)を算出する機能を有する。具体的には、例えば、算出部307が、構造サブシステムSi(k)を構成する頂点の座標位置に基づいて、構造サブシステムSi(k)の面積Ai(k)を算出する。
また、設定部308は、算出された面積Ai(k)を構造サブシステムSi(k)に設定する機能を有する。具体的には、例えば、設定部308が、構造サブシステムSi(k)と面積Ai(k)とを関連付けて、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶する。
また、設定部308は、空間サブシステムRiに、アセンブリAbiの材料特性を設定する機能を有する。ここで、材料特性とは、例えば、アセンブリAbiに含まれる材料の名称、密度、ヤング率などである。各アセンブリAbiの材料特性は、例えば、対象物に関する設計情報から特定される。
具体的には、例えば、まず、設定部308が、バウンディングボックステーブル400を参照して、空間サブシステムRiに対応する、すなわち、バウンディングボックスBiに対応するアセンブリAbiを特定する。つぎに、設定部308が、対象物に関する設計情報を参照して、アセンブリAbiに含まれる材料のうち最も体積が大きい材料の材料特性を特定する。
そして、設定部308が、空間サブシステムRiとアセンブリAbiに含まれる材料のうち最も体積が大きい材料の材料特性とを関連付けて、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶する。空間サブシステムR0については、設定部308が、例えば、対象物に含まれる材料のうち最も体積が大きい材料の材料特性を空間サブシステムR0に設定する。
これにより、空間サブシステムRiの特性として、空間サブシステムRiが表す音場に存在するアセンブリAbiの材料特性を設定することができる。
また、設定部308は、構造サブシステムSi(k)に、アセンブリAbiの材料特性を設定する機能を有する。具体的には、例えば、設定部308が、構造サブシステムSi(k)に対応する空間サブシステムRiに設定された材料の材料特性を、構造サブシステムSi(k)に設定する。
これにより、構造サブシステムSi(k)の特性として、構造サブシステムSi(k)が表す壁によって囲まれた音場に存在するアセンブリAbiの材料特性を設定することができる。
出力部309は、対象物に関する解析モデルデータを出力する機能を有する。具体的には、例えば、出力部309は、生成された空間サブシステムRiを出力する。この際、出力部309が、空間サブシステムRiに設定されている容積Viまたは/およびアセンブリAbiの材料特性を合わせて出力することにしてもよい。
また、出力部309は、生成された構造サブシステムSi(k)を出力する。この際、出力部309が、構造サブシステムSi(k)に設定されている面積Ai(k)または/およびアセンブリAbiの材料特性を合わせて出力することにしてもよい。
また、出力部309は、検索された検索結果を出力する。具体的には、例えば、出力部309が、空間サブシステムRiとともに、空間サブシステムRiに隣接する構造サブシステムSi(k)を特定する情報を出力することにしてもよい。また、出力部309が、第1の構造サブシステムとともに、第1の構造サブシステムに隣接する空間サブシステムRiまたは/および第2の構造サブシステムを特定する情報を出力することにしてもよい。
出力部309の出力形式としては、例えば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。出力される解析モデルデータの具体例については、図13〜図17を用いて後述する。
なお、上述した説明では、容積が最小のバウンディングボックスBiを順次選択して、要素Cjの所属判定を行うことにしたが、これに限らない。例えば、判定部304が、バウンディングボックスB0を除くバウンディングボックスB1〜Bnの中から容積が最大のバウンディングボックスBiを順次選択して要素Cjの所属判定を行うことにしてもよい。
(バウンディングボックスB0の分割例)
つぎに、対象物を囲むバウンディングボックスB0を格子状に区切って、複数の要素に分割する分割例について説明する。
図10は、バウンディングボックスの分割例を示す説明図である。図10において、対象物を囲むバウンディングボックスB0と、アセンブリAb1〜Ab3を囲むバウンディングボックスB1〜B3と、が示されている。なお、図面では、アセンブリを囲むバウンディングボックスの一部を抜粋して表示している。
分割部303は、バウンディングボックスBiの各面を含む平面(以下、「切断面」という)により、バウンディングボックスB0を区切って複数の要素C1〜Cmに分割する(i=0,1,2,…,n)。図10の例では、一例として、バウンディングボックスB1の面1001を含む切断面1010により、バウンディングボックスB0が区切られている。
ここで、各要素Cjの一辺の長さとして、音響振動解析において対象とする音波の波長が収まる程度の長さを確保することが望ましい。そこで、分割部303は、例えば、X軸、Y軸、Z軸のそれぞれについて、各切断面と各軸との交点の該軸上の座標位置を小さい順にソートする。
つぎに、分割部303は、軸上の座標位置が小さい順に、軸上の隣接する第1の交点と第2の交点との間の距離を算出する。そして、分割部303は、第1の交点と第2の交点との間の距離が所定の閾値L以下の場合、第2の交点を形成する切断面を削除する。すなわち、分割部303が、第2の交点を形成する切断面によってバウンディングボックスB0を区切らないことにする。
この際、軸上の最後の交点(つまり、座標位置が最大の交点)が削除されないように、最後の交点が削除される場合は、分割部303が、最後の交点の一つ前の交点を削除する。これにより、バウンディングボックスB0の面を含む切断面と軸との交点が削除されることを防ぐことができる。
上記閾値Lは、音響振動解析において対象とする音波の波長が収まる程度の長さに設定される(例えば、L=30[mm])。これにより、各要素Cjの一辺の長さとして、音響振動解析において対象とする音波の波長が収まる程度の長さを確保することができる。なお、閾値Lは、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
(空間サブシステムRiおよび構造サブシステムSi(k)の生成例)
つぎに、バウンディングボックスBiに属する要素に基づく空間サブシステムRi、および構造サブシステムSi(k)の生成例について説明する。
図11および図12は、空間サブシステムおよび構造サブシステムの生成例を示す説明図である。図11の(11−1)において、バウンディングボックスB[1]に属する要素C[1]〜C[12]が示されている。
生成部305は、バウンディングボックスB[1]に属する各要素C[1]〜C[12]の各面に対して、内部面か外部面かを判定する。ここで、内部面とは、空間サブシステムRiの表面とならない面である。また、外部面とは、空間サブシステムRiの表面となる面である。
具体的には、例えば、生成部305が、要素間の隣接関係に基づいて、各要素C[1]〜C[12]の各面に対して、該面を介して隣接する要素間の要素所属先IDが一致するか否かを判定する。各要素の要素所属先IDは、例えば、所属先テーブル600から特定される。ここで、要素所属先IDが一致する場合、生成部305が、該面が内部面であると判定する。一方、要素所属先IDが不一致の場合、生成部305が、該面が外部面であると判定する。
図11の(11−2)に示す例では、要素C[1]の面1101を介して隣接する要素C[1]と要素C[2]との要素所属先IDが一致するため、面1101は内部面と判定される。一方、要素C[1]の面1102を介して隣接する要素C[1]と要素C[13]との要素所属先IDは不一致のため、面1102は外部面と判定される。
図12の(11−3)において、生成部305は、要素C[1]〜C[12]の面集合の中から内部面を削除する。つぎに、生成部305は、要素間の隣接関係に基づいて、残余の外部面の集合の中から、隣接し、かつ、同じ面法線を持つ外部面群を抽出する。
図12の(11−4)において、生成部305は、抽出した外部面群をマージすることにより、空間サブシステムR[1]を形成する面を生成する。そして、生成部305は、生成した各々の面をマージすることにより、空間サブシステムR[1]を生成する。これにより、空間サブシステムR[1]を形成する各々の面および各々の面を構成する頂点を特定する情報を生成することができる。
また、図12の(11−3)において、生成部305は、要素間の隣接関係に基づいて、残余の外部面の集合の中から、隣接し、かつ、同じ面法線を持ち、かつ、面所属先IDが要素所属先IDと同一の外部面群を抽出する。面所属先IDおよび要素所属先IDは、例えば、所属先テーブル600から特定される。
そして、図12の(11−5)において、生成部305は、抽出した外部面群をマージすることにより、構造サブシステムS[1]〜S[8]を生成する。これにより、各構造サブシステムS[1]〜S[8]を構成する頂点を特定する情報を生成することができる。また、外部面群を抽出する際に、面所属先IDが要素所属先IDと同一のものを抽出することにより、隣接する空間サブシステムの間に、構造サブシステムが重複して生成されることを防ぐことができる。
なお、生成部305は、要素C[1]〜C[12]の外部面にポリゴンを貼り付けることにより、空間サブシステムR[1]や構造サブシステムS[1]〜S[8]の3次元形状を生成することにしてもよい。これにより、空間サブシステムR[1]や構造サブシステムS[1]〜S[8]をディスプレイ208に表示して、設計者等にモデル形状を確認させることができる。
(解析モデルデータの具体例)
つぎに、図13〜図17を用いて、出力部309によって出力される対象物に関する解析モデルデータの具体例について説明する。
図13は、解析モデルデータの具体例を示す説明図である。図13において、解析モデルデータ1300は、対象物に関する解析モデルを表す情報であり、例えば、SEA法を用いた音響振動解析に用いられる。具体的には、解析モデルデータ1300は、頂点データ1301と、面データ1302と、空間サブシステムデータ1303と、構造サブシステムデータ1304とを含む。
頂点データ1301は、対象物に関する解析モデル内の頂点の座標位置を示す情報である。面データ1302は、解析モデル内の面を構成する頂点を示す情報である。空間サブシステムデータ1303は、解析モデルに含まれる空間サブシステムRiを表す情報である。構造サブシステムデータ1304は、解析モデルに含まれる構造サブシステムSを表す情報である。
図14は、頂点データの具体例を示す説明図である。図14において、頂点データ1301は、解析モデル内の頂点p1〜p16の座標位置を示す情報である。一例として頂点p1を例に挙げると、頂点p1の座標位置(X,Y,Z)=(0,0,0)が示されている。
図15は、面データの具体例を示す説明図である。図15において、面データ1302は、解析モデル内の面f1〜f16を構成する頂点を示す情報である。一例として面f1を例に挙げると、面f1を構成する頂点p1,p2,p4,p5が示されている。
図16は、空間サブシステムデータの具体例を示す説明図である。図16において、空間サブシステムデータ1303は、空間サブシステムID、面ID、容積、表面積、材料特性、隣接音場および隣接板要素のフィールドを有する。各フィールドに情報を設定することで、空間サブシステム情報1600−1〜1600−3がレコードとして記憶されている。
ここで、空間サブシステムIDは、空間サブシステムRiの識別子である。面IDは、空間サブシステムRiを形成する面の識別子である。容積は、空間サブシステムRiの容積Viである。表面積は、空間サブシステムRiの表面積SAiである。材料特性は、空間サブシステムRiに設定されているアセンブリAbiの材料特性である。
隣接音場は、空間サブシステムRiに隣接する空間サブシステムの識別子である。隣接板要素は、空間サブシステムRiに隣接する構造サブシステムの識別子である。なお、空間サブシステムRiは、構造サブシステムSi(1)〜Si(K)に囲まれており、他の空間サブシステムと隣接しないため、初期状態では隣接音場は「−(null)」となっている。
ただし、ユーザの操作入力により、例えば、対象物に関する解析モデルの中から構造サブシステムSi(k)が手動で削除されると、複数の空間サブシステムが隣接する場合がある。この場合、上記検索部306は、構造サブシステムSi(k)が削除された削除後のモデル群の中から、隣接する第1の空間サブシステムと第2の空間サブシステムとの組合せを検索することにしてもよい。
具体的には、例えば、検索部306が、共通の面要素を有する第1の空間サブシステムと第2の空間サブシステムとの組合せを検索する。この結果、空間サブシステムRiに隣接する他の空間サブシステムが検索された場合、上記隣接音場フィールドに他の空間サブシステムの空間サブシステムIDが設定されることになる。
図17は、構造サブシステムデータの具体例を示す説明図である。図17において、構造サブシステムデータ1304は、構造サブシステムID、面積、材料特性、隣接音場および隣接板要素のフィールドを有する。各フィールドに情報を設定することで、構造サブシステム情報1700−1〜1700−16がレコードとして記憶されている。
ここで、構造サブシステムIDは、構造サブシステムSの識別子である。面積は、構造サブシステムSの面積である。材料特性は、構造サブシステムSに設定されているアセンブリAbiの材料特性である。隣接音場は、構造サブシステムSに隣接する空間サブシステムの識別子である。隣接板要素は、構造サブシステムSに隣接する他の構造サブシステムの識別子である。
ユーザは、解析モデルデータ1300を用いて、SEA法を用いた対象物の音響振動解析を行うことができる。具体的には、例えば、ユーザは、解析モデルデータ1300に対して、音源部品や穴情報(例えば、穴の形状、位置)などを設定する。また、ユーザは、例えば、ディスプレイ208に表示された解析モデルのポリゴンデータを確認しながら、各サブシステムの修正、削除、音響振動の伝達特性に関わる各種特性の設定等の編集作業を行うことができる。そして、ユーザは、音響振動解析ソルバに解析モデルデータ1300を入力することで、対象物の音響振動解析を行うことができる。
(解析支援装置100の解析支援処理手順)
つぎに、実施の形態にかかる解析支援装置100の解析支援処理手順について説明する。図18は、実施の形態にかかる解析支援装置100の解析支援処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、取得部301により、対象物に関する設計情報を取得したか否かを判断する(ステップS1801)。
ここで、取得部301により、設計情報を取得するのを待って(ステップS1801:No)、設計情報を取得した場合(ステップS1801:Yes)、作成部302により、対象物の中からアセンブリAb1〜Abnを選択する(ステップS1802)。
そして、作成部302により、X軸とY軸とZ軸とからなる直交座標系において、対象物を囲むバウンディングボックスB0を作成する(ステップS1803)。つぎに、作成部302により、X軸とY軸とZ軸とからなる直交座標系において、選択したアセンブリAb1〜Abnを囲むバウンディングボックスB1〜Bnを作成する(ステップS1804)。
このあと、分割部303により、対象物を囲むバウンディングボックスB0を格子状に区切って、要素C1〜Cmに分割する(ステップS1805)。つぎに、判定部304により、要素C1〜Cmの中から、バウンディングボックスBiに属する要素を判定する判定処理を実行する(ステップS1806)。
そして、生成部305により、バウンディングボックスBiに属する要素に基づいて、サブシステムを生成する生成処理を実行する(ステップS1807)。このあと、検索部306により、生成されたモデル群の中から、隣接するサブシステムの組合せを検索する検索処理を実行する(ステップS1808)。
つぎに、設定部308により、各サブシステムに各種特性を設定する設定処理を実行する(ステップS1809)。そして、出力部309により、対象物に関する解析モデルデータを出力して(ステップS1810)、本フローチャートによる一連の処理を終了する。
これにより、SEA法を用いた音響振動解析の対象物に関する解析モデルを生成することができる。
つぎに、図18に示したステップS1806の判定処理の具体的処理手順について説明する。
図19は、判定処理の具体的処理手順の一例を示すフローチャートである。図19において、まず、判定部304により、各バウンディングボックスB1〜Bnの容積v1〜vnを算出する(ステップS1901)。
そして、判定部304により、バウンディングボックスB1〜Bnを容積が昇順となるようにソートする(ステップS1902)。なお、ここでは説明上、ソート後のn個のバウンディングボックスを「バウンディングボックスB1〜Bn」と表記する。
つぎに、判定部304により、要素Cjの「j」を「j=1」として(ステップS1903)、要素C1〜Cmの中から要素Cjを選択する(ステップS1904)。そして、判定部304により、バウンディングボックスBiの「i」を「i=1」として(ステップS1905)、バウンディングボックスB1〜Bnの中からバウンディングボックスBiを選択する(ステップS1906)。
このあと、判定部304により、要素Cjが上記式(1)を満たすか否かを判定する(ステップS1907)。ここで、上記式(1)を満たす場合(ステップS1907:Yes)、ステップS1911に移行する。
一方、上記式(1)を満たさない場合(ステップS1907:No)、判定部304により、要素Cjが上記式(2)を満たすか否かを判定する(ステップS1908)。ここで、上記式(2)を満たす場合(ステップS1908:Yes)、ステップS1911に移行する。
一方、上記式(2)を満たさない場合(ステップS1908:No)、判定部304により、要素Cjが上記式(3)を満たすか否かを判定する(ステップS1909)。ここで、上記式(3)を満たさない場合(ステップS1909:No)、判定部304により、要素CjがバウンディングボックスBiに属すると判定する(ステップS1910)。
一方、上記式(3)を満たす場合(ステップS1909:Yes)、判定部304により、バウンディングボックスBiの「i」をインクリメントして(ステップS1911)、「i」が「n」より大きいか否かを判断する(ステップS1912)。
ここで、「i」が「n」以下の場合(ステップS1912:No)、ステップS1906に戻る。一方、「i」が「n」より大きい場合(ステップS1912:Yes)、判定部304により、要素CjがバウンディングボックスB0に属すると判定する(ステップS1913)。
そして、判定部304により、要素Cjの「j」をインクリメントして(ステップS1914)、「j」が「m」より大きいか否かを判断する(ステップS1915)。ここで、「j」が「m」以下の場合(ステップS1915:No)、ステップS1904に戻る。一方、「j」が「m」より大きい場合(ステップS1915:Yes)、図18に示したステップS1807に移行する。
これにより、対象物を囲むバウンディングボックスB0から分割された各要素Cjが属するバウンディングボックスBiを一意に特定することができる。
つぎに、図18に示したステップS1807の生成処理の具体的処理手順について説明する。
図20は、生成処理の具体的処理手順の一例を示すフローチャートである。図20において、まず、生成部305により、バウンディングボックスBiの「i」を「i=0」として(ステップS2001)、バウンディングボックスB0〜Bnの中からバウンディングボックスBiを選択する(ステップS2002)。
つぎに、生成部305により、バウンディングボックスBiに属する要素を特定する(ステップS2003)。そして、生成部305により、バウンディングボックスBiに属する要素をマージすることにより、空間サブシステムRiを生成する(ステップS2004)。
このあと、生成部305により、空間サブシステムRiを形成する各々の面を表す構造サブシステムSi(1)〜Si(K)を生成する(ステップS2005)。つぎに、生成部305により、バウンディングボックスBiの「i」をインクリメントして(ステップS2006)、「i」が「n」より大きいか否かを判断する(ステップS2007)。
ここで、「i」が「n」以下の場合(ステップS2007:No)、ステップS2002に戻る。一方、「i」が「n」より大きい場合(ステップS2007:Yes)、図18に示したステップS1808に移行する。
これにより、アセンブリAbiが存在する空間を表す空間サブシステムRi、およびアセンブリAbiが存在する空間を囲む壁を表す構造サブシステムSi(1)〜Si(K)を生成することができる。
つぎに、図18に示したステップS1808の検索処理の具体的処理手順について説明する。
図21は、検索処理の具体的処理手順の一例を示すフローチャートである。図21において、まず、検索部306により、空間サブシステムRiの「i」を「i=0」として(ステップS2101)、空間サブシステムR0〜Rnの中から空間サブシステムRiを選択する(ステップS2102)。
そして、検索部306により、生成されたモデル群の中から、空間サブシステムRiと共通の面要素を有する構造サブシステムSを検索する(ステップS2103)。このあと、検索部306により、空間サブシステムRiの「i」をインクリメントして(ステップS2104)、「i」が「n」より大きいか否かを判断する(ステップS2105)。
ここで、「i」が「n」以下の場合(ステップS2105:No)、ステップS2102に戻る。一方、「i」が「n」より大きい場合(ステップS2105:Yes)、検索部306により、生成された構造サブシステム群の中から、構造サブシステムSを選択する(ステップS2106)。
そして、検索部306により、空間サブシステムR0〜Rnの中から、構造サブシステムSと共通の面要素を有する空間サブシステムRiを検索する(ステップS2107)。つぎに、検索部306により、生成された構造サブシステム群の中から、構造サブシステムSと共通の線要素を有する構造サブシステムを検索する(ステップS2108)。
そして、検索部306により、生成された構造サブシステム群の中から選択されていない未選択の構造サブシステムSがあるか否かを判断する(ステップS2109)。ここで、未選択の構造サブシステムSがある場合(ステップS2109:Yes)、ステップS2106に戻る。一方、未選択の構造サブシステムSがない場合(ステップS2109:No)、図18に示したステップS1809に移行する。
これにより、音響振動エネルギーの結合を表すネットワークを構築するために用いられるサブシステム間の隣接関係を特定することができる。なお、ステップS2107において、構造サブシステムSと共通の面要素を有する空間サブシステムRiを検索する際に、ステップS2103の検索結果を利用することにしてもよい。
つぎに、図18に示したステップS1809の設定処理の具体的処理手順について説明する。
図22は、設定処理の具体的処理手順の一例を示すフローチャートである。図22において、まず、設定部308により、空間サブシステムRiの「i」を「i=0」として(ステップS2201)、空間サブシステムR0〜Rnの中から空間サブシステムRiを選択する(ステップS2202)。
そして、設定部308により、図18に示したステップS1801において取得された設計情報に基づいて、空間サブシステムRiに対応するアセンブリAbiの材料特性を特定する(ステップS2203)。つぎに、算出部307により、空間サブシステムRiの容積Viを算出する(ステップS2204)。
このあと、算出部307により、空間サブシステムRiの表面積SAiを算出する(ステップS2205)。そして、設定部308により、空間サブシステムRiにアセンブリAbiの材料特性、容積Viおよび表面積SAiを設定する(ステップS2206)。
つぎに、設定部308により、構造サブシステムSi[k]の「k」を「k=1」として(ステップS2207)、構造サブシステムSi[1]〜Si[K]の中から構造サブシステムSi[k]を選択する(ステップS2208)。
このあと、算出部307により、構造サブシステムSi(k)の面積Ai(k)を算出する(ステップS2209)。そして、設定部308により、構造サブシステムSi(k)にアセンブリAbiの材料特性および面積Ai(k)を設定する(ステップS2210)。
つぎに、設定部308により、構造サブシステムSi[k]の「k」をインクリメントして(ステップS2211)、「k」が「K」より大きいか否かを判断する(ステップS2212)。ここで、「k」が「K」以下の場合(ステップS2212:No)、ステップS2208に戻る。
一方、「k」が「K」より大きい場合(ステップS2212:Yes)、設定部308により、空間サブシステムRiの「i」をインクリメントして(ステップS2213)、「i」が「n」より大きいか否かを判断する(ステップS2214)。
ここで、「i」が「n」以下の場合(ステップS2214:No)、ステップS2202に戻る。一方、「i」が「n」より大きい場合(ステップS2214:Yes)、図18に示したステップS1810に移行する。これにより、各サブシステムの特性を設定することができる。
以上説明したように、実施の形態にかかる解析支援装置100によれば、対象物を囲むバウンディングボックスB0から分割された要素C1〜Cmのうち、アセンブリAbiを囲むバウンディングボックスBiに属する要素群を特定することができる。また、解析支援装置100によれば、バウンディングボックスBiに属する要素群に基づいて、アセンブリAbiが存在する音場を表す空間サブシステムRiを生成することができる。
これにより、対象物に含まれるアセンブリAbiが存在して壁が存在する可能性が高い場所で分割された空間サブシステムRiを生成することができ、SEA法を用いた音響振動解析に適した解析モデルの作成作業の効率化を図ることができる。また、対象物やアセンブリAbiを囲む立体図形として直方体を用いることで、球やポリゴン図形等を用いる場合に比べて、解析支援装置100にかかる処理負荷を軽減させることができる。
また、アセンブリAbiとして、対象物内の一定の大きさを持った部品を選択することで、対象物全体に対して小さすぎるまたは大きすぎる空間サブシステムRiや構造サブシステムSi(k)が生成されることを防いで、解析精度の低下を回避することができる。
また、解析支援装置100によれば、バウンディングボックスBiに属する要素群に基づいて、アセンブリAbiが存在する音場を囲む板を表す構造サブシステムSi[1]〜Si[K]を生成することができる。
また、解析支援装置100によれば、アセンブリAbiが存在する音場を表す空間サブシステムRiに、アセンブリAbiの材料特性を設定することができる。具体的には、例えば、解析支援装置100によれば、アセンブリAbiに含まれる材料のうち最も体積が大きい材料の材料特性を空間サブシステムRiに設定することができる。これにより、音響振動解析の解析条件となる材料特性を空間サブシステムRiに設定することができ、解析モデルの作成作業の効率化を図ることができる。
また、解析支援装置100によれば、アセンブリAbiが存在する音場を囲む板を表す構造サブシステムSi[k]に、アセンブリAbiの材料特性を設定することができる。これにより、音響振動解析の解析条件となる材料特性を構造サブシステムSi[k]に設定することができ、解析モデルの作成作業の効率化を図ることができる。
また、解析支援装置100によれば、空間サブシステムRiの容積Viを算出して、空間サブシステムRiに設定することができる。これにより、音響振動解析の解析条件となる容積Viを空間サブシステムRiに設定することができ、解析モデルの作成作業の効率化を図ることができる。
また、解析支援装置100によれば、空間サブシステムRiの表面積SAiを算出して、空間サブシステムRiに設定することができる。これにより、音響振動解析の解析条件となる表面積SAiを空間サブシステムRiに設定することができ、解析モデルの作成作業の効率化を図ることができる。
また、解析支援装置100によれば、構造サブシステムSi[k]の面積Ai(k)を算出して、構造サブシステムSi[k]に設定することができる。これにより、音響振動解析の解析条件となる面積Ai(k)を構造サブシステムSi[k]に設定することができ、解析モデルの作成作業の効率化を図ることができる。
また、解析支援装置100によれば、生成されたモデル群の中から、隣接する空間サブシステムRiと構造サブシステムSとの組合せを検索することができる。これにより、サブシステム間の隣接関係を特定して、音響振動エネルギーの結合を表すネットワークを構築することができる。
また、解析支援装置100によれば、生成されたモデル群の中から、隣接する第1の構造サブシステムと第2の構造サブシステムとの組合せを検索することができる。これにより、サブシステム間の隣接関係を特定して、音響振動エネルギーの結合を表すネットワークを構築することができる。
これらのことから、本解析支援プログラム、解析支援方法および解析支援装置によれば、対象物に関する解析モデルの作成作業の効率化を図ることができる。
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)対象物に関する設計情報に基づいて、前記対象物を囲む立体図形と、前記対象物に含まれる部品群の各々の部品を囲む立体図形とを作成し、
作成した前記対象物を囲む立体図形を区切って分割された複数の要素の中から、前記各々の部品を囲む立体図形に属する要素を判定し、
判定した前記各々の部品を囲む立体図形に属する要素に基づいて、前記各々の部品が存在する空間を表す空間モデルを生成し、
生成した生成結果を出力する、
処理をコンピュータに実行させることを特徴とする解析支援プログラム。
(付記2)前記各々の部品を囲む立体図形に属する要素に基づいて、前記各々の部品が存在する空間を囲む板を表す板モデルを生成する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載の解析支援プログラム。
(付記3)前記複数の要素のうち前記各々の部品を囲む立体図形に属する要素とは異なる残余の要素に基づいて、前記各々の部品が存在する空間とは異なる空間を表す空間モデルを生成する、
処理を前記コンピュータに実行させることを特徴とする付記1または2に記載の解析支援プログラム。
(付記4)前記残余の要素に基づいて、前記各々の部品が存在する空間とは異なる空間を囲む板を表す板モデルを生成する、
処理を前記コンピュータに実行させることを特徴とする付記3に記載の解析支援プログラム。
(付記5)前記各々の部品が存在する空間を表す空間モデルに、前記各々の部品の材料特性を設定し、
前記各々の部品の材料特性が設定された前記空間モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記1〜4のいずれか一つに記載の解析支援プログラム。
(付記6)前記各々の部品が存在する空間を囲む板を表す板モデルに、前記各々の部品の材料特性を設定し、
前記各々の部品の材料特性が設定された前記板モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記2〜5のいずれか一つに記載の解析支援プログラム。
(付記7)前記各々の部品が存在する空間とは異なる空間を表す空間モデルに、前記対象物の材料特性を設定し、
前記対象物の材料特性が設定された前記空間モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記3〜6のいずれか一つに記載の解析支援プログラム。
(付記8)前記各々の部品が存在する空間とは異なる空間を囲む板を表す板モデルに、前記対象物の材料特性を設定し、
前記対象物の材料特性が設定された前記板モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記7に記載の解析支援プログラム。
(付記9)前記空間モデルの容積を算出し、
算出した前記容積を前記空間モデルに設定し、
前記容積が設定された前記空間モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記1〜8のいずれか一つに記載の解析支援プログラム。
(付記10)前記空間モデルの表面積を算出し、
算出した前記表面積を前記空間モデルに設定し、
前記表面積が設定された前記空間モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記1〜9のいずれか一つに記載の解析支援プログラム。
(付記11)前記板モデルの面積を算出し、
算出した前記面積を前記板モデルに設定し、
前記面積が設定された前記板モデルを出力する、
処理を前記コンピュータに実行させることを特徴とする付記2〜10のいずれか一つに記載の解析支援プログラム。
(付記12)生成した生成結果の中から、隣接する空間モデルと板モデルとの組合せを検索し、
検索した検索結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記2〜11のいずれか一つに記載の解析支援プログラム。
(付記13)前記組合せを検索する処理は、
生成した生成結果の中から、共通の面要素を有する空間モデルと板モデルとの組合せを検索することを特徴とする付記12に記載の解析支援プログラム。
(付記14)生成した生成結果の中から、隣接する第1の板モデルと第2の板モデルとの組合せを検索し、
検索した検索結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記2〜13のいずれか一つに記載の解析支援プログラム。
(付記15)前記組合せを検索する処理は、
生成した生成結果の中から、共通の線要素を有する第1の板モデルと第2の板モデルとの組合せを検索することを特徴とする付記14に記載の解析支援プログラム。
(付記16)対象物に関する設計情報に基づいて、前記対象物を囲む立体図形と、前記対象物に含まれる部品群の各々の部品を囲む立体図形とを作成し、
作成した前記対象物を囲む立体図形を区切って分割された複数の要素の中から、前記各々の部品を囲む立体図形に属する要素を判定し、
判定した前記各々の部品を囲む立体図形に属する要素に基づいて、前記各々の部品が存在する空間を表す空間モデルを生成し、
生成した生成結果を出力する、
処理をコンピュータが実行することを特徴とする解析支援方法。
(付記17)対象物に関する設計情報に基づいて、前記対象物を囲む立体図形と、前記対象物に含まれる部品群の各々の部品を囲む立体図形とを作成する作成部と、
前記作成部によって作成された前記対象物を囲む立体図形を区切って分割された複数の要素の中から、前記各々の部品を囲む立体図形に属する要素を判定する判定部と、
前記判定部によって判定された前記各々の部品を囲む立体図形に属する要素に基づいて、前記各々の部品が存在する空間を表す空間モデルを生成する生成部と、
前記生成部によって生成された生成結果を出力する出力部と、
を備えることを特徴とする解析支援装置。