将一维笛卡尔可变系数扩散码转换为一维径向对称码

计算科学 有限差分 数字 扩散
2021-12-10 21:20:26

所以我有一个代码,我使用它解决笛卡尔坐标中的一维可变系数扩散问题:

ut=x(D(x)ux).

它使用反向欧拉离散化隐式求解方程。它工作正常,但我想将其转换为球对称代码。问题是我找不到有关如何对可变系数执行此操作的信息。如果有人向我展示我需要进行的具体修改,我将不胜感激。

此外,该方程的解在 1D 笛卡尔平板与 1D 球对称径向平板中看起来有多大不同?如果它们看起来差不多,那么也许我不应该进行修改。谢谢!

1个回答

更一般地说,您正在求解的方程是

ut=(D(x)u),
其中第一个 nabla 算子表示散度算子,第二个表示梯度算子。您的方程是一维笛卡尔坐标系的特例。

从实际的角度来看,如果您想移动到圆柱或球坐标系中,您所要做的就是应用 nabla 运算符的相应定义。例如,您可以在 Wikipedia 上找到它们:

如果考虑轴向和方位角对称性,您可以在r包括度量项,即:

ut=1rr(D(r)rur),
如您所见,在这种方法中,您的扩散系数是否恒定并不重要。

我不确定告诉你最终的方程式是否已经破坏了太多。但我相信你知道如何从这里开始实施。;-)