看论文总是会看到自己并不熟悉的名词,简单记录一下
查了几个公式,发现自己好像明白了又没有明白,就问了下chatGPT:
Certainly! The Galerkin projection method is a mathematical technique used to solve a wide variety of problems in engineering, physics, and other fields. It involves projecting a complex function onto a simpler function space to simplify the problem and find an approximate solution.
To explain this method, let's consider a simple example. Suppose we want to approximate a function f(x) using a polynomial of degree two, which we'll call p(x). In other words, we want to find a polynomial p(x) that is as close as possible to f(x) within a certain interval [a,b].
To use the Galerkin projection method, we first need to choose a set of basis functions that we'll use to approximate p(x). A common choice is to use the set {1, x, x^2}, which are the basis functions for polynomials of degree two.
Next, we'll project f(x) onto this basis. This means we'll find the coefficients c_0, c_1, and c_2 that best approximate f(x) using the basis functions:
c_0 * 1 + c_1 * x + c_2 * x^2 ≈ f(x)
We can find these coefficients by setting up a system of equations and solving for them. For example, we can choose three points in the interval [a,b], say a, (a+b)/2, and b, and require that the polynomial p(x) satisfies the equation at each of these points:
c_0 * 1 + c_1 * a + c_2 * a^2 = f(a)
c_0 * 1 + c_1 * (a+b)/2 + c_2 * ((a+b)/2)^2 = f((a+b)/2)
c_0 * 1 + c_1 * b + c_2 * b^2 = f(b)
Solving this system of equations for c_0, c_1, and c_2 will give us an approximate solution for p(x) that is as close as possible to f(x) within the interval [a,b].
Overall, the Galerkin projection method is a powerful tool for approximating complex functions using simpler functions. It's used in many areas of engineering and science to solve a wide variety of problems.
我自己的理解大概就是:
- 我们已知一个复杂的函数 f(好多阶之类的)
- 我们想用一个简单的二阶函数 p 去拟合这个 f
- 二阶函数一般包含{1, x, x^2},三种自变量,为这三个自变量各自设定一个系数c = {c_0, c_1, c_2},于是:
p(x) = c_0*1+c_1*x+c_2*x^2 - 这个时候p还都是未知数呢,得求出来啊,就找三个原来那个函数上的点,f(m), f(n), f(o),带回到函数p中,组成方程组:
p(m) = c_0*1+c_1*m+c_2*m^2= f(m)
p(n) = c_0*1+c_1*n+c_2*n^2 =f(n)
p(o) = c_0*1+c_1*o+c_2*o^2 =f(o) - 三个未知数,三个等式,求出c,
- 得到新的函数 p,我们可以说函数p在[m,n,o]这个域内,是复杂函数f的拟合函数
Answer from kiwi:
伽辽金法采用微分方程对应的弱形式,其原理为通过选取有限多项试函数(又称基函数或形函数),将它们叠加,再要求结果在求解域内及边界上的加权积分(权函数为试函数本身)满足原方程,便可以得到一组易于求解的线性代数方程,且自然边界条件能够自动满足。
zhihu
很清楚明白的解答,把pde转化为有唯一解的ode: https://zhuanlan.zhihu.com/p/161372939
一句话总结
离散化、找基底、求系数
other related
虽然有限元方法在流体力学中应用时主要采用的就是伽辽金法,但是对于某些流体力学问题,如对流扩散问题会经常因为有限元网格不恰当而造成有限元数值解的失真或振荡。对于这个缺陷,可以通过加密网格解决,但是这样会导致计算量大大增加,并不实用;此外Heinrich和Zienkiewicz等人于1977年提出采用迎风格式优化伽辽金法,从而在不增加计算量的基础上解决了这个问题。
另外伽辽金法及其一系列改进方法,如混合伽辽金法,最小二乘/伽辽金法等,都会产生非正定对称刚度矩阵,从而导致其方程组求解的计算量较大,所以至今未能大范围用于计算流体力学中。
有限元方法 (Finite Element Method, FEM)是一种求解由偏微分方程描述或可表示为泛函极小化问题的数值方法。感兴趣的域被表示为有限单元(finite elements)的集合。有限元中的逼近函数是根据所求物理场的节点值确定的。FEM将一个连续的物理问题转化为节点值未知的离散化有限元问题,并得到一个线性方程组,求解该方程组就可以获得待求的物理量。有限元内部的值可以使用节点值恢复。
值得一提的是,FEM的两个特点:
- 在有限元上的物理场的分段近似提供了很好的精度,即使用简单的近似函数(增加单元的数量,我们可以达到任意精度)。
- 局部逼近将导致离散问题的方程组稀疏,这有助于解决具有大量节点未知数的问题。
为了说明有限元方法是如何工作的,我们列出如下几个有限元的主要求解步骤
离散化。第一步是将求解域划分为有限单元。有限元网格通常由预处理程序生成。网格的描述由几个数组组成,其中主要是节点坐标和单元的连通性。
选择插值函数。插值函数用于对单元上的场变量进行插值,这里通常选择多项式作为插值函数。多项式的次数取决于单元上的节点数。
寻找单元属性。建立待求函数的结点值与其他参数联系起来的矩阵方程,此步骤有多种方法可以使用,但最方便的方法是伽辽金方法(Galerkin method)。
组装单元方程。要找到整个求解区域的全局方程组,必须将所有的单元方程组合在一起。在组装过程中需要用到单元之间的连通性。同时,在求解之前还需要施加边界条件(边界条件不在单元方程中考虑)。
求解全局方程组。有限元整体方程组具有典型的稀疏、对称和正定性质,可采用直接法和迭代法来求解该方程组。待求函数在结点处的值被当做最终的解。
计算其他量。对于很多情况,我们需要计算其他的量,例如在力学问题中,除了位移外,还需要考虑应变和应力,这些位移是在求解整体方程组后得到的。
————————————————
版权声明:本文为CSDN博主「Feyily」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/TYILY/article/details/116496208