CIP-CSL2法((T. Yabe, R. Tanaka, T. Nakamura, F. Xiao, "An exactly conservative semi-Lagrangian scheme (CIP-CSL) in one dimension", Mon. Weather Rev. 129, pp.332-344, 2001.)),((T. Nakamura, R. Tanaka, T. Yabe and K. Takizawa, "Exactly Conservative Semi-Lagrangian Scheme for Multi-dimensional Hyperbolic Equations with Directional Splitting Technique", J. Comput. Phys. 174, pp.171-207, 2001.)),((K. Takizawa, T. Yabe, T. Nakamura, "Multi-dimensional semi-Lagrangian scheme that guarantees exact conservation", Comput. Phys. Commun. 148(2), pp.137-159, 2002.))は, 値&ref(eqa_phi_x.gif,,70%);とその積分値&ref(eqa_cipcsl2_1.gif,,70%);を用いる. 積分値&ref(eqa_D.gif,,70%);に対する移流方程式は, #ref(eqa_cipcsl2_2.gif,,80%) 値&ref(eqa_phi_x.gif,nolink,70%);とその積分値&ref(eqa_cipcsl2_1.gif,nolink,70%);を用いる. 積分値&ref(eqa_D.gif,nolink,70%);に対する移流方程式は, #ref(eqa_cipcsl2_2.gif,nolink,70%) $D$の微分&ref(eqa_cipcsl2_3.gif,,70%);と定義すると #ref(eqa_cipcsl2_4.gif,,80%) $D$の微分&ref(eqa_cipcsl2_3.gif,nolink,70%);と定義すると #ref(eqa_cipcsl2_4.gif,nolink,70%) これは1次元の移流方程式と同じであり, CIP法での&ref(eqa_cipcsl2_5.gif,,70%);と置き換えることで CIP法での&ref(eqa_cipcsl2_5.gif,nolink,70%);と置き換えることで CIP法と同様に計算ができる. 格子点i内での&ref(eqa_Di.gif,,70%);を以下のように定義する. #ref(eqa_cipcsl2_6.gif,,80%) 格子点i内での&ref(eqa_Di.gif,nolink,70%);を以下のように定義する. #ref(eqa_cipcsl2_6.gif,nolink,70%) &ref(eqa_Di.gif,,70%);は&ref(eqa_xi.gif,,70%);から補間点までの積分値を表し, &ref(eqa_Di.gif,nolink,70%);は&ref(eqa_xi.gif,nolink,70%);から補間点までの積分値を表し, 3次関数で補間する. #ref(eqa_cipcsl2_7.gif,,80%) #ref(eqa_cipcsl2_7.gif,nolink,70%) CIP法における空間微分値gは&ref(eqa_phi.gif,,70%);で置き換えられるので, [&ref(eqa_xi.gif,,70%);, &ref(eqa_xi+1.gif,,70%);]のプロファイルは, #ref(eqa_cipcsl2_8.gif,,80%) CIP法における空間微分値gは&ref(eqa_phi.gif,nolink,70%);で置き換えられるので, [&ref(eqa_xi.gif,nolink,70%);, &ref(eqa_xi+1.gif,nolink,70%);]のプロファイルは, #ref(eqa_cipcsl2_8.gif,nolink,70%) &ref(eqa_D.gif,,70%);の定義より, #ref(eqa_cipcsl2_9.gif,,80%) &ref(eqa_D.gif,nolink,70%);の定義より, #ref(eqa_cipcsl2_9.gif,nolink,70%) また, #ref(eqa_cipcsl2_10.gif,,80%) #ref(eqa_cipcsl2_10.gif,nolink,70%) これらの条件により係数&ref(eqa_ai.gif,,70%);,&ref(eqa_bi.gif,,70%);は以下のように求められる. #ref(eqa_cipcsl2_11.gif,,80%) これらの条件により係数&ref(eqa_ai.gif,nolink,70%);,&ref(eqa_bi.gif,nolink,70%);は以下のように求められる. #ref(eqa_cipcsl2_11.gif,nolink,70%) &ref(eqa_rho.gif,,70%);の時間発展は,&ref(eqa_xi.gif,,70%);,&ref(eqa_xi+1.gif,,70%);をバックトレースした位置&ref(eqa_cipcsl2_12.gif,,70%);に挟まれた部分の積分値となる(下図). #ref(eqa_cipcsl2_13.gif,,80%) &ref(eqa_rho.gif,nolink,70%);の時間発展は,&ref(eqa_xi.gif,nolink,70%);,&ref(eqa_xi+1.gif,nolink,70%);をバックトレースした位置&ref(eqa_cipcsl2_12.gif,nolink,70%);に挟まれた部分の積分値となる(下図). #ref(eqa_cipcsl2_13.gif,nolink,70%) #ref(csl2_int.gif,,100%) #ref(csl2_int.gif,,80%)