带狄拉克源项的反应扩散问题的有限元离散化

计算科学 有限元 数值分析 网格生成 椭圆pde
2021-12-01 03:19:25

我正在编写一个代码,使用三角形网格上的连续分段线性有限元来解决扩散反应问题。源函数 f 是中心的狄拉克质量。我如何计算网格以使狄拉克位于网格几乎一个三角形的中心?谢谢

2个回答

由于您要专门为此右侧创建网格以获得正确的解决方案,因此将 Dirac 置于节点上会更有意义:一方面,这可能更容易实现网格生成器,另一方面,组装更容易:因为您使用的是连续分段线性元素和(大概)节点基函数ψi, 你有f=δxi(在哪里xi是您的三角剖分的节点之一)

f,ψjC,C=ψj(xi)={1if i=j,0if ij,
即,您的负载向量只是与1在里面i组件和0别的。(如果您在节点上有狄拉克测量的线性组合,这也有效。这也解释了当您忘记右侧的质量矩阵时会发生什么......)

您不能使用正交点对 Dirac 数据进行采样。您将得到零或无穷大作为解决方案。如果您无法访问对元素执行积分的代码,您可以选择使用源项的平滑近似(例如窄高斯)。

如果您可以在 FEM 代码中添加“Dirac-loop”,那么您可以找到条目fi线性系统的 rhsKu=f,通过在狄拉克点直接评估你的形状函数,即fi=δξ0Ni=Ni(ξ0). 为此,您必须确定本地坐标ξ0的狄拉克载荷。这可以通过首先检测狄拉克载荷落在哪个元素上(参见凸包算法)然后直接(直接元素)或通过牛顿迭代(弯曲元素)反转该元素的几何图来完成。