有限元分析简介及伽辽金法

本文介绍了有限元方法(FEM),一种基于偏微分方程的数值求解技术。通过将连续域划分为有限单元,FEM通过离散化问题并用线性方程组求解节点值。伽辽金方法在有限元方程表述中起关键作用,通过最小化残差来构造单元方程。通过对一维问题的示例,展示了如何使用伽辽金法和有限元方法求解问题,强调了增加单元数量和提高形函数复杂度可以提高解的精度。
摘要由CSDN通过智能技术生成
1.1 什么是有限元方法

有限元方法(Finite Element Method, FEM)是一种求解由偏微分方程描述或可表示为泛函极小化问题的数值方法。感兴趣的域被表示为有限单元(finite elements)的集合。有限元中的逼近函数是根据所求物理场的节点值确定的。FEM将一个连续的物理问题转化为节点值未知的离散化有限元问题,并得到一个线性方程组,求解该方程组就可以获得待求的物理量。有限元内部的值可以使用节点值恢复。

值得一提的是,FEM的两个特点:

  1. 在有限元上的物理场的分段近似提供了很好的精度,即使用简单的近似函数(增加单元的数量,我们可以达到任意精度)。
  2. 局部逼近将导致离散问题的方程组稀疏,这有助于解决具有大量节点未知数的问题。
1.2 FEM是如何工作的

为了说明有限元方法是如何工作的,我们列出如下几个有限元的主要求解步骤

  1. 离散化。第一步是将求解域划分为有限单元。有限元网格通常由预处理程序生成。网格的描述由几个数组组成,其中主要是节点坐标和单元的连通性。

  2. 选择插值函数。插值函数用于对单元上的场变量进行插值,这里通常选择多项式作为插值函数。多项式的次数取决于单元上的节点数。

  3. 寻找单元属性。建立待求函数的结点值与其他参数联系起来的矩阵方程,此步骤有多种方法可以使用,但最方便的方法是伽辽金方法(Galerkin method)。

  4. 组装单元方程。要找到整个求解区域的全局方程组,必须将所有的单元方程组合在一起。在组装过程中需要用到单元之间的连通性。同时,在求解之前还需要施加边界条件(边界条件不在单元方程中考虑)。

  5. 求解全局方程组。有限元整体方程组具有典型的稀疏、对称和正定性质,可采用直接法和迭代法来求解该方程组。待求函数在结点处的值被当做最终的解。

  6. 计算其他量。对于很多情况,我们需要计算其他的量,例如在力学问题中,除了位移外,还需要考虑应变和应力,这些位移是在求解整体方程组后得到的。

1.3 有限元方程的表述

有很多方法可以将问题的物理形式转换成有限元离散后的形式。如果物理问题是由偏微分方程描述的,则经常使用的是伽辽金方法(Galerkin method)。如果文理问题是由泛函最小化描述的,则经常使用变分公式(variational formulation)将其转换为有限元方程。

1.3.1 伽辽金方法(Galerkin method)

让我们先从简单的一维问题开始,介绍使用伽辽金方法的有限元公式。假设我们需要求解下面方程的数值解
a d 2 u d x 2 + b = 0 , 0 ≤ x ≤ 1 (1) a\frac{d^2u}{dx^2}+b=0,\quad 0 \leq x \leq 1 \tag{1} adx2d2u+b=0,0x1(1)
边界条件为
u ∣ x = 0 = 0 a d u d x ∣ x = 2 L = R \begin{array}{l} \left.u\right|_{x=0}=0 \\ \left.a \frac{d u}{d x}\right|_{x=2 L}=R \end{array} ux=0=0adxdux=2L=R
其中 u u u是待求解量。我们将使用下图所示的两个线性一维有限元来解决这个问题。

首先我们考虑图1.1右半部分的有限元,该单元拥有两个节点,则近似函数 u ( x ) u(x) u(x)可以表示为
u = N 1 u 1 + N 2 u 2 = [ N ] { u } [ N ] = [ N 1 N 2 ] { u } = { u 1 u 2 } \begin{array}{l} u=N_1u_1+N_2u_2=[N]\{u\} \\ [N]=\left[\begin{array}{c}N_1 & N_2\end{array}\right] \\ \{u\}=\left\{\begin{array}{c}u_1 & u_2\end{array}\right\} \end{array} u=N1u1+N2u2=[N]{ u}[N]=[N1N2]{ u}={ u1u2}
这里的 N i N_i Ni也称为形函数(shape functions)
N 1 = 1 − x − x 1 x 2 − x 1 N 2 = x − x 1 x 2 − x 1 N_1=1-\frac{x-x_1}{x_2-x_1} \\ N_2=\frac{x-x_1}{x_2-x_1} N1=1x2x1xx1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值