2

FiPy を使用して三元合金のフェーズ フィールド凝固モデルを実装しようとしています。FiPy の Web サイトで提供されているほとんどのフェーズ フィールドの例を見てきましたが、私のモデルは example.phase.quaternary に似ています

濃度の進化方程式は次のようになります。

http://i.stack.imgur.com/KvM1r.png

C_1 と C_2 (C_3 は溶媒) について解決する必要があります。濃度方程式は相発展方程式と結合され、D_i = D_i(phi)、h = h(phi) が得られます。

(C_i) について解決される変数の非線形依存関係が 3 つの項すべてにあるため、FiPy でそれらを定義する方法がわかりません。最初の項 (赤) は非線形係数を持つ拡散項であり、それで問題ないはずですが、逆拡散項と位相変換項をどのように定義すればよいでしょうか?

それらを非線形係数を持つ拡散項と対流項として定義しようとしましたが、成功しませんでした。したがって、FiPyが気に入るように定義する方法についてアドバイスを期待しています。

どんな助けでも大歓迎です、ありがとう!/アンダース

4

1 に答える 1

1

この一連の方程式は連立法で解くことができます。逆拡散項は結合拡散項として定義することができ、相転移項は対流項として定義することができる。方程式は、

eqn1 = fipy.TransientTerm(var=C_1) == \
       fipy.DiffusionTerm(D_1 - coeff_1 * (D_1 - D_3), var=C_1) \ # coupled
       - fipy.DiffusionTerm(coeff_1 * (D_2 - D_3), var=C_2) \ # coupled
       + fipy.ConvectionTerm(conv_coeff_1, var=C_1)

どこ

coeff_1 = D_1 * C_1 / ((D_1 - D_3) * C_1 + (D_2 - D_3) * C_2 + D_3)
conv_coeff_1 = Vm / R * D_1 * h.faceGrad * inner_sum_1.faceValue

inner_sum_1は、位相変換項の複雑な内和です。$\nabla h$ の部分は、内部合計から取り出されています。を構成する変数に額面の値を使用するか、または使用(h.grad * inner_sum_1).faceValueすることができます。それがどれほどの違いをもたらすかはわかりません。との両方の方程式が同様の方法で定義された後、それらを で 1 つの方程式に結合します。h.faceGrad * inner_sum_1.faceValueinner_sum_1C_1C_2

eqn = eqn1 & eqn2
于 2016-10-06T14:32:08.763 に答える