我有必要在具有两种三角形网格的正方形域上使用数值方法解决泊松问题:均匀三角形网格(使用正方形上的均匀分布节点)和使用 MATLAB 中的 pdetool 的非均匀三角形网格。
第一个导致带状矩阵,第二个导致稀疏矩阵但没有带状。这是两种方法之间的唯一区别。需要注意的是,两个矩阵的稀疏度是相同的。这些条件数也几乎相等。
但是使用均匀三角形网格的结果比第二种要好得多。有谁知道这个问题吗?
另外,我应该说两个网格的质量是相同的。
我有必要在具有两种三角形网格的正方形域上使用数值方法解决泊松问题:均匀三角形网格(使用正方形上的均匀分布节点)和使用 MATLAB 中的 pdetool 的非均匀三角形网格。
第一个导致带状矩阵,第二个导致稀疏矩阵但没有带状。这是两种方法之间的唯一区别。需要注意的是,两个矩阵的稀疏度是相同的。这些条件数也几乎相等。
但是使用均匀三角形网格的结果比第二种要好得多。有谁知道这个问题吗?
另外,我应该说两个网格的质量是相同的。
这与带状/非带状矩阵无关:由于您使用\
运算符来求解系统,因此您将始终获得离散问题的精确解(直至舍入效应)。因此,问题是离散问题的解与精确解的近似程度如何。
我假设您使用带有 Courant 元素(分段线性和连续)的标准 FEM。我们知道,Céa的雷姆玛,离散解决方案将是准优势,因为它只是由您的离散空间允许的解决方案的最佳逼近的常数因素差。
所以你真正要问的是你的离散空间的近似属性有多好。导出的FEM的典型近似属性通常假设网格是准均匀和形状定期。换句话说,这些元素的大小大致相同,并且没有一个元素在一维上被极度拉伸。如果违反了这个假设,那么我们必须预期近似质量会下降。
我建议您在任何标准教科书或关于椭圆PDE的数值方法的讲义中阅读这些主题。请询问您是否需要有关特定来源的指针。
如果您使用的两种离散化具有相同或至少可比的自由度,则也是实际关注。
如其他答案中下划线,由于离散化,来自分辨率和循环错误的错误存在错误。通常,离散化错误占主导地位(至少在网格上不太精细)。
以下是结构化网格和非结构化网格的示例:
当网格具有对称性时,例如在结构化情况下,可能会出现“超收敛”现象。搜索包含此关键字的文章(连同三角网格、有限元)将得到大量结果,例如:https ://www.cambridge.org/core/journals/numerical-mathematics-theory-methods-and-applications/article/ abs/mesh-quality-and-more-detailed-error-estimates-of-finite-element-method/D699D2462841058F48C5DFFEB2274752
在处理结构化网格时,三角形块的对称性可能会抵消误差估计中的附加项,从而导致更高阶的收敛。例如在三角形网格上,人们会期望 P1,拉格朗日有限元具有,但在具有对称性的网格上,被观察到。
有两个错误来源,对于您的两个离散化,每个错误来源都是不同的。
截断误差,也称为离散性错误。这导致了通过离散模版近似拉普拉斯的事实。即使你精确地求解线性系统,这个错误仍然存在;减少它的唯一方法是使用更精细或更准确的离散化。由于您没有准确指定在每种情况下使用的离散化,因此无法说出离散化误差的差异有多大。
线性求解器中的错误。由于您正在计算有限精度算术,因此您将无法获得离散化给出的线性代数系统的精确解。如您所知,舍入误差的影响会因问题的调节以及您使用的算法的稳定性而被放大。MATLAB 的反斜杠运算符使用多种算法,具体取决于相关矩阵的结构。它可以使用具有更好的带状矩阵具有更好稳定性的算法,从而导致误差较小(即使矩阵具有类似的条件号)。
您看到的差异似乎很可能是由于#1,但不能根据您所写的内容排除#2。此外,考虑第三种可能性可能会有所帮助:非结构化网格代码中存在错误(这必然比结构化网格代码更复杂)。量化“更好”的意思会很有用。如果两个解决方案在细化后似乎收敛到同一事物,则不太可能出现错误。