(57)【要約】【課題】流体中の粒子の挙動をより精密に解析し、実際の状況を精密に近似したシミュレーションに発展させる。【解決手段】ワークの内外にＮ個の気泡粒子を発生させ（Ｓ４）、気泡粒子にかかる力の釣り合いに基づいて気泡粒子の移動量ΔＺを算出し（Ｓ５）、ワークとの干渉がない場合、気泡粒子を移動させ、干渉がある場合、気泡粒子をワークの部材表面に沿って移動させる（Ｓ７）。更に、粒子間の衝突がある場合には、粒子間の衝突による移動計算を行い、衝突後の速度及び方向を算出する（Ｓ１１）。計算終了後、ポスト処理に移行し（Ｓ１４）、気泡粒子の軌跡やワーク内部の堆積状態を可視化処理し、また、気泡粒子の堆積状態からエアポケットの体積を計算する。これにより、流体中の粒子の挙動をより精密に解析し、実際の状況を精密に近似したシミュレーションに発展させることができる。【選択図】図９
2008171145.tif 000002
【特許請求の範囲】
【請求項１】
浸漬処理を施すワークを形状データで表現した仮想ワークを含む解析領域内に擬似的に空気の泡を仮定した粒子を発生させ、上記ワークが浸漬される浸漬液を模した流体中の上記粒子の挙動を計算して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、
上記粒子に任意の形状及び物性を設定し、上記流体中で上記粒子に作用する力の関係に基づいて、上記粒子同士の衝突を伴う移動軌跡を計算するステップと、
上記仮想ワーク或いは他の粒子との干渉により移動を停止した粒子を互いに合体させることなく堆積させ、堆積した粒子群をエアポケットと判定するステップと
を備えることを特徴とする空気溜まりのシミュレーション方法。
【請求項２】
上記粒子を剛体として表面の摩擦係数をゼロに設定すると共に上記粒子同士の反発係数をゼロとし、上記移動軌跡を計算することを特徴とする請求項１記載の空気溜りのシミュレーション方法。
【請求項３】
上記粒子を球体として、該球体の径をウェーバー数より算出される値以上とすることを特徴とする請求項１又は２記載の空気溜りのシミュレーション方法。
【請求項４】
異なる大きさの粒子が混在する状態で上記移動軌跡の計算を行い、上記移動を停止した粒子を堆積させることを特徴とする請求項１〜３の何れか一に記載の空気溜りのシミュレーション方法。
【請求項５】
上記粒子に作用する重力の方向を、上記ワークの釣下げ姿勢に基づいて設定することを特徴とする請求項１〜４の何れか一に記載の空気溜りのシミュレーション方法。
【請求項６】
上記移動軌跡の計算に際して、上記粒子の移動方向に垂直な方向の力を与えることを特徴とする請求項１〜５の何れか一に記載の空気溜りのシミュレーション方法。
【請求項７】
上記移動を停止して堆積する粒子を停滞粒子として属性を変更し、更に、該停滞粒子の中で上記模擬ワークに３点以上で接している粒子を最上停滞粒子として属性を変更することを特徴とする請求項１〜６の何れか一に記載の空気溜りのシミュレーション方法。
【請求項８】
上記停滞粒子に移動中の上記粒子が衝突する場合、上記粒子に作用する力の方向と垂直な方向の力により上記粒子を上記停滞粒子の下で横滑りさせることを特徴とする請求項７記載の空気溜りのシミュレーション方法。
【請求項９】
上記粒子の初期発生位置を上記仮想ワークを含む大きさの領域内に設定し、該領域の内部に上記粒子を均一に分布させて初期発生させることを特徴とする請求項１〜８の何れか一に記載の空気溜りのシミュレーション方法。
【請求項１０】
上記仮想ワーク内に堆積する粒子群の中から上記粒子の代表点を下方から認識可能な粒子を抽出し、抽出した各粒子の代表点高さを各粒子の代表サイズで重み付け平均してエアポケットの平均高さを求め、該平均高さにおいて各粒子に作用する力の方向に垂直な平面をエアポケットの境界面とすることを特徴とする請求項１〜９の何れか一に記載の空気溜りのシミュレーション方法。
【請求項１１】
上記エアポケットの平均高さを、上記ワークの揺れと上記浸漬液の流れとの少なくとも一方に基づく補正量で補正することを特徴とする請求項１０記載の空気溜りのシミュレーション方法。
【請求項１２】
浸漬処理を施すワークを形状データで表現した模擬ワークを含む解析領域内に擬似的に空気の泡を仮定した粒子を発生させ、上記ワークが浸漬される浸漬液を模した流体中の上記粒子の挙動を計算して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、
上記粒子に任意の形状及び物性を設定し、上記流体中で上記粒子に作用する力の関係に基づいて、上記粒子同士の衝突を伴う移動軌跡を計算するステップと、
上記模擬ワーク或いは他の粒子との干渉により移動を停止した粒子を互いに合体させることなく堆積させ、堆積した粒子群をエアポケットと判定するステップと
を備えることを特徴とする空気溜まりのシミュレーションプログラム。
【請求項１３】
上記粒子を剛体として表面の摩擦係数をゼロに設定すると共に上記粒子同士の反発係数をゼロとし、上記移動軌跡を計算することを特徴とする請求項１２記載の空気溜りのシミュレーションプログラム。
【請求項１４】
上記粒子を球体として、該球体の径をウェーバー数より算出される値以上とすることを特徴とする請求項１２又は１３記載の空気溜りのシミュレーションプログラム。
【請求項１５】
異なる大きさの粒子が混在する状態で上記移動軌跡の計算を行い、上記移動を停止した粒子を堆積させることを特徴とする請求項１２〜１４の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項１６】
上記粒子に作用する重力の方向を、上記ワークの釣下げ姿勢に基づいて設定することを特徴とする請求項１２〜１５の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項１７】
上記移動軌跡の計算に際して、上記粒子の移動方向に垂直な方向の力を与えることを特徴とする請求項１２〜１６の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項１８】
上記移動を停止して堆積する粒子を停滞粒子として属性を変更し、更に、該停滞粒子の中で上記模擬ワークに３点以上で接している粒子を最上停滞粒子として属性を変更することを特徴とする請求項１２〜１７の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項１９】
上記停滞粒子に移動中の上記粒子が衝突する場合、上記粒子に作用する力の方向と垂直な方向の力により上記粒子を上記停滞粒子の下で横滑りさせることを特徴とする請求項１８記載の空気溜りのシミュレーションプログラム。
【請求項２０】
上記粒子の初期発生位置を上記模擬ワークを含む大きさの領域内に設定し、該領域の内部に上記粒子を均一に分布させて初期発生させることを特徴とする請求項１２〜１９の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項２１】
上記模擬ワーク内に堆積する粒子群の中から上記粒子の代表点を下方から認識可能な粒子を抽出し、抽出した各粒子の代表点高さを各粒子の代表サイズで重み付け平均してエアポケットの平均高さを求め、該平均高さにおいて各粒子に作用する力の方向に垂直な平面をエアポケットの境界面とすることを特徴とする請求項１２〜２０の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項２２】
上記エアポケットの平均高さを、上記ワークの揺れと上記浸漬液の流れとの少なくとも一方に基づく補正量で補正することを特徴とする請求項２１記載の空気溜りのシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、浸漬処理を施す際にワークに生じる空気溜りをシミュレーションする空気溜りのシミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【０００２】
一般に、電着塗装やメッキ等におけるワークの浸漬工程においては、均一な塗膜やメッキ膜を形成させるために、ワークに空気溜り（エアポケット）を生じさせないことが重要である。このエアポケットは、複雑な形状のワークを浸漬した際に、その隙間にできる凹部、例えば、自動車等の車体であれば、フード内面、ルーフ内面、フロア下面等の凹部等の空間に空気が残留する現象であり、このエアポケットが発生すると、塗装不良やメッキ不良が発生してしまう。
【０００３】
そこで、ワークを浸漬処理する状態をコンピュータを用いてシミュレーションし、エアポケットの発生状況を予測する手法が提案されており、その手法の１つとして、特許文献１に開示されているように、浸漬液中の空気の泡を気泡粒子と仮定し、この気泡粒子が浸漬液中を上昇する過程を解析することにより、ワーク内部に溜まる気泡粒子からエアポケットの発生を予測する技術がある。
【０００４】
特許文献１の技術は、図１８に示すように、ワークＷｋの下方或いは周囲から気泡粒子Ｂｋを発生させ、気泡粒子の軌道を計算するものであり、上昇した気泡粒子Ｂｋが途中でワークＷｋの壁に当たると、壁面下に沿って更に上昇し、図１９に示すように、ワークＷｋ上部の凸部領域内に停滞して停滞粒子Ｂｋｔとなる。最終的に、この停滞粒子Ｂｋｔの位置がエアポケットの発生位置となり、停滞粒子Ｂｋの濃淡によってエアポケットの大きさを簡易表示している。
【特許文献１】特開２００６−１１６３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術においては、演算負荷を軽減してエアポケットの発生位置を迅速に把握することを主眼としており、気泡粒子に作用する各種の力の影響や気泡粒子同士の衝突等の相互干渉の影響を省略して解析を簡略化し、最終的に停滞粒子の変形や着色によってエアポケットの発生位置を強調表示するに止まっている。このため、エアポケットの大きさや形状を正確に予測することは困難であり、より精密な解析への発展が課題として残っている。
【０００６】
本発明は上記事情に鑑みてなされたもので、流体中の粒子の挙動をより精密に解析し、実際の状況を精密に近似したシミュレーションに発展させることのできる空気溜りのシミュレーション方法及びシミュレーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による空気溜りのシミュレーション方法は、浸漬処理を施すワークを形状データで表現した仮想ワークを含む解析領域内に擬似的に空気の泡を仮定した粒子を発生させ、上記ワークが浸漬される浸漬液を模した流体中の上記粒子の挙動を計算して空気溜りをシミュレーションする空気溜りのシミュレーション方法において、上記粒子に任意の形状及び物性を設定し、上記流体中で上記粒子に作用する力の関係に基づいて、上記粒子同士の衝突を伴う移動軌跡を計算するステップと、上記仮想ワーク或いは他の粒子との干渉により移動を停止した粒子を互いに合体させることなく堆積させ、堆積した粒子群をエアポケットと判定するステップとを備えることを特徴とする。
【０００８】
本発明による空気溜りのシミュレーションプログラムは、浸漬処理を施すワークを形状データで表現した模擬ワークを含む解析領域内に擬似的に空気の泡を仮定した粒子を発生させ、上記ワークが浸漬される浸漬液を模した流体中の上記粒子の挙動を計算して空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、上記粒子に任意の形状及び物性を設定し、上記流体中で上記粒子に作用する力の関係に基づいて、上記粒子同士の衝突を伴う移動軌跡を計算するステップと、上記模擬ワーク或いは他の粒子との干渉により移動を停止した粒子を互いに合体させることなく堆積させ、堆積した粒子群をエアポケットと判定するステップとを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、流体中の粒子の挙動をより精密に解析することができ、実際の状況を精密に近似したシミュレーションに発展させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図９は本発明の実施の第１形態に係り、図１はシミュレーション装置の基本構成図、図２は車体の塗装ラインの概略説明図、図３は気泡粒子の発生位置を示す説明図、図４は気泡粒子の堆積状態を示す説明図、図５は粒子径の異なる気泡粒子の堆積状態を示す説明図、図６は気泡粒子の堆積の偏りを示す説明図、図７は気泡粒子の乱れを考慮した外力の説明図、図８は気泡粒子同士の衝突を示す説明図、図９はエアポケットシミュレーションプログラムのフローチャートである。
【００１１】
図１に示すように、本実施の形態におけるシミュレーション装置１は、自動車のボディシェル等のワークに電着塗装やメッキ処理等の浸漬処理を施す際に、ワークに生じる空気溜り（エアポケット）をシミュレーションするものである。このエアポケットのシミュレーション装置１は、マイクロコンピュータやパーソナルコンピュータ等の単一のコンピュータ、或いはネットワークを介して相互に接続される複数のコンピュータを用いて構成される。
【００１２】
以下では、便宜上、シミュレーション装置１を単一のコンピュータで構成する例について説明する。シミュレーション装置１は、演算装置１０、キーボードやマウス等の入力装置１１、ＣＲＴや液晶ディスプレイ等の表示装置１２、磁気ディスクや光ディスク等の外部記憶装置１３等を備えている。
【００１３】
演算装置１０は、ＣＰＵ、ＲＯＭ及びＲＡＭ等の内部メモリ、入出力インターフェース等を備えており、内部のＲＯＭ、外部記憶装置１３、外部の記憶媒体に記憶させたシミュレーションプログラム、或いは、図示しないネットワークや通信装置を介して外部からロードしたシミュレーションプログラムをＣＰＵで実行し、入力装置１１を介して指示された解析対象のワーク（対象物）を擬似的に浸漬槽内に浸漬させ、その浸漬によって対象物に発生するエアポケットをシミュレーションし、シミュレーション結果を表示装置１２に出力して表示させる。尚、表示装置１２には、シミュレーション結果のみならずシミュレーション過程を表示させるようにしても良い。
【００１４】
例えば、本発明によるシミュレーションの適用例として、車体ボディの電着塗装時における電着液及び空気の分布を数値解析し、被塗装物におけるエアポケットの発生を予測するシミュレーションが挙げられる。ここで、車体ボディの塗装ラインについて、図２を用いて簡単に説明する。
【００１５】
図２に示すように、溶接等により複数の車体パネルを互いに接合して構成される自動車の車体ボディ２０は、搬送装置２１のハンガに搭載された状態で塗装ラインにて略水平方向へ搬送される。塗装ラインでは、電着塗装の前処理として、車体パネルに脱脂、水洗、表面調整、皮膜化成、水洗等の処理が施される。
【００１６】
これらの処理の後、車体ボディ２０は電着槽２２に向かって降下し、電着液２３に浸漬された状態で略水平に移動する。この状態で、車体ボディ２０と電着槽２２内の電極（図示せず）に電圧を加えることにより、車体パネルに塗料が析出するようになっている。この後、搬送装置２１により車体ボディ２０は電着槽２２から引き上げられ、水洗により車体パネルに電着せずに付着している電着液２３が除去される。
【００１７】
本発明におけるエアポケットのシミュレーションは、浸漬液中に発生させた擬似的な空気泡を粒子（気泡粒子）と仮定し、気泡粒子の挙動を解析することによりエアポケットの発生をシミュレーションする手法を発展させたものであり、エアポケットの形状や大きさを予測することが可能となっている。このエアポケットの形状や大きさを予測するため、本発明のエアポケットシミュレーションは、浸漬液を模した流体中で気泡粒子に作用する力の釣合いと気泡粒子同士の衝突を考慮して気泡粒子の挙動を解析するようにしている。
【００１８】
気泡粒子同士の衝突を考慮した場合、流体中の気泡粒子は、所定の条件下において表面張力の影響により剛体的な挙動を示すことを踏まえ、本形態においては、気泡粒子に、気体（空気）としての物性に限定することなく、所定の剛性を有する固体としての物性を設定している。更に、気泡粒子は、球体のみならず楕円体や多面体等の任意の形状とすることができ、複数の気泡粒子の各々が異なる大きさであっても良い。
【００１９】
演算装置１０は、ワークに対して設定された計算領域内の任意の位置に任意の数の気泡粒子を発生させ、重力に抗して上昇する気泡粒子の挙動を解析する。そして、最終的に、ワークを構成する部材の内側で移動を停止して堆積する気泡粒子の集合体を、エアポケットと判断し、その形状や大きさを計算する。
【００２０】
気泡粒子の挙動は、基本的には、気泡粒子に作用する浮力と重力とを考慮することで解析可能であるが、シミュレーション精度を向上するには、更なる条件の設定が必要となる。例えば、粒子の剛性、粒子同士の衝突における反発係数、粒子表面の摩擦係数等を設定し、また、流体の粘性、境界面における表面張力、流体からの作用力、流体以外の他の外力の影響等を考慮した条件を設定することにより、最終的に判定されるエアポケットのシミュレーション精度を向上することができる。
【００２１】
本形態においては、解析に要する演算量及び演算速度とシミュレーション精度とを考慮し、次の（１）〜（４）に示すような条件を設定する。
【００２２】
（１）気泡粒子を球状の剛体と見做し、互いの衝突による変形は生じないものとする。
【００２３】
（２）気泡粒子同士の衝突においては、反発係数を“０”とし、衝突した気泡粒子同士が互いに結合して移動するものとする。但し、気泡粒子同士が結合した状態から分離することは可能とする。
【００２４】
（３）気泡粒子表面の摩擦係数を“０”とする。
【００２５】
（４）気泡粒子の径は、気液２相流における表面張力の影響を考慮した設定値以上の径とする。
【００２６】
（１），（２）の条件は、気泡粒子は互いに合体することなく、移動を阻止されて停止した場合に、それぞれの大きさを維持しながら堆積することを意味し、（３）の条件は、気泡粒子同士が衝突しても気泡粒子は回転せず、エネルギーの損失がないことを意味している。また、（４）の条件は、ワークに隙間や孔が存在する場合であっても、隙間が狭かったり孔が小さ過ぎる場合には、表面張力によってワーク内部の空気が抜けず、エアポケットが発生する場合があることを考慮したものであり、（４）の条件に従って気泡粒子の径を設定することにより、ワークの隙間や孔が不適切であった場合にも、エアポケットの発生を見逃すことなく把握することができる。
【００２７】
以上の気泡粒子を用いたシミュレーションプログラムの機能は、演算装置１０の機能を、解析領域設定部１０ａ、気泡粒子設定部１０ｂ、粒子挙動計算部１０ｃ、ポスト処理部１０ｄに分けて表現することができる。以下、各部の機能について説明する。
【００２８】
解析領域設定部１０ａは、気泡粒子の挙動を解析する解析領域（計算領域）を、エアポケットの判定対象となるワークの形状データを含んで数値化した３次元の領域として設定する。ワークの形状データとしては、設計用のＣＡＤデータやＳＴＬ(Stereo Lithography)データ、ワークの形状をメッシュやノード等の複数の要素に分割したＦＥＭ（有限要素法）データ等を用いることができる。
【００２９】
例えば、形状データとしてメッシュデータを用いる場合、ワークに設定したメッシュとワーク周囲に設定した空間メッシュとを用いて解析領域を設定し、個々のメッシュに、例えば、自己を識別するためのメッシュ番号、メッシュの節点（ノード）の所定の基準点に対する座標値（三次元空間のＸＹＺ座標軸における座標値）、メッシュの属性等のデータを付与する。これらのデータは、外部記憶装置１３に格納され、例えば、対象物毎に個別の識別番号（レコード番号）が付された属性レコード群で構成されるデータベースに、各メッシュのメッシュ番号、ノード点座標値、属性データ等が対応付けて記述される。
【００３０】
気泡粒子設定部１０ｂは、解析領域内の任意の位置に擬似的に気泡粒子を発生させ、初期条件を設定する。初期条件としては、気泡粒子の径（直径）ｄp、発生個数Ｎ、計算回数Ｍ、計算の時間刻み幅Δｔ等の計算条件を設定し、また、ワークの姿勢に対する重力方向を決定する。
【００３１】
気泡粒子の発生位置は、例えば、図３に示すように設定される。図３においては、解析領域Ａ内のワークＷの下方に配置した黒丸で示す位置が気泡粒子Ｂの発生位置であり、便宜的に気泡粒子Ｂを横軸方向へ１列に配設した状態が示されている。この気泡粒子Ｂの発生位置は、表示装置１２を参照しながらマウス等を用いて任意の位置を指定しても良く、また、予め設定した位置やランダム位置に自動的に発生させることも可能である。更に、気泡粒子の発生位置は、ワーク内部に設定することも可能であり、ワーク内部に設定することで、最も注目した部位を集中的に解析することができる。
【００３２】
以下に説明するように、解析領域Ａ内に発生させた気泡粒子Ｂは、計算時間刻み幅Δｔ毎に、気泡粒子に掛かる作用力及び互いの衝突によって所定距離及び方向に移動される。そして、最終的に、図４に示すように、ワークＷ或いは他の気泡粒子との干渉によって移動を阻止されてワークＷの内側に堆積する気泡粒子Ｂの集合体（粒子群）Ｂ＿Ｐがエアポケットと判断され、エアポケットの形状や大きさが算出される。
【００３３】
尚、図４においては各気泡粒子Ｂの径を同一として示しているが、大小様々な径の気泡粒子を用いても良い。大きさや形状の異なる気泡粒子を使用することで、図５に示すように、大きな気泡粒子ＢLの間に小さな気泡粒子ＢSが堆積し、気液境界面の形状を滑らかに表現することが可能となる。
【００３４】
気泡粒子の径ｄpは、気液２相流における表面張力σの影響を考慮して設定した値以下とする。表面張力σの影響は、ウェーバー数Ｗｅとレイノルズ数Ｒｅという２つの無次元数に基づいて判断することができ、ウェーバー数Ｗｅ、レイノルズ数Ｒｅは、流体の密度ρ、動粘性係数ν、流体速度ｕとすると、それぞれ以下の（１），（２）式によって表現することができる。 
Ｗｅ＝（ρ×ｄp×ｕ2）／σ  …（１）
Ｒｅ＝ｕ×ｄp／ν          …（２）
【００３５】
本シミュレーションの対象とする浸漬処理においては、浸漬液の流動状態は、比較的ゆっくりとしているものの、Ｒｅ＞１の状態、すなわち粘性力の影響よりも慣性力の影響が大きい状態である場合が多く、Ｒｅ＞１のとき、表面張力の影響が無視できなくなるのは、Ｗｅ＞１のときである。従って、気泡粒子の径ｄpを、以下の（３）式の条件を満たすように設定することにより、狭い隙間や小さな孔に発生する表面張力の影響によるエアポケットを見逃すことなくシミュレーション可能となる。 
ｄp≧σ／（ρ×ｕ2）  …（３）
【００３６】
粒子挙動計算部１０ｃは、時間刻み幅Δｔ毎に、気泡粒子の移動速度（ベクトル）ｕpを計算し、時間刻み幅Δｔ毎の移動速度ｕpの大きさを移動量ΔＺとして気泡粒子を移動させる。気泡粒子の移動速度ｕpは、球形粒子に掛かる単位質量当たりの作用力を表す関係式から求める。気泡粒子に作用する力としては、以下の（４）式に示すように、粘性力、浮力、遠心力や電磁力等の外力を考慮する。尚、（４）式における流体速度ｕは、実際の浸漬槽の仕様から算出される値を採用して良いが、別途、実施する流体解析結果や実験結果等から得られる値を利用しても良い。 
（ｄｕp／ｄｔ）＝ｆD×（ｕ−ｕp）＋ｇ×（ρp−ρ）／ρp＋Ｆx  …（４）
但し、ｆD：粒子の粘性抵抗係数
ｇ ：重力加速度
ρp：粒子の密度
Ｆx：粘性力や浮力以外の外力
【００３７】
（４）式による気泡粒子の移動速度ｕpは、気泡粒子に作用する力の釣り合いから求めた速度であるが、流体中を気泡粒子が移動してゆく際に生じる乱れの影響により、図６に示すように、ワークＷ内部に気泡粒子Ｂが偏って堆積してしまう場合がある。このため、気泡粒子の乱れの影響を無視できないことが予想される場合には、気泡粒子の移動方向と垂直方向（気泡粒子に重力しか作用しない場合には水平面方向）の移動量を設定するようしても良い。
【００３８】
具体的には、気泡粒子に作用する力の関係を表す（４）式において、図７に示すように、気泡粒子Ｂの速度ｕpでの移動方向と垂直なｘｙ平面上に、大きさ（移動量）Δｒ及び方向θの外力Ｆtxを設定する。この外力Ｆtxは、気泡の乱れを表現するものであり、気泡粒子毎に、例えば乱数を用いて設定する。この外力Ｆtxを導入することにより、気泡粒子が揺らぎながら浸漬槽内を上昇する様子をシミュレーションすることができ、ワーク内に気泡粒子が偏って堆積することによる影響を緩和することができる。
【００３９】
以上により求めた移動量ΔＺで気泡粒子が部材と干渉する場合には、干渉する位置から部材表面に沿って気泡粒子を移動させる。また、図８に示すように、質量ｍ1，速度ｕp1の気泡粒子Ｂ１と質量ｍ2，速度ｕp2の気泡粒子とが衝突する場合には、運動量の保存則に基づいて、以下の（５）式から求まる速度ｕpの大きさを移動量ΔＺとして算出する。尚、（５）式におけるｕp,ｕp1,ｕp2は、速度ベクトルである。 
ｕp＝ｍ1／（ｍ1＋ｍ2）×ｕp1＋ｍ2／（ｍ1＋ｍ2）×ｕp2  …（５）
【００４０】
ポスト処理部１０ｄは、シミュレーションの途中経過やシミュレーション結果を容易に把握可能とするための可視化処理やシミュレーション結果のデータ出力を行う。すなわち、ワークに対する気泡粒子の移動状態を可視化するためのデータを生成し、部材との干渉によって移動を停止してワーク内部で堆積した気泡粒子の集合を、エアポケットを形成する気泡粒子として色相や濃淡等によって識別表示する。また、エアポケットの形状や大きさ（体積）を計算し、データの表示処理やファイルへの格納処理を行う。
【００４１】
次に、演算装置１０のＣＰＵで実行されるエアポケットのシミュレーションプログラムについて、図９に示すフローチャートを用いて説明する。
【００４２】
図９のシミュレーションプログラムでは、先ず、ステップＳ１において、ワークの形状データを入力し、このワークの形状データによる部材の存在空間と浸漬液で満たされる空間とを合わせて気泡粒子の挙動を解析する解析領域を設定する。次に、ステップＳ２へ進み、気泡粒子や浸漬液を模した流体の物性、重力の方向を設定し、ステップＳ３で、気泡粒子の径ｄp、発生個数Ｎ、計算回数Ｍ等の計算条件を入力する。
【００４３】
更に、ステップＳ４へ進み、部材周囲（ワークの内外）に発生させるＮ個の気泡粒子の位置を設定すると、ステップＳ５で、前述の（４）式により、すなわち気泡粒子に掛かる作用力の釣り合いに基づいて気泡粒子の移動量ΔＺを移動方向を含めて算出する。そして、ステップＳ６において、移動量ΔＺでの気泡粒子の移動軌跡が解析領域内のワークと干渉しているか否かが判断される。
【００４４】
気泡粒子とワークとの干渉は、例えば、気泡粒子の移動軌跡がワークの形状データと同一座標で重なるか否で判断する。同一座標で重ならない場合には、気泡粒子を移動させてもワークに干渉しないと判断し、同一座標で重なる場合、気泡粒子を移動させるとワークに干渉すると判断する。そして、ステップＳ６で干渉がないと判断した場合には、気泡粒子を移動量ΔＺだけ移動させてステップＳ８へジャンプし、干渉があると判断した場合、ステップＳ７で気泡粒子をワークの部材表面に沿って移動させ、ステップＳ８へ進む。
【００４５】
ステップＳ８では、移動計算済みの気泡粒子の数（以下「粒子数」と称する）ｉが、初期設定した発生個数Ｎに達したか否かを調べる。そして、ｉ＜Ｎの場合、ステップＳ９で粒子数ｉをインクリメントして次の移動計算の対象となる気泡粒子を選択し、ステップＳ５へ戻る。また、ステップＳ８において、粒子数ｉが発生個数Ｎに達した場合（ｉ≧Ｎ）、ステップＳ８からステップＳ１０へ進んで、気泡粒子間での衝突があるか否かを調べる。この気泡粒子同士の衝突は、同様に、移動量ΔＺでの軌跡において同一座標で重なる点があり、軌跡が交差するか否かにより判断する。
【００４６】
その結果、ステップＳ１０において、粒子間の衝突がない場合には、ステップＳ１２へジャンプし、粒子間の衝突がある場合、ステップＳ１１で粒子間の衝突による移動計算を行う。この計算は、前述したように、運動量の保存則に基づく（５）式を用いて行い、衝突後の速度及び方向を算出し、ステップＳ１２へ進む。
【００４７】
ステップＳ１２では、計算回数ｊが規定回数Ｍに達したか否かを調べ、ｊ＜Ｍのときは、規定回数に達していないため、ステップＳ１３で計算回数ｊをインクリメントすると共に粒子数ｉをクリアし、ステップＳ５へ戻って次の移動計算を実行する。
【００４８】
その後、ステップＳ１２において、計算回数ｊが規定回数Ｍに達したとき（ｊ≧Ｍ）、ステップＳ１２からステップＳ１４へ進み、ポスト処理を実行する。このポスト処理では、気泡粒子の軌跡をポスト処理によりアニメーション化したり、気泡粒子のワーク内部への堆積状態を表示する等の可視化処理を行い、また、気泡粒子の堆積状態からエアポケットの体積を計算し、表示装置１２へ出力、シミュレーション結果のファイルへのデータ出力等を行う。
【００４９】
以上のように、本実施の形態によれば、浸漬液中での気泡粒子の挙動を、気泡粒子に作用する各種の力の影響や気泡粒子同士の衝突等の相互干渉の影響を考慮して精密に解析することができ、実際の塗装ライン等の浸漬工程の状態を反映して実際の浸漬工程に近い状態でのエアポケットの評価を行うことができる。また、エアポケットの大きさや形状を知ることができ、単なる目安に止まることなく、より実用的なシミュレーションへと発展させることができる。
【００５０】
尚、浸漬液を模した流体の物性値を気体（空気）に、気泡粒子の物性値を液体（浸漬液）に設定することで、浸漬槽からワークを引上げる際に発生する液溜り対策を講じることができる。
【００５１】
次に、本発明の実施の第２形態について説明する。図１０及び図１１は本発明の実施の第２形態に係り、図１０は停滞粒子を示す説明図、図１１はエアポケットシミュレーションプログラムのフローチャート、図１２は停滞粒子からの抽出を示す説明図、図１３はエアポケットの平均高さを示す説明図である。
【００５２】
第２形態は、気泡粒子の移動計算において、移動距離が０の状態が一定時間だけ続いた気泡粒子を、ワーク等に阻まれて移動できなくなった「停滞粒子」と定義し、その属性を変更すると共に、停滞粒子のうち、ワーク壁面に３点以上で接触している粒子を「最上停滞粒子」と定義し、その属性を変更するものである。
【００５３】
最上停滞粒子は、重力方向と反対方向で最も高い位置にある停滞粒子を意味し、図１０に示すように、ワークＷの１つのエアポケットが２つの凸部Ｗt1,Ｗt2で形成されている場合には、１つのエアポケットを形成する複数の停滞粒子Ｂtに対して、２つの最上位停滞粒子Ｂtmaxが定義される。
【００５４】
第２形態のシミュレーションプログラムは、第１形態のシミュレーションプログラム（図９）に、「停滞粒子」及び「最上位停滞粒子」の設定に伴う若干の変更を加えている。以下、第２形態のシミュレーションプログラムについて、図１１のフローチャートを用いて説明する。
【００５５】
図１１に示すシミュレーションプログラムは、最初のステップＳ２１〜Ｓ２４は、第１形態のステップＳ１〜Ｓ４と同じであり、ワークの形状データ入力、物性及び重力方向の設定、計算条件の入力、Ｎ個の気泡粒子の設定を行う。次に、ステップＳ２５以降では、停滞粒子の判定を含む気泡粒子の移動計算を行う。
【００５６】
すなわち、ステップＳ２５で気泡粒子が停滞粒子となっているか否かを判定し、停滞粒子の場合には、移動計算を打切ってステップＳ２９へジャンプし、停滞粒子でない場合、ステップＳ２６へ進んで、気泡粒子の移動量ΔＺを算出する。この移動量Ｚの計算は、第１形態と同様である。
【００５７】
そして、ステップＳ２７において、移動量ΔＺでの気泡粒子の移動軌跡が解析領域内のワークと干渉しているか否かを判断する。この干渉判断も第１形態と同様であり、干渉がないと判断した場合、気泡粒子を移動量ΔＺだけ移動させてステップＳ２９へ進み、干渉があると判断した場合、ステップＳ２８で気泡粒子をワークの部材表面に沿って移動させ、ステップＳ２９へ進む。
【００５８】
ステップＳ２９では、粒子数ｉが発生個数Ｎに達したか否かを調べ、ｉ＜Ｎの場合には、ステップＳ３０で粒子数ｉをインクリメントして次の移動計算の対象となる気泡粒子を選択し、ステップＳ２５へ戻る。また、ステップＳ２９において、粒子数ｉが発生個数Ｎに達した場合（ｉ≧Ｎ）、ステップＳ２９からステップＳ３１へ進み、第１形態で説明したように、気泡粒子間での衝突があるか否かを調べる。
【００５９】
そして、ステップＳ３１において、粒子間の衝突がない場合、ステップＳ３７へジャンプし、粒子間の衝突がある場合、ステップＳ３２へ進み、第１形態で説明したように、運動量の保存則に基づく（５）式を用いて粒子間の衝突による移動計算を行い、ステップＳ３３へ進む。
【００６０】
尚、気泡粒子の衝突において、ある気泡粒子が停滞粒子に衝突（または接触）した場合には、第１形態で説明した気泡粒子の乱れを表す垂直方向の力Ｆtxと同様の外力を作用させる。この外力は、気泡粒子に重力しか作用しない場合には、水平面内方向の横力を意味しており、気泡粒子が停滞粒子に接触した場合に、気泡粒子を横滑りさせ、気液境界面形状を滑らかにすることができる。
【００６１】
次に、ステップＳ３３では、今回の粒子位置が粒子位置計算における１ステップ前と同じか否かを調べる。そして、粒子位置が１ステップ前の計算と同じ位置でない場合は、ステップＳ３７へジャンプし、粒子位置が同じ位置に止まっている場合、ステップＳ３３からステップＳ３４へ進み、該当する気泡粒子を停滞粒子に設定して属性を変更する。
【００６２】
更に、ステップＳ３４からステップＳ３５へ進み、停滞粒子のワークとの接触状態を調べる。本形態においては、気泡粒子が球体であるものとして停滞粒子がワークと３点で接触しているか否かを調べ、３点で接触していない場合は、ステップＳ３７へジャンプし、３点で接触している場合、ステップＳ３６で、その停滞粒子を最上停滞粒子に設定して属性を変更し、ステップＳ３７へ進む。
【００６３】
ステップＳ３７では、第１形態と同様、計算回数ｊが規定回数Ｍに達したか否かを調べ、ｊ＜Ｍのときは、規定回数に達していないため、ステップＳ３８で計算回数ｊをインクリメントすると共に粒子数ｉをクリアし、ステップＳ２５へ戻って次の移動計算を実行する。
【００６４】
その後、ステップＳ３７において、計算回数ｊが規定回数Ｍに達したとき（ｊ≧Ｍ）、ステップＳ３７からステップＳ３９へ進んで停滞粒子数をカウントし、ステップＳ４０でポスト処理に移行して可視化処理やシミュレーション結果のデータ出力を行う。
【００６５】
このポスト処理では、エアポケットが発生している場合、最上停滞粒子の位置からワークに設けるべき通気孔の位置を明確に把握することができる。また、エアポケットの概略的な大きさを直ちに把握したい場合には、停滞粒子の数からエアポケットの体積の概算を迅速に計算することができ、迅速な対応が可能となる。
【００６６】
更に、エアポケット体積を精密に求めるには、図１２に示すように、ワークＷ内部の停滞粒子Ｂt群を下から見上げたとき、重心や粒子表面の最低点等の粒子の代表点を認識可能な停滞粒子を抽出し、エアポケットの気液境界面形状をより実際に近い滑らかな形状として求める。
【００６７】
図１２は、粒子径が異なる気泡粒子を用いたシミュレーション結果を例示しており、同図中で濃色表示する停滞粒子Ｂtiが代表点を認識可能な粒子を示している。抽出した停滞粒子Ｂtiからは、その代表点位置を気泡粒子の代表サイズ（例えば、粒子径や投影面積）で重み付け平均することにより、エアポケット平均高さを算出する。
【００６８】
例えば、図１３に示すように、ｉ個の停滞粒子Ｂｔ1，Ｂt2，…，Ｂtiが抽出され、基準位置（Ｚ＝０）からの各粒子の中心位置を代表点高さＺp1，Ｚp2，…，Ｚpi、各粒子の径ｄp1，ｄp2、…，ｄpiを代表サイズとした場合、以下の（６）式により、エアポケット平均高さＺAPを算出する（式中のΣは、ｉについての総和）。 
ＺAP＝（ΣＺpi×ｄ2pi）／Σｄ2pi  …（６）
【００６９】
そして、エアポケット平均高さＺAPにおける気泡粒子に作用する力の方向に垂直な平面（気泡粒子に重力のみが作用する場合には水平面）を求め、これをエアポケット界面（エアポケットの気液境界面）とする。このエアポケット界面とワークによって構成される形状をエアポケット形状として、このエアポケット形状からエアポケット体積を求めることで、実際に発生するエアポケットの正確な形状と体積を予測することができる。
【００７０】
この場合、浸漬槽内における塗料の流れやワークの揺れを考慮してエアポケットの平均高さＺAPを補正してエアポケット界面を求めるようにしても良い。すなわち、塗料の流れによる補正量、ワークの揺れによる補正量との少なくとも一方を平均高さＺAPに加えて補正後の平均高さＺAPrを算出し、この補正後の平均高さＺAPrになるように、停滞粒子群から気泡粒子を削除する。
【００７１】
第２形態では、移動を停止した気泡粒子を、「停滞粒子」として定義することで、移動を停止する気泡粒子を迅速に見極めて移動計算を早く中止させることができ、処理速度の向上を図ることができる。また、停滞粒子の中で最も高い位置にある停滞粒子を、「最上停滞粒子」として定義することにより、ワークに設けるべき通気孔の位置を明確に把握することができ、エアポケットが発生した場合にも、迅速な対処を可能とし、単なる目安に止まらない実用的なシミュレーションへと発展させることができる。
【００７２】
次に、本発明の実施の第３形態について説明する。図１４〜図１７は本発明の実施の第３形態に係り、図１４は初期気泡粒子を示す説明図、図１５はワーク外部の気泡粒子の消滅を示す説明図、図１６はワーク内部の気泡粒子の抜けを示す説明図、図１７はワーク内部に残された気泡粒子を示す説明図である。
【００７３】
第３形態は、Ｎ個の気泡粒子を発生させる初期条件として、解析領域内でワークを取り囲む所定の空間領域を設定するものであり、この空間領域（ワーク内部を含む）内に初期設定した気泡粒子の上昇を計算し、最終的にワーク内部に残った気泡粒子からエアポケットを判定する。
【００７４】
本形態においては、ワークを取り囲む空間領域として直方体を想定し、ＸＹＺの３軸方向におけるワークの最小及び最大の座標位置（Ｘｍｉｎ，Ｘｍａｘ，Ｙｍｉｎ，Ｙｍａｘ，Ｚｍｉｎ，Ｚｍａｘ）を求め、この座標位置より構成される直方体を設定する。図１４に示すように、ワークＷを取り囲む直方体Ｌ内には、Ｎ個の気泡粒子Ｂを均一に配置する。この場合、気泡粒子の粒子径と直方体のサイズから、必然的に粒子数の最大値が決定される。
【００７５】
本形態のシミュレーションプログラムは、前述の第２形態のシミュレーションプログラム（図１１参照）のステップＳ２３における計算条件として直方体を設定する処理が異なるのみであり、他の処理は、第２形態と同様である。
【００７６】
例えば、図１４に示すように、通気孔Ｈを有するワークＷを取り囲む直方体Ｌ内にＮ個の気泡粒子を初期設定して計算を行うと、先ず、図１５に示すように、ワークＷ外部の気泡粒子（図中の波線で示す気泡粒子Ｂout）が上昇し、解析領域Ａから無くなる。
【００７７】
その後、図１６（ａ）に示すように、ワークＷの通気孔Ｈ下にある気泡粒子Ｂ１がワーク外部へ抜けて上昇し、この気泡粒子Ｂ１の上昇により、図１６（ｂ）に示すように、気泡粒子Ｂ１周囲の気泡粒子Ｂ２，Ｂ３，…が通気孔Ｈから順次ワーク外部へ抜け出る。最終的に、図１７に示すように、ワークＷの内部に残った気泡粒子群Ｂtにより、エアポケットが形成されることがわかる。
【００７８】
第３形態では、ワーク内部に気泡粒子が堆積されるまでの移動軌跡の計算を省略し、ワーク内部に取り残される気泡粒子をより少ない演算量で把握することができ、効率的な計算で演算負荷を低減しながら、エアポケットの大きさを容易に把握することができ、より実践的なシミュレーションとすることができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の第１形態に係わり、シミュレーション装置の基本構成図
【図２】同上、車体の塗装ラインの概略説明図
【図３】同上、気泡粒子の発生位置を示す説明図
【図４】同上、気泡粒子の堆積状態を示す説明図
【図５】同上、粒子径の異なる気泡粒子の堆積状態を示す説明図
【図６】同上、気泡粒子の堆積の偏りを示す説明図
【図７】同上、気泡粒子の乱れを考慮した外力の説明図
【図８】同上、気泡粒子同士の衝突を示す説明図
【図９】同上、エアポケットシミュレーションプログラムのフローチャート
【図１０】本発明の実施の第２形態に係り、停滞粒子を示す説明図
【図１１】同上、エアポケットシミュレーションプログラムのフローチャート
【図１２】同上、停滞粒子からの抽出を示す説明図
【図１３】同上、エアポケットの平均高さを示す説明図
【図１４】本発明の実施の第３形態に係り、初期気泡粒子を示す説明図
【図１５】同上、ワーク外部の気泡粒子の消滅を示す説明図
【図１６】同上、ワーク内部の気泡粒子の抜けを示す説明図
【図１７】同上、ワーク内部に残された気泡粒子を示す説明図
【図１８】従来手法における気泡粒子発生の様子を示す説明図
【図１９】従来手法におけるシミュレーション結果を示す説明図
【符号の説明】
【００８０】
１      シミュレーション装置
１０    演算装置
１０ａ  解析領域設定部
１０ｂ  気泡粒子設定部
１０ｃ  粒子挙動計算部
１０ｄ  ポスト処理部
【図１】
2008171145.tif 000003
【図２】
2008171145.tif 000004
【図３】
2008171145.tif 000005
【図４】
2008171145.tif 000006
【図５】
2008171145.tif 000007
【図６】
2008171145.tif 000008
【図７】
2008171145.tif 000009
【図８】
2008171145.tif 000010
【図９】
2008171145.tif 000011
【図１０】
2008171145.tif 000012
【図１１】
2008171145.tif 000013
【図１２】
2008171145.tif 000014
【図１３】
2008171145.tif 000015
【図１４】
2008171145.tif 000016
【図１５】
2008171145.tif 000017
【図１６】
2008171145.tif 000018
【図１７】
2008171145.tif 000019
【図１８】
2008171145.tif 000020
【図１９】
2008171145.tif 000021