空気溜りのシミュレーション方法及びシミュレーションプログラム
【課題】対象物の形状を複数の要素のデータでモデル化して空気溜りをシミュレーションする際の要素の形状や配列の相違による依存性を改善し、適正なシミュレーション結果を得る。
【解決手段】或る1つの液外メッシュを選択し(S12)、別の液外メッシュの重力と反対方向における高さが0〜Hの範囲内で高いか否かを調べる(S16)。そして、0〜Hの範囲内で高い場合、別の液外メッシュを一時的にメッシュ群に登録する(S17)。この一時的なメッシュ群の登録を全メッシュに対して終了すると、一時的に登録したメッシュ群の中から或るメッシュ群を選択し(S18)、先に選択した液外メッシュに繋がっているか否かを確認し(S19)、繋がっている場合、隣接メッシュ群に登録する(S20)。これにより、メッシュの属性を判定する際の情報領域を拡張してメッシュ依存性を改善し、適正なシミュレーション結果を得ることができる。
【解決手段】或る1つの液外メッシュを選択し(S12)、別の液外メッシュの重力と反対方向における高さが0〜Hの範囲内で高いか否かを調べる(S16)。そして、0〜Hの範囲内で高い場合、別の液外メッシュを一時的にメッシュ群に登録する(S17)。この一時的なメッシュ群の登録を全メッシュに対して終了すると、一時的に登録したメッシュ群の中から或るメッシュ群を選択し(S18)、先に選択した液外メッシュに繋がっているか否かを確認し(S19)、繋がっている場合、隣接メッシュ群に登録する(S20)。これにより、メッシュの属性を判定する際の情報領域を拡張してメッシュ依存性を改善し、適正なシミュレーション結果を得ることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、浸漬処理を施す際にワークに生じる空気溜りをシミュレーションする空気溜りのシミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【0002】
一般に、電着塗装やメッキ等におけるワークの浸漬工程においては、均一な塗膜やメッキ膜を形成させるために、ワークに空気溜り(エアポケット)を生じさせないことが重要である。このエアポケットは、複雑な形状のワークを浸漬した際に、その隙間にできる凹部、例えば、自動車等の車体であれば、フード内面、ルーフ内面、フロア下面等の凹部等の空間に空気が残留する現象であり、このエアポケットが発生すると、塗装不良やメッキ不良が発生してしまう。
【0003】
そこで、ワークを浸漬処理する状態をコンピュータを用いてシミュレーションし、エアポケットの発生状況を予測する手法が提案されている。エアポケットのコンピュータシミュレーションとしては、ワークの表面形状を、メッシュやノード等の複数の要素のデータでモデル化し、各要素の属性が気体であるか液体であるかを、要素の特徴点(例えば、重心点、頂点、内心点、外心点、垂心点)同士の重力方向の位置を比較して判定する幾何学的な手法が知られている。
【0004】
例えば、特許文献1には、ワークの各表面をその頂点座標データに基づいて任意数の三角ポリゴン(三角形の要素)に分割し、各々の三角ポリゴンについて空気と浸漬槽内の液体との状態変化を時々刻々と計算することにより、ワークを入槽角の姿勢にて浸漬槽に模擬浸漬した際にエアポケットとなりうる表面部位であるか否かの判定を行う手法が開示されている。
【特許文献1】特開2000−51750号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ワークの表面形状を複数の要素のデータでモデル化する幾何学的な手法は、簡便ではあるものの、或る要素の属性が気体であるか液体であるかを判定する際、判定対象となる要素の近傍からの情報のみに基づいているため、要素の形状や配列に依存してシミュレーション結果が異なってしまうという問題がある。
【0006】
すなわち、従来の手法では、或るメッシュM1の属性を判定する場合、図12に示すように、判定対象のメッシュM1に隣接する隣接メッシュM2のみを比較対象としており、図12(a)に示すような配列でメッシュを構成した場合と、図12(b)に示すような配列でメッシュを構成した場合とでは、判定対象のメッシュM1の周囲の隣接メッシュM2によって形成される情報領域R1,R2の形が異なってしまう。本来、要素の属性を判定するための情報領域は、正方形であることが望ましいが、従来の手法では、判定対象要素のすぐ近傍からの情報しか入らないため、判定情報の領域が要素の形状や配列に依存していびつになり、偏った情報を基づいて判定することになる。
【0007】
例えば、図13(a),(b)に示すように、配列が異なった2種類のメッシュで構築した計算モデルA,Bにおいて、メッシュの重力と反対方向の高さが最も高い節点(ノード)の座標値を用いてエアポケットの発生をシミュレーションすると、初期条件等から属性が液体であると決定した各モデルのメッシュMia,Mibが同じ位置にあっても、メッシュ依存性によって異なるシミュレーション結果となる。すなわち、全メッシュについての判定結果は、図14(a),(b)のようになり、モデルAにおける気液境界線Laと、モデルBにおける気液境界線Lbとは明らかに異なった結果となる。
【0008】
本発明は上記事情に鑑みてなされたもので、対象物の形状を複数の要素のデータでモデル化して空気溜りをシミュレーションする際の要素の形状や配列の相違による依存性を改善し、適正なシミュレーション結果を得ることのできる空気溜りのシミュレーション方法及びシミュレーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明による空気溜りのシミュレーション方法は、浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップとを備えることを特徴とする。
【0010】
本発明による空気溜りのシミュレーションプログラムは、浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップとを備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、対象物の形状を複数の要素のデータでモデル化して空気溜りをシミュレーションする際の要素の形状や配列の相違による依存性を改善し、適正なシミュレーション結果を得ることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図11は本発明の実施の一形態に係り、図1はシミュレーション装置の基本構成図、図2は車体の塗装ラインの概略説明図、図3はフロアパネルの概略斜視図、図4はフロアパネルを複数の要素に分割した解析モデルを示す説明図、図5は情報領域の拡大を示す説明図、図6は情報領域の垂直方向の拡大範囲を示す説明図、図7はエアポケットシミュレーションのメインルーチンを示すフローチャート、図8は隣接メッシュ群登録ルーチンのフローチャート、図9は隣接メッシュ群の連続性を示す説明図、図10はエアポケット判定計算ルーチンのフローチャート、図11はシミュレーション結果を示す説明図である。
【0013】
図1に示すように、本実施の形態におけるシミュレーション装置1は、自動車のボディシェル等のワークに電着塗装やめっき処理等の浸漬処理を施す際に、ワークに生じる空気溜り(エアポケット)をシミュレーションするものである。このエアポケットのシミュレーション装置1は、マイクロコンピュータやパーソナルコンピュータ等の単一のコンピュータ、或いはネットワークを介して相互に接続される複数のコンピュータを用いて構成される。
【0014】
以下では、便宜上、シミュレーション装置1を単一のコンピュータで構成する例について説明する。このコンピュータとしてのシミュレーション装置1は、演算装置10、キーボードやマウス等の入力装置11、CRTや液晶ディスプレイ等の表示装置12、磁気ディスクや光ディスク等の外部記憶装置13等を備えている。
【0015】
演算装置10は、CPU、ROM及びRAM等の内部メモリ、入出力インターフェース等を備えており、内部のROM、外部記憶装置13、外部の記憶媒体に記憶させたシミュレーションプログラム、或いは、図示しないネットワークや通信装置を介して外部からロードしたシミュレーションプログラムをCPUで実行し、入力装置11を介して指示された解析対象のワーク(対象物)を擬似的に浸漬槽内に浸漬させ、その浸漬によって対象物に発生するエアポケットをシミュレーションする。
【0016】
例えば、本発明によるシミュレーションの適用例として、車体ボディの電着塗装時における電着液及び空気の分布を数値解析し、被塗装物におけるエアポケットの発生を予測するシミュレーションが挙げられる。ここで、車体ボディの塗装ラインについて、図2を用いて簡単に説明する。
【0017】
図2に示すように、溶接等により複数の車体パネルを互いに接合して構成される自動車の車体ボディ20は、搬送装置21のハンガに搭載された状態で塗装ラインにて略水平方向へ搬送される。塗装ラインでは、電着塗装の前処理として、車体パネルに脱脂、水洗、表面調整、皮膜化成、水洗等の処理が施される。
【0018】
これらの処理の後、車体ボディ20は電着槽22に向かって降下し、電着液23に浸漬された状態で略水平に移動する。この状態で、車体ボディ20と電着槽22内の電極(図示せず)に電圧を加えることにより、車体パネルに塗料が析出するようになっている。この後、搬送装置21により車体ボディ20は電着槽22から引き上げられ、水洗により車体パネルに電着せずに付着している電着液23が除去される。
【0019】
演算装置10において実行されるシミュレーションプログラムの機能は、モデル構築部10a、判定領域設定部10b、エアポケット判定部10cによって表現することができる。演算装置10は、対象物の形状を複数の要素のデータでモデル化した解析モデルによる幾何学的手法を用いてエアポケットの発生をシミュレーションし、解析結果或いはシミュレーション過程を含む解析結果を表示装置12に表示する。
【0020】
本発明によるエアポケットのシミュレーションは、従来のように解析モデルを構成する個々の要素の幾何学的な形状や配列によって解析結果が異なるといったことがなく、モデル依存性を排して適正な解析結果を得ることができる。以下、モデル依存性を排除した本実施の形態のエアポケットシミュレーションについて説明する。
【0021】
モデル構築部10aは、対象物の形状データを複数の要素に分割して解析モデルを構築する。解析モデルを構成する手法としては、対象物の表面形状を複数の所定の形状に分割して表現するメッシュを用いる手法や、対象物の表面に複数の節点(ノード)を配置する手法等を用いることができる。
【0022】
例えば、車体ボディ20を構成する図3に示すようなフロアパネル26を例に挙げて説明すると、図3に示すフロアパネル26を、図4に示すように、フロアパネル26の表面を複数のメッシュ29に分割して数値計算のための解析モデルを構築する。以下では、対象物の表面形状を三角形のメッシュで表現したサーフェスモデルを用い、このサーフェスモデルのメッシュデータを三次元空間に配置して解析モデルを構築する例について説明するが、解析モデルの要素としてノードを用いる場合においても処理は同様である。
【0023】
尚、解析モデルの要素としてのメッシュの形状は、三角形の形状に限られず、矩形や多角形の形状であっても良い。個々のメッシュには、例えば、自己を識別するためのメッシュ番号、メッシュの節点(ノード)の所定の基準点に対する座標値(三次元空間のXYZ座標軸における座標値)、メッシュの属性等のデータが付与される。以下では、便宜上、XYZ直交座標系におけるZ軸の方向は、重力の方向と反対方向であるものとする。
【0024】
また、外部記憶装置13には、エアポケットのシミュレーション処理に必要な各種のデータが格納されている。例えば、外部記憶装置13は、対象物毎に個別の識別番号(レコード番号)が付された属性レコード群で構成されるデータベースを有し、個々の属性レコードに、各メッシュのメッシュ番号、ノード点座標値、属性データ等が対応付けて記述される。
【0025】
エアポケット判定部10cは、解析モデルを形成する個々のメッシュに対して、エアポケットの箇所に相当する気体の属性と電着液等の浸漬個所に相当する液体の属性との何れかを設定する。このメッシュの属性は、当初、全メッシュが気体の属性に設定され(浸漬前)、その中で所定の初期条件を満足するメッシュの属性が液体に設定される。そして、気体の属性を有するメッシュに対して、判定領域設定部10bで設定された判定領域の情報に基づいてメッシュの属性が液体となるか気体のままであるか(つまり、エアポケットとなるか否か)を判定し、液体と判定されたとき、そのメッシュの属性を液体に変更し、属性データを書き換える。
【0026】
このエアポケットの判定は、具体的な処理は後述するが、基本的に、浸漬液の比重が空気の比重よりも大きいことを前提としている。すなわち、或るメッシュの属性を判定する際に、判定対象のメッシュと比較対象のメッシュとを、重力と反対方向の高さで比較する。そして、比較対象メッシュが判定対象メッシュよりも高く液体の属性を有していれば、相対的に低い判定対象メッシュにも浸漬液が空気を押しのけて浸入し、浸漬液により満たされるものと判断して、判定対象メッシュの属性データを液体とする。これに対して、相対的に高い比較対象メッシュの属性が気体である場合には、判定対象メッシュの属性データは変更せず、比較対象を変更して判定を繰り返す。
【0027】
判定領域設定部10bは、エアポケット判定部10cで任意のメッシュの属性が液体か気体かを判定する際の情報源となる判定領域を設定する。この判定領域の設定においては、メッシュの形状や配列に依存してシミュレーション結果が異なるというメッシュ依存性を解消するため、判定対象メッシュに隣接する隣接メッシュのみを比較対象とする従来の手法よりも判定情報量を拡張した領域設定を行う。尚、隣接メッシュとは、判定対象メッシュに対して節点或いは辺を共有するメッシュである。
【0028】
すなわち、判定対象メッシュの属性が液体か気体かを判定する際、従来のように判定対象メッシュに隣接する隣接メッシュのみを比較対象とする領域設定では、判定対象メッシュのすぐ近傍からの情報しか得られないため、偏った情報に基づいてメッシュの属性を判定することになる。従って、判定領域設定部10bは、メッシュの属性を判定する際の情報領域を、隣接メッシュのみに限定することなく拡張し、メッシュ依存性を改善する。
【0029】
この情報領域の拡張は、図5に示すように、判定対象メッシュの周囲に、隣接メッシュの領域よりも拡張した水平方向の長さL0と垂直方向上下の高さH0とで囲まれた領域を設定する。そして、この設定領域内に配置される複数のメッシュを、判定対象メッシュに対応する隣接メッシュ群(隣接要素群)として、データベース等の記憶手段に判定対象メッシュに所属させて登録・記憶する。データベースに登録された隣接メッシュ群はエアポケット判定部10cにて参照され、これにより、メッシュの属性を判定する際に、少しでも遠くのメッシュの情報を取り入れることができ、メッシュ依存性を改善して適正なシミュレーション結果を得ることができる。
【0030】
この場合、情報領域を拡大すると情報量が多くなることが予想され、比較的小規模のコンピュータシステム等においては、シミュレーションに要する時間が長くなる虞がある。従って、本実施の形態においては、図6に示すように、重力と反対方向の代表高さHの範囲で水平方向に連続した帯状のメッシュ群を情報領域として設定することで、比較対象とするメッシュを、判定対象のメッシュよりも重力と反対方向の高さが同じか高いメッシュに限定し、情報量を低減しつつメッシュ依存性を排除する。
【0031】
以下、演算装置10のCPUで実行されるエアポケットのシミュレーション処理について、図7,図8,図10のフローチャートを用いて説明する。
【0032】
図7は、エアポケットのシミュレーションプログラムにおけるメインルーチンを示すフローチャートである。このメインルーチンでは、先ず、ステップS1において、対象物の表面形状のデータを複数の要素に分割して数値計算のための解析モデルを構築する。本形態においては、三角形のメッシュを用いた解析モデルを構築する。
【0033】
次に、ステップS2へ進んで解析モデルにおける重力方向を設定した後、ステップS3へ進み、対象物が電着液等に浸漬される前の周辺が空気で満たされた状態のシミュレーションとして、一旦、全てのメッシュを気体の属性に設定する。さらに、対象物を浸漬した初期状態のシミュレーションとして、メッシュを液体の属性と気体の属性とに分離するための初期条件を設定する。
【0034】
本実施の形態においては、初期状態でのメッシュの属性を液体に決定する条件として、ワークのフリーエッジに接するメッシュを初期メッシュに設定する。そして、この初期メッシュの属性を気体から液体に変更する。ここで、フリーエッジとは、ワークの縁の部分、即ちワークの端部及びワークに形成された穴の縁の部分を意味する。初期メッシュとは、ワークのフリーエッジに接する要素であって、フリーエッジに接するメッシュとは、そのメッシュを構成する辺がフリーエッジに接していることを言う。
【0035】
尚、初期に属性を液体として決定する条件として、ワークを液面に対してそのワーク周囲で且つ水平方向から上側方向の視線から見て認識可能なメッシュを初期メッシュとしても良い。この場合においても、初期メッシュ決定後の処理は同じである。
【0036】
次に、ステップS3からステップS4へ進み、図8のフローチャートに示す隣接メッシュ群登録ルーチンを実行し、液体の属性を有するメッシュに対して、隣接メッシュ群を登録する。隣接メッシュ群は、メッシュの属性が液体か気体かを判定する際のメッシュ依存性を解消するため、前述の図6で説明した帯状のメッシュ群であり、ステップS4が本発明の隣接要素群登録ステップに相当する。
【0037】
そして、隣接メッシュ群を登録した後、ステップS5へ進み、図10に示すエアポケット判定計算ルーチンを実行してエアポケット判定計算処理を実施する。このステップS5のエアポケット判定計算処理は、前述したように、メッシュのそれぞれの重力と反対方向における高さを比較する処理を繰り返すことで、メッシュの属性を決定していく処理であり、本発明の要素判断ステップ及び属性変更ステップを含んでいる。
【0038】
以上のエアポケット判定が全メッシュについて終了すると、ステップS6へ進んでポスト処理を実行し、シミュレーション結果を容易に把握可能とするための可視化処理を行う。そして、ステップS7で、可視化したシミュレーション結果の表示装置12への出力や計算結果のデータファイルへの出力を行い、メインルーチンを終了する。
【0039】
尚、ステップS4の隣接メッシュ群の登録処理は、ステップS3の初期条件設定前に実施することも可能である。
【0040】
次に、図8の隣接メッシュ群登録ルーチンについて説明する。この隣接メッシュ群の登録処理は、属性が気体であるメッシュの全てについてそれぞれ行う処理である。以下では、属性が気体であるメッシュを「液外メッシュ」、属性が液体であるメッシュを「液内メッシュ」と記載する。
【0041】
先ず、最初のステップS11において、比較対象メッシュの領域を設定するための隣接メッシュ群の代表高さHを設定する。代表高さHは、予め設定した一定値としても良く、或いは計算途中でメッシュに応じて変更しても良い。代表高さHの最大値は、ワークにおける重力方向の高さであり、また、代表高さHの最小値は、事前に設定することは困難であるが、例えば、全メッシュの中で重力方向に最も長いメッシュの高さとすることが好ましい。
【0042】
次に、ステップS12へ進んで、或る1つの液外メッシュMiを選択する。これは、以下のステップにおいて、代表高さH内にあるメッシュの有無を調べ、隣接メッシュ群としての登録の適否を判定するためであり、ステップS13で全液外メッシュに対する処理が終了しているか否かを調べる。そして、全液外メッシュについての処理が終了している場合、ルーンを抜けてメインルーンのエアポケット判定計算処理(ステップS5)へ進み、全液外メッシュの処理が終了していない場合、ステップS14へ進む。
【0043】
ステップS14では、別の液外メッシュMjを選択し、ステップS15で全メッシュに対する処理が終了したか否かを調べる。そして、全メッシュに対する処理が終了していない場合、ステップS16へ進んで、別の液外メッシュMjの重力と反対方向における高さが先に選択した或る液外メッシュMiの重力と反対方向の高さより0〜Hの範囲内で高いか否かを調べる。互いのメッシュの高さの比較は、例えば、それぞれのメッシュの重心点、内心点、外心点、垂心点等のZ方向(重力と反対方向)における位置や、それぞれのメッシュが有する各頂点のうちの最も高い頂点(Z方向の位置が最も高い頂点)等の特徴点を比較することで行う。
【0044】
例えば、重心点の位置を比較する場合には、液外メッシュMjの重心点の位置が液外メッシュMiの重心点の位置より0〜Hの範囲内にあるか否かを調べ、液外メッシュMjの重心点が0〜Hの範囲内で液外メッシュMiの重心点よりも高い場合、ステップS17で液外メッシュMjをメッシュ群に一時的に登録してステップS14へ戻る。このメッシュ群は、計算途上における隣接メッシュ群の候補であり、液外メッシュMjの重心点の位置が液外メッシュMiの重心点の位置より低い場合、或いは高い場合であっても0〜Hの範囲を越えている場合には、隣接メッシュ群の候補ではないと判断してメッシュ群に登録せずにステップS14へ戻る。以上のステップS11〜S17の処理が本発明の隣接要素群登録ステップにおける第1の処理ステップに相当する。
【0045】
次に、メッシュ群(隣接メッシュ群の候補)を一時的に登録する処理が全メッシュに対して終了すると、ステップS15からステップS18へ進み、一時的に登録したメッシュ群の中から或るメッシュ群を選択する。そして、ステップS19において、選択したメッシュ群が或る液外メッシュMiに繋がっているか否かを確認する。その結果、選択したメッシュ群が液外メッシュMiに繋がっていない場合には、ステップS18へ戻って別のメッシュ群を選択し、同様に液外メッシュMiに繋がっているか否かを確認する。選択したメッシュ群が液外メッシュMiに繋がっている場合には、ステップS20で隣接メッシュ群に登録し、ステップS11へ戻る。
【0046】
すなわち、判定対象とするメッシュ(或る液外メッシュ)Miに対して、比較対象とする隣接メッシュ群を登録する際には、途中で途切れることなく連続した帯状のメッシュ群として適正な情報を得ることが重要である。判定対象のメッシュMiに対して代表高さH以下の範囲内にある液外メッシュを抽出し、隣接メッシュ群の候補として一時的に登録すると、図9に示すように、登録したメッシュ群の中には、判定対象のメッシュMiから離れた位置にあるメッシュも登録される。従って、この一時的に登録したメッシュ郡の中から判定対象のメッシュMiと繋がっているメッシュ群のみを選択することにより、連続した帯状の隣接メッシュ群とすることができる。以上のステップS18〜S20が本発明の隣接要素群登録ステップにおける第2の処理ステップに相当する。
【0047】
次に、隣接メッシュ群の登録後に実行されるエアポケット判定計算処理について、図10に示すエアポケット判定計算ルーチンのフローチャートに従って説明する。
【0048】
このエアポケット判定計算ルーチンでは、先ず、ステップS21において、或る液外メッシュMkを選択し、ステップS22で全液外メッシュに対する処理が終了したか否かを調べる。そして、全液外メッシュに対する処理が終了していない場合、ステップS23へ進んで、先に選択した或る液外メッシュMkに対応する隣接メッシュ群の中に液内メッシュがあるか否かを確認する。
【0049】
その結果、隣接メッシュ群の中の全てのメッシュが液外メッシュである場合には、ステップS23からステップS21へ戻って別の液外メッシュを選択する。一方、隣接メッシュ群の中に1つでも液内メッシュがあれば、ステップS23からステップS24へ進み、その隣接メッシュ群を有する液外メッシュMkを液内メッシュに変更し、ステップS21へ戻る。すなわち、属性が気体である判定対象メッシュに対応する隣接メッシュ群の中に、属性が液体であるメッシュが存在する場合には、そのメッシュ(液内メッシュ)よりも重力方向で下に位置する判定対象メッシュにも浸漬液が空気を押しのけて浸入し、浸漬液により満たされるものと判断して属性を気体から液体に変更する。
【0050】
以上のステップS21〜S24の処理を繰り返し、全液外メッシュに対する処理が終了すると、ステップS22からステップS25へ分岐し、属性を変更したメッシュがあるか否かを調べる。そして、属性を変更したメッシュがある場合には、ステップS21へ戻り、属性を変更したメッシュが無くなった場合、ルーチンを抜けてポスト処理へ移行する。つまり、全液外メッシュに対する処理でステップS24によるメッシュの属性変更がある限り、本エアポケット判定計算処理を継続し、ステップS24を経ることなくステップS23でメッシュの属性変更がなくなって初めて本エアポケット判定計算処理を終了し、ポスト処理へ移行する。
【0051】
ポスト処理によって表示装置12に表示されるワークの状態は、図11に例示される。図11の例では、ワークの表面形状をメッシュで表現した解析モデルを用いて、ワークを模擬的な浸漬槽に浸漬させたシミュレーション結果が、例えば、液内メッシュMfと液外メッシュMaとで色や濃淡を変えて表示される。これにより、浸漬液等の液体中に浸漬される部位と、液体に浸漬されずに空気に晒される部位すなわちエアポケットとなる部位とを容易に識別することができる。
【0052】
以上、本実施の形態によれば、メッシュの属性を判定する際の情報領域を拡張するので、メッシュの形状や配列の相違に依存してシミュレーション結果が異なるといったことがなく、適正なシミュレーション結果を得ることができる。これにより、信頼性及び精度の高いシミュレーションを実現することができる。
【0053】
しかも、本実施の形態においては、判定の情報領域として、判定対象メッシュから重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域を設定し、この帯状の領域内にある複数のメッシュを隣接メッシュ群として登録する。これは、重力方向で下のメッシュの属性では、上のメッシュの属性を決定することはできないからであり、これにより、計算容量が比較的大きいにも拘わらず、判定に要する時間を短縮化してシミュレーション効率を向上することができる。
【図面の簡単な説明】
【0054】
【図1】シミュレーション装置の基本構成図
【図2】車体の塗装ラインの概略説明図
【図3】フロアパネルの概略斜視図
【図4】フロアパネルを複数の要素に分割した解析モデルを示す説明図
【図5】情報領域の拡大を示す説明図
【図6】情報領域の垂直方向の拡大範囲を示す説明図
【図7】エアポケットシミュレーションのメインルーチンを示すフローチャート
【図8】隣接メッシュ群登録ルーチンのフローチャート
【図9】隣接メッシュ群の連続性を示す説明図
【図10】エアポケット判定計算ルーチンのフローチャート
【図11】シミュレーション結果を示す説明図
【図12】従来の解析手法における情報領域の相違を示す説明図
【図13】従来の解析手法におけるメッシュ依存性を示す説明図
【図14】従来の解析手法によるシミュレーション結果を示す説明図
【符号の説明】
【0055】
1 シミュレーション装置
10 演算装置
10a モデル構築部
10b 判定領域設定部
10c エアポケット判定部
Mi メッシュ
H 代表高さ
【技術分野】
【0001】
本発明は、浸漬処理を施す際にワークに生じる空気溜りをシミュレーションする空気溜りのシミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【0002】
一般に、電着塗装やメッキ等におけるワークの浸漬工程においては、均一な塗膜やメッキ膜を形成させるために、ワークに空気溜り(エアポケット)を生じさせないことが重要である。このエアポケットは、複雑な形状のワークを浸漬した際に、その隙間にできる凹部、例えば、自動車等の車体であれば、フード内面、ルーフ内面、フロア下面等の凹部等の空間に空気が残留する現象であり、このエアポケットが発生すると、塗装不良やメッキ不良が発生してしまう。
【0003】
そこで、ワークを浸漬処理する状態をコンピュータを用いてシミュレーションし、エアポケットの発生状況を予測する手法が提案されている。エアポケットのコンピュータシミュレーションとしては、ワークの表面形状を、メッシュやノード等の複数の要素のデータでモデル化し、各要素の属性が気体であるか液体であるかを、要素の特徴点(例えば、重心点、頂点、内心点、外心点、垂心点)同士の重力方向の位置を比較して判定する幾何学的な手法が知られている。
【0004】
例えば、特許文献1には、ワークの各表面をその頂点座標データに基づいて任意数の三角ポリゴン(三角形の要素)に分割し、各々の三角ポリゴンについて空気と浸漬槽内の液体との状態変化を時々刻々と計算することにより、ワークを入槽角の姿勢にて浸漬槽に模擬浸漬した際にエアポケットとなりうる表面部位であるか否かの判定を行う手法が開示されている。
【特許文献1】特開2000−51750号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ワークの表面形状を複数の要素のデータでモデル化する幾何学的な手法は、簡便ではあるものの、或る要素の属性が気体であるか液体であるかを判定する際、判定対象となる要素の近傍からの情報のみに基づいているため、要素の形状や配列に依存してシミュレーション結果が異なってしまうという問題がある。
【0006】
すなわち、従来の手法では、或るメッシュM1の属性を判定する場合、図12に示すように、判定対象のメッシュM1に隣接する隣接メッシュM2のみを比較対象としており、図12(a)に示すような配列でメッシュを構成した場合と、図12(b)に示すような配列でメッシュを構成した場合とでは、判定対象のメッシュM1の周囲の隣接メッシュM2によって形成される情報領域R1,R2の形が異なってしまう。本来、要素の属性を判定するための情報領域は、正方形であることが望ましいが、従来の手法では、判定対象要素のすぐ近傍からの情報しか入らないため、判定情報の領域が要素の形状や配列に依存していびつになり、偏った情報を基づいて判定することになる。
【0007】
例えば、図13(a),(b)に示すように、配列が異なった2種類のメッシュで構築した計算モデルA,Bにおいて、メッシュの重力と反対方向の高さが最も高い節点(ノード)の座標値を用いてエアポケットの発生をシミュレーションすると、初期条件等から属性が液体であると決定した各モデルのメッシュMia,Mibが同じ位置にあっても、メッシュ依存性によって異なるシミュレーション結果となる。すなわち、全メッシュについての判定結果は、図14(a),(b)のようになり、モデルAにおける気液境界線Laと、モデルBにおける気液境界線Lbとは明らかに異なった結果となる。
【0008】
本発明は上記事情に鑑みてなされたもので、対象物の形状を複数の要素のデータでモデル化して空気溜りをシミュレーションする際の要素の形状や配列の相違による依存性を改善し、適正なシミュレーション結果を得ることのできる空気溜りのシミュレーション方法及びシミュレーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明による空気溜りのシミュレーション方法は、浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップとを備えることを特徴とする。
【0010】
本発明による空気溜りのシミュレーションプログラムは、浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップとを備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、対象物の形状を複数の要素のデータでモデル化して空気溜りをシミュレーションする際の要素の形状や配列の相違による依存性を改善し、適正なシミュレーション結果を得ることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図11は本発明の実施の一形態に係り、図1はシミュレーション装置の基本構成図、図2は車体の塗装ラインの概略説明図、図3はフロアパネルの概略斜視図、図4はフロアパネルを複数の要素に分割した解析モデルを示す説明図、図5は情報領域の拡大を示す説明図、図6は情報領域の垂直方向の拡大範囲を示す説明図、図7はエアポケットシミュレーションのメインルーチンを示すフローチャート、図8は隣接メッシュ群登録ルーチンのフローチャート、図9は隣接メッシュ群の連続性を示す説明図、図10はエアポケット判定計算ルーチンのフローチャート、図11はシミュレーション結果を示す説明図である。
【0013】
図1に示すように、本実施の形態におけるシミュレーション装置1は、自動車のボディシェル等のワークに電着塗装やめっき処理等の浸漬処理を施す際に、ワークに生じる空気溜り(エアポケット)をシミュレーションするものである。このエアポケットのシミュレーション装置1は、マイクロコンピュータやパーソナルコンピュータ等の単一のコンピュータ、或いはネットワークを介して相互に接続される複数のコンピュータを用いて構成される。
【0014】
以下では、便宜上、シミュレーション装置1を単一のコンピュータで構成する例について説明する。このコンピュータとしてのシミュレーション装置1は、演算装置10、キーボードやマウス等の入力装置11、CRTや液晶ディスプレイ等の表示装置12、磁気ディスクや光ディスク等の外部記憶装置13等を備えている。
【0015】
演算装置10は、CPU、ROM及びRAM等の内部メモリ、入出力インターフェース等を備えており、内部のROM、外部記憶装置13、外部の記憶媒体に記憶させたシミュレーションプログラム、或いは、図示しないネットワークや通信装置を介して外部からロードしたシミュレーションプログラムをCPUで実行し、入力装置11を介して指示された解析対象のワーク(対象物)を擬似的に浸漬槽内に浸漬させ、その浸漬によって対象物に発生するエアポケットをシミュレーションする。
【0016】
例えば、本発明によるシミュレーションの適用例として、車体ボディの電着塗装時における電着液及び空気の分布を数値解析し、被塗装物におけるエアポケットの発生を予測するシミュレーションが挙げられる。ここで、車体ボディの塗装ラインについて、図2を用いて簡単に説明する。
【0017】
図2に示すように、溶接等により複数の車体パネルを互いに接合して構成される自動車の車体ボディ20は、搬送装置21のハンガに搭載された状態で塗装ラインにて略水平方向へ搬送される。塗装ラインでは、電着塗装の前処理として、車体パネルに脱脂、水洗、表面調整、皮膜化成、水洗等の処理が施される。
【0018】
これらの処理の後、車体ボディ20は電着槽22に向かって降下し、電着液23に浸漬された状態で略水平に移動する。この状態で、車体ボディ20と電着槽22内の電極(図示せず)に電圧を加えることにより、車体パネルに塗料が析出するようになっている。この後、搬送装置21により車体ボディ20は電着槽22から引き上げられ、水洗により車体パネルに電着せずに付着している電着液23が除去される。
【0019】
演算装置10において実行されるシミュレーションプログラムの機能は、モデル構築部10a、判定領域設定部10b、エアポケット判定部10cによって表現することができる。演算装置10は、対象物の形状を複数の要素のデータでモデル化した解析モデルによる幾何学的手法を用いてエアポケットの発生をシミュレーションし、解析結果或いはシミュレーション過程を含む解析結果を表示装置12に表示する。
【0020】
本発明によるエアポケットのシミュレーションは、従来のように解析モデルを構成する個々の要素の幾何学的な形状や配列によって解析結果が異なるといったことがなく、モデル依存性を排して適正な解析結果を得ることができる。以下、モデル依存性を排除した本実施の形態のエアポケットシミュレーションについて説明する。
【0021】
モデル構築部10aは、対象物の形状データを複数の要素に分割して解析モデルを構築する。解析モデルを構成する手法としては、対象物の表面形状を複数の所定の形状に分割して表現するメッシュを用いる手法や、対象物の表面に複数の節点(ノード)を配置する手法等を用いることができる。
【0022】
例えば、車体ボディ20を構成する図3に示すようなフロアパネル26を例に挙げて説明すると、図3に示すフロアパネル26を、図4に示すように、フロアパネル26の表面を複数のメッシュ29に分割して数値計算のための解析モデルを構築する。以下では、対象物の表面形状を三角形のメッシュで表現したサーフェスモデルを用い、このサーフェスモデルのメッシュデータを三次元空間に配置して解析モデルを構築する例について説明するが、解析モデルの要素としてノードを用いる場合においても処理は同様である。
【0023】
尚、解析モデルの要素としてのメッシュの形状は、三角形の形状に限られず、矩形や多角形の形状であっても良い。個々のメッシュには、例えば、自己を識別するためのメッシュ番号、メッシュの節点(ノード)の所定の基準点に対する座標値(三次元空間のXYZ座標軸における座標値)、メッシュの属性等のデータが付与される。以下では、便宜上、XYZ直交座標系におけるZ軸の方向は、重力の方向と反対方向であるものとする。
【0024】
また、外部記憶装置13には、エアポケットのシミュレーション処理に必要な各種のデータが格納されている。例えば、外部記憶装置13は、対象物毎に個別の識別番号(レコード番号)が付された属性レコード群で構成されるデータベースを有し、個々の属性レコードに、各メッシュのメッシュ番号、ノード点座標値、属性データ等が対応付けて記述される。
【0025】
エアポケット判定部10cは、解析モデルを形成する個々のメッシュに対して、エアポケットの箇所に相当する気体の属性と電着液等の浸漬個所に相当する液体の属性との何れかを設定する。このメッシュの属性は、当初、全メッシュが気体の属性に設定され(浸漬前)、その中で所定の初期条件を満足するメッシュの属性が液体に設定される。そして、気体の属性を有するメッシュに対して、判定領域設定部10bで設定された判定領域の情報に基づいてメッシュの属性が液体となるか気体のままであるか(つまり、エアポケットとなるか否か)を判定し、液体と判定されたとき、そのメッシュの属性を液体に変更し、属性データを書き換える。
【0026】
このエアポケットの判定は、具体的な処理は後述するが、基本的に、浸漬液の比重が空気の比重よりも大きいことを前提としている。すなわち、或るメッシュの属性を判定する際に、判定対象のメッシュと比較対象のメッシュとを、重力と反対方向の高さで比較する。そして、比較対象メッシュが判定対象メッシュよりも高く液体の属性を有していれば、相対的に低い判定対象メッシュにも浸漬液が空気を押しのけて浸入し、浸漬液により満たされるものと判断して、判定対象メッシュの属性データを液体とする。これに対して、相対的に高い比較対象メッシュの属性が気体である場合には、判定対象メッシュの属性データは変更せず、比較対象を変更して判定を繰り返す。
【0027】
判定領域設定部10bは、エアポケット判定部10cで任意のメッシュの属性が液体か気体かを判定する際の情報源となる判定領域を設定する。この判定領域の設定においては、メッシュの形状や配列に依存してシミュレーション結果が異なるというメッシュ依存性を解消するため、判定対象メッシュに隣接する隣接メッシュのみを比較対象とする従来の手法よりも判定情報量を拡張した領域設定を行う。尚、隣接メッシュとは、判定対象メッシュに対して節点或いは辺を共有するメッシュである。
【0028】
すなわち、判定対象メッシュの属性が液体か気体かを判定する際、従来のように判定対象メッシュに隣接する隣接メッシュのみを比較対象とする領域設定では、判定対象メッシュのすぐ近傍からの情報しか得られないため、偏った情報に基づいてメッシュの属性を判定することになる。従って、判定領域設定部10bは、メッシュの属性を判定する際の情報領域を、隣接メッシュのみに限定することなく拡張し、メッシュ依存性を改善する。
【0029】
この情報領域の拡張は、図5に示すように、判定対象メッシュの周囲に、隣接メッシュの領域よりも拡張した水平方向の長さL0と垂直方向上下の高さH0とで囲まれた領域を設定する。そして、この設定領域内に配置される複数のメッシュを、判定対象メッシュに対応する隣接メッシュ群(隣接要素群)として、データベース等の記憶手段に判定対象メッシュに所属させて登録・記憶する。データベースに登録された隣接メッシュ群はエアポケット判定部10cにて参照され、これにより、メッシュの属性を判定する際に、少しでも遠くのメッシュの情報を取り入れることができ、メッシュ依存性を改善して適正なシミュレーション結果を得ることができる。
【0030】
この場合、情報領域を拡大すると情報量が多くなることが予想され、比較的小規模のコンピュータシステム等においては、シミュレーションに要する時間が長くなる虞がある。従って、本実施の形態においては、図6に示すように、重力と反対方向の代表高さHの範囲で水平方向に連続した帯状のメッシュ群を情報領域として設定することで、比較対象とするメッシュを、判定対象のメッシュよりも重力と反対方向の高さが同じか高いメッシュに限定し、情報量を低減しつつメッシュ依存性を排除する。
【0031】
以下、演算装置10のCPUで実行されるエアポケットのシミュレーション処理について、図7,図8,図10のフローチャートを用いて説明する。
【0032】
図7は、エアポケットのシミュレーションプログラムにおけるメインルーチンを示すフローチャートである。このメインルーチンでは、先ず、ステップS1において、対象物の表面形状のデータを複数の要素に分割して数値計算のための解析モデルを構築する。本形態においては、三角形のメッシュを用いた解析モデルを構築する。
【0033】
次に、ステップS2へ進んで解析モデルにおける重力方向を設定した後、ステップS3へ進み、対象物が電着液等に浸漬される前の周辺が空気で満たされた状態のシミュレーションとして、一旦、全てのメッシュを気体の属性に設定する。さらに、対象物を浸漬した初期状態のシミュレーションとして、メッシュを液体の属性と気体の属性とに分離するための初期条件を設定する。
【0034】
本実施の形態においては、初期状態でのメッシュの属性を液体に決定する条件として、ワークのフリーエッジに接するメッシュを初期メッシュに設定する。そして、この初期メッシュの属性を気体から液体に変更する。ここで、フリーエッジとは、ワークの縁の部分、即ちワークの端部及びワークに形成された穴の縁の部分を意味する。初期メッシュとは、ワークのフリーエッジに接する要素であって、フリーエッジに接するメッシュとは、そのメッシュを構成する辺がフリーエッジに接していることを言う。
【0035】
尚、初期に属性を液体として決定する条件として、ワークを液面に対してそのワーク周囲で且つ水平方向から上側方向の視線から見て認識可能なメッシュを初期メッシュとしても良い。この場合においても、初期メッシュ決定後の処理は同じである。
【0036】
次に、ステップS3からステップS4へ進み、図8のフローチャートに示す隣接メッシュ群登録ルーチンを実行し、液体の属性を有するメッシュに対して、隣接メッシュ群を登録する。隣接メッシュ群は、メッシュの属性が液体か気体かを判定する際のメッシュ依存性を解消するため、前述の図6で説明した帯状のメッシュ群であり、ステップS4が本発明の隣接要素群登録ステップに相当する。
【0037】
そして、隣接メッシュ群を登録した後、ステップS5へ進み、図10に示すエアポケット判定計算ルーチンを実行してエアポケット判定計算処理を実施する。このステップS5のエアポケット判定計算処理は、前述したように、メッシュのそれぞれの重力と反対方向における高さを比較する処理を繰り返すことで、メッシュの属性を決定していく処理であり、本発明の要素判断ステップ及び属性変更ステップを含んでいる。
【0038】
以上のエアポケット判定が全メッシュについて終了すると、ステップS6へ進んでポスト処理を実行し、シミュレーション結果を容易に把握可能とするための可視化処理を行う。そして、ステップS7で、可視化したシミュレーション結果の表示装置12への出力や計算結果のデータファイルへの出力を行い、メインルーチンを終了する。
【0039】
尚、ステップS4の隣接メッシュ群の登録処理は、ステップS3の初期条件設定前に実施することも可能である。
【0040】
次に、図8の隣接メッシュ群登録ルーチンについて説明する。この隣接メッシュ群の登録処理は、属性が気体であるメッシュの全てについてそれぞれ行う処理である。以下では、属性が気体であるメッシュを「液外メッシュ」、属性が液体であるメッシュを「液内メッシュ」と記載する。
【0041】
先ず、最初のステップS11において、比較対象メッシュの領域を設定するための隣接メッシュ群の代表高さHを設定する。代表高さHは、予め設定した一定値としても良く、或いは計算途中でメッシュに応じて変更しても良い。代表高さHの最大値は、ワークにおける重力方向の高さであり、また、代表高さHの最小値は、事前に設定することは困難であるが、例えば、全メッシュの中で重力方向に最も長いメッシュの高さとすることが好ましい。
【0042】
次に、ステップS12へ進んで、或る1つの液外メッシュMiを選択する。これは、以下のステップにおいて、代表高さH内にあるメッシュの有無を調べ、隣接メッシュ群としての登録の適否を判定するためであり、ステップS13で全液外メッシュに対する処理が終了しているか否かを調べる。そして、全液外メッシュについての処理が終了している場合、ルーンを抜けてメインルーンのエアポケット判定計算処理(ステップS5)へ進み、全液外メッシュの処理が終了していない場合、ステップS14へ進む。
【0043】
ステップS14では、別の液外メッシュMjを選択し、ステップS15で全メッシュに対する処理が終了したか否かを調べる。そして、全メッシュに対する処理が終了していない場合、ステップS16へ進んで、別の液外メッシュMjの重力と反対方向における高さが先に選択した或る液外メッシュMiの重力と反対方向の高さより0〜Hの範囲内で高いか否かを調べる。互いのメッシュの高さの比較は、例えば、それぞれのメッシュの重心点、内心点、外心点、垂心点等のZ方向(重力と反対方向)における位置や、それぞれのメッシュが有する各頂点のうちの最も高い頂点(Z方向の位置が最も高い頂点)等の特徴点を比較することで行う。
【0044】
例えば、重心点の位置を比較する場合には、液外メッシュMjの重心点の位置が液外メッシュMiの重心点の位置より0〜Hの範囲内にあるか否かを調べ、液外メッシュMjの重心点が0〜Hの範囲内で液外メッシュMiの重心点よりも高い場合、ステップS17で液外メッシュMjをメッシュ群に一時的に登録してステップS14へ戻る。このメッシュ群は、計算途上における隣接メッシュ群の候補であり、液外メッシュMjの重心点の位置が液外メッシュMiの重心点の位置より低い場合、或いは高い場合であっても0〜Hの範囲を越えている場合には、隣接メッシュ群の候補ではないと判断してメッシュ群に登録せずにステップS14へ戻る。以上のステップS11〜S17の処理が本発明の隣接要素群登録ステップにおける第1の処理ステップに相当する。
【0045】
次に、メッシュ群(隣接メッシュ群の候補)を一時的に登録する処理が全メッシュに対して終了すると、ステップS15からステップS18へ進み、一時的に登録したメッシュ群の中から或るメッシュ群を選択する。そして、ステップS19において、選択したメッシュ群が或る液外メッシュMiに繋がっているか否かを確認する。その結果、選択したメッシュ群が液外メッシュMiに繋がっていない場合には、ステップS18へ戻って別のメッシュ群を選択し、同様に液外メッシュMiに繋がっているか否かを確認する。選択したメッシュ群が液外メッシュMiに繋がっている場合には、ステップS20で隣接メッシュ群に登録し、ステップS11へ戻る。
【0046】
すなわち、判定対象とするメッシュ(或る液外メッシュ)Miに対して、比較対象とする隣接メッシュ群を登録する際には、途中で途切れることなく連続した帯状のメッシュ群として適正な情報を得ることが重要である。判定対象のメッシュMiに対して代表高さH以下の範囲内にある液外メッシュを抽出し、隣接メッシュ群の候補として一時的に登録すると、図9に示すように、登録したメッシュ群の中には、判定対象のメッシュMiから離れた位置にあるメッシュも登録される。従って、この一時的に登録したメッシュ郡の中から判定対象のメッシュMiと繋がっているメッシュ群のみを選択することにより、連続した帯状の隣接メッシュ群とすることができる。以上のステップS18〜S20が本発明の隣接要素群登録ステップにおける第2の処理ステップに相当する。
【0047】
次に、隣接メッシュ群の登録後に実行されるエアポケット判定計算処理について、図10に示すエアポケット判定計算ルーチンのフローチャートに従って説明する。
【0048】
このエアポケット判定計算ルーチンでは、先ず、ステップS21において、或る液外メッシュMkを選択し、ステップS22で全液外メッシュに対する処理が終了したか否かを調べる。そして、全液外メッシュに対する処理が終了していない場合、ステップS23へ進んで、先に選択した或る液外メッシュMkに対応する隣接メッシュ群の中に液内メッシュがあるか否かを確認する。
【0049】
その結果、隣接メッシュ群の中の全てのメッシュが液外メッシュである場合には、ステップS23からステップS21へ戻って別の液外メッシュを選択する。一方、隣接メッシュ群の中に1つでも液内メッシュがあれば、ステップS23からステップS24へ進み、その隣接メッシュ群を有する液外メッシュMkを液内メッシュに変更し、ステップS21へ戻る。すなわち、属性が気体である判定対象メッシュに対応する隣接メッシュ群の中に、属性が液体であるメッシュが存在する場合には、そのメッシュ(液内メッシュ)よりも重力方向で下に位置する判定対象メッシュにも浸漬液が空気を押しのけて浸入し、浸漬液により満たされるものと判断して属性を気体から液体に変更する。
【0050】
以上のステップS21〜S24の処理を繰り返し、全液外メッシュに対する処理が終了すると、ステップS22からステップS25へ分岐し、属性を変更したメッシュがあるか否かを調べる。そして、属性を変更したメッシュがある場合には、ステップS21へ戻り、属性を変更したメッシュが無くなった場合、ルーチンを抜けてポスト処理へ移行する。つまり、全液外メッシュに対する処理でステップS24によるメッシュの属性変更がある限り、本エアポケット判定計算処理を継続し、ステップS24を経ることなくステップS23でメッシュの属性変更がなくなって初めて本エアポケット判定計算処理を終了し、ポスト処理へ移行する。
【0051】
ポスト処理によって表示装置12に表示されるワークの状態は、図11に例示される。図11の例では、ワークの表面形状をメッシュで表現した解析モデルを用いて、ワークを模擬的な浸漬槽に浸漬させたシミュレーション結果が、例えば、液内メッシュMfと液外メッシュMaとで色や濃淡を変えて表示される。これにより、浸漬液等の液体中に浸漬される部位と、液体に浸漬されずに空気に晒される部位すなわちエアポケットとなる部位とを容易に識別することができる。
【0052】
以上、本実施の形態によれば、メッシュの属性を判定する際の情報領域を拡張するので、メッシュの形状や配列の相違に依存してシミュレーション結果が異なるといったことがなく、適正なシミュレーション結果を得ることができる。これにより、信頼性及び精度の高いシミュレーションを実現することができる。
【0053】
しかも、本実施の形態においては、判定の情報領域として、判定対象メッシュから重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域を設定し、この帯状の領域内にある複数のメッシュを隣接メッシュ群として登録する。これは、重力方向で下のメッシュの属性では、上のメッシュの属性を決定することはできないからであり、これにより、計算容量が比較的大きいにも拘わらず、判定に要する時間を短縮化してシミュレーション効率を向上することができる。
【図面の簡単な説明】
【0054】
【図1】シミュレーション装置の基本構成図
【図2】車体の塗装ラインの概略説明図
【図3】フロアパネルの概略斜視図
【図4】フロアパネルを複数の要素に分割した解析モデルを示す説明図
【図5】情報領域の拡大を示す説明図
【図6】情報領域の垂直方向の拡大範囲を示す説明図
【図7】エアポケットシミュレーションのメインルーチンを示すフローチャート
【図8】隣接メッシュ群登録ルーチンのフローチャート
【図9】隣接メッシュ群の連続性を示す説明図
【図10】エアポケット判定計算ルーチンのフローチャート
【図11】シミュレーション結果を示す説明図
【図12】従来の解析手法における情報領域の相違を示す説明図
【図13】従来の解析手法におけるメッシュ依存性を示す説明図
【図14】従来の解析手法によるシミュレーション結果を示す説明図
【符号の説明】
【0055】
1 シミュレーション装置
10 演算装置
10a モデル構築部
10b 判定領域設定部
10c エアポケット判定部
Mi メッシュ
H 代表高さ
【特許請求の範囲】
【請求項1】
浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、
上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップと
を備えることを特徴とする空気溜まりのシミュレーション方法。
【請求項2】
上記隣接要素群登録ステップにおいては、
上記判定領域を、上記判定対象要素から重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域として設定し、この帯状の領域内にある複数の要素を上記隣接要素群として登録する
ことを特徴とする請求項1記載の空気溜りのシミュレーション方法。
【請求項3】
上記隣接要素群登録ステップにおいては、
上記判定対象要素に対して重力と反対方向の位置が同じか上記代表高さ以下の複数の要素を、上記隣接要素群の候補として一時的に登録する第1の処理ステップと、
上記隣接要素群の候補の中から上記判定対象要素に繋がっている要素群のみを選択し、上記隣接要素群として登録する第2の処理ステップと
を有することを特徴とする請求項2記載空気溜まりのシミュレーション方法。
【請求項4】
浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、
上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップと
を備えることを特徴とする空気溜まりのシミュレーションプログラム。
【請求項5】
上記隣接要素群登録ステップにおいては、
上記判定領域を、上記判定対象要素から重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域として設定し、この帯状の領域内にある複数の要素を上記隣接要素群として登録する
ことを特徴とする請求項4記載の空気溜りのシミュレーションプログラム。
【請求項6】
上記隣接要素群登録ステップにおいては、
上記判定対象要素に対して重力と反対方向の位置が同じか上記代表高さ以下の複数の要素を、上記隣接要素群の候補として一時的に登録する第1の処理ステップと、
上記隣接要素群の候補の中から上記判定対象要素に繋がっている要素群のみを選択し、上記隣接要素群として登録する第2の処理ステップと
を有することを特徴とする請求項5記載空気溜まりのシミュレーションプログラム。
【請求項1】
浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、
上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップと
を備えることを特徴とする空気溜まりのシミュレーション方法。
【請求項2】
上記隣接要素群登録ステップにおいては、
上記判定領域を、上記判定対象要素から重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域として設定し、この帯状の領域内にある複数の要素を上記隣接要素群として登録する
ことを特徴とする請求項1記載の空気溜りのシミュレーション方法。
【請求項3】
上記隣接要素群登録ステップにおいては、
上記判定対象要素に対して重力と反対方向の位置が同じか上記代表高さ以下の複数の要素を、上記隣接要素群の候補として一時的に登録する第1の処理ステップと、
上記隣接要素群の候補の中から上記判定対象要素に繋がっている要素群のみを選択し、上記隣接要素群として登録する第2の処理ステップと
を有することを特徴とする請求項2記載空気溜まりのシミュレーション方法。
【請求項4】
浸漬処理を施す対象物の形状を複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、
上記属性が気体である任意の要素を判定対象要素として、この判定対象要素の周辺の判定領域内に配置される複数の要素を、上記判定対象要素に対応する隣接要素群として記憶手段に登録する隣接要素群登録ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在するか否かを判断する要素判断ステップと、
上記隣接要素群の中に、液体の属性を有して重力と反対方向の位置が上記判定対象要素と同じか高い要素が存在すると判断されたとき、上記判定対象要素の属性データを気体から液体に書き換える属性変更ステップと
を備えることを特徴とする空気溜まりのシミュレーションプログラム。
【請求項5】
上記隣接要素群登録ステップにおいては、
上記判定領域を、上記判定対象要素から重力と反対方向に代表高さを有すると共に水平方向に連続的に繋がった帯状の領域として設定し、この帯状の領域内にある複数の要素を上記隣接要素群として登録する
ことを特徴とする請求項4記載の空気溜りのシミュレーションプログラム。
【請求項6】
上記隣接要素群登録ステップにおいては、
上記判定対象要素に対して重力と反対方向の位置が同じか上記代表高さ以下の複数の要素を、上記隣接要素群の候補として一時的に登録する第1の処理ステップと、
上記隣接要素群の候補の中から上記判定対象要素に繋がっている要素群のみを選択し、上記隣接要素群として登録する第2の処理ステップと
を有することを特徴とする請求項5記載空気溜まりのシミュレーションプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−33826(P2008−33826A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−209045(P2006−209045)
【出願日】平成18年7月31日(2006.7.31)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願日】平成18年7月31日(2006.7.31)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
[ Back to top ]