-1

C(h) \frac{\partial h}{\partial t}=\nabla \cdot(K(h) \nabla(h+z)) 我有两个问题:

  1. 如何表示涉及坐标的扩散源?控制方程为 h;k(h) 是 h 的函数;z 是 z 坐标。我知道如何在没有坐标 z 的情况下编写漫射源,但我不知道如何表示涉及坐标的漫射源。
    1. 在“...\fipy\examples\diffusion\mesh1D.py”中执行“phi[0].updateOld()”更新“eq =transientTerm() == DiffusionTerm(coeff=D0 * (1 - phi[0 ]))" 当只使用 "res = eq.sweep(var=phi[0], dt=timeStepDuration)"

谢谢你的帮助。

4

1 回答 1

2
  1. 使用在线方程编辑器的方程

使用在线方程编辑器的方程

所以

使用在线方程编辑器的方程

RHS 上的第二项然后明确写为(K(h).faceValue * [[0], [0], [1]]).divergence

如果K(h)是 的线性函数h,则可以将其表示为ConvectionTerm。例如,如果K(h) = h * K1(h),那么你可以写ConvectionTerm(coeff=K1(h).faceValue * [[0], [0], [1]])

  1. 你的意思是,coeff=D0 * (1 - phi[0])会更新吗?是的。
于 2019-10-16T14:55:45.187 回答