我正在编写有限元代码来求解 Navier-Stokes 方程,使用 theta 方法进行时间步进(基本上 Crank-Nicholson 用于扩散,前向 Euler 用于非线性项)。为了找到压力,我使用压力校正方法。一旦我找到压力,我需要更新速度以包括压力梯度的贡献。例如我需要计算:
问题是速度是在二次三角形元素(6 点)上定义的,而压力是在线性三角形元素(3 点)上定义的。我认为这意味着在更新速度以包含压力梯度时,我需要将压力梯度内插到二次速度元素中的额外三个点。我的问题是我该怎么做?我正在考虑使用重心插值方法,但我不确定这是否正确。另外我认为这只是线性插值,所以如果你试图获得二阶解决方案,我不会这样做。