JP6808195B2 - 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法 - Google Patents

流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法 Download PDF

Info

Publication number
JP6808195B2
JP6808195B2 JP2017088554A JP2017088554A JP6808195B2 JP 6808195 B2 JP6808195 B2 JP 6808195B2 JP 2017088554 A JP2017088554 A JP 2017088554A JP 2017088554 A JP2017088554 A JP 2017088554A JP 6808195 B2 JP6808195 B2 JP 6808195B2
Authority
JP
Japan
Prior art keywords
particle
particles
viscosity coefficient
determined
child
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.)
Active
Application number
JP2017088554A
Other languages
English (en)
Other versions
JP2018185743A (ja
Inventor
正喜 風間
正喜 風間
多聞 諏訪
多聞 諏訪
前田 安郭
安郭 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017088554A priority Critical patent/JP6808195B2/ja
Publication of JP2018185743A publication Critical patent/JP2018185743A/ja
Application granted granted Critical
Publication of JP6808195B2 publication Critical patent/JP6808195B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、流体シミュレーションプログラムなどに関する。
流体や弾性体などの連続体を解く数値計算手法として、格子をベースにした微分方程式の近似解を求める有限差分法や有限要素法、有限体積法などが多く用いられてきた。近年では、数値計算をCAE(Computer Aided Engineering)などの応用分野で活用するため、これらの数値計算手法も発展し、流体と構造物とが相互作用する問題が解かれるようになってきた。しかしながら、有限要素法や有限差分法では、自由表面などの界面が存在する場合や、流体・構造連成問題などの移動境界が発生する場合には、取り扱いが複雑なため、プログラム作成が困難であることが多い。
これに対して、格子を用いない数値計算手法である粒子法では、移動境界の取り扱いに特別な処置を必要としない。したがって、近年、格子を用いない粒子法が広く用いられている(例えば、特許文献1〜3を参照)。なお、格子を用いない粒子法には、例えば、MPS(Moving Particle Semi-implicit)法やSPH(Smoothed Particle Hydrodynamics)法などが挙げられる。
ところで、鋳造、鍛造、接合などの金属加工では、液体金属の中に冷えて固化した金属が混在したり、成長したりする。また、固化の過程で体積が変化したりする。また、溶融金属の表面では、空気中の酸素との結合により酸化膜が生じる。このような液体から固体への変化である凝固現象の取り扱いや、固体と気体との界面である自由表面の取り扱いは非常に重要である。自由表面の取り扱いの容易さ、並列性能面や固体との連成計算の容易さなどの利点により、鋳造、鍛造シミュレーションでは、粒子法の活躍が期待される分野であると考えられる。なお、液体と気体との界面に形成される膜のことを酸化膜や凝固膜と称される。
ここで、鋳造過程の基本的なシミュレーション技術である、液体が冷えて固まる過程(固化過程)の計算手法には、Clearyの手法が知られている(例えば、非特許文献1を参照)。非特許文献1では、粒子法の1つであるSPH法を用いて、各液体粒子の内部エネルギーの時間発展を計算し、温度、密度、粘性係数を内部エネルギーの関数として計算する。すなわち、非特許文献1では、内部エネルギーの低下により温度が小さくなり液体が冷える効果を、以下のように表現する。内部エネルギー(もしくは温度)が低下すると、液体の粘性係数が大きくなることにより固化することを表現する。内部エネルギー(もしくは温度)が低下すると、液体の密度が大きくなることにより固化に伴う体積低下を表現する。
非特許文献1では、SPH法を用いて、流体の方程式を以下のように離散化している。
Figure 0006808195
Figure 0006808195
Figure 0006808195
Figure 0006808195
式(1)は、質量保存則を表す。式(2)は、運動量保存則を表す。式(3)は、状態方程式を表す。式(4)は、エネルギー保存則を表す。ここで、xは、粒子iの位置ベクトルである。vは、粒子iの速度ベクトルである。ρは、粒子iの密度である。mは、粒子iの質量である。pは、粒子iの圧力である。Uは、粒子iの内部エネルギーである。Tは、粒子iの温度である。xijは、粒子iと粒子jとの相対位置ベクトルであり、xij=x−xである。vijは、粒子iと粒子jとの相対速度ベクトルであり、vij=v−vである。kは、粒子iの熱伝導率である。μは、粒子iの粘性係数である。Pは、ρであり、cは音速である。ρs,iは、粒子iの基準密度で、ρ=ρs,iのとき、圧力が0になるような値である。Wは、カーネル関数(重み関数と呼ばれることもある)で、式(5)のスプライン関数がよく用いられている。
Figure 0006808195
ここで、hは、粒子間の影響半径で、初期状態の平均粒子間隔の2倍から3倍程度が良く用いられる。βは、カーネル関数の全空間積分量が1になるように調整された値であり、2次元の場合は0.7πh、3次元の場合はπhと決められる。
非特許文献1では、内部エネルギーUが低下し、温度Tが融点以下に下がった際に、粘性係数μが大きくなると定義することにより、式(2)の第3項の粒子同士の相対速度vijを打ち消す効果が大きくなり、粒子iが変形しにくくなることで固化を表現する。また、内部エネルギーUが低下し、温度Tが融点以下に下がった際に、基準密度ρs,iが大きくなるように定義することにより、圧力pが低下し、式(2)の第2項の圧力の効果により周りの粒子が集まることで固化に伴う収縮を表現する。
なお、式(1)〜式(4)を一般的な常微分方程式の数値解法である、オイラー法やリープフロッグ法などで時間発展を計算することで、シミュレーションが可能となる。
特開2010−108183号公報 特開2013−147002号公報 特開2014−104696号公報
Paul W. Cleary, "Extension of SPH to predict feeding freezing and defect creation in low pressure die casting", Applied Mathematical Modelling, 34(2010), pp.3189-3201.
ここで、液体金属の表面は、瞬時に酸素と反応して酸化膜(凝固膜)を形成する。形成される凝固膜は、0.1ミリメートル(mm)以下であり、非常に薄い。シミュレーションを行う装置が液体金属の固化過程を計算する際、かかる薄い凝固膜を凝固現象として取り扱い、従来の手法を用いて計算できる。しかしながら、表面の凝固膜の解析に非常に小さい粒子を用いる必要があるため、演算量および計算時間の効率が悪いという問題がある。また、シミュレーションを行う装置が液体金属の固化過程を計算する際、表面の凝固膜の解析に凝固膜を解像できない粒子を用いて計算できるが、正確にシミュレーションすることができないという問題がある。
ここで、表面の凝固膜を解像できない1mm径の粒子を用いて液体アルミニウムを注湯した場合の注湯結果を、図9を参照して説明する。図9は、表面の凝固膜を解像できない粒子を用いた液体アルミニウムの注湯結果を示す図である。図9に示すように、左図は、実際に水を注湯した場合のt1時点とt2時点の水の注湯の実験結果を表している。中図は、実際に液体アルミニウムを注湯した場合のt1時点とt2時点の液体アルミニウムの注湯の実験結果を表している。右図は、液体アルミニウムを注湯する場合のt1時点とt2時点の液体アルミニウムの注湯のシミュレーション結果を表している。なお、シミュレーションは、凝固膜を表現できない1mm径の粒子を用いたClearyの手法である。
図9右図に示すように、凝固膜を表現できない1mm径の粒子を用いて液体アルミニウムの注湯計算を行うと、液体の飛び跳ね方や波の進行速度について、実際に液体アルミニウムを注湯した場合と比べて大きな違いがでる。したがって、実際の実験結果とシミュレーション結果が合致しない。つまり、表面の凝固膜の解析に凝固膜を表現できない粒子を用いて計算すると、正確にシミュレーションすることができない。
本発明は、1つの側面では、液体金属の固化過程を計算する際に、凝固膜を表現できない粒子径であっても、正確なシミュレーションを可能にするとともに、シミュレーションの演算量および計算時間を効率化することを目的とする。
1つの態様では、流体シミュレーションプログラムは、コンピュータに、物性値の第1粘性係数から、物質が凝固する際の表面膜の第2粘性係数であって前記第1粘性係数より大きい値の第2粘性係数を算出し、特定の時間の複数の粒子データについて、各粒子データから、各粒子データの粒子が前記物質の内部にある粒子を示す内部粒子であるか、前記物質の表面にある粒子を示す表面粒子であるかを判定し、前記粒子データの粒子が前記内部粒子であると判定した場合には、前記第1粘性係数を適用し、前記粒子データの粒子が前記表面粒子であると判定した場合には、前記第2粘性係数を適用し、適用した粘性係数を用いて、前記複数の粒子データそれぞれの次の時間の位置データと密度データとを算出し、前記複数の粒子データについて、算出した位置データと密度データとを時間と対応づけて記憶部に格納する、処理を実行させる。
1実施態様によれば、液体金属の固化過程を計算する際に、凝固膜を表現できない粒子径であっても、正確なシミュレーションを可能にするとともに、シミュレーションの演算量および計算時間を効率化することができる。
図1は、実施例に係る流体シミュレーション装置の構成を示す機能ブロック図である。 図2は、表面粒子の粘性係数を説明する図である。 図3は、粒子の近傍を表す空間領域の分類を示す図である。 図4Aは、実施例に係る粒子判定の模式図(1)である。 図4Bは、実施例に係る粒子判定の模式図(2)である。 図5は、実施例に係る粒子判定処理のフローチャートの一例を示す図である。 図6は、実施例に係る流体シミュレーション処理のフローチャートの一例を示す図である。 図7は、実施例に係る流体シミュレーションを用いた液体アルミニウムの注湯結果を示す図である。 図8は、流体シミュレーションプログラムを実行するコンピュータの一例を示す図である。 図9は、表面の凝固膜を解像できない粒子を用いた液体アルミニウムの注湯結果を示す図である。
以下に、本願の開示する流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
図1は、実施例に係る流体シミュレーション装置の構成を示す機能ブロック図である。図1に示す流体シミュレーション装置1は、格子を用いない粒子法を用いて液体金属の流動をシミュレーションする。かかる流体シミュレーション装置1は、粒子法により液体が固体へ変化する固化過程を計算する計算手法に対して、液体表面にある粒子(「表面粒子」という)の粘性係数を大きくして計算する。なお、実施例では、粒子法の1つであるSPH法により液体が固体へ変換する固化過程を計算する計算手法としてClearyの手法を用いるものとする。また、ここでいう液体金属とは、例えば、液体アルミニウムであるが、これに限定されるものではない。
流体シミュレーション装置1は、制御部10と、記憶部20とを有する。
制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、シミュレーション受付部11と、粘性係数算出部12と、粒子判定部13と、演算部14と、出力部15とを有する。
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、物性値情報21と、逐次結果情報22とを有する。
物性値情報21は、シミュレーション対象を示す液体金属の物性値を示す情報である。物性値には、例えば、シミュレーション対象の液体金属について、基準密度、液体時および固体時のそれぞれの粘性係数、粒子径および表面凝固膜の大きさが挙げられる。粒子径は、粒子が球体である場合の直径である。粒子径は、一例として1mmであるが、これに限定されず、液体金属の種類によって異なる。表面凝固膜の大きさは、表面が冷えたり酸化したりして凝固する場合の凝固膜の大きさである。表面凝固膜の大きさは、一例として0.001mmであるが、0.01mmであっても0.1mmであっても良く、液体金属の種類によって異なる。
逐次結果情報22は、流体シミュレーションにおいて、粒子群の時間ステップごとのシミュレーション結果の情報である。シミュレーション結果には、例えば、粒子を識別する識別子に対して、時間ステップごとの速度、密度、位置が設定される。
シミュレーション受付部11は、流体シミュレーションの実行要求を受け付ける。例えば、シミュレーション受付部11は、各種の物性値を含む流体シミュレーションの実行要求を受け付ける。そして、シミュレーション受付部11は、実行要求に含まれた各種の物性値を物性値情報21に設定する。なお、各種の物性値は、あらかじめ物性値情報21に設定されていても良い。
粘性係数算出部12は、物性値の1つである粘性係数から対象の液体金属の表面にある粒子の粘性係数を算出する。例えば、粘性係数算出部12は、物性値情報21から、液体時および固体時のそれぞれの粘性係数、粒子径および表面凝固膜の大きさを取得する。粘性係数算出部12は、粒子が内部粒子である場合の粘性係数を液体時の粘性係数とする。ここでいう「内部粒子」とは、液体金属の内部、すなわち液体金属内にある粒子のことをいう。そして、粘性係数算出部12は、粒子が表面粒子である場合の粘性係数を、粒子径のうち表面凝固膜の大きさだけを固体時の粘性係数とし、表面凝固膜の大きさを除外した大きさだけを液体時の粘性係数とするように算出する。ここでいう「表面粒子」とは、液体金属の表面にある粒子のことをいう。一例として、粘性係数算出部12は、粘性係数を以下の式(6)のように算出する。なお、式(6)で用いられる記号は、以下のとおりである。dxは、粒子径である。dは、表面凝固膜の大きさである。μは、液体時の粘性係数である。μsolidは、固体時の粘性係数である。
Figure 0006808195
ここで、表面粒子の粘性係数を、図2を参照して説明する。図2は、表面粒子の粘性係数を説明する図である。図2に示すように、液体表面にある粒子i0(表面粒子)が表わされている。粒子i0の粒子径は、dxである。そして、粒子i0の凝固膜の大きさは、dであり、粒子i0の液体部分の大きさは、dxからdを差し引いた値である。したがって、粘性係数算出部12は、表面粒子である粒子i0の粘性係数を、式(6)の上部に示すように算出する。すなわち、粘性係数算出部12は、粒子が表面にある場合で示すように、(dx−d)/dxを液体時の粘性係数μとし、d/dxを固体時の粘性係数μsolidとして、液体部分と固体部分の粘性係数を平均化する。
図1に戻って、粒子判定部13は、特定の時間の複数の粒子データについて、各粒子データから、各粒子データの粒子が内部粒子か表面粒子かを判定する。例えば、粒子判定部13は、特定の時間の複数の粒子データの中から、順次、判定対象の粒子として粒子データを選択する。粒子判定部13は、判定対象の粒子の近傍に位置する複数の近傍粒子それぞれが、判定対象を中心とした複数の部分領域のうちいずれの部分領域に属するか否かを判定する。ここでいう近傍粒子とは、判定対象の粒子としてある粒子に着目したとき、当該粒子からの距離が所定半径より小さいところに存在する粒子のことをいう。所定半径は、判定に影響を与えるという意味で「影響半径」というものとする。そして、粒子判定部13は、複数の部分領域の中に近傍粒子を1つも含まない部分領域が存在する場合には、判定対象の粒子が表面粒子であると判定する。粒子判定部13は、複数の部分領域の中に近傍粒子を1つも含まない部分領域が存在しない場合には、判定対象の粒子が内部粒子であると判定する。すなわち、粒子判定部13は、判定対象を中心とした影響半径内の近傍粒子がどの部分領域に属するかを判定し、近傍粒子が1つも所属しない部分領域がある場合には、判定対象の粒子が表面粒子であると判定する。
ここで、表面粒子の判定方法を、図3、図4Aおよび図4Bに基づいて説明する。なお、図3、図4Aおよび図4Bでは、空間が2次元の場合について説明する。
図3は、粒子の近傍を表す空間領域の分類を示す図である。図3に示すように、粒子i0が判定対象の粒子であるとする。判定対象の粒子i0を中心とした影響半径内の空間領域がx+、x−、y+、y−の4つの部分領域に分類される。
図4Aおよび図4Bは、実施例に係る粒子判定の模式図である。図4Aに示すように、粒子判定部13は、判定対象の粒子i0を中心とした影響半径内にある近傍粒子が図3で示したいずれの部分領域に属するかを判定し、近傍粒子が1つも所属しない部分領域がある場合には、判定対象の粒子i0が表面粒子であると判定する。
図4A左図では、粒子判定部13が、判定対象の粒子iaを中心とした影響半径内にある近傍粒子がいずれの部分領域に属するかを判定した結果である。ここでは、y+の部分領域に、1つも近傍粒子が所属しない。このため、粒子判定部13は、判定対象の粒子iaが表面粒子であると判定する。
図4A右図では、粒子判定部13が、判定対象の粒子ibを中心とした影響半径内にある近傍粒子がいずれの部分領域に属するかを判定した結果である。ここでは、全ての部分領域に近傍粒子が存在する。このため、粒子判定部13は、判定対象の粒子ibが内部粒子であると判定する。
ただし、かかる表面粒子の判定方法では、判定対象の粒子が表面粒子であるか否かの判定が座標軸の向きに依存するという問題がある。かかる問題について説明する。図4B左図に示すように、例えば、座標軸に沿って近傍粒子が並んでいる場合には、全ての部分領域に近傍粒子が存在するので、粒子判定部13は、判定対象の粒子icを内部粒子として判定する。ところが、かかる近傍粒子の並びで、座標軸を45度回転させ、再度表面粒子の判定を行うと、判定結果が異なる。
具体的には、図4B右図に示すように、座標軸を45度回転させた結果、判定対象の粒子icを中心としたx+、x−、y+、y−の4つの部分領域がx´−、x´+、y´+、y´−の4つの部分領域に分類される。座標軸を45度回転させた後に、粒子判定部13は、再度、判定対象の粒子icの判定を行う。すると、近傍粒子が1つも所属しない部分領域y´+が存在するので、粒子判定部13は、判定対象の粒子icを表面粒子として判定する。座標軸の45度回転前後で判定対象の粒子icの判定結果が異なる。つまり、判定対象の粒子icが表面粒子であるか否かの判定が座標軸の向きに依存する場合がある。
そこで、粒子判定部13は、回転前の部分領域(x+、x−、y+、y−)と回転後の部分領域(x´+、x´−、y´+、y´−)の全ての部分領域に近傍粒子が存在する場合に、判定対象の粒子が内部粒子であると判定する。また、粒子判定部13は、いずれかの部分領域に近傍粒子が存在しない場合に、判定対象の粒子が表面粒子であると判定する。なお、図4Bでは、粒子判定部13は、座標軸を45度回転させてから判定対象の粒子を判定すると説明した。しかしながら、粒子判定部13は、これに限定されず、判定対象の粒子に対する近傍粒子の位置(相対位置ベクトル)を45度回転させてから判定対象の粒子を判定しても良い。
図1に戻って、演算部14は、粒子ごとに適用される粘性係数を用いて、以下の方程式(7)〜(10)により時間発展を計算することで、流動凝固の計算を行う。なお、xは、粒子iの位置ベクトルである。vは、粒子iの速度ベクトルである。ρは、粒子iの密度である。mは、粒子iの質量である。pは、粒子iの圧力である。nは、時間ステップである。
方程式(7)は、粒子iが速度で移動することを表す式である。
Figure 0006808195
方程式(8)は、運動量保存則を示す式(2)に対応する。
Figure 0006808195
方程式(9)は、質量保存則を示す式(1)に対応する。
Figure 0006808195
方程式(10)は、粒子iが速度で移動し、位置を更新することを表す式である。
Figure 0006808195
演算部14は、時間ステップ0での、液体金属を表す粒子群の各粒子iの位置、速度、密度および質量を初期条件として入力する。すると、演算部14は、時間ステップnごとに、式(7)〜式(10)を計算し、各粒子iの位置x、速度v、密度ρを取得する。そして、演算部14は、各粒子iについて、時間ステップnごとの位置x、速度v、密度ρを逐次結果情報22に設定する。
式(8)のpij は、時間ステップnについて、粒子iの圧力と粒子jの圧力との平均である。すなわち、pij は、基準密度をρとして、音速をcとした状態方程式p =c(ρ −ρ)からpij =(p +p )/2と計算される。
式(8)の右辺第3項の(総乗)Πij n+1,*は粘性応力を表し、以下の式(11)で表わされる。粘性応力は、式(6)の粘性係数を適用して計算される。すなわち、演算部14は、粒子データの粒子が表面粒子であると判定された場合には、式(6)の粒子が表面にある場合の粘性係数を適用する。これに対して、演算部14は、粒子データの粒子が内部粒子であると判定された場合には、式(6)の表面以外にある場合の粘性係数を適用する。
Figure 0006808195
式(11)で表わされる粘性応力Πij n+1,*は、未知数であるv n+1,v n+1を含むが、式(8)は連立一次方程式となっているから、共役勾配法などの反復法により計算される。
演算部14は、方程式(7)〜(10)を繰り返し計算することにより、各粒子iの時間発展を行い、流動凝固のシミュレーションを実行する。
このように、演算部14は、表面粒子であれば、内部粒子の粘性係数より大きい粘性係数に代えて計算することで、表面凝固膜による変形のし難さを表現することができる。
[粒子判定処理のフローチャート]
図5は、実施例に係る粒子判定処理のフローチャートの一例を示す図である。なお、図5では、空間が3次元の場合について説明する。
図5に示すように、粒子判定部13は、各粒子の位置を入力する(ステップS11)。そして、粒子判定部13は、1つの粒子を選択し、選択した粒子を粒子iとする(ステップS12)。粒子判定部13は、粒子iの近傍粒子jに対して相対位置ベクトルxijを計算する(ステップS13)。例えば、粒子判定部13は、粒子iの近傍粒子から1つの近傍粒子を選択し、粒子jとする。粒子判定部13は、粒子iと粒子jとの相対位置ベクトルxijを算出する。一例として、xijの成分は、(rxij,ryij,rzij)であるとする。
そして、粒子判定部13は、相対位置ベクトルxijを、x軸中心に−45度回転させ、x´ijとする。粒子判定部13は、相対位置ベクトルxijを、y軸中心に−45度回転させ、x´´ijとする。粒子判定部13は、相対位置ベクトルxijを、z軸中心に−45度回転させ、x´´´ijとする(ステップS14)。一例として、x´ijの成分は、(r´xij,r´yij,r´zij)であるとする。x´´ijの成分は、(r´´xij,r´´yij,r´´zij)であるとする。x´´´ijの成分は、(r´´´xij,r´´´yij,r´´´zij)であるとする。
ここで、x軸中心の−45度回転は、角度をラジアン単位で表記して、以下の式(12)で計算される。
Figure 0006808195
y軸中心の−45度回転は、角度をラジアン単位で表記して、以下の式(13)で計算される。
Figure 0006808195
z軸中心の−45度回転は、角度をラジアン単位で表記して、以下の式(14)で計算される。
Figure 0006808195
そして、粒子判定部13は、相対位置ベクトルxijを用いて粒子jが属する部分領域がx+、x−、y+、y−、z+、z−のいずれであるかを判定する(ステップS15)。これらの部分領域は、2次元の場合に図3で示したものを、3次元に拡張したものであある。すなわち、rxij/|xij|≧cosπ/4ならば、粒子jが部分領域x+に属すると判定される。rxij/|xij|≦-cosπ/4ならば、粒子jが部分領域x−に属すると判定される。ryij/|xij|≧cosπ/4ならば、粒子jが部分領域y+に属すると判定される。ryij/|xij|≦-cosπ/4ならば、粒子jが部分領域y−に属すると判定される。rzij/|xij|≧cosπ/4ならば、粒子jが部分領域z+に属すると判定される。rzij/|xij|≦-cosπ/4ならば、粒子jが部分領域z−に属すると判定される。
そして、粒子判定部13は、相対位置ベクトルx´ijを用いて粒子jが属する部分領域がx+、x−、y+、y−、z+、z−のいずれであるかを判定する(ステップS16)。これらの部分領域は、ステップS15で説明したものと同様である。
そして、粒子判定部13は、相対位置ベクトルx´´ijを用いて粒子jが属する部分領域がx+、x−、y+、y−、z+、z−のいずれであるかを判定する(ステップS17)。これらの部分領域は、ステップS15で説明したものと同様である。
そして、粒子判定部13は、相対位置ベクトルx´´´ijを用いて粒子jが属する部分領域がx+、x−、y+、y−、z+、z−のいずれであるかを判定する(ステップS18)。これらの部分領域は、ステップS15で説明したものと同様である。
そして、粒子判定部13は、未処理の近傍粒子jが存在するか否かを判定する(ステップS19)。未処理の近傍粒子jが存在すると判定した場合には(ステップS19;Yes)、粒子判定部13は、次の未処理の近傍粒子jを処理すべく、ステップS13に移行する。
一方、未処理の近傍粒子jが存在しないと判定した場合には(ステップS19;No)、粒子判定部13は、ステップS15〜ステップS18の24部分領域の中に、近傍粒子jを1つも含まない部分領域が存在するか否かを判定する(ステップS20)。24部分領域の中に、近傍粒子jを1つも含まない部分領域が存在すると判定した場合には(ステップS20;Yes)、粒子判定部13は、その粒子iを表面粒子と判定する(ステップS22)。そして、粒子判定部13は、ステップS23に移行する。
一方、24部分領域の中に、近傍粒子jを1つも含まない部分領域が存在しないと判定した場合には(ステップS20;No)、粒子判定部13は、その粒子iを内部粒子と判定する(ステップS21)。そして、粒子判定部13は、ステップS23に移行する。
ステップS23において、粒子判定部13は、未処理の粒子iが存在するか否かを判定する(ステップS23)。未処理の粒子iが存在すると判定した場合には(ステップS23;Yes)、粒子判定部13は、次の未処理の粒子iを処理すべく、ステップS12に移行する。
一方、未処理の粒子iが存在しないと判定した場合には(ステップS23;No)、粒子判定部13は、粒子判定処理を終了する。
[流体シミュレーション処理のフローチャート]
図6は、実施例に係る流体シミュレーション処理のフローチャートの一例を示す図である。図6に示すように、シミュレーション受付部11は、シミュレーション依頼を受け付けたか否かを判定する(ステップS31)。シミュレーション依頼を受け付けていないと判定した場合には(ステップS31;No)、シミュレーション受付部11は、シミュレーション依頼を受け付けるまで、判定処理を繰り返す。
一方、シミュレーション依頼を受け付けたと判定した場合には(ステップS31;Yes)、シミュレーション受付部11は、シミュレーションする液体金属の物性値データおよび計算パラメータを入力する(ステップS32)。例えば、シミュレーション受付部11は、物性値データとして基準密度ρ0、液体時および固体時のそれぞれの粘性係数μ,μsolidを入力する。さらに、シミュレーション受付部11は、物性値データとして、表面凝固膜の大きさd、粒子径dxを入力する。シミュレーション受付部11は、計算パラメータとして音速cを入力する。
そして、シミュレーション受付部11は、各粒子の初期条件を入力する(ステップS33)。例えば、シミュレーション受付部11は、時間ステップ0での、液体金属を表す粒子群の位置ベクトルx 、速度ベクトルv 、密度ρ 、質量m を入力する。なお、iやjは、粒子群の中の粒子を識別するインデックスを示すものとする。
そして、演算部14は、時間ステップn+1/2での各粒子の位置を計算する(ステップS34)。例えば、演算部14は、現在の時間ステップnでの位置ベクトルx 、速度ベクトルv から、式(7)を用いて、時間ステップn+1/2での粒子の位置を計算する。
そして、粒子判定部13は、時間ステップn+1/2での各粒子の粒子判定処理を実行する(ステップS35)。例えば、粒子判定部13は、時間ステップn+1/2での粒子群の位置x n+1/2を入力して、図5で示した粒子判定処理を実行する。そして、粒子判定部13は、粒子群の中で表面粒子であると判定された粒子に対して表面粒子のフラグを立てる。
そして、粘性係数算出部12は、時間ステップn+1/2での表面粒子の粘性係数を計算する(ステップS36)。例えば、粘性係数算出部12は、表面粒子のフラグを入力して、式(6)を用いて、各粒子の粘性係数を計算する。具体的には、粘性係数算出部12は、粒子iについて、表面粒子のフラグが立っている場合には、式(6)の上部(粒子が表面にある場合)の粘性係数を計算する。粘性係数算出部12は、粒子iについて、表面粒子のフラグが立っていない場合には、式(6)の下部(表面以外にある場合)の粘性係数を計算する。なお、粘性係数算出部12は、表面粒子の粘性係数を、各時間ステップで計算するが、これに限定されない。粘性係数算出部12は、表面粒子の粘性係数を、最初の時間ステップで計算しておき、計算されたものを次の時間ステップで用いても良い。
続いて、演算部14は、時間ステップn+1での各粒子の速度を更新する(ステップS37)。例えば、演算部14は、粒子iについて、圧力p を(音速をcとした状態方程式)p =c(ρ −ρ)から取得する。さらに、演算部14は、粒子iについて、取得した圧力p 、時刻nでの速度ベクトルv 、密度ρ 、時刻n+1/2での位置ベクトルx n+1/2および計算された粘性係数を用いて、式(8)を共役勾配法により計算する。これにより、演算部14は、時間ステップn+1の各粒子の速度ベクトルv n+1を計算する。
続いて、演算部14は、時間ステップn+1での各粒子の密度を更新する(ステップS38)。例えば、演算部14は、粒子iについて、式(9)を用いて、時間ステップn+1での密度ρiを計算する。なお、質量mは、時間ステップnのデータをそのまま時間ステップn+1のデータとして用いれば良い。すなわち、演算部14は、m n+1をm として計算すれば良い。
続いて、演算部14は、時間ステップn+1での各粒子の位置を更新する(ステップS39)。例えば、演算部14は、粒子iについて、式(10)を用いて、時間ステップn+1での位置ベクトルx n+1を計算する。
続いて、演算部14は、時間ステップn+1での各粒子のデータを出力する(ステップS40)。例えば、演算部14は、時間ステップn+1での各粒子iの位置ベクトルx n+1、速度ベクトルv n+1、密度ρ n+1を、例えば、逐次結果情報22に設定する。
そして、演算部14は、目的の時間ステップになったか否かを判定する(ステップS41)。目的の時間ステップになっていないと判定した場合には(ステップS41;No)、演算部14は、目的の時間ステップまで流体シミュレーション処理を繰り返すべく、ステップS34に移行する。一方、目的の時間ステップになったと判定した場合には(ステップS41;Yes)、演算部14は、流体シミュレーション処理を終了する。
[流体シミュレーションを用いた液体アルミニウムの注湯結果]
次に、実施例に係る流体シミュレーションを用いた液体アルミニウムの注湯結果を、図7を参照して説明する。図7は、実施例に係る流体シミュレーションを用いた液体アルミニウムの注湯結果を示す図である。図7に示すように、左図は、実際に水を注湯した場合のt1時点とt2時点の水の注湯の実験結果を表している。中図は、実際に液体アルミニウムを注湯した場合のt1時点とt2時点の液体アルミニウムの注湯の実験結果を表している。右図は、液体アルミニウムを注湯する場合のt1時点とt2時点の液体アルミニウムの注湯における実施例に係る流体シミュレーション結果を表している。
図7右図に示すように、流体シミュレーション結果は、図7中図の実際に液体アルミニウムを注湯した場合と一致する結果となっている。これにより、実施例に係る流体シミュレーション処理は、液体表面にある粒子の大きさを表面凝固膜より大きい液体時の大きさで計算しても、流体シミュレーションを正確に行うことができる。また、実施例に係る流体シミュレーション処理は、液体表面にある粒子の大きさを表面凝固膜より大きい液体時の大きさで計算することで、表面凝固膜を解像できる大きさで計算するより演算量を抑制できるとともに、計算時間を高速化することができる。
[実施例の効果]
上記実施例によれば、流体シミュレーション装置1は、物性値の第1粘性係数から、物質が凝固する際の表面膜の第2粘性係数であって第1粘性係数より大きい値の第2粘性係数を算出する。流体シミュレーション装置1は、特定の時間の複数の粒子データについて、各粒子データから、各粒子データの粒子が物質の内部にある粒子を示す内部粒子であるか、物質の表面にある粒子を示す表面粒子であるかを判定する。流体シミュレーション装置1は、粒子データの粒子が内部粒子であると判定した場合には、第1粘性係数を適用し、粒子データの粒子が表面粒子であると判定した場合には、第2粘性係数を適用する。そして、流体シミュレーション装置1は、適用した粘性係数を用いて、複数の粒子データそれぞれの次の時間の位置データと密度データとを算出する。そして、流体シミュレーション装置1は、複数の粒子データについて、算出した位置データと密度データとを時間と対応づけて記憶部20に格納する。かかる構成によれば、流体シミュレーション装置1は、物資の凝固過程を計算する際に、表面膜を解像できない粒子径であっても、液体表面にある粒子の粘性係数を変えることで、正確なシミュレーションを可能にすることができる。また、流体シミュレーション装置1は、シミュレーションの演算量を抑制するとともに、計算時間を高速化することができる。
また、上記実施例によれば、流体シミュレーション装置1は、特定の大きさの粒子における液体時および固体時の粘性係数を示す第1粘性係数から、粒子の表面が凝固する際の表面膜の大きさに応じた粒子の第2粘性係数を算出する。かかる構成によれば、流体シミュレーション装置1は、大きさが同じ粒子であっても、液体時の場合と表面が凝固する場合とで粘性係数を変えることで、正確なシミュレーションが可能にすることができる。また、流体シミュレーション装置1は、シミュレーションの演算量を抑制するとともに、計算時間を高速化することができる。
また、上記実施例によれば、流体シミュレーション装置1は、判定対象の粒子の近傍に位置する複数の近傍粒子それぞれが、判定対象の粒子を中心とした複数の部分領域のうちいずれの部分領域に属するかを判定する。流体シミュレーション装置1は、複数の部分領域の中に近傍粒子を1つも含まない部分領域が存在する場合には、判定対象の粒子が表面粒子であると判定する。かかる構成によれば、流体シミュレーション装置1は、表面粒子を検出することで、表面粒子だけを物性値の粘性係数より大きい粘性係数に代えてシミュレーションでき、シミュレーションを正確に行うことが可能となる。
また、上記実施例によれば、流体シミュレーション装置1は、複数の部分領域の中に近傍粒子を1つも含まない部分領域が存在しない場合には、複数の部分領域それぞれを同じ方向に特定の角度だけ回転させる。そして、流体シミュレーション装置1は、回転後の複数の部分領域の中に近傍粒子を1つも含まない部分領域が存在する場合には、判定対象の粒子が表面粒子であると判定する。かかる構成によれば、流体シミュレーション装置1は、正確に表面粒子を検出することで、さらに、シミュレーションを正確に行うことが可能となる。
[その他]
なお、図示した流体シミュレーション装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、流体シミュレーション装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、演算部14と出力部15とを1つの部として統合しても良い。また、演算部14を、各粒子の速度を演算する演算部と、各粒子の密度を演算する演算部と、各粒子の位置を演算する演算部とに分離しても良い。また、記憶部20を流体シミュレーション装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した流体シミュレーション装置1と同様の機能を実現する流体シミュレーションプログラムを実行するコンピュータの一例を説明する。図8は、流体シミュレーションプログラムを実行するコンピュータの一例を示す図である。
図8に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、流体シミュレーションプログラム205aおよび流体シミュレーション関連情報205bを記憶する。
CPU203は、流体シミュレーションプログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、流体シミュレーション装置1の各機能部に対応する。流体シミュレーション関連情報205bは、物性値情報21および逐次結果情報22に対応する。そして、例えばリムーバブルディスク210が、流体シミュレーションプログラム205aなどの各情報を記憶する。
なお、流体シミュレーションプログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから流体シミュレーションプログラム205aを読み出して実行するようにしても良い。
1 流体シミュレーション装置
10 制御部
11 シミュレーション受付部
12 粘性係数算出部
13 粒子判定部
14 演算部
15 出力部
20 記憶部
21 物性値情報
22 逐次結果情報

Claims (5)

  1. コンピュータに、
    物質の特定の大きさの粒子における液体時および固体時の粘性係数を示す第1粘性係数から、前記粒子の表面が凝固する際の表面膜の大きさに応じた前記粒子の第2粘性係数を算出し、
    特定の時間の複数の粒子について、各粒子が前記物質の内部にある粒子を示す内部粒子であるか、前記物質の表面にある粒子を示す表面粒子であるかを判定し、
    前記粒子が前記内部粒子であると判定した場合には、前記第1粘性係数を適用し、前記粒子が前記表面粒子であると判定した場合には、前記第2粘性係数を適用し、適用した粘性係数を用いて、前記複数の粒子それぞれの次の時間の位置データと密度データとを算出し、
    前記複数の粒子について、算出した位置データと密度データとを時間と対応づけて記憶部に格納する
    処理を実行させることを特徴とする流体シミュレーションプログラム。
  2. 該判定する処理は、判定対象の粒子の近傍に位置する複数の近傍粒子それぞれが、前記判定対象の粒子を中心とした複数の部分領域のうちいずれの部分領域に属するかを判定し、前記複数の部分領域の中に前記近傍粒子を1つも含まない部分領域が存在する場合には、前記判定対象の粒子が前記表面粒子であると判定する
    処理を実行させることを特徴とする請求項1に記載の流体シミュレーションプログラム。
  3. 該判定する処理は、前記複数の部分領域の中に前記近傍粒子を1つも含まない部分領域が存在しない場合には、前記複数の部分領域それぞれを同じ方向に特定の角度だけ回転させ、回転後の前記複数の部分領域の中に前記近傍粒子を1つも含まない部分領域が存在する場合には、前記判定対象の粒子が前記表面粒子であると判定する
    処理を実行させることを特徴とする請求項に記載の流体シミュレーションプログラム。
  4. 物質の特定の大きさの粒子における液体時および固体時の粘性係数を示す第1粘性係数から、前記粒子の表面が凝固する際の表面膜の大きさに応じた前記粒子の第2粘性係数を算出する第1の算出部と、
    特定の時間の複数の粒子について、各粒子が前記物質の内部にある粒子を示す内部粒子であるか、前記物質の表面にある粒子を示す表面粒子であるかを判定する判定部と、
    前記粒子が前記内部粒子であると判定した場合には、前記第1粘性係数を適用し、前記粒子が前記表面粒子であると判定した場合には、前記第2粘性係数を適用し、適用した粘性係数を用いて、前記複数の粒子それぞれの次の時間の位置データと密度データとを算出する第2の算出部と、
    前記複数の粒子について、算出した位置データと密度データとを時間と対応づけて記憶部に格納する格納部と、
    を有することを特徴とする流体シミュレーション装置。
  5. コンピュータが、
    物質の特定の大きさの粒子における液体時および固体時の粘性係数を示す第1粘性係数から、前記粒子の表面が凝固する際の表面膜の大きさに応じた前記粒子の第2粘性係数を算出し、
    特定の時間の複数の粒子について、各粒子が前記物質の内部にある粒子を示す内部粒子であるか、前記物質の表面にある粒子を示す表面粒子であるかを判定し、
    前記粒子が前記内部粒子であると判定した場合には、前記第1粘性係数を適用し、前記粒子が前記表面粒子であると判定した場合には、前記第2粘性係数を適用し、適用した粘性係数を用いて、前記複数の粒子それぞれの次の時間の位置データと密度データとを算出し、
    前記複数の粒子について、算出した位置データと密度データとを時間と対応づけて記憶部に格納する
    各処理を実行することを特徴とする流体シミュレーション方法。
JP2017088554A 2017-04-27 2017-04-27 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法 Active JP6808195B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017088554A JP6808195B2 (ja) 2017-04-27 2017-04-27 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017088554A JP6808195B2 (ja) 2017-04-27 2017-04-27 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法

Publications (2)

Publication Number Publication Date
JP2018185743A JP2018185743A (ja) 2018-11-22
JP6808195B2 true JP6808195B2 (ja) 2021-01-06

Family

ID=64357320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017088554A Active JP6808195B2 (ja) 2017-04-27 2017-04-27 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法

Country Status (1)

Country Link
JP (1) JP6808195B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7276768B2 (ja) * 2019-07-08 2023-05-18 富士通株式会社 液体シミュレーション装置、液体シミュレーション方法および液体シミュレーションプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6098190B2 (ja) * 2013-01-30 2017-03-22 富士通株式会社 シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
JP6544099B2 (ja) * 2015-07-10 2019-07-17 富士通株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法

Also Published As

Publication number Publication date
JP2018185743A (ja) 2018-11-22

Similar Documents

Publication Publication Date Title
Karagadde et al. A coupled VOF–IBM–enthalpy approach for modeling motion and growth of equiaxed dendrites in a solidifying melt
JP6098190B2 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
Quan et al. Anisotropic mesh adaptation with optimal convergence for finite elements using embedded geometries
JP5892257B2 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
Li Numerical simulation of melt filling process in complex mold cavity with insets using IB-CLSVOF method
Uzgoren et al. Marker-based, 3-D adaptive Cartesian grid method for multiphase flow around irregular geometries
JP6808195B2 (ja) 流体シミュレーションプログラム、流体シミュレーション装置および流体シミュレーション方法
Xin et al. Numerical simulation of nonlinear sloshing in a prismatic tank by a Cartesian grid based three-dimensional multiphase flow model
Balu et al. Direct immersogeometric fluid flow and heat transfer analysis of objects represented by point clouds
Wei et al. Low artificial anisotropy cellular automaton model and its applications to the cell-to-dendrite transition in directional solidification
Ghoneim A meshfree interface-finite element method for modelling isothermal solutal melting and solidification in binary systems
Cruchaga et al. A surface remeshing technique for a Lagrangian description of 3D two‐fluid flow problems
Ghoneim The meshfree interface finite element method for numerical simulation of dendritic solidification with fluid flow
JP6163897B2 (ja) 数値計算プログラム、数値計算方法及び情報処理装置
Stavropoulos Vasilakis et al. A direct forcing immersed boundary method for cavitating flows
Caraeni et al. Fluid-structure interaction: Extended-FEM approach to solidification
Pita et al. A fluid–structure interaction method for highly deformable solids
JP7276768B2 (ja) 液体シミュレーション装置、液体シミュレーション方法および液体シミュレーションプログラム
JP6098330B2 (ja) 数値計算プログラム、数値計算方法及び情報処理装置
JP6176029B2 (ja) シミュレーション装置、シミュレーションプログラム及びシミュレーション方法
Pino Muñoz et al. Direct 3D simulation of powder sintering by surface and volume diffusion
Zyska et al. Modeling of Dendritic Structure Evolution During Solidification of Al-Cu Alloy
JP5842992B2 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
Uzgoren et al. A unified adaptive cartesian grid method for solid-multiphase fluid dynamics with moving boundaries
Toosi et al. The influence of time scale in free surface flow simulation using Smoothed Particle Hydrodynamics (SPH)

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170614

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

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: 20201117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201201

R150 Certificate of patent or registration of utility model

Ref document number: 6808195

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250