用有限体积法求解一组混合保守/非保守方程

计算科学 有限体积 平流扩散
2021-12-08 09:31:18

我想在球坐标中求解这组这种形式的二维平流扩散方程:

ft=uf+η2f+η1(e1)(e1)f+η2(e2)(e2)f+sf(g)

gt=(ug)+(ηg)+(η1e1e1g)+(η2e2e2g)+h(f)+sg(g)
其中是与球坐标中的单位矢量不平行的单位矢量。大多数项以非线性方式取决于和或,因此需要显式算法。efg

我在考虑有限体积,因为等式中的大多数项都是保守形式,但对于的等式,它们都不是。我的意思是,我想我无论如何都可以做到,所以我的问题是:有没有办法在这里最大限度地利用有限体积方法?如果两个方程都不是保守形式,我怀疑我会失去将另一个方程采用这种形式的很多优点?我认为通过编写摆脱 f 的一个导数顺序可能是有利的(这也适用于方向梯度,因为): 或者有限体积甚至是这里的首选方法?gfe=0

η2f=(ηf)ηf.

1个回答

有限体积法是否更适合您的问题取决于您对解决方案的要求。例如,如果几何灵活性和局部网格细化很重要,那么很难击败有限元。或者,如果您需要非常高精度的阶数,在一个简单的域中,那么选择可能是光谱或光谱元素。但是,如果执行数量的守恒定律对您很重要,那么有限体积将是选择。对于有限体积的实现,您需要做的是将的方程写为gg

tg=G+sg,

其中的 PDE 右侧的散度算子下这些项的总和Gg

的一致计算,您最终会得到一个方案保存到机器精度,例如,在稳态下,通量在域上积分(或任何子域)边界将等于在域体积上积分GgGsg

对于另一个 PDE,你不会有类似的守恒定律,因为方程不是保守形式。该等式右侧的所有这些项都可以看作是的源项,可以在有限体积方法中很好地实现。f