数值方法中有限元法、有限差分法和有限体积法的区别
有限差分法(FDM)是计算机数值模拟中最早使用的方法,至今仍被广泛使用。该方法将解域划分为差分网格,并用有限数量的网格节点代替连续解域。有限差分法是利用泰勒级数展开等方法,用网格节点上函数值的差商代替控制方程中的导数进行离散化,从而建立一个以网格节点上的值为基础的代数方程组。网格节点作为未知数。该方法是一种将微分问题直接转化为代数问题的近似数值求解方法。数学概念直观,表达式简单。它是一种较早且相对成熟的数值方法。
1.2 差分格式
(1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。
(2)从空间形态的差异来看,可分为中心格式和逆向格式。
(3)考虑到时间因素的影响,差分格式还可分为显式格式、隐式格式、显式与隐式交替格式等。
目前常见的差分格式主要是上述形式的组合,不同的组合构成不同的差分格式。差分法主要适用于结构化网格。网格的步长一般根据实际地形条件和库朗稳定性条件来确定。
1.3 构造差异的方法
构造差异的方法有很多种。目前主要采用泰勒级数展开法。其基本差分表达式主要有三种形式:一阶前向差分、一阶后向差分、一阶中心差分和二阶中心差分等。前两种格式为一阶计算精度,后两种格式为一阶计算精度。格式为二阶计算精度。通过组合不同的时间和空间差分格式,可以组合不同的差分计算格式。
2. FEM
2.1 概述
有限元方法的基础是变分原理和加权残差法。其基本解决思想是将计算域划分为有限个不重叠的单元。在每个单元中,选择一些适当的节点作为解函数的插值点。将微分方程中的变量重写为由各变量的节点值或其导数与选定的插值函数组成的线性表达式,并利用变分原理或加权余数法离散求解微分方程。采用不同的权函数和插值函数形式构成不同的有限元方法。
2.2 原理
有限元方法首先应用于结构力学,后来随着计算机的发展,逐渐应用于流体力学和土力学的数值模拟。有限元方法将计算域离散地划分为有限个不重叠且相互连接的单元,在每个单元中选择基函数,利用单元基函数的线性组合来逼近单元中的真解。单元。整个计算域上的整体基函数可以看作是由各个单元的基函数组成的,整个计算域内的解可以看作是由所有单元上的近似解组成的。在河道数值模拟中,常见的有限元计算方法有里兹法、伽辽金法、最小二乘法等,它们是从变分法和加权残差法发展而来的。
有限元法还根据所使用的权重函数和插值函数的不同,分为多种计算格式。
(1)在权函数的选择方面,有分配法、矩量法、最小二乘法和伽辽金法;
(2)从计算单元网格的形状来分,有三角形网格、四边形网格和多边形网格;
(3)根据插补函数的精度,分为线性插补函数和高阶插补函数。
不同的组合也构成不同的有限元计算格式。
对于权函数,伽辽金法以权函数作为逼近函数中的基函数;最小二乘法使权函数等于余数本身,内积最小值为平方误差最小;在配置方法中,首先在计算域中选择N个配置点。令近似解严格满足所选N个配置点处的微分方程,即令方程裕度在配置点处为0。插值函数一般由不同次幂的多项式组成,但也可以用三角函数或指数函数组成的乘积来表示,但最常用的多项式插值函数是多项式。
有限元插值函数分为两类。一类只要求插值多项式本身在插值点取已知值,称为拉格朗日多项式插值;另一种不仅要求插值多项式本身,而且要求其导数值在插值点处取已知值,称为Hermite多项式插值。单位坐标包括笛卡尔直角坐标系和无量纲自然坐标,包括对称和不对称。常用的无量纲坐标是局部坐标系,其定义取决于单元的几何形状。一维被视为长度比,二维被视为面积比,三维被视为体积比。二维有限元中,最早使用的是三角形单元。最近,四边形等参单元的使用越来越多。对于二维三角形和四边形供电单元,常用的插值函数有拉格朗日插值直角坐标系中的线性插值函数和二阶或高阶插值函数、面积坐标系中的线性插值函数、二阶插值函数或高阶插值函数。阶次插值函数等
2.3 基本原理及解题步骤
对于有限元法来说,其基本思想和求解步骤可以概括为:
(3)确定单元基函数,根据单元内节点的数量和近似解精度的要求,选择满足一定插值条件的插值函数作为单元基函数。有限元法中的基函数是在单元中选择的。由于各单元具有规则的几何形状,因此在选择基函数时可以遵循一定的规则。
(4)单元分析:用单元基函数的线性组合表达式逼近每个单元内的解函数;然后将近似函数代入积分方程,对单位面积进行积分,得到待定系数(即单元中各单元)的代数方程组(节点的参数值)称为单位有限元方程。
(5)整体综合:得到单位有限元方程后,将区域内的所有单位有限元方程按照一定的规则累加起来,形成整体有限元方程。
(6)边界条件的处理:边界条件一般有三种形式,分为本质边界条件(狄利克雷边界条件)、自然边界条件(黎曼边界条件)、混合边界条件(柯西边界条件)。对于自然边界条件,它们通常在积分表达式中自动满足。对于基本边界条件和混合边界条件,需要根据一定的规则修改并满足整体有限元方程。
(7) 求解有限元方程:根据边界条件修正的整体有限元方程是一个包含所有待定未知数的封闭方程组。它们可以通过使用适当的数值计算方法来求解,以获得每个节点的函数值。
3. 有限体积法
FiniteVolumeMethod 也称为控制体积法。其基本思想是:将计算区域划分为一系列不重复的控制体,每个网格点周围都有一个控制体;对每个控制体需要求解的微分方程进行积分,得到一组离散方程。未知数是因变量在网格点处的值。为了确定控制体积的积分,需要假设网格点之间的值的变化模式,即值的分段分布的分布轮廓。从积分区域的选择方法来看,有限体积法属于加权残差法中的子区域法;从未知解的逼近方法来看,有限体积法属于采用局部逼近的离散方法。总之,分区法是有限体积展开的基本方法。有限体积法的基本思想很容易理解,可以引出直接的物理解释。离散方程的物理意义是因变量在有限大小的控制体积中的守恒原理,就像微分方程表达了因变量在无限小的控制体积中的守恒原理一样。有限体积法得到的离散方程要求对于任意一组控制体积,当然对于整个计算区域都满足因变量的积分守恒。这是有限体积法的一个有吸引力的优点。有一些离散方法,如有限差分法,只有当网格非常细时,离散方程才满足积分守恒;而有限体积法即使在粗网格的情况下也能表现出精确的积分守恒。就离散方法而言,有限体积法可以看作是有限元法和有限差分法之间的中间体。有限元方法必须假设网格点之间的值的变化模式(即插值函数)并将其用作近似解。有限差分法只考虑网格点处的值,不考虑网格点之间的值如何变化。有限体积法只求节点值,与有限差分法类似;但有限体积法求控制体积的积分时,必须假设数值在网格点之间的分布,这与有限元法类似。在有限体积法中,插值函数仅用于计算控制体积的积分。得到离散方程后,插值函数可以忘记;如有必要,可以对微分方程中的不同项使用不同的插值函数。
4. 比较分析
有限差分法(FDM) : 直观、理论成熟且极其准确。但不规则区域的处理比较麻烦。虽然网格生成允许FDM应用于不规则区域,但它对区域的连续性有严格的要求。使用FDM的优点是易于编程且易于并行化。
有限体积法:适用于流体计算,可应用于不规则网格,适用于并行性。但精度基本上只有二阶。 FVM的优势逐渐显现,FVM在应力、应变、高频电磁场方面的特殊优势正在受到重视。
本文由发布,不代表一本线高考网立场,转载联系作者并注明出处:https://www.yibenxian.com/news/73799.html
用户评论
这篇文章讲得真好!刚上大学学到这些方法,一直不太明白它们之间具体有什么不同。看这篇博客后我的理解豁然开朗了,尤其是关于有限元法和有限差分法的解析比较清晰易懂。
有14位网友表示赞同!
其实我觉得数值方法里还有很多别的算法呢,比如谱元方法就挺强大的!但这三者确实是最常用的一种,讲得挺全面的,赞赞赞!
有8位网友表示赞同!
我本科的时候学过有限元法,当时感觉还是比较复杂啊。不过这篇博客的讲解比较通俗易懂,现在再回温一下,觉得有进步了!
有6位网友表示赞同!
说真的,这些方法在实际应用中各有优劣吧?比如有限体积法在流体力学模拟上很有优势,对边界条件更敏感,但是效率可能相对较低?这方面可以更详细地解释一下啊。
有6位网友表示赞同!
finite volume method 是我最喜欢的!因为它简单易求解,而且能处理复杂的多孔介质问题,在工程实践中应用很广泛。这篇博文写的很好,对我理解有限体积法很有帮助!
有9位网友表示赞同!
看了这三者的描述,我还是比较倾向于有限差分法,因为理论基础相对简单一些,编程实现也比较容易,入门门槛低吧?
有14位网友表示赞同!
有限元法的精度一般比有限差分法高很多,对复杂边界条件也能处理得较好。但需要注意的是,有限元法计算量较大,对于大规模问题效率不够理想。这方面的结论需要更具体的数据支持才能说服我。
有7位网友表示赞同!
文中提到有限元法在结构分析和热传导领域应用广泛,我也觉得确实如此!但是我觉得也可以结合实际案例来展示一下不同的方法适用范围,这样更容易理解!
有14位网友表示赞同!
对数值方法感兴趣很久了!这篇博文讲解得很有深度,让我终于明白这些方法之间的差异。希望能看到更多关于数值方法的进阶内容,例如更复杂的方法和应用案例,那才更有吸引力。
有5位网友表示赞同!
有限元法在仿真模拟方面用的很多啊!我最近也在学习,对有限体积法不是很了解,这篇博客正好解答了我的疑问!
有7位网友表示赞同!
还是觉得有限差分法太简单了,对于一些高精度的问题可能不够精准。希望以后能学习更多更先进的数值方法!
有9位网友表示赞同!
这篇文章介绍得比较全面,只是图画和案例分析可以再多一些,这样更容易理解这些复杂的概念。
有15位网友表示赞同!
有限差分法其实也挺实用的,对于一维或两维问题来说,效率相对较低确实不是很大缺点啊!
有11位网友表示赞同!
数值方法真是个奇妙的领域!这篇文章让我对有限元法、有限差分法和有限体积法有了更深刻的理解。要学习这些方法还需要不少时间和努力,希望可以早日掌握它们的使用技巧!
有7位网友表示赞同!
我之前学习过有限元法的基础概念,这篇博客讲得非常深入且易懂,让我对有限元的原理有了更为清晰的认识!感谢作者分享!
有13位网友表示赞同!
个人觉得,每种方法都有各自的特点和局限性。选用哪种方法取决于具体的应用场景和需要考虑的因素。这方面可以再多阐述一下,以便读者更全面地理解!
有6位网友表示赞同!
这篇博文虽然写的清晰易懂,但我还是觉得有些概念比较抽象,希望能附上更多实际例子的讲解,这样更有帮助!
有6位网友表示赞同!
数值方法真的是一个让人深思熟虑的领域,这篇文章总结得很有条理,让我对有限元法、有限差分法和有限体积法有了更清楚的认识…
有10位网友表示赞同!
我还在学习这些数值方法,感谢作者写的博客!让我能更清晰地理解不同方法的特点和应用场景!希望以后也能看到更多关于数值方法的文章...
有9位网友表示赞同!