我正在尝试用FiPy实现一个三元合金的相场凝固模型。我已经看过FiPy网站上提供的大多数阶段领域示例,我的模型类似于examples.phase.quaternary。
浓度的演化方程如下所示:

对于C_1和C_2 (C_3是溶剂),应该解决这个问题。将浓度方程与相变方程耦合,得到D_i = D_i(phi),h= h(phi)。
在所有三个项中,(C_i)的求解变量都存在非线性依赖关系,这使得我不确定如何在FiPy中定义它们。第一项(red)是具有非线性系数的扩散项,这应该很好,但我应该如何定义反扩散项和相位变换项?
我试着将它们定义为具有非线性系数的扩散项和对流项,但没有成功。因此,我希望得到一些关于我如何定义它的建议,以便FiPy喜欢它。
非常感谢您的帮助,谢谢!/Anders
发布于 2016-10-06 22:32:09
这组方程可以以耦合的方式求解。反扩散项可以定义为耦合扩散项,相变项可以定义为对流项。方程式就是,
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.faceValueinner_sum_1是相变项中的复内和。$\nabla h$部分已从内和中去掉。您可以使用(h.grad * inner_sum_1).faceValue或h.faceGrad * inner_sum_1.faceValue,也可以使用构成inner_sum_1的变量的面值。我不知道这有多大的不同。在以类似的方式定义了C_1和C_2方程之后,使用
eqn = eqn1 & eqn2https://stackoverflow.com/questions/39878128
复制相似问题