PDE三巨头:热传导方程、波动方程和拉普拉斯方程
偏微分方程 Partial Differential Equation
ODE和PDE
我学术生涯(如果我有所谓学术生涯)的前半部分,都在玩ODE,也就是常微分方程(组),大部分时候都是ODE+代数方程;人生真的就像是一盒巧克力,到退休突然一头撞进我一直刻意回避的偏微分方程(组)。大概率也是因为退休什么都不在乎了,所以才开始玩PDE。玩过一段时间的野路子,还是回头把《数学物理方程》捡起来准备重新学习一下。以前学《数学物理方程》的时候,Matlab还不是很熟练,当然软件的功能也不如现在强大。现在我的Matlab力已经达到了一个新的高度,可以考虑把《数学物理方程》重新学习一下,或者从数值求解的角度,能够得到一些新的收获。退休混吃等死,干什么不是干呢?
从物理上来看,通常我们在考虑ODE时,一般会考虑一些物理状态随时间或者空间某个维度的变化。通常是时间或者时间的等价量。而PDE则是考虑物理状态随时间和空间(或者空间的多个维度)的变化。这就是PDE和ODE的区别。PDE与ODE相比,就是维数的区别,也就是自变量个数是一个还是多个。求解$u=f(x)$是ODE,求解$u=f(t, x_1, \ldots)$或者$u=f(x_1, x_2, \ldots)$是PDE。
从数学上来看,ODE的自变量是一个变量,而PDE的自变量是多个变量。
$$ \frac{du}{dt} = f(t, u) $$这是典型的ODE,而PDE则是
$$ \frac{\partial u}{\partial t} = f(t, x, u, \frac{\partial u}{\partial x}) $$从上面的术学符号可以看到,ODE中是导数$\frac{du}{dt}$,而PDE中是偏导数$\frac{\partial u}{\partial t}, \frac{\partial u}{\partial x}$。我们通常把偏导数写成下标的形式。
$$ \begin{aligned} &u_x = \frac{\partial u}{\partial x}\\\\ &u_{xx} = \frac{\partial^2 u}{\partial x^2}\\\\ &u_{xy} = \frac{\partial^2 u}{\partial x \partial y} \end{aligned} $$通常,考虑到实际情况,我们会忽略求偏导的顺序,比如$u_{xy} = u_{yx}$。
PDE的分类
按照偏微分的最高阶次,PDE可以分为:
- 一阶偏微分方程,$\frac{\partial u}{\partial t} = f(x, u, t)$
- 二阶偏微分方程,$\frac{\partial^2 u}{\partial t^2} = f(x, u,t, \frac{\partial u}{\partial x})$
- 三阶偏微分方程,$\frac{\partial^3 u}{\partial t^3} = f(x, u,t, \frac{\partial u}{\partial x}, \frac{\partial^2 u}{\partial x^2})$
对于通用形式如下的方程,
$$ a u_{xx} + b u_{xy} + c u_{yy} + d u_x + f u_y + gu = 0 $$其中$a, b, c, d, f, g$是常数。根据$b^2 - 4ac$的符号,可以将PDE分为三类:
- $b^2 - 4ac > 0$,双曲型
- $b^2 - 4ac = 0$,抛物型
- $b^2 - 4ac < 0$,椭圆型
典型的,三类方程的代表
- 抛物型方程,如热传导方程
- 双曲型方程,如波动方程
- 椭圆型方程,如拉普拉斯方程
我们这里直接跳过一般介绍PDE会介绍的初始条件、边界条件、线性与非线性、分离变量法、特征线法等内容,直接来看看PDE中最为经典的三个方程:热传导方程、波动方程和拉普拉斯方程。
经典三方程
热传导方程 Heat Equation
温度是一个很有意思的量,对热力学和温度认识不深的时代,温度被当做是物质蕴含的一种特性,是物质的属性。摄氏度按照水的冰点和沸点划分为0摄氏度和100摄氏度。事实上,温度是物体分子热运动的度量,温度越高,分子的热运动越剧烈。在这个意义上,温度的零度应该是绝对零度,也就是分子的热运动停止。绝对零度是-273.15摄氏度。
而物体中高温区域和低温区域之间温度差异会导致分子的热运动从高温区域向低温区域传递,这个过程就是热传导。这个过程中,
热传导方程描述了分子运动在宏观上的表现,当考虑杆的温度分布变化,以位置$x$和时间$t$的温度$u(x, t)$作为因变量,满足如下方程:
$$ u_t = \alpha^2 u_{xx} $$其中,$\alpha$是热扩散系数,通常为如下形式。
$$ \alpha = \frac{k}{\sigma \rho} $$其中,$k$是热导率,$\sigma$是比热容,$\rho$是密度。
这个动力学过程被称为是diffusion,扩散。热传导方程是一个抛物型方程。
波动方程 Wave Equation
波动方程描述了波动在空间和时间上的传播过程。以位置$x$和时间$t$的位移$u(x, t)$作为因变量,满足如下方程:
$$ u_{tt} = c^2 u_{xx} $$其中,$c$是波速,通常为如下形式。
$$ c = \sqrt{\frac{E}{\rho}} $$其中,$E$是弹性模量,$\rho$是密度。
波动方程是一个双曲型方程。
拉普拉斯方程 Laplace Equation
拉普拉斯方程描述了物理状态在空间上的分布。以位置$x$和时间$t$的物理状态$u(x, t)$作为因变量,满足如下方程:
$$ \nabla^2 u = 0 $$其中,$\nabla^2$是拉普拉斯算子。拉普拉斯方程是一个椭圆型方程。
数值求解
有限差分方法 (FDM)
有限差分方法是最早发展起来的数值方法之一,其主要特点:
- 直接在网格点上用差分代替微分
- 将连续问题离散化为代数方程组
- 实现简单,易于理解和编程
- 适用于规则几何形状的问题
FDM 的基本思想:
- 用前向差分、后向差分或中心差分近似导数
- 将偏微分方程转化为代数方程组
- 通过求解代数方程组得到离散点上的近似解
FDM 的局限性:
- 难以处理复杂几何形状
- 在非结构化网格上难以应用
- 高阶导数的差分格式可能不稳定
- 在边界处需要特殊处理
有限差分(FD)方法是一种非常便捷的数值近似方法。现代计算机的普及更是放大了这种便利性,因为许多有限差分计算方案都很容易在 MATLAB 或其他编程语言中实现。尽管有限差分近似在某种意义上是求解常微分方程和偏微分方程最"简单"、最直接的数值方法,但它们绝不是唯一的方法。
有限元方法 (FEM)
有限元方法与有限差分方法(在离散空间域上近似导数)类似,因为它也涉及将问题域分解为离散的部分——“有限元”,但相似之处仅此而已。该方法:
- 创建局部解的近似
- 通过将它们拼接在一起构造全局近似
- 可追溯到 1915-1925 年,特别是 Boris Grigorievich Galerkin (1871-1945) 和 Richard Courant (1888-1972) 的工作
有限体积方法 (FVM)
有限体积方法可以与有限差分或有限元方法相比较,因为它也以代数方程的形式表示和求解偏微分方程。与有限元方法不同:
- FVM 在单元格(“有限体积”)内构造解的近似
- 在创建的网格上的每个点周围的小体积内评估通量
- 在每个有限体积表面评估通量
- 首次由 McDonald 在 1971 年引入计算流体动力学
- 后来由 Mac-Cormack 和 Paullay 在 1972 年进一步发展
FVM 的主要特点:
- 具有守恒性(因为进入给定体积的通量与离开相邻体积的通量相同)
- 允许在非结构化网格上简单地应用于复杂几何体
谱方法
最后要介绍的是谱方法,之所以这样命名是因为它们:
- 使用截断的特征函数级数近似解
- 实际上使用截断的(广义)傅里叶级数
- Galerkin 和 Cornelius Lanczos (1893-1974) 等人在这一领域做出了重要贡献
文章标签
|-->fea |-->fem |-->matlab |-->math |-->pde |-->heat |-->wave |-->laplace
- 本站总访问量:次
- 本站总访客数:人
- 可通过邮件联系作者:Email大福
- 也可以访问技术博客:大福是小强
- 也可以在知乎搞抽象:知乎-大福
- Comments, requests, and/or opinions go to: Github Repository