我正在编写一个代码,使用三角形网格上的连续分段线性有限元来解决扩散反应问题。源函数 f 是中心的狄拉克质量。我如何计算网格以使狄拉克位于网格几乎一个三角形的中心?谢谢
带狄拉克源项的反应扩散问题的有限元离散化
计算科学
有限元
数值分析
网格生成
椭圆pde
2021-12-01 03:19:25
2个回答
由于您要专门为此右侧创建网格以获得正确的解决方案,因此将 Dirac 置于节点上会更有意义:一方面,这可能更容易实现网格生成器,另一方面,组装更容易:因为您使用的是连续分段线性元素和(大概)节点基函数, 你有(在哪里是您的三角剖分的节点之一)
即,您的负载向量只是与在里面组件和别的。(如果您在节点上有狄拉克测量的线性组合,这也有效。这也解释了当您忘记右侧的质量矩阵时会发生什么......)
您不能使用正交点对 Dirac 数据进行采样。您将得到零或无穷大作为解决方案。如果您无法访问对元素执行积分的代码,您可以选择使用源项的平滑近似(例如窄高斯)。
如果您可以在 FEM 代码中添加“Dirac-loop”,那么您可以找到条目线性系统的 rhs,通过在狄拉克点直接评估你的形状函数,即. 为此,您必须确定本地坐标的狄拉克载荷。这可以通过首先检测狄拉克载荷落在哪个元素上(参见凸包算法)然后直接(直接元素)或通过牛顿迭代(弯曲元素)反转该元素的几何图来完成。
其它你可能感兴趣的问题