JP6163897B2 - 数値計算プログラム、数値計算方法及び情報処理装置 - Google Patents

数値計算プログラム、数値計算方法及び情報処理装置 Download PDF

Info

Publication number
JP6163897B2
JP6163897B2 JP2013122330A JP2013122330A JP6163897B2 JP 6163897 B2 JP6163897 B2 JP 6163897B2 JP 2013122330 A JP2013122330 A JP 2013122330A JP 2013122330 A JP2013122330 A JP 2013122330A JP 6163897 B2 JP6163897 B2 JP 6163897B2
Authority
JP
Japan
Prior art keywords
particles
physical quantity
particle
density
calculated
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
Application number
JP2013122330A
Other languages
English (en)
Other versions
JP2014241002A (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 JP2013122330A priority Critical patent/JP6163897B2/ja
Priority to US14/256,164 priority patent/US20140365185A1/en
Publication of JP2014241002A publication Critical patent/JP2014241002A/ja
Application granted granted Critical
Publication of JP6163897B2 publication Critical patent/JP6163897B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Description

本発明は、数値計算プログラム、数値計算方法及び情報処理装置に関する。
流体や弾性体等の連続体の振る舞いを解く数値計算手法としては、格子をベースにして微分方程式の近似解を求める有限差分法、有限要素法、有限体積法等が知られている。近年では数値計算をCAE(Computer Aided Engineering)などの分野で活用するため、これらの数値計算手法も発展し、流体と構造物が相互作用する問題が解かれるようになってきた。しかしながら、格子を用いる手法では、自由表面などの界面の存在する問題や、流体−構造連成問題などの移動境界が発生する場合には取り扱いが複雑なため、プログラム作成が困難である場合が多い。
これに対して、格子を用いない粒子法(MPS(Moving Particle Semi-implicit)法、SPH(Smoothed Particle Hydrodynamics)法等)では、移動境界の取り扱いに特別な処置を必要としない。そのため近年、粒子法は広く用いられるようになってきている。
また、粒子法により高精度に計算する手法として、リーマンソルバを用いた計算手法が知られている。ある文献には、粒子法の計算で問題となる圧力の振動を抑制することで、精度よくシミュレーションを行う技術が開示されている。
例えば、1次元の非粘性流体の方程式におけるリーマン問題解を利用する計算手法(リーマンソルバと呼ぶ)を導入することにより、計算の高精度化を行うことを開示した文献が存在する。
ここで、リーマンソルバを粒子法に導入する方法の一例について簡単に説明する。僅かに圧縮する流体の方程式(0−1)乃至(0−3)を考える。
Figure 0006163897
式(0−1)は質量保存則、式(0−2)が運動量保存則、式(0−3)は状態方程式である。ここでv(太字v)は流体の速度ベクトル、ρは密度、pは圧力、ρ0は圧力が0となる密度(すなわち基準密度)である。また、cは音速であり、tは時刻を表す。
そして、式(0−1)乃至(0−3)を以下のように離散化する。
Figure 0006163897
ここで、x(太字x)は3次元空間の位置ベクトルを表す。また、xi、vi、ρi及びmiは、それぞれ、粒子iの位置ベクトル、速度ベクトル、密度、質量を表す。xij n+1/2は、粒子iと粒子jの相対位置ベクトルである。具体的には、以下のように表される。
ij n+1/2=xi n+1/2−xj n+1/2
また、上付き添え字はシミュレーションステップでの時刻を表わす。また、式(0−4)乃至(0−7)に含まれる記号は以下のように定義される。
Figure 0006163897
さらに、Wはカーネル関数(重み関数とも呼ぶ)であり、以下のスプライン関数が良く用いられる。
Figure 0006163897
ここでhは、粒子間の影響半径で、初期状態の平均粒子間隔の2倍から3倍程度が良く用いられる。βはカーネル関数の全空間積分量が1になるように調整された値で、2次元の場合は0.7πh2 、3次元の場合はπh3と決められる。
式(0−8)及び(0−9)は、粒子ij間の中間値であって、1次元の流体の方程式を数値的に解き、dt/2だけ進んだ時刻における解を用いる。すなわち、図1に示すように、粒子ij間に軸lijをセットして、この軸上のベクトルに射影した速度ベクトルは、それぞれ以下のように表される。
Figure 0006163897
具体的な決定方法は以下のようなものである。まず、式(0−1)乃至(0−3)について、空間次元が1次元の場合の方程式を整理する。
Figure 0006163897
そして、式(0−11)についてリーマン不変量q+及びq-を用いて特性方程式の形式に書き直す。
Figure 0006163897
Figure 0006163897
そして、時刻nにおける粒子i及びjについてq+及びq-を以下のように表す。
Figure 0006163897
さらに、空間勾配を以下のように求めておく。
Figure 0006163897
このようにして変数を整えた後に、図2に示すように、粒子ij間に物理量が不連続な面が存在する状況を初期値とした問題(リーマン問題)を考え、式(0−12)及び(0−13)の解析解を用いてq+及びq-の粒子ij間の中間における、時刻n+1/2の値を予測する。具体的には以下のように算出される。
Figure 0006163897
このような式(0−16)及び(0−17)を、式(0−5)及び(0−6)に代入することで粒子法のシミュレーションを高精度に実行できる。
一方、剛体と流体の連成計算や、混ざることのない別々の液体(たとえば水と油)の混流現象のシミュレーションは、自由表面や移動境界の扱いが簡単な粒子法が期待されている。混流現象の場合は安定状態となるときの密度が違う液体を取り扱うため、標準的なSPH法だけでは一般に計算は難しくなる。
密度の違う液体の混流を粒子法で扱う計算方法として、ある文献では、以下のような計算を行うことを示している。すなわち、密度の異なる流体方程式として以下の式(0−18)乃至(0−21)を用いる。
Figure 0006163897
gは重力による加速度であり、ρsは基準密度である。式(0−1)乃至(0−3)と異なる点は基準密度が位置によって異なることである。基準密度の空間変化で、異なる流体の混流を表している。
そして、式(0−18)乃至(0−21)をSPH法で以下のように各粒子について離散化する。
Figure 0006163897
式(0−22)は質量保存則、式(0−23)は運動量保存則、式(0−24)は状態方程式を表す。ζ及びηはパラメータで定数である。ここでρs,iは粒子iの基準密度を表す。
ij=xi−xj
ij=vi−vj
式(0−22)乃至(0−24)について、一般的な常微分方程式の数値解析法であるオイラー法やリープフロッグ法などで時間発展を計算することでシミュレーションが可能となる。
しかしながら、粒子法で用いられているリーマンソルバによる計算の高精度化は、この技術の基本的な式(0−18)乃至(0−21)には適用することができない。従って、密度差がある流体の混流に対して計算精度が低下する。
国際公開第2012/111082号パンフレット
Shu-ichiro Inutsuka, "Reformulation of Smoothed Particle Hydrodynamics with Riemann Solver", Journal of Computaional Physics, 179, (2002) 238-267 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.
従って、本発明の目的は、基準密度が異なる流体の混流現象を精度良く数値計算する技術を提供することである。
本発明に係る数値計算方法は、(A)(a1)第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、(a2)第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、(a3)第1の物理量の勾配及び第2の物理量の勾配を算出し、(a4)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する時空間中間値を、第1の物理量、第2の物理量、第1の物理量の勾配及び第2の物理量の勾配を用いて算出し、(a5)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する中間値から、第1の粒子と第2の粒子との間における圧力の時空間中間値を算出し、(a6)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する中間値から、第1の粒子と第2の粒子との間における速度の時空間中間値を算出する第1の処理を、第1の粒子との位置関係から特定される第2の粒子の各々について実行し、(B)算出された圧力の時空間中間値を用いて第1の粒子の速度を更新し、(C)算出された速度の時空間中間値に基づき第1の粒子の密度を更新する処理を含む。
一側面によれば、基準密度が異なる流体の混流現象を精度良く数値計算できるようになる。
図1は、粒子ijの中間値を説明するための図である。 図2は、粒子ij間に物理量が不連続な面が存在する状況を表す図である。 図3は、本実施の形態において想定される混流の例を示す図である。 図4は、本実施の形態に係る情報処理装置の機能ブロック図である。 図5は、本実施の形態に係る処理の処理フローを示す図である。 図6は、本実施の形態に係る処理の処理フローを示す図である。 図7は、本実施の形態に係る処理の処理フローを示す図である。 図8は、本実施の形態に係る処理の処理フローを示す図である。 図9は、本実施の形態に係る処理の処理フローを示す図である。 図10は、本実施の形態に係る処理の処理フローを示す図である。 図11は、コンピュータの機能ブロック図である。
まず、本発明の実施の形態に係る演算の考え方について説明する。
本実施の形態では、以下の流体運動を表す方程式系を粒子法で解く。
Figure 0006163897
ここでv及びは流体の速度場及び圧力場を表す。また、ρ及びρsは流体の密度及び基準密度(圧力が0の状態となる密度)を表す。また、cは音速を表す。
式(1)乃至(4)は、図3に示すような、水と油のように互いが混じり合うことなく、密度が異なる流体の混流を表す場合などに用いられる。
この式(1)乃至(4)を粒子法で空間離散化すると、以下のように表される。
Figure 0006163897
なお、jは例えば影響範囲内の他の粒子を表す。
さらに、時間について離散化することで以下の漸化式を導出する。
Figure 0006163897
ここで、dtは時間刻み、その他の記号は以下のような意味である。
Figure 0006163897
式(10)のように、密度の時間発展の右辺第二項におけるρn i/ρn jの部分以外は、時刻n+1/2の値と時刻nとn+1の平均値とを含むようになる。そうするとρn i/ρn jの時間変化が小さい状況では、2次の精度を持つような計算方法となる。
ij lij,n+1/2及びpij lij,n+1/2は粒子ij間の中間値であり、以下の手順で算出する。
まず、式(1)乃至(4)について1次元の方程式を考える。
Figure 0006163897
ここで、リーマン不変量におけるρに代わってρ/ρsを用いてリーマン不変量を変形することで、以下のような物理量を新たに導入する。
Figure 0006163897
そして、これらの物理量を用いて整理すると、以下のような式が得られる。
Figure 0006163897
式(11−1)及び(11−2)の右辺第一項だけを考えると、式(0−12)及び(0−13)と同様の形式であるため、右辺の第一項のみを考えて時間発展を以下のように行い、右辺第二項及び第三項を補う項を後で追加するようにして計算を行う。
A)より具体的には、変数q+及びq-を以下のようにして求める。
Figure 0006163897
これらは、時刻nにおける粒子i及びjについての上記物理量である。
B)また、変数q+及びq-の勾配を以下のように計算する。
Figure 0006163897
式(16)乃至(19)における記号は以下のように表される。
Figure 0006163897
(21)式は、変数q+及びq-の勾配が、他の粒子の基準密度との関係に基づく基準密度の空間勾配を用いて算出されることを表している。すなわち、この分が、背景技術で述べた混流ではない場合との差である。
C)変数q+及びq-について、粒子ij間の中間値を以下のように計算する。
Figure 0006163897
式(23)及び(24)の右辺第二項はそれぞれ式(0−14)及び(0−15)の右辺第二項と類似の形式であり、リーマンソルバの考え方を用いて得られた項であることが分かる。
なお、ρij n及びρs,ij nは粒子ij間での密度、及び基準密度の中間値で、以下のように表される。
Figure 0006163897
式(23)及び(24)の右辺第三項及び第四項は、それぞれ式(11−1)及び(11−2)の右辺第二項及び第三項を差分近似したものである。式(23)式(24)の右辺第三項のDρs /Dt|i およびDρs /Dt|j は、0として問題ない。また、基準密度の空間微分は、以下のように表され、標準的なSPH法の計算手法により得られる。
Figure 0006163897
D)上で算出した中間値qij n+1/2,+及びqij n+1/2,-を用いて式(27)及び(28)より速度及び圧力の中間値を算出して、式(9)及び(10)に代入する。
Figure 0006163897
以上の考え方に基づき、具体的な処理及び当該処理を行うための装置について説明する。
図4に、本実施の形態に係る情報処理装置100の機能ブロック図を示す。情報処理装置100は、初期条件データ格納部110と、処理部120と、データ格納部130と、処理結果格納部140と、出力部150とを有する。そして、情報処理装置100は、出力装置200に接続されている。
初期条件データ格納部110には、初期位置、初期速度、初期密度、基準密度、時間刻みdt、粒子にかかる外力(例えば重力)のデータなどが格納されている。
処理部120は、初期条件データ格納部110に格納されているデータを用いて、各タイムステップについて、各粒子についての速度、密度及び位置等のデータを算出し、処理結果格納部140に格納する。なお、処理途中のデータについては、データ格納部130に格納される。
出力部150は、処理結果格納部140に格納されるデータを、出力装置200(例えば印刷装置、表示装置、場合によってはネットワークで接続される他のコンピュータなどの装置)に出力する。
次に、図5乃至図10を用いて、情報処理装置100の処理内容について説明する。
まず、処理部120は、初期条件データ格納部110に格納されている初期条件データを読み出す(図5:ステップS1)。また、処理部120は、n=1と設定する(ステップS3)。
そして、処理部120は、初期条件データにおいて設定がなされている粒子のうち未処理の粒子iを1つ特定する(ステップS5)。
その後、処理部120は、粒子iの位置をdt/2だけ更新する(ステップS7)。具体的には、以下のような演算を実行する。xi 1については、初期条件データに含まれる。
Figure 0006163897
また、処理部120は、粒子iの加速度、密度の時間変化項を初期化する(ステップS9)。具体的には、以下のように設定を行う。
さらに、処理部120は、粒子iにかかる外力を算出する(ステップS11)。具体的には、以下のような演算を実行する。外力fn iは、初期条件データに含まれる。
Figure 0006163897
また、処理部120は、粒子iの影響範囲に入る他の粒子jを抽出する(ステップS13)。そして処理は端子Aを介して図6の処理に移行する。
端子Aを介して図6の処理の説明に移行して、処理部120は、抽出された粒子jの中から未処理の粒子jを1つ特定する(ステップS15)。そして、処理部120は、粒子ij間の圧力に関する時空間中間値の算出処理を実行する(ステップS17)。この処理については、図7及び図8を用いて説明する。
処理部120は、物理量qの中間値算出処理を実行する(図7:ステップS31)。具体的には、図8の処理を実行する。
処理部120は、粒子ijの密度、基準密度及び速度から、式(13)及び(14)に従って、物理量q- i、q+ jを算出する(ステップS35)。
また、処理部120は、粒子ijの密度、基準密度及び速度の勾配から、式(17)及び(18)に従って、物理量qの勾配を算出する(ステップS37)。
さらに、処理部120は、物理量qの時空間中間値qij n+1/2,+及びqij n+1/2,-を、式(23)及び(24)に従って算出する(ステップS39)。
図8の演算結果については、データ格納部130の容量が十分にあれば保持しておくことで、後の処理を省略できる。データ格納部130の容量が十分なければ、後の処理でも同じ演算を実行する。
図7の処理の説明に戻って、処理部120は、物理量qの時空間中間値を用いて、式(28)に従って、圧力に関する時空間中間値pij n+1/2を算出する(ステップS33)。
圧力に関する時空間中間値pij n+1/2を速度に関する時空間中間値とは別に先行して算出するのは、速度vi n+1が、速度に関する時空間中間値の計算に用いられるためである。
図6の処理の説明に戻って、処理部120は、粒子iの加速度を、圧力に関する時空間中間値pij n+1/2を用いて更新する(ステップS19)。このステップにおける演算は、以下のように表される。
Figure 0006163897
その後、処理部120は、ステップS13で抽出された粒子のうち未処理の粒子jが存在しているか判断する(ステップS21)。未処理の粒子jが存在する場合には、処理はステップS15へ戻る。一方、未処理の粒子jが存在しない場合には、処理部120は、粒子iの加速度から粒子iの速度を更新する(ステップS23)。このステップにおける演算は、以下のように表される。
Figure 0006163897
そして、処理部120は、ステップS13で抽出された粒子jを未処理に設定する(ステップS25)。なお、ステップS13と同様の処理を実行するようにしても良い。処理は、端子Bを介して図9の処理に移行する。
図9の処理の説明に移行して、処理部120は、ステップS13で抽出された粒子のうち未処理の粒子jを1つ特定する(ステップS41)。そして、処理部120は、粒子ijの速度に関する時空間中間値の算出処理を実行する(ステップS43)。この処理については、図10を用いて説明する。
処理部120は、物理量qの中間値算出処理を実行する(ステップS63)。この処理は、図8の処理と同じである。上でも述べたように、物理量qの中間値については、データ格納部130に格納されている場合には、この処理を実行する代わりに、データ格納部130から読み出しても良い。
そして、処理部120は、物理量qの時空間中間値を用いて、式(27)に従って、速度に関する時空間中間値vij lij,n+1/2を算出する(ステップS65)。なお、式(27)の後に以下の演算を行う。
Figure 0006163897
図9の処理の説明に戻って、処理部120は、粒子iの密度時間変化項を、以下の式に従って更新する(ステップS45)。
Figure 0006163897
そして、処理部120は、ステップS13で抽出された粒子のうち未処理の粒子jが存在するか判断する(ステップS47)。未処理の粒子jが存在する場合には、処理はステップS41に戻る。一方、未処理の粒子jが存在しない場合には、処理部120は、粒子iの密度時間変化項から粒子iの密度を、以下の式に従って更新する(ステップS49)。
Figure 0006163897
さらに、処理部120は、粒子iの位置を、ステップS23で算出された時刻n+1における速度vn+1 iを用いてdt/2だけ更新する(ステップS51)。以下に示す式で算出する。
Figure 0006163897
そして、処理部120は、未処理の粒子iが存在するか判断する(ステップS53)。未処理の粒子iが存在する場合には、端子Cを介して図5のステップS5に戻る。一方、未処理の粒子iが存在しない場合には、処理部120は、時刻n+1の結果を、処理結果格納部140に格納し、出力部150は、処理結果格納部140に格納された時刻n+1の処理結果を出力装置200に対して所定の形式で出力する(ステップS55)。
そして、処理部120は、時刻n+1は終了時刻であるか判断する(ステップS57)。終了時刻でなければ、処理部120は、n=n+1と設定し(ステップS59)、粒子iを全て未処理に設定する(ステップS61)。そして、処理は端子Cを介して図5のステップS5に戻る。一方、時刻n+1が終了時刻であれば、処理を終了する。
以上のような処理を実行することで、粒子法で用いられているリーマンソルバによる計算の高精度化が実現する。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図4の機能ブロック図は一例であって、プログラムモジュール構成及びファイル構成とは一致しない場合もある。
処理フローについても、処理結果が変わらない限り、ステップの処理順番を入れ替えたり、複数ステップを並列に実行するようにしても良い。
さらに、情報処理装置100は、1台のコンピュータではなく、複数のコンピュータで構成される場合もある。また、クライアントサーバ型システムで実装しても良いし、スタンドアロン型システムで実装しても良い。
なお、上で述べた情報処理装置100は、コンピュータ装置であって、図11に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る数値計算方法は、(A)(a1)第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、(a2)第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、(a3)第1の物理量の勾配及び第2の物理量の勾配を算出し、(a4)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する時空間中間値を、第1の物理量、第2の物理量、第1の物理量の勾配及び第2の物理量の勾配を用いて算出し、(a5)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する中間値から、第1の粒子と第2の粒子との間における圧力の時空間中間値を算出し、(a6)第1の粒子と第2の粒子との間における第1及び第2の物理量に関する中間値から、第1の粒子と第2の粒子との間における速度の時空間中間値を算出する第1の処理を、第1の粒子との位置関係から特定される第2の粒子の各々について実行し、(B)算出された圧力の時空間中間値を用いて第1の粒子の速度を更新し、(C)算出された速度の時空間中間値に基づき第1の粒子の密度を更新する処理を含む。
このようにリーマン不変量を変形して新たな物理量を定義することで、リーマンソルバによる高精度計算が実現される。
また、上で述べた勾配を算出する処理が、(a31)第1の基準密度の空間勾配を用いて、第1の物理量の勾配を算出し、(a32)第2の基準密度の空間勾配を用いて、第2の物理量の勾配を算出する処理を含むようにしても良い。リーマン不変量を、基準密度に対する粒子の密度の比率を用いて変形することで、リーマン不変量の勾配についても、第1の基準密度の空間勾配を用いるような形に変形される。
さらに、上で述べた第1の粒子の速度を更新する処理が、(b1)圧力の時空間中間値から、第1の粒子の加速度を更新し、(b2)第1の粒子の加速度を用いて、第1の粒子の速度を更新する処理を含むようにしても良い。加速度は、重力などの外力によって初期的に設定されるが、第2の粒子からの影響を重ね合わせて、さらに更新される。
また、上で述べた第1の粒子の密度を更新する処理が、(c1)第1の粒子の速度と速度の時空間中間値とを用いて、第1の粒子の密度時間変化を算出し、(c2)第1の粒子の密度時間変化を用いて、第1の粒子の密度を更新する処理を含むようにしても良い。
例えば、第1の処理の中で第1の粒子との位置関係から特定された第2の粒子について圧力に関する時空間中間値が得られて第1の粒子の速度が更新された後に、第1の粒子の密度時間変化を算出するようにしても良い。このようにすれば計算の精度が向上する。
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、
第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、
前記第1の物理量の勾配及び前記第2の物理量の勾配を算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出する
第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新し、
算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新する
処理を、コンピュータに実行させるための数値計算プログラム。
(付記2)
前記勾配を算出する処理が、
前記第1の基準密度の空間勾配を用いて、前記第1の物理量の勾配を算出し、
前記第2の基準密度の空間勾配を用いて、前記第2の物理量の勾配を算出する
処理を含む付記1記載の数値計算プログラム。
(付記3)
前記第1の粒子の速度を更新する処理が、
前記圧力の時空間中間値から、前記第1の粒子の加速度を更新し、
前記第1の粒子の加速度を用いて、前記第1の粒子の速度を更新する
処理を含む付記1又は2記載の数値計算プログラム。
(付記4)
前記第1の粒子の密度を算出する処理が、
前記第1の粒子の速度と前記速度の時空間中間値とを用いて、前記第1の粒子の密度時間変化を算出し、
前記第1の粒子の密度時間変化を用いて、前記第1の粒子の密度を更新する
処理を含む付記1乃至3のいずれか1つ記載の数値計算プログラム。
(付記5)
第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、
第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、
前記第1の物理量の勾配及び前記第2の物理量の勾配を算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出する
第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新し、
算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新する
処理を含み、コンピュータにより実行される数値計算方法。
(付記6)
データ格納部と、
前記データ格納部に格納されているデータを用いて処理を行う処理部と、
を有し、
前記処理部は、
第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出して、前記データ格納部に格納し、
第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出して、前記データ格納部に格納し、
前記第1の物理量の勾配及び前記第2の物理量の勾配を算出して、前記データ格納部に格納し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出して、前記データ格納部に格納し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出して、前記データ格納部に格納し、
前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出して、前記データ格納部に格納する
第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新して、前記データ格納部に格納し、
算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新して、前記データ格納部に格納する
処理を実行する情報処理装置。
100 情報処理装置
110 初期条件データ格納部
120 処理部
130 データ格納部
140 処理結果格納部
150 出力部

Claims (6)

  1. 第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、前記第1の物理量の勾配及び前記第2の物理量の勾配を算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出する第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
    算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新し、
    算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新する
    処理を、コンピュータに実行させるための数値計算プログラム。
  2. 前記第1の物理量の勾配及び前記第2の物理量の勾配を算出する処理が、
    前記第1の基準密度の空間勾配を用いて、前記第1の物理量の勾配を算出し、
    前記第2の基準密度の空間勾配を用いて、前記第2の物理量の勾配を算出する
    処理を含む請求項1記載の数値計算プログラム。
  3. 前記第1の粒子の速度を更新する処理が、
    前記圧力の時空間中間値から、前記第1の粒子の加速度を更新し、
    前記第1の粒子の加速度を用いて、前記第1の粒子の速度を更新する
    処理を含む請求項1又は2記載の数値計算プログラム。
  4. 前記第1の粒子の密度を更新する処理が、
    前記第1の粒子の速度と前記速度の時空間中間値とを用いて、前記第1の粒子の密度時間変化を算出し、
    前記第1の粒子の密度時間変化を用いて、前記第1の粒子の密度を更新する
    処理を含む請求項1乃至3のいずれか1つ記載の数値計算プログラム。
  5. 第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出し、第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出し、前記第1の物理量の勾配及び前記第2の物理量の勾配を算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出する第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
    算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新し、
    算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新する
    処理を含み、コンピュータにより実行される数値計算方法。
  6. データ格納部と、
    前記データ格納部に格納されているデータを用いて処理を行う処理部と、
    を有し、
    前記処理部は、
    第1の基準密度の流体に係る第1の粒子の密度の代わりに、当該第1の粒子の密度の、前記第1の基準密度に対する比率をリーマン不変量において用いることで得られる第1の物理量を算出して、前記データ格納部に格納し、第2の基準密度の流体に係る第2の粒子の密度の代わりに、当該第2の粒子の密度の、前記第2の基準密度に対する比率をリーマン不変量において用いることで得られる第2の物理量を算出して、前記データ格納部に格納し、前記第1の物理量の勾配及び前記第2の物理量の勾配を算出して、前記データ格納部に格納し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値を、前記第1の物理量、前記第2の物理量、前記第1の物理量の勾配及び前記第2の物理量の勾配を用いて算出して、前記データ格納部に格納し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における圧力の時空間中間値を算出して、前記データ格納部に格納し、前記第1の粒子と前記第2の粒子との間における前記第1及び第2の物理量に関する時空間中間値から、前記第1の粒子と前記第2の粒子との間における速度の時空間中間値を算出して、前記データ格納部に格納する第1の処理を、前記第1の粒子との位置関係から特定される第2の粒子の各々について実行し、
    算出された前記圧力の時空間中間値を用いて前記第1の粒子の速度を更新して、前記データ格納部に格納し、
    算出された前記速度の時空間中間値に基づき前記第1の粒子の密度を更新して、前記データ格納部に格納する
    処理を実行する情報処理装置。
JP2013122330A 2013-06-11 2013-06-11 数値計算プログラム、数値計算方法及び情報処理装置 Expired - Fee Related JP6163897B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013122330A JP6163897B2 (ja) 2013-06-11 2013-06-11 数値計算プログラム、数値計算方法及び情報処理装置
US14/256,164 US20140365185A1 (en) 2013-06-11 2014-04-18 Numerical calculation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013122330A JP6163897B2 (ja) 2013-06-11 2013-06-11 数値計算プログラム、数値計算方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2014241002A JP2014241002A (ja) 2014-12-25
JP6163897B2 true JP6163897B2 (ja) 2017-07-19

Family

ID=52006194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013122330A Expired - Fee Related JP6163897B2 (ja) 2013-06-11 2013-06-11 数値計算プログラム、数値計算方法及び情報処理装置

Country Status (2)

Country Link
US (1) US20140365185A1 (ja)
JP (1) JP6163897B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6547547B2 (ja) * 2015-09-25 2019-07-24 富士通株式会社 粒子シミュレーションプログラム、計算機資源配分方法、および粒子シミュレーション装置
CN105787162B (zh) * 2015-11-23 2019-04-02 南京航空航天大学 基于非结构rkdg实现多介质界面追踪的数值模拟方法
CN116992796B (zh) * 2023-09-27 2023-12-22 中国科学技术大学 一种自适应低耗散的sph-hllc黎曼求解器耦合方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012031398A1 (en) * 2010-09-09 2012-03-15 Tianjin Aerocode Engineering Application Software Development Inc. Numerical method for simulating subsonic flows based on euler equations in lagrangian formulation
WO2012111082A1 (ja) * 2011-02-15 2012-08-23 富士通株式会社 シミュレーション装置、シミュレーション方法、及びプログラム
WO2013042234A1 (ja) * 2011-09-21 2013-03-28 富士通株式会社 物体運動解析装置、物体運動解析方法、及び物体運動解析プログラム

Also Published As

Publication number Publication date
JP2014241002A (ja) 2014-12-25
US20140365185A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
Lian et al. Implementation of regularized isogeometric boundary element methods for gradient‐based shape optimization in two‐dimensional linear elasticity
Wang et al. Algorithms for interface treatment and load computation in embedded boundary methods for fluid and fluid–structure interaction problems
Li An overview of the immersed interface method and its applications
Alauzet et al. 3D transient fixed point mesh adaptation for time-dependent problems: Application to CFD simulations
Oñate et al. Lagrangian formulation for finite element analysis of quasi‐incompressible fluids with reduced mass losses
Marchandise et al. A stabilized finite element method using a discontinuous level set approach for the computation of bubble dynamics
Liang et al. An efficient staggered grid material point method
Pino Muñoz et al. A finite element‐based level set method for fluid–elastic solid interaction with surface tension
Horgue et al. A penalization technique applied to the “Volume-Of-Fluid” method: Wettability condition on immersed boundaries
Shamanskiy et al. Mesh moving techniques in fluid-structure interaction: robustness, accumulated distortion and computational efficiency
Weiler et al. Projective fluids
Baiges et al. The Fixed‐Mesh ALE approach for the numerical simulation of floating solids
Cruchaga et al. Finite element computation and experimental validation of sloshing in rectangular tanks
Evje et al. Numerical treatment of two-phase flow in capillary heterogeneous porous media by finite-volume approximations
JP6163897B2 (ja) 数値計算プログラム、数値計算方法及び情報処理装置
Karakus et al. An adaptive fully discontinuous Galerkin level set method for incompressible multiphase flows
Diehl et al. Bond-based peridynamics: a quantitative study of mode i crack opening
Subber et al. Asynchronous space–time algorithm based on a domain decomposition method for structural dynamics problems on non-matching meshes
Franci et al. On the effect of the bulk tangent matrix in partitioned solution schemes for nearly incompressible fluids
De Corato et al. Finite element formulation of fluctuating hydrodynamics for fluids filled with rigid particles using boundary fitted meshes
US20230008706A1 (en) Particles-based fluid analysis simulation method using dummy particles, and fluid analysis simulation device
Khezri et al. Application of RKP‐FSM in the buckling and free vibration analysis of thin plates with abrupt thickness changes and internal supports
Pu et al. An immersed boundary/wall modeling method for RANS simulation of compressible turbulent flows
JP2021101329A (ja) K−ω乱流モデルについての普遍的な壁面境界条件処理
Zhang et al. A moving mesh finite difference method for non-monotone solutions of non-equilibrium equations in porous media

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees