将 3D 有限差分代码的域从立方体更改为球体

计算科学 pde 有限差分 离散化 数值建模
2021-12-17 16:08:52

我有一个明确的 FD(有限差分)代码,用于长方体域中 PDE 上的扩散/热,它工作正常。我想更新离散方程并更改代码以解决球体上的问题。从一些初步搜索中,我似乎无法在使用直角坐标的球体上找到任何 FD 示例。

我在球坐标中看到了一些,但这可能需要对代码进行太多更改(如果这是唯一的方法,请建议如何最好地进行)

Ut=α2UinR3
U(x,y,z,0)=T
其中 T 是一个常数,也是应用于立方体所有面/球体表面积的边界条件。

问题:是否可以将我的代码调整为立方体,在球体上工作并保持直角坐标?如果是这样,我该如何处理?

编辑:(更多上下文)这是一个均质热方程,其中边界条件是应用于球体整个表面积的恒定温度(例如 T=100 度)(对于立方体,它也应用于所有 6 个面) . 初始条件是表面上的相同热源,而球体的整个内部最初为零。

1个回答

这当然是可能的。您可以重新制定您的问题以使用Δ+V代替Δ作为运营商,其中V=V(x,y,z)=V(r)是以适合解决您的问题的方式定义的潜力。例如,如果我通过使用有限差分求解亥姆霍兹方程来寻找圆盘或球体的特征模态,我会将势定义为

V(r)={0r<r0V0else

V0 本质上是一个(非常)大的数字。在亥姆霍兹问题的情况下,这应该迫使得到的解决方案在半径为球外的~0r0. 对于热方程,您可以执行类似的操作(取决于边界条件)。