CIP-CSL3法((F. Xiao, T. Yabe, "Completely conservative and oscillationless semi-Lagrangian schemes for advection transportation", J. Comput. Phys. 170(2), pp.498-522, 2001.)),((F. Xiao, "Unified formulation for compressible and incompressible flows by using multi-integrated moments I: one-dimensional inviscid compressible flow", J. Comput. Phys. 195, pp.629-654, 2004)),((F. Xiao, R. Akoh and S. Ii, "Unified formulation for compressible and incompressible flows by using multi-integrated moments II: Multi-dimensional version for compressible and incompressible flows", J. Comput. Phys. 213, pp.31-56, 2006.))は,グリッドセル[&ref(eqa_xi-1.gif,,70%);, &ref(eqa_xi.gif,,70%);]間の積分値とグリッド中心&ref(eqa_xi-12.gif,,70%);における勾配(グリッド端&ref(eqa_xi.gif,,70%);における勾配(gradient) &ref(eqa_gi.gif,,70%);と区別するためにslopeと呼び &ref(eqa_sdi.gif,,70%); で表す)を用いてCIP補間を行う手法である.
CIP-CSL3法((F. Xiao, T. Yabe, "Completely conservative and oscillationless semi-Lagrangian schemes for advection transportation", J. Comput. Phys. 170(2), pp.498-522, 2001.)),((F. Xiao, "Unified formulation for compressible and incompressible flows by using multi-integrated moments I: one-dimensional inviscid compressible flow", J. Comput. Phys. 195, pp.629-654, 2004)),((F. Xiao, R. Akoh and S. Ii, "Unified formulation for compressible and incompressible flows by using multi-integrated moments II: Multi-dimensional version for compressible and incompressible flows", J. Comput. Phys. 213, pp.31-56, 2006.))は,グリッドセル[&ref(eqa_xi-1.gif,nolink,70%);, &ref(eqa_xi.gif,nolink,70%);]間の積分値とグリッド中心&ref(eqa_xi-12.gif,nolink,70%);における勾配(グリッド端&ref(eqa_xi.gif,nolink,70%);における勾配(gradient) &ref(eqa_gi.gif,nolink,70%);と区別するためにslopeと呼び &ref(eqa_sdi.gif,nolink,70%); で表す)を用いてCIP補間を行う手法である.

CIP-CSL3法による移流項の解法では,まず,nステップでの値&ref(eqa_phin.gif,,70%);から,
中間値&ref(eqa_tilde_phi.gif,,70%);を求める.セミラグランジュ法による中間値の算出式(1次元)は,
#ref(eqa_cipcsl3_1.gif,,70%)
CIP-CSL3法による移流項の解法では,まず,nステップでの値&ref(eqa_phin.gif,nolink,70%);から,
中間値&ref(eqa_tilde_phi.gif,nolink,70%);を求める.セミラグランジュ法による中間値の算出式(1次元)は,
#ref(eqa_cipcsl3_1.gif,nolink,70%)

である.
移流速度場の方向により以下の補間を使い分ける.
#ref(eqa_cipcsl3_2.gif,,70%)
#ref(eqa_cipcsl3_2.gif,nolink,70%)

そして,
#ref(eqa_cipcsl3_3.gif,,70%)
#ref(eqa_cipcsl3_3.gif,nolink,70%)

左側要素&ref(eqa_phiiL.gif,,70%);では,グリッドの端点&ref(eqa_xi.gif,,70%);,&ref(eqa_xi-1.gif,,70%);において,上の式より,&ref(eqa_cipcsl3_4.gif,,70%);である.
その他の点での補間にはグリッド間の値を積分した積分値&ref(eqa_rhoi-12n.gif,,70%);とグリッド中心の傾き(slope) &ref(eqa_di-12n.gif,,70%);を用いる.
#ref(eqa_cipcsl3_5.gif,,70%)
#ref(eqa_cipcsl3_6.gif,,70%)
左側要素&ref(eqa_phiiL.gif,nolink,70%);では,グリッドの端点&ref(eqa_xi.gif,nolink,70%);,&ref(eqa_xi-1.gif,nolink,70%);において,上の式より,&ref(eqa_cipcsl3_4.gif,nolink,70%);である.
その他の点での補間にはグリッド間の値を積分した積分値&ref(eqa_rhoi-12n.gif,nolink,70%);とグリッド中心の傾き(slope) &ref(eqa_di-12n.gif,nolink,70%);を用いる.
#ref(eqa_cipcsl3_5.gif,nolink,70%)
#ref(eqa_cipcsl3_6.gif,nolink,70%)

&ref(eqa_phiin.gif,,70%);,&ref(eqa_phii-1n.gif,,70%);,&ref(eqa_rhoi-12n.gif,,70%);,&ref(eqa_di-12n.gif,,70%);から,3次補間の係数&ref(eqa_cipcsl3_7.gif,,70%);を算出する.
#ref(eqa_cipcsl3_8.gif,,70%)
&ref(eqa_phiin.gif,nolink,70%);,&ref(eqa_phii-1n.gif,nolink,70%);,&ref(eqa_rhoi-12n.gif,nolink,70%);,&ref(eqa_di-12n.gif,nolink,70%);から,3次補間の係数&ref(eqa_cipcsl3_7.gif,nolink,70%);を算出する.
#ref(eqa_cipcsl3_8.gif,nolink,70%)

ここで,&ref(eqa_cipcsl3_9.gif,,70%);である.
また,&ref(eqa_phiiR.gif,,70%);についても,
#ref(eqa_cipcsl3_10.gif,,70%)
ここで,&ref(eqa_cipcsl3_9.gif,nolink,70%);である.
また,&ref(eqa_phiiR.gif,nolink,70%);についても,
#ref(eqa_cipcsl3_10.gif,nolink,70%)

となる.
また,積分値&ref(eqa_rhoi-12n.gif,,70%);は次式で更新する.
#ref(eqa_cipcsl3_11.gif,,70%)
また,積分値&ref(eqa_rhoi-12n.gif,nolink,70%);は次式で更新する.
#ref(eqa_cipcsl3_11.gif,nolink,70%)

ここで,&ref(eqa_gi.gif,,70%);は&ref(eqa_delta_t.gif,,70%);間に境界&ref(eqa_xi.gif,,70%);を通る&ref(eqa_rho.gif,,70%);の流束(flux)である.
#ref(eqa_cipcsl3_12.gif,,70%)
ここで,&ref(eqa_gi.gif,nolink,70%);は&ref(eqa_delta_t.gif,nolink,70%);間に境界&ref(eqa_xi.gif,nolink,70%);を通る&ref(eqa_rho.gif,nolink,70%);の流束(flux)である.
#ref(eqa_cipcsl3_12.gif,nolink,70%)

これらにより算出した&ref(eqa_tilde_phi.gif,,70%);より,n+1ステップでの更新された値は,
#ref(eqa_cipcsl3_13.gif,,70%)
これらにより算出した&ref(eqa_tilde_phi.gif,nolink,70%);より,n+1ステップでの更新された値は,
#ref(eqa_cipcsl3_13.gif,nolink,70%)
である.

slope &ref(eqa_di-12.gif,,70%);は,Hyman((J. H. Hyman, "Accurate monotonicity preserving cubic interpolations", SIAM Journal on Scientific Computing, 4, pp.645-654, 1983.)),CW((A. Harten and S. Osher, "Uniformly high order accurate non-oscillatory schemes. I", SIAM Journal on Numerical Analysis, 24, pp.279-309, 1987.)),UNO((P. Collela and P. R. Woodward, "The piecewise parabolic method (PPM) for gas-dynamical simulations", J. Comput. Phys. 54, pp.174-201, 1984))などの近似手法で&ref(eqa_phin.gif,,70%);より計算する.
slope &ref(eqa_di-12.gif,nolink,70%);は,Hyman((J. H. Hyman, "Accurate monotonicity preserving cubic interpolations", SIAM Journal on Scientific Computing, 4, pp.645-654, 1983.)),CW((A. Harten and S. Osher, "Uniformly high order accurate non-oscillatory schemes. I", SIAM Journal on Numerical Analysis, 24, pp.279-309, 1987.)),UNO((P. Collela and P. R. Woodward, "The piecewise parabolic method (PPM) for gas-dynamical simulations", J. Comput. Phys. 54, pp.174-201, 1984))などの近似手法で&ref(eqa_phin.gif,nolink,70%);より計算する.
この3つの近似法の詳細な比較はXiaoらの論文に述べられている.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS