JP3851848B2 - 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム - Google Patents
流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム Download PDFInfo
- Publication number
- JP3851848B2 JP3851848B2 JP2002179420A JP2002179420A JP3851848B2 JP 3851848 B2 JP3851848 B2 JP 3851848B2 JP 2002179420 A JP2002179420 A JP 2002179420A JP 2002179420 A JP2002179420 A JP 2002179420A JP 3851848 B2 JP3851848 B2 JP 3851848B2
- Authority
- JP
- Japan
- Prior art keywords
- fluid
- rigid body
- time
- velocity
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004088 simulation Methods 0.000 title claims description 80
- 239000012530 fluid Substances 0.000 claims description 172
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 7
- 210000001124 body fluid Anatomy 0.000 claims description 2
- 239000010839 body fluid Substances 0.000 claims description 2
- 238000000034 method Methods 0.000 description 30
- 230000006399 behavior Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000037237 body shape Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/24—Fluid dynamics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は3次元コンピュータグラフィックス(CG)分野に好適であり、相互作用する流体と剛体の挙動をシミュレーションする流体と剛体の連携シミュレーション装置、方法、およびプログラムに関する。
【0002】
【従来の技術】
とりわけエンジニアリングの分野において、流体と剛体との間に働く力の相互作用についてのシミュレーションは重要とされ、ALE(Arbitrary Lagrangian Eulerian)法やスライディング・メッシュ(Sliding mesh)法などが知られている。ALE法は、主に振動する物体からの影響についての流体解析に用いられ、また、スライディング・メッシュ法は、主に回転する物体からの影響についての流体解析に用いられている。
【0003】
これらシミュレーション計算法は、いずれも剛体形状に合わせてシミュレーション領域を非構造格子に分割して計算を行うものであり、エンジニアリング利用に耐える緻密なシミュレーションが行えるものの、計算負荷が高いことから、必ずしも計算機資源が豊富でない非エンジニアリング分野の利用には不向きである。
【0004】
一方、CG分野においては、フォスター(Foster)とフェドキウ(Fedkiw)らがレベルセット(Level Set)法とパーティクル(粒子)法を組み合わせた流体シミュレーション手法を提案している。この手法は、移動する物体からの影響を流体に与える計算を行うものであり、流体が波立つようなシーンの作成が可能である。しかしながら、この手法は剛体と流体との相互作用に関する計算が一方的である。たとえば、剛体の動きによる影響を流体に与えることはできるが、その逆に、流体の動きからの影響を剛体に与えることができない。したがって、流体の挙動(例えば勢いのある水の流れ)に従い剛体が力を受けて回転する様子などといったシーンの作成が困難である。また、複雑に流体の動きが変化するような状況への適用も困難であり、現実感を伴うシーンを容易に作成できないという問題点がある。
【0005】
【発明が解決しようとする課題】
したがって、本発明は、従来、エンジニアリング分野にて用いられている非構造格子による手法等に比して計算量が少なく汎用性があり、しかも、流体と剛体との力の相互作用を考慮した現実感のあるシーンの作成を可能にする流体と剛体のシミュレーション装置、方法、およびプログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0007】
本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション装置であって、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションする剛体シミュレーション手段と、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段と、前記速度設定手段により設定された速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションする流体シミュレーション手段と、を具備することを特徴とする流体と剛体の連携シミュレーション装置である。
【0008】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション装置であって、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段と、前記VOS値を流体シミュレーション格子にマッピングするマッピング手段と、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段と、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段と、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段と、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段と、時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段と、を具備することを特徴とする流体と剛体の連携シミュレーション装置である。
【0009】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション方法であって、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションするステップと、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定するステップと、設定された前記剛体周囲における流体の速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションするステップと、を具備することを特徴とする流体と剛体の連携シミュレーション方法である。
【0010】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション方法であって、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換するステップと、前記VOS値を流体シミュレーション格子にマッピングするステップと、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算するステップと、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算するステップと、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定するステップと、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算するステップと、時刻t+Δtにおける流体の速度、VOF値、および同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算するステップと、を具備することを特徴とする流体と剛体の連携シミュレーション方法である。
【0011】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするプログラムであって、コンピュータを、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションする剛体シミュレーション手段、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段、前記速度設定手段により設定された速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションする流体シミュレーション手段、として機能させるための流体と剛体の連携シミュレーションプログラムである。
【0012】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするプログラムであって、コンピュータを、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段、前記VOS値を流体シミュレーション格子にマッピングするマッピング手段、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段、時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段、として機能させるための剛体と流体の連携シミュレーションプログラムである。
【0013】
【発明の実施の形態】
図1は本発明の一実施形態に係る画像処理システムの概略構成を示すブロック図である。本実施形態は、例えばパーソナルコンピュータ(PC)やエンジニアリング用ワークステーションなど、一般的なコンピュータを用いて実現することができる。その概略構成としては、例えば図1に示すように、演算装置100、入力装置200、表示装置300、および記録装置400を具備して成る。演算装置100は、図示しないがCPU、メモリ、システムバス等の基本的なコンピュータ・ハードウェア構成を有する。本発明に係る流体と剛体の連携シミュレーションは、例えばコンピュータプログラムとして実施される。同プログラムは記録装置400から読み出されてメモリにストアされ、CPUにより実行される。尚、本発明に係る流体と剛体の連携シミュレーションを、コンピュータプログラムではなくハードウェア回路そのものとして実施することもできる。
【0014】
入力装置200は、キーボードやポインティングデバイス等である。ユーザは入力装置200を用いて、シミュレーションに必要な各種データを入力したり、シミュレーション処理の実行開始を命ずるコマンド等を演算装置100に与えることができる。表示装置300は、CRTや液晶等の表示装置であり、演算装置100によるシミュレーションの結果として生成されたシーンの画像を表示する。このような画像はコンピュータグラフィックス(CG)と称される。記録装置400は、ハードディスク装置や光磁気ディスク装置(MO)等からなり、流体と剛体の連携シミュレーションに係るプログラムの実行形式データ、同シミュレーションに用いられる初期データや形状データ、またはシミュレーション結果の画像データ等を記録する。本実施形態に係る画像処理システムに、さらにプリンタ等の周辺機器を接続してもよい。
【0015】
図2は、本実施形態に係る流体と剛体の連携シミュレーション装置の概略構成を示すブロック図である。同図に示すように、初期データ入力部1、VOS値データ変換部2、マッピング部3、流体速度−VOF値計算部4、流体外力計算部5、剛体シミュレーション部6、流体−剛体境界速度設定部7、および流体圧力計算部8から構成されている。
【0016】
初期データ入力部1は、流体と剛体の連携シミュレーションに必要な初期データを入力する部分である。初期データは、入力装置200を通じてユーザから直接与えられたり、記録装置400に記録されているデータファイル等から与えられる。シミュレーション対象に関する初期データの内訳としては、流体に関するデータと剛体に関するデータとに大別される。
【0017】
流体に関するデータは、仮想的な3次元のシミュレーション空間を一様な微小領域に分割する格子(以下、「(流体の)シミュレーション格子」)において、流体の解析的特性を示すデータであり、流体の速度、圧力、VOF(Volume Of Fluid)値、および剛体周囲における流体の速度(流体−剛体境界速度)等である。これらのうち、流体の速度、圧力、VOF値について初期データが与えられる。
【0018】
剛体に関するデータとしては、まずその形状データがある。ここでいう形状データとは、剛体の3次元的な形状を複数の多面体(ポリゴン)の組み合わせにより近似表現したものであって、ポリゴン頂点の座標データや、ベクトルデータ等を含む。形状データは公知の3次元モデリングツール等のソフトウェアにより作成することができる。
【0019】
また、シミュレーション格子において、上述した流体のVOF値と同列に扱うことのできる、剛体についての解析的特性を示す値の一つとして、VOS(Volume Of Solid)値を用いる。このVOS値は、流体のシミュレーション格子と同じ大きさの格子を用いて剛体を近似した値に相当する。シミュレーション格子において、流体をVOF値により表現し、剛体についてはこれをVOS値により表現することによって、流体と剛体との相互作用を、両者間の整合性を損なうことなく適切に計算することができる。なお、剛体のシミュレーションについては、VOS値よりも高精度なポリゴンデータを用いて衝突処理等をする。
【0020】
また、剛体に関する他のデータとして、剛体の位置、姿勢(回転)、速度、角速度や、流体から剛体に作用する外力としての並進力およびトルク、ならびに流体からの外力以外の他の外力等がある。これら剛体に関するデータのうち、剛体の位置、姿勢、速度、および角速度について初期データが与えられる。
【0021】
VOS値データ変換部2は、初期データ入力部1に入力された剛体の形状データ(ポリゴンデータ)をVOS値に変換する。マッピング部3は、VOS値データ変換部2により得られた剛体のVOS値を、その位置と姿勢を考慮して流体シミュレーション格子にマッピングする。
【0022】
本実施形態は、相互作用する流体及び剛体のそれぞれの挙動を、時刻tから微小時間Δt経過後の状態を求める以下の計算を繰り返し行うことによりシミュレートする構成である。
【0023】
まず流体速度−VOF値計算部4は、時刻tにおける流体の速度、圧力、VOF値、および剛体境界速度から、微小時間Δt後の時刻t+Δtにおける流体の速度およびVOF値を計算する。
【0024】
一方、時刻tにおける流体の圧力に基づいて、同時刻tに流体から剛体に作用する外力としての並進力およびトルクを流体外力計算部5が計算する。この計算された剛体の並進力およびトルクと、同時刻tに剛体に作用する流体以外の他の外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度から、剛体シミュレーション部6は、微小時間Δt後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を、他の剛体との衝突を考慮しながら計算する。
【0025】
ここで上記マッピング部3は、剛体シミュレーション部6により計算された時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度に基づいて、流体シミュレーション格子上における剛体のVOS値をマッピングし直す(マッピングの更新)。そして流体−剛体境界速度設定部7は、VOS値のマッピングが更新された流体シミュレーション格子上で同時刻t+Δtにおける剛体の速度を参照すると共に、これと同じ値を時刻t+Δtにおける流体の剛体境界速度に設定する。
【0026】
流体圧力計算部8は、時刻t+Δtにおける流体の速度、VOF値、および剛体境界速度から、時刻t+Δtにおける流体の圧力を計算する。
【0027】
以下、本実施形態に係る流体と剛体の連携シミュレーションの詳細な処理手順を図3のフローチャートを参照しながら説明する。
【0028】
初期条件として、流体の速度、圧力、VOF値の初期データが初期データ入力部1に入力される(ステップS1)。また、剛体のポリゴンデータ(形状データ)ならびにその位置、姿勢、速度、および角速度の初期データについても初期データ入力部1に入力される(ステップS2,3)。
【0029】
次に、VOS値データ変換部2により、剛体のポリゴンデータがVOS値に変換される(ステップS4)。図4は、剛体の全部を含み、かつその周囲を取り囲むよう配置された局所的な格子を示す図である。この図4に示す格子(の一つ)は、上述したように流体のシミュレーション格子(の一つ)と同じ大きさを有する。ここで、本実施形態のVOS値データ変換部2は、各格子の空間上の位置に対応する剛体部分が同格子内に占める体積の割合をVOS値として計算する。この計算されたVOS値は、各格子の中心において値を持つ。VOS値が存在しない格子(点)について、そのVOS値を、他の格子(点)のVOS値を用いる高次関数(例えば3次関数)による補間に基づいて計算してもよい。
【0030】
VOS値データ変換部2により求められたVOS値は、マッピング部3により流体のシミュレーション格子(配列)上にマッピングされる(ステップS5)。このとき、マッピング部3は、図5に示すようにその時点での剛体の位置および姿勢を考慮してマッピングを行う。尚、図5においてシミュレーション格子上に記されたハッチングは、VOS値に対応している。
【0031】
ここで、ステップS5でVOS値のマッピングを行った流体シミュレーション格子において、流体と剛体とが接する境界の流体速度が、剛体の速度および角速度の初期値に基づいて設定される。この流体の速度を、本明細書では「剛体境界速度」という。なお、時刻tが初期時刻とは異なる(t≠0)場合は、後述のステップS10において剛体境界速度は計算、設定される。
【0032】
次に、時刻t(初期時刻なら時刻t=0)における流体の速度、圧力、VOF値、および剛体境界速度に基づき、同時刻tから微小時間Δt経過後の時刻t+Δtにおける流体の速度、およびVOF値が流体速度−VOF値計算部4により計算される(ステップS6)。ここで、流体速度−VOF値計算部4は、例えば公知のVOF法(Variable-Density Model)およびCIP法を利用して計算を行う。VOF法の詳細については例えば文献1(C.W.Hirt and B.D.Nichols. Volume of Fluid (VOF) Method for the Dynamics of Free Boundaries. Journal of Computational Physics, 39. pp.201-225, (1981).)に記載されている。また、CIP法の詳細については例えば文献2(T.Yabe. Unified Solver CIP for Solid, Liquid and Gas. Computational Fluid Dynamics Review (1997).)に記載されている。
【0033】
次に、時刻tにおいて流体から剛体の全体に作用する圧力をVOS値をマッピングしたシミュレーション格子を参照して求める。この時刻tにおける圧力は、同時刻tにおける剛体の位置、姿勢と、先に述べた剛体境界速度とを考慮し、剛体と流体との境界部分における流体の圧力ベクトルの総和として計算される。この計算された圧力に基づいて、同時刻tに流体から剛体に作用する外力としての並進力およびトルクが流体外力計算部5により計算される(ステップS7)。図6は、剛体に作用する力の様子を示す図である。同図において、矢印npは流体からの圧力、矢印Fcは並進力、矢印Tcはトルクを示している。なお、同図には流体以外からの外力(例えば大気圧)についても示されている。
【0034】
次に、時刻tにおける剛体の位置、姿勢、速度、角速度、並進力、トルク、および流体以外の外力に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度が剛体シミュレーション部6により計算される(ステップS8)。ここでの計算は剛体のみについてのシミュレーション計算であり、上述のようにVOS値ではなく高精度なポリゴンデータが用いられる。剛体シミュレーションの詳細については、例えば文献3(D.Baraff and A.Witkin. Physically based modeling: principles and practice. SIGGRAPH 1997 Course Note (1997).)に記載されている。
【0035】
この剛体シミュレーション時には、時刻tから時刻t+Δtまでの間に剛体同士の衝突が生じているか否かを判定する衝突判定処理を併用することが好ましい。剛体同士に衝突が生じると判定された場合は、これらが互いにめり込まないように反発力を計算して作用させる。なお、剛体同士の衝突判定には、再接近フィーチャーアルゴリズムを利用でき、この手法は、例えば文献4(M.C.Lin and J.Canny. A fast algorithm for incremental distance calculation. International Conference on Robotics and Automation, pp.1008-1014, (1991).)に記載されている。また、剛体同士の反発力の計算には撃力ベースの手法を利用することができ、この手法は例えば文献5(B. Mirtich. Impulse-base Dynamic Simulation of Rigid Body Systems, Ph.D. thesis, University of California, Berkeley, (1996).)に記載されている。
【0036】
次に、ステップS8において計算された時刻t+Δtにおける剛体の位置および姿勢に基づいて、マッピング部3は、剛体の形状を表すVOS値を、再度、流体シミュレーション格子配列にマッピングする(ステップS9)。つまり、微小時間経過後の剛体の状態を流体シミュレーション格子に反映させるのである。ここで、更新された流体シミュレーション格子のVOS値に基づき、流体−剛体境界速度設定部7は、流体と剛体とが接する境界における流体の速度(剛体境界速度)を設定する(ステップS10)。すなわち、VOS値のマッピングが更新された流体シミュレーション格子配列上での時刻t+Δtにおける剛体の速度を参照すると共に、これと同じ値を時刻t+Δtにおける流体の剛体境界速度に設定する。
【0037】
そして、時刻t+Δtにおける流体の速度、VOF値、および剛体境界速度に基づき、流体圧力計算部8は、時刻t+Δtにおける流体の圧力を上述のVOF法およびCIP法を利用して計算する(ステップS11)。
【0038】
以上の計算により微小時間経過後の時刻t+Δtにおける流体、剛体の状態がそれぞれ得られることになる。このような計算を、時刻tを更新しつつ、その値が所望の時刻に到達するまで繰り返す。所定の時刻に到達したら、公知のレンダリング処理等を行って、最終的な表示画像を生成し、表示装置300に出力する。これにより所望の時刻についてのシーンを得ることができる。なお、各時刻のシーンを動画フレームとし、これらを所定のフレームレートで表示すれば、CGアニメーションを作成できる。表示装置300における画像の表示例を図7(a)および(b)に示す。
【0039】
従来、度重なる試行錯誤を経てシーンを作成するCG分野において、複雑な挙動をする流体中に剛体が存在するシーンを容易に作成するのは困難とされてきた。しかしながら、本発明によれば、かかる問題を解決できる。すなわち、まず流体の挙動については、剛体からの相互作用を、流体シミュレーション格子をベースに剛体の近似的な形状データの意味を持つVOS値を用いて計算するようにしているため、計算量が増大することがない。また、剛体シミュレーション結果により得られた剛体の速度値を、その周囲の流体の速度(剛体境界速度)に設定することは、厳密さの面において若干不利であるものの、計算量の削減に多いに寄与する。
【0040】
一方、流体中での剛体の挙動については、剛体自体のシミュレーションをポリゴンデータを用いて行うこととしている。したがって、視覚的に自然で現実感のあるシーンの作成が可能になる。
【0041】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0042】
【発明の効果】
以上説明したように、本発明によれば、計算量が少なく汎用性があり、しかも、流体と剛体との力の相互作用を考慮した現実感のあるシーンの作成を可能にする流体と剛体のシミュレーション装置、方法、およびプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る画像処理システムの概略構成を示すブロック図
【図2】同実施形態に係る流体と剛体の連携シミュレーション装置の概略構成を示すブロック図
【図3】同実施形態に係る流体と剛体の連携シミュレーションの詳細な処理手順を示すフローチャート
【図4】剛体の周囲を取り囲む局所的なシミュレーション格子の一例を示す図
【図5】剛体の位置および姿勢を考慮した流体シミュレーション格子へのマッピングの様子を説明するための図
【図6】剛体に作用する力の様子を示す図
【図7】本発明の一実施形態に係る画像処理システムによる画像出力例を示す図
【符号の説明】
1…初期データ入力部
2…VOS値データ変換部
3…マッピング部
4…流体速度−VOF値計算部
5…流体外力計算部
6…剛体シミュレーション部
7…流体−剛体境界速度設定部
8…流体圧力計算部
100…演算装置
200…入力装置
300…表示装置
400…記録装置
【発明の属する技術分野】
本発明は3次元コンピュータグラフィックス(CG)分野に好適であり、相互作用する流体と剛体の挙動をシミュレーションする流体と剛体の連携シミュレーション装置、方法、およびプログラムに関する。
【0002】
【従来の技術】
とりわけエンジニアリングの分野において、流体と剛体との間に働く力の相互作用についてのシミュレーションは重要とされ、ALE(Arbitrary Lagrangian Eulerian)法やスライディング・メッシュ(Sliding mesh)法などが知られている。ALE法は、主に振動する物体からの影響についての流体解析に用いられ、また、スライディング・メッシュ法は、主に回転する物体からの影響についての流体解析に用いられている。
【0003】
これらシミュレーション計算法は、いずれも剛体形状に合わせてシミュレーション領域を非構造格子に分割して計算を行うものであり、エンジニアリング利用に耐える緻密なシミュレーションが行えるものの、計算負荷が高いことから、必ずしも計算機資源が豊富でない非エンジニアリング分野の利用には不向きである。
【0004】
一方、CG分野においては、フォスター(Foster)とフェドキウ(Fedkiw)らがレベルセット(Level Set)法とパーティクル(粒子)法を組み合わせた流体シミュレーション手法を提案している。この手法は、移動する物体からの影響を流体に与える計算を行うものであり、流体が波立つようなシーンの作成が可能である。しかしながら、この手法は剛体と流体との相互作用に関する計算が一方的である。たとえば、剛体の動きによる影響を流体に与えることはできるが、その逆に、流体の動きからの影響を剛体に与えることができない。したがって、流体の挙動(例えば勢いのある水の流れ)に従い剛体が力を受けて回転する様子などといったシーンの作成が困難である。また、複雑に流体の動きが変化するような状況への適用も困難であり、現実感を伴うシーンを容易に作成できないという問題点がある。
【0005】
【発明が解決しようとする課題】
したがって、本発明は、従来、エンジニアリング分野にて用いられている非構造格子による手法等に比して計算量が少なく汎用性があり、しかも、流体と剛体との力の相互作用を考慮した現実感のあるシーンの作成を可能にする流体と剛体のシミュレーション装置、方法、およびプログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0007】
本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション装置であって、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションする剛体シミュレーション手段と、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段と、前記速度設定手段により設定された速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションする流体シミュレーション手段と、を具備することを特徴とする流体と剛体の連携シミュレーション装置である。
【0008】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション装置であって、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段と、前記VOS値を流体シミュレーション格子にマッピングするマッピング手段と、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段と、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段と、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段と、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段と、時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段と、を具備することを特徴とする流体と剛体の連携シミュレーション装置である。
【0009】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション方法であって、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションするステップと、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定するステップと、設定された前記剛体周囲における流体の速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションするステップと、を具備することを特徴とする流体と剛体の連携シミュレーション方法である。
【0010】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするシミュレーション方法であって、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換するステップと、前記VOS値を流体シミュレーション格子にマッピングするステップと、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算するステップと、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算するステップと、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定するステップと、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算するステップと、時刻t+Δtにおける流体の速度、VOF値、および同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算するステップと、を具備することを特徴とする流体と剛体の連携シミュレーション方法である。
【0011】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするプログラムであって、コンピュータを、ある時刻に流体から剛体に作用する力を考慮して、前記ある時刻から所定時間経過後の剛体の挙動をシミュレーションする剛体シミュレーション手段、前記所定時間経過後における剛体の挙動に基づく速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段、前記速度設定手段により設定された速度を考慮して、前記所定時間経過後の流体の挙動をシミュレーションする流体シミュレーション手段、として機能させるための流体と剛体の連携シミュレーションプログラムである。
【0012】
また本発明は、相互作用する流体と剛体の挙動をシミュレーションするプログラムであって、コンピュータを、前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段、前記VOS値を流体シミュレーション格子にマッピングするマッピング手段、時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段、前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段、前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段、前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段、時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段、として機能させるための剛体と流体の連携シミュレーションプログラムである。
【0013】
【発明の実施の形態】
図1は本発明の一実施形態に係る画像処理システムの概略構成を示すブロック図である。本実施形態は、例えばパーソナルコンピュータ(PC)やエンジニアリング用ワークステーションなど、一般的なコンピュータを用いて実現することができる。その概略構成としては、例えば図1に示すように、演算装置100、入力装置200、表示装置300、および記録装置400を具備して成る。演算装置100は、図示しないがCPU、メモリ、システムバス等の基本的なコンピュータ・ハードウェア構成を有する。本発明に係る流体と剛体の連携シミュレーションは、例えばコンピュータプログラムとして実施される。同プログラムは記録装置400から読み出されてメモリにストアされ、CPUにより実行される。尚、本発明に係る流体と剛体の連携シミュレーションを、コンピュータプログラムではなくハードウェア回路そのものとして実施することもできる。
【0014】
入力装置200は、キーボードやポインティングデバイス等である。ユーザは入力装置200を用いて、シミュレーションに必要な各種データを入力したり、シミュレーション処理の実行開始を命ずるコマンド等を演算装置100に与えることができる。表示装置300は、CRTや液晶等の表示装置であり、演算装置100によるシミュレーションの結果として生成されたシーンの画像を表示する。このような画像はコンピュータグラフィックス(CG)と称される。記録装置400は、ハードディスク装置や光磁気ディスク装置(MO)等からなり、流体と剛体の連携シミュレーションに係るプログラムの実行形式データ、同シミュレーションに用いられる初期データや形状データ、またはシミュレーション結果の画像データ等を記録する。本実施形態に係る画像処理システムに、さらにプリンタ等の周辺機器を接続してもよい。
【0015】
図2は、本実施形態に係る流体と剛体の連携シミュレーション装置の概略構成を示すブロック図である。同図に示すように、初期データ入力部1、VOS値データ変換部2、マッピング部3、流体速度−VOF値計算部4、流体外力計算部5、剛体シミュレーション部6、流体−剛体境界速度設定部7、および流体圧力計算部8から構成されている。
【0016】
初期データ入力部1は、流体と剛体の連携シミュレーションに必要な初期データを入力する部分である。初期データは、入力装置200を通じてユーザから直接与えられたり、記録装置400に記録されているデータファイル等から与えられる。シミュレーション対象に関する初期データの内訳としては、流体に関するデータと剛体に関するデータとに大別される。
【0017】
流体に関するデータは、仮想的な3次元のシミュレーション空間を一様な微小領域に分割する格子(以下、「(流体の)シミュレーション格子」)において、流体の解析的特性を示すデータであり、流体の速度、圧力、VOF(Volume Of Fluid)値、および剛体周囲における流体の速度(流体−剛体境界速度)等である。これらのうち、流体の速度、圧力、VOF値について初期データが与えられる。
【0018】
剛体に関するデータとしては、まずその形状データがある。ここでいう形状データとは、剛体の3次元的な形状を複数の多面体(ポリゴン)の組み合わせにより近似表現したものであって、ポリゴン頂点の座標データや、ベクトルデータ等を含む。形状データは公知の3次元モデリングツール等のソフトウェアにより作成することができる。
【0019】
また、シミュレーション格子において、上述した流体のVOF値と同列に扱うことのできる、剛体についての解析的特性を示す値の一つとして、VOS(Volume Of Solid)値を用いる。このVOS値は、流体のシミュレーション格子と同じ大きさの格子を用いて剛体を近似した値に相当する。シミュレーション格子において、流体をVOF値により表現し、剛体についてはこれをVOS値により表現することによって、流体と剛体との相互作用を、両者間の整合性を損なうことなく適切に計算することができる。なお、剛体のシミュレーションについては、VOS値よりも高精度なポリゴンデータを用いて衝突処理等をする。
【0020】
また、剛体に関する他のデータとして、剛体の位置、姿勢(回転)、速度、角速度や、流体から剛体に作用する外力としての並進力およびトルク、ならびに流体からの外力以外の他の外力等がある。これら剛体に関するデータのうち、剛体の位置、姿勢、速度、および角速度について初期データが与えられる。
【0021】
VOS値データ変換部2は、初期データ入力部1に入力された剛体の形状データ(ポリゴンデータ)をVOS値に変換する。マッピング部3は、VOS値データ変換部2により得られた剛体のVOS値を、その位置と姿勢を考慮して流体シミュレーション格子にマッピングする。
【0022】
本実施形態は、相互作用する流体及び剛体のそれぞれの挙動を、時刻tから微小時間Δt経過後の状態を求める以下の計算を繰り返し行うことによりシミュレートする構成である。
【0023】
まず流体速度−VOF値計算部4は、時刻tにおける流体の速度、圧力、VOF値、および剛体境界速度から、微小時間Δt後の時刻t+Δtにおける流体の速度およびVOF値を計算する。
【0024】
一方、時刻tにおける流体の圧力に基づいて、同時刻tに流体から剛体に作用する外力としての並進力およびトルクを流体外力計算部5が計算する。この計算された剛体の並進力およびトルクと、同時刻tに剛体に作用する流体以外の他の外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度から、剛体シミュレーション部6は、微小時間Δt後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を、他の剛体との衝突を考慮しながら計算する。
【0025】
ここで上記マッピング部3は、剛体シミュレーション部6により計算された時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度に基づいて、流体シミュレーション格子上における剛体のVOS値をマッピングし直す(マッピングの更新)。そして流体−剛体境界速度設定部7は、VOS値のマッピングが更新された流体シミュレーション格子上で同時刻t+Δtにおける剛体の速度を参照すると共に、これと同じ値を時刻t+Δtにおける流体の剛体境界速度に設定する。
【0026】
流体圧力計算部8は、時刻t+Δtにおける流体の速度、VOF値、および剛体境界速度から、時刻t+Δtにおける流体の圧力を計算する。
【0027】
以下、本実施形態に係る流体と剛体の連携シミュレーションの詳細な処理手順を図3のフローチャートを参照しながら説明する。
【0028】
初期条件として、流体の速度、圧力、VOF値の初期データが初期データ入力部1に入力される(ステップS1)。また、剛体のポリゴンデータ(形状データ)ならびにその位置、姿勢、速度、および角速度の初期データについても初期データ入力部1に入力される(ステップS2,3)。
【0029】
次に、VOS値データ変換部2により、剛体のポリゴンデータがVOS値に変換される(ステップS4)。図4は、剛体の全部を含み、かつその周囲を取り囲むよう配置された局所的な格子を示す図である。この図4に示す格子(の一つ)は、上述したように流体のシミュレーション格子(の一つ)と同じ大きさを有する。ここで、本実施形態のVOS値データ変換部2は、各格子の空間上の位置に対応する剛体部分が同格子内に占める体積の割合をVOS値として計算する。この計算されたVOS値は、各格子の中心において値を持つ。VOS値が存在しない格子(点)について、そのVOS値を、他の格子(点)のVOS値を用いる高次関数(例えば3次関数)による補間に基づいて計算してもよい。
【0030】
VOS値データ変換部2により求められたVOS値は、マッピング部3により流体のシミュレーション格子(配列)上にマッピングされる(ステップS5)。このとき、マッピング部3は、図5に示すようにその時点での剛体の位置および姿勢を考慮してマッピングを行う。尚、図5においてシミュレーション格子上に記されたハッチングは、VOS値に対応している。
【0031】
ここで、ステップS5でVOS値のマッピングを行った流体シミュレーション格子において、流体と剛体とが接する境界の流体速度が、剛体の速度および角速度の初期値に基づいて設定される。この流体の速度を、本明細書では「剛体境界速度」という。なお、時刻tが初期時刻とは異なる(t≠0)場合は、後述のステップS10において剛体境界速度は計算、設定される。
【0032】
次に、時刻t(初期時刻なら時刻t=0)における流体の速度、圧力、VOF値、および剛体境界速度に基づき、同時刻tから微小時間Δt経過後の時刻t+Δtにおける流体の速度、およびVOF値が流体速度−VOF値計算部4により計算される(ステップS6)。ここで、流体速度−VOF値計算部4は、例えば公知のVOF法(Variable-Density Model)およびCIP法を利用して計算を行う。VOF法の詳細については例えば文献1(C.W.Hirt and B.D.Nichols. Volume of Fluid (VOF) Method for the Dynamics of Free Boundaries. Journal of Computational Physics, 39. pp.201-225, (1981).)に記載されている。また、CIP法の詳細については例えば文献2(T.Yabe. Unified Solver CIP for Solid, Liquid and Gas. Computational Fluid Dynamics Review (1997).)に記載されている。
【0033】
次に、時刻tにおいて流体から剛体の全体に作用する圧力をVOS値をマッピングしたシミュレーション格子を参照して求める。この時刻tにおける圧力は、同時刻tにおける剛体の位置、姿勢と、先に述べた剛体境界速度とを考慮し、剛体と流体との境界部分における流体の圧力ベクトルの総和として計算される。この計算された圧力に基づいて、同時刻tに流体から剛体に作用する外力としての並進力およびトルクが流体外力計算部5により計算される(ステップS7)。図6は、剛体に作用する力の様子を示す図である。同図において、矢印npは流体からの圧力、矢印Fcは並進力、矢印Tcはトルクを示している。なお、同図には流体以外からの外力(例えば大気圧)についても示されている。
【0034】
次に、時刻tにおける剛体の位置、姿勢、速度、角速度、並進力、トルク、および流体以外の外力に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度が剛体シミュレーション部6により計算される(ステップS8)。ここでの計算は剛体のみについてのシミュレーション計算であり、上述のようにVOS値ではなく高精度なポリゴンデータが用いられる。剛体シミュレーションの詳細については、例えば文献3(D.Baraff and A.Witkin. Physically based modeling: principles and practice. SIGGRAPH 1997 Course Note (1997).)に記載されている。
【0035】
この剛体シミュレーション時には、時刻tから時刻t+Δtまでの間に剛体同士の衝突が生じているか否かを判定する衝突判定処理を併用することが好ましい。剛体同士に衝突が生じると判定された場合は、これらが互いにめり込まないように反発力を計算して作用させる。なお、剛体同士の衝突判定には、再接近フィーチャーアルゴリズムを利用でき、この手法は、例えば文献4(M.C.Lin and J.Canny. A fast algorithm for incremental distance calculation. International Conference on Robotics and Automation, pp.1008-1014, (1991).)に記載されている。また、剛体同士の反発力の計算には撃力ベースの手法を利用することができ、この手法は例えば文献5(B. Mirtich. Impulse-base Dynamic Simulation of Rigid Body Systems, Ph.D. thesis, University of California, Berkeley, (1996).)に記載されている。
【0036】
次に、ステップS8において計算された時刻t+Δtにおける剛体の位置および姿勢に基づいて、マッピング部3は、剛体の形状を表すVOS値を、再度、流体シミュレーション格子配列にマッピングする(ステップS9)。つまり、微小時間経過後の剛体の状態を流体シミュレーション格子に反映させるのである。ここで、更新された流体シミュレーション格子のVOS値に基づき、流体−剛体境界速度設定部7は、流体と剛体とが接する境界における流体の速度(剛体境界速度)を設定する(ステップS10)。すなわち、VOS値のマッピングが更新された流体シミュレーション格子配列上での時刻t+Δtにおける剛体の速度を参照すると共に、これと同じ値を時刻t+Δtにおける流体の剛体境界速度に設定する。
【0037】
そして、時刻t+Δtにおける流体の速度、VOF値、および剛体境界速度に基づき、流体圧力計算部8は、時刻t+Δtにおける流体の圧力を上述のVOF法およびCIP法を利用して計算する(ステップS11)。
【0038】
以上の計算により微小時間経過後の時刻t+Δtにおける流体、剛体の状態がそれぞれ得られることになる。このような計算を、時刻tを更新しつつ、その値が所望の時刻に到達するまで繰り返す。所定の時刻に到達したら、公知のレンダリング処理等を行って、最終的な表示画像を生成し、表示装置300に出力する。これにより所望の時刻についてのシーンを得ることができる。なお、各時刻のシーンを動画フレームとし、これらを所定のフレームレートで表示すれば、CGアニメーションを作成できる。表示装置300における画像の表示例を図7(a)および(b)に示す。
【0039】
従来、度重なる試行錯誤を経てシーンを作成するCG分野において、複雑な挙動をする流体中に剛体が存在するシーンを容易に作成するのは困難とされてきた。しかしながら、本発明によれば、かかる問題を解決できる。すなわち、まず流体の挙動については、剛体からの相互作用を、流体シミュレーション格子をベースに剛体の近似的な形状データの意味を持つVOS値を用いて計算するようにしているため、計算量が増大することがない。また、剛体シミュレーション結果により得られた剛体の速度値を、その周囲の流体の速度(剛体境界速度)に設定することは、厳密さの面において若干不利であるものの、計算量の削減に多いに寄与する。
【0040】
一方、流体中での剛体の挙動については、剛体自体のシミュレーションをポリゴンデータを用いて行うこととしている。したがって、視覚的に自然で現実感のあるシーンの作成が可能になる。
【0041】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0042】
【発明の効果】
以上説明したように、本発明によれば、計算量が少なく汎用性があり、しかも、流体と剛体との力の相互作用を考慮した現実感のあるシーンの作成を可能にする流体と剛体のシミュレーション装置、方法、およびプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る画像処理システムの概略構成を示すブロック図
【図2】同実施形態に係る流体と剛体の連携シミュレーション装置の概略構成を示すブロック図
【図3】同実施形態に係る流体と剛体の連携シミュレーションの詳細な処理手順を示すフローチャート
【図4】剛体の周囲を取り囲む局所的なシミュレーション格子の一例を示す図
【図5】剛体の位置および姿勢を考慮した流体シミュレーション格子へのマッピングの様子を説明するための図
【図6】剛体に作用する力の様子を示す図
【図7】本発明の一実施形態に係る画像処理システムによる画像出力例を示す図
【符号の説明】
1…初期データ入力部
2…VOS値データ変換部
3…マッピング部
4…流体速度−VOF値計算部
5…流体外力計算部
6…剛体シミュレーション部
7…流体−剛体境界速度設定部
8…流体圧力計算部
100…演算装置
200…入力装置
300…表示装置
400…記録装置
Claims (2)
- 相互作用する流体と剛体の挙動をシミュレーションするシミュレーション装置であって、
前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段と、
前記VOS値を流体シミュレーション格子にマッピングするマッピング手段と、
時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段と、
前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段と、
前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段と、
前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段と、
時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段と、を具備することを特徴とする流体と剛体の連携シミュレーション装置。 - 相互作用する流体と剛体の挙動をシミュレーションするプログラムであって、
コンピュータを、
前記剛体の形状データ値をVOS(Volume Of Solid)値に変換する変換手段、
前記VOS値を流体シミュレーション格子にマッピングするマッピング手段、
時刻tにおける流体の圧力から、同時刻tに剛体に作用する並進力及びトルクを計算する外力計算手段、
前記並進力及びトルク、および同時刻tに剛体に作用する流体以外からの外力、ならびに同時刻tにおける剛体の位置、姿勢、速度、および角速度に基づいて、同時刻tから微小時間経過後の時刻t+Δtにおける剛体の位置、姿勢、速度、および角速度を計算する剛体シミュレーション手段、
前記時刻t+Δtにおける剛体の速度と同じ値を、剛体周囲における流体の速度として設定する速度設定手段、
前記時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値、および前記剛体周囲における流体の速度に基づいて、前記時刻t+Δtにおける流体の速度およびVOF値を計算する第1の流体シミュレーション手段、
時刻t+Δtにおける流体の速度、VOF値、および前記速度設定手段により設定された同時刻t+Δtにおける前記剛体周囲における流体の速度に基づいて、同時刻t+Δtにおける流体の圧力を計算する第2の流体シミュレーション計算手段、として機能させるための剛体と流体の連携シミュレーションプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002179420A JP3851848B2 (ja) | 2002-06-20 | 2002-06-20 | 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム |
US10/462,760 US20040012585A1 (en) | 2002-06-20 | 2003-06-17 | Simulation apparatus for simulating interacting movements of fluid and solid |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002179420A JP3851848B2 (ja) | 2002-06-20 | 2002-06-20 | 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004021883A JP2004021883A (ja) | 2004-01-22 |
JP3851848B2 true JP3851848B2 (ja) | 2006-11-29 |
Family
ID=30437011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002179420A Expired - Fee Related JP3851848B2 (ja) | 2002-06-20 | 2002-06-20 | 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040012585A1 (ja) |
JP (1) | JP3851848B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572609B2 (en) | 2014-11-13 | 2020-02-25 | Samsung Electronics Co., Ltd. | Method and apparatus to model objects including particles |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100924123B1 (ko) | 2007-12-15 | 2009-10-29 | 한국전자통신연구원 | 강체 시뮬레이션 시스템 및 방법 |
WO2011025591A1 (en) * | 2009-08-31 | 2011-03-03 | Exxonmobil Upstream Research Company | Artificial lift modeling methods and systems |
CA2775897C (en) * | 2009-10-08 | 2016-10-11 | Hatch Ltd. | Flash tube and flash vessel configuration for pressure letdown |
US20130246008A1 (en) * | 2012-03-15 | 2013-09-19 | Chao-Hsin Lin | Cabin airflow modeling |
GB201217840D0 (en) * | 2012-08-13 | 2012-11-14 | Airbus Operations Ltd | System and method for computing design parameters for a thermally comfortable environment |
US9811941B1 (en) * | 2013-03-13 | 2017-11-07 | Lucasfilm Entertainment Company Ltd. | High resolution simulation of liquids |
GB2514147A (en) * | 2013-05-15 | 2014-11-19 | Daimler Ag | Method for determining the life of a component subjected to fluid loading |
ES2640378T3 (es) | 2014-11-17 | 2017-11-02 | Repsol, S.A. | Método para gestionar la producción de un yacimiento petroquímico y producto de programa para el mismo |
JP6361547B2 (ja) * | 2015-03-25 | 2018-07-25 | トヨタ自動車株式会社 | 粒子モデルおよびメッシュモデル間のデータ引き継ぎ方法 |
US11893329B1 (en) * | 2019-12-24 | 2024-02-06 | Triad National Security, Llc | Fluid-structure interaction solver for transient dynamics of fracturing media |
CN114492249B (zh) * | 2022-04-02 | 2022-07-05 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种非结构网格的生成方法、系统、客户端及服务器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08257741A (ja) * | 1995-03-24 | 1996-10-08 | Hitachi Metals Ltd | 数値解析を利用した鋳造欠陥の予測方法 |
JP3963334B2 (ja) * | 1997-10-14 | 2007-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッシング方法及び装置 |
FR2771202B1 (fr) * | 1997-11-19 | 2000-01-21 | Inst Nat Rech Inf Automat | Dispositif electronique de traitement de donnees-image, pour la simulation du comportement deformable d'un objet |
US6678642B1 (en) * | 1998-10-08 | 2004-01-13 | Sandia Corporation | Method of and apparatus for modeling interactions |
US6266071B1 (en) * | 1998-11-20 | 2001-07-24 | Silicon Graphics, Inc. | Method of producing fluid-like animations using a rapid and stable solver for the Navier-Stokes equations |
US6573897B1 (en) * | 2000-02-09 | 2003-06-03 | California Institute Of Technology | Real-time, interactive animation of deformable two- and three-dimensional objects |
FR2820534B1 (fr) * | 2001-02-08 | 2003-06-27 | Inst Nat Rech Inf Automat | Dispositif de simulation de deformations de materiaux, notamment de tissus corporels mous |
-
2002
- 2002-06-20 JP JP2002179420A patent/JP3851848B2/ja not_active Expired - Fee Related
-
2003
- 2003-06-17 US US10/462,760 patent/US20040012585A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572609B2 (en) | 2014-11-13 | 2020-02-25 | Samsung Electronics Co., Ltd. | Method and apparatus to model objects including particles |
Also Published As
Publication number | Publication date |
---|---|
JP2004021883A (ja) | 2004-01-22 |
US20040012585A1 (en) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200364388A1 (en) | Machine learning three-dimensional fluid flows for interactive aerodynamic design | |
Huang et al. | Real-time finite element structural analysis in augmented reality | |
US8063917B2 (en) | Image processing system and program | |
US11144679B2 (en) | Engraving a 2D image on a subdivision surface | |
US8749588B2 (en) | Positioning labels in an engineering drawing | |
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
JP3851848B2 (ja) | 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム | |
US11436800B2 (en) | Interactive system and method providing real-time virtual reality visualization of simulation data | |
Stanculescu et al. | Freestyle: Sculpting meshes with self-adaptive topology | |
US10210304B2 (en) | Method and system for designing an assembly of objects in a system of computer-aided design | |
KR20150073859A (ko) | Cad 기반 초기 표면 기하형상 정정 | |
JP4719155B2 (ja) | リグ・ベーキング | |
Mosegaard et al. | GPU accelerated surgical simulators for complex morphology | |
US8358311B1 (en) | Interpolation between model poses using inverse kinematics | |
JP3971085B2 (ja) | スウェプト容積モデル | |
WO2023171413A1 (ja) | シミュレータ、シミュレーションデータ生成方法及びシミュレータシステム | |
Qi et al. | Divided Voxels: an efficient algorithm for interactive cutting of deformable objects | |
US11475184B1 (en) | Real-time finite element method solving for contact on cartesian grids with level-set geometry description | |
JP5449851B2 (ja) | 配置計画支援装置 | |
Savchenko et al. | Feature based sculpting of functionally defined 3D geometric objects | |
Tse et al. | A smoothed particle hydrodynamics algorithm for haptic rendering of dental filling materials | |
Hou et al. | A prediction method using interpolation for smooth six-DOF haptic rendering in multirate simulation | |
JP2007079756A (ja) | 情報提示装置及び情報提示方法、並びにコンピュータ・プログラム | |
Wang et al. | An improved CPU–GPU parallel framework for real-time interactive cutting simulation of deformable objects | |
JP4361878B2 (ja) | 統計力学的モデリングの方法と装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060731 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060904 |
|
LAPS | Cancellation because of no payment of annual fees |