流体力学数值方法 -...

277
流体力学数值方法 章本照 印建安 张宏基 编著 机械工业出版社

Transcript of 流体力学数值方法 -...

流体力学数值方法

章本照 印建安 张宏基 编著

机 械 工 业 出 版 社

这是一本供初学者系统掌握流体力学常用数值方法———有限元方

法、边界元法以及有限分析法的入门参考书和教科书。具有概念明

确、深入浅出、易于自学、重视解题方法与应用的特点。

全书共 8 章。主要内容有 : 作为有限元方法数学基础的变分原理

与加权余量法 , 有限元方法的基本原理与解题步骤 , 各类单元基函

数 , 流体力学的典型应用 ; 边界元法的基本原理、解题步骤与典型应

用 ; 有限分析法的基本原理、解题步骤与典型应用。最后还介绍将不

规则区域变换为矩形规则区域的边界拟合坐标。

本书可作为高等院校有关专业的教学用书 , 同时也是一本工程科

技人员从事流体力学数值计算的入门参考书。

图书在版编目 ( CIP) 数据

流体力学数值方法�/章本照等编著 . —北京 : 机械工业出版社 ,

2003.6

ISBN 7-111-11985-1

Ⅰ . 流 ... Ⅱ . 章 ... Ⅲ . 流体力学—数值计算 Ⅳ.035

中国版本图书馆 CIP 数据核字 (2003) 第 029386 号

机械工业出版社 (北京市百万庄大街 22 号 邮政编码 100037)

策划编辑 : 张亚秋 责任编辑 : 张亚秋

版式设计 : 张世琴 责任校对 : 韩 晶

封面设计 : 陈 沛 责任印制 : 闫 焱

北京瑞德印刷有限公司印刷·新华书店北京发行所发行

2003 年 7 月第 1 版·第 1 次印刷

1000mm×1400mm B5·8.625 印张·336 千字

定价 : 32.00 元

凡购本书 , 如有缺页、倒页、脱页 , 由本社发行部调换

本社购书热线电话 (010) 68993821、88379646

封面无防伪标均为盗版

这是一本供初学者系统掌握流体力学常用数值方法———有限元方

法、边界元法以及有限分析法的入门参考书和教科书。具有概念明

确、深入浅出、易于自学、重视解题方法与应用的特点。

全书共 8 章。主要内容有 : 作为有限元方法数学基础的变分原理

与加权余量法 , 有限元方法的基本原理与解题步骤 , 各类单元基函

数 , 流体力学的典型应用 ; 边界元法的基本原理、解题步骤与典型应

用 ; 有限分析法的基本原理、解题步骤与典型应用。最后还介绍将不

规则区域变换为矩形规则区域的边界拟合坐标。

本书可作为高等院校有关专业的教学用书 , 同时也是一本工程科

技人员从事流体力学数值计算的入门参考书。

图书在版编目 ( CIP) 数据

流体力学数值方法�/章本照等编著 . —北京 : 机械工业出版社 ,

2003.6

ISBN 7-111-11985-1

Ⅰ . 流 ... Ⅱ . 章 ... Ⅲ . 流体力学—数值计算 Ⅳ.035

中国版本图书馆 CIP 数据核字 (2003) 第 029386 号

机械工业出版社 (北京市百万庄大街 22 号 邮政编码 100037)

策划编辑 : 张亚秋 责任编辑 : 张亚秋

版式设计 : 张世琴 责任校对 : 韩 晶

封面设计 : 陈 沛 责任印制 : 闫 焱

北京瑞德印刷有限公司印刷·新华书店北京发行所发行

2003 年 7 月第 1 版·第 1 次印刷

1000mm×1400mm B5·8.625 印张·336 千字

0 001—3 000

定价 : 25.00 元

凡购本书 , 如有缺页、倒页、脱页 , 由本社发行部调换

本社购书热线电话 (010) 68993821、88379646

封面无防伪标均为盗版

前 言

在流体力学理论研究和工程应用中 , 描述流体流动的数学方程是非线性偏微

分方程组 , 只有对极少数的简化模型可以通过数学方法 , 获得理论分析解 , 多数

情况下 , 只能通过数值计算的途径进行求解。这里说的“数值计算”, 是指利用

高速电子计算机 , 对描述流体力学具体问题的偏微分方程初边值问题进行离散化

计算 , 从而获得流动区域中有限个离散点上流体物理量的求解方法。这种通过数

值计算获得流动区域中离散点上数值解的方法 , 通常称为流体力学数值方法。随

着高速电子计算机的发展与普及 , 数值方法越来越受到重视 , 已成为流体力学理

论研究和工程应用的重要手段。

本书的目的是为读者系统地介绍流体力学中常用的三种数值方法———有限元

方法、边界元法 , 以及有限分析法。

需要指出 , 流体力学中还有一种应用相当广泛的数值方法———有限差分法。

由于有限差分法发展最早 , 内容丰富 , 而且已有不少专著 , 因此本书中不包括这

方面内容。

流体力学数值方法虽然有不少种 , 它们的数学原理也各不相同 , 但有两点却

是所有方法都具备的。一是离散化 : 将连续的求解区域划分成网格或单元子区

域 , 同时在网格或单元内设置结点 , 求解区域中的连续函数将被离散为有限个结

点上的函数值。二是代数化 : 通过某种数学原理 , 将描述物理量连续函数的偏微

分方程转化为以有限个结点函数值为待定未知量的代数方程 , 从而将偏微分方程

的求解转化为代数方程的计算。读者在学习本书中的三种数值方法时 , 应注意领

会这两个特点。

另外需要指出 , 本书中介绍的三种数值方法的离散化数值解 , 具有局部解析

解的性质。有限元方法在单元子区域中 , 近似解是以单元基函数线性组合的形式

给出的解析表达式 ; 边界元法所获得的区域内的函数值 , 是以边界单元积分求和

形式给出的解析表达式 ; 有限分析解在单元中是一个无穷级数形式的近似解析

解。当然 , 要确定这些解析表达式中的参数 , 必须先通过代数方程的计算 , 获得

离散点上的函数值。读者在阅读本书时 , 应注意这三种数值方法所具有的局部解

析解的特点。

本书的前 5 章系统地介绍了有限元方法数学基础的变分原理和加权余量法 ,

有限元方法的基本原理和求解步骤 , 各种类型的单元基函数 , 流体力学的典型应

用。第 6 章介绍边界元法的基本原理、求解步骤和典型应用。第 7 章介绍有限分

析法的基本原理、求解步骤和典型应用。最后一章介绍将不规则区域变换成矩形

规则区域的边界拟合坐标 , 这对于边界形状复杂的不规则区域中的流体流动的数

值求解 , 如采用有限分析法、有限差分法是有实用意义的。本书之所以用较大篇

幅介绍有限元方法 , 是因为边界元法和有限分析法在某种意义上 , 都可以看成是

有限元方法的推广 ; 有限元方法的离散化求解思想 , 对于边界元法和有限分析法

具有共同性。

本书的内容在浙江大学力学系的研究生学位课中讲授多次。对于已经具备高

等数学 ( 包括线性代数 )、计算方法和流体力学基础的读者 , 阅读本书将不会发

生困难。作者期望 : 读者通过本书的阅读 , 可以系统地掌握有限元方法、边界元

法 , 以及有限分析法的基本原理与求解方法 , 从而建立起应用这几种数值方法去

解决流体力学理论研究和工程应用中各种具体问题的基础。

作者在编写本书的过程中 , 参考了本书末所列出的部分著作 , 在此对这些著

作的作者表示衷心感谢。由于作者水平所限 , 书中的失误与错漏在所难免 , 敬请

读者批评指正。

作 者

2002 年 12 月于浙江大学

目 录

前言

第1 章 <有限元方法的数学基

础 1⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.1 有限元方法概述 1⋯⋯⋯⋯⋯⋯

1.2 数学物理中的变分原理 3⋯⋯

1.2.1 变分原理实例 3⋯⋯⋯⋯⋯⋯

1.2.2 y对称正算子方程的变分原

理 5⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.2.3 y一般椭圆型方程的变分原

理 9⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.2.4 自然边界条件 12⋯⋯⋯⋯⋯⋯

1.3 Ritz 法 13⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.3.1 y函数空间的基函数与极小

化序列 13⋯⋯⋯⋯⋯⋯⋯⋯⋯

1.3.2 Ritz 法的解题步骤 14⋯⋯⋯⋯

1.3.3 Ritz 法的收敛性 16⋯⋯⋯⋯⋯

1.3.4 计算举例 17⋯⋯⋯⋯⋯⋯⋯⋯

1.4 Galerkin 加权余量法 21⋯⋯⋯⋯

1.4.1 基本思想与解题步骤 21⋯⋯⋯

1.4.2 几种常用的加权余量法 23⋯⋯

1.4.3 Galerkin 法 28⋯⋯⋯⋯⋯⋯⋯

1.5 Ritz-Galerkin 法解题分析 34⋯

1.5.1 解题步骤 34⋯⋯⋯⋯⋯⋯⋯⋯

1.5.2 线性问题的求解 35⋯⋯⋯⋯⋯

1.5.3 非线性问题的求解 39⋯⋯⋯⋯

1.5.4 y微分方程初值问题的求

解 40⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

习题 41⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第2 章 有限元方法 43⋯⋯⋯⋯⋯⋯⋯

2.1 有限元方法基本原理 43⋯⋯⋯

2.1.1 有限元方法基本思想 43⋯⋯⋯

2.1.2 有限元方法解题步骤 44⋯⋯⋯

2.2 �有限元方法解题分析 45⋯⋯⋯

2.2.1 写出积分表达式 45⋯⋯⋯⋯⋯

2.2.2 区域剖分 45⋯⋯⋯⋯⋯⋯⋯⋯

2.2.3 确定单元基函数 47⋯⋯⋯⋯⋯

2.2.4 单元分析 50⋯⋯⋯⋯⋯⋯⋯⋯

2.2.5 总体合成 51⋯⋯⋯⋯⋯⋯⋯⋯

2.2.6 边界条件处理 53⋯⋯⋯⋯⋯⋯

2.2.7 解总体有限元方程 55⋯⋯⋯⋯

2.3 �有限元方法求解二维问题

实例 55⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

2.3.1 写出积分表达式 56⋯⋯⋯⋯⋯

2.3.2 区域剖分 56⋯⋯⋯⋯⋯⋯⋯⋯

2.3.3 确定单元基函数 57⋯⋯⋯⋯⋯

2.3.4 单元分析 58⋯⋯⋯⋯⋯⋯⋯⋯

2.3.5 总体合成 59⋯⋯⋯⋯⋯⋯⋯⋯

2.3.6 边界条件处理 60⋯⋯⋯⋯⋯⋯

2.3.7 解总体有限元方程 61⋯⋯⋯⋯

2.4 �有限元方法求解非线性

问题 61⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

2.5 �有限元方法求解不定常

问题 63⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

2.6 有限元方法计算程序 65⋯⋯⋯

2.6.1 G有限元方法计算机解题

概述 65⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

2.6.2 计算程序框图 66⋯⋯⋯⋯⋯⋯

2.6.3 GLaplace 方程边值问题计算

源程序 66⋯⋯⋯⋯⋯⋯⋯⋯⋯

习题 73⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第3 章 单元与单元基函数 74⋯⋯⋯

3.1 概述 74⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.1.1 单元形态 74⋯⋯⋯⋯⋯⋯⋯⋯

3.1.2 单元基函数类型 75⋯⋯⋯⋯⋯

3.1.3 y单元基函数的连续性

要求 77⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.1.4 单元自由度 77⋯⋯⋯⋯⋯⋯⋯

3.1.5 y插值基函数多项式的

构成 78⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.1.6 y局部坐标与标准单元 79⋯⋯⋯

3.2 一维单元插值基函数 80⋯⋯⋯

3.2.1 一维局部坐标 80⋯⋯⋯⋯⋯⋯

3.2.2 Lagrange 插值基函数 81⋯⋯⋯

3.2.3 Hermite 插值基函数 83⋯⋯⋯⋯

3.3 �三角形单元 Lagrange 插值

基函数 84⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.3.1 三角形单元的面积坐标 85⋯⋯

3.3.2 y各种结点类型的三角形

单元 86⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.3.3 y曲线边三角形等参数单

元 88⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.3.4 y三角形单元面积坐标的

积分 91⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.4 �四边形单元 Lagrange 插值

基函数 93⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.4.1 y双向结点插值的矩形单

元 94⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.4.2 y边界结点插值的矩形单

元 96⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.4.3 四边形等参数单元 98⋯⋯⋯⋯

3.4.4 y四边形单元局部坐标的

积分 101⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.5 �三角形单元与矩形单元的

Hermite 插值基函数 103⋯⋯⋯

3.5.1 y三角形单元的一阶 Hermite 插

值基函数 103⋯⋯⋯⋯⋯⋯⋯

3.5.2 y矩形单元的一阶 Hermite 插

值基函数 105⋯⋯⋯⋯⋯⋯⋯

3.6 �三维单元 Lagrange 插值基

函数 107⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.6.1 四面体单元 108⋯⋯⋯⋯⋯⋯

3.6.2 矩形六面体单元 109⋯⋯⋯⋯

3.6.3 六面体等参数单元 110⋯⋯⋯

3.6.4 轴对称单元 112⋯⋯⋯⋯⋯⋯

3.6.5 G正方体单元和四面体标准

单元的数值积分 112⋯⋯⋯⋯

习题 113⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第 4 章 �流体力学典型问题的有

限元分析 116⋯⋯⋯⋯⋯⋯⋯

4.1 �理想不可压流体的无旋

流动 116⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

4.1.1 数学方程与边界条件 116⋯⋯

4.1.2 G圆柱体绕流有限元分析

实例 118⋯⋯⋯⋯⋯⋯⋯⋯⋯

4.1.3 G轴对称流动等参数有限

元分析 127⋯⋯⋯⋯⋯⋯⋯⋯

4.1.4 多体绕流问题 133⋯⋯⋯⋯⋯

4.1.5 G具有自由面的位势流动 135⋯

4.2 �不可压粘性流动 140⋯⋯⋯⋯⋯

4.2.1 数学方程与边界条件 140⋯⋯

4.2.2 G基本变量式的有限元解 142⋯

4.2.3 G流函数涡量式的有限元

解 150⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

4.2.4 流函数式的有限元解 152⋯⋯

4.3 浅水环流 154⋯⋯⋯⋯⋯⋯⋯⋯

4.3.1 物理模型 154⋯⋯⋯⋯⋯⋯⋯

4.3.2 边界条件 156⋯⋯⋯⋯⋯⋯⋯

4.3.3 浅水方程 157⋯⋯⋯⋯⋯⋯⋯

4.3.4 浅水方程的有限元分析 159⋯

4.3.5 应用举例 161⋯⋯⋯⋯⋯⋯⋯

习题 163⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第 5 章 �对流扩散问题的迎风有

限元方法 165⋯⋯⋯⋯⋯⋯⋯

5.1 对流扩散方程 165⋯⋯⋯⋯⋯⋯

5.2 �常规有限元分析与解的失

真振荡 167⋯⋯⋯⋯⋯⋯⋯⋯⋯

5.3 一维迎风有限元格式 170⋯⋯

5.4 二维迎风有限元格式 174⋯⋯

5.5 简化的迎风有限元格式 178⋯

5.6 应用实例 181⋯⋯⋯⋯⋯⋯⋯⋯

第6 章 <流体力学边界元法基

础 183⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6.1 边界元法概述 183⋯⋯⋯⋯⋯⋯

6.1.1 边界元法特点 183⋯⋯⋯⋯⋯

6.1.2 边界元法基本思想 184⋯⋯⋯

6.2 �边界元法基本原理和解题

步骤 184⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6.2.1 基本解 185⋯⋯⋯⋯⋯⋯⋯⋯

6.2.2 积分方程 186⋯⋯⋯⋯⋯⋯⋯

6.2.3 边界积分方程 186⋯⋯⋯⋯⋯

6.2.4 y边界积分方程的离散求

解 188⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6.2.5 影响系数矩阵的计算 191⋯⋯

6.2.6 区域内函数值的计算 195⋯⋯

6.3 �不可压无旋流动的线性

边界元解 198⋯⋯⋯⋯⋯⋯⋯⋯

6.3.1 y不可压无旋流动的数学方

程 198⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6.3.2 y线性边界元解题分析 199⋯⋯

6.4 �若干线性算子方程的基

本解 206⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6.5 �非线性问题的边界元解

法 210⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第7 章 流体力学有限分析法 212⋯⋯

7.1 �有限分析法的基本思想与

求解步骤 212⋯⋯⋯⋯⋯⋯⋯⋯

7.1.1 基本思想 212⋯⋯⋯⋯⋯⋯⋯

7.1.2 求解步骤 212⋯⋯⋯⋯⋯⋯⋯

7.2 �椭圆型方程的有限分析

解 216⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.2.1 G边界函数为指数多项式的

有限分析解 216⋯⋯⋯⋯⋯⋯

7.2.2 G边界函数为二次多项式的

有限分析解 225⋯⋯⋯⋯⋯⋯

7.2.3 G边界函数为分段线性多项

式的有限分析解 228⋯⋯⋯⋯

7.2.4 G有限分析法的自动迎风效

应 230⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.3 �不可压无旋流动的有限分

析解 232⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.4 �不可压粘性流动的有限分

析解 234⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.4.1 G给定涡量的流函数方程有

限分析解 234⋯⋯⋯⋯⋯⋯⋯

7.4.2 G流函数涡量式的有限分析

解 238⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.4.3 方形空腔流动计算实例 241⋯

7.4.4 G基本变量式的有限分析

解 242⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.5 �非定常不可压粘性流动的

有限分析解 243⋯⋯⋯⋯⋯⋯⋯

7.6 �非均匀网格的有限分析

解 246⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第 8 章 边界拟合坐标 248⋯⋯⋯⋯⋯

8.1 坐标变换概述 248⋯⋯⋯⋯⋯⋯

8.2 �Laplace 方程定解的边界拟

合坐标 250⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.2.1 基本原理 250⋯⋯⋯⋯⋯⋯⋯

8.2.2 G边界拟合坐标变换的基本

思想 252⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.2.3 G边界拟合坐标变换的求解

步骤 253⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.3 �Poisson 方程定解的边界拟

合坐标 255⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.3.1 基本原理 255⋯⋯⋯⋯⋯⋯⋯

8.3.2 yPoisson 方程控制函数的选

择 259⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.4 �边界拟合坐标的数值方

法 260⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.5 �边界拟合坐标系中的流体

力学方程 263⋯⋯⋯⋯⋯⋯⋯⋯

参考文献 267⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第 1 章 有限元方法的数学基础

1.1 有限元方法概述

随着高速电子计算机日益广泛的应用 , 流体力学中大量复杂问题 , 都希望通

过计算机进行数值求解。有限元方法就是这样一种可以用来求解流体力学问题的

数值计算方法。

工程实际中的流体力学问题 , 根据不同的具体特点 , 可以建立起不同的数学

模型。这种数学模型通常是用一组给定初始条件与边界条件的微分方程来表示。

求解出这类流体力学数学方程的分析解 , 除了为数不多的几个问题外 , 大多是相

当困难的 , 往往需要求助于数值计算。

有限差分法是求解微分方程常用的一种数值计算方法。它的基本思想是将求

解区域划分为有限个离散点的网格 , 用各种不同类型的差商式去近似地替代方程

中的微商 , 从而建立起含有求解函数离散值的代数方程组。解此方程就可获得原

来微分方程的近似解。

有限元方法是另一种类型的数值计算方法。由于它具有一些有限差分法所没

有的特殊优点 , 因此虽然这种方法的提出比较晚 , 但发展十分迅速 , 现在已经成

为流体力学数值计算中的一种常用的重要方法 , 日益广泛地用来解决工程实际中

的流体力学问题。

有限元方法的数学原理与离散方式都不同于有限差分法。

有限元方法的数学原理是泛函变分原理或者是方程余量与权函数正交化原

理。对于给定的某些流体力学问题 , 如果可以找到能量泛函 , 则可以建立起能量

泛函极小化的变分表达式。而对另外一些无法获得能量泛函的流体力学问题 , 通

常是从它所对应的微分方程出发 , 根据方程余量与权函数正交化原理 , 建立起加

权余量积分表达式。这种变分表达式或者是加权余量积分表达式 , 实质上是流体

力学物理量在求解区域整体上的一种数学描述 , 是流体力学的另一种数学模型 ,

和微分方程具有同等的意义。通过这种积分表达式进行求解的传统方法是 Ritz—

Galerkin 方法。而有限元方法则是在高速电子计算机出现以后 , 在 Ritz—Galerkin

方法基础上发展起来的数值计算方法 ; 实质上可以说是一种规则化的、特殊类型

的 Ritz—Galerkin 方法。本章的内容便是介绍如何将微分方程通过变分原理或者

是加权余量正交化原理 , 转化为积分表达式 , 同时还介绍进行求解的 Ritz—

Galerkin 方法。

有限元方法离散化求解的主要思想是“分块逼近”。也就是将流场的求解区

域剖分成有限个互不重叠的子区域 , 这些子区域称为“单元”; 在每个单元体内 ,

选择若干个合适的点作为求解函数的插值点 , 这些点称为“结点”。单元中的求

解函数将由一种规则化的基函数的线性组合来近似替代 , 线性组合的系数正是求

解函数在结点上的函数值 ( 或导数值 )。这样 , 通过单元体的积分就可以获得单

元有限元方程 , 经过累加可以获得总体有限元方程。通过求解总体有限元方程 ,

即可获得所有结点上的函数值。第 2 章的内容便是介绍从积分表达式出发 , 如何

进行有限元离散化求解的详细步骤与方法。

有限元方法与差分法相比 , 其主要优点是 :

1) 有限元方法对于求解区域的单元剖分没有特别的限制。这对于处理具有

复杂边界区域 , 特别是多连通区域的工程实际问题 , 格外方便 ; 而且完全可以根

据问题的物理特点 , 在求解区域中安排单元网格的疏密。

2) 有限元方法是将区域进行分片离散。对每一个单元而言 , 它的近似解是

连续解析的 , 这和有限差分法中完全用离散的结点值来近似地表示连续函数不一

样。

3) 对于具有事先未知边界形状的求解区域 , 或者是求解区域内部具有不同

介质的交界面 , 处理起来比较容易。

有限元方法的计算思想早在 20 世纪 40 年代就提出了。1943 年 Courant 在一

篇论文中就提出用一组三角形单元和最小位能原理研究了 St.Venant 的扭转问题。

但真正用以解决工程中的数值计算问题是在 50 年代电子计算机出现以后 , 1956

年 Turner、Clough、Martin 和 Topp 发表了在结构力学采用有限元方法的第一篇论

文 , 但当时并没有用“有限元方法”这个名称。“有限元方法” ( Finite Element

Method) 这个名称 , 是 1960 年 Clough 在一篇结构分析的计算论文中首次明确提

出的。在我国 , 60 年代初期冯康等人独立地建立了有限元方法的数学理论并应

用于工程实际问题。自那时起 , 不论国际上还是国内 , 随着高速电子计算机日益

广泛的应用 , 有限元方法得到迅速的发展。

流体力学领域中采用有限元方法 , 要稍晚些。1965 年两位固体力学工作者

Zienkiwicz 和 Cheung 提出用有限元方法解决位势流问题的可能性 , 被认为是流体

力学中有限元方法的起点。但自那时以后的 30 多年中 , 有限元方法已被广泛应

用于流体力学的各个领域 , 理论研究和实际应用的文献资料大量涌现。可以认

为 , 有限元方法已经成为流体力学进行理论研究和解决工程实际问题强有力的数

值计算工具。

2

1.2 数学物理中的变分原理

变分原理是以变分形式表述的物理定律。数学上可表述为 : 如果存在于某个

函数空间 D 中的物理状态函数 u, 决定了一个依赖于 u 的泛函 J ( u ) ( 一般称作

“能量泛函”) , 则在一切可能的物理状态中 ( u∈ D) , 真实的物理状态是 D 中使

能量泛函J ( u) 。

数学物理问题中存在着大量变分原理。物理学中最早发现的变分原理是 Fer-

mat 1657 年提出的“光线沿着用时最短的路径传播”的 Fermat 原理。力学中著名

的变分原理有“Lagrange 最小作用量原理”, “Hamilton 原理”, “最小势能原理”,

“最小余能原理”等。在数学物理问题中寻求变分原理至今仍是人们感兴趣的课

题。

如果获得了一个数学物理问题的变分原理 , 则可以借助于变分法求解 , 数值

计算时就可以采用有限元方法。

1.2.1 变分原理实例

下面通过两个具体例子说明变分原理的应用。

图 1-1 最速降线

例1 最速降线问题。

设处在同一铅垂平面上的两点 A 和 B , 由

一条光滑的曲线轨道联结起来。假定有一光滑

小圆球在重力作用下 , 沿此曲线轨道从 A 点

自由下滑到 B 点 , 所需时间显然与轨道的曲线

形状有关 , 求使下滑时间最短的曲线形状。

这样的问题如果由通常的建立微分方程途

径去求解 , 显然是相当困难的 ; 而由寻求能量

泛函去建立变分表达式 , 再去求解就比较直观

简便。

不妨建立如图 1-1 所示的坐标系 , A 点处在坐标原点 (0 , 0) , B 点坐标为

( x1 , y1 ) ; A 点为起始点 , 曲线弧长记为 s , 微元孤长为

d s = d x2

+ d y2

= 1 + y′2

d x ( 1-1)

另一方面 , 看作质点的圆球在曲线任一点 p( x , y ) v , 根据能量守恒

定理应有

v =d sd t

= 2 gy

d s = 2 gyd t ( 1-2)

由式 (1-1)、(1-2)

3

d t =1 + y′

2

2 gyd x

于是圆球从 A 点沿曲线 y = y ( x ) 下滑到 B 点所需时间为

T =∫T

0d t =∫

x1

0

1 + y′2

2 gyd x ( 1-3)

这样 , 问题就归结为在所有满足端点条件

y (0) = 0 y ( x1 ) = y1

的一次可微的连续函数集合中 , 寻找使泛函式 ( 1-3 ) 为极小值的函数 y = y( x )。

也就是求解变分式

δT( y , y′) = 0 ( 1-4)

在这个具体的物理问题中 , 能量泛函是由式 ( 1-3) T ( y , y′) ; 相应

的变分原理 , 数学上由变分式 (1-4) 。

例2 弹性薄膜的形变问题。

图 1-2 弹性薄膜的形变

如图 1-2 所示 , 弹性薄膜所在区域 Ω上承

受外力 f ( x1 , x2 ) , 边界 Γ上所产生的垂直

位移 u = u 给定。求薄膜在外力作用下 , 平衡

时所发生的垂直方向的变形。

这是一个弹性体的受力平衡问题 , 可以根

据最小势能原理 , 求出能量泛函 , 写出变分

式。最小势能原理表明 : 在满足外界位移约束

的前提下 , 所有允许的位移中 , 实际的位移 ui

是使弹性体总的势能泛函

J = V - W

为极小。其中 V 是弹性体内总应变能 , 对各向同性弹性体

V =12∫

Ω

σi j ei j dΩ

σi j , e i j分别是应力张量和应变张量的分量。 W 是外力对弹性体做的功 ; 外力包

括质量力 fi 和边界上的外力 pi 。这样

W =∫Ω

fi ui dΩ +∫Γ

pi ui dΓ

这里作一点必要的说明。上面的表达中 , 我们采用下标 i , j 表示矢量或张

量的分量序号。在给定的任一坐标系 ( x1 , x2 , x3 ) 中 , 矢量或张量都可以采用

指标的表示方法。如矢量 f = { fi } , 张量 P = {σi j }。这里的指标 i 表示可任取 1、

2、3; 称 i 为自由指标。同时我们将采用求和约定 : 若表达式中某一项中 , 相同

4

的指标出现两次以上 , 则约定这一项将对这一指标分别取 1、2、3 进行求和。这

种重复出现的指标称为“求和指标”。例如

fi ui ≡ ∑3

i = 1

fi ui = f1 u1 + f2 u2 + f3 u3

在本书各章节中均采用此约定。

在上面所讨论的弹性薄膜形变问题中 , 位移 ui 只出现在 x3 的方向上 , 因此

可设

u1 = u2 = 0 , u3 = u

于是应变张量的非零分量为

e13 = e31 =12

�u�x1

, e23 = e32 =12

�u�x2

应力张量分量为

σ13 = σ31 = μ�u�x1

, σ23 = σ32 = μ�u�x2

于是总的势能

J = V - W =μ2∫

Ω

�u�x1

2

+�u�x2

2

dΩ -∫Ω

fudΩ

根据最小势能原理 , 薄膜在垂直方向上所产生的位移 u = u ( x1 , x2 ) 一定满足

变分式

δJ = δμ2∫

Ω

�u�x1

2

+�u�x2

2

dΩ -∫Ω

fudΩ = 0 ( 1-5)

在这个问题中 , 我们是应用已经获得的变分原理 , 导出了变分式 (1-5)。

关于变分式 (1-4)、(1-5) , 将在本章 1.4 节中作进一步讨论。

1.2.2 对称正算子方程的变分原理

从上面介绍的两个例子中可以看到 , 对于一个具体的数学物理问题要建立变

分式 , 首先是要寻求相应的变分原理。而事实上 , 不少数学物理问题 , 我们已经

建立了相应的微分方程 , 因此我们要问 : 如果一个问题没有直接从物理上给出变

分原理 , 能否可以从相应这个问题的微分方程出发 , 寻求相应的能量泛函 , 从而

可采用变分法求解 ? 对此 , 数学上只对某一类型的微分方程给出了肯定的回答。

这就是下面要介绍的变分原理。

先对将在下面定理中涉及到的 , 关于函数内积和算子等概念作简要的介绍。

(1) 函数内积 定义域在 Ω上的函数 u、 v 的乘积在Ω上的积分 , 称作这两

个函数在该区域上的内积 , 记作

〈u , v〉 =∫Ω

uvdΩ

5

(2) 算子 若内积空间 (具有一般性的是 Hilbert 空间 ) 中某一集合 D 和另

一集合 R 建立了某种一一对应的关系 , 即 D 中任一元素 u 对应于 R 中的一个元

素L( u) , 则称 L 为算子。集合 D 称为算子 L 的定义域 , 集合 R 称为算子 L 的值域。

例如 Laplace 算子

Δu =�

2u

�xi�xi

定义域 D 是所有二次可微函数的集合 , 值域 R 是微分后生成的函数集合。

(3) 线性算子 如果对任意实数 α、β, 算子 L 有性质

L(αu1 + βu2 ) = αL( u1 ) + βL( u2 )

则称 L 为线性算子。其中 u1 , u2 ∈ D; αu1 + βu2 ∈ D。

(4) 对称算子 如果线性算子 L 定义域中任意两个元素 u、 v , 都有

〈L( u) , v〉=〈u , L( v )〉 u , v∈ D

则称 L 为对称算子。

(5) 正算子 如果线性算子 L 定义域中任意一个非零元素 u , 都有

〈L( u) , u〉> 0 u∈ D

则称 L 为正算子。

(6) 算子方程 如果在算子 L 的值域 R 中给定一个元素 f , 则称等式

L( u) = f u∈ D

为算子方程。

微分方程边值问题都可以转化为算子方程问题。例如常见的 Poisson 方程边

界问题

Δu≡�

2u

�x2 +

�2

u�y

2 = f ( x , y) ( x , y ) ∈Ω

u Γ = p( x , y ) (Γ为Ω的边界 )

( 1-6)

( 1-7)

等价于算子方程

Δu = f u∈ D ( 1-8)

其中算子 Δ的定义域 D 是所有在区域Ω二阶可微的 , 在边界 Γ上取值为 p ( x ,

y ) 的函数的集合。寻求满足边界条件式 ( 1-7 ) 和微分方程式 (1-6 ) , 等价

于在 D 中寻找满足算子方程式 (1-8) 。

显然 , 线性算子方程相对应的微分方程边值问题一定是齐次边界条件的边值

问题。

下面给出对称正算子方程的变分原理。

定理 : 设 L 是对称正算子 , 若算子方程

L( u) = f u∈ D ( 1-9)

存在解 u = u0 , 则 u0 所满足的充分必要条件是泛函

6

J ( u) =〈L( u) , u〉 - 2〈f , u〉 (1-10)

在 u = u0 处取极小值。

定理中的泛函 J ( u ) , 一般称为算子方程的能量泛函。下面给出这个定理的

证明。

证明 先证明必要性。若 u = u0 是算子方程式 (1-9) , 则有

L( u0 ) - f = 0

对 D 中任意的 u = u0 + η, 应有

J ( u ) = J( u0 + η) =〈L( u0 + η) , u0 + η〉 - 2〈f , u0 + η〉

因为 L 是对称正算子 , 根据内积的性质 , 上式可以展开

J( u) �=〈L( u0 ) , u0〉+〈L( u0 ) ,η〉+〈L(η) ,η〉

+〈L(η) , u0〉 - 2〈f , u0〉 - 2〈f ,η〉

= J( u0 ) +〈L(η) ,η〉+ 2〈L( u0 ) - f ,η〉

但 L( u0 ) - f = 0 , 又从正算子定义

〈L(η) ,η〉> 0

因此有

J( u) > J( u0 )

这说明泛函 J ( u ) 在 u = u0 时取极小值。

再证明充分性。因为当 u = u0 时 , J ( u ) , 应有

ddε

J( u0 +εη)ε= 0

= 0

根据 L 是对称正算子 , 因此有

J ( u0 +εη) i=〈L( u0 +εη) , u0 +εη〉 - 2〈f , u0 + εη〉

= J ( u0 ) + 2ε〈L( u0 ) ,η〉+ ε2〈L(η) ,η〉

于是

ddε

J ( u0 +εη)ε= 0

= 2〈L( u0 ) - f ,η〉= 0

由于 η是任意连续函数 , 因此有

L( u0 ) - f = 0

即 u0 是方程式 (1-9) 。定理证毕。

这个定理指出了相当一类微分方程初边值问题 , 可以转化为泛函求极值的变

分问题 , 为微分方程问题的求解 , 开辟了新的变分法途径。

现在来讨论算子方程式 (1-9) 。根据定理 , 方程 (1-9)

7

满足

δJ =δ[〈L( u) , u〉 - 2〈f , u〉] =〈L(δu) , u〉+

〈L( u) ,δu〉 - 2〈f ,δu〉= 0

注意到算子 L 是对称的 , 因此有

2〈L( u) ,δu〉 - 2〈f ,δu〉= 2〈L ( u) - f ,δu〉= 0

于是可获得算子方程 (1-9)

〈L( u) - f ,δu〉= 0

即为

∫Ω

[ L( u) - f]δudΩ = 0 (1-11)

这样 , 我们就得到一个重要结论 : 对称正算子方程式 ( 1-9 ) , 可以通过

变分式 (1-11 ) 。式 (1-11) , 当采用变分法 ,

包括以后将介绍的有限元方法求解算子方程式 ( 1-9) , 都是以式 ( 1-11 )

发点的。

下面讨论这个定理的应用。以齐次边界条件的 Poisson 方程为例 , 方程与边

界条件如下 :

- Δu≡ -�

2u

�x2 +

�2

u�y

2 = f ( x , y ) ∈Ω

u Γ1

= 0

�u�n Γ

2

= 0

(1-12a)

(1-12b)

(1-12c)

这个方程的微分算子是负 Laplace 算子

L ( u) = - Δu = -�

2u

�x2 +

�2

u�y

2 u∈ D

定义域 D 是在区域Ω上具有齐次边条件的二阶可微连续函数的集合。

应用这个变分原理 , 前提是算子方程的算子是对称正算子。在这个问题中 ,

由于 D 中的函数都满足齐次边条件式 (1-12b) 、(1-12c D 中的任意两个

函数 u、 v 和任意实数α、β都有

- Δ(αu + βv) = α( - Δu) + β( - Δv)

可见 - Δ算子是线性算子。又因为

〈- Δu, v〉 = -�Ω

Δu· vdΩ = -�Ω

[è· ( è u· v) - è u·è v] dΩ

=�Ω

è u·è vdΩ -∮Γ

2

�u�n

vdΓ =�Ω

è u·è vdΩ (1-13)

8

按同样的推导应有

〈- Δv , u〉 =�Ω

è v·è udΩ

因此有

〈 - Δu, v〉=〈 - Δv , u〉=〈u , - Δv〉 (1-14)

又根据式 (1-13 ) , 应有

〈- Δu , u〉 =�Ω

(è u)2dΩ > 0 ( u ≡\ 0) (1-15)

由式 (1-14)、(1-15) , - Δ算子是对称的正算子。于是根据变分原理 , 边值

问题式 (1-12) , 可转化为求解式 ( 1-11)

〈L( u) - f ,δu〉 = -�Ω

( Δu + f )δudΩ = 0 (1-16)

其中 u 是满足式 ( 1-12b)、(1-12c)

1.2.3 一般椭圆型方程的变分原理

根据对称正算子变分原理 , 只有齐次边条件的微分方程才有变分原理。而事

实上 , 非齐次边条件的微分方程边值问题也有变分原理。现在给出流体力学中常

见的 , 一般椭圆型方程的变分原理。

定理 : 考虑一般椭圆型方程边界问题

- è ( pè u) + qu = f ( x , y ) ∈Ω

u Γ1

= u

p�u�n

+ σuΓ

2

= g

(1-17a)

(1-17b)

(1-17c)

其中 Γ1 + Γ2 是 Ω的边界 , p = p( x , y) > 0 , q = q( x , y )≥0 , σ= σ( x , y )≥0 。

方程的解 u = u0 所满足的充分必要条件是下列泛函

J ( u) =∫Ω

[ p(è u)2

+ qu2

- 2 fu] dΩ +∫Γ

2

(σu2

- 2 gu)dΓ (1-18)

在条件 u Γ1 = u下 , 在 u = u0 时取极小值。

这个定理表明 : 非齐次边界条件椭圆型方程式 (1-17) , 可以归结为求

解下列变分式

δJ = 0

u Γ1 = u

将式 (1-18) , 即得

Ω

pè u·èδu + ( qu - f )δu dΩ +∫Γ

2

(σu - g)δudΓ = 0

u Γ1

= u

(1-19a)

(1-19b)

9

这个定理不能直接用对称正算方程的变分原理来证明 , 因为是非齐次边条件

边界问题 , 对对应的算子不是线性的对称正算子。为了证明这个定理 , 要先将其

转化为齐次边值问题 , 然后应用对称正算子变分原理。下面给出这个定理的证

明。

证明 不妨构造一个在边界上满足非齐次边界条件 , 且在区域 Ω内足够光

滑的函数 u1 , 满足

u1Γ

1 = u , p

�u1

�n+ σu1

Γ2

= g

w = u - u1

则 w 满足下列齐次边界条件的椭圆型方程

- è ( pè w) + qw = f*

w Γ1

= 0

p�w�n

+ σwΓ

2

= 0

(1-20a)

(1-20b)

(1-20c)

其中 f*

= f + è ( pè u1 ) - qu1 , 若记算子

L( w) = - è ( pè w) + qw

则可证明在上述齐次边界条件下 , 算子 L 是对称正算子。事实上

〈L( w) , v〉 �=∫Ω

- è (p è w) + qw · vdΩ

=∫Ω

- è pè w· v) + ( pè w·è v + qwv dΩ

= -∮Γ

p�w�n

vdΓ+∫Ω

(p è w·è v + qwv) dΩ

= -∫Γ

1

p�w�n

vdΓ -∫Γ

2

p�w�n

vd p +∫Ω

(p è w·è v + qwv) dΩ

=∫Ω

( pè w·è v + qwv) dΩ +∫Γ

2

σwvdΓ

同理有

〈L( u) , w〉 =∫Ω

( pè v·è w + qvw) dΩ +∫Γ

2

σvwdΓ

因此

〈L( w) , v〉=〈L( v) , w〉

01

〈L( w) , w〉 =∫Ω

p ( è w)2

+ qw2

dΩ +∫Γ

2

σw2

dΓ > 0

所以 L 算子是对称正算子 , 根据变分原理 , 算子方程式 (1-20)

函是

I( w) �= 〈L( w) , w〉 - 2〈f*

, w〉

=∫Ω

- è ( pè w) · w + qw2

dΩ - 2∫Ω

f + è ( p è u1 ) - qu1 wdΩ

=∫Ω

p(è w)2

+ qw2

dΩ +∫Γ

2

σw2dΓ - 2∫

Ω

f + è ( pè u1 ) - qu1 wdΩ

将 w = u - u1 代入上式 , 展开后应用 Green—Gauss 公式 , 可得

I( w) �=∫Ω

p (è u)2

+ qu2

- 2 fu dΩ +∫Γ

2

σu2

+∫Ω

p (è u1 )2

+ qu21 + 2 f

*u1 dΩ +∫

Γ2

σu21 dΓ

+ 2 I1 ( u , u1 ) (1-21)

其中

I1 ( u , u1 ) := -∫Ω

( pè u·è u1 + quu1 ) dΩ -∫Γ

2

σuu1 dΓ

-∫Ω

è ( pè u1 ) - qu1 udΩ

= -∫Ω

è· ( pè u1 · u) - è· ( pè u1 ) u dΩ -∫Γ

2

σuu1 dΓ

-∫Ω

è· ( pè u1 )· udΩ

= -∫Γ

p�u1

�nudΓ -∫

Γ2

σuu1 dΓ

= -∫Γ

1

p�u1

�n( w + u1 )dΓ -∫

Γ2

p�u1

�nudΓ -∫

Γ2

σuu1 dΓ

= -∫Γ

1

p�u1

�nu1 dΓ -∫

Γ1

p�u1

�nwdΓ -∫

Γ2

p�u1

�n+ σu1 udΓ

=∫Γ

1

p�u1

�nu1 dΓ -∫

Γ2

gudΓ (1-22)

11

将式

I( w) = J ( u) + I2 ( u1 )

其中

J ( u ) �=∫Ω

p(è u)2

+ qu2

- 2 fu dΩ +∫Γ

2

(σu2

- 2 gu )dΓ (1-23)

I2 ( u1 ) �=∫Ω

p( è u1 )2

+ qu21 + 2 f

*u1 dΩ +∫

Γ2

σu21 dΓ - 2∫

Γ1

p�u1

�nu1 dΓ

由于 u1 是事先构造的已知函数 , 因此 I2 ( u1 ) , 于是有

δI( w) = δJ( u) (1-24)

根据变分原理 , 齐次边界条件下的方程式 (1-20) , 满足下列变分式

δI( w) = 0

w Γ1

= 0

(1-25a)

(1-25b)

从式 ( 1-24) 以及 w = u - u1 , 可知式 (1-25)

δJ ( u) = 0

u Γ1

= u

这就证明了定理。

1.2.4 自然边界条件

前面已经提到 , 对称正算子方程的求解 , 可以归结为求解变分式 (1-11) , 此

时对函数 u 是否有限制条件呢 ? 根据变分原理 , 函数 u 应该是线性算子定义域

D 中的元素 , 也就是说 u 必须满足齐次边界条件。而对非齐次边界条件的边值问

题式 (1-17) , 变分原理给出的变分式是式 ( 1-19) , 此时对函数 u 的限制只是必须

满足第一类边界条件式 ( 1-17b )

要求满足。这是什么原因呢 ? 这是因为如同式

型边条件。一种是在求解能量泛函极值的变分式时 , 作出约束条件提出的边界条

件 , 如式

界条件 , 如式

边界条件即式

条件 , 称为“自然边界条件”。在椭圆型边值问题中 , 第一类边界条件是本质边

界条件 , 第二类和第三类边界条件是自然边界条件。

下面证明 : 如变分式

21

∫Ω

pè u·è δu + ( qu - f )δu dΩ +∫Γ

2

(σu - g)δudΓ

=∫Ω

è ( pè u·δu) - è ( pè u)δu + ( qu - f )δu dΩ

+∫Γ

2

(σu - g)δudΓ

=∮Γ

p�u�n

δudΓ +∫Ω

- è ( p è u) + qu - f δudΩ

+∫Γ

2

(σu - g)δudΓ

=∫Ω

- è ( pè u) + qu - f δudΩ +∫Γ

1

p�u�n

δudΓ

+∫Γ

2

p�u�n

+ σu - g δudΓ = 0

注意到在 Γ1 上 u = u 是作为变分约束条件列出的 , 因此在 Γ1 上δu = 0 , 于是上

式为

∫Ω

- è ( pè u) + qu - f δudΩ +∫Γ

2

p�u�n

+ σu - g δudΓ = 0

由于变分量δu 是任意的 , 从变分基本引理可得

在 Ω内 - è ( pè u ) + qu = f

在 Γ2 上 p�u�n

+ σu = g

这就说明自然边界条件式 (1-17c)

事实上 , 上述的推导表明 : 在 u Γ1

= u 的条件下 , 能量泛函 J ( u )

0 , 即式 (1-19) , 即可保证所获得的解为方程式 ( 1-17) 。

1.3 Ritz 法

1.3.1 函数空间的基函数与极小化序列

上一节已经讨论了一个正的对称算子方程 , 可以转化为求相应能量泛函的极

值函数 , Ritz 法就是在一个给定的函数空间中寻找能量泛函极值函数的近似方

法。为此 , 先介绍一些必要的概念。

1 . 函数的线性相关与线性无关

若函数空间 D 中的函数φ1 、φ2 ⋯φn 被认为是线性无关的 , 是指它们的线性

31

组合

α1 φ1 + α2 φ2 + ⋯ + αnφn = 0

只有当所有的系数αi∈ K ( K 为实数域 ) 都等于 0 时才成立 , 否则就是线性相关。

如果函数组 {φi } 线性相关 , 则其中至少有一个函数 φk 可以表示为其他函

数的线性组合

φk = α1 φ1 + ⋯ + αk - 1 φk - 1 + αk + 1 φk + 1 + ⋯ + αnφn

2 . 函数空间的基函数

如果函数空间 D 中有一组函数 {φi } ( i = 1 , 2 , ⋯ , n) 是线性无关的 , 而

且 D 中任何一个函数都可以表示成 {φi } 的线性组合 , 则称 {φi } 是函数空间

D 中的一组基 , φi 称为基函数。

如果 D 中的基函数的个数是有限个 , 则称 D 是有限维函数空间 , 否则称为

无限维函数空间。有限维函数空间 D 中基函数的个数 , 称为函数空间 D 的维函

数。

3 . 函数空间的极小化序列

在函数空间 D 中 , 考虑能量泛函

J ( u) =〈L( u) , u〉 - 2〈f , u〉

以 d 表示泛函的极小值。若 D 中存在函数序列 { un } ( n = 1 , 2⋯ ) 满足

limn→∞

J ( un ) = d

则称 { un } 是泛函 J ( u) 。

关于极小化序列 , 泛函分析中有如下定理 : 如果算子 L 是正定的 , 则泛函

J ( u) J ( u) 。也就是都收敛于

下列算子方程的解

L( u) = f u∈ D

这个定理不但指出可利用极小化序列求出相应问题的解 , 而且也提供一种近

似求极值函数的方法 ; 若 u* 是上述算子方程的解 , { un } 是泛函 J ( u )

序列 , 根据定理 , 有

limn→∞

un = u*

于是可以把 { un } 中的函数 , 作为算子方程不同程序的近似解 , n 级近似解为

un 。

Ritz 法的基本思想是建立在这个原理基础上的。

1.3.2 Ritz 法的解题步骤

从变分原理知道 , 若 L 是对称正定算子 , u0 是算子方程

L( u ) = f

41

准确解的充分必要条件是泛函

J ( u) =〈L( u) , u〉 - 2〈f , u〉 (1-26)

当 u = u0 时 , 取极小值。

Ritz 法是求泛函 J ( u) 。求解的主要步骤为 :

(1) 在函数空间 D 中 , 选取基函数组 {φi } ( i = 1 , 2⋯ ) ; 显然 , 对任意的

n、φ1 、φ2 ⋯φn 都是线性无关的。由于 φi ∈ D , 所以每一个 φi 都满足算子L( u)

J ( u) u 所要求的连续性和可微性 , 而且满足齐次本质边界条件。

(2) 令近似解 (也称近似函数或试探解 )

un = ∑n

i = 1

αiφi (1-27)

其中αi ( i = 1 ,2⋯ n) 是待定系数。将式 (1-27) 代入式 (1-26) , 由于基函数 φi 是选

定的已知函数 ,因此可得到以 α1 、α2 ⋯αn 为未知变量的函数

J( un ) = ∑n

i , j = 1

αiαj〈L(φi ) ,φj〉 - 2∑n

i = 1

αi〈f ,φi〉 (1-28)

(3) 为使式 ( 1-28) J ( un ) , 应有

�J( un )�αi

= 0 ( i = 1 , 2⋯ n) (1-29)

将式 (1-28) , 即得

∑n

j = 1

αj〈L(φi ) ,φj〉 = 〈f ,φi〉 ( i = 1 ,2⋯ n) (1-30)

这是一个含有 n 个未知量α1 、α2 ⋯αn 的线性代数方程组

Ai jαj = bi ( i = 1 , 2⋯ n) (1-31a)

系数矩阵元素

Ai j =〈L(φi ) ,φj〉 (1-31b)

右端项元素

bi = 〈f , φi〉 (1-31c)

(4) 求解线性代数方程组

求解线性代数方程组式 (1-31) , 即可获得 α1 、α2 ⋯αj 。代入式 ( 1-27 ) , 即得

能量泛函数 J ( u) un 。

由于算子 L 是对称算子 , 因此线性代数方程式 ( 1-31 ) 。在数值计

算时 , 可采用对称正定矩阵方程的平方根法。

51

1.3.3 Ritz 法的收敛性

根据 1.3.1 小节中所叙述的定理 , 只要 L 是正定算子 , 则泛函 J ( u )

个极小化序列都收敛于相应微分方程 L( u) = f 。因此只需证明由 Ritz 法所

获得的近似解 un 所构成的函数序列 { un } 是泛函 J ( u) 。

事实上 , 若用 d 表示泛函J ( u ) D 中的下确界 , 根据下确界的定义 , 对于

任意给定ε> 0 , 必有 v∈ D , 使得

d≤ J( v)≤ d +ε2

(1-32)

由于函数序列 {φn } 在 D 中是完全的 , 因此对 v∈ D , 总可找到正整数 n 及系

数 ak ( k = 1 , 2⋯ n) , 使 vn = α1 φ1 + ⋯ + αnφn , 有

v - vn <ε2 K

其中

K = 〈L( v) + L( vn ) - 2 f , 1〉

而且利用 L 是线性对称算子的性质

J ( v) - J ( vn )

= 〈L( v) , v〉 - 2〈f , v〉 -〈L( vn ) , vn〉+ 2〈f , vn〉

= 〈L( v) , v - vn〉+〈L( v - vn ) , vn〉 - 2〈f , v - vn〉

= 〈L( v) + L( vn ) - 2 f , v - vn〉

2 K〈L( v) + L( vn ) - 2 f , 1〉 =

ε2

(1-33)

根据不等式 (1-32)、式 ( 1-33) , 可得

d≤ J( vn ) < J( v) +ε2

< d + ε (1-34)

由于按 Ritz 法求出的 un 是在 {φn } 张成的子空间中的极小值函数 , 因此有

d≤ J ( un )≤ J( vn )

注意到式 (1-34) , 有

d≤ J ( un ) < d + ε

令ε→0 , 即得

limn→∞

J ( un ) = d

这就证明 { un } 是 J ( u) , 因此有

limn→∞

un = u*

这表明近似解序列 { un } 收敛于式(1-26)表示的能量泛函 J ( u)的极值函数 u* 。

61

1.3.4 计算举例

图 1-3 二维平行板管道流动

例1 考虑二维无限长平行板管道的等

压降粘性流动 ( 流体力学中称为 Poiseuille

流动 ) , 见图 1-3。

连续性方程及动量方程为

�u�x

+�u�y

= 0

ρ u�u�x

+ v�u�y

= -�p�x

+ μ�

2u

�x2 +

�2

u�y

2

由于是无限长平板管道 , 且是等压降�p�x

= const , 因此可以认为在任一 x 断面上 ,

流动状态都是相同的 , 也就是 u、 v 和 x 无关。根据连续方程与固壁上无滑移条

件 , 有 v = 0 , 于是动量方程可写成

-�p�x

+ μ�

2u

�y2 = 0 (1-35)

由于算子方程

L( u) = μ�

2u

�y2 =

�p�x

相应的算子�

2

�y2 是正定算子 , 因此可采用 Ritz 法。不妨取满足边界条件的一级近

似解

u = u0 sinπy

h(1-36)

则按照式 (1-31)

a11 =∫h

0- μ

πh

2

sinπy

h·sin

πyh

d y = - μπ

2

2 h

b1 =∫h

0

�p�x

sinπy

hd y = 2

�p�x

线性代数方程组为

- μπ

2

2 hu0 = 2

�p�x

u0 = -4 h

2

π3μ�p�x

(1-37)

将式 (1-37) ( 1-36) , 即得方程式 (1-35)

71

u = -4 h

2

π3μ�p�x

sinπy

h(1-38)

Poiseuille 流动有准确解

u * =12

h2

μ�p�x

y2

h2 -

yh

(1-39)

表 1-1 给出了 (1-38) Ritz 法一级近似解与 ( 1-39) 式的准确解的结果比

较 ( 不妨设h

2

μ�p�x

= - 1) :

表 1-1 Poiseuille 流动速度分布

y�/h 准 确 解 Ritz 法解

0 �0 �0 �

0 �.1 4 S.5×10 - 2 3 %.987×10 - 2

0 �.2 8 S.0×10 - 2 7 %.583×10 - 2

0 �.3 0 �.105 0 �.104

0 �.4 0 �.120 0 �.123

0 �.5 0 �.125 0 �.129

例2 求二维 Poisson 方程近似解

Δu≡�

2u

�x2 +

�2

u�y

2 = - 2 ( x , y ) ∈Ω

u Γ = 0

其中 Ω为正方形区域 : { - a≤ x≤ a , - b≤ y≤ b} , Γ是Ω的边界。

已经证明负 Laplace 算子是正定算子 , 可用 Ritz 法求近似解。注意到求解区

域及边界条件关于 x , y 轴是对称的 , 因此求解函数应为 x , y 的偶函数。可取

基函数

φ1 = ( a2

- x2

) ( b2

- y2

)

φ2 = φ1 x2

φ3 = φ1 y2

φ4 = φ1 x2

y2

近似解为 un = ∑n

k = 1αkφk , 其中待定系数 αk ( k = 1 , 2⋯ n ) 满足的方程组为式

(1-31)。

不妨计算三级近似解

u3 E= α1 φ1 + α2 φ2 + α3 φ3

= ( a2

- x2

) ( b2

- y2

) (α1 + α2 x2

+ α3 y3

)

81

为确定方程组 ( 1-31) 式中的各个系数 , 先计算

Δφ1 = - 2 ( b2

- y2

) - 2 ( a2

- x2

)

Δφ2 = 2 ( b2

- y2

) ( a2

- 6 x2

) - 2 x2

( a2

- x2

)

Δφ3 = 2 ( a2

- x2

) ( b2

- 6 y2

) - 2 y2

( b2

- y2

)

将上述各式代入方程各个系数的积分式中

〈Δφ1 ,φ1〉 =∫b

- b∫a

- aΔφ1 ·φ1 d xd y =

- 12845

a3

b3

( a2

+ b2

)

〈Δφ1 ,φ2〉 =∫b

- b∫a

- aΔφ1 ·φ2 d xd y =

- 12845

a5

b3 a

2

7+

b2

5

〈Δφ1 ,φ3〉 =∫b

- b∫a

- aΔφ1 ·φ3 d xd y =

- 12845

a3

b5 a

2

5+

b2

7

〈Δφ2 ,φ2〉 =∫b

- b∫a

- aΔφ2 ·φ2 d xd y =

- 12845× 7

a5

b3 11

5b

3+

13

a2

〈Δφ2 ,φ3〉 =∫b

- b∫a

- aΔφ2 ·φ3 d xd y =

- 12845× 7

a5

b5

( a2

+ b2

)

〈Δφ3 ,φ3〉 =∫b

- b∫a

- aΔφ3 ·φ3 d xd y =

- 12845× 7

a3

b5 11

5a

2+

13

b2

〈- 2 ,φ1〉 = -329

a3

b3

〈- 2 ,φ2〉 = -3245

a2

b2

〈- 2 ,φ3〉 = -3245

a3

b5

确定α1 、α2 、α3 的代数方程组为

12845

a3

b3

( a2

+ b2

) α1 +12845

a5

b3 a

2

7+

b2

5α2

+12845

a3

b5 a

2

5+

b2

7α3 =

329

a3

b3

12845

a5

b3 a

2

7+

b2

5α1 +

12845×7

a5

b3 11

5b

2+

13

a2

α2

+128

45×35a

5b

5( a

2+ b

2) α3 =

3245

a5

b2

12845

a3

b3 a

2

5+

b2

7α1 +

12845×35

a5

b5

( a2

+ b2

) α2

+128

45×7a

3b

5 115

a2

+13

b2

α3 =3245

a3

b5

解得

91

α1 = 35 (9 a4

+ 130 a2

b2

+ 9 b4

) �/A

α2 = 105 (9 a2

+ b2

) �/A

α3 = 105 ( a2

+ 9 b2

) �/A

其中

A = 8 (45 a6

+ 509 a4

b2

+ 509 a2

b4

+ 45 b6

)

例3 求双调和方程的近似解

Δ2

u = 1 ( x , y) ∈Ω

u Γ = 0 �u�n Γ

= 0

其中区域 Ω: { - 1≤ x≤1 , - 1≤ y≤1} , Γ是Ω的边界。

由于双调和算子是正算子 , 因此可采用 Ritz 法 , 取基函数

φ1 = ( x2

- 1)2

( y2

- 1 )2

φ2 = φ1 ( x2

+ y2

)

二级近似解为 u2 = ( x2

- 1 )2

( y2

- 1)2

α1 +α2 ( x2

+ y2

) 。

按照式 (1-31) , 可计算出线性方程组各个系数 , 方程组为

187α1 +

3677

α2 =7

128

3677

α1 +9691

α2 =1

64

可解出

α1 = 0.02020

α2 = 0.00586

于是近似解为

u2 = ( x2

- 1 )2

( y2

- 1 )2

0.02020 + 0.0586 ( x2

+ y2

)

上面几个例题可以看到 , 在应用 Ritz 法求解问题时 , 要注意以下几点 :

1) Ritz 法求解微分方程问题时 , 相应的算子应是正算子。

2) 要恰当地选取基函数。对基函数的选取除必须满足齐次本质边界条件以

及一定的连续可微性要求外 , 并无一定的法则可遵循 , 需要对具体问题进行分

析 , 积累经验。

3) 相应线性代数方程组中的各个系数需进行积分计算 , 当求解区域不规则

时 , 积分一般是相当麻烦而困难的。

4) 对于非齐次边界条件问题 , 一般应通过齐次化处理后 , 再求其能量泛函 ,

然后按 Ritz 法进行求解计算。

02

以后我们将可看到 : 对于非正算子的微分方程问题 , 可采用加权余量法来解

决 ; 对于选基函数以及积分的困难 , 将可采用有限元方法得到完满解决。

1.4 Galerkin 加权余量法

1.3 节中 , 我们论述了当算子方程的算子是对称正算子时 , 可将相应的算子

方程化为等价的能量泛函求极值问题 , 并采用 Ritz 法进行近似求解。但在流体力

学中 , 由于惯性力的存在 , 方程组往往是非线性的。有些问题 , 即使方程是线性

的 , 相应的算子也不一定是对称正算子 , 因此无法依据上一章中所提出的变分原

理 , 将微分方程转化为变分问题进行求解。而本书要介绍的加权余量法可以不加

限制地将一般的微分方程问题 , 通过方程余量和权函数正交化的途径 , 化为代数

方程组 , 而获得近似解。

由于 Galerkin 加权余量法在算子是对称正定算子时 , 完全等价于建立在变分

原理基础上的 Ritz 法 , 因此也可将 Galerkin 法看作是 Ritz 法的推广。

流体力学中的有限元分析 , 主要建立在 Ritz 法和 Galerkin 法基础上。Galerkin

法作为现在称为加权余量法的第一个准则早在 1915 年就提出来了 , 但真正广泛

地应用于数学物理工程问题的计算 , 是在有限元方法发展起来以后 , 尤其是流体

力学中的有限元方法 , 主要采用 Galerkin 法。应当注意 , Galerkin 法虽然有适应

性广的优点 , 但是对它的数学原理研究得还不十分清楚 , 收敛性的许多问题仍有

待解决。

1.4.1 基本思想与解题步骤

加权余量法的基本思想是方程余量与权函数正交化。

考虑算子方程

L( u) = f u∈ D (1-40)

定义域 D 是满足给定齐次初边值条件的 , 具有一定连续性和可微性的函数空间。

如果我们在 D 中找到一个函数 u 作为近似解 (或称试探解 ) , 一般地说它不

能满足方程式 ( 1-40) , 此时的误差

ε= L( u) - f (1-41)

称为方程的余量。

现在的问题是如何在函数空间中构造近似解 , 并采取什么方法使得方程余量

尽量小 ?

加权余量法构造近似解的方法是在 D 中确定一组基函数 {φi } ( i = 1 , 2⋯

n) , 并将近似解表示为基函数的线性组合

un = α1 φ1 + α2 φ2 + ⋯ + αnφn (1-42)

其中αi 是待定系数。确定 αi 的原则是使方程余量式 ( 1-41 ) 尽可能小。加权余

12

量法的方法是选择 n 个权函数 Wi ( i = 1 , 2⋯ n) , 并令方程余量ε分别与权函数

Wi 正交 , 即它们的内积为 0

〈ε, Wi〉≡∫Ω

[ L( u) - f] Wi dΩ = 0 (1-43)

( i = 1 , 2⋯ n)

当基函数 {φi } 是给定的已知函数时 , 只要 Wi 选定 , 积分式 (1-43) 就可以导

出含有 n 个待定系数α1 、α2 ⋯αn 的代数方程组。通过求解即可获得近似解。

加权余量法的解题步骤是 :

(1) 在 D 内选取线性无关的 , 完全的基函数序列 {φi } ( i = 1 , 2⋯ )。

(2) 将方程的近似解表示为 n 个基函数的线性组合

un = ∑n

k = 1

αkφk (1-44)

式中αk ( k = 1 , 2⋯ n) 是待定系数。

(3) 将由式 ( 1-44) un 代替方程式 ( 1-43 ) u , 所产生的误

差记为

ε= L( un ) - f (1-45)

ε称为方程的余量。一般说来 , 余量不为 0。

(4) 通过确定式 ( 1-44) αk ( k = 1 , 2⋯ n) , 使方程余量 ε为最小。

为此选择 n 个权函数 Wi ( i = 1 , 2⋯ n) , 并令ε分别与 Wi 正交 , 也就是令它们

的内积为 0:

〈ε, Wi〉 =∫Ω

[ L( un ) - f ]· Wi dΩ = 0 (1-46)

( i = 1 , 2⋯ n)

将近似解式 (1-44) ( 1-46 ) , 即形成以 α1 、α2 ⋯αn 为未知量的 n 个代数

方程组

∑n

k = 1∫

Ω

[ L(αkφk ) - f ] Wi dΩ = 0 (1-47)

( i = 1 , 2⋯ n)

(5 ) 求解代数方程组式 ( 1-47 ) , 可获得系数 αk ( k = 1 , 2⋯ n) , 代回式

(1-44) 中 , 即得方程的近似解 un 。

加权余量法中 , 权函数 Wi 的选取是一个很重要的问题 , 它与所求出来的近

似解的精度 , 是有很大关系的。权函数可按各种不同的方式选取 , 每一种权函数

的选取都对应于加权余量法的一种准则。自从 1915 年 Galerkin 提出第一个准则以

来 , 几十年中 , 出现了许多权函数准则。下面将介绍常用的几种。

22

1.4.2 几种常用的加权余量法

1 . 配置法

配置法选取权函数

Wi = Δi ( x)

其中Δi ( x) Diracδ函数 , 它对于区域 Ω中所选取的配置点 xi , 具有如下性质 :

设 r 为任意小的正数 , 记 Ωi 为小区域 x - xi ≤ r , 则

当 x ∈ Ωi 时 ∫Ω

i

Δi ( x ) d x = 1

当 x∈Ωi 时 Δi ( x ) = 0

当我们在求解区域中选取 n 个配置点 xi ( i = 1 , 2⋯ n) 时 , 相应有 n 个Δi ( x )

数。

此时加权积分表达式 (1-46)

〈ε, Δi〉 =∫Ω

[ L( un ) - f ] Δi d x = 0 (1-48)

( i = 1 , 2⋯ n)

令 r→0 , 根据 Δi 的性质及中值定理 , 式 (1-48)可写成

〈ε, Δi〉= [ L( un ) - f] x = xi

= 0 (1-49)

( i = 1 , 2⋯ n)

式 (1-49) (1-41 ) n 个配置点上 , 严格成

立。也就是说令方程余量ε= L ( un ) - f n 个配置点上为 0。将近似解表达式

(1-44)代入式 ( 1-49) , 可得含有未知量α1 、α2 ⋯αn 的 n 个代数方程组

∑n

k = 1

[ L(αkφk ) - f]x = x

i

= 0 (1-50)

( i = 1 , 2⋯ n)

解出αk ( k = 1 , 2⋯ n) , 代回式 (1-44) , 即得近似解。

下面举例说明。

考虑常微分方程边值问题

L( u) =d

2u

d x2 + u = - x 0 < x < 1

u(0) = u(1) = 0

(1-51a)

(1-51b)

按加权余量法解题步骤 , 先选取满足边界条件式

数 :

φ1 = x (1 - x) ,φ2 = xφ1 ,φ3 = x2φ2 ⋯

不妨计算二级近似解

32

u2 = x (1 - x) (α1 + α2 x) (1-52)

将近似解式 (1-52) , 可得方程余量

ε= L ( u2 ) - f = x + ( - 2 + x - x2

)α1 + (2 - 6 x + x2

- x3

)α2 (1-53)

选取配置点 x = 0.25 , 0.5; 代入式 (1-53) , 即得代数方程组

2916α1 -

3564α2 =

14

74α1 +

78α2 =

12

解得α1 =631

, α2 =40217

; 代入式 (1-52) , 即得近似解

u2 =x (1 - x)

217(42 + 40 x) (1-54)

表 1-2 中给出了近似解与方程的准确解 u* =sin xsin1

- x 的结果比较。最大相对误

差为 3.5%。

表 1-2

x u2 �u *

0 �.25 0 �.04493 0 g.044014

0 �.50 0 �.07143 0 g.069747

0 �.75 0 �.06221 0 g.060056

2 . 最小二乘法

定义

F = 〈ε,ε〉 =∫Ω

ε2

dΩ (1-55)

它是近似解 un 在所有点上引起的误差平方的积分值 , 反映近似解在整个区域 Ω

上的总体误差。若将近似解表达式 ( 1-44) 代入式 (1-55) 中 , 可写成

F = ∑n

k , i = 1

〈L(αkφk ) - f , L(αiφi ) - f〉

由于 φi ( i = 1 , 2⋯ n) 是选定的已知函数 , 因此 F = F (α1 , α2 ⋯αn ) 。为确定

αi , 使 F 取极小 , 于是有

�F�αi

= 0 ( i = 1 , 2⋯ n) (1-56)

这是含有α1 、α2 ⋯αn 共 n 个未知量的代数方程组 ; 可以解出αi ( i = 1 , 2⋯ n)。

为了写成统一的加权积分的形式 , 将式 (1-55)代入式 ( 1-56)

�F�αi

=∫Ω

2ε�ε�αi

dΩ = 0

42

∫Ω

ε�ε�αi

dΩ = 0 ( i = 1 , 2⋯ n) (1-57)

可见最小二乘法 , 就是取权函数

Wi =�ε�αi

( i = 1 , 2⋯ n ) (1-58)

的加权余量法。

当方程式 (1-40) , 方程余量

ε= ∑n

k = 1

αk L(φk ) - f

代入式 (1-58) , 权函数为

Wi = L(φi ) ( i = 1 , 2⋯ n)

此时的线性代数方程组为

∑n

k = 1

αk∫Ω

[ L(φk ) - f ]· L(φi )dΩ = 0 (1-59)

仍以式 (1-51b)

u2 = x (1 - x) (α1 + α2 x)

方程余量

ε= x + ( - 2 + x - x2

)α1 + (2 - 6 x + x2

- x3

)α2

权函数

W1 =�ε�α1

= - 2 + x - x2

W2 =�ε�α2

= 2 - 6 x + x2

- x3

代入式 (1-57)

∫1

0ε( - 2 + x - x

2) d x = 0

∫1

0ε(2 - 6 x + x

2- x

3) d x = 0

将余量表达式代入上式 , 积分后即得代数方程组

202α1 + 101α2 = 55

707α1 + 1532α2 = 399

解得α1 = 0.1875 , α2 = 0.1695; 近似解为

u2 = x (1 - x ) (0.1875 + 0.1695 x ) (1-60)

表 1-3 给出了 u2 与准确解 u* =sin xsin1

- x 的比较。最大相对误差为 2.4%

52

表 1-3

x u2 �u *

0 �.25 0 �.04310 0 g.044014

0 �.50 0 �.06806 0 g.069747

0 �.75 0 �.05899 0 g.060056

3 . 矩量法

将各幂次的矩量取作权函数时

Wi = ri - 1

( i = 1 , 2⋯ n)

称为矩量法。其中 r 是求解区域上任一点到坐标原点的距离。对于最简单的一维

情形

Wi = xi - 1

( i = 1, 2⋯ n)

于是 , 确定近似解式 ( 1-44) 中各系数 αk ( k = 1 , 2⋯ n) 的代数方程组为

〈ε, xi - 1〉 = 0 ( i = 1 , 2⋯ n) (1-61)

仍以式 (1-51b)

u2 = x (1 - x) (α1 + α2 x)

代数方程组式 (1-61)

∫1

0ε·d x = 0

∫1

0ε· xd x = 0

将方程余量

ε= x + ( - 2 + x - x2

) α1 + ( 2 - 6 x + x2

- x3

) α2

代入上式 , 得

116α1 +

1112α2 =

12

1112α1 +

1920α2 =

13

解得α1 =122649

, α2 =110649

; 近似解为

u2 =x (1 - x)

649(122 + 110 x)

62

表 1-4 给出 u2 与准确解 u* =sin xsin1

- x 的比较。最大相对误差 2.2%。

表 1-4

x u2 �u *

0 �.25 0 p.043191 0 g.044014

0 �.50 0 p.068182 0 g.069747

0 �.75 0 p.059081 0 g.060056

4 . Galerkin 法

将基函数本身取作权函数的加权余量法称为 Galerkin 法。若设近似解为

un = ∑n

k = 1

αkφk

其中 φi 是选定的基函数 ,αi 是待定系数 ,则Галёркин法的权函数

Wi = φi ( i = 1 ,2⋯ n)

方程余量加权的积分式为

∫Ω

εφi dΩ = 0 ( i = 1 ,2⋯ n) (1-62)

其中ε= ∑n

k = 1

L(αkφk ) - f , 代入式 (1-62) , 即得 n 个含有α1 、α2 ⋯αn 的代数方程

组。积分式 ( 1-62) 一般称为 Galerkin 积分表达式。

以式

φ1 = x (1 - x) ,φ2 = x2

( 1 - x )

ε= x + ( - 2 + x - x2

)α1 + (2 - 6 x + x2

- x3

)α2

代入式 (1-62) , 积分后即得代数方程组

310

α1 +3

20α2 =

112

320

α1 +13

105α2 =

120

解得α1 =71369

, α2 =741

; 近似解为

u2 =x (1 - x)

369(71 + 63 x)

表 1-5 给出 u2 与准确解 u* =sin xsin1

- x 的比较。最大误差为 0.4%。

72

表 1-5

x u2 �u *

0 �.25 0 p.044080 0 g.044014

0 �.50 0 p.069444 0 g.069747

0 �.75 0 p.060086 0 g.060056

从上面介绍的四种加权余量法 , 可以看到 , 在我们所计算的例子中 , 以

Galerkin 法的精度最高。当然并不是所有问题都是这样的。这四种方法 , Galerkin

法和最小二乘法能较好地为有限元方法所采纳 , 而配置法及矩量法则不便用于有

限元方法。在流体力学有限元方法中 , 较多采用 Galerkin 法 , 我们将重点讨论这

个方法。

1.4.3 Galerkin 法

Galerkin 加权余量法简称 Galerkin 法 , 由于它具有适应性强 , 精度高 , 并且

可以和 Ritz 法具有相同的积分表达式 , 因此是流体力学有限元方法的主要数学基

础。这一节中将对 Galerkin 法进行更深入讨论。

1 . Galerkin 法的力学原理

Ritz 法是建立在变分原理基础上的一种近似方法。在力学中表现为 Hamilton

原理和最小位能原理。而 Galerkin 法在力学中所遵循的是虚位移原理和流体力学

的虚功率原理。现在对流体力学中的虚功率原理予以说明。

不妨采用指标表述法进行推导。

流体力学的运动方程为

ρD vi

D t= ρfi +

�pj i

�xj

(1-63)

上式中 vi 是速度分量 , fi 是质量力分量 , pj i 是应力张量分量 ,D

D t表示随体导数 ,

ρ是流体密度。应力张量是对称张量 , 且可分解为正压力项与粘性力项

pj i = pi j = - pδi j +τi j (1-64)

τi j是由于粘性作用形成的应力张量分量 ; δi j 是 Kronecker δ符号 , 定义见 2.2.3

小节。

边界条件分压力边界条件与速度边界条件两部分 :

在 Sp 上 ni pi j = pj

在 Sv 上 vi = vi

以虚速度δvi 乘式 ( 1-63) , 并对流动求解区域 Ω积分

∫Ω

ρD vi

D tδvi dΩ =∫

Ω

ρfiδvi dΩ +∫Ω

�pj i

�xj·δvi dΩ (1-65)

82

上式右端第二项可利用 Green—Gauss 公式改写

∫Ω

��xj

pj iδvi dΩ �=∫Ω

��xj

( pj iδvi ) - pj i��xj

(δvi ) dΩ

=∮S

nj pj iδvi d S -∫Ω

pj iδ�vi

�xjdΩ (1-66)

注意到�vi

�xj可分解为对称张量与反对称张量两部分

δ�vi

�xj=δ ( ei j + ai j )

其中

ei j =12

�vi

�xj+�vj

�xi

是对称张量分量 ( 即变形速度张量 ) ;

ai j =12

�vi

�xj-�vj

�xi

是反对称张量分量。由于 { pi j } 是对称张量 , 因此有

pj i ai j =12

pji

�vi

�xj- pi j

�vj

�xi= 0

又注意到式 (1-64) , 有

pj iδ�vi

�xj

= ( pδji + τj i ) δei j = pδev + τj iδei j (1-67)

其中 ev =�vi

�xi是速度场的散度。

再利用边界条件 , 在 Sv 上 , 由于给定 vi , 因此有δvi = 0; 因此式 ( 1-66)

右端第一项

∮S

nj pj iδvi d S =∫S

p

piδvi d S (1-68)

将式 (1-66) ( 1-65) , 并注意到式 ( 1-67 ) 及式 ( 1-68 ) ; 则式 (1-65 )

∫Ω

ρfiδvi dΩ +∫S

p

piδvi d S

=∫Ω

- pδev + τj iδei j + ρD vi

D tδvi dΩ (1-69)

这就是流体力学中的虚功率原理的数学表达式。式 (1-69)

量力及边界上的外力所作的虚功率 , 右端三项分别表示正应力 , 粘性力以及惯性

力所作的虚功率。虚功率原理表明 : 流场外力所作的虚功率等于流场中内应力及

92

惯性力的虚功率。

虚功率原理是流体力学有限元方法的基础。它的作用和弹性力学中的最小位

能原理有些类似。

事实上 , 积分式 (1-65) Galerkin 积分表达式是一致的。

先改写 Galerkin 积分表达式

∫Ω

[ L( u) - f]φi dΩ = 0 (1-70)

由于未知函数可以表示成

u = αkφk

其中 φk 是选定的基函数 ( k = 1 , 2⋯ n ) , 而αk 是可变待定的 , 因此

δu = φkδαk (1-71)

若用δαk 乘以式 (1-70 ) , 对 i 求和 , 并注意到式 (1-71 ) , 则式 (1-70)

∫Ω

[ L( u) - f]δudΩ = 0 (1-72)

其中权函数δu 是未知函数的变分。

如果我们将 L( u) = f ( 1-63 ) , δu 看作是虚速

度 , 则式 (1-65 ) (1-72) , 可见按 Galerkin 法在流体力学中可以导出虚功率

原理。

2 . Ritz-Galerkin 积分表达式

前面已经指导了 Galerkin 积分表达式

∫Ω

[ L( u) - f]δudΩ = 0

其中权函数是未知函数 u 的变分δu。其实 , 当算子 L 是对称正算子时 , Ritz 法

中的能量泛函变分式亦可导出和式

J =〈L( u) , u〉 - 2〈f , u〉

因此有

δJ �= δ[〈L( u) , u〉 - 2〈f , u〉]

=〈L(δu) , u〉+〈L( u) ,δu〉 - 2〈f ,δu〉

= 2[〈L( u) ,δu〉 -〈f ,δu〉]

= 2〈L( u) - f ,δu〉= 0

于是有

〈L( u) - f ,δu〉= 0

即为

03

∫Ω

[ L( u) - f]δudΩ = 0 (1-73)

可见 Ritz 法的积分表达式和 Galerkin 法的积分表达式具有相同的形式。我们将式

(1-73) 称为 Ritz—Galerkin 积分表达式。

在具体求解时 , 当近似解 u 表示为基函数的线性组合

u = αiφi

时 , 变分δu 表示基函数 , 即

δu = φi ( i = 1 , 2⋯ n) (1-74)

这是因为 φi 是给定的基函数 , αi 是待定的未知函数 , 因此有

δu = φiδα

代入 Ritz—Galerkin 积分表达式 , 得

∫Ω

[ L( u) - f]φi dΩ δαi = 0

注意到变分增量δαi ( i = 1 , 2⋯ n) 的任意性 , 因此有

∫Ω

[ L( u) - f]φi dΩ = 0

将上式与式 (1-73)

δu = φi

虽然 Ritz 法采用的是变分原理 , Galerkin 法是方程余量与基函数正交化原理 ,

但在具体求解时 , 它们都具有相同形式的积分表达式。在有限元方法中 , 不论算

子方程的算子是否对称正算子 , 我们都将采用 Ritz—Galerkin 积分表达式作为求

解的出发点。

3 . 强解积分表达式与弱解积分表达式

Ritz 法中 , 自然边界条件已在泛函取极值的变分表达式中自动得到满足 , 不

再作为定解条件列出。这对于基函数的选取 , 显然带来不少方便。

在 Galerkin 法中 , 同样也可以使自然边界条件在积分表达式中得到满足。下

面先通过一个例子进行具体说明。

d ud x

2 + u - x = 0 0 < x < 1

u x = 0 = f

d ud x x = 1

= g

(1-75a)

(1-75b)

(1-75c)

其中边界条件式

按照式

13

∫1

0

d2

ud x

2 + u - x δud x = 0 (1-76)

为了将自然边界条件反映到积分表达式中去 , 一般采用弱解积分表达式和强解积

分表达式两种形式。

(1) 弱解积分表达式

对 Galerkin 积分表达式

达式中 , 由此所获得的积分表达式 , 将作为 Galerkin 法求解的出发点。此时对近

似函数的连续可微性的要求降低了 , 由它们所产生的解 , 一般并不满足算子方程

对函数的连续可微性要求 , 因此称为弱解。这个积分表达式 , 就称为弱解表达

式。

将式

∫1

0

d2

ud x

2 + u - x δud x =d ud x

δu1

0+∫

1

0( u - x )δu -

d ud x

d(δu)d x

d x

因为 x = 0 处 u = f 是给定常数 , 因此δu x = 0 = 0; 将 x = 1 处的自然边界条件d ud x

=

g 代入上式 , 即得

∫1

0( u - x )δu -

d ud x

d(δu)d x

d x + gδu = 0 (1-77)

积分式 (1-77) 。

如果以弱解表达式 (1-77) , 设近似解

u = αkφk (1-78)

其中的 φk ( k = 1 , 2⋯ n) 是选定的基函数 , 它应当满足式 ( 1-77 )

可微性要求 , 也就是要求 φk 具有一阶导数平方可积就可以了。显然 , 由此获得

的近似解 , 就连续可微性来说 , 不一定满足方程式 (1-75) , 从这个意义上

来说 , 它是一个广义解 , 称为弱解。

另一方面 , 积分表达式 (1-77) 已自动满足了自然边界条件式 ( 1-75c)

只要求近似解式

�∫1

0( u - x )δu -

d ud x

d(δu)d x

d x + gδu

=∫1

0( u - x)δu -

dd x

d ud x

δu +d

2u

d x2 δu d x + gδu

=∫1

0

d2

ud x

2 + u - x δud x -d ud x

δu1

0

+ gδu

=∫1

0

d2

ud x

2 + u - x δud x -d ud x x = 1

- g δu = 0 (1-79)

23

由于δu 是 u 的任意增量 , 因此由式 (1-79)

d2

ud x

2 + u - x = 0 0 < x < 1

d ud x x = 1

= g

可见自然边界条件已经满足 , 但对于 x = 0 处 u 取什么给定值 , 式 (1-77)

有反映出来 , 这就要求近似解式 (1-78) ( 1-75b)

(2) 强解积分表达式

如果令方程余量和自然边界上余量加权积分的线性组合为零 , 则由此产生的

积分表达式 , 称为强解积分表达式。一般情况下 , 方程余量加权积分和边界余量

的加权积分的线性组合都采取最简单的线性组合形式 : 不是相加就是相减。是加

还是减取决于数学上或物理上的方便 ; 数学上的考虑是指方程余量的加权积分经

过分部积分运算以后 , 可以和边界余量的加权积分的一部分相抵消 ; 物理上则反

映求解区域内部惯性力 , 质量力 , 内部应力所产生的虚功率和受力边界上的虚功

率只能按某种方式相结合使之平衡。

以上面的二阶常微分方程的边值问题为例。强解积分表达式为

∫1

0

d2

ud x

2 + u - x δud x -d ud x

- gx = 1

δu = 0 (1-80)

之所以将方程余量加权积分减去边界余量加权积分 , 是为了便于式

化。事实上 , 对式 δu x = 0 = 0 , 有

d ud x

δu1

0-∫

1

0

d ud x

d(δu)d x

- ( u - x )δu d x -d ud x

- gx = 1

δu

=∫1

0-

d ud x

d(δu)d x

+ ( u - x )δu d x + gδu

由此可得

∫1

0( u - x )δu -

d ud x

d(δu)d x

d x + gδu = 0 (1-81)

这显然是比较简单的。从形式上看 , 由强解表达式所导出的式 (1-81)

式(1-77) 。但它们的区别主要反映在强解积分表达式 ( 1-81 )

Galerkin 法求解的出发点 , 此时对近似解

u = ∑n

k = 1

αkφk

中的基函数的要求比较弱解积分表达式的要强一些。按式

φk 应有二阶导数可积的光滑程度 , 这比弱解所要求的一阶导数平方可积的要求

要强一些。

33

在应用 Galerkin 法求解问题时 , 由式

达式都可以采用 , 此时自然边界条件在表达式中自动满足 , 只要求近似解满足本

质边界条件。由于弱解积分表达式比较简单 , 常为实际应用时采取。

1.5 Ritz—Galerkin 法解题分析

前面两节已经详细讨论了 Ritz 法与 Galerkin 法的数学原理与求解方法。可以

看出 , 这两种方法是建立在不同数学原理上的。一般地说 , 如果算子方程的算子

是正定对称算子 , 则采用 Ritz 法 , 而且已经证明只要所获得的近似解构成的函数

序列 { un } 是能量泛函的极小化序列 , 则 un 收敛于算子方程的精确解。如果是

一般的算子方程 ( 如非线性微分方程 ) , 则不存在相应的变分原理 , 此时可采用

Galerkin 法进行求解。虽然可以求出近似解 , 但数学上并没有给出 Galerkin 法的

收敛性定理。

虽然这两种方法的数学原理不一样 , 但是在求解形式上却是相同的。Ritz 法

的积分表达式是能量泛函 J ( u ) (1-11) ; Galerkin 法的积分表达式是

以基函数 φi 为权函数的加权余量积分式 , 但它可以改写成和式 (1-11)

的式 (1-72)。因此 , 我们将这两种数学原理虽然不一样 , 但形式上相同的积分表

达式 , 称为 Ritz—Galerkin 积分表达式 , 从这个积分表达式出发 , 近似解的求解

过程也是相同的。下面我们讨论解题步骤与计算实例。

1.5.1 解题步骤

考虑算子方程

L( u) = f u∈ D (1-82)

定义域 D 是满足齐次边界条件的 , 具有和微分算子 L 相适应的连续可微性要求

的函数空间。如果微分方程具有非齐次边界条件 , 则需要先寻找一个满足非齐次

边界条件的特解 , 然后将微分方程转化为齐次边界条件的算子方程。

Ritz—Galerkin 法解题基本步骤如下 :

(1) 写出积分表达式

根据上两节的分析 , 不论是从变分原理导出的变分表达式 , 还是采用 Galer-

kin 法导出的加权余量积分式 , 都可以归结于下面的积分表达式

∫Ω

[ L( u) - f]δudΩ = 0 (1-83)

这是强解积分表达式 , 可根据具体的微分算子 , 将上述积分式进行分部积分 , 获

得满足自然边界条件的弱解积分表达式。

(2) 在 D 内选取基函数序列 {φi } ( i = 1 , 2⋯ ) 。这个基函数的线性组合可

43

以任意精度地逼近 D 中任何一个函数。

(3) 将方程的近似解表示为 n 个基函数的线性组合 , 构成 n 级近似解

un = ∑n

j = 1

αjφj (1-84)

式中αj ( j = 1 , 2⋯ n ) 是待定系数。积分式中的变分量δu 是积分式中的权函数

δu = φi ( i = 1 , 2⋯ n) (1-85)

(4) 将式 ( 1-84 ) ( 1-85 ) 代入式 (1-83) , 即构成以 α1 、α2 ⋯αn 为未知量

的 n 个代数方程

∫Ω

L ∑n

j = 1

αjφj φi dΩ =∫Ω

f φi dΩ (1-86)

( i = 1 , 2⋯ n)

由于 {φi } 是选定的已知基函数 , 因此通过积分运算可导出 n 阶代数方程组。

如果 L 是线性算子 , 则式 ( 1-86) n 阶线性代数方程组

Ai jαj = bi ( i = 1 , 2⋯ n)

Ai j =∫Ω

L(φj )φi dΩ

bi =∫Ω

fφi dΩ

(1-87a)

(1-87b)

(1-87c)

(5) 求解代数方程组式

数α1 、α2 ⋯αn 。代入式 ( 1-84) , 获得近似解 un 的表达式。

1.5.2 线性问题的求解

例1 求解下列线性常微分方程齐次边值问题

d2

ud x

2 + u + x = 0 0 < x < 1

u x = 0 = 0

d ud x x = 1

= 0

(1-88a)

(1-88b)

(1-88c)

按照解题步骤 , 先写出 Ritz—Galerkin 积分表达式。强解积分表达式为

∫1

0

d2

ud x

2 + u + x δud x = 0 (1-89)

第二步选取基函数 {φi } , 它必须满足齐次边界条件式 ( 1-88b) 和式 ( 1-88c)

对一般的微分方程问题 , 基函数的选取是比较困难的 , 对这个比较简单的例子 ,

53

可取

φ1 = x -x

2

2

φ2 = x -x

2

2

2

φn = x -x

2

2

n

第三步构造近似解。不妨设一级近似解

u1 = α1 x -x

2

2(1-90)

第四步将近似解式 (1-90)代入积分表达式 ( 1-89) , 得

∫1

0α1 - 1 + x -

x2

2+ x x -

x2

2d x = 0

积分运算后可得代数方程

-15α1 =

- 524

(1-91)

第五步求解代数方程式 (1-91) , 得

α1 =2524

代入式 (1-90) , 获得一级近似解

u1 =2524

x -x

2

2

如果按弱解积分表达式进行求解 , 则对式 (1-89) , 再将自然边

界条件式 (1-88c) x = 0 处 , δu = 0

3∫1

0

d2

ud x

2 + u + x δud x

=d ud x

δu1

0+∫

1

0( u + x)δu -

d ud x

d(δu)d x

d x

=∫1

0( u + x)δu -

d ud x

d(δu)d x

d x = 0 (1-92)

按上面的弱解积分表达式要求 , 基函数只要求满足齐次本质边界条件式 ( 1-88b)

而不必要求基函数必须满足齐次自然边界条件式

积分表达式中 ) , 于是可取

φ1 = x , φ2 = x2

, ⋯φn = xn

不妨设近似解为二级近似解

u2 = α1 x + α2 x2

63

代入弱解积分表达式 (1-92) , 并分别取δu = x、 x2

, 得

∫1

0[ (α1 + 1) x

2+ α2 x

3- (α1 + 2α2 x ) ] d x = 0

∫1

0[ (α1 + 1) x

3+ α2 x

4- 2(α1 x + 2α2 x

2) ] d x = 0

积分后可导出线性代数方程

23α1 +

34α2 =

13

34α1 +

1715α2 =

14

由此解得

α1 =137139

, α2 = -60139

于是近似解为

u2 =x

139( 137 - 60 x ) (1-93)

此例有准确解 : u* =sin xsin1

- x。表 1-6 给出准确解与强解 u1 , 弱解 u2 在若干点

上的函数值。在对照表中发现弱解的导数值 u′2 在 x = 1 的边界上 , 没有精确满

足自然边界条件 , 似乎和前面提到的弱解积分表达式中已经包含了自然边界条件

的说法有矛盾 , 这是因为弱解积分表达式虽然包含了自然边界条件 , 但那只有权

函数δu 为任意函数时 , 即δu 要取无穷多个基函数时 , 积分表达式才等价于满

足自然边界条件的微分方程式 , 而现在 u2 只是一个二级近似解。

表 1-6

x u1 �u2 �u * u′1 6u′2 Ku′*

0 {.25 0 �.2279 0 �.2094 0 �.2079 0 �.7813 0 �.7699 0 �.7933

0 {.50 0 �.3906 0 �.3849 0 �.3873 0 �.5208 0 �.5540 0 �.6243

0 {.75 0 �.4883 0 �.4964 0 �.5116 0 �.2604 0 �.3383 0 �.3542

1 {.00 0 �.5208 0 �.5540 0 �.5574 0 �0 �.1223 0 E

例2 求解下列非齐次边界条件的常微分方程

d4

ud x

4 = x 0 < x < 1

u(0) = 0 u′(0) = 1

u(1) = 1 u′(0) = 1

首先要设法选取满足非齐次边界条件的特解 , 可选特解 u0 = x , 它显然满足

上述方程的非齐次边界条件。再令

73

v = u - u0 = u - x

显然 v 满足下列齐次边界条件的微分方程

d4

vd x

4 = x 0 < x < 1

v (0) = v(1) = 0

v′(0) = v′(1) = 0

于是可按 Ritz—Galerkin 法的解题步骤求解。

不难写出弱解积分表达式

∫1

0

d2

vd x

2d(δv)d x

2 - xδv d x = 0

选取满足齐次本质边界条件的基函数

φ1 = x2

( x - 1)2

φ2 = x2

( x - 1)2

x

φn = x2

( x - 1)2

x2

不妨计算二级近似解

v2

= α1 φ1 + α2 φ2

代入积分表达式 , 并分别取δu = φ1 , φ2 , 可得线性代数方程组

Ai jαj = bi ( i = 1 , 2)

其中

A11 =∫1

0

d2φ1

d x2

2

d x

A12 = A21 =∫1

0

d2φ1

d x2

d2φ2

d x2 d x

A22 =∫1

0

d2φ2

d x2

2

d x

b1 =∫1

0xφ1 d x

b2 =∫1

0xφ2 d x

经积分运算可得线性代数方程组的表达式

45α1 +

25α2 =

160

260

α1 +1235

α2 =1

105

83

解得

α1 =160

, α2 =1

120

于是

v2 = x2

(1 - x2

)160

+1

120x

u2 = x2

(1 - x2

)1

60+

1120

x + x

将 u2 代入方程中 , 可验证正巧是准确解。

1.5.3 非线性问题的求解

通过下面给出的非线性微分方程边值问题的求解 , 来看非线性问题具有什么

样的特点。

d ud x

-d

2u

d x2 + u

2= 0 0 < x < 1

u x = 0 = 1

d ud x x = 1

= 0

相应上述边值问题的弱解积分表达式为

∫1

0

d ud x

+ u2δu +

d ud x

d(δu)d x

d x = 0

因为本质边界条件是非齐次的 , 因此取特解 u0 = 1; 基函数取 φ1 = x、φ2 = x2

⋯ ; 二级近似解为

u = 1 + α1 x + α2 x2

代入积分表达式中得

∫1

0[ (α1 + 2α2 x ) + (1 + α1 x + α2 x

2)

2] x + (α1 + 2α2 x ) d x = 0

∫1

0

[ (α1 + 2α2 x ) + (1 + α1 x + α2 x2

)2

] x2

+ 2(α1 + 2α2 x ) x d x = 0

积分后即得下列非线性代数方程组

14α

2

1 +16α

2

2 +25α1 α2 +

136α1 +

136α2 +

12

= 0

15α

2

1 +17α

2

2 +13α1 α2 +

116α1 +

6730

α2 +13

= 0

现在可以看出 : 采用 Ritz—Galerkin 法求解线性微分方程边值问题时 , 最后

形成的是含有待定系数αj 的线性代数方程组 , 而求解非线性问题时 , 形成的代

数方程组是非线性的。非线性代数方程组数值计算要比线性代数方程组要困难得

93

多。

1.5.4 微分方程初值问题的求解

流体力学中的波动方程与扩散方程是不定常初值问题 , 下面通过一个例子说

明采用 Ritz—Galerkin 法求解这类问题的特点。

考虑长度为 2 的导热棒的冷却问题。相应的方程与初边值条件如下 :

�u�t

= k�

2u

�x2 - 1 < x < 1 t > 0

u t = 0 = u0 (1 - x2

) - 1≤ x≤1

u x = ± 1 = 0 t > 0

未知函数 u = u( x , t ) ; k 是热扩散系数 , 棒的两端维

持在零度 , 棒体除两端对外散热 , 其余部分与外界没有热交换。

Ritz—Galerkin 强解积分表达式为

∫+ 1

- 1

�u�t

- k�

2u

�x2 δud x = 0

构造的近似解为

u = α1 ( t)φ1 ( x ) + α2 ( t )φ2 ( x ) + ⋯ + αn ( t )φn ( x)

其中 φi ( x ) , 必须满足 x = ±1 时为 0 的齐次边条件 , 不妨设

φi ( x) = (1 - x2

)i

而待定系数为 t 的函数 , 应满足

α1 ( 0) = u0 αi (0 ) = 0 i = (2 , 3⋯ n)

现求二级近似解

u2 = α1 ( t) (1 - x2

) + α2 ( t ) ( 1 - x2

)2

代入积分表达式

∫+ 1

- 1(1 - x

2)

dα1

d t+ (1 - x

2)

2 dα2

d t- 2 kα1 - 4 k (1 - 3 x

2)α2 (1 - x

2)d x = 0

∫+ 1

- 1( 1 - x

2)

dα1

d t+ ( 1 - x

2)

2 dα2

d t- 2 kα1 - 4 k(1 - 3 x

2)α2 (1 - x

2)

2d x = 0

积分后得

1615

dα1

d t+

3235

dα2

d t-

83

kα1 -3215

kα2 = 0

3235

dα1

d t+

256315

dα2

d t-

3215

kα1 -27237

kα2 = 0

这是一个常微分方程组 , 利用初值条件α1 ( 0) = u0 , α2 (0 ) = 0 , 一般是

采取数值方法如常用的 Runge—Kutta 法进行近似求解 , 这里不再作进一步的讨

论。

04

从上面的简单例子可以看出 : Ritz—Galerkin 法求解不定常的初值问题 , 比较

求解与时间无关的边值问题 , 有两个特点 :

(1) 试探解表示成基函数线性组合时 , 基函数 φi 是求解区域空间点的函数 ,

待定系数是时间的函数αi = αi ( t)。

(2) 最后形成的是以时间为变量的常微分方程组 (而边值问题是代数方程

组 ) , 利用初值条件采用数值计算方法可获得近似解。

习 题

1 . 证明下列微分方程边值问题相应的算子方程是对称正算子 , 并写出等价的泛函变分表

达式

- Δu + u + x2 e - y = 0( x , y )∈Ω

u Γ1

= 0

u +�u�n Γ

2

= 0

其中 Γ= Γ1 + Γ2 是求解区域 Ω的边界。

2 . 写出下列对流扩散方程

u�u�x

- α�2 u�x

2 = f( x ) 0 < x < 1

u x = 0 = 1

�u�x x= 1

= 0

的 Galerkin 强解与弱解积分表达式 , 并说明对试探解函数有什么要求。试选取适当的基函数 ,

并求出二级近似解。

3 . 用 Ritz—Galerkin 法求下列常微分方程边值问题的近似解

y ″- y - x = 0 0 < x < 2

y (0) = y(2) = 0

设近似解 yn = x (2 - x) (α1 + α2 x + ⋯ + αn xn - 1 ) , 试计算 y1 , y2 ; 并与精确解 y =sh xsh2

- x 进

行比较。

4 . 用 Ritz—Galerkin 法计算下列二维 Poisson 方程

�2 u�x

2 +�2 u�y

2 = - 2 ( x , y) ∈Ω

u Γ = 0

其中 Ω表示 { | x | ≤1 , | y | ≤1} , Γ是Ω边界。

试求三级近似解 u = (1 - x2

) (1 - y2

) (α1 + α2 x2

+ α3 y2

)

5 . 用 Ritz—Galerkin 法求解 Laplace 方程

14

�2 u�x

2 +�2 u�y

2 = 0 ( x , y)∈Ω

u Γ = x2

其中 Ω表示 { | x | ≤ a , | y | ≤ b} , Γ是Ω边界 ; 试选取基函数 , 并求一级近似解。

6 . 采用 Ritz—Galerkin 法求解不定常对流扩散方程

�u�t

+ u�u�x

= k�2 u�x

2 + f ( x, t ) 0 < x < 1 , t > 0

u t = 0 = (1 - x )2 0≤ x≤1

u x= 0 = 1 t > 0

�u�x x = 1

= 0 t > 0

写出强解与弱解积分表达式 , 构造试探解 , 选取适当的基函数 ; 并求出二级近似解α1 ( t ) ,

α2 ( t ) 。

24

第 2 章 有限元方法

2.1 有限元方法基本原理

2.1.1 有限元方法基本思想

当采用根据变分原理或方程余量与基函数正交化原理建立起来的 Ritz—

Galerkin 法时 , 将会遇到两个严重困难 :

(1) 基函数的选择没有一定的法则可以遵循。基函数不仅要求是线性无关的

完全的函数序列 , 而且要求满足齐次的本质边界条件 , 以及足够的连续可微性 ;

对于非齐次边值问题 , 还必须构造满足非齐次边界条件的特解。对于边界形状复

杂的情况 , 选择满足这样条件的基函数 , 是十分困难的。

(2) 当由基函数线性组合所构成的近似解代入积分表达式中 , 需在求解区域

上进行积分计算 ; 这种积分计算一般来说是相当繁的 , 对于复杂的求解区域 , 更

为突出。

正是由于上述两个严重困难 , Ritz—Galerkin 法虽然早在本世纪初期就提出来

了 , 但一直未得到充分的应用。直到高速电子计算机出现以后 , 提出了“分块逼

近”的想法 , 使得 Ritz—Galerkin 法得到进一步发展 , 形成了应用极为广泛、解

题效率很高的有限元方法。

有限元方法的基本思想可概括为如下几点 :

(1) 分块离散。将求解区域剖分成若干互相连结而不重叠的、一定几何形状

的子区域 , 这样的子区域称为单元。

(2) 规则化的基函数。Ritz—Galerkin 法的最大困难是选取基函数没有一定的

法则。而有限元方法 , 不论什么样的求解区域和方程 , 都是按一定规则构造基函

数。求解区域有多少个结点 , 就选取多少个基函数 , 每个结点分别对应一个基函

数 ( 也可以两个或更多个基函数 ) , 这个基函数在相应的结点上取值为 1 , 而在

其它与这个结点不相邻的单元中全部为 0。显然 , 除边界结点相应的基函数外 ,

其余所有基函数 , 都满足齐次本质边值条件 ; 而本质边界条件对应边界上结点的

基函数 , 可用来构造特解。

(3) 规则化的单元有限元方程。Ritz—Galerkin 积分表达式 , 可以表达为各个

单元上积分的和。而在每个单元中 , 近似解将表示成基函数的线性组合 , 代入积

分表达式中 , 在几何形状规则的单元上积分所形成的代数方程称为单元有限元方

程。这个方程对每一个单元而言 , 形式上都是相同的。这样就解决了 Ritz—

Galerkin 法在复杂区域上积分的困难。

2.1.2 有限元方法解题步骤

我们先简要地叙述解题的主要步骤 , 然后在下一节中结合例题进行详细的分

析。

1 . 写出积分表达式

根据变分原理或方程余量与权函数正交化原理 , 建立起与微分方程初边值问

题等价的积分表达式。这和 Ritz—Galerkin 法解题时的第一步是完全一致的 , 即

写出积分表达式

2 . 区域剖分

根据求解区域的形状以及实际问题的物理特点 , 将区域剖分成若干大小不

一、几何形状规则的单元 , 并确定单元中的结点数目与位置 ; 然后对单元、结点

按一定要求进行编号。

3 . 确定单元基函数

根据单元中结点数目及对近似解可微性要求 , 选择满足一定插值条件的插值

函数为单元基函数。

4 . 单元分析

单元分析的目的是建立单元有限元方程。将单元中的近似解表示为单元基函

数的线性组合 , 再将它代入积分表达式中 , 并对单元区域进行积分 , 就可获得含

有待定系数的代数方程组 ( 或常微分方程组 )。这个方程组一般称为单元有限元

方程。如果是线性问题 , 就是导出单元有限元方程的系数矩阵 ( 也称单元刚度矩

阵 )。

5 . 总体合成

所谓总体合成 , 就是将区域中所有单元有限元方程按一定法则进行累加 , 形

成总体有限元方程。实质是将分解开的单元积分表达式重新合起来 , 形成总体区

域上的积分表达式。总体有限元方程中的未知数正是求解函数在各个结点上的参

量 ( 函数值或其导数值 )。线性问题 , 就是将单元系数矩阵合成为总体系数矩阵。

6 . 边界条件边理

自然边界条件一般在积分表达式中得到满足。边界条件处理主要是如何使本

质边界上结点的函数值满足指定的本质边界条件。这可以通过对总体有限元方程

按一定法则进行修正而实现。

7 . 解总体有限元方程 , 计算有关物理量

根据本质边界条件修正后的总体有限元方程 , 是含有全部未知待定量的封闭

方程组 , 可采用合适的数值计算方法求解。当求出全部待定量后 , 即可获得近似

解的表达式 , 就可根据题意计算有关物理量。

44

2.2 有限元方法解题分析

下面以一个最简单的常微分方程边值问题作为例子 , 系统地说明有限元方法

的解题步骤和每一步骤中的要点。

考虑如下常微分方程边值问题

d2

ud x

2 = c 0 < x < h

u x = 0 = 0

u x = h = 0

(2-1a)

(2-1b)

(2-1c)

2.2.1 写出积分表达式

在第 1 章中已详细地说明了如何根据变分原理或方程余量与基函数正交化原

理建立起相应的积分表达式。

相应式

∫h

0

d2

ud x

2 - c δud x = 0 ( 2-2)

对上式分部积分 , 并注意到在 x = 0, x = h 上 , δu = 0 , 即可得到弱解积分表达式

∫h

0

d2

ud x

d(δu)d x

+ cδu d x = 0 ( 2-3)

2.2.2 区域剖分

区域剖分是有限元方法在编写程序之前进行准备工作的重要一步 , 工作量较

大。这一步骤的工作应完成如下几项 :

1 . 单元划分 , 确定结点

将求解区域 ( 也就是积分表达式中的积分区域 ) 划分成若干互相连接 , 不重

叠的子区域 , 这些子区域称为单元。单元的几何形状可以人为选取 , 一般有规则

化的几种形状可供选择 , 但尺寸大小可以不一样。

一维问题 : 将求解的线段区域划分成若干线段子区域 , 每个单元的线段长度

可以不一样。

二维问题 : 最通常的是将平面上的求解区域划分成若干三角形单元 , 矩形单

元 ; 也可以是曲边三角形单元 , 任意四边形或曲线四边形单元。

三维问题 : 最通常是将空间的求解区域划分成若干四面体单元 , 或者是矩形

六面体单元。

单元在区域中分布的疏密程度或单元的尺寸大小是根据问题的物理性质来决

定的。一般地说物理量变化剧烈的地方 , 单元尺寸相对要小一些 , 单元布置要密

一些。

54

单元中的结点要根据对近似函数连续可微性要求等因素决定数目的多少。除

单元的角点一定是结点外 , 单元体的边界上或内部均可布置结点。每个单元体中

结点数目及排列方式 , 一般是相同的。由于有限元方法已经相当成熟 , 单元的类

型和结点的布置已经规则化了 , 这将在下一章作专门介绍。

为便于确定结点的坐标 , 可将求解区域画在坐标方格纸上 , 再在其上进行单

元划分。

2 . 编写单元序号、单元结点号以及总体结点号

单元划分以及结点完全确定以后 , 要进行编号。序号有三种 :

(1) 单元号 全区域的单元顺序编号。不妨记单元号为 e , e = 1 , 2⋯ E ; E

是区域中单元的总数。

(2) 总体结点号 全区域的结点 , 按一定的顺序统一编号。不妨记总体结点

号为 n, n = 1 , 2⋯ N; N 是结点总数。结点编号的顺序 , 一般原则是尽可能使

同一单元内的结点号比较接近。以后可以看到 , 单元内结点序号的差值决定了总

体系数矩阵的带宽。

(3) 单元结点号 对每一个单元 , 将其中的结点按一定的顺序进行编号。不

妨记单元结点号为 i , i = 1 , 2⋯ , I ; I 是单元中结点的数目。如三结点三角形

单元 I = 3。单元结点号是相对每一个单元而言的 , 因此必须和单元号联系在一

起才有意义。必须注意 , 每个单元中序号的排列顺序必须统一。如三角形单元中

的单元结点号是按逆时针转向排序的。

3 . 列出每个单元中单元结点号与总体结点号之间一一对应的关系

区域中的每一个结点 , 都有两个序号。在进行单元分析时 , 采用的是单元结

点号 ; 在总体合成时 , 采用的是总体结点号。单元结点号与总体结点号的对应关

系必须准确地表示清楚。通常是采用图示法和列表法表示。所谓图示法就是在单

元剖分图上 , 对每一个结点 , 同时标出它的单元结点号和总体结点号。这种序号

对应关系还必须列出表格 , 使得可以清楚地表示出来。

比如在本例中 , 我们将求解区域 [ 0 , n ] 划分成 4 个单元 , 结点号的对应

关系 , 可由图 2-1 所示的单元剖分图表示。表 2-1 , 表示了单元结点号与总体结

点号的对应关系。这种对应关系 , 在计算程序中将通过输入语句送入数据 , 在计

算时加以应用。

图 2-1 一维单元剖分图a) 单元号与总体结点号 b) 每个单元的单元结点号

结点上的参数在表

示时有两种方式。如 e

单元中第 i 号结点 , 它

的总体结点号是 n, 则

函数 u 在这个结点上

的值可记为 u( e)

i , 也可

64

表 2-1 单元结点序号对照表

i n

e 1 W2 �3 w4 �

1 �1 W2 �3 w4 �

2 �2 W3 �4 w5 �

以记为 un 。 u( e )i 和 un 是同一个值的两种表示方式 , 显然 u

( e)i = un 。

4 . 列出结点的位置坐标

在单元剖分图上 , 应建立合适的坐标系 , 每个结点的位置坐标用表格的形式

表示清楚。在计算程序中 , 它将通过输入语句送入这些数据 , 在计算时加以应

用。本例题中的结点位置如表 2-2 所示。

表 2-2 结点坐标值

结点号 n 1 82 v3 �4 �5 0

坐标值 x 0 80 $.25 h 0 u.5 h 0 �.75 h h

5 . 分别列出本质边界与自然边界上的结点号及相应的边界值

通过表格列出这些数据。在计算程序中 , 它将通过输入语句送入并在计算时

加以应用。本例题中只有本质边界条件的结点 , 数据在表 2-3 中列出。

表 2-3 本质边界结点与边界值

边界结点号 nr 1 �5 �

边界函数值 ur 0 �0 �

2.2.3 确定单元基函数

有限元方法与 Ritz—Galerkin 法相比 , 一个很重要的区别是在于有限元方法

的基函数是在单元中构造的 , 由于各个单元具有规则的几何形状 , 而且可以不必

考虑边界条件的影响 , 因此在单元中选取基函数可以遵循一定的法则。基函数是

规则化的。

不妨选取 e 单元中的基函数为

Φi ( i = 1 , 2⋯ I)

若单元中的近似函数记为 u( e)

, 它可以通过基函数的线性组合表示

u( e )

= u( e)

i Φi ( 2-4)

其中 u( e)

i 是待定系数。

单元基函数的构造原则是使近似函数表达式 ( 2-4) 中的系数 u( e)i 正好是相

74

应结点上的函数值。根据这个原则 , 构造单元基函数将遵循下面两条法则 :

(1) 每个单元中的基函数个数和单元中结点的个数相等。序号为 i 的结点相

应的基函数记为Φi ( i = 1 , 2⋯ I)。本例题中 , 线段单元有两个结点 , 基函数有

两个 : Φ1 、Φ2 。

(2) 基函数 Φi 应满足插值条件

Φi ( pj ) = δi j ( i , j = 1 , 2⋯ I)

其中 pj 是单元结点序号为 j 的结点 , δi j 是 Kroneekerδ符号 , 即

δi j =1 i = j

0 i≠ j

本例题中的两个基函数的插值条件是

Φ1 ( p1 ) = 1

Φ1 ( p2 ) = 0(2-5a)

Φ2 ( p1 ) = 0

Φ2 ( p2 ) = 1(2-5b)

基函数一般选取多项式函数 , 根据插值条件 , 可以确定多项式的阶次以及各

项系数。有限元方法中的基函数都是按一定条件构成的插值函数 , 一般将这样的

单元基函数称为“形状函数”, 也有称为“插值函数”的。有限元方法中的单元

基函数将在第 3 章专门论述 , 现在只对本例题中的基函数选取进行讨论 , 并看它

所具有的特点。

假定 Φi 是多项式函数 , 根据式 ( 2-5) , 它必定是线性多项式

Φi = ai + bi x ( i = 1 , 2) ( 2-6)

且满足

Φi ( x( e)

j ) = ai + bi x( e)

j = δi j ( 2-7)

( i , j = 1 , 2)

其中 x( e)

j 是 e 单元中第 j 号结点的坐标。式 (2-7 ) a1 、 b1 、 a2 、 b2 4 个未

知数的代数方程组 , 求解后再代到式 (2-6) , 可得

Φi =x

( e )j - x

x( e)

j - x( e)

i

( 2-8)

( i , j = 1 , 2 ; i≠ j)

为了单元分析的方便 , 基函数常常是表示为无量纲局部坐标的形式。令无量

纲局部坐标

84

ξ=x - x

( e )1

x( e)

2 - x( e)

1

=x - x

( e)1

Δx( e) ( 2-9)

则有

Φ1 = 1 - ξ

Φ2 =ξ

(2-10a)

(2-10b)

单元中的近似函数可以表示为

u( e)

= u( e)

1 (1 - ξ) + u( e )

2 ξ (2-11)

在局部坐标中 , 单元中序号为 1、2 结点的坐标值分别是ξ= 0、1; 代入式 (2-10)

和式 (2-11) , 就可以很清楚地看出单元基函数的特点 : 单元基函数的函数值在

相应下标序号的结点上值为 1 , 其余结点上为 0; 单元近似函数的系数正是相应

结点上的函数值。

按式 ( 2-10 ) 和 式 ( 2-11 ) , 不 难 画 出 单 元 基 函 数 与 近 似 函 数 的 图 形

(图 2-2)。

图 2-2 函数图形a) 单元基函数 b) 近似函数

图 2 -3 一维线性基函数 Φn

全区域的基函数可以

看作所有单元基函数的总

和。每个结点相应有一个

基函数 , 但由于一个结点

往往同时是它所相邻单元

中的结点 , 因此这个结点

的基函数 , 将是它所分属

的单元中相应基函数的叠

加。

本例题中 , 将式 ( 2-

8) , 即可获

得总体基函数。如果注意

图 2-2 所表示的单元基函

数的形状 , 不难看出总体

基函数如图 2-3 所示的

“尖顶形”的函数 , 在相

应结点上的值为 1, 其他

所有结点上的值为 0 , 相

邻结点间呈线性变化。

相应结点 序号 为 n

的总体基函数的表达式为

94

Φn ( x ) =

x - xn - 1

xn - xn - 1x∈ [ xn - 1 , xn )

1 x = xn

xn + 1 - xxn + 1 - xn

x∈ ( xn , xn + 1 ]

0 xú [ xn - 1 , xn + 1 ]

图 2 -4a) 单元近似函数 b) 全区域近似函数

上述表达式适用于 n = 2、3、4 的内部结

点 , 当 n = 1、5 边界结点时 , 将边界外

部分去掉。

单元中的近似函数由单元基函数线

性组合产生 ( 图 2-4a) , 全区域的近似

函数由各个单元的近似函数叠加而成

(图 2-4b) 。

上面所讨论的是一维情形线性基函

数所具有的特点。这些特点也是一般有

限元方法中基函数所具有的特点。正确

理解有限元方法中的基函数 , 对掌握有

限元方法的实质很有帮助。上述介绍的

是 Lagrange 型的基函数 ( 另一种 Hermite

型的基函数 , 第3章中介绍 ) , 它是有

限元方法使用最广泛的基函数 , 通过它可以了解有限元方法基函数的基本特点 ,

概括起来 , 有如下 4 点 :

(1) 基函数的数目与全区域的结点数目相等 , 每个结点都对应一个基函数。

(2) 基函数的形状是“尖顶形”的 , 它所对应结点上的函数值为 1 , 其余结

点上为 0; 且除了与结点相邻的单元外 , 其余区域均为 0。

(3) 每个单元中单元基函数的数目都是相同的 , 它的表达式形式上都是一样

的。表达式中的系数是和单元结点坐标值有关的参数。

(4) 近似函数是基函数的线性组合 , 表达式中的待定系数正是相应结点上的

函数值。

2.2.4 单元分析

单元分析的任务是建立单元有限元方程 , 就是将近似函数表达式代入积分表

达式中 , 在一个典型单元中进行积分 , 推导出含有待定系数 ( 即函数在结点上的

参量 ) 的单元有限元方程。

区域剖分是有限元方法编写程序上机计算前的“数据”准备工作 , 而单元分

05

析是编写程序前的“数学”准备工作 , 是需要很严格进行数学推导的重要一步。

在本例题中 , 积分表达式 ( 2-3) 可以改写成各个单元的积分之和

∫h

o

d ud x

d(δu)d x

+ cδu d x

= ∑E

e = 1∫

x( e)2

x( e)1

d ud x

d(δu)d x

+ cδu d x = 0 (2-12)

所谓单元有限元方程是指单元积分表达式

∫x

( e)2

x( e)1

d ud x

d (δu)d x

+ cδu d x = 0 (2-13)

通过将近似函数表达式 (2-4) u = Φi , 经过积分运算 , 可导出

的代数方程式。现将式 ( 2-4 ) 代入式 (2-13) , 并注意利用式 (2-9)

标 , 则式 (2-13)

∫1

0

1Δx

( e)

dΦj

dξdΦi

dξu

( e )

j + Δx( e)

cΦi dξ = 0

其中Δx( e)

是单元的线长度 , Δx( e )

= x( e)2 - x

( e)1 。由于 u

( e )j 是待定常数 , 因此这个

积分式是一个以 u( e)j 为未知量的代数方程组

A( e )i j u

( e )j = f

( e)i ( i = 1 , 2)

A( e )

i j =1

Δx( e)∫

1

0

dΦi

dξdΦj

dξdξ

f( e)

i = - Δx( e)

c∫1

0Φi dξ

(2-14a)

(2-14b)

(2-14c)

如果将基函数式

A( e)i j 与 f

( e)i

A( e )i j =

1Δh

1 - 1

- 1 1(2-15a)

f( e)i = - Δhc

12

12

(2-15b)

其中Δh 是单元的长度Δh =Δx( e )

=h5。

2.2.5 总体合成

从式 (2-12) , 总体积分表达式是各个单元积分表达式之和。单元积

分表达式就是单元有限元方程 , 因此将求解区域中所有单元有限元方程相加即合

成总体有限元方程

15

Anm um - fn = ∑E

e = 1

A( e )

i j u( e)

j - f( e )

i = 0 (2-16)

上式和式 (2-12) 。

总体合成的任务就是将所有单元有限元方程进行累加 , 合成为总体有限元方

程。对于和本例题类似的线性问题 , 就是将单元有限元方程的系数矩阵 A( e)

i j 和

右端项 f( e )

i 分别累加 , 合成为总体有限元方程的系数矩阵 Anm 和右端项

fn 。所谓“累加”, 首先是将 e 单元中单元结点号 i、 j , 按照区域剖分时给出

的单元结点序号与总体结点序号对照表 ( 表 2-1 所示 ) 中列出的对应关系 , 转化

为总体结点号 n、 m , 然后将 A( e)i j 累加到 Anm 中。由于一个总体结点号对应若干

个 (本例题的内点是 2 个 ) 单元结点号 , 因此可能有若干个不同单元中的系数

A( e)

i j 同时对应于一个总体系数 An m , 因此需要逐个单元地将单元系数矩阵中的各

个元素或右端项的各个系数 , 按结点序号对应关系 , 逐次地相加到总体系数矩阵

或右端项的相应元素上去。概括地说 , 总体合成就是将所有单元的 A( e)i j 、 f

( e)i 进

行累加 , 最终形成 An m 、 fn , 从而产生总体有限元方程

Anm um = fn ( n = 1 , 2⋯ N) (2-17)

本例题中单元总数 E = 4 , 按照结点序号对照表 ( 表 2-1) 单元结点号与总

体结点号的对应关系 , 总体合成后的总体系数矩阵与右端项为

An m =

A( 1 )11 A

( 1 )12 0 0 0

A( 1 )

21 A( 1 )

22 + A( 2 )

11 A( 2 )

12 0 0

0 A( 2 )21 A

( 2 )22 + A

( 3 )11 A

( 3 )12 0

0 0 A( 3 )

21 A( 3 )

22 + A( 4 )

11 A( 4 )

12

0 0 0 A( 4 )21 A

( 4 )22

fn =

f( 1 )

1

f( 1 )

2 + f( 2 )

1

f( 2 )

2 + f( 3 )

1

f( 3 )

2 + f( 4 )

1

f( 4 )

2

将式 (2-15a)和式 ( 2-15b)

1 - 1 0 0 0

- 1 2 - 1 0 0

0 - 1 2 - 1 0

0 0 - 1 2 - 1

0 0 0 - 1 1

u1

u2

u3

u4

u5

= - Δh2

c

0.5

1

1

1

0.5

(2-18)

25

上述进行的总体合成 , 在单元数目较多时 , 工作量是十分巨大的。有限元方

法中这一步的计算工作是通过程序在计算机上完成的。

2.2.6 边界条件处理

总体有限元方程式 (2-18) , 如果不引进边界条件 , 所得的解是没有意义的。

自然边界条件一般已在积分表达式中得到满足 , 本质边界条件需要通过对总体有

限元方程的修正 , 使其满足。对有限元方程的修正 , 实质上是在近似解表示为总

体基函数线性组合的表达式中构造一个满足本质边界条件的特解。

如何通过总体有限元方程的修正 , 使得本质边界条件得到满足呢 ? 一般有两

个方法 :

1 . 消行修正法

假定第 r 号结点是本质边界上的结点 , 边界值为 ur 。修正方法如下 : 将系

数矩阵 An m 中相应 r 的对角线元素 Ar r 用 1 代替 , 并将它所在的行和列 , 即第 r

行和第 r 列中的其余全部元素置于 0; 同时将 fn 中的第 r 行元素 fr 改写为 ur ,

其余的各个元素 fn 均减去 An r ur , 即把 fn 改写为 fn - An r ur ( n = 1 , 2⋯ N ; n≠

r)。记修正的系数矩阵为 A*

n m , 修正的右端项为 f*

n ; 具体的矩阵表示如下 :

A*

n m =

A11 A12 ⋯ A1 , r - 1 0 A1 , r + 1 ⋯ A1 N

A21 A22 ⋯ A2 , r - 1 0 A2 , r + 1 ⋯ A2 N

… … …

Ar - 1 , 1 Ar - 1 , 2 ⋯ Ar - 1 , r - 1 0 Ar - 1 , r + 1 ⋯ Ar - 1 , N

0 0 ⋯ 0 1 0 ⋯ 0

Ar + 1 , 1 Ar + 1 , 2 ⋯ Ar + 1 , r - 1 0 Ar + 1 , r + 1 ⋯ Ar + 1 , N

… … …

AN1 AN2 ⋯ AN , r - 1 0 AN , r + 1 ⋯ AN N

f*n =

f1 - A1 r ur

f2 - A2 r ur

fr - 1 - Ar - 1 , r ur

ur

fr + 1 - Ar + 1 , r ur

fN - ANr ur

如果本质边界上有两个以上的结点 , 则按上述方法逐个进行修正。

可以清楚地看出 , 消行修正法是强制本质边界上的函数值 ur = ur , 再在方

35

程中进行移项处理。按此想法 , 消行修正法还有另外一种处理方法 , 就是将已给

出本质边界值 ur 的所在行列的全部元素去掉 , 右端项元素中将第 r 个元素去掉 ,

其余元素仍按前面方法处理为 fn - An r ur ( n = 1 , 2⋯ N ; n≠ r) 。如有两个以上

本质边界结点 , 则按上述规则逐个进行。这个方法的优点是可以使系数矩阵的阶

数减小 , 尤其是本质边界结点数量较大时 , 对于计算内存的节省是很明显的。但

是由于缩减后的矩阵 , 原先的下标序号已经打乱 , 应重新编号 , 这在计算程序上

将增加一些复杂性。此方法一般称“消行重新编号修正法”。

2 . 对角线项扩大修正法

这个方法的要点是 : 假定本质边界 Γ1 上的结点序号为 n1 、 n2 ⋯ nr ; 给定的

函数值分别为 u1 、 u2 ⋯ ur ; 修正的办法是将 An m 中相应本质边界结点序号的对

角线元素 App ( p = n1 , n2 ⋯ nr ) , 乘以一个大数 , 比如乘以 1020

, 其他所有元素

不变动 ; 同时把 fn 中的相应本质边界结点序号的元素 fp ( p = n1 , n2 ⋯ nr ) 改

写为 1020× App up ( p = n1 , n2 ⋯ nr )。修正后的系数矩阵和右端项向量为

A*n m =

A11 ⋯ A1 p ⋯ A1 N

… … …

Ap1 ⋯ 1020

App ⋯ Ap N

… … …

AN1 ⋯ AN p ⋯ AN N

f*

n =

f1

fp - 1

1020

Ap p up

fp + 1

fN

利用量阶比较不难明白 , “对角线项扩大修正法”与“消行修正法”一样 ,

都是强制本质边界上的函数值 up = up ( p = n1 , n2 ⋯ nr ) 。

下面采用消行修正法对本例题的总体有限元方程式 (2-18) 。由边界

条件式 (2-1b)和式 (2-1c) u1 = 0 , u5 = 0; 于是修正的有限元方程为 :

1 0 0 0 0

0 2 - 1 0 0

0 - 1 2 - 1 0

0 0 - 1 2 0

0 0 0 0 1

u1

u2

u3

u4

u5

= - Δh2

c

0

1

1

1

0

(2-19)

45

2.2.7 解总体有限元方程

修正的总体有限元方程 , 对于定常的线性问题是线性代数方程组 ; 对于定常

的非线性问题是非线性代数方程组 ; 对于不定常问题将是常微分方程组。求解这

些方程 , 都需采用数值计算的方法 , 有限元方法的程序中应包含求解这些方程数

值计算的子程序。有限元方程的数值计算方法可参考文献 [1] 。

本例题修正后的总体有限元方程是式 (2-19) , 不难求出各未知量为

u1

u2

u3

u4

u5

= - Δh2

c

0

1.5

2

1.5

0

图 2 -5 有限元解与准确解比较

其中Δh = 0.25 h。本题有准确解 u =c2

x

( x - h ) , 可以验证 , 在 x = 0、0.25 h、

0.5 h、0.75 h、 h 等处 , 有限元近似解与

准确解正好重合。准确解是二次抛物线 ,

而有限元解则是在每个单元中用直线代

替抛物线 , 整体上是用折线代替抛物线。

图 2-5 给出了有限元解与准确解的比较。

对有些问题 , 求出未知函数的各结

点上的值以后 , 还要进一步去求有关物

理量。如采用流函数的 Laplace 方程求位势流动 , 流函数获得后 , 还要通过微分

运算去求速度值 , 再通过 Bernoulli 方程去求压力分布。

2.3 有限元方法求解二维问题实例

这一节将应用上一节介绍的有限元方法解题步骤 , 来求解二维 Poisson 方程

边值问题。方程与边条件如下 :

�2

u�x

2 +�

2u

�y2 = p ( x , y) ∈Ω

u Γ1

= u

�u�n Γ

2

= g

(2-20a)

(2-20b)

(2-20c)

下面按解题步骤进行求解。

55

2.3.1 写出积分表达式

Ritz—Galerkin 强解积分表达式为

∫Ω

�2

u�x

2 +�

2u

�y2 - p δudΩ = 0 (2-21)

对上式进行分部积分 , 并应用 Green 公式 , 注意到边界条件式 Γ1 上

δu = 0; 边界条件式 (2-20c) : 在 Γ2 上�u�n

= g, 于是可得

∫Ω

�u�x

�(δu)�x

+�u�y

�(δu)�y

dΩ +∫Ω

pδudΩ =∫Γ

2

gδudΓ (2-22)

2.3.2 区域剖分

求解区域 Ω一般是不规则的平面区域 , 常用的是采用三角形三结点单元。

设 Ω区域划分成 E 个单元 , 边界一般是曲线 , 此时用三角形的直线边近似 ( 见

图 2-6) 。单元区域记为 Ω( e )

( e = 1 , 2⋯ E)。二维问题常采用的单元形状还有矩

形单元和等参单元 , 这在第 3 章中将详细介绍。

图 2-6 二维有限元区域剖分

三角形三结点单元中所有三角形顶点

都是结点。假定全部结点总数为 N , 位

于本质边界 Γ1 上的结点共有 r 个 , 序号

为 n1 、 n2 ⋯ nr ; 位于自然边界 Γ2 上的结

点共有 s 个 , 序号为 m1 、 m2 ⋯ ms 。每个

单元中的单元结点号应注意按统一的、一

般是逆时针方向排列。总体结点序号排列

方式原则上没有限制 , 不过为了使最后形

成的总体有限元方程的系数矩阵的非零元

素的带宽较小 , 一般应使同一个单元中的

结点序号的相互差值尽量小一些。单元结点号与总体结点号一般都应在区域剖分

图上清楚标出。

然后完成下列三个数据表 :

1) 所有结点的坐标值表。

2) 根据本质边界条件式 (2-20b)

界结点及相应边界值表。

3) 根据自然边界条件式

结点及相应边界值表。

为使平面区域上结点坐标值正确读出 , 一般可将求解区域 Ω画在坐标方格

纸上 , 然后标出一个合适的参照坐标系。

65

2.3.3 确定单元基函数

当单元及结点数确定后 , 单元基函数一般也就确定了。单元基函数有两类 ,

一类是以函数值作为结点参数的 , 称 Lagrange 插值函数 ; 一类是以函数值及其导

数值作为结点参数的 , 称 Hermite 插值函数。这些单元基函数 , 都是规则化的 ,

可在关于有限元方法的教科书或专著中查阅 , 本书将在第 3 章中专门介绍。现在

为使读者进一步了解单元基函数的特点 , 下面对本例题采用的三角形三结点的单

元基函数进行讨论。

单元基函数最简单的是线性插值函数

Φi = ai + bi x + ci y ( i = 1 , 2 , 3) (2-23)

三个结点分别对应三个基函数。若记 e 单元的三角形的三个结点坐标为 ( x( e)i ,

y( e )i ) , i = 1 , 2 , 3 ; 则式 (2-23) 所满足的插值条件为

Φi ( x( e)

j , y( e)

j ) = δi j ( i , j = 1 , 2 , 3)

将式 (2-23) 代入上式 , 即获得含有 9 个待定系数 ai , bi , ci ( i = 1 , 2 , 3 ) 的

9 个代数方程

ai + bi x( e)i + ci y

( e)i = 1

ai + bi x( e)j + ci y

( e)j = 0

ai + bi x( e)k + ci y

( e)k = 0

(2-24)

其中下标 i、 j、 k 按 1、2、3 顺序循环取值。这是一个封闭的线性代数方程组 ,

求解可得

ai =1D

1 x( e)i y

( e )i

0 x( e)j y

( e )j

0 x( e)k y

( e )k

=1D

x( e)

j y( e)

k - x( e)

k y( e)

j (2-25a)

bi =1D

1 1 y( e)i

1 0 y( e)j

1 0 y( e)k

=1D

y( e)k - y

( e)j (2-25b)

ci =1D

1 x( e )

i 1

1 x( e )

j 0

1 x( e )k 0

=1D

x( e)k - x

( e)j (2-25c)

其中

D =

1 x( e )

i y( e)

i

1 x( e )

j y( e)

j

1 x( e )k y

( e)k

= 2 A( e)

(2-25d)

A( e)

是 e 单元三角形的面积 , 表达式为

75

A( e )

=12

x( e )

j - x( e )

i y( e)

k - y( e)

i - y( e)

j - y( e)

i x( e)

k - x( e)

i (2-26)

上述各式中的下标 i、 j、 k 均按 1、2、3 的顺序循环取值 ( 即 i、 j、 k 分别取 1、

2、3 , 2、3、1 , 3、1、2 )。

由式 (2-23)、式 (2-25) Φi ( x , y) , 形状是一个直角四面

体的三角形斜面 , 单元 i 结点处的函数值为 1 , 其余两个结点 j、 k 上函数值为 0

( i、 j、 k 按 1、2、3 循环取值 )。具体的图形如图 2-7 所示。

图 2-7 三角形单元的线性基函数

图 2-8 三角形单元的线性总体基函数

全区域的基函数 , 可由各个基函数叠加

组成。不难看出 , 对于区域内结点所对应的

基函数是一个由若干三角形斜面组成的“尖

顶形”多面体的侧表面 , 如图 2-8 所示。

2.3.4 单元分析

将单元中的近似函数表达式

u( e)

= u( e)

j Φj ( x , y)

代入单元积分表达式 , 并用基函数Φi ( x , y)

δu , 即可得

∫Ω

( e)

�Φi

�x�Φj

�x+�Φi

�y�Φj

�yd xd y u

( e)

j

= -∫Ω

( e)

pΦi d xd y +∫Γ

( e)2

gΦi dΓ (2-27)

上式中右端第二项 , 只有 e 单元的边线属于Γ2 时 , 即 e 单元中有两个结点是位

于Γ2 上时才进行计算 , 边界 Γ( e)2 是 e 单元中属于Γ2 的边界 ; 若 e 单元中没有

Γ2 的边界 , 这项不存在。

将基函数表达式 (2-23)代入式 ( 2-27) , 即可推导出单元有限元方程

A( e)i j u

( e)j = f

( e)i (2-28a)

85

其中

A( e)

i j = ( bi bj + ci cj ) A( e)

(2-28b)

f( e)

i = -∫Ω

( e)

p( ai + bi x + ci y )d xd y + Ii (2-28c)

式中 ai 、 bi 、 ci 由式 ( 2-25 ) , A( e)

由式 ( 2-26 ) 。若单元没有边线属于

Γ2 , 则 Ii = 0; 若有边线属于 Γ2 , 不妨设 2、3 结点在 Γ2 上 , 则

图 2-9 单元边线落在 Γ2 上

Ii =∫2 3

gΦi dΓ ( 2-29)

式 (2-28c)

上进行的 , 一般要采用三角形局部坐标 , 这

将在第 3 章专门进行讨论。下面对式

若 e 单元的边线Γ( e)2 如图 2-9 所示由 2 ,

3 结点的连线构成。不妨取局部坐标

ζ=sL

其中 L 是2 3的长度 , S 是结点 1 到结点 2 的距离 , 因此有

ζ 2 = 0 ζ 3 = 1

根据基函数的性质 , Φi 在边线2 3上用局部坐标表示 , 应为

Φ1 = 0

Φ2 = 1 - ζ

Φ3 =ζ

(2-30)

另一方面 , 边值函数 g, 数据表提供的是结点 2、3 上的函数值 g2 、 g3 ; 在2 3上

可以认为是线性函数

g = g2 + ( g3 - g2 ) ζ

将上式与式 (2-30)代入式 ( 2-29) , 即得

I1 = 0

I2 = L∫1

0g2 + ( g3 - g2 )ζ (1 - ζ) dζ =

L6

(2 g2 + g3 )

I3 = L∫1

0g2 + ( g3 - g2 )ζζdζ =

L6

( g2 + 2 g3 )

(2-31a)

单元边界线2 3的长度 L 可由结点的坐标值计算获得

L = ( x( e)3 - x

( e)2 )

2+ ( y

( e)3 - y

( e)2 )

2(2-31b)

2.3.5 总体合成

二维问题的“总体合成”, 内容与方法与 2.2.5 小节已经讨论过的一维问题

95

完全一致。就是将单元有限元方程中的系数矩阵和右端项各个系数 , 即由式

28b) A( e)

i j 、 f( e)

i 按照单元结点序号与总体结点序号对应关

系 , 累加到相应的总体有限元方程系数矩阵和右端项的元素中去。

假定 e 单元中的结点 i、 j 对应的总体结点的序号是 n、 m , 则进行下面所表

示的累加

An m = An m + A( e )i j

fn = fn + f( e)

i

图 2-10 两单元系统的结点序号

为了对上述总体合成的过程有一个具体的了解 ,

下面通过只有两个单元的简单总体合成加以说明。

两单元的单元结点号与总体结点号的对应关系如图

2-10 所示。

从图 2-10 中可以看出 e = 1 单元的结点序号 i =

1、2、3 分别对应总体结点号 n = 2、3、1; e = 2 单

元的结点序号 i = 1、2、3 分别对应总体结点号 n =

3、2、4。按总体合体的法则 , 应有

Anm �=

A11 A12 A13 A14

A21 A22 A23 A24

A31 A A33 A34

A41 A42 A43 A44

=

A( 1 )33 A

( 1 )31 A

( 1 )32 0

A( 1 )

13 A( 1 )

11 + A( 2 )

22 A( 1 )

12 + A( 2 )

21 A( 2 )

23

A( 1 )23 A

( 1 )21 + A

( 2 )12 A

( 1 )22 + A

( 2 )11 A

( 2 )13

0 A( 2 )32 A

( 2 )31 A

( 2 )33

fn =

f1

f2

f3

f4

=

f( 1 )

3

f( 1 )

1 + f( 2 )

2

f( 1 )

2 + f( 2 )

1

f( 2 )

3

2.3.6 边界条件处理

自然边界条件式 ( 2-20c)

界条件式

即“消行修正法”和“对角线项扩大修正法”。具体的数学处理方法已在 2.2.6

中介绍了 , 这里不再讨论了。

经边界条件处理后的方程称“修正的总体有限元方程”。

06

2.3.7 解总体有限元方程

修正的总体有限元方程

A*n m um = f

*m ( n = 1 , 2⋯ N) (2-32)

是含有 N 个未知量的 N 阶线性代数方程组。对于流体力学中的二维问题 , 由于

流动区域 Ω包含的单元结点总数往往很大 , 所以有限元方程一般都是高阶线性

代数方程组。在进行电子计算机计算时 , 为储存系数矩阵元素以及进行求解运

算 , 一般需要较大的内存并需较多的机时。

对于线性代数方程组通常采用消去法或迭代法求解。不过应该指出 , 人们已

注意到有限元方程中的系数矩阵中含有大量的零元素。矩阵 A*n m 中任一个元素

A*

n k , 只有当它的行下标 n 和列下标 k 为同一个单元中的结点序号时 , 才可能是

非零元素 , 否则都是零元素。因此有限元的线性代数方程组的系数矩阵有下列特

点 :

(1) 系数矩阵是稀疏矩阵。这就决定了可以采用一些针对稀疏矩阵的线性代

数方程组的求解方法 , 以达到节省内存和运算时间的目的。

(2) 系数矩阵是带状矩阵。当总体结点号排列适当 , 可使得同一个单元中的

结点序号相差尽可能小 , 使得 A*

nm 有可能是一个只在对角线附近有少量非零元

素的带状稀疏矩阵。如果记所有单元中结点序号差值的最大值是 M , 则对任一

个元素 A*nk , 当 n - k > M 时 , 必定有 A

*n k = 0; 也就是说所有非零元素集中在

离对角线元素为 M 的带状中。 ( 2 M + 1 ) 为带状矩阵的带宽。根据带状矩阵的特

点。可采取一些特殊的求解方法 , 如定带宽储存解法 , 变带宽储存解法 , 波前法

等等。

(3) 如果是对称算子方程 , 则相应的有限元系数矩阵是对称矩阵。这就可以

采用平方根法 , 改进平方根法等求解方法。

总之 , 有限元方程由于阶数高 , 并具有稀疏、带状、对称等特点 , 因此为节

省内存 , 节省机时 , 应寻求适合这些特点的求解方法 , 可参阅参考文献 [ 1]。

综上所述 , 对于一个具体微分方程边值问题 , 可以按步骤地进行“数据”的

准备和“数学”的准备 , 最后是编写计算程序 , 上机计算如何编写程序 , 以及本

例题的源程序 , 将在 2.6 节中专门讨论。

2.4 有限元方法求解非线性问题

在这一节中讨论采用有限元方法求解非线性问题所具有的特点。

考虑流体力学中一维定常的动量方程

ν�

2u

�x2 - u

�u�x

= - p (2-33)

16

未知函数 u 表示流体速度 , 方程左端第二项反映流体的对流效应 , 是非线性项。

Ritz—Galerkin 强解积分表达式为

∫Ω

ν�

2u

�x2 - u

�u�x

+ p δudΩ = 0 (2-34)

分部积分后可得弱解积分表达式

∫Ω

ν�u�x

�(δu)�x

-u

2

2�(δu)�x

- pδu dΩ

=∫Γ

2

ν�u�x

-u

2

2δudΓ (2-35)

其中 Ω是求解区域 , Γ2 是 Ω的自然边界条件 , 如已给出 Γ2 上的边值 , 可将边

值条件代到右端的积分式中去。对于一维问题 , Ω是线段 , Γ2 是给出函数导数

值的边界点。上述式中用 Ω, Γ2 表示 , 是使表达式更有一般性。

设剖分后的单元区域为 Ω( e)

, 单元近似函数

u( e )

= u( e)i Φi (2-36)

其中 Φi 是选定的单元基函数。将积分表达式 ( 2-35 )

Ω( e)

, 以式 (2-36) u( e)

代替积分式中的 u , 取δu 为基函数

Φi , 即可获得单元有限元方程

A( e)i j u

( e )j + B

( e)i j k u

( e)j u

( e)k = f

( e)i (2-37a)

其中

A( e)

i j =∫Ω

( e)

ν�Φi

�x�Φj

�ydΩ (2-37b)

B( e)i j k = P-

12∫

Ω( e)

�Φi

�xΦjΦk dΩ +

12∫

Γ2

ΦiΦjΦk dΓ (2-37c)

f( e)

i =∫Ω

( e)

pΦi dΩ +∫Γ

( e)2

ν�u�x

Φi dΓ (2-37d)

式 Γ( e )2 是 e 单元中属于Γ2 的边界 , 如果单元中的边界没有属于 Γ2

的 , 这一项不出现。积分式中的�u�x

, 将按自然边界条件给出的边值代入。

总体合成 , 在计算程序中是逐个单元进行的。给定一个单元时 , 先将单元结

点号按照结点序号对照表转化为总体结点号 , 然后将按式 (2-37b )

的各个系数中去。所有单元按此方法全部累加完毕后 , 即可获得总体有限元方程

An m um + Bnm k um uk = fn (2-38)

( n = 1 , 2⋯ N)

26

现在可以清楚地看到 , 非线性问题与线性问题相比较 , 最重要的区别是最后

形成的代数方程组式 (2-38) 。另外本质边界条件的处理方法

也有一些不同 , 一般是采用 2.2.6 小节所介绍的“对角线项扩大修正法”。若 r

号结点位于本质边界上 , ur = ur , 则将 An m 中的对角线项 Ar r 乘以一个大数 , 比

如乘以 1020

, 成为 1020

Ar r ; 同时右端项 fn 中的元素 fr 乘以 1020

ur , 成为 1020

ur fr 。非线性项系数 Bn m k 不变动。如有二个以上的本质边界结点 , 则按上述规则

逐个进行。

非线性问题采用有限元方法求解的主要困难是求解非线性代数方程组。一般

都是将非线性方程组线性化后迭代求解 , 常用的有 Newton—Raphson 法。另外还

有函数极小值方法 , 如下降法等。具体的解法可参阅参考文献

2.5 有限元方法求解不定常问题

本节将以一维不定常的扩散问题作为例子 , 说明采用有限元方法求解不定常

问题的特点。

一维不定常的扩散问题数学上用下列抛物型方程描述

�u�t

- α�

2u

�x2 = 0 α> 0 (2-39)

Ritz—Galerkin 强解积分表达式为

∫Ω

�u�t

- α�

2u

�x2 δudΩ = 0 (2-40)

分部积分后可改写成弱解积分表达式

∫Ω

�u�t

δu + α�u�x

�(δu )�x

dΩ =∫Γ

2

α�u�x

δudΓ (2-41)

积分表达式的积分区域 Ω和自然边界Γ2 在一维情形分别是线段和边界点 , 用

Ω, Γ2 表示 , 是使表达式具有一般性。积分式 (2-41)�u�x

将根据

具体边值条件确定。

单元区域 Ω( e)

中的近似函数通常有两种形式 : 一种形式是

u( e)

= u( e)i Φi ( x , t ) (2-42a)

其中基函数Φi = Φi ( x , t ) , 系数 u( e )

i 是结点上的函数值 ,

待定常数。另一种形是

u( e)

= u( e)i ( t ) Φi ( x ) (2-42b)

其中基函数Φi = Φi ( x) , 和定常问题中的形式相同 ; 系数 u( e)

i =

u( e)

i ( t) , 是待求的函数。

36

第一种形式将会增加有限元解的计算维数。第二种形式 , 时间变量分离在系

数中 , 它只出现在有限元方程中 , 有限元方程将成为以时间作为变量的常微分方

程组。这种只对空间区域进行有限元离散 , 而时间保留在系数中的解法 , 一般称

为“半离散法”。目前解不定常问题 , 通常采用的是半离散法 , 可把时间与空间

变量分开求解。现在采用半离散法 , 将式 (2-42b )

式 Ω( e)

, δu 用基函数Φi 代替 , 于是可获得单元

有限元方程

A( e)i j u·

( e)j + B

( e)i j u

( e )j = f

( e)i ( i = 1 , 2⋯ I)

其中 �

u·( e)j =

d u( e )j

d t

A( e)

i j =∫Ω

( e)

ΦiΦj dΩ

B( e)i j =∫

Ω( e)

αdΦi

d xdΦj

d xdΩ

f( e )

i =∫Γ

( e)

2

α�u�x

Φi dΓ

如果 e 单元没有边界落在自然边界Γ2 上 , f( e)i = 0。

按总体合成的方法 , 可将每个单元中的单元有限元方程逐个累加生成总体有

限元方程

An m u·m + Bn m um = fn (2-43)

( n = 1 , 2⋯ N)

按解题步骤 , 对总体有限元方程 (2-43) 。方法是对

Bn m 、 fn 采用对角线项扩大修正法进行修正。若本质边界上的 r 号结点 , 边值是

ur = ur ( t ) , 则将 Brr 扩大为 1020

Brr , fr 扩大为 1020

fr ur 。系数 Anm 不进行修正。

最后形成的总体有限元方程为

Anm u·m + B*

n m um = f*

n (2-44a)

( n = 1 , 2⋯ N)

这是一个含有 N 个未知函数u1 ( t )、 u2 ( t) ⋯ uN ( t ) 。初值条件为

un ( t) t = 0 = u0 ( xn ) = u( o )n (2-44b)

上式中初值函数

u0 ( x ) = u ( x , t) t = 0

是由偏微分方程式 (2-39) 。

46

由此可见 , 有限元方法求解不定常问题最主要的特点是最后形成的总体有限

元方程式 ( 2-44) 不是代数方程 , 而是常微分方程组。

常微分方程组式 ( 2-44) 常采用差分法或者 Runge—Kntta 法等数值求解方法

计算。这里不作更详细的讨论 , 可参阅参考文献 [ 1]。

2.6 有限元方法计算程序

2.6.1 有限元方法计算机解题概述

在 2.2 节中 , 已经通过一维边值问题的例子详细地分析了有限元方法的解题

步骤。这些解题步骤清楚地揭示了有限元方法的解题思想以及具体的解题过程。

但是 , 实际上需要我们求解的问题不可能像 2.2 节中的例题那样简单 , 因此也不

可能像 2.2 节中所做的那样 , 可以借助手工运算去实现有限元方法的计算 , 而必

须借助于高速电子计算机。那么 , 当一个实际问题的数学方程以及初边值条件给

出后 , 如何应用有限元方法在电子计算机上去进行解题计算呢 ? 一般地说 , 应按

下列程序进行 :

1 . 数学准备 : 有限元分析

有限元分析包括解题步骤中的第 1 , 3 , 4 步。主要是做数学推导工作 , 这是

编写计算程序之前必不可少的数学准备 ; 内容是建立 Ritz—Galerkin 积分表达式 ,

选择合适的单元类型和单元基函数 , 推导和建立单元有限元方程。

2 . 数据准备 : 区域剖分

主要是完成有限元方法解题步骤中的第 2 步“区域剖分”中的工作内容。将

求解区域划分成合适的单元网格 , 并给出下列各项数据 :

1) 单元结点号与总体结点号对应关系数据 ;

2) 结点坐标值数据 ;

3) 本质边界结点号及相应的边界值数据 ;

4) 自然边界结点号及相应边界值数据 ;

5) 含有自然边界单元的单元号数据 ;

6) 其他一些物理参数。

以上所准备的数据将作为电子计算机的输入信息 , 必须准确无误。对于一个

较大型的题目 , 数据准备工作涉及到成百甚至上千个单元与结点 , 工作量相当

大 , 为保证数据准确无误 , 应格外的细心。

3 . 编制计算源程序

一般是先画出计算程序框图 , 然后采用算法语言 , 编制计算源程序。这在下

面详述。

4 . 上机计算

56

将编制好的计算源程序以及各项数据送入计算机进行计算。一般地说 , 上机

第一阶段主要是修正计算源程序中难以避免的语法错误、逻辑错误 , 以及其他各

种错误 ; 这就是通常所说的“通程序”。程序通过后 , 才开始计算。

5 . 结果分析

对计算机输出的结果进行整理分析。如发现数据异常 , 则要寻找原因。数据

异常或者结果明显不合理的原因 , 有可能是程序错误造成 , 也可能是计算方法不

当或数学物理模型不合理造成 , 需要细至分析找出原因进行修正。

上述过程的第 1 步“数学准备”和第 2 步“数据准备”往往可以同时进行。

或者在源程序编制初步完成后 , 再进行数据准备 , 可灵活掌握。

2.6.2 计算程序框图

在编制计算源程序之前 , 一般要画出计算框图。尤其对于初学者来说 , 绘制

计算框图 , 对于正确理解有限元方法的解题思想 , 正确地编写计算源程序都是极

有好处的。计算程序框图是将计算的先后顺序 , 逻辑关系用简洁明了的方框图直

观表示出来的一种形式。

有限元方法的计算程序按顺序包括 :

1) 输入各项数据。

2) 计算单元有限元方程中的各个系数元素 , 产生系数矩阵。

3) 总体合成 , 产生总体有限元系数矩阵。

4) 本质边界条件处理。

5) 解算修正后的总体有限元方程。

6) 输出结果数据。

下面以 2.3 节中式 (2-20) 所描述的 Poisson 方程为例 , 列出计算程序框图如

图 2-11 所示。

2.6.3 Laplace方程边值问题计算源程序

本节将给出采用有限元方法求解 Laplace 方程的计算源程序。介绍这个源程

序的目的主要是了解如何通过算法语言将前面所介绍的有限元方法解题过程编制

成在电子计算机上使用的源程序。编制这个程序的数学准备已在 2.3 节中完成 ,

可令式 ( 2-20a) 中的 p = 0。源程序按图 2-11 所示的计算框图编制。作为初学者

的一个例子 , 我们尽量使程序结构简单明白。

不妨假定区域剖分成 100 个三结点三角形单元 , 共 80 个结点 , 其中本质边

界条件结点有 20 个 , 自然边界结点有 10 个 ( 在单元剖分时约定含有自然边界

的单元 , 只有两个结点落在边界上 )。线性代数方程组将采用 Gauss 主元消去

法。

源程序使用标准 FORTRAN 算法语言。源程序中不写注释行 , 将插入一些中

文的说明 , 以帮助对源程序的理解。

66

图 2-11 计算程序框图

源程序

01 8PROGRAM

02 DIMENSION N

03 `1 4NR(20) , NS(10) , AIJ(3 , 3 ) , FE(3 ) ,

76

04 2 ANM(80 , 80 ) , FU(80) , UR(20) , GS(10) ,

05 3 ND(100)

上述数组含义 : N—各单元结点的总体序号 ; X, Y—结点坐标值 ;

NR—本质边界结点号 ; NS—自然边界结点号 ; AIJ—单元系数矩阵 ;

FE—单元右端项矢量 ; ANM—总体系数矩阵 ; FU—总体有限元方程右

端项矢量并存放求解函数结点值 ; UR—本质边界值 ; GS—自然边界值 ;

ND—单元特征数。下面输入各项数据信息 (第 06 句至 16 句 )

06 READ(1 , 5 ) (N( I, J) , I = 1 , 3) ,

07 1 J = 1 , 100)

08 5 FORMAT( 24I3 )

09 READ(1 , 6 ) (X( I) , Y( I) , I = 1 , 80)

10 6 FORMAT( 6F10.2 )

11 READ(1 , 7 )NR, NS

12 7 FORMAT( 10I3 )

13 READ(1 , 8 )UR, GS

14 8 FORMAT( 5F12.4 )

15 READ(1 , 9 )ND

16 9 FO �RMAT(25I2)

打印出输入的各项数据 , 以便核对

17 WRITE(2 , 10 ) ( J , N( I , J) , I = 1 , 3 ) ,

18 1 J = 1 , 100)

19 10 FORMAT( 8X, ′1′, 2X, ′2′, 2X, ′3′�/

20 1 ( 2X, I3 , 2X, 3( I2 , 1X) ) )

21 WRITE(2 , 11 ) ( I, X(I) , Y(I) , I = 1 , 80 )

22 11 FORMAT( 2X, ′NODE′, 5X, ′X′, 11X,

23 1 ′Y′�/(3X, I2 , 2(2X, F10.2) ) )

24 WRITE(2 , 12 )NR, NS

25 12 FORMAT( 2X, 10I4 )

26 WRITE(2 , 13 )UR, GS

27 13 FORMAT( 2X, 5F15.4 )

28 WRITE(2 , 14 )ND

29 14 FORMAT( 2X, 25I3 )

系数矩阵元素、右端项元素置 0 (第 30 句至 33 句 )

30 DO 20 I = 1 , 80

31 FU(I) = 0

86

32 DO 20 J = 1 , 80

33 20 ANM( I, J ) = 0

单元序号置 1

34 NE = 1

调用子程序计算每一个单元的系数矩阵及右端项矢量

35 25 NDE = ND(NE)

36 CALL ELMT(NE , AIJ , FE , N, X, Y, NS,

37 1 GS, NDE)

总体合成 , 形成总体系数矩阵与右端项矢量 (第 38 句至 44 句 )

38 DO 30 I = 1 , 3

39 II = N( I , NE)

40 FU(II) = FU( II) + FE( I)

41 DO 30 J = 1 , 3

42 JJ = N( J , NE)

43 ANM( II , JJ) = ANM(II, JJ) + AIJ( I, J )

44 30 CONTINUE

如总体系数形成 , 则进行本质边界条件处理 , 否则进行总体合成 ( 第

45 句至 51 句 )

45 IF(NE.EQ.100)GOTO 35

46 NE = NE + 1

47 GOTO 25

48 35 DO 40 I = 1 , 20

49 K = NR (I)

50 ANM(K, K) = 1E20 * ANM(K, K)

51 40 FU(K) = ANM(K, K) * UR( I)

调用子程序采用 Gauss 消去法求解线性代数方程组 , 求解结果存放在

数组 FU 中

52 CALL GAUSS(ANM, FU, 80 )

结果输出

53 WRITE(2 , 45 ) FU

54 45 FORMAT( 2X, 5F15.5 )

55 STOP

56 END

下面是单元分析计算的子程序

96

01 SUBROUTINE ELMT(NE , A, F, N, X, Y,

02 1 NS, GS, ND)

03 DIMENSION A( 3 , 3) , F( 3) , N( 3 , 100) ,

04 1 X(80) , Y(80) , NS(10) , GS(10) , XE(3 )

05 2 , YE(3) , B(3 ) , C(3) , KG(3)

上述数组中 XE , YE 是单元结点坐标 , B , C 是单元基函数系数 , KG

是工作单元 , 其余见主程序中说明。

下面写出单元结点的 X, Y 坐标 , 并将右端项元素置 0 (第 06 句至 11

句 )

06 DO 5 I = 1 , 3

07 K = N( I , NE)

08 XE( I) = X(K)

09 YE( I) = Y(K)

10 F( I) = 0

11 5 CONTINUE

计算单元面积的二倍值

12 D = XE(2) * YE(3) - XE(3) * YE(2) + XE

13 1 ( 3) * YE( 1) - XE( 1) * YE( 3) + XE( 1) * YE

14 2 ( 2) - XE( 2) * YE( 1)

计算单元系数矩阵 ( 第 15 句至 27 句 )

15 DO 10 I = 1 , 3

16 J = I + 1

17 IF( J.GT.3) J = J - 3

18 K = J + 1

19 IF(K.GT.3)K = K - 3

20 B( I) = (YE( J) - YE(K) )�/D

21 C( I) = (XE(K) - XE( J ) )�/D

22 10 CONTINUE

23 DO 20 I = 1 , 3

24 DO 20 J = 1 , 3

25 A( I, J ) = 0.5 * ( B( I) * B( J) + C(I)

26 1 * C( J) ) * D

27 20 CONTINUE

如果不含有自然边界的单元 , 则子程序结束返回 , 否则计算自然边界

上的线积分值 (第 28 句至 49 句 )

07

28 IF(ND.EQ.0)GOTO 40

29 DO 30 I = 1 , 3

30 KI = N( I, NE)

31 DO 25 M = 1 , 10

32 IF(KI.EQ.NS(M) ) GOTO 28

33 25 CONTINUE

34 II = I

35 GOTO 30

36 28 KG( I) = M

37 30 CONTINUE

38 J = II + 1

39 IF( J.GT.3) J = J - 3

40 K = J + 1

41 IF(K.GT.3)K = K - 3

42 K2 = KG( J)

43 K3 = KG(K)

44 G2 = GS(K2)

45 G3 = GS(K3)

46 SL = SQRT( (XE( J) - XE(K) ) * * 2 +

47 1 (YE( J) - YE(K) ) * * 2 )

48 F( J ) = SL * (2 * G2 + G3 )�/6

49 F(K) = SL * (G2 + 2 * G3)�/6

50 40 RETURN

51 END

下面是 Gauss 列主元素消去法子程序

01 SUBROUTINE GAUSS(A, B, N)

02 DIMENSION A(N, N) , B(N)

形式参数 A( N , N ) ; B ( N )

项元素 ; N 是方程组阶数

03 NM1 = N - 1

04 DO 10 K = 1 , NM1

05 C = 0.0

选第 K 列的主元 , 把主元存于 C, 行号为 I0 (第 06 句至 11 句 )

06 DO 2 I = K, N

17

07 IF(ABS(A(I , K) )·LE.ABS( C) )

08 1 GOTO 2

09 C = A(I , K)

10 I0 = I

11 2 CONTINUE

主元如不在 K 行 , 则将主元所在行与 K 行交换位置 ( 第 12 句至 19

句 )

12 IF( I0.EQ.K)GOTO 6

13 DO 4 J = K, N

14 T = A(K, J)

15 A(K, J) = A( I0 , J)

16 4 A( I0 , J ) = T

17 T = B(K)

18 B(K) = B(I0)

19 B( I0 ) = T

逐行消元 ( 第 20 句至 28 句 )

20 6 KP1 = K + 1

21 C = 1.0�/C

22 B(K) = B(K) * C

23 DO 10 J = KP1 , N

24 A(K, J) = A(K, J ) * C

25 DO 20 I = KP1 , N

26 20 A( I, J ) = A(I , J) - A( I , K) * A(K, J)

27 B( J) = B( J) - A( J , K) * B(K)

28 10 CONTINUE

求出 xn 存放在 B ( N) 中

29 B(N) = B(N)�/A(N, N)

回代 , 求出各个未知量 xi 存放在 B( I)中

30 DO 40 K = 1 , NM1

31 I = N - K

32 C = 0.0

33 IP1 = I + 1

34 DO 50 J = IP1 , N

35 50 C = C + A(I , J) * B( J)

36 B( I) = B( I) - C

27

37 40 CONTINUE

38 RETURN

39 END

一般情况下 , 还可考虑增加一些语句 , 使得当列主元的值过小时 , 即

停止运算。这里 , 为使程序简单起见 , 省略了。

习 题

1 . 按照有限元方法解题步骤 , 求解下列二阶常微分方程边值问题

d2 ud x

2 - u = 0 1 < x < 2

u(0) = 1

u(2) = 7.389

图 2-12 三结点三角形单元

假定将求解区域 [1 , 2] 划分成 4 个相等的二结点的线段单元。

2 . 推导计算下列波动方程在如图 2-12 所示的 e 单元中的有

限元方程。

λè2u =

�2

u�t2

u t = 0 = u0 ( x , y )

单元 e 是区域内部单元。

3 . 推导下列 Poisson 方程边值问题的单元有限元方程

�2 u�x

2 +�2 u�y

2 = 2 ( x , y ) ∈Ω

u Γ = u

并对图 2-13 所示的区域内部的两个单元进行有限元方程的合成累加。

4 . 在电子计算机上计算图 2-14 所示区域的 Laplace 方程�2 u�x2 +

�2 u�y2 = 0

边界条件是 : A-B 上 , u = y ; B-C-D 上 , u = 4 ; D-E 上 ,�u�n

= 0 ; A-E 上 , u = 0。按解题步

骤 , 进行单元分析 , 画出区域剖分图 , 列出各项数据表格 , 并编制计算程序 , 上机计算。

5 . 有限元方法的解题思想与解题步骤和 Ritz—Galerkin 法比较 , 有什么相同和区别。

图 2-13 三结点三角形单元 图 2-14 求解区域

37

第 3 章 单元与单元基函数

3.1 概述

有限元方法解题的基本思想是“分块逼近”。所谓“分块”, 就是将求解区域

划分成若干块子区域 , 即单元。所谓“逼近”, 就是在各个单元中以特定的近似

函数去代替求解函数 ; 这特定的近似函数是通过给定的单元基函数的线性组合来

表示的

u = αiΦi ( 3-1)

其中 Φi 是单元基函数 , 系数αi 一般称为近似函数的广义坐标 (由于本章都是在

单元中讨论各个量 , 因此表示单元号的上标 ( e) 一律省略 ) 。

由此可见 , 在有限元方法中如何划分单元 , 以及如何选择单元基函数是至关

重要的问题。这一章主要是研究这个问题。

3.1.1 单元形态

有限元方法可以将具有复杂边界的求解区域划分成单元网格 , 同时在进行单

元分析时要在单元上进行积分运算 , 因此单元的形状一般都是比较简单而且规则

化的。决定单元形态的有两点 : 一是几何形状 ; 二是单元中的结点数目。单元基

函数的选择与单元形态密切相关。

单元的形态原则上讲可以是非常多种的 , 实际上经常使用的并不多 , 下面列

出常用的单元形态。

图 3-1 一维线段单元a) 二结点线段单元 b) 三结点线段单元

一维问题 : 单元是长度不一的线段 ,

常用的有二结点线段单元 , 三结点线段

单元 ( 图 3-1 所示 )。也有采用更多结点

的线段单元。

二维问题 : 通常使用的有三种。

1) 三角形单元 ( 图 3-2 所示 ) , 有三结点三角形单元 ; 六结点三角形单元 ;

十结点三角形单元。

2) 矩形单元 ( 图 3-3 所示 ) , 有四结点矩形单元 ; 八结点矩形单元 , 九结点

矩形单元。

3) 等参数单元 ( 图 3-4 所示 ) , 有六结点曲线三角形单元 ; 四结点任意四边

形单元 ; 八结点曲线四边形单元 ; 十二结点曲线四边形单元。

图 3-2 三角形单元a) 三结点三角形单元 b ) 六结点三角形单元 c) 十结点三角形单元

图 3 -3 矩形单元a) 四结点矩形单元 b) 八结点矩形单元 c) 九结点矩形单元

图 3-4 二维等参数单元a) 六结点曲线三角形单元 b) 四结点任意四边形单元

c) 八结点 ( 或九结点 ) 任意四边形单元d) 八结点 (或九结点 ) 曲线四边形单元

原则上这三种形状的单

元 , 结点数目还可增加 , 但

实际上极少采用。

三维问题 : 通常使用的

有三种 :

1) 四结点四面体单元。

2) 八结点矩形六面体

单元。

3 ) 三维等 参数单元 ;

常用的有八结点任意六面体

单元 , 十结点曲线边四面体

单元 , 如图 3-5 所示。

3.1.2 单元基函数类型

有限元方法中 最常用

的 , 也是最基本的单元基函

数是不同幂次的多项式函数。

虽然从原则上说也可以采用其他类型的 , 诸如三角函数、指数函数作为单元基函

数 , 但实际上极少采用。本章只讨论多项式单元基函数。

单元中的近似函数将用单元基函数的线性组合来表示 , 系数正是结点上的函

57

图 3 -5 三维单元a) 八结点矩形六面体单元 b ) 四结点四面体单元 c) 八结点任意六面体单元

数值或导数值。这就要求单元基函数满足某种特定的插值条件 , 这样的基函数称

为插值基函数 , 一般也称为单元形状函数。

作为单元基函数的插值多项式有两大类型 :

1 . Lagrange 插值基函数

Lagrange 插值基函数满足的插值条件为

Φi ( xj ) = δi j≡1 i = j

0 i≠ j( 3-2)

式中 Φi 是单元中 i 号结点所对应的插值基函数 ; xj 是 j 号结点的空间坐标 , δi j

是 Kroneckδ符号 ; i , j = 1 , 2⋯ I ; I 为单元中结点总数。

如果单元中采用的是 Lagrange 插值基函数 , 则每个结点分别对应一个基函

数 ; 显然 , 若将近似函数式 ( 3-1) 在各个结点上取值 , 有

uk = u( xk ) = αiΦi ( xk ) =αiδik = αk

可见近似函数表达式为

u = uiΦi ( 3-3)

也就是说 , 近似函数表达式中的广义坐标是结点的函数值 Ui。可见 Lagrange 插

值基函数可保证单元边界上函数值的连续性 , 但一般不能保证导数的连续性。

2 . Hemite 插值基函数

Hemite 插值基函数满足的插值条件为

dk

d xk Hl i ( xj ) = δi jδl k ≡

1 i = j 且 l = k

0 其他情况( 3-4)

式中 Hl i 是单元中 i 号结点所对应的第 l 阶 Hemite 插值多项式 ; xj 是 j 号结点的空

间坐标。函数导数阶次指标 l、 k = 0 , 1 , 2⋯ K ; K 是作为结点参数的函数导数

的最高阶次。

如果一维单元中采用的是 Hermite 插值基函数 , 则每个结点分别对应 ( K +

67

1) 个基函数 ; i 号结点对应的基函数为 H0 i 、 H1 i ⋯ HKi 。根据插值条件 , 可以知

道此时的单元近似函数表达式为

u = ui H0 i + u′i H1 i + ⋯ + u( K)i HKi ( 3-5)

式中的广义坐标不仅是结点上的函数值 Ui , 而且是结点上的导数值 U( k )i ( k = 1 ,

2⋯ K) 。

结点上函数导数的最高阶次 K , 是根据所求解问题对近似函数的协调性要

求确定的。最高导数阶次为 K 的 Hemite 插值多项式称为 K 阶 Hemite 插值多项

式。

Hermite 插值基函数不仅可保证单元边界上函数值的连续性 , 而且可保证导

数的连续性。

3.1.3 单元基函数的连续性要求

对于任何一种数值方法而言 , 近似解都要能收敛于精确解。在有限元方法

中 , 求解区域要进行单元剖分 , 当分割越来越细时 , 近似函数应当收敛于求解函

数。有限元的数学理论表明 , 为保证收敛性 , 作为单元基函数的插值函数应满足

下列要求 : 若单元积分表达式中的求解函数的最高导数阶次为 ( r + 1) 阶 , 则插

值基函数要求满足 :

(1) 协调性 在单元的交接边界上要求具有 r 阶导数的连续性 , 或称为 Cr

连续性。

(2) 完备性 在单元内部要求至少是 ( r + 1 ) 次完整多项式。显然它具有

Cr + 1

连续性。

在这里我们只是把上述两个条件作为有限元近似函数收敛于精确解的必要条

件提出来 , 不再作进一步的讨论。

3.1.4 单元自由度

在有限元分析中 , 根据近似函数的连续性要求 , 要合理地选择单元中结点的

参数类型与数目。参数类型是指有限元求解时在结点上取什么样的参数 , 一般是

函数值或其导数值。一个结点上的参数个数 , 称为这个结点的自由度 ; 而单元中

所有结点自由度的总和 , 称为单元的自由度。

一般地说 , 为保证单元交接边界上 Cr的连续性 , 取结点上函数值以及小于

等于 r 的各阶导数值作为参数。这样 , 结点上将有 ( r + 1 ) 个自由度。

例如一维二结点单元 , 若结点参数是函数值 , 则结点自由度为 1, 单元自由

度为 2。单元自由度和近似函数表达式中的广义坐标个数是相等的 , 此时近似函

数表达式为

u = u1 Φ1 + u2 Φ2

若结点参数除函数值外 , 还有一阶、二阶导数值 , 则结点自由度为 3; 单元自由

度为 6; 此时近似函数表达式为

77

u = u1 H01 + u2 H02 + u′1 H11 + u′2 H12 + u″1 H21 + u″2 H22

3.1.5 插值基函数多项式的构成

前面提到插值基函数有两种类型 : Lagrange 型与 Hermite 型。它们的区别主

要体现在所满足的插值条件不一样 , 它们都是不同幂次的多项式。如何构成这个

多项式呢 ? 主要取决于两点 :

1 . 多项式的项数取决于单元自由度

多项式的项数应和单元自由度相等。这样 , 多项式中的各项系数就可以根据

插值条件式

多项式的项数与它的单元自由度一致 , 都是 3 , 于是表达式为

Φi = ai + bi x + ci y ( i = 1 , 2 , 3)

而对六结点三角形单元 , 自由度为 6 , 表达式应是含有 6 个系数的二次多项式

Φi = ai1 + ai2 x + ai3 y + ai4 x2

+ ai5 xy + ai6 y2 ( i = 1, 2⋯6 )

2 . 多项式的完整性与对称性

多项式的完整性是指多项式应完整地包含各个幂次项。这样 , 当多项式的项

数由单元自由度确定以后 , 就可由多项式的完整性确定多项式的阶次。如二维三

自由度单元 , 插值多项式根据完整性要求只能取线性多项式 , 而不能取成二次以

上多项式中的任意三项。反过来 , 多项式的完整性也决定了多项式的项数 , 从而

决定了单元的自由度的数目。

由多项式完整性确定多项式的阶次与项数 , 一维情形比较简单 , 二维情形可

利用图 3-6 所示的 Pascal 三角形方便地确定。

一般地说 , 可按完整多项式的项数决定单元自由度 , 从而决定单元中设置结

点的数目。但有时单元自由度与完整多项式的项数并不正好相符 , 这时就需要对

完整多项式增减一些项 , 增减项的原则是要保持多项式的对称性。例如八结点矩

形单元 , 选取 Lagrange 插值基函数 , 按 Pascal 三角形所示 , 完整的多项式 , 或者

是 6 项 , 或者是 10 项。而此时的矩形单元只有 8 个自由度 , 插值多项式应为 8

项。为此应在完整的 , 含有 10 项的三次多项式中减去两项 ( 也可以从含有 6 项

的二次多项式中增加两项 ) , 去掉的项 , 按照对称性原则 , 可以是 x3和 y

3或者

x2

y 和 xy2。

1

x y 线性 3 项⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

x2 xy y2 二次 6 项⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

x3 x2 y xy2 y3 三次 10 项⋯⋯⋯⋯⋯⋯⋯⋯

x4 x3 y x2 y2 xy3 y4 四次 15 项⋯⋯⋯⋯⋯⋯

x5 x4 y x3 y2 x2 y3 xy4 y5 五次 21 项⋯⋯⋯⋯

x6 x5 y x4 y2 x3 y3 x2 y4 xy5 y6 六次 28 项⋯⋯

图 3-6 Pascal 三角形

87

多项式的完整性和对称性可以保证插值多项式在几何上的各向同性 , 也就是

当坐标系发生转换时 , 不至影响插值多项式的表达形式 , 从而保证近似函数在不

同坐标中有相同的解。

3.1.6 局部坐标与标准单元

为了使单元基函数以及单元的积分区域规则化 , 将采用单元局部坐标。当每

个单元的物理坐标转化为量纲为 1 的局部坐标后 , 可使所有几何类型一致 , 但大

小、形状并不统一的单元转化为形状、大小、位置坐标完全统一的标准单元。在

这种标准单元中 , 作为单元基函数的插值多项式是相同的 , 单元的积分区域也是

相同的。局部坐标一般有两种 , 第一种的坐标变量在单元内的变化范围是 [ 0 ,

1] 区间 ; 第二种的变化范围是 [ - 1 , + 1] 区间。标准单元也称为母单元。

建立单元基函数要做两件事情 : 一给出单元上物理坐标转化为量纲为 1 的局

图 3-7 一维标准单元

图 3-8 三角形标准单元

图 3-9 四边形标准单元

部坐标的关系式 ; 二在相应

的标准单元中 , 按插值条件

构造插值基函数。

标准单元如下 :

(1) 一维情形 一维的

标准单元是如图 3-7 所示的

线段单元。两种局部坐标如

图中所示。

(2) 二维情形 三角形

(包括曲线三角形 ) 单元的

标准单元是如图 3-8 所示的

直角边为单位长度的等腰直

角三角形。四边形 ( 包括曲

线四边形 ) 单元的标准单元

是边长为单位长度的正方

形 , 两种局部坐标如图 3-9

所示。

(3) 三维情形 四面体

(包括曲线边四面体 ) 单元

的标准单元是如图 3-10 所

示的直角边为单位长度的直

角四面体单元。六面体 ( 包

括曲线边六面体 ) 单元的标

准单元是边长为 1 或 2 的正

97

方体 , 两种局部坐标如图 3-11 所示。

图 3-10 四面体标准单元 图 3-11 六面体标准单元

具体采用哪一种局部坐标 , 完全按建立单元基函数的方便而定。

3.2 一维单元插值基函数

3.2.1 一维局部坐标

假定一维线段单元内有 m 个结点 , 结点位置一般是均匀布置的 , 结点的物

理坐标

xi = x1 +i - 1m - 1

( xm - x1 ) ( i = 1 , 2⋯ m)

单元两端点坐标分别为 x1 、 xm 。相应的量纲为 1 的局部坐标有两种定义方式 :

(1) 单元两端点的局部坐标分别定义为 0、1; 此时坐标的变换关系式为

ξ=x - x1

xm - x1(3-6a)

x = x1 + ( xm - x1 ) ξ (3-6b)

各结点的局部坐标为

ξi =i - 1m - 1

( i = 1 , 2⋯ m ) ( 3-7)

(2) 单元两端点的局部坐标分别定义为 - 1、1; 此时坐标的变换关系式为

ξ=2 x - ( xm + x1 )

xm - x1(3-8a)

x =12

[ ( xm + x1 ) + ( xm - x1 ) ξ] (3-8b)

各结点的局部坐标为

08

ξi = - 1 + 2i - 1m - 1

( i = 1, 2⋯ m ) ( 3-9)

任何线段单元可通过式 (3-6)或式 (3-8 ) ( 见图 3-2) ; 单元分

析的工作 , 首先是将整体物理坐标变换为局部坐标 , 然后在标准单元上进行积分

运算 , 建立起单元有限元方程。所有的单元基函数也都是在单元局部坐标中给出

的。

3.2.2 Lagrange插值基函数

Lagrange 插值多项式作为单元基函数时 , 每个结点有 1 个自由度。根据近似

函数精度的需要可设置 2、3⋯ m 个结点 , 相应的插值多项式为线性、二次⋯

( m - 1) 次多项式。单元基函数的数目与结点个数相同。所有的单元基函数都是

在局部坐标的标准单元中建立的 , 它所满足的插值条件为

Φi (ξj ) = δi j ( i , j = 1 , 2⋯ m) (3-10)

其中ξj 是单元中第 j 号结点的局部坐标。

1 . 线性插值基函数

一维线段单元最简单且最常用的是两结点的线性单元。此时插值基函数为

Φi (ξ) ai + biξ

当采用由式 (3-6) , 结点 1 , 2 的坐标为ξ1 = 0 , ξ2 = 1。基函

数满足的插值条件为

Φ1 (0) = 1 Φ1 (1) = 0

Φ2 (0) = 0 Φ2 (1) = 1

于是可确定 a1 = 1 , b1 = - 1; a2 = 0 , b2 = 1。插值基函数为

Φ1 = 1 - ξ

Φ2 =ξ(3-11)

按同样的方法 , 当采用式 ( 3-8 ) 给出的局部坐标时 , 结点坐标为 ξ1 = - 1 ,

ξ2 = 1。插值基函数为

图 3-12 Lagrange 线性插值基函数a) 坐标原点位于单元端点 b) 坐标原点位于单元中点

Φ1 =12

(1 - ξ)

Φ2 =12

(1 + ξ)

(3-12)

在这两种局部坐标下的插值

基函数图形如图 3-12 所示。

式 ( 3-11 ) -12a , 式

(3-12) 为图 3-12b。

2 . 二次插值基函数

当在单元中设置 3 个结点时 , Lagrange 插值基函数为二次多项式

18

Φi = ai + biξ+ ciξ2 ( i = 1 , 2 , 3) (3-13)

当采用式 (3-6)

ξ=x - x1

x3 - x1(3-14)

此时的结点坐标分别为ξ1 = 0、ξ2 = 0.5、ξ3 = 1; 根据插值条件式 (3-10 ) , 可定

出式 (3-13) ai 、 bi 、 ci ( i = 1 , 2 , 3) ; 于是可得二次插值基函数

Φ1 = ( 1 - ξ) (1 - 2ξ)

Φ2 = 4ξ(1 - ξ)

Φ3 = ξ(2ξ- 1)

(3-15)

若采用式 (3-8)

ξ=x - x2

x2 - x1(3-16)

则结点坐标分别为ξ1 = - 1、ξ2 = 0、ξ3 = 1; 相应的插值基函数为

图 3-13 Lagrange 二次插值基函数

Φ1 =12ξ(ξ- 1)

Φ2 = ( 1 - ξ) (1 + ξ)

Φ3 =12ξ(1 + ξ)

(3-17)

二次插值基函数的图形如图 3-13 所示。

3 . 三次插值基函数

当在单元中设置 4 个结点时 , Lagrange 插

值基函数为三次多项式。

当采用式 ( 3-6) 给出的量纲为 1 的局部

坐标

ξ=x - x1

x4 - x1

(3-18)

此时的结点坐标分别是ξ1 = 0、ξ2 =13、ξ3 =

23、ξ4 = 1; 相应的插值基函数为

Φ1 =12

(1 - 3ξ) (2 - 3ξ) (1 - ξ)

Φ2 =92ξ( 2 - 3ξ) (1 - ξ)

Φ3 = -92ξ( 1 - 3ξ) (1 - ξ)

Φ4 =12ξ( 1 - 3ξ) (2 - 3ξ)

(3-19)

28

当采用式 (3-8)

ξ=2 x - ( x4 + x1 )

x4 - x1(3-20)

此时的结点坐标分别是ξ1 = - 1 , ξ2 = -13

, ξ3 =13

, ξ4 = 1; 相应的插值基函数

Φ1 =116

(3ξ+ 1 ) (3ξ- 1) (1 - ξ)

Φ2 =916

(1 - ξ) (1 + ξ) (1 - 3ξ)

Φ3 =916

(1 - ξ) (1 + ξ) (1 + 3ξ)

Φ4 =116

(3ξ+ 1 ) (3ξ- 1) (1 +ξ)

(3-21)

3.2.3 Hermite插值基函数

为了满足近似函数的协调条件 , 有时需要采用 Hermite 插值多项式作为单元

基函数。此时结点上的参数不仅是函数值 , 还有导数值。按结点导数的最高阶

次 , Hemite 插值分一阶插值、二阶插值⋯⋯。如果结点上导数的最高阶次为 K,

则要选择 K 阶 Hermite 多项式作为插值基函数 , 它所满足的插值条件由式 ( 3-4)

给出。由于采用 Hermite 插值基函数的单元中 , 结点自由度都在 2 以上 , 因此不

宜在单元中设置太多的结点。下面仅讨论 2 个结点的情形。一般采用式 ( 3-6)

给出的量纲为 1 的局部坐标 , 结点的坐标分别是ξ1 = 0、ξ2 = 1。

1 . 一阶插值基函数

此时每个结点有 2 个自由度 , 单元自由度为 4。Hermite 插值多项式应为三次

多项式

Hki = a k i + bk iξ+ ck iξ2

+ d k iξ3

(3-22)

其中结点序号指标 i = 1 , 2 ; 导数阶次指标 k = 0 , 1。

根据插值条件式 (3-4) , 应有

H0 i (ξj ) = δi j

ddξ

H0 i (ξj ) = 0

(3-23a)

(3-23b)

H1 i (ξj ) = 0

ddξ

H1 i (ξj ) =δi j

(3-24a)

(3-24b)

当由式 (3-22) , 含有 4 个未知待定系数的三次多项式 H01 、 H02 代入式

(3-23) ; H11 、 H12 代入式 (3-24) , 即可分别形成 4 个封闭的代数方程组 , 求解后

38

可得各个系数 , 从而获得如下所示的一阶 Hermite 插值基函数

H01 = 1 - 3ξ2

+ 2ξ3

H02 = 3ξ2

- 2ξ3

H11 = ξ- 2ξ2

+ξ3

H12 = ξ3

- ξ2

(3-25)

图 3 -14 两结点一阶 Hermite 插值基函数

它的图形如图 3-14 所示。

当采用一阶 Hermite 插值基函数时 ,

每个结点对应有两个基函数 , 二结点单

元中有 4 个基函数。单元近似函数的表

达式为

u = u1 H01 + u2 H02 + u′1 H11 + u′2 H12

这是和 Lagrange 插值基函数的不同之

处。

2 . 二阶插值基函数

如果结点上不仅要求确定函数值 , 而且要求确定函数的一阶、二阶导数值 ,

则每个结点有 3 个自由度 , 单元有 6 个自由度。所采用的二阶 Hermite 插值基函

数将是五次多项式 , 共有 6 个待定系数。利用插值条件式

多项式中这些系数 , 从而可获得如下所示的二阶 Hermite 插值基函数

H01 = 1 - 10ξ3

+ 15ξ4

- 6ξ5

H02 = 10ξ3

- 15ξ4

+ 6ξ5

H11 = ξ- 6ξ3

+ 8ξ4

- 3ξ5

H12 = - 4ξ3

+ 7ξ4

- 3ξ5

H21 =12

(ξ2

- 3ξ3

+ 3ξ4

- 5ξ5

)

H22 =12

(ξ3

- 2ξ4

+ ξ5

)

(3-26)

此时单元近似函数表达式为

u = u1 H01 + u2 H02 + u′1 H11 + u′2 H12 + u″1 H21 + u″2 H22

3.3 三角形单元 Lagrange 插值基函数

二维有限元问题中 , 最早使用三角形单元 , 使用也最普遍。三角形单元内结

点数目 , 按多项式完整性要求可设置三结点、六结点、十结点、十五结点等等。

另外还有使用曲线边的三角形等参数单元。插值基函数有 Lagrange 多项式与 Her-

48

mite 多项式两种 , 本节讨论各类三角形单元的 Lagrange 插值基函数。

3.3.1 三角形单元的面积坐标

三角形单元的量纲为 1 的局部坐标是面积坐标。定义三角形单元中任意一点

p( x , y)

ξi =Ai

A ( i = 1 , 2 , 3 ) (3-27)

图 3 -15 三角形单元的面积坐标

式中 A 是三角形的面积 ; A1 、 A2 、

A3 分别是 p 点和三角形 3 个顶点

(即序号为 1 , 2 , 3 的三个单元结

点 ) 连线将三角形划分成三个小

三角形的面积 ( 如图 3-15 所示 )。

由于 A1 + A2 + A3 = A, 因此

ξ1 + ξ2 + ξ3 = 1 ( 3-28)

可见由式 ( 3-27 )

ξ1 、ξ2 、ξ3 中只有两个是独立的 ,

不过为方便起见 , 3 个坐标变量经

常同时使用。

下面推导面积坐标 (ξ1 , ξ2 , ξ3 ) 和直角坐标 ( x , y) 之间的变换关系式。

假定三角形单元 3 个结点的坐标为 ( xi , yi ) , i = 1 , 2 , 3 ; 则面积 A、 Ai

的表达式为

A =12

1 1 1

x1 x2 x3

y1 y2 y3

(3-28a)

Ai =12

1 1 1

x xj xk

y yj yk

(3-28b)

上式中 i、 j、 k 为指标 1、2、3 循环取值。将上述 A、 Ai 的表达式代入式 (3-27)

, 即可获得

ξi = ai + bi x + ci y i = 1 , 2 , 3 (3-29)

其中系数

ai =1

2 A( xj yk - xk yj ) (3-30a)

bi =1

2 A( yj - yk ) (3-30b)

58

ci =1

2 A( xk - xj ) (3-30c)

反解式 (3-29) , 可得到用ξi 来表示 x、 y 的变换式。下面用另外一种简便方法推

导这个变换式 ; 设

x = α1ξ1 + α2ξ2 + α3ξ3

y = β1ξ1 + β2ξ2 + β3 ξ3

(3-31)

根据面积坐标定义 , 在各个结点上应有

ξi ( xj , yj ) = δi j

另一方面将结点的坐标 ( xi , yi )代到式 (3-31 ) , 得

xi = α1ξ1 ( xi , yi ) + α2 ξ2 ( xi , yi ) + α3ξ3 ( xi , yi ) = αi

yi =β1 ξ1 ( xi , yi ) + β2 ξ2 ( xi , yi ) + β3 ξ3 ( xi , yi ) = βi

代回式 (3-31) , 即得

x = x1ξ1 + x2 ξ2 + x3ξ3

y = y1ξ1 + y2 ξ2 + y3ξ3

(3-32)

由式 (3-29)和式 ( 3-32) ( x , y) 和无量纲局部

坐标———面积坐标 (ξ1 , ξ2 , ξ3 ) 之间的变换关系 , 它实际上是将 ( x , y) 平面

上的任意形状的三角形单元变换到 (ξ1 , ξ2 ) 平面上的直角边为单位长度的标准

单元。图 3-16 表示了这种变换关系。

图 3-16 任意三角形单元变换到标准单元

三角形单元上的插值基函数都采用面积坐标表示 ; 单元分析时 , 首先将

( x , y ) 坐标变量变换为面积坐标 , 而后在标准单元上进行积分运算。显然这样

会带来很大方便。

3.3.2 各种结点类型的三角形单元

三角形单元 Lagrange 插值基函数常用的有一次插值、二次插值和三次插值多

项式。根据 3.1.5 小节所论述的多项式的完整式 , 相应的插值多项式分别为 3

项 , 6 项和 10 项 , 因此三角形单元中设置的结点数目相应为 3 个 , 6 个和 10 个。

68

原则上三角形单元中还可采用更高次的插值基函数 , 如十五结点的四次插值 ,

二十一结点的五次插值 , 但极少采用。

Lagrange 多项式如采用 n 次插值 , 则完整的项数为 m =12

( n + 1) ( n + 2 )。

构造它的表达式常用如下方法 :

(1) 先写出 n 次完整多项式的表达式 , 它含有 m 个待定未知系数。利用插

值基函数在 m 个结点上的插值条件

Φi (ξ1 j ,ξ2 j ,ξ3 j ) =δi j ( i , j = 1 , 2⋯ m)

构成一个封闭代数方程组 , 可求出各个待定系数。

(2) 利用由 Silvester 所给出的 n 次插值基函数的简便公式

Φi = Bi (ξ1 ) Bi (ξ2 ) Bi (ξ3 ) ( i = 1 , 2⋯ m )

其中 Bi (ξk )

Bi (ξk ) =

ξk ( nξk - 1) ( nξk - 2)⋯ ( nξk - nξki + 1)ξk i ( nξk i - 1 ) ( nξki - 2) ⋯1

1

ξki ≠0

ξki = 0

上式中ξk i是 i 结点上面积坐标ξk 的值 ( k = 1 , 2 , 3 ; i = 1 , 2⋯ m )。

图 3-17 3 结点三角形单元

图 3-18 6 结点三角形单元

下面列出按上述方法所构造的插值

基函数。

1 . 三结点三角形单元的线性插值

基函数

结点的面积坐标如图 3-17 所示。

线性插值基函数如下 :Φ1 =ξ1

Φ2 =ξ2

Φ3 =ξ3 (3-33)

2 . 六结点三角形单元的二次插值

基函数

结点的位置及其面积坐标如图 3-

18 所示。二次插值基函数如下 :Φi = ξi (2ξi - 1) ( i = 1 , 2 , 3)

Φ4 = 4ξ1 ξ2

Φ5 = 4ξ2 ξ3

Φ6 = 4ξ3 ξ1 (3-34)

3 . 十结点三角形单元的三次插值

基函数

结点的位置及其面积坐标如图 3-19 所示。三次插值基函数如下 :

78

Φi =12ξi (3ξi - 1) ( 3ξi - 2) ( i = 1 , 2 , 3)

Φ4 =92ξ1ξ2 (3ξ1 - 1)

图 3-19 10 结点三角形单元

Φ5 =92ξ1ξ2 (3ξ2 - 1)

Φ6 =92ξ2ξ3 (3ξ2 - 1)

Φ7 =92ξ2ξ3 (3ξ3 - 1)

Φ8 =92ξ3ξ1 (3ξ3 - 1)

Φ9 =92ξ3ξ1 (3ξ1 - 1)

Φ10 = 27ξ1ξ2ξ3 (3-35)

4 . 更高阶次的三角形单元

更高阶次的三角形单元有十五结点、二十一结点等等 , 由于使用极少 , 这里

只给出单元中的结点位置 ( 图 3-20 所示 )。

图 3-20 高次三角形单元a) 四次 15 结点 b) 五次 21 结点

3.3.3 曲线边三角形等参数单元

为了更准确地表示求解区域的复杂边界 , 还可以采用曲线边的三角形单元。

曲线边的形状可以是由三个结点决定的二次曲线 , 也可以是四个结点的三次曲

线。在这样的曲线三角形单元中构造插值基函数的关键 , 是如何将曲线边的三角

形变换到以面积坐标表示的直角三角形的标准单元。而标准单元上的各类插值基

函数已有现成的结果 , 可以直接移用过去。

这一类可以变换成标准单元的曲线边三角形单元 , 一般称为三角形等参数单

元。这里的所谓“等参数”, 是指将 ( x , y ) 平面上的曲线单元变换到标准单元

的“参数函数” (即变换函数 ) 与标准单元中的插值“参数函数” ( 即插值基函

数 ) 是“同等”含意的。

88

1 . 二次曲线边三角形等参数单元

图 3-21 三角形等参数单元a) 二次曲线三角形单元 b ) 面积坐标系中的标准单元

假定曲线边三角形

的曲线边是二次曲线 ,

曲线的形状由边上的三

个结点的位置决定 , 除

每个顶点是结点外 , 每

条曲线边上设置一个结

点。因此是六结点单元

(图 3-21a)。

将 ( x , y ) 平 面

上的二次曲线三角形单

元变换到面积坐标 (ξ1 , ξ2 ) 平面上的直角三角形标准单元 (如图 3-21b) , 变换

关系式如下 :

x = xiΦi (ξ1 ,ξ2 ,ξ3 )

y = yiΦi (ξ1 ,ξ2 ,ξ3 )(3-36)

上式中 ( xi , yi ) ( i = 1 , 2⋯6 )。Φi (ξ1 ,ξ2 ,ξ3 )

为变换关系式的等参函数 , 它是面积坐标表示的标准单元中的 Lagrange 插值基函

Φi = ξi (2ξi - 1) ( i = 1 , 2 , 3)

Φ4 = 4ξ1ξ2

Φ5 = 4ξ2ξ3

Φ6 = 4ξ3ξ1 (3-37)

其中ξ3 = 1 - ξ2 - ξ1 。

现在说明坐标变换关系式 ( 3-36 ) -21 中标准单元的直角三角形变

换到曲线边三角形 , 而且各个结点按所标序号一一对应起来。由于式 ( 3-37 )

的插值基函数满足插值条件

Φi (ξ1 j , ξ2 j , ξ3 j ) = δi j ( i , j = 1 , 2⋯6) (3-38)

其中 (ξ1 j , ξ2 j , ξ3 j ) 是标准单元中 j 号结点的坐标。显然 , 当式 ( 3-36 ) j

号结点取值时 , 根据式 (3-38) , 可得

x = xiΦi (ξ1 j ,ξ2 j ,ξ3 j ) = xiδi j = xj

y = yiΦi (ξ1 j ,ξ2 j ,ξ3 j ) = yiδi j = yj

又由于 Φi 是二次函数 , 因此式 (3-36) ( x ,

y ) 平面上的三条二次曲线边。可见 , 这个变换式可把标准单元变换为二次曲线

三角形单元。反过来 , 根据式 (3-36)

98

ξi = ξi ( x , y)

它将曲线三角形变换到直角三角形标准单元。

应当指出 , 上述的变换关系是建立在式 (3-36 ) (ξ1 , ξ2 , ξ3 ) 坐标与

( x , y ) 坐标之间的变换是唯一的变换 , 各个几何点在变换中是一一对应基础上

的。这就要求坐标变换的 Jacobi 矩阵

J =D( x , y)

D(ξ1 ,ξ2 )=

�x�ξ1

�y�ξ1

�x�ξ2

�y�ξ2

(3-39)

是非奇异矩阵 , 即 Jacobian 行列式

| J |≠0

而且为保证单元几何形状不发生畸变 , 要求在单元中各个点上 | J | > 0。

要由式 (3-36 ) ξi = ξi ( x , y ) , 一般是相当困难的 , 但这

并不妨碍进行单元分析。当把 ( x , y ) 平面上曲线单元的积分运算变换成面积

坐标 (ξ1 , ξ2 ) 平面上的标准单元上的积分运算 , 经常用到的是下面列出的变换

关系式

d xd y = | J | dξ1 dξ2 (3-40)

��x

��y

= J - 1

��ξ1

��ξ2

(3-41)

式中 J- 1是 J 的逆矩阵

J- 1

=1

| J |

�y�ξ2

-�y�ξ1

-�x�ξ2

�x�ξ1

(3-42)

将式 (3-36 )代入式 (3-39)和式 (3-42 )中就可以求出式 ( 3-40 ) , 式 (3-41) J | ,

J - 1的表达式。下面给出二次曲线三角形等参数单元中坐标变换的 Jacobi 矩阵各

元素的表达式

�x�ξ1

= xi

�Φi

�ξ1= 4( x1 - x6 )ξ1 + 4 ( x4 - x5 )ξ2 + 4 ( x6 - x3 )ξ3 + ( x3 - x1 )

�x�ξ2

= xi

�Φi

�ξ2= 4( x4 - x6 )ξ1 + 4( x2 - x5 )ξ2 + 4( x5 - x3 )ξ+ ( x3 - x2 )

�y�ξ1

= yi

�Φi

�ξ1= 4( y1 - y6 )ξ1 + 4 ( y4 - y5 )ξ2 + 4 ( y6 - y3 )ξ3 + ( y3 - y1 )

09

�y�ξ2

= yi

�Φi

�ξ2= 4 ( y4 - y6 )ξ1 + 4 ( y2 - y5 )ξ2 + 4( y5 - y3 )ξ3 + ( y3 - y2 ) (3-43)

2 . 三次曲线三角形等参数单元

图 3-22 三次曲线三角形等参数单元a) 三次曲线三角形单元 b ) 面积坐标系中的标准单元

假定曲线三角形的

曲线边是三次曲线 , 曲

线的形状将由边上的四

个结点的位置决定。按

多项式完整性要求 , 除

边界上的九个结点外 ,

在三角形内部再设置一

个结点 , 是十 结点 单

元。结点的位置与序号

如图 3-22 所示。

和二次曲线三角形

等参数单元的推导过程一样 , 坐标变换关系式为

x = xiΦi (ξ1 , ξ2 , ξ3 )

y = yiΦi (ξ1 , ξ2 , ξ3 )

其中Φi = Φi (ξ1 ,ξ2 ,ξ3 ) ( i = 1 , 2⋯10 ) Lagrange

插值基函数 , 式

3.3.4 三角形单元面积坐标的积分

在进行单元分析时 , 由于插值基函数是用无量纲的面积坐标表示的 , 因此要

将积分表达式中的所有 ( x , y ) 坐标转换为面积坐标 (ξ1 , ξ2 , ξ3 )。原来 ( x ,

y ) 平面上的积分区域是任意形状的 (包括曲线边的 ) 三角形 , 转换到面积坐标

平面上是直角三角形的标准单元 ( 图 3-8 )。如果被积函数为 f (ξ1 ,ξ2 ,ξ3 ) , 则积

分区域可变换为

∫Δ

f (ξ1 ,ξ2 ,ξ3 ) d xd y =∫1

0∫1 - ξ

1

0f (ξ1 ,ξ2 ,ξ3 ) | J | dξ1 dξ2 (3-44)

上述的积分计算一般采用两种方法 :

1 . 积分公式计算

对于直线边的三角形单元 , 坐标变换关系式如式 ( 3-32) 所示。根据式 (3-

39) , Jacobi 行列式

| J | =D( x , y )

D(ξ1 ,ξ2 ) =x1 - x3 y1 - y3

x2 - x3 y2 - y3

= 2 A (3-45)

式中 A 是三角形单元的面积。又由于插值基函数无例外地均是多项式函数 , 因

此被积函数一般都是以幂函数形式出现的 , 因此积分表达式经常遇到的是如下形

19

式的积分

I =∫Δ

ξm1 ξ

n2ξ

p3 d xd y = 2 A∫

1

0∫1 - ξ

1

m1 ξ

n2ξ

p3 dξ1 dξ2

注意到ξ3 = 1 - ξ1 - ξ2 , 并作变量替换 ζ=1

1 - ξ1ξ2 , 然后反复进行分部积分运

算 , 可获得如下积分公式 ( 推导过程见参考文献 [ 1] )

I =∫Δ

ξm

1 ξn

2ξpd xd y = 2 A

m !n !p !( m + n + p + 2) !

(3-46)

利用积分公式 (3-46) , 一般可方便地求出三角形单元区域上多项式函数的积分。

2 . Gauss 数值积分

如果采用曲线三角形等参数单元 , 此时 Jacobi 行列式 | J | 的表达式 , 在六结

点单元中可按式 (3-43) , 显然 | J | 不再是常数 , 而是复

杂的多项式函数。另外 , 单元积分表达式中的微商项��x

,��y

将通过式 (3-41)

行变换 , 此时一般不再是多项式函数 , 因此就不能借助于积分公式 (3-46 )

分计算。一般地说 , 当三角形单元上的被积函数不是多项式函数时 , 往往求助于

Gauss 数值积分。

三角形单元上 , 用面积坐标表示的 Gauss 积分公式为

I =∫Δ

f( x , y ) d xd y = �∫1

0∫1 - ξ

2

0F(ξ1 ,ξ2 ,ξ3 ) dξ1 dξ2

= ∑m

i = 1

wi F(ξ1 i ,ξ2 i ,ξ3 i ) (3-47)

其中ξ1 i 、ξ2 i 、ξ3 i 是在三角形单元中选择的第 i 个 Gauss 积分点的面积坐标 , wi

是相应的权系数。表 3-1 列出了各个积分点的面积坐标以及相应的权系数。表中

所列的代数精度的阶次 , 是指求积公式 (3-47)

是精确成立的。

表 3-1 三角形标准单元 Gauss 积分的积分点与权系数

代数精度 标准单元中积分点位置 积分点面积坐标 权系数

ξ1 � ξ2 ξ3 wi

线性 a1 �3

,13

,13

1 �2

29

(续)

代数精度 标准单元中积分点位置 积分点面积坐标 权系数

ξ1 � ξ2 ξ3 wi

二次

a

b

c

1 �2

,12

, 0

0 ,12

,12

12

, 0 ,12

1 �6

16

16

三次

a1 �3

,13

,13

b 0 h.6 , 0 ).2 , 0 �.2

c 0 h.2 , 0 ).6 , 0 �.2

d 0 h.2 , 0 ).2 , 0 �.6

-9 �

32

25 �96

四次

a1 �3

,13

,13

b α1 �, β1 , β1

c β1 �, α1 , β1

d β1 �, β1 , β1

e α2 �, β2 , β2

f β2 �, α2 , β2

g β2 �, β2 , α2

α1 �= 0 �.059715872

β1 = 0 �.470142064

α2 = 0 �.797426985

β2 = 0 �.101286507

0 %.112500000

0 %.062969590

0 %.066197076

3.4 四边形单元 Lagrange 插值基函数

四边形单元包括矩形单元 , 任意四边形单元以及曲线四边形单元。如果求解

区域是矩形区域 , 则采用矩形单元更为有利。这不仅便于区域剖分时单元的布

置 , 而且在同样数目结点的情况下 , 比三角形单元的插值精度要高一些。

四边形单元中插值基函数的构造方法一般是将整体笛卡尔坐标 ( x , y ) 变

39

换为无量纲局部坐标 (ξ, η) ; 四边形单元变换成边长为 2 的正方形标准单元

{ - 1≤ξ≤1 , - 1≤η≤1} ( 图 3-9 )。然后在标准单元中 , 根据结点的数目 , 构

造不同阶次的插值基函数。

本节讨论的是 Lagrange 插值基函数 , 结点函数值作为结点参数 , 每个结点有

一个自由度 , 单元的自由度与单元结点数相同。Lagrange 插值基函数可保证单元

边界上近似函数的连续性 , 但无法保证导数的连续性。

3.4.1 双向结点插值的矩形单元

先进行如下的坐标变换令量纲为一的局部坐标 :

ξ=1a

( x - xc )

η=1b

( y - yc )

(3-48)

图 3 -23 矩形单元的局部坐标

其中 a、 b 分别是矩形单元宽和高的长度一半 ,

( xc , yc ) 是矩形中心点的坐标 ( 图 3-23)。显

然 , 变换式 ( 3-48 ) 将矩形单元变换为边长为

2 的正方形标准单元。

矩形单元中的结点有两种布置方式 : 一种

是全部均匀地布置在边界上 , 称为边界结点插

值的矩形单元 ; 另一种是按矩形边线的两个方

向均匀地布置结点 , 称为双向结点插值的矩形

单元。现在讨论标准单元中双向结点 Lagrange

插值基函数的构造方法。

双向结点插值基函数可以把一维 Lagrange 插值基函数的现成结果移用过来 ,

表达式可以写成

Φi (ξ,η) = Li (ξ) Ni (η) (3-49)

式中 Li (ξ)、Ni (η) ξ, η方向上一维 Lagrange 插值基函数。显然 , 它满足

图 3-24 (2×2) 四结点矩形标准单元

有限元基函数的插值条件 : Φi (ξj ,ηj ) = δi j (见 3.1.2 小

节 )。在具体应用时 , 沿 ξ、η方向可以布置不同数目

的结点 , 因此 Li (ξ) 、Ni (η)

值基函数。按两个方向上结点数的不同 , 可以构成以

下几种常用的双向结点插值的单元 :

1 . (2×2) 双向插值四结点矩形单元

(2×2) 表示长宽边界上各为两个结点 , 因此可以

取 4 个顶点为结点 , 图 3-24 给出相应标准单元中结点

位置与序号。

49

利用式 (3-12) , 对照结点位置 ,

可以写出

L1 = L4 =12

(1 - ξ) N1 = N2 =12

(1 - η)

L2 = L3 =12

(1 + ξ) N3 = N4 =12

(1 + η)

将上述各式代入式 (3-49 ) , 即可获得 ( 2×2) 4 结点矩形标准单元的 Lagrange 插

值基函数

Φ1 =14

( 1 - ξ) (1 - η)

Φ2 =14

( 1 +ξ) (1 - η)

Φ3 =14

( 1 +ξ) (1 + η)

Φ4 =14

( 1 - ξ) (1 + η) (3-50)

2 . (3×2) 双向插值六结点矩形单元

(3×2) 表示长边方向布置三个结点 , 短边方向布置二个结点。标准单元中

的结点位置与坐标如图 3-25 所示。

图 3 -25 (3×2) 六结点矩形标准单元

利用式 (3-12)和式 ( 3-17)

结点单元的插值基函数表达式 , 对照结点位置 , 可以

写出

L1 = L4 =12ξ(ξ - 1) N1 = N2 = N3 =

12

(1 - η)

L2 = L5 = (1 - ξ) (1 +ξ) N4 = N5 = N6 =12

(1 + η)

L3 = L6 =12ξ(1 +ξ)

将上述表达式代入式 (3-49) , 即可获得 ( 3×2 ) 六结

点矩形标准单元的 Lagrange 插值基函数

Φ1 =14ξ(ξ - 1) (1 - η)

Φ2 =12

(1 - ξ2

) (1 - η)

Φ3 =14ξ(1 +ξ) (1 - η)

Φ4 =14ξ(ξ - 1) (1 + η)

59

Φ5 =12

(1 - ξ2

) (1 + η)

Φ6 =14ξ(ξ+ 1) (1 + η) (3-51)

3 . (3×3) 双向插值九结点矩形单元

(3×3) 表示在长宽边界上各布置三个结点 , 标准单元中的结点位置与序号

如图 3-26 所示。

利用式 (3-17) , 对照结点位置 , 可

以写出

L1 = L4 = L7 =12ξ(ξ - 1) N1 = N2 = N3 =

12η(η - 1)

L2 = L5 = L8 = (1 - ξ) (1 +ξ) N4 = N5 = N6 = (1 - η) (1 + η)

L3 = L6 = L9 =12ξ(1 +ξ) N7 = N8 = N9 =

12η(1 + η)

将上述表达式代入式 ( 3-49 ) , 即可获得 (3×3 ) 九结点矩形标准单元的 Lagrange

插值基函数

Φ1 =14ξη(ξ- 1) (η- 1)

图 3-26 (3×3 )九结点矩形标准单元

Φ2 =12η( 1 -ξ

2) (η - 1)

Φ3 =14ξη(1 +ξ) (η- 1)

Φ4 =12ξ(ξ- 1) ( 1 -η

2)

Φ5 = (1 -ξ2

) (1 -η2

)

Φ6 =12ξ(1 +ξ) ( 1 -η

2)

Φ7 =14ξη(ξ- 1) (1 +η)

Φ8 =12η( 1 -ξ

2) (1 +η)

Φ9 =14ξη(1 +ξ) (1 +η) (3-52)

3.4.2 边界结点插值的矩形单元

双向结点插值的缺点是增加了内部结点 , 而边界结点插值是将结点全部布置

在矩形边界上。按照插值基函数在边界上的变化分线性、二次或三次来决定边界

上结点的数目。

构造边界结点插值基函数的方法 , 原则上可根据单元自由度的数目 , 先写出

69

插值多项式 ; 多项式的项数可根据边界上必须是完整多项式 , 而且ξ、η方向是

对称的原则确定 ; 然后根据有限元插值条件的要求 , 求解出各个多项式中的待定

系数。而事实上 , 这种边界结点插值基函数是 1968 年由 Ergatoudis 和 Zienkiwicz

等人最初是通过观察 , 采用一些技巧而导出的 , 这样的矩形单元 , 他们将它称之

为“Serendipity 单元”。

边界结点矩形单元按边界上 Lagrange 插值基函数的阶次 , 常用的有如下几

种 :

图 3-27 边界 8结点矩形标准单元

1 . 边界结点线性插值四结点单元

这种单元与 ( 2×2) 双向插值四结点矩形单元

完全一样 , 这里就不重复讨论了。

2 . 边界结点二次插值八结点矩形单元

要求插值基函数在矩形的各个边界上呈现二

次变化 , 则每边上应布置 3 个结点。标准单元中的

结点位置与序号如图 3-27 所示。单元具有 8 个自

由度 , 插值基函数的多项式应有 8 项。完整的二次

多项式是 6 项 ; 为保证对称性 , 且不破坏边界

上的二次变化 , 可增加ξ2η, ξη

2两项。因此在标准单元中 Lagrange 插值基函数

表达式为

Φi = a1 i + a2 iξ+ a3 iη+ a4 iξ2

+ a5 iξη+ a6 iη2

+ a7 iξ2η+ a8 iξη

2 ( i = 1 , 2⋯8)

将上式在各个结点取值 , 并根据插值条件

Φi (ξj ,ηj ) = δi j ( i , j = 1 , 2⋯8)

可以确定各个系数 a1 i 、 a2 i ⋯ a8 i ; 于是可获得边界八结点矩形标准单元中的 La-

grange 插值基函数

Φi =14

(1 +ξiξ) (1 + ηiη) (ξiξ+ ηiη- 1 ) ( i = 1 , 2 ,3 , 4)

Φi =12

(1 - ξ2

) ( 1 + ηiη) ( i = 5, 7)

Φi =12

(1 - η2

) ( 1 +ξiξ) ( i = 6 ,8) (3-53)

上式中 (ξi , ηi ) 是序号为 i 的结点坐标。

3 . 边界结点三次插值十二结点矩形单元

要求插值基函数在矩形的各个边界上呈现二次变化 , 则每边上应布置 4 个结

点。标准单元中的结点位置与序号如图 3-28 所示。

按照前面所采用的相同方法 , 可以获得边界十二结点矩形标准单元 Lagrange

插值基函数

79

Φi =132

(1 +ξiξ) (1 + ηiη) [ - 10 + 9 (ξ2

+ η2

) ] ( i = 1 , 2 ,3 , 4)

Φi =932

(1 + ηiη) (1 + 9ξiξ) (1 - ξ2

) ( i = 5 , 6 ,9 , 10)

Φi =932

(1 +ξiξ) (1 + 9ηiη) (1 - η2

) ( i = 7 , 8 ,11 , 12) (3-54)

图 3-28 边界十二结点矩形标准单元

图 3-29 任意四边形等参数单元a) 任意四边形单元 b) 四边形 4 结点标准单元

虽然原则上可通过插值条

件推导出插值基函数的表达

式 , 而实际上可通过观察和数

学技巧导出上述插值基函数

的。

3.4.3 四边形等参数单元

四边形等参数单元按边线

形状可分成任意四边形等参数

单元 , 二次曲线等参数单元 ,

三次曲线等参数单元等等。在

有限元应用中 , 除三角形单元

外 , 曲线四边形等参数单元是

用得最为广泛的 , 它不仅便于

表示复杂的边界 , 而且也有较

高的精度。

四边形等参数单元中插值

基函数的构造方法和三角形等

参数单元一样 , 首先是将曲线

四边形单元变换到无量纲局部

坐标 (ξ, η) 平面上的正方

形标准单元。而正方形标准单

元上的各类插值基函数已有现成结果。

1 . 任意四边形四结点等参数单元

如图 3-29a 所示的 ( x , y ) 平面上的任意四边形 , 可以通过等参数坐标变换

关系 , 变换到无量纲局部坐标 (ξ, η) 平面上的正方形标准单元 (图 3-29b)。

x = xiΦi (ξ,η)

y = yiΦi (ξ,η)(3-55)

其中 ( xi , yi ) 是 i 号结点的坐标值 , i 对 1、2、3、4 求和 ; Φi (ξ,η)

正方形标准单元的插值基函数

89

Φ1 =14

( 1 - ξ) (1 - η)

Φ2 =14

( 1 +ξ) (1 - η)

Φ3 =14

( 1 +ξ) (1 + η)

Φ4 =14

( 1 - ξ) (1 + η)

(3-56)

由坐标变换关系式 (3-55) Jacobi 矩阵

J =D( x , y )D(ξ,η)

7=

�x�ξ

�y�ξ

�x�η

�y�η

=∑

4

i = 1

xi

�Φi

�ξ ∑

4

i = 1

yi

�Φi

�ξ

∑4

i = 1

xi

�Φi

�y ∑

4

i = 1

yi

�Φi

�η

=a1 + c1 η a2 + c2 η

b1 + c1ξ b2 + c2ξ(3-57)

上式中

a1 =14

( - x1 + x2 + x3 - x4 ) a2 =14

( - y1 + y2 + y3 - y4 )

b1 =14

( - x1 - x2 + x3 + x4 ) b2 =14

( - y1 - y2 + y3 + y4 )

c1 =14

( x1 - x2 + x3 - x4 ) c2 =14

( y1 - y2 + y3 - y4 )

(3-58)

相应的微分量变换关系

d xd y = | J | dξdη (3-59)

��x

��y

= J- 1

��ξ

��η

=1

| J |

�y�η

-�y�ξ

-�x�η

�x�ξ

��ξ

��η

(3-60)

上式中 Jacobi 行列式

| J | �=D ( x , y )D (ξ, η)

=a1 + c1 η a2 + c2 η

b1 + c1ξ b2 + c2ξ

= ( a1 b2 - a2 b1 ) + ( a1 c2 - a2 c1 )ξ+ ( b2 c1 - b1 c2 )η (3-61)

为了等参数变换式 (3-55 ) -24 中的标准单元与任意四边形单元之

间的变换是一一对应的 , 而且在几何上不产生畸变 , 必须要求在单元中 Jacobi 行

列式 | J | > 0。进一步分析可以知道 , 这个要求反映在四边形单元的几何形状上 ,

必须要求所有内角小于 180°。在编写采用等参数单元的计算程序中 , 一般都应有

核对 Jacobi 行列式 | J |是否大于 0 的判断程序。在实际使用时 , 由于单元内角大

99

于 180°, 或者结点坐标填写差错 , 都可能产生 | J |≤0 的后果。

下面给出单元分析时十分有用的基函数导数变换关系式

�Φi

�x=

1| J |

( b2 + c2 ξ)�Φi

�ξ- ( a2 + c2 η)

�Φi

�η

�Φi

�y=

1| J | - ( b1 + c1ξ)

�Φi

�ξ+ ( a1 + c1 η)

�Φi

�η

(3-62)

其中 | J |表达式如式 (3-61)所示 , a1 、 b1 、 c1 、 a2 、 b2 、 c2 由式 (3-58)给出。

2 . 二次曲线四边形八结点等参数单元

如图 3-30a 所示的曲线四边形 , 边线上有三个结点 , 可唯一确定二次曲线形

状。通过等参数坐标变换关系 , 可变换到无量纲局部坐标 (ξ, η) 平面上的正

方形标准单元 ( 图 3-30b)。

图 3-30 二次曲线四边形等参数单元a) 二次曲线四边形单元 b) 八结点正方形标准单元

x = xiΦi (ξ,η)

y = yiΦi (ξ,η) (3-63)

作为上述坐标变换关系式中的参数函数Φi (ξ,η) 8 结点正方形标准单元上的插

值基函数

Φi =14

(1 +ξiξ) (1 + ηiη) (ξiξ+ ηiη- 1 ) ( i = 1 , 2 , 3 , 4)

Φi =12

(1 - ξ2

) ( 1 + ηiη) ( i = 5, 7)

Φi =12

(1 - η2

) ( 1 +ξiξ) ( i = 6 , 8) (3-64)

上式中 (ξi , ηi ) 是序号为 i 的结点坐标。 ( 见 3.4.2 小节 )

整体坐标 ( x , y ) 和局部坐标 (ξ, η) 之间微分量变换关系如式 ( 3-59 )、

式 (3-60) 。坐标变换的 Jacobi 矩阵 J 的各个元素的表达式如下 :

001

�x�ξ

= a1 xη2

+ a2 xξη+ a3 xξ+ a4 xη+ a5 x

�y�ξ

= a1 yη2

+ a2 yξη+ a3 yξ+ a4 yη+ a5 y

�x�η

= b1 xξ2

+ b2 xξη+ b3 xξ+ b4 xη+ b5 x

�y�η

= b1 yξ2

+ b2 yξη+ b3 yξ+ b4 yη+ b5 y (3-65)

其中 a1 t =14

( - t1 + t2 + t3 - t4 - 2 t6 + 2 t8 )

a2 t =12

( - t1 - t2 + t3 + t4 + 2 t5 - 2 t7 )

a3 t =12

( t1 + t2 + t3 + t4 - 2 t5 - 2 t7 )

a4 t =14

( t1 - t2 + t3 - t4 )

a5 t =12

( t6 - t8 )

b1 t =14

( - t1 - t2 + t3 + t4 + 2 t5 - 2 t7 )

b2 t =12

( - t1 + t2 + t3 - t4 - 2 t6 + 2 t8 )

b3 t =14

( t1 - t2 + t3 - t4 )

b4 t =12

( t1 + t2 + t3 + t4 - 2 t6 - 2 t8 )

b5 t =12

( - t5 + t7 ) (3-66)

上式系数表达式中 t = x , y。由式 ( 3-65) Jacobi 矩阵 , 在单元分析时是

不可缺少的。

3 . 三次曲线四边形十二结点等参数单元

三次曲线四边形单元中的插值基函数构造方法和任意四边形、二次曲线四边

形等参数单元所采取的方法完全类似。此时的曲线单元有十二个结点 , 通过等参

数变换 , 变换到无量纲局部坐标 (ξ, η) 平面上的十二结点正方形标准单元

(图 3-31 )。坐标变换关系式中的变换函数和标准单元中的插值基函数是同样的 ,

由式 (3-54) 。

3.4.4 四边形单元局部坐标的积分

不论是矩形单元还是等参数单元 , 在单元分析时 , 坐标变量变换成无量纲局

101

图 3-31 三次曲线四边形等参数单元a) 三次曲线四边形单元 b ) 十二结点正方形标准单元

部坐标 (ξ, η) 时 , 单元积分表达式将在标准单元中进行如下形式的积分计算

I =∫1

- 1∫1

- 1f(ξ,η)dξdη

如果是矩形单元 , f (ξ,η) , 上述积分不难通过积分公式进行

计算 ; 如果是四边形等参数单元 , f (ξ,η) , 此

时很难再采用公式进行精确的积分计算 , 通常是采取 Gauss 求积公式 , 进行近似

的数值积分。Gauss 求积公式如下 :

∫1

- 1∫1

- 1f (ξ,η) dξdη = ∑

m1

i = 1∑

m2

j = 1

wi wj f (ξi ,ηj ) (3-67)

其中 (ξi , ηj ) 是积分点的坐标值 ; wi , wj 是相应积分点两个坐标的权系数 ; i

= 1 , 2⋯ m1 是ξ方向的积分点序号 ; j = 1 , 2⋯ m2 是 η方向积分点序号。ξ和η

方向的积分点数目可以相同 , 也可以不同。按精度要求可以自由选取 m1 和 m2 。

表 3-2 给出了正方形标准单元 ( - 1≤ξ≤1 , - 1≤η≤1) 中积分点坐标值和

相应的权系数。表中 m 是ξ或η方向的积分点数目 , n 是相应这个积分点数目的

数值积分的代数精度。

表 3-2 Gauss求积公式的积分点坐标与权系数

m ξi w i n = 2 �m - 1

2 �±0 �.57735 02692 1 �.00000 00000 3 �

3 � 0 �.00000 00000

±0 �.77459 66692

0 �.88888 88889

0 �.55555 555565 �

4 �±0 �.33998 10436

±0 �.86113 63116

0 �.65214 51549

0 �.34785 484517 �

5 � 0 �.00000 00000

±0 �.53846 93101

±0 �.90617 98459

0 �.56888 88889

0 �.47862 86705

0 �.23692 68851

9 �

201

(续)

m ξi w i n = 2 �m - 1

6 �±0 �.23861 91861

±0 �.66120 93865

±0 �.93246 95142

0 �.46791 39346

0 �.36076 15730

0 �.17132 44924

11 �

7 �

0 �.00000 00000

±0 �.40584 51514

±0 �.74153 11856

±0 �.94910 79123

0 �.41795 91837

0 �.38183 00505

0 �.27970 53915

0 �.12948 49662

13 �

8 �

±0 �.18343 46425

±0 �.52553 24099

±0 �.79660 64774

±0 �.96028 98565

0 �.36268 37834

0 �.31370 66459

0 �.22238 10345

0 �.10122 85363

15 �

9 �

0 �.00000 00000

±0 �.32425 34234

±0 �.61337 14327

±0 �.83603 11073

±0 �.96816 02395

0 �.33023 93550

0 �.31234 70770

0 �.26061 06964

0 �.18064 81607

0 �.08127 43884

17 �

10 �

±0 �.14887 43390

±0 �.43339 53941

±0 �.67940 95683

±0 �.86506 33667

±0 �.97390 65285

0 �.29552 42247

0 �.26926 67193

0 �.21908 63625

0 �.14945 13492

0 �.06667 13443

19 �

3.5 三角形单元与矩形单元的 Hermite 插值基函数

如果考虑到近似函数的协调性 , 要求近似函数在边界上不仅函数值连续 , 而

且函数的导数值也连续。此时的结点参数将是结点的函数值以及函数的导数值 ,

单元基函数将采用 Hermite 插值基函数。下面介绍使用比较广泛的三角形单元和

矩形单元的一阶 Hermite 插值基函数。

3.5.1 三角形单元的一阶 Hermite 插值基函数

三角形单元中当结点函数值及其一阶导数值被取作结点参数值时 , 单元基函

数将采用一阶 Hermite 插值基函数。此时每个结点具有 3 个自由度 , 最简单的三

结点单元将具有 9 个自由度 , 但与它相应的完整三次多项式有 10 项。为了使单

元自由度与多项式的项数相一致 , 有两个办法 : 一是在三次多项式中减少一项 ,

但这将破坏多项式的完整性与对称性 , 应尽力避免 ; 另一个办法是在单元中增加

一个自由度。我们采取后一种办法 , 在三角形形心上增加一个结点 , 取函数值为

结点参数 , 具有一个自由度。三角形的结点序号、面积坐标与结点的参数如图 3-

32 所示。

在这样的单元中 , 一阶 Hermite 插值基函数是一个完整的三次多项式。为便

301

图 3-32 函数及其一阶导数为结点参数的三角形单元

于表示 , 将以ξ1 , ξ2 , ξ3 作为多项式的变量 , 可记为

Φi = #a1 iξ31 + a2 iξ

32 + a3 iξ

33 + a4 iξ

21ξ2 + a5 iξ

22 ξ3 + a6 iξ

23ξ1 + a7 iξ1 ξ

22

+ a8 iξ2ξ23 + a9 iξ3 ξ

21 + a10 iξ1ξ2ξ3 (3-68)

其中ξ1 +ξ2 +ξ3 = 1。

注意到此时单元近似函数的表达式为

u = �u1 Φ1 + ux1 Φ2 + uy1 Φ3 + u2 Φ4 + ux2 Φ5 + uy2 Φ6

+ u3 Φ7 + ux3 Φ8 + uy3 Φ9 + u4 Φ10 (3-69)

其中 ux i , u yi 是函数偏导数在 i 结点的值

u xi ≡ (�u�x

) i uy i ≡ (�u�y

) i ( i = 1 , 2 , 3)

为保证插值基函数线性组合表达式 (3-69)

值 , 要求 Φi 满足 Hermite 插值条件 :

(1) 当 i = 1 , 4 , 7 , 10 时 (相应取 k = 1 , 2 , 3 , 4)

Φi ( xj , yj ) = δkj ( j = 1 , 2 , 3 , 4)

Φi x ( xj , yj ) = 0 ( j = 1 , 2 , 3)

Φi y ( xj , yj ) = 0 ( j = 1 , 2 , 3)

(2) 当 i = 2 , 5 , 8 时 (相应取 k = 1 , 2 , 3)

Φi ( xj , yj ) = 0 ( j = 1 , 2 , 3 , 4 )

Φi x ( xj , yj ) = δk j ( j = 1 , 2 , 3 )

Φi y ( xj , yj ) = 0 ( j = 1 , 2 , 3)

(3) 当 i = 3 , 6 , 9 时 (相应取 k = 1 , 2 , 3)

Φi ( xj , yj ) = 0 ( j = 1 , 2 , 3 , 4 )

Φi x ( xj , yj ) = 0 ( j = 1 , 2 , 3)

Φi y ( xj , yj ) = δk i ( j = 1 , 2 , 3)

401

上述式中采用了微分记号的简略写法

Φi x ≡�Φi

�x Φi y ≡

�Φi

�y

按照上述插值条件 , 每个插值基函数 Φi 都有 10 个插值条件。因此将 Φi 的

表达式 (3-68) , 并注意到整体笛卡尔坐标与面

积坐标取导数的关系式

Φi x = Φiξ1ξ1 x + Φiξ

2ξ2 x

Φi y = Φiξ1ξ1 y + Φiξ

2ξ2 y

通过式 (3-29)

ξi x = bi ξi y = ci ( i = 1 , 2)

于是可建立 10 组含有系数 a1 i 、 a2 i ⋯ a10 i ( i = 1 , 2⋯10) 的线性代数方程组 , 解

出各个系数 , 代回式 (3-68) Hermite 插值基函

Φ1 =ξ2

1 (3 - 2ξ1 ) - 7ξ1ξ2ξ3

Φ2 =ξ21 ( x21ξ2 - x13ξ3 ) + ( x13 - x21 )ξ1 ξ2 ξ3

Φ3 =ξ21 ( y21ξ2 - y13ξ3 ) + ( y13 - y21 )ξ1 ξ2 ξ3

Φ4 =ξ2

2 (3 - 2ξ2 ) - 7ξ1ξ2ξ3

Φ5 =ξ22 ( x32ξ3 - x21ξ1 ) + ( x21 - x32 )ξ1 ξ2 ξ3

Φ6 =ξ22 ( y32ξ3 - y21ξ1 ) + ( y21 - y32 )ξ1 ξ2 ξ3

Φ7 =ξ2

3 (3 - 2ξ3 ) - 7ξ1ξ2ξ3

Φ8 =ξ2

3 ( x13ξ1 - x32ξ2 ) + ( x32 - x13 )ξ1 ξ2 ξ3

Φ9 =ξ23 ( y13ξ1 - y32ξ2 ) + ( y32 - y13 )ξ1 ξ2 ξ3

Φ10 = 27ξ1ξ2ξ3 (3-70)

上述式中

xi j = xi - xj yi j = yi - yj ( i , j = 1 , 2 , 3 )

其中 ( xi , yi ) 是 i 结点的坐标 ( i = 1 , 2 , 3)

3.5.2 矩形单元的一阶 Hermite 插值基函数

矩形单元按照结点参数形式有 12 自由度和 18 自由度两种。

1 . 12 自由度的矩形单元

在四结点矩形单元中 , 当结点参数取函数值及一阶导数值时 , 单元具有 12

个自由度 ( 如图 3-28 )。此时单元中近似函数表达式为

u = �u1 Φ1 + ux1 Φ2 + uy1 Φ3 + u2 Φ4 + ux2 Φ5 + uy2 Φ6

501

+ u3 Φ7 + ux3 Φ8 + uy3 Φ9 + u4 Φ10 + ux4 Φ11 + uy4 Φ12 (3-71)

由于单元有 12 个自由度 , 因此插值基函数有 12 项 , 完整的三次多项式有 10

项 , 再增加两个对称项ξ3η和ξη

3, 因此 Φi 一般表达式为

Φi = �a1 i + a2 iξ+ a3 iη+ a4 iξ2

+ a5ξη+ a6 iη2

+ a7 iξ3

+ a8 iξ2η+ a9 iξη

2+ a10 iη

3+ a11 iξ

3η+ a12 iξη

3(3-72)

图 3-33 12 自由度矩形单元

上式中局部坐标ξ, η与整

体笛卡尔坐标 x , y 关系为

ξ=x - x1

a η=

y - y1

b

其中 ( x1 , y1 ) 是结 点 1

的整体坐标 , a , b 是矩形

单元的宽和高 ( 图 3-33)。

和三角形单元中构造

Hermite 插值基函数的方法

相类似 , 可导出十二自由

度矩形单元 Hermite 插值基

函数如下 :

Φ1 = (ξ- 1) (η- 1 ) (1 + ξ+ η - 2ξ2

- 2η2

)

Φ2 = - aξ(η- 1 ) (ξ- 1)2

Φ3 = - bη(ξ - 1) (η- 1)2

Φ4 =ξ(η- 1 ) ( - 3ξ- η+ 2ξ2

+ 2η2

)

Φ5 = - aξ2

(ξ- 1) (η- 1 )

Φ6 = bξη(η- 1)2

Φ7 =ξη( - 1 + 3ξ+ 3η- 2ξ2

- 2η2

)

Φ8 = aηξ2

(ξ- 1 )

Φ9 = bξη2

(η - 1)

Φ10 = η(ξ- 1) ( - 1 - 3η+ 2ξ2

+ 2η2

)

Φ11 = aξη(ξ- 1)2

Φ12 = - bη2

(ξ- 1) (η- 1) (3-73)

其中 a, b 为矩形单元的宽和高

a = ( x2 - x1 )2

+ ( y2 - y1 )2 b = ( x3 - x2 )

2+ ( y3 - y2 )

2

2 . 十六自由度的矩形单元

601

图 3-34 16 自由度矩形单元

利用一维两结点 Her-

mite 插值基函数的结果 ,

可以构造 16 自由度矩形

单元中的双向 Hermite 插

值基函数。单元结点序

号 , 局部坐标以及结点的

参数在图 3-34 中标出。

一维 Hermite 插值基

函数如 ( 3-25 ) 式所示 ,

每个方向有 4 个基函数 ,

组合后将形成 16 个双向

插值基函数Φ1 = H01 (ξ) H01 (η) EΦ2 = aH11 (ξ) H01 (η)

Φ3 = bH01 (ξ) H11 (η) Φ4 = abH11 (ξ) H11 (η)

Φ5 = H02 (ξ) H01 (η) Φ6 = aH12 (ξ) H01 (η)

Φ7 = bH02 (ξ) H11 (η) Φ8 = abH12 (ξ) H11 (η)

Φ9 = H02 (ξ) H02 (η) Φ10 = aH12 (ξ) H02 (η)

Φ11 = bH02 (ξ) H12 (η) Φ12 = abH12 (ξ) H12 (η)

Φ13 = H01 (ξ) H02 (η) Φ14 = aH11 (ξ) H02 (η)

Φ15 = bH01 (ξ) H12 (η) Φ16 = abH11 (ξ) H12 (η)

上述式中 a, b 分别是矩形单元的宽和高 ; 一维两结点的 Hermite 插值基函数

H01 ( S) = 1 - 3 s2

+ s3 H02 ( s) = 3 s

2- 2 s

3

H11 ( S) = s - 2 s2

+ s3 H12 ( s) = - s

2+ s

3

取双向 Hermite 插值基函数时 , 单元近似函数表达式为

u = �u1 Φ1 + ux1 Φ2 + uy1 Φ3 + uxy1 Φ4 + ⋯

+ u4 Φ13 + ux4 Φ14 + uy4 Φ15 + ux y4 Φ16

3.6 三维单元 Lagrange插值基函数

对于三维有限元问题 , 常用的单元是四面体单元和长方体单元。它们的插值

基函数的构造方法和二维单元所采用的方法是类似的 , 只需将二维单元中所采用

的概念与方法直接推广 , 就可获得三维单元中的结果。由于三维单元具有较多结

点 , 因此若三维单元中采用 Hermite 插值基函数 , 自由度个数极多 , 相应的 Her-

mite 插值基函数必然是阶次极高的多项式 , 因此没有实用价值。我们下面只讨论

701

Lagrange 插值基函数。

3.6.1 四面体单元

仿照三角形单元中建立面积坐标的概念 , 可在四面体单元中建立体积坐标

ξi =Vi

V ( i = 1 , 2, 3 , 4 ) (3-74)

其中 V 是四面体单元的体积。 Vi 是这样定义的 : 若单元中任一点与各个顶点的

连线所构成的平面 , 将单元体划分成四个小四面体 , 其中与序号为 i 的顶点不相

邻的那个小四面体的体积为 Vi (见图 3-35)。

图 3-35 四面体单元的面积坐标a) 任意四面体单元 b ) 直角四面体单元 (标准单元 )

和面积坐标类似 , 可以导出整体笛卡尔坐标 ( x , y , z) 和体积坐标 ξi 之

间的变换关系式x = x1 ξ1 + x2ξ2 + x3 ξ3 + x4ξ4

y = y1 ξ1 + y2ξ2 + y3 ξ3 + y4ξ4

z = z1 ξ1 + z2 ξ2 + z3 ξ3 + z4 ξ4

(3-75)

反解上式 , 可求出

ξi = ai + bi x + ci y + di z ( i = 1 , 2 , 3 , 4) (3-76)

其中

ai =

xj yj zj

xk yk zk

xl yl zl

16 V

bi = -

1 yj zj

1 yk zk

1 yl zl

16 V

ci = -

xj 1 zj

xk 1 zk

xl 1 zl

16 V

di = -

xj yj 1

xk yk 1

xl yl 1

16 V

上式中的 i , j, k , l 按下标 1 , 2 , 3 , 4 循环取值。四面体的体积

801

V =16

1 x1 y1 z1

1 x2 y2 z2

1 x3 y3 z3

1 x4 y4 z4

显然ξi 中只有三个独立变量

ξ1 +ξ2 +ξ3 +ξ4 = 1

四面体单元在式 (3-75 ) 和式 ( 3-76 ) , 成为图 3-35b 所示的直角四面体单

元 , 即四面体标准单元。

下面列出体积坐标表示的四面体标准单元的各种插值函数的结果。

1 . 四结点四面体单元

结点位置与序号如图 3-36 所示 , 相应的 Lagrange 插值基函数为

Φi = ξi ( i = 1 , 2 , 3 , 4 )

图 3-36 四结点四面体单元 图 3-37 十结点四面体单元

2 . 十结点四面体单元

结点位置与序号如图 3-37 所示。相应的 Lagrange 插值基函数为

Φi = ξi (2ξi - 1) ( i = 1 , 2 , 3 , 4)

Φ5 = 4ξ1ξ2 Φ6 = 4ξ2ξ3

Φ7 = 4ξ3ξ1 Φ8 = 4ξ1ξ4

Φ9 = 4ξ2ξ4 Φ10 = 4ξ3 ξ4

3.6.2 矩形六面体单元

矩形六面体单元可从二维矩形单元推广而来。假定矩形六面体单元的长、

宽、高分别是 2 a、2 b、2 c , 形心处的坐标为 ( xc , yc , zc ) , 相应的量纲为一的

局部坐标为

ξ=x - xc

a, η=

y - yc

b, ζ=

z - zc

c

901

和二维矩形单元类似 , 六面体标准单元的插值基函数按阶次可分线性八结点

单元 , 二次二十结点单元 , 三次三十二结点单元等。

1 . 八结点矩形六面体单元

标准单元中结点位置与序号如图 3-38 所示。在每条边线上 , 插值基函数呈

线性变化。表达式为

Φi =18

(1 + ξiξ) (1 + ηiη) (1 + ζiζ) ( i = 1 , 2⋯8)

其中 (ξi , ηi , ζi ) 是 i 号结点的坐标值。

图 3-38 八结点矩形六面体单元 图 3-39 二十结点矩形六面体单元

2 . 二十结点矩形六面体单元

标准单元中结点位置与序号如图 3-39 所示 , 每边中点处各布置一个结点 ,

插值函数在边线上呈二次变化。表达式如下 :

对于顶角结点 i = 1 , 2⋯7 , 8

Φi =18

(1 +ξiξ) (1 + ηiη) (1 + ζiζ) (ξiξ+ ηiη+ ζiζ - 2)

对于ξ= 0 的边线上结点 i = 9 , 11 , 17 , 19

Φi =14

(1 - ξ2

) (1 + ηiη) ( 1 +ζiζ)

对于 η= 0 的边线上结点 i = 10 , 12 , 18 , 20

Φi =14

( 1 - η2

) ( 1 +ξiξ) (1 + ζiζ)

对于ζ= 0 的边线上结点 i = 13 , 14 , 15 , 16

Φi =14

( 1 - ζ2

) (1 + ξiξ) (1 + ηiη)

3.6.3 六面体等参数单元

对于任意六面体单元 , 二次曲面六面体单元 (图 3-40) , 可采用和二维曲线

011

四边形等参数单元相类似的方法 , 采取等参数变换 , 将它们变换到 (ξ, η, ζ)

坐标系中的正方体标准单元。等参数变换关系式为

图 3-40 六面体等参数单元a) 任意六面体 b ) 二次曲面六面体

x = xiΦi (ξ,η,ζ)

y = yiΦi (ξ,η,ζ)

z = ziΦi (ξ,η,ζ)

(3-77)

式中 ( xi , yi , zi ) 是六面体等参数单元 (即图 3-40 中的任意六面体或二次曲面

六面体单元 ) i 号结点的笛卡尔坐标值。变换函数Φi (ξ,η,ζ)

值基函数 , 它们的表达式已在 3.6.2 小节中给出。

各个单元中的近似函数为

u = uiΦi (ξ,η,ζ)

其中 ui 是各个结点上的函数值。局部坐标变量 (ξ, η, ζ) 和笛卡尔坐标 ( x ,

y , z) 之间关系 , 由变换式 (3-37) 。微分关系式为

�Φi

�x

�Φi

�y

�Φi

�z

= J- 1

�Φi

�ξ

�Φi

�η

�Φi

�ζ

其中 J- 1是 Jacobi 矩阵 J 的逆矩阵

J =D ( x , y , z)D(ξ,η,ζ)

=

�x�ξ

�y�ξ

�z�ξ

�x�η

�y�η

�z�η

�x�ζ

�y�ζ

�z�ζ

111

3.6.4 轴对称单元

图 3-41 轴对称三角形单元

如果所考虑的三维区域具有轴对称的特点 , 就可以转

化为二维问题求解 , 此时可采用轴对称二维单元 , 如图

3-41 所示。三维轴对称问题有限元分析时 , 单元区域的

积分为

∫V

( e)

f( r, z)d V �=∫2π

0 �Ω

( e)

f( r, z) rd rd z dθ

= 2π�Ω

( e)

f ( r , z) rd rd z

其中 Ω( e )

是二维平面上的单元区域 , 于是二维的各种类型的单元及其插值函数 ,

可以全部应用于三维轴对称问题。

3.6.5 正方体单元和四面体标准单元的数值积分

1 . 正方体标准单元数值积分的 Gauss 公式

完全类似二维正方形标准单元情形 ( 见 3.4.4 小节 ) , 三维正方体标准单元

数值积分的 Gauss 公式为

∫+ 1

- 1∫+ 1

- 1∫+ 1

- 1f (ξ,η,ζ) dξdηdζ = ∑

m1

i = 1∑

m2

j = 1∑

m3

k = 1

wi wj wk f( ξi ,ηj ,ζk )

其中 ξi 、ηj 、ζk 是积分点的坐标值 , wi 、 wj、 wk 是相应的权系数 ; i = 1 , 2⋯

m1 ; j = 1 , 2⋯ m2 ; k = 1 , 2⋯ m3 。按精度要求可在ξ、η、ζ三个方向上取不同

数目的积分点 , 也可以是相同的 ( m1 = m2 = m3 )。各个积分点坐标与相应的权系

数见表 3-3。

2 . 四面体标准单元数值积分的 Gauss 公式

四面体标准单元 ( 图 3-35b) 数值积分的 Gauss 公式为

∫1

0∫1 - ξ

1

0 ∫1 - ξ

1- ξ

2

0f(ξ1 ,ξ2 ,ξ3 ,ξ4 ) dξ3 dξ2 dξ1 = ∑

m

i = 1

wi f (ξ1 i ,ξ2 i ,ξ3 i ,ξ4 i )

表 3-3 四面体基本单元 Gauss 积分的积分点与权系数

代数精度 标准单元中积分点位置 积分点体 积 坐 标 权 系 数

ξ1 � ξ2 ξ3 ξ4 wi

线性 a1 �4

14

14

14

1 Y6

211

(续 )

代数精度 标准单元中积分点位置 积分点体 积 坐 标 权 系 数

ξ1 � ξ2 ξ3 ξ4 wi

二次

a α β β β1 Y24

b β α β β1 Y24

c β β α β1 Y24

d β β β α1 Y24

α= 0 e.58541020

β= 0 d.13819660

三次

a1 �4

14

14

14

b1 �2

16

16

16

c1 �6

12

16

16

d1 �6

16

12

16

e1 �6

16

16

12

-2 �

15

3 Y40

式中 (ξ1 i , ξ2 i , ξ3 i , ξ4 i ) 是四面体单元中积分点的体积坐标 , wi 是相应的权系

数 , i = 1, 2⋯ m。 m 是四面体中的积分点总数 , 可按精度要求选取 m 为 1、4、

5 等。积分点坐标及相应的权系数由表 3-3 给出。

习 题

1 . 若采用三结点线段单元 , 试推导下列一维扩散方程的单元有限元方程

d2

ud x2 = p

2 . 当在两结点线段单元中采用一阶 Hermite 插值基函数时 , 试推导下列方程的单元有限

元方程

d3 ud x

3 + x = c

3 . 采用任意四边形单元 , 推导 Laplace 方程的单元有限元方程

è2

u = 0

u Γ = u

311

4 . 考虑轴对称问题的 Laplace 方程

�2

u�r2 +

1r�u�r

+�

2u

�z2= 0

图 3 -42 (第 6 题)

采用轴对称三角形单元 , 推导单元

有限元方程。

5 . 证明在任何类型的单元中

∑m

i = 1

Φi = 1

其中 m 为单元结点总数 , Φi 是

Lagrange 插值基函数。

6 . 求图 3-42 中所示的扇形区

域到直角边为单位长度的直角三角

形的坐标变换关系式 , 并标出扇形

顶点 A , B , C 变换到直角三角形上的三个对应点。

7 . 在 ( x , y ) 平面上有一任意四边形单元 , 各个结点的坐标如图 3-43 所示 , 它可以通

过等参数变换到 (ξ, η) 平面上的标准单元。试写出 :

(1 ) 这个单元的变换关系式 ;

(2 ) 求ξ= 0 , η= 0 点上 Jacobi 矩阵 J =D( x , y )D(ξ, η)

;

(3 ) 计算 Jacobi 行列式 | J | ;

(4 ) 计算�Φi

�x,�Φi

�y关于 (ξ, η) 的表达式。

图 3-43 (第 7 题 )

8 . 考虑 Laplace 方程

�2 u�x

2 +�2 u�y

2 = 0

当采用 6 结点三角形单元时 , 试推导单元有限元方程的系数矩阵各个元素的表达式。并对如

图 3 -44 所示的三角形单元 , 计算系数矩阵各个元素。

411

9 . 利用面积坐标和数值积分 Gauss 积分公式 , 计算

I =�Ω

d xd y

1 + x2 + y2

其中积分区域是图 3-45 所示的三角形单元

10 . 试推导八结点任意六面体等参数单元变换到正方体标准单元的 Jacobi 矩阵

J =D( x, y)D(ξ,η)

各个元素的表达式。

图 3 -44 (第 8 题 )图 3 -45 (第 9 题 )

511

第 4 章 流体力学典型问题的有限元分析

4.1 理想不可压流体的无旋流动

实际的流体都是有粘性的。由于粘性的影响 , 流场中固壁上的流体都粘附在

固壁上 , 而且在速度梯度不为零的点 , 都存在粘性应力。但是 , 对于大多数流体

的流动 , 由于流体的粘性系数不大 , 只有在速度梯度很大的区域中 , 粘性力才有

明显的影响。这样 , 对于一般具有固壁的流体流动问题 , 通常将固壁附近速度变

化剧烈的一层划分出来 , 称为边界层 , 进行单独研究 ; 而对边界层外的流体流

动 , 认为粘性应力是很次要的 , 可以忽略。这种忽略粘性的流体称为理想流体。

真实的流体都具有一定的压缩性。所谓压缩性是指流体质点的密度在流动过

程中是否发生变化的一种性质。假定密度在流动过程中保持常数 , 则把这种流体

称为不可压流体。常温常压下的液体 , 低速运动的气体 , 由于压缩性很小 , 可以

看作是不可压流体。

理想不可压流体是一种典型的流体力学模型。采用这种模型 , 数学上可带来

很大的简化 , 而获得的结果 , 在一定条件下和实际情况又比较相符 , 因此是经常

采用的一种模型。

对于理想不可压流体的流动 , 如果初始时刻无旋 , 则在整个流场中自始至终

都是无旋的 , 这样的流动称为理想不可压流体的无旋流动。对于无穷远处均匀来

流的绕流问题 , 或者初始时刻是静止的和均匀流速的流动 , 如机翼绕流 , 水波运

动等都可以看作是理想不可压流体的无旋流动 , 又称位势流动。

4.1.1 数学方程与边界条件

对于二维理想不可压流体的流动 , 最重要的简化是引进流函数与速度势函

数 , 并建立流函数与速度势函数所满足的 Laplace 方程。

引进流函数 ψ的前提条件是二维不可压。此时连续性方程为

div v = 0

在二维平面问题中 , 由上式可得

�v1

�x1= -

�v2

�x2( 4-1)

根据全微分定理 , 必定存在某个函数 ψ= ψ ( x1 , x2 ) 使得

�ψ�x2

= v1 (4-2a)

�ψ�x1

= - v2 (4-2b)

我们称 ψ为流函数。

引进速度势函数 φ的前提条件是无旋运动。由于

rot v = 0

根据全微分定理 , 必定存在一个函数 φ, 使得

gradφ= v

在二维平面问题中 , 无旋条件为

�v2

�x1=�v1

�x2( 4-3)

速度势函数 φ与速度分量的关系为

�φ�x1

= v1 (4-4a)

�φ�x2

= v2 (4-4b)

由于

gradφ·gradψ= - v1 v2 + v2 v1 = 0

可知流线 ψ= const 和等速度势线 φ= const 正交。

对于理想不可压流体的无旋流动 , 流函数 ψ所满足的方程可通过将式 (4-2)

代入式 (4-3) , 可得

�2ψ

�x21

+�

�x22

= 0 ( 4-5)

速度势函数 φ所满足的方程可通过式 ( 4-4) 代入式 (4-1)

�2φ

�x21

+�

�x22

= 0 ( 4-6)

可见 ψ, φ是满足 Laplace 方程的调和函数 , 这对不定常流动也是成立的。

相应式

般有下列四种情况 :

(1) 边界线为流场的固壁或自由面。边界线即为流线 , 因此有

ψ= const (4-7a)

或者

�φ�n

= vn = 0 (4-7b)

(2) 边界线为流体入口或出口。此时边界线一般和速度的方向垂直 , 边界线

711

上的切向速度为零 , 边界线上有

�ψ�n

= 0 (4-8a)

或者

φ= const (4-8b)

(3) 流动速度为已知的边界线。若边界线上的速度 v 已知 , 此时可假定边界

线上端点 M0 的流函数值为 ψ0 , 此时边界线上任一点 M 的流函数值为

ψ = ψ0 +∫M

M0

v· n dΓ (4-9a)

式中 n 是边界线上的单位法向矢量。

或者给出

�φ�n

= v·n (4-9b)

(4) 对于绕流问题 , 要给出无穷远处条件。若已知来流速度 v∞ , 则可给出

�ψ�n

= v∞·s (4-10a)

或者

�φ�n

= v∞·n (4-10b)

上式中 s、n 分别是无穷远处边界线 (一般在绕流物体充分远处划定的边界线 )

上的切向和法向的单位矢量。

对于一个具体问题 , 可根据流动特点和边界条件是否容易确定 , 去决定是采

用流函数 ψ还是速度势函数φ作为求解函数。当通过有限元方法获得流场中各

个结点的流函数值或速度势函数值以后 , 可以借助式 ( 4-2 ) 或式 (4-4 ) , 确定

各个单元中的速度值。而每一个结点上的速度值 , 可采用与这个结点相邻单元上

的速度值平均计算获得。

当速度值获得后 , 可通过 Bernoulli 方程求解各个结点上的压力 p。

考虑重力场的定常运动的 Bernoulli 方程为

v2

2+

+ gz = c (4-11)

其中 c 是常数 , 可以在流场中选取某特定点 ( 已知速度和压力的边界点 ) 计算确

定 , 上式中的 g 是重力加速度 , z 是水位高度 ; 气体流动这一项可忽略。

4.1.2 圆柱体绕流有限元分析实例

下面通过两平板之间圆柱体平面绕流问题 , 说明位势流动物体绕流的有限元

方法的具体解法。

811

考虑如图 4-1 所示的位于两块无限长平板之间的圆柱体的平面绕流问题。流

图 4-1 圆柱体平面绕流

场几何尺寸如图 4-1 所示 , 来流

速度是已知的 , 假定 vx = 1 , vy

= 0。

由于是理想流体的位势流

动 , 因此流场具有上下、左右

的对称性。这样就不必以整个

流场作为求解区域 , 而仅将四

分之一流场 ( 不妨以左上方的 a

- b - c - d - e - a 所围成的区

域Ω) 作为有限元的求解区域。

在区域 Ω中 , 流函数 ψ或速度势函数φ满足 Laplace 方程式 (4-5) 或式 (4-

6) , 相应的边界条件在图 4-2 中标出。

图 4-2 边界条件a) 流函数 ψ的边界条件 b) 势函数 φ的边界条件

图 4-2 所标出的边界条件可通过逐个分析边界的物理特点确定。

(1) 边界 ab , 由于是整个流场的上下对称轴线 , 因此 ab 线是流线。边界上

流函数为常数 , 不妨取为零 , 因此有

ψ= 0

因为是流线 , 法向速度为零 , 因此有

vn =�φ�n

= 0

(2) 圆柱固壁 bc , 由于是理想流体 , 固壁应是流线 , 由于 b 点的ψ= 0 , 因

此在 bc 上有

ψ= 0

同理有

911

vn =�φ�n

= 0

(3) 边界 cd , 由于是整个流场左右对称轴线 , 因此 cd 上的速度方向垂直于

cd 线 , 沿 cd 线的切向速度为零 , 于是有

- vs =�ψ�n

= 0

对于速度势函数 φ, 因为 cd 线与流线正交 , 因此是等速度势线 , 不妨取

φ= 0

(4) 平板固壁 ed , 由于是固壁边界 , 因此是流线 , 流函数值可由 e 点的ψ

值决定

ψe = ψa +∫e

avx d y =∫

2

0d y = 2

其中 ψa 是 a 点的流函数值 , ψa = 0 , 因此在 ed 上。

ψ= 2

固壁的法向速度为零 , 因此有

vn =�φ�n

= 0

(5) 进口边界 ae , 由于来流速度已知 , vx = 1 , 因此可按式 (4-9a) 给出流

函数值

ψ = ψa +∫y

avx d y =∫

y

0d y = y

ae 上由于速度垂直边界 , 也可提自然边界条件

- vs =�ψ�n

= 0

但应注意两者只能提一个。对于速度势 φ, 有

vn =�φ�n

= vx = 1

图 4 -3 圆柱体绕流区域有限元网格

位势流动可以采用流函数 ψ求

解 , 也可以采用速度势函数 φ求

解。下面以流函数 ψ为例介绍有限

元方法求解的具体步骤。图 4-3 所

示的 Ω区域的单元剖分图是可供

实际计算的。共划分为 111 个单

元 , 77 个结点。在划分三角形单元

时 , 应注意尽量不要出现钝角三角

形 , 在流动变化比较剧烈的圆柱体

上方 , 单元布置相对密集。为使将

021

来形成的总体有限元方程组系数矩阵具有较小的带宽 , 区域结点序号可考虑沿着

区域短边方向 , 自上而下逐列编号。这样可使每个单元中的结点序号差不至太

大。单元序号编排顺序没有一定原则 , 便于列出单元和结点序号对照表就可以。

在图 4-3 的基础上 , 可按 2.2.2 小节和 2.3.2 小节介绍的方法列出单元、结

点序号对照表、结点坐标值表、边界结点序号及其边界值对照表 , 为上机计算进

行数据准备。

为了能对上述工作有一个更为具体的了解 , 先比较粗略地进行单元剖分 , 作

为计算的实例。求解区域共划分 10 个单元 , 10 个结点 ( 见图 4-4)。这样的单元

剖分对于实际计算 , 显然是无法接受的 , 此时的圆柱体已成为一个菱形柱体了。

但就计算方法与步骤而言 , 和图 4-3 的单元剖分是完全一致的。

图 4-4 粗略的单元剖分

按图 4-4 的单元剖分及所标的单元、结点序号 , 我们可列出单元结点序号对

照表 ( 表 4-1) 、结点坐标值表 ( 表 4-2)、边界结点序号及相应边界值表 ( 表 4-

3) 。需要说明 : 表 4-3b 中 , 序号为 3、10 的结点是本质边界结点 , 但边界 3-7、

7-10 是自然边界 , 因此表中也将这两个结点列进去。

表4-1 单元结点序号对照表

in

e

1 #2 k3 �4 �5 C6 �7 �8 �9 c10 �

1 �1 #4 k4 �4 �2 C2 �6 �6 �5 c5 �

2 �4 #5 k9 �8 �6 C5 �7 �10 .10 v9 �

3 �2 #2 k5 �9 �3 C6 �3 �7 �6 c10 �

121

表 4-2 结点坐标值表

n 1 #2 k3 �4 �5 C6 �7 �8 �9 c10 �

x 0 #2 F.5 3 �.5 0 �2 �.5 3 f.0 3 �.5 0 �2 >.5 3 �.5

y 2 �.0 2 F.0 2 �.0 1 �.0 1 �.0 1 f.5 1 �.5 0 �0 c1 �.0

表 4-3a 本质边界结点与边界值

下标序号 r 1 u2 a3 M4 %5 �6 �7 n

结点序号 nr 1 u2 a3 M4 %8 �9 �10 �

边界值 ψr 2 u2 a2 M1 %0 �0 �0 n

表4-3b 自然边界结点与边界值

下标序号 l 1 �2 �3 x

结点序号 nl 7 �3 �10 �

边界值 - vsl 0 �0 �0 x

按照 2.3.4 小节中进行的单元分析 , e 单元中有限元特征式的系数矩阵为

{ A( e)i j } = A

( e)

b2

1 + c2

1 b1 b2 + c1 c2 b1 b3 + c1 c3

b2 b1 + c2 c1 b22 + c

22 b2 b3 + c2 c3

b3 b1 + c3 c1 b3 b2 + c3 c2 b3

3 + c2

3

(4-12)

其中

b1 =1

2 A( e) ( y2 - y3 ) c1 =

12 A

( e) ( x3 - x2 )

b2 =1

2 A( e) ( y3 - y1 ) c2 =

12 A

( e) ( x1 - x3 )

b3 =1

2 A( e) ( y1 - y2 ) c3 =

12 A

( e) ( x2 - x1 )

A( e )

=12

[ ( x2 - x1 ) ( y3 - y1 ) - ( y2 - y1 ) ( x3 - x1 ) ] (4-13)

右端项元素 , 只在 7、8 两单元才出现 , 但由于在边界 10-7 和 7-3 上 ,�ψ�n

= 0 ,

因此在这两个单元中

f( e)

i = 0 ( e = 7 , 8 ; i = 1 , 2 , 3 )

由于各个单元中的结点坐标值已经由表 4-2 给出 , 因此可按式 ( 4-13 )

元计算 bi 、 ci 值 , 代入式 (4-12) , 可得

221

{ A( 1 )

i j } =

1.45 - 1.25 - 0.2

- 1.25 1.25 0

- 0.2 0 0.2

{ A( 2 )

i j } =

0.2 - 0.2 0

- 0.2 1.45 - 1.25

0 - 1.25 1.25

{ A( 3 )

i j } =

0.2 0 - 0.2

0 1.25 - 1.25

- 0.2 - 1.25 1.45

{ A( 4 )

i j } =

1.25 - 1.25 0

- 1.25 1.45 - 0.2

0 - 0.2 0.2

{ A( 5 )

i j } =

0.5 - 0.5 0

- 0.5 1 - 0.5

0 - 0.5 0.5

{ A( 6 )

i j } =

0.5 0 - 0.5

0 0.5 - 0.5

- 0.5 - 0.5 1

{ A( 7 )

i j } =

0.5 - 0.5 0

- 0.5 1 - 0.5

0 - 0.5 0.5

{ A( 8 )

i j } =

0.5 0 - 0.5

0 0.5 - 0.5

- 0.5 - 0.5 1

{ A( 9 )

i j } =

0.5 0 - 0.5

0 0.5 - 0.5

- 0.5 - 0.5 1

{ A( 10 )i j } =

1 - 0.5 - 0.5

- 0.5 0.5 0

- 0.5 0 0.5

按照 2.3.5 小节中叙述的总体合成的方法 , 利用表 4-1 给出的单元结点序号

和总体结点序号的对照关系 , 可以进行总体合成 , 获得如下所示的总体有限元方

321

程系数矩阵 :

右端项矢量各元素 fn = 0 ( n = 1 , 2⋯10)。

现在可按 2.2.6 小节中介绍的本质边界条件处理方法对上述 { Anm } 进行修

正。采用 2.2.6 小节中的消行修正法 , 按照表 4-3a 中所列数据 , 逐行修正。最

后可获得修正后的总体有限元方程 :

1

1

1 0

1

4.9 - 1

- 1 4 - 1

- 1 2

0 1

1

1

ψ1

ψ2

ψ3

ψ4

ψ5

ψ6

ψ7

ψ8

ψ9

ψ10

=

2

2

2

1

2.9

3

1

0

0

0

修正后的总体有限元方程相当简单 , 只需求解

4.9 - 1 0

- 1 4 - 1

0 - 1 2

ψ5

ψ6

ψ7

=

2.9

3

1

在程序设计时 , 可采用有关线性代数方程组计算方法 , 如列主元消去法 , 对称正

定矩阵的平方根法等方法求解。不难获得 :

ψ5 = 0.845

421

ψ6 = 1.241

ψ7 = 1.120

至此 , 流场中的所有结点上的流函数 ψ值全部获得 , 列在表 4-4 中。

表 4-4 流函数结点值

n 1 #2 k3 �4 �5 C6 �7 �8 �9 c10 �

ψn 2 #2 k2 �1 �0 �.845 1 A.241 1 �.120 0 �0 c0 �

由于采用的是线性插值函数 , 各个单元中的速度值是常数。按式 (4-2 ) 可

计算出各个单元中的速度值。表 4-5 给出了计算结果。

表 4-5 单元中的速度值

e 1 #2 k3 �4 �5 C6 �7 �8 �9 c10 �

vx 1 #1 !.155 0 i.845 1 �1 �.518 1 A.155 1 �.760 2 �.24 1 �.637 0 a.845

vy 0 #0 !.062 0 i.062 0 �0 C0 A.362 0 �.242 0 �.242 0 �.845 0 a.845

各个结点上的速度值可取这个结点相邻单元的速度值平均值 , 结果列在表

4-6 中。结点上的压力值可按 Bernoulli 方程计算。如果认为求解区域处于同一水

平面 , 流体介质密度ρ= 1 , 来流压力 p = 0 , 则按式 (4-11) 有

pi =12

(1 - v2i ) ( i = 1 , 2⋯10)

计算结果在表 4-6 中给出。由于单元网格过于粗糙 , 因此表中数据误差较大。如

表 4-6 中带 * 号的数据显然与边界值不符。但尽管如此 , 通过上述的计算 , 可以

使我们更清楚地了解有限元方法的求解过程。当然 , 实际计算时 , 除推导表达式

外 , 数值运算全是由电子计算机进行的。

表4-6 结点上的速度值与压力值

n 1 #2 k3 �4 �5 C6 �7 �8 �9 c10 �

vx 1 #1 !.207 1 i.639 1 �1 �.127 1 A.662 2 �1 �0 �.867 1 a.574

vy 0 #0 �.106 * 0 J.121 * 0 �.062 * 0 �.435 0 A.338 0 j.242 * 0 �0 �.302 0 a.644

p 0 #- 0 J.234 - 0 �.850 - 0 �.002 - 0 ".230 - 0 j.938 - 1 �.529 0 �0 �.079 - 0 �.946

如果单元划分精细一些 , 结果将大大改善。Martin 在流体力学有限元应用的

初期 ( 1969 年 ) , 提供了关于这个问题的算例。Chung ( 1978 年 ) 采用和 Martin 基

本相同的单元剖分 ( 图 4-3 ) , 所获得的流线如图 4-5 所示。

平行板之间的圆柱体绕流问题 , 采用位势流动的镜像法可获得流函数的近似

解析解

521

ψ= v∞ y -Hsh

2(πR�/H) sin(2πy�/H)

2π[ch2

(πx�/H) - cos2

(πy�/H) ]

由此公式可求出

vx =�ψ�y

= v∞ 1 -sh

2(πR�/H)cos( 2πR�/H)

ch2

(πx�/H) - cos2

(πy�/H)

+sh

2(πR�/H) sin

2(2πy�/H )

2 [ch2

(πx�/H) - cos2

(πy�/H) ]2 (4-15)

式中 v∞ 是平行板来流速度 , R 是圆柱体半径 , H 是平行板之间距离。图 4-6 中

给出了 Chung 所计算的圆柱体上方对称线 cd 上的水平速度和式 (4-15) 计算值

进行了比较。

图 4-5 圆柱绕流流线图 图 4-6 cd 上的水平速度·图 4-3 的有限元解 ×图 4-4 的有限元解

对于这个问题 , 也可以采用速度势函数 φ进行有限元求解 , 求解步骤与前

面讨论过的流函数 ψ解基本相同。由于 φ与ψ都满足 Laplace 方程 , 因此所获得

的总体有限元方程完全相同 , 不同的是边界条件。表 4-7a、b 列出速度势函数 φ

在本质边界和自然边界上的结点序号与相应边界值。

表 4-7a 本质边界结点及相应边界值

下标序号 r 1 �2 �3 x

结点序号 nr 3 �7 �10 �

边界函数值 φr 0 �0 �0 x

表 4-7b 自然边界结点及相应边界值

下标序号 l 1 u2 a3 M4 %5 �6 �7 n

结点序号 nl 1 u4 a8 M9 %10 �2 �3 n

边界值 vn l 1 u1 a1 M0 %0 �0 �0 n

621

根据式 (2-31) , 可获得含有自然边界单元中的右端项元素的积分值 �

f( e )

i = 0 �( e = 5 , 10; i = 1 , 2 , 3)

f( e )

i = 0.5 ( e = 1 , 4 ; i = 1 , 2)

f( e )

3 = 0 ( e = 1 , 4)

总体合成后得

{ fn } = [0.5 , 0 , 0 , 1 , 0 , 0 , 0 , 0.5 , 0 , 0 ]T

总体系数矩阵完全同式 ( 4-14) 。

采用消行修正法对本质边界条件进行处理。将第 3 , 7 , 10 行和列中的所有

元素 , 除对角线保持 1 以外 , 全部置零 , 右端元素由于本质边界条件中的边界值

为零 , 不作变化。这样 , 不妨将 3、7、10 的行列全部消去 , 需要求解的将是以

下含 7 个未知量的方程组

1.45

- 0.2 2.45 对称

- 1.25 0 2.9

0 - 1.25 - 0.4 4.9

0 - 1.0 0 - 1.0 4.0

0 0 - 1.25 0 0 1.45

0 0 0 - 1.75 0 - 0.2 1.95

×

φ1

φ2

φ4

φ5

φ6

φ8

φ9

=

0.5

0

1

0

0

0.5

0

求解得 I

φ1 = 3.787 hφ2 = 1.204 �φ3 = 0

φ4 = 3.841 φ5 = 1.261 φ6 = 6.161

φ7 = 0 φ8 = 3.827 φ9 = 1.491

φ10 = 0

完全同流函数有限元解的方法。利用上述结果 , 按式 (4-4)

元中的平均速度。然后计算各个结点上的速度值与压力值。

4.1.3 轴对称流动等参数有限元分析

图 4-7 圆管内旋转体的无旋绕流

图 4-7 所示为圆管内细长旋转

体的理想不可压无旋绕流问题。

通过这个例子要说明轴对称流动

有限元方法的求解的特点 , 另外

在这一例子中采用四边形等参数

单元 ; 可以通过求解过程 , 了解

等参数单元和三角形单元在单元

分析时的不同特点。

721

采用柱坐标 ( r, θ, z) , 由于轴对称��θ

= 0 , 流函数 ψ满足的 Stokes 方程和

边界条件如下 :

�2ψ

�r2 +

�2ψ

�z2 -

1r�ψ�r

= 0 ( r, z) ∈Ω

ψ Γ1

= ψ

�ψ�n Γ

2

= g

(4-16)

图 4-8 流函数求解区域与边界条件

由于圆管内流动具有上下、前后对称特点 , 计

算区域 Ω可取流场的四分之一区域 ; Γ1 是 Ω

的本质边界 , 由进口边界 ae , 固壁边界 ed ,

中心轴线和旋转体固壁 abc 组成 ; Γ2 是自然

边界 , 它是前后对称轴线 cd , 区域 Ω和边界

条件值如图 4-8 所示。

下面采用四边形等参数单元进行有限元求

解。

1 . 积分表达式

对流函数 ψ所满足的 Stokes 方程式 (4-16) 采用 Galerkin 方法 , 可得

∫Ω

�2ψ

�r2 +

�2ψ

�z2 -

1r�ψ�r

δψ2πrdΩ = 0

应用 Green—Gauss 公式可将上述积分改写为

2π∫Ω

�ψ�r

�(δψ)�r

+�ψ�z

�(δψ)�z

rdΩ + 4π∫Ω

�ψ�r

δψdΩ = 2π∫Γ

2

�ψ�n

δψrdΓ (4-17)

其中 Ω是 ( r , z) 平面上的求解区域 , Γ2 是 Ω的自然边界。和二维平面问题不

同 , 在积分式中有 2πr 的因子 , 这是由于将三维的对称问题化为二维问题时 , 对

θ积分 2π而产生的。

图 4-9 单元剖分

2 . 单元剖分

为说明求解特点 , 对图 4-8 中的求

解区域 Ω作粗略的单元剖分。如图4-9

所示 , 剖分成 6 个四边形单元 , 共 12

个结点。

按单元剖分图 , 可将单元结点序

号的对应关系和结点坐标值分别列出

表 4-8 与表 4-9。

821

表 4-8 单元结点序号对照表

in

e

1 �2 �3 �4 �5 �6 <

1 �2 �1 �5 �4 �8 �7 <

2 �5 �4 �8 �7 �11 -10 O

3 �6 �5 �9 �8 �12 -11 O

4 �3 �2 �6 �5 �9 �8 <

表 4-9 结点坐标值

i 1 k2 �3 �4 �5 �6 �7 %8 D9 c10 �11 �12 �

z 0 k0 �0 �2 �.5 2 �.5 2 �.5 3.3 3 �.3 3 >.3 3 ].5 3 |.5 3 �.5

r 0 k1 e.0 2 �.0 0 �1 �.0 2 �.0 0.2 1 �.0 2 >.0 0 ].2 1 |.0 2 �.0

边界结点及相应的边界值 , 可按图 4-8 中所标的边界条件 , 列出表 4-10。

表 4-10a 本质边界结点与边界值

下标序号 r 1 �2 �3 �4 b5 �6 D7 �8 &9 �

结点序号 nr 1 �2 �3 �4 b6 �7 D9 �10 812 �

边界值 ψr 0 �0 [.5 2 �0 b2 �0 D2 �0 &2 �

表 4-10b 自然边界结点与边界值

下标序号 l 1 �2 �3 x

结点序号 nl 10 ,11 �12 �

边界值 - vrl 0 �0 �0 x

3 . 等参数插值基函数

单元形状为四结点任意四边形单元 , 采用四边形等参数单元的线性插值基函

数 ( 详见 3.4.3 小节 )

Φ1 =14

( 1 - ξ) (1 - η)

Φ2 =14

( 1 +ξ) (1 - η)

Φ3 =14

( 1 +ξ) (1 + η)

Φ4 =14

( 1 - ξ) (1 + η)

(4-18)

其中 (ξ, η) 与 ( z , r) 坐标的变换关系按如下关系确定 :

921

z = z1 Φ1 (ξ,η) + z2 Φ2 (ξ,η) + z3 Φ3 (ξ,η) + z4 Φ4 (ξ,η)

r = r1 Φ1 (ξ,η) + r2 Φ2 (ξ,η) + r3 Φ3 (ξ,η) + r4 Φ4 (ξ,η)(4-19)

单元变换见图 4-10 , 图 4-10a 是 ( r, z) 平面上的任意四边形单元 ; 图 4-10b 是

(ξ, η) 平面上的正方形标准单元。

将式 (4-18)代入式 ( 4-19) , 可得

图 4-10 线性四边形等参数单元

z =14

( a1 + b1 ξ+ c1 η+ d1ξη) (4-20a)

r =14

( a2 + b2 ξ+ c2 η+ d2ξη) (4-20b)

其中

�a1 = z1 + z2 + z3 + z4 , �a2 = r1 + r2 + r3 + r4

b1 = - z1 + z2 + z3 - z4 , b2 = - r1 + r2 + r3 - r4

c1 = - z1 - z2 + z3 + z4 , c2 = - r1 - r2 + r3 + r4

d1 = z1 - z2 + z3 - z4 d2 = r1 - r2 + r3 - r4

对 z, r 的导数可按下式进行转换

�Φi

�z=

1| J |

�r�η

�Φi

�ξ-�r�ξ

�Φi

�η(4-21a)

�Φi

�r=

1| J |

�z�ξ

�Φi

�η-�z�η

�Φi

�ξ(4-21b)

式中 J是 Jacobi 矩阵

| J | �=�z�ξ

�r�η

-�r�ξ

�z�η

=18

(α0 + α1 ξ+ α2 η) (4-22a)

031

其中

α0 = ( z4 - z2 ) ( r1 - r3 ) - ( z1 - z3 ) ( r4 - r2 )

α1 = ( z3 - z4 ) ( r1 - r2 ) - ( z1 - z2 ) ( r3 - r4 )

α2 = ( z4 - z1 ) ( r2 - r3 ) - ( z2 - z3 ) ( r4 - r1 ) (4-22b)

将式 (4-18) 和式 (4-20)代入式 (4-21)

�Φi

�z=

18 | J |

( Azi + Bziξ+ Cziη)

�Φi

�r=

18 | J |

( Ari + Briξ+ Criη)

( i = 1 , 2 , 3 , 4)

其中 �

Az1 = r2 - r4 �Bz1 = r4 - r3 �Cz1 = r3 - r2

Az2 = r3 - r1 Bz2 = r3 - r4 Cz2 = r1 - r4

Az3 = r4 - r2 Bz3 = r1 - r2 Cz3 = r4 - r1

Az4 = r1 - r3 Bz4 = r2 - r1 Cz4 = r2 - r3

Ar1 = z4 - z2 Br1 = z3 - z4 Cr1 = z2 - z3

Ar2 = z1 - z3 Br2 = z4 - z3 Cr2 = z4 - z1

Ar3 = z2 - z4 Br3 = z2 - z1 Cr3 = z1 - z4

Ar4 = z3 - z1 Br4 = z1 - z2 Cr4 = z3 - z2

4 . 单元分析

单元近似函数为

ψ= ψiΦi

代入积分表达式 (4-17) , 并将单元中的积分变量替换成 (ξ, η) ; 于是有

A( e )i j ψj = f

( e)i (4-23a)

其中

A( e)

i j = �2π∫+ 1

- 1∫+ 1

- 1

�Φi

�z�Φj

�z+�Φi

�r�Φj

�rr | J | dξdη

+ 4π∫+ 1

- 1∫+ 1

- 1Φi

�Φj

�r| J | dξdη (4-23b)

f( e)i = 2π∫

Γ( e)2

�ψ�η

Φi rdΓ (4-23c)

利用式 ξ、η的函

数。不妨记

Fi j (ξ, η) = 2π| J |�Φi

�z�Φj

�z+�Φi

�r�Φj

�rr + 2�i

�Φj

�r(4-24)

131

于是式 (4-23b)

A( e)i j =∫

+ 1

- 1∫+ 1

- 1Fi j (ξ,η) dξdη (4-25)

如果我们将式 (4-20) 、式 ( 4-21 )及式 ( 4-22) ξ、η的表达式代入式

(4-24) 中 , 可以发现 Fi j (ξ, η) 将是一个相当复杂的有理式函数 ; 显然对它

积分将是相当困难的 , 因此一般都采用 Gauss 数值积分进行计算。

按照二维 Gauss 积分公式 ( 参见 3.4.4 小节 ) , 我们取 6 个积分点 , 式 ( 4-

25) 可写作

A( e)i j =∫

+ 1

- 1∫+ 1

- 1F(ξ,η) dξdη = ∑

6

l = 1∑

6

m = 1

ωlωm Fi j (ξl ,ηm )

上式中的 Gauss 积分点ξi 、ηj 及权系数ωi 、ωj 的数值 , 可通过查表 3-2 获得。只

要单元的结点坐标值给出 , 就可以利用式 (4-20)、式 ( 4-21) 、式 (4-22) 及式

(4-24) 计算 Fi j (ξlηm )。下面列出通过计算获得的各个单元的系数矩阵 :

{ A( 1 )

i j } = 2π

0.583 0.042 - 0.308 - 0.317

0.042 0.583 - 0.317 - 0.308

- 1.142 - 1.983 2.317 0.808

- 1.983 - 1.142 0.808 2.316

{ A( 2 )i j } = 2π

- 0.383 - 0.242 0.175 0.450

- 0.242 - 0.383 0.450 0.175

- 0.658 - 1.217 1.350 0.525

- 1.217 - 0.658 0.525 1.350

{ A( 3 )

i j } = 2π

0.654 - 0.454 - 0.379 0.179

- 0.454 0.654 0.179 - 0.379

- 0.646 - 0.354 1.396 - 0.396

- 0.354 - 0.646 - 0.396 1.396

{ A( 4 )i j } = 2π

- 0.021 - 0.173 - 0.027 0.221

- 0.173 0.667 0.183 - 0.077

- 0.293 - 0.350 0.717 - 0.073

- 0.312 - 0.343 - 0.073 0.729

{ A( 5 )i j } = 2π

2.117 - 2.067 - 1.267 1.217

- 2.067 2.117 1.217 - 1.267

- 1.333 1.083 3.083 - 2.833

1.083 - 1.333 - 2.833 3.083

231

{ A( 6 )

i j } = 2π

0.517 - 0.542 - 0.392 0.412

- 0.542 0.517 0.417 - 0.392

- 0.458 0.283 1.183 - 1.008

0.283 - 0.458 - 1.008 1.183

右端项积分 f( e)i 只在 5、6 单元出现 , 由于在自然边界 10-11 , 11-12 上

�ψ�η

=

0 , 因此 f ( e )

i = 0 , ( i = 1 , 2 , 3 , 4)。

5 . 求解总体有限元方程

将上述单元有限元系数矩阵进行总体合成。按照 2.3.5 小节叙述的方法 , 利

用表 4-8 给出的单元结点序号和总体结点序号的对照关系 , 将各个单元有限元方

程的系数矩阵元素 , 分别累加到总体有限元方程系数矩阵的相应元素中。这样就

可获得含有 ψi ( i = 1, 2⋯12) 的总体有限元方程。再按照表 4-10a , 利用消行修正

法进行本质边界条件处理。真正要求的解将只是ψ5 、ψ8 、ψ11 ; 它们所满足的方程为

3.3162 - 0.5275 0.0000

- 0.5275 4.6709 - 3.0750

0.0000 - 3.0750 3.3000

ψ5

ψ8

ψ11

= 2π

1.366

0.500

0.100

求解得

ψ5 = 0.4868 , ψ8 = 0.4708 , ψ11 = 0.4690

速度和压力的求解与上一节平面圆柱绕流相同 , 这里就不一一讨论了。

4.1.4 多体绕流问题

对于绕多个不规则物体的位势流动 , 同样可采用流函数ψ和速度势φ进行求解。

图 4 -11 多体绕流

如图 4-11 所示的流动 , 无穷远处来流

速度平行于 x 轴 , v∞ 已知 , 流场中有 n

个物体 , 边界为 Γi ( i = 1 , 2⋯ n )。离绕

流物体充分远处取外边界 Γ0 , Γ0 上的速

度可近似地认为是来流速度。为方便起

见 , 不妨将 Γ0 的边界线取为垂直或平行

于来流方向 , 分别记为 Γ01 、Γ02 。

若采用速度势 φ, 它所满足的方程与边界条件为

è2φ= 0 在 Ω内

�φ�η

= 0 在 Γi 上 ( i = 1 , 2⋯ n)

φ= v∞ x 在 Γ01 上

�φ�η

= 0 在 Γ02 上

331

于是可按 4.1.2 小节的有限元解法进行求解。由于方法与求解步骤完全相同 , 也

就不再进行进一步的讨论了。

如果采用流函数 ψ求解。和 4.1.2 小节所介绍的单个圆柱体绕流不同 , 主要

困难是各个绕流物体边界上的流函数 ψ值事先无法确定。G.de Vries 和D.H.Nor-

rie 1971 年提出流场迭加的方法 , 完满地解决了这个问题。

假定流场中 n 个绕流物体边界Γ1 、Γ2 ⋯Γn 上的流函数值分别是 a1 、 a2 ⋯

an , 它们都是待定常数。于是 ψ应满足

è2ψ= 0 在 Ω内 (4-26a)

ψ= g( x , y ) Γ0 上 (4-26b)

ψ= ai 在 Γk 上 ( k = 1, 2⋯ n) (4-26c)

g( x , y) , 由于 ai 是未知常数 , 上述方程用常规

的有限元方法自然是无法求解的。但由于 Laplace 方程是线性方程 , 可采用迭加

方法求解 , 设

ψ= ψ0 + a1 ψ1 + a2 ψ2 + ⋯ + anψn (4-27)

其中 ψ0 、ψ1 、ψ2 ⋯ψn 分别满足下列各个方程与边界条件。

ψ0 满足 :

è2ψ0 = 0 在 Ω内

ψ0 = g( x , y) Γ0 上

ψ0 = 0 在 Γi 上 ( i = 1 , 2⋯ n)

ψ1 满足 :

è2ψ1 = 0 在 Ω内

ψ1 = 1 在 Γ1 上

ψ1 = 0 在 Γi 上 ( i = 0 , 2 , 3⋯ n)

ψ2 满足 :

è2ψ2 = 0 在 Ω内

ψ2 = 1 在 Γ2 上

ψ2 = 0 在 Γi 上 ( i = 0 , 1 , 3⋯ n)

⋯⋯

⋯⋯

ψn 满足

è2ψn = 0 在 Ω内

ψn = 1 在 Γn 上

ψn = 0 在 Γi 上 ( i = 0 , 1 , 2⋯ n - 1 )

431

这样 , ψ0 、ψ1 ⋯ψn 分别按照上述各个方程与边界条件 , 采用有限元方法求解 ,

可获得全流场中各个结点上的 ψk 值 ( k = 0 , 1 , 2⋯ n )。将它们的解代入式

(4-27) , 即构成迭加解 ψ, 它显然满足

è2ψ= è

2(ψ0 + a1 ψ1 + ⋯ + anψn ) = 0 在 Ω内

ψ= ψ0 + a1 ψ1 + ⋯ + anψn = g( x , y ) Γ0 上

ψ= ψ0 + a1 ψ1 + ⋯ + anψn = ak 在 Γk 上 ( k = 1 , 2⋯ n)

即满足式 (4-26) , 正是我们所要求的解。

剩下的问题是如何确定 a1 , a2 ⋯ an 。这可以通过在流场中选取 n 个点 , 这

些点上的 ψ值是已知的。将式 ( 4-27 ) , 即可获得 n 个含有 a1 ,

a2 ⋯ an 的线性方程 , 求解后即得 a1 , a2 ⋯ an 。考虑到外边界 Γ0 是充分远离绕

流物体的 , 因此我们一般可在 Г01 附近取这 n 个点 , 这些点上的值不妨取无穷远

处的流函数值。如图 4-11 的绕流 , 设来流 vx = v∞ , vy = 0; 则在 Γ01 附近应有

ψi = v∞ yi ( i = 1 , 2⋯ n)

图 4-12 , 图 4-13 分别是 de Vries 和 Norrie 采用上述方法计算平板间四个不规

则物体绕流的速度势 φ解与流函数ψ解。

图 4-12 多体绕流流线 图 4-13 多体绕流等速度势线

4.1.5 具有自由面的位势流动

图 4-14 闸门孔口出流

在水力学的位势流

动中 , 平面固壁边界形

状事先是已知的 , 如湖

泊平面环流 , 一般只考

虑平面上已知边界内的

流动。而另一些水体流

动 , 往往有可变动的自

由面 , 例如闸门孔口出

流 (图 4-14 ) , 过坝水流 (图 4-15) , 土坝中的渗流 ( 图 4-16) 。

现以图 4-14 所示的闸门孔口出流为例 , 说明这一类具有自由面的位势流动

问题的主要困难和求解的基本思想。

531

如图 4-14 所示 , 求解区域 Ω是由 A— B— C— D— E— F— A 所围成。 AB 是

图 4-15 过坝水流

图 4 -16 土坝中的渗流

闸门内的水面线 , CD 是

闸门外水 流的自由 面 ;

BC 是 闸 门 固 壁 , AF、

DE 是上下游的边界线 ,

EF 是底面固壁线。

工程上需要求解 :

1) 闸门内水面线以

及孔口出流的自由面形

状 h = h( x ) ;

2) 过闸流量 Q

3) 流场中的速度分

布 , 并由此计算闸门上

的压力分布。

我们考虑的是不可

压缩无粘性的位势流动。

因此 , 不妨以流函数 ψ作为求解函数。ψ在Ω内满足 Laplace 方程。

�2ψ

�x2 +

�2ψ

�y2 = 0 (4-28)

相应的边界条件如下

1) 在上游边界 AF 上 , 只要 AF 离开闸门有足够距离 , 可以认为速度垂直于

边界线 , 因此可提自然边界条件

�ψ�n

= 0 (4-29a)

在 AF 上也可以假定速度分布均匀 , 因此也可不提上面的自然边界条件 , 而改提

本质边界条件

ψ=QhF

y (4-29b)

其中 Q 是 AF 断面上的流量 , hF 是 F 点的水深 , hF = h( xF )

2) 在下游边界 DE 上 , 速度垂直边界线 , 应有自然边界条件

�ψ�n

= 0 (4-30)

3) 在底面 FE 上 , 由于是固壁流线 , 可以假定

ψ= 0 (4-31)

4) 在闸门固壁 BC 上 , 由于是固壁流线 , 且过闸流量为 Q , 因此有

ψ= Q (4-32)

631

5) 在自由面 AB、 CD 上 , 应同时满足流线条件和压力为零条件。流线条件

是本质边界条件

ψ= Q (4-33)

压力为零条件是自然边界条件 , 由 Bernoulli 方程应有

�ψ�n

= 2 g ( H - h) (4-34)

式中 H 是闸门开启前水面总高度 , y = h( x ) ; H≈ h( xF ) 。

根据 Laplace 方程的定解条件 , 自由面上必须同时满足的两个边界条件式

33)与式 (4-34 )

出。

分析上述边界条件 , 可以看到有两个困难之处 :

(1) 作为边界线的自由面 y = h( x) , 事先是未知的。当采用有限元方法求解

时 , 求解区域 Ω是不确定的 , 单元剖分无法进行。

(2) 边界条件式 (4-29b )、式 ( 4-32 )、式 ( 4-33) Q 值事先也是未知

的。当采用有限元方法求解时 , 边界条件的处理无法进行。

为克服上述困难 , 自 20 世纪 70 年代以来 , 中外学者提出的方法基本上可分

为两大类 : 一类是固定边界条件的迭代法 , 基本思想是先假定自由面形状与流量

值 , 使边界条件完全固定 , 然后进行常规的有限元方法求解 ; 再采用自由面的校

核条件对求解所获得的流量值和自由面进行校核修正 , 进行迭代 , 最后获得收敛

解。另一类是可变边界变分方法 , 基本思想是在可变区域或可变流量的变分原理

基础上进行有限元求解。

先介绍比较简单的已知流量值 , 只对自由面进行迭代计算的求解方法。再介

绍流量与自由面都未知 , 需要同时迭代的求解方法。

1 . 已知流量值的迭代法

假定过闸流量 Q 为已知值 , 计算闸门孔口出流的自由面形状 , 速度分布和

闸门上的压力分布。

具体求解步骤如下 :

(1) 假定一条曲线 y = h( n )

( x ) , 作为自由面线 AB 和 CD。开始迭代时 n = 0 ,

可假定上游为水平线 , 下游孔口出流部分为椭圆曲线。

h( o )

( x ) =

H AB 段

- b 1 -x + c

a

2

+ d CD 段

上式中 a、 b、 c、 d4 个常数 , 只有两个是独立常数 , 另外两个由闸门角点 C 的

坐标及闸门边线的倾斜角θ决定 (图 4-17)。

(2) 根据方程式 ( 4-28) 及相应的边界条件式 (4-29a) 、式 (4-30)、式 ( 4-31 )、式

731

(4-32) 和式 (4-33) y

= h( n )

( x) ψ( n)

(3) 根据有限元计算获得的 ψ值 , 可计算出自由面 y = h( n)

( x ) (初始迭代 n

= 0) 上的速度值

v2n =

�ψ( n)

�x

2

+�ψ

( n )

�y

2

y = h( n)

( x )

(4) 根据自由面的压力为零的校核条件式 (4-34) , 自由面位置的偏离值为

Δh( n )

= H - h( n)

+v

2n

2 g( n = 0 , 1 , 2⋯ ) (4-35)

若 |Δh( n)

|小于给定的误差范围 , 则求解成功。不然 , 要对自由面曲线进行修正

h( n + 1 )

= h( n )

+Δh( n )

( n = 0 , 1 , 2⋯ ) (4-36)

(5) 若 ψ( n )

求解成功 , 就可计算流场的速度与压力值。若需继续进行迭代 ,

则对式 ( 4-36) 所确定的自由面边界 , 重复上述第 ( 2)、 ( 3 )、 ( 4) 步 , 直至最

后求解成功。

图 4-17 闸门孔口出流的有限元模型

图 4-17 是采用迭代法计算

闸门孔口出流的有限元网格以

及计算获得的闸门上的压力分

布图。

2 . 流量与自由面同步迭

代法

在一般情形下 , 过闸流量

Q 是未知的 , 此时需要同时对

Q 和自由面形状 y = h ( x )

迭代 求解。这一 般有两种 方

法 , 一种是先假定流量是已知

的 , 自由面采用上面所介绍的

迭代方法迭代求解 , 收敛后再

通过端面上速度的积分对流量

进行 校核修正 , 这称为单 点

法。另一种是同时对流量与自

由面 进行迭代 修正 , 称双 点

法。下面介绍双点迭代法 , 其

主要步骤如下 :

(1) 假定流量的近似值为 Q( o)

, 自由面形状的初始曲线为 y = h( o )

( x )。

(2) 在给定的 Q( n)

值与 y = h( n)

( x ) , ( n = 0 , 1 , 2⋯ ) , 将自由面的

831

边界条件提为

在 AB 上 , ψ= Q( n )

(4-37)

在 CD 上 ,�ψ�n

= 2 g ( H - h( n)

) (4-38)

(3) 根据边界条件式 (4-29a)

及式 (4-37)、式 (4-38 ) Ω内按常规有限元方法求解 Laplace 方程

即可获得在给定 Q( n )

值与 y = h( n )

( x) ψ( n )

(4) 校核自由面条件 , 在 AB 上记

Δh( n)

= H - h( n )

+v

2AB

2

在 CD 上记

Δψ( n )

= Q( n )

- ψ( n )

CD

若 |Δh( n)

|、 |Δψ( n )

| (也可以用相对误差值 ) 小于给定的误差 , 则求解成功 , 不

然要对 Q( n )

值与 y = h( n )

( x) 。

(5) 如何对 Q( n )

值与 y = h( n )

( x ) , 对于收敛速度有密切关系。不妨

以闸门下端出流点 C 计算所获得的流函数值ψ( n )C 作为下一次流量调整值

Q( n + 1 )

= ψ( n )C

这是考虑到 C 点的几何位置是确定的 , 而自由面条件已由 ( 4-38) 。这样

调整可保证自由面上两个条件在 C 点同时满足。文献表明 , 这样的修正方式是

有效的。

自由面位置的调整方式 , 可在已调整的 Q( n + 1 )

基础上进行 , 基本思想是假定

自由面上每一个结点 i 沿原来自由面的法线方向增加一个修正值Δni , 使

Δni =Q

( n + 1 )

i - ψ( n )

i

�ψ�n

( n )

i

=Q

( n + 1 )

i - ψ( n )

i

2 g ( H - h( n)i )

图 4-18 自由面位置调整

记结点 i 处的自由面切线与 x 轴夹角

为αi , 调整后 , i 点的坐标 xi , yi 的调整

增量分别为 ( 见图 4-18)

Δxi = - Δni sinαi

Δyi =Δni cosαi

于是可获得新的自由面位置

y = h( n + 1 )

( x )

(6) 重复迭代第 (2) 步至第 (5) 步 , 直至获得收敛解。

采用这种流量与自由面同步进行的两点迭代方法 , 计算平底垂直平板闸门孔

口出流的情形 , 采用图 4-19 所示的有限元网格 , 经 10~12 次迭代计算 , 即可达

931

到收敛的要求。而流量与自由面分开的单点迭代方法 , 约需 70 次。

图 4-19 垂直平板闸门的有限元网格

4.2 不可压粘性流动

在自然界中 , 真实的流体都是有粘性的。虽然某些问题 , 如绕流问题、具有

自由面的水力学问题可以采用无粘性理想流体的模型。但对另外一些问题 , 例如

求解运动流体中的粘性阻力 , 涡旋扩散的问题以及其他速度梯度很大的流动 , 则

必须考虑粘性的存在。粘性流体比较理想流体在力学模型和数学描述上的最主要

差别表现在粘性流动中存在粘性应力以及固壁边界上必须满足无滑移条件 , 即粘

性流体会粘附于固壁 , 和固壁具有相同的速度。由于粘性的存在 , 流体的运动一

般是有旋的。

液体或低速运动的气体一般可看作是不可压缩流体 , 它们所产生的粘性流

动 , 称为不可压粘性流动。这是流体力学中除不可压理想流体外最重要的典型模

型。在数学上 , 通过速度散度为零的连续性方程以及著名的 Navier—Stokes 方程

进行描述。Navier—Stokes 方程是流体力学中很重要的数学方程 , 但它是很难求

解的 , 即使采用数值计算的方法 , 当雷诺数较大时 , 也存在解的稳定性问题。

当采用有限元方法求解不可压粘性流动时 , 与位势流动相比较 , 主要有两点

重要区别。一是不可压粘性流动求解的是偏微分方程组 , 常用的基本变量式中 ,

求解函数有速度分量、压力 , 而不像位势流动可简化为求解流函数或速度势函

数。第二个区别是不可压粘性流动的运动方程是非线性微分方程 , 通过有限元分

析而建立起的有限元方程是非线性代数方程 , 求解要困难得多 , 还存在解的收敛

性问题 , 这是必须要引起注意的。

4.2.1 数学方程与边界条件

采用有限元方法求解不可压粘性流动时 , 有下面三种数学方程 :

1 . 基本变量式

以流场的基本变量 : 速度 v , 压力 p 作为求解函数的数学方程 , 称为基本变

量式。它是由连续性方程和 Navier—Stokes 方程组成 , 矢量形式可表示为

041

div v = 0

�v�t

+ v·è v = f -1ρ

grad p + νè2

v

平面二维问题在笛卡尔坐标系中的分量形式为

�v1

�x1

+�v2

�x2

= 0

�v1

�t+ v1

�v1

�x1+ v2

�v1

�x2= f1 -

�p�x1

+ν�

2v1

�x2

1

+�

2v1

�x2

2

�v2

�t+ v1

�v2

�x1+ v2

�v2

�x2= f2 -

�p�x2

+ν�

2v2

�x21

+�

2v2

�x22

(4-39)

边界条件可根据流场具体情况 , 在边界上给出速度值或压力值。固壁上 , 速

度应满足无滑移条件 , 对静止固壁有

v1 = v2 = 0

在流体入口或出口的边界线上 , 如已知速度分量为 ( v1 , v2 ) , 则有

v1 = v1 , v2 = v2

或者给出压力边界条件 , 若已知边界上的压力的法向分量 pn 和切向分量 ps , 则

- p + 2μ�vn

�n= pn

μ�vn

�s+�vs

�n= ps

(4-40)

2 . 流函数涡量式

以流函数 ψ和涡量ω作为求解函数的数学方程 , 称为流函数涡量式。这种

形式只适用于二维问题。

由不可压的连续性方程 , 可引进流函数 ψ, 满足

�ψ�x2

= v1 �ψ�x1

= - v2

并定义涡量

ω=�v2

�x1-�v1

�x2

对 N—S 方程两边取旋度 , 并假定质量力 f 有势 , 再采用上述流函数 ψ与ω

的关系式 , 不难推导出流函数 ψ和涡量ω所满足的方程

�2ψ

�x2

1

+�

�x2

2

= - ω

�ω�t

+�ψ�x2

�ω�x1

-�ψ�x1

�ω�x2

= ν�

�x21

+�

�x22

(4-41a)

(4-41b)

141

如果采用矢量形式 , 可表示为

è2ψ= - ω

�ω�t

+ v·gradω= νè2ω

边界条件要求在边界上给出流函数 ψ或�ψ�n

, 涡量 ω或�ω�n

3 . 流函数式

以流函数为求解函数的方程式称为流函数式。将流函数涡量式中式 ( 4-41a)

代入式 ( 4-41b) , 即得 �

��t

�2ψ

�x21

+�

�x22

+�ψ�x2

�3ψ

�x31

+�

�x1�x22

-�ψ�x1

�3ψ

�x21�x2

+�

�x32

=ν�

�x41

+ 2�

�x21�x

22

+�

�x42

(4-42)

边界条件要求在边界上给出流函数及其导数值。

在上述三种数学方程中 , 流函数式虽然求解函数只有一个 , 但它是一个高阶

偏微分方程 , 有限元求解时 , 对单元基函数的选取比较复杂 , 因此较少采用。流

函数涡量式由于求解函数只有两个 , 因此有限元求解时 , 是经常采用的形式。它

的困难是涡量的边界条件不易给出。基本变量式虽然求解函数较多 , 但具有物理

意义明确的优点 , 因此也是常采用的形式。

4.2.2 基本变量式的有限元解

由基本变量式 ( 4-39) 出发 , 建立 Galerkin 积分表达式

∫Ω

�vj

�xj

δpdΩ = 0 (4-43a)

∫Ω

ρ�vi

�t+ vj

�vi

�xj- fi +

�p�xi

- μ�

2vi

�xj�xjδvi dΩ = 0 (4-43b)

( i = 1 , 2 ; j 求和 )

应该指出 , 由于式 ( 4-39 ) v1 、 v2 、 p 的偏微分方程组 , 因此建立

Galerkin 积分表达式时 , 要注意正确选用权函数 , 连续性方程和动量方程的权函

数应当分别选取压力 p 和速度 vi 的插值基函数。从物理上看 , 式 ( 4-43a)

场中由于流体体积膨胀克服正压力所产生的虚功率为零 ; 式

的虚功率原理。在进行有限元求解时 , 权函数 δp 表示压力 p 所选取的插值基函

数 , δvi 表示速度分量 vi 所选取的插值基函数。

不妨假定边界条件为 : 在速度本质边界 Γ1 上

241

vi = vi ( i = 1 , 2) (4-44)

在压力本质边界 Γ2 上给出压力值。设 Γ2 上法向量的分量为 nj ( j = 1 , 2) , 则有

pi j nj = pi ( i = 1 , 2 ) (4-45a)

其中 pi j是应力张量分量

pi j = - pδi j + μ�vi

�xj+�vj

�xi(4-45b)

下面推导式

44) , 式 (4-43a)

∫Ω

�vj

�xjδpdΩ �=∫

Ω

��xj

( vjδp) - vj��xj

(δp) dΩ

=∮Γ

nj vjδpdΓ -∫Ω

vj��xj

(δp) dΩ

=∫Γ

1

vnδpdΓ -∫Ω

vj

��xj

(δp) dΩ = 0

上式中 vn 是本质边界Γ1 上的法向速度分量

vn = vj nj

于是式 (4-43a)

∫Ω

vj��xj

(δp) dΩ =∫Γ

1

vnδpdΓ (4-46)

下面再推导式

性力项 , 利用连续性方程和式

��p�xi

- μ�

2vi

�xj�xj

=�p�xi

- μ�

2vi

�xj�xj+

��xi

�vj

�xj

=��xj

pδi j - μ�vi

�xj+�vj

�xi

= -�pi j

�xj( i = 1 , 2 ; j 取 1 , 2 求和 )

将上式代入式 (4-43b)

难获得 h

∫Ω

ρ�vi

�t+ vj

�vi

�xj- fi -

��xj

pi j δvi dΩ

=∫Ω

ρ�vi

�t+ vj

�vi

�xj- fi -

��xj

pi jδvi + pi j��xj

(δvi ) dΩ

341

=∫Ω

ρ�vi

�t+ vj

�vi

�xj- fi + pi j

��xj

(δvi ) dΩ -∮Γ

nj pi jδvi dΓ

=∫ρ�vi

�t+ vj

�vi

�xj

- fi + pi j��xj

δvi dΩ -∫Γ

2

piδvi dΓ = 0

注意到应力张量 pi j的表达式 (4-45b) , 可写出运动方程的 Galerkin 弱解积分表达式

∫Ω

ρ�vi

�t+ vj

�vi

�xj

δvi + - pδi j + μ�vi

�xj

+�vj

�xi

��xj

δvi dΩ

=∫Γ

2

piδvi dΓ +∫Ω

ρfiδvi dΩ (4-47)

( i = 1 , 2 ; j 取 1 , 2 求和 )

由于速度分量 vi 和压力 p 在积分表达式中具有不同导数阶次 , 因此它们相应的

单元基函数不应取相同的阶次 , 通常 vi 的单元基函数阶次应比压力的单元基函

数阶次高一次。有文献报导 , 这样做可获得较高精度。假定 vi 与 p 在单元中的

近似函数为 &

vi = vi jΦj ( i = 1 , 2 ; j 求和 ) (4-48a)

p = pkΨk ( k 求和 ) (4-48b)

上式中 vi j是 vi 在单元中 j 结点上的函数值 , j = 1 , 2⋯ Iv ) ; Iv 是单元中速度的结

点总数。 pk 是 p 在单元中 k 结点上的函数值 , k = 1 , 2⋯ Ip ; Ip 是单元中压力的

结点总数。Φj = Φj ( x1 , x2 ) 是速度的单元插值基函数 , Ψk = Ψk ( x1 , x2 ) 是

压力的单元插值基函数。权函数δvi , δp 分别为 �

δvi = Φj ( j = 1 , 2⋯ Iv ) (4-49a)

δp = ψk ( k = 1 , 2⋯ Ip ) (4-49b)

将式

元有限元方程 ( 为表达方便 , 下面的一些式中下标的字母已作了一些变化 )

∫Ω

( e)

ρ��t

( vαjΦj ) + vβlΦl��xβ

( vαjΦj ) Φi

- pmψmδαβ

�Φi

�xβ+ μ

��xβ

( vαjΦj ) +�

�xα( vβjΦj )

�Φi

�xβdΩ

=∫Γ

( e)2

pαmψmΦi dΓ +∫Ω

( e)

ρfαΦi dΩ

∫Ω

( e)

vβjΦj

�ψk

�xβdΩ =∫

Γ( e)1

vn jΦjψk dΓ

将上式整理成常微分方程组形成的单元有限元方程

441

A( e)

i j v·αj + B( e)

iβj l vαj vβl + C( e)

αi m pm + D( e )

αiβj vβj = E( e)

αi Fkβj vβj = Gk

上式中 :α= 1 ,2 ; i = 1 , 2⋯ Iv ; k = 1 ,2⋯ Ip ;β取 1 , 2 求和 ; j、l 取 1 ,2⋯ Iv 求和 ; m 取

1 ,2⋯ Ip 求和。各个系数表达式如下 :

A( e)i j =∫

Ω( e)

ρΦiΦj dΩ

B( e)

iβj l =∫Ω

( e)

ρΦi

�ψj

�xβΦl dΩ

C( e)αi m =∫

Ω( e)

δαβ

�Φi

�xβψm dΩ

D( e )αiβj =∫

Ω( e)

μ�Φi

�xrδαβ

�Φj

�xr+ δrβ

�Φj

�xαdΩ

E( e)αi =∫

Ω( e)

ρfαΦi dΩ +∫Γ

( e)2

pαmψmΦi dΓ

F( e)

kβj =∫Ω

( e)

�ψk

�xβΦj dΩ

G( e)k =∫

Γ( e)1

vn jΦjψk dΓ

按照单元结点号和总体结点号之间的对应关系 , 进行总体合成 ( 参见 2.2.5、

2.3.5 小节 ) 可获得总体有限元方程

An r v·αr + Bnβr s vαr vβs + Cαn t pt + Dαnβs vβs = Eαn (4-50a)

Fmβr vβr = Gm (4-50b)

上式中α= 1, 2 ; n = 1 , 2⋯ Nv ; m = 1 , 2⋯ Np ; β取 1, 2 求和; r, s 取 1, 2⋯ Nv

求和; t 取 1, 2⋯ Np 求和。Nv 、 Np 分别是求解区域中速度结点和压力结点总数。

下面讨论总体有限元方程式 (4-50) 。

1 . 定常流动解

对于定常流动 , 有限元方程式 (4-50)

Bnβr s v1 r vβs + C1 nt pt + D1 nβs vβs = E1 n

Bnβr s v2 r vβs + C2 n t pt + D2 nβs vβs = E2 n

Fmβs vβs = Gm

(4-51a)

(4-51b)

(4-51c)

上式中 n = 1 , 2⋯ Nv ; m = 1 , 2⋯ Np 。β、 r、 s、 t 是求和指标。求解的未知量

是 v11 , v12 ⋯ v1 Nv; v21 , v22 ⋯ v2 N

v; p1 , p2 ⋯ pN

p; 因此式 ( 4-51) (2 Nv + Np )

阶的非线性代数方程组 , 可用矩阵形式表示为

541

Bn 1 r s v1 r + D1 n 1 s Bn 2 r s v1 r + D1 n 2 s C1 n t

Bn 1 r s v2 r + D2 n 1 s Bn 2 r s v2 r + D2 n 2 s C2 n t

Fm1 Fm2 0

v1 s

v2 s

pt

=

E1 n

E2 n

Gm

(4-52)

非线性方程组式 (4-52) , 但在雷诺较大时 , 非

线性对流效应更占优势 , 这时应特别注意迭代的收敛性问题。下面介绍两种线性

化迭代方法。

(1) 线性化交替迭代方法

将式 (4-52)

Bn 1 rs v( k)

1 r + D1 n1 s Bn2 rs v( k )

1 r + D1 n 2 s C1 n t

Bn 1 rs v( k)2 r + D2 n1 s Bn2 rs v

( k )2 r + D2 n 2 s C2 n t

Fm1 s Fm 2 s 0

v( k + 1 )1 s

v( k + 1 )2 s

p( k + 1 )

t

=

E1 n

E2 n

Gm

(4-53)

当 v( k )

1 r 、 v( k )

2 r ( r = 1 , 2⋯ Nv ) , 已知时 , 上式是线性代数方程组。第一次迭代时 ,

可取

v( 0 )

1 r = 0 , v( 0 )

2 r = 0 ( r = 1 , 2⋯ Nv )

此时获得的解 , 便是忽略非线性对流项的蠕动解 v( 1 )1 s 、 v

( 1 )2 s 、 p

( 1 )r 。应当注意 , 在

求解线性方程组式 (4-53) , 要根据本质边界条件式 (4-44 )和式 (4-45)

行边界条件处理 ( 参见 2.2.6 和 2.3.6 小节 ) 。当 k 取 0、1 , 2⋯反复交替迭代求

解线性方程组式 ( 4-53) , 即可获得近似解序列

v( k )

1 s , v( k)

2 s , p( k )

t ( s = 1 , 2⋯ Nv ; t = 1 , 2⋯ Np )

不妨记

R( k + 1 )

= maxs, r v

( k + 1 )1 s - v

( k )1 s , v

( k + 1 )2 s - v

( k)2 s , p

( k + 1 )t - p

( k)t

R( k + 1 )

≤ε (ε为给定的精度 )

则所获得的 v( k + 1 )1 s , v

( k + 1 )2 s , p

( k + 1 )t ( s = 1 , 2⋯ Nv ; t = 1 , 2⋯ Np ) 为收敛解。

(2) Newton—Raphson 迭代方法

根据非线性代数方程式 ( 4-52) , 记求解的未知量为

x =

v1 s

v2 s

pt

( s = 1 , 2⋯ Nv ; t = 1 , 2⋯ Np )

方程的余量

R =

R1 n

R2 n

R3 m

( n = 1 , 2⋯ Nv ; m = 1 , 2⋯ Np )

641

上式中

R1 n = 桞( Bnβrs v1 r + D1 nβs ) vβs + C1 n t pt - E1 n

R2 n = ( Bnβrs v2 r + D2 nβs ) vβs + C2 n t pt - E2 n

R3 m = Fmβs vβs - Gm

( n = 1 , 2⋯ Nv ; m = 1 , 2⋯ NP ; β、 r、 s、 t 为求知指标 ) 方程余量的 Jaca-

bi 矩阵为

J =

�R1 n

�v1 i

�R1 n

�v2 i

�R1 n

�pj

�R2 n

�v1 i

�R2 n

�v2 i

�R2 n

�pj

�R3 m

�v1 i

�R3 m

�v2 i

�R3 m

�pj

( n , i = 1 , 2⋯ Nv ; m , j = 1 , 2⋯ Np )

Jacobi 矩阵中各个元素的表达式如下 :

�R1 n

�v1 i= Bnβis vβs + Bn1 r i v1 r + D1 n 1 i

�R1 n

�v2 i

= Bn 2 ri v1 r + D1 n 2 i

�R1 n

�pj= C1 n j

�R2 n

�v1 i= Bn 1 ri v2 r + D2 n 1 i

�R2 n

�v2 i= Bnβis vβs + Bn2 r i v2 r + D2 n 2 i

�R2 n

�pj= C2 n j

�R3 m

�v1 i= Fm1 i

�R3 m

�v2 i= Fm2 i

�R3 m

�pj

= 0

假定 x( k )

是已经求得的第 k 次近似解 , 则第 ( k + 1 ) 次的近似解的迭代计算的

线性化代数方程组为

J( k )

x( k + 1 )

= J( k)

X( k )

- R( n )

(4-54)

初始值 x0可事先选定。在采用数值方法求解式 ( 4-54 ) , 每一次都要先进行边

741

界条件处理 , 处理方法参见 2.2.6。

近似解 v( k)1 s , v

( k )2 s , p

( k)t 的收敛性判别和线性化交替迭代方法相同。需要注

意的是当采用 Newton—Raphson 方法时 , 选择合适的初值对于收敛性很有关系。

在低雷诺数时 , 可将蠕动流的解选作初值 ; 而对高雷诺数情形 , 可考虑用低雷诺

数的数值解作为初值 , 先求出雷诺数稍高一些的数值解 , 依次逐步求出雷诺数更

高的数值解。这样做虽然计算量要增加很多 , 但对收敛性很有好处。

2 . 不定常流动解

不定常流动的有限元方程是由一阶非线性常微分方程组式

数方程组式

为Δt , ti = t0 + iΔt ; 初始时刻 t = t0 , 流场的各个结点的 v( 0 )1 n , v

( 0 )2 n , p

( 0 )m 为给定

已知量。然后按所采用的数值求解方法 , 逐步计算出 ti 时刻的各个结点的 v( i )

1 n ,

v( i )

2 n , p( i )

m ( n = 1 , 2⋯ Nv ; m = 1 , 2⋯ Np ; i = 1 , 2⋯ ) 。根据所采用的求解格

式 , 每计算一个时间步长 , 都要求解一次或几次代数方程组。如果采用隐式格

式 , 虽然稳定性好些 , 但每一步都要求解非线性代数方程组 , 计算量是很大的 ; 因

此一般采用显式格式 , 如 Enler 法格式、中点法的差分格式或 Runge—Kutta 法等 ,

此时每一时间步 , 将求解线性代数方程组。下面给出这几种方法的计算格式。

(1) Euler 法

方程式

v·αr =v

( i + 1 )

αr - v( i )

αr

Δt(α= 1 , 2 ; r = 1 , 2⋯ Nv )

式 (4-50) t = ti 时刻的已知量 , 于是式 (4-50)

线性代数方程

An r v( i + 1 )

αr = An r v( i)

αr +Δt Eαn - Bnβrs v( i )

αr v( i )

βs - Cαn t p( i )

t - Dαnβs v( i )

βs

Fmβr v( i + 1 )βr = Gm

(4-55a)

(4-55b)

(α= 1 , 2 ; n = 1 , 2⋯ Nv ; m = 1 , 2⋯ Np ; β、 r、 s、 t 求和 )

上式中时间步 i = 0 , 1 , 2⋯ ; 由于 v( 0 )αn , p

( 0 )m (α= 1 , 2 , n = 1 , 2⋯ Nv ; m = 1 ,

2⋯ Np ) 是给定的初值 , 因此通过求解线性代数方程式 (4-55 ) t = ti ( i =

1 , 2 , 3⋯ ) 时刻流场中所有结点上的 v( i)

αn , p( i )

m (α= 1 , 2 ; n = 1 , 2 , ⋯ Nv ; m

= 1 , 2 , ⋯ Np )。

(2) 中点法

中点法的差分格式是将每一时间步分成两步计算 , 因此又称两步显格式。每

一时间步将求解下列两组线性代数方程

841

An r v( i +

12

)αr = An r v

( i )αr +

Δt2

Eαn - Bnβr s v( i )

αr v( i )

βs - Cαn t p( i)

t - Dαnβs v( i )

βs

Fmβr v( i +

12

)

βr = Gm

An r v( i + 1 )αr = An r v

( i )αr +Δt Eαn - Bnβr s v

( i +12

)

αr v( i +

12

)

βs - Cαn t p( i +

12

)

t - Dαnβs v( i +

12

)

βs

Fmβr v( i + 1 )

βr = Gm

上面两个方程组中 α= 1 , 2 ; n = 1, 2⋯ Nv ; m = 1 , 2⋯ Np ; β取 1 , 2 求和 ; r、

s 取 1、2⋯ Nv 求和 ; t 取 1 , 2⋯ Np 求和。式中系数 Ea n 、 Gm 应取相应时刻的计

算值。

(3) Runge—Kutta 法

Runge—Kutta 法是精度较高的求解常微分方程组的方法 ; t = 0 的初始时刻 ,

给出各个结点的速度分量值 v( 0 )αr (α= 1 , 2 ; r = 1 , 2⋯ Nv )。压力值将通过方程

求解获得。每一时间步长 , 需要求解 4 次线性代数方程组 , 具体计算格式如下 :

v( i + 1 )αr = v

( i )αr +

Δt6

K( 1 )

αr + αK( 2 )

αr + 2 K( 3 )

αr + K( 4 )

αr (4-56)

(α= 1 , 2 ; r = 1 , 2⋯ Nv ; i = 0 , 1 , 2⋯ )

上式中 v( i )αr 是 ti 时刻各个结点上的速度分量值 , 是已知量。 K

( l )αr ( l = 1 , 2 , 3 ,

4) 将通过下列方程组求解 , 同时计算出 p( i)

t 值。

An r K( l )αr + Cαn t p

lt = - Bnβr s v

lαr v

lβs - Dαnβs v

lβs + Eαn

Fmβr K( l )βr = G

·( l )m

(4-57a)

(4-57b)

(α= 1 , 2 ; n = 1 , 2⋯ Nv ; l = 1 , 2 , 3 , 4)

上式中

v1αr = v

( i )αr v

2αr = v

( i )αr +

Δt2

K( 1 )αr (4-58a)

v3αr = v

( i )αr +

Δt2

K( 2 )αr v

4αr = v

( i )αr +ΔtK

( 3 )αr (4-58b)

(α= 1 , 2 ; r = 1 , 2⋯ Nv )

右端项 Eαn = Eαn ( t( l)

) ; G·( l )

m =��t

Gm ( t ) , ( t = t( l )

) ; t( 1 )

= ti , t( 2 )

= t( 3 )

= ti +Δt2

,

t( 4 )

= ti + 1 。

通过求解式 (4-57 )、式 ( 4-58 ) , 可计算出 K( l )

αr , ( l = 1 , 2 , 3 , 4 ) , 代入式

(4-56) 即可获得 v( i + 1 )αr (α= 1 , 2 ; r = 1 , 2⋯ Nv ) 。同时在 l = 1 的求解时 , 所获得

的 p1

t ( t = 1 , 2⋯ Np ) p( i )

t 。至于 p( i + 1 )

t 将在下一步计算时获得。另外需注意到

在求解式 (4-57) , 要满足给定的边界条件。

941

4.2.3 流函数涡量式的有限元解

根据式 (4-41) , 可写出 Galerkin 积分表达式

∫Ω

�2ψ

�x21

+�

�x22

+ ωδψdΩ = 0

∫Ω

�ω�t

+�ψ�x2

�ω�x1

-�ψ�x1

�ω�x2

- ν�

�x2

1

+�

�x2

2

δωdΩ = 0

假定流函数 ψ的自然边界条件为 : 在 Γv 上有

�ψ�n

= - vs

涡量 ω的自然边界条件为 : 在 Γω 上有

�ω�n

= g

应用 Green 公式 , 并注意到自然边界条件 , 不难推导出 Galerkin 弱解积分表

达式

∫Ω

�ψ�x1

�(δψ)�x1

+�ψ�x2

�(δψ)�x2

- ωδψ dΩ = -∫Γ

v

vsδψdΓ (4-59a)

∫Ω

�ω�t

+�ψ�x2

�ω�x1

-�ψ�x1

�ω�x2

δω+ ν�w�x1

�(δω)�x1

+�ω�x2

�(δω)�x2

=∫Γω

νgδωdΓ (4-59b)

假定 ψ、ω在单元中的近似函数为

ψ= ψj ( t )Φj (4-60a)

ω= ωj ( t) Φj (5-60b)

其中ψj ( t) 、ωj ( t ) j 结点上在 t 时刻的流函数值与涡量值 ; Φj = Φj

( x1 , x2 ) 。将式 (4-60 )代入式 (4-59) , 并注意到权函数 δψ=

Φi , δω= Φi , 即可获得单元有限元方程

A( e)i j ω·j + B

( e)i jkψjωk + C

( e)i j ωj = D

( e )i

E( e )i j ψj - F

( e )i j ωj = G

( e)i

式中 i = 1 , 2⋯ I ; j 取 1 , 2⋯ I 求和 ; I 是单元中的结点总数。各项系数为

A( e)i j =∫

Ω( e)

ΦiΦj dΩ

B( e)i j k =∫

Ω( e)

Φi

�Φj

�x2

�Φk

�x1-�Φj

�x1

�Φk

�x2dΩ

C( e)

i j =∫Ω

( e)

ν�Φi

�x1

�Φj

�x1+�Φi

�x2

�Φj

�x2dΩ

051

D( e )

i =∫Γ

( e)ω

νgΦi dΓ

E( e)i j =∫

Ω( e)

�Φi

�x1

�Φj

�x1+�Φi

�x2

�Φj

�x2dΩ

F( e)i j =∫

Ω( e)

ΦiΦj dΩ

G( e)

i = -∫Γ

( e)v

vsΦi dΓ

对上述单元有限元方程进行总体合成 (参见 2.2.5 和 2.3.5 小节 ) , 即可获得总

体有限元方程

An mω·m + Bnm lψmωl + Cn mωm = Dn

En mψm - Fnmωm = Gn

(4-61a)

(4-61b)

这是一组常微分方程与代数方程联立的方程组 , 式中 n = 1 , 2⋯ N ; m , l 取 1 ,

2⋯ N 求和。如果是不定常问题 , 可通过对常微分方程式 (4-61 ) ,

获得不同时刻 , 在各个结点上的流函数值 ψn 。和涡量值ωn , ( n = 1 , 2⋯ N)。如

果是定常问题 , 可对非线性代数方程方程式 (4-58) , 获得各个结点

上的流函数值 ψn 和涡量值ωn ( n = 1 , 2⋯ N)。方程式 (4-61 ) , 和

基本变量式的有限元方程式 ( 4-50) , 可参阅 4.2.2 小节

中所介绍过的方法。

流函数涡量式由于求解函数只有 ψ、ω, 因此是经常采用的。但它的困难是

ω的边界值不直观 , 不容易直接给出。下面讨论 ω边界条件的确定。

非固壁上 ω或�ω�n

的值 , 可根据流场的具体边界特点定出。如图 4-19 所示的

典型边界 , 来流入口的边界线 ab 上 , 由于速度均匀分布 , 可认为 ω= 0; 出口边

界线 cd 上 , 速度分布一般不能认为是均匀的 , 但可以认为�ω�n

= 0。

固壁边界线如 bc 和 afed 上的涡量ω值 , 一般通过内部的流函数值和涡量值

确定。设固壁上任一点 w , 沿着内法线 , 距离为 l 处取一点为 i , l 为一个小量

(图 4-20 )。

不妨将 i 点的流函数值ψi 在 w 点进行 Taylor 展开 , 并略去 l3以上项 , 则

ψi = ψw +�ψ�η w

l +12

�2ψ

�η2

w

l2

+16

�3ψ

�η3

w

l3

(4-62)

由于固壁上速度为零 , 因此

�ψ�η w

= ( vξ) w = 0 (4-63)

151

图 4-20 涡量在流场出入口上的边界条件图 4 -21

又根据式 (4-41a) vξ = vη = 0 , 于是有

ωw = -�

�ξ2 +

�2ψ

�η2

w

= -�vη�ξ

+�

�η2

w

= -�

�η2

w

(4-64)

�ω�η w

= -��η

�2ψ

�ξ2 +

�2ψ

�η2

w

= -�

2vξ

�ξ2 +

�3ψ

�η3

w

= -�

�η3

w

(4-65)

将式 (4-63)至式 ( 4-65) 代入式 (4-62) , 得

ψi = ψw -l2

2ωw -

l3

6�ω�η w

(4-66)

考虑到 l 是小量 , 式 ( 4-66)

�ω�η w

=ωi - ωw

l

则可得

ωw = -ωi

2+

3 (ψi - ψw )

l2 (4-67)

式 (4-67) , 若内部的流函数值已知 , 则边界上的涡量值可通式 ( 4-67 )

的涡量值建立联系。

式 (4-67) ω在固壁上的边界条件 , 式中的 ωi , ψi 是流场中紧靠壁面的结

点上的函数值 , 是未知量 , 而 ψw 是壁面上的流函数值 , 通常是容易给出的。

4.2.4 流函数式的有限元解

为推导流函数式的 Galerkin 弱解积分表达式 , 不妨将式

DD t

(è2ψ) - νè

4ψ= 0

式中

DD t

=��t

+�ψ�x2

��x1

-�ψ�x1

��x2

251

相应的 Galerkin 强解积分表达式为

∫Ω

DD t

(è2ψ) - νè

4ψδψdΩ = 0

利用 Green—Gauss 公式进行分部积分

∫Ω

DD t

(è2ψ) - νè

4ψ δψdΩ

=∫Ω

èDD t

( è ψ)δψ -DD t

( è ψ)·è (δψ) dΩ

-∫Ω

ν{è [ (è3ψ)δψ] - è (è

2ψ·è δψ) + è

2ψ·è

2(δψ)}dΩ

=∫Ω

-D

D t(è ψ)·è (δψ) - è

2ψ·è

2(δψ) dΩ

+∫Γ

DD t

�ψ�n

- νè2 �ψ�n

δψ+ νè2ψ·δ

�ψ�n

dΓ = 0

假定在边界 Γ上给定速度值 ( vn , vs ) , 即在 Γ上给出本质边界条件

ψ = ψ0 +∫M

0vn dΓ = ψ

�ψ�n

= - vs

则在 Γ上应有δψ= 0 , δ�ψ�n

= 0 , 于是 Galerkin 积分表达式可改写为

∫Ω

DD t

( è ψ)·è (δψ) + νè2ψ·è

2(δψ) dΩ = 0

不妨设 ψ的单元近似函数为

ψ= ψi ( t )Φi

代入 Galerkin 积分表达式 , 即可获得单元有限元方程

A( e)i j ψ·

j + B( e )i jkψjψk + C

( e)i j ψj = 0

式中

A( e)

i j =∫Ω

( e)

�Φi

�x1

�Φj

�x1+�Φi

�x2

�Φj

�x2dΩ

B( e)i j k =∫

Ω( e)

�Φi

�x1

�Φj

�x2+�

2Φk

�x21

-�Φj

�x1

�2

xk

�x1�x2

+�Φi

�x2

�Φj

�x2+

�2Φk

�x1�x2-�Φj

�x1

�2Φk

�x2

2

351

C( e)

i j = ν∫Ω

( e)

�2Φi

�x2

1

+�

2Φi

�x2

2

�2Φj

�x2

1

+�

2Φj

�x2

2

进行总体合成 , 可得总体有限元方程

An mψ·

m + Bn mlψmψl + Cnmψm = 0

式中下标 n = 1 , 2⋯ N; N 是结点总数。求和指标 m , l 取 1 , 2⋯ N 求和。这是

一组非线性常微分方程组 , 对时间项离散后 , 可采用 4.2.2 小节中所介绍的线性

化迭代法求解。需要注意 , 在每步迭代时 , 必须满足 ψ的本质边界条件。如果

是定常问题 , 则对非线性的总体有限元代数方程进行计算。

流函数式的有限元解 , 具有只含有一个场变量的优点 , 可以使计算程序相对

简单一些。但是 , 由于积分表达式中的被积函数要求二阶导数可积 , 因此要求采

用高阶的单元基函数 , 内存量会增大 , 这是需要注意的。

4.3 浅水环流

沿海的海域或大型的湖泊 , 水深相对水面区域尺度而言是小量 , 这种水体中

的流动问题 , 一般称为浅水环流问题。本节将根据浅水的特点 , 提出浅水环流的

物理模型 , 建立描述这种流动的浅水方程 , 然后进行有限元分析 , 并给出应用实

例。

浅水环流模型是应用很广泛的流体力学模型 , 湖泊环流、海洋环流、河口海

湾潮汐、风暴潮等都可采用这个模型。

对于浅水环流问题一般没有太大必要采用更为复杂的三维模型进行计算 , 这

不仅因为三维问题往往有很多难以克服的计算上的困难 , 而且很多情况下 , 实际

问题也不易提供三维计算所必要的数据。

4.3.1 物理模型

海域或湖泊水体的流动如果不考虑温度变化对流动的影响 , 将遵循流体力学

的不可压流动的 N—S 方程

�v1

�x1

+�v2

�x2

+�v3

�x3

= 0 (4-68a)

ρ�vk

�t+ v1

�vk

�x1+ v2

�vk

�x2+ v3

�vk

�x3=ρFk -

�p�xk

+�τk1

�x1+�τk2

�x2+�τk3

�x3

( k = 1 , 2 , 3) ( 4-68b)

上式中 { xi } 是给定的笛卡尔坐标 , 一般将静止水平面取为 x3 = 0; vk 是速度分

量 ; τkj 是粘性应力张量分量 ; Fk 是科氏力分量 , 在北半球有

F1 = H2ωsinφ v2

F2 = - 2ωsinφ v1

451

F3 = 0

ω是地球自转角速度 , φ是纬度。

如果直接通过上述 N—S 方程求解海域或湖泊的水体运动 , 将存在下列困难:

1) 水体的自由面位置是未知的。

2) 潮水升降时 , 水的深度有较大的变动。

3) 作为三维问题 , 求解函数和变量过多 , 计算时要求的内存量和计算时间

都是很大的。

因此 , 必须根据浅水环流的特点 , 提出简化的物理模型 , 从而建立相应的简

化的浅水环流方程。

简化的物理模型主要有下列四点假定 :

(1) 静水压力假定

在浅水环流问题中 , v3 n 1 , 因此由式 (4-68b) k = 3) 可得

�p�x3

= - ρg

积分后有

图 4-22

p = ρg(η - x3 ) + pa (4-69 )

式中 pa 是水面的大气压 , η是相对

水平面 ( 流体静力学位置 ) 的高程

η= η( x1 , x2 , t)

(参看图 4-22 )。式 (4-69)

力公式。

(2) 水面长波假定

水面方程为

x3 = η( x1 , x2 , t )

法线方向的单位矢量为

ns

=1

�η�x1

2

+�η�x2

2

+ 1

-�η�x1

, -�η�x2

, 1

假定水面波是长波 , 波长远大于水深 , 水表面的切线斜率与 1 相比是小量 , 因此

ns

= -�η�x1

, -�η�x2

, 1 (4-70)

(3) 平均化处理

浅水环流中一个重要简化是引进水深方向的平均量 , 建立平均量方程 , 就可

将三维问题化为二维问题。

551

定义平均速度

vk =1H∫

η

- hvk d x3 ( k = 1 , 2) (4-71)

式中 H = h + η为水深 (图 4-22)。

根据平均速度定义 , 应有

vk ( x1 , x2 , x3 , t) = vk ( x1 , x2 , t ) + v′k ( x1 , x2 , x3 , t ) ( k = 1 ,2)

式中 v′k 是关于平均速度的脉动量。

(4) 忽略水体中的粘性应力的变化

浅水环流中由于水体中的速度变化相当缓慢 , 通常都忽略水体中粘性应力的

导数项。不过 , 自由面上的风应力和底面的粘性摩阻应力仍要考虑。

4.3.2 边界条件

边界条件分为两部分 , 一部分是方程进行平均化处理时要用到的自由面和底

面条件 , 另一部分是求解浅水方程时要用到的平面区域上的边界条件。在后面的

各个公式或方程中 , 为简便起见 , 把物理量 f 在自由面上和底面上的值分别记为

fs

= f x3

= η( x1

, x2

, t )

fb

= f x3

= - h ( x1

, x2

)

1 . 自由面和底面条件

自由面 S 记为x3 = η( x1 , x2 , t )。根据长波假定 , 自由面上的法线单位矢量

ns

= -�η�x1

, -�η�x2

, 1

因此自由面上切应力的表达式为

τsk = - τ

sk1�η�x1

- τsk2�η�x2

+ τsk3 ( k = 1 , 2) (4-72)

它们通常是由于水面上的风引起的 , 如果记

τsk = ρHτ

sk ( k = 1 , 2) (4-73)

则τsk 可以由下列风引力表达式给出

τsk =

γ2ρa

ρwk w

21 + w

22

H( k = 1 , 2 )

其中 wk 是风在水平面上 xk ( k = 1 , 2) ; γ2是无量纲系数 , 称风

力剪切系数 , 参考文献 [ 2] 中给出 γ2

= 0.0026; ρa 是空气的密度。

自由面上根据运动学条件 , 应有水面运动学关系式

vs

3 =DηD t

=�η�t

+ vs

1�η�x1

+ vs

2�η�x2

(4-74)

在底面上 , 由于底部曲面 x3 = - h ( x1 , x2 )

651

nb

=1

�h�x1

2

+�h�x2

2

+ 1

�h�x1

,�h�x2

, 1

假定底面比较平缓 , 从而有

nb≈

�h�x1

,�h�x2

, 1

因此底面应力的表达式为

τbk = τ

bk1�h�x1

+ τhk2�h�x2

+ τbk3 ( k = 1 , 2) (4-75)

底面的应力是由于粘性摩阻引起的 , 如果记

τbk = ρHτ

bk ( k = 1 , 2) (4-76)

则τbk 可以由下面 Chezy 公式给出

τbk =

gc

2

vk v21 + v

22

H( k = 1 , 2)

式中 , g 是重力加速度 ; c 是摩阻系数 ( Chezy 系数 ) , 一般和所计算的海湾 , 湖

泊的深度等条件有关 , 要由实验测定 , c 的单位是 m12�/s。

J.J. 康纳在用有限元方法计算 Solent 的潮汐问题中 , 取 c = 10m1�/2�/s

[ 2 ]。 vk 是

水深方向平均速度分量。

底面上的速度遵循粘性无滑移条件

vbi = 0 ( i = 1 , 2 , 3) (4-77)

2 . 平面水域的边界条件

设水体平面区域为 Ω, 边界为 Γ。边界条件通常分为三类 : 一类为陆地型

边界 , 记为 Γ1 ; 在这类边界上 , 速度 (或流量 ) 为零 ; 第二类是河口型边界 ,

记为 Γ2 ; 在此边界上给出速度 (或流量 ) 值 , 是求解水体区域的流出或流入的

边界 ; 第三类是海洋型边界 , 记为 Γ3 ; 这类边界是水体边界 , 速度 ( 或流量 )

是未知的 , 一般给出水面高程条件。

4.3.3 浅水方程

将方程式 ( 4-68) , 并沿水深方向进行积

分 , 进行平均化处理 , 可建立关于沿水深方向的平均物理量的浅水方程。

方便起见 , 不妨记物理量 f = f ( x1 , x2 , x3 , t ) 沿水深方向的积分平均量

f = f( x1 , x2 , t ) =1H∫

η

- hf ( x1 , x2 , x3 , t )d x3 (4-78)

上式中 , 水深

751

H = H( x1 , x2 , t ) = η( x1 , x2 , t ) + h( x1 , x2 )

其中 η、 h 分别是水体自面和底面相对静止水平面 ( 即 x3 = 0 的平面 ) 的高程

(图 4-22 )。

根据变限积分的微分公式 , 不难推导出微分的平均量公式。

1) H�f�xk

=��xk

( H f ) -�η�xk

fs

-�h�xk

fb

(4-79a)

2) H�f�t

=��t

( H f ) -�η�t

fs

(4-79b)

3) H�f�x3

= fs

- fb

(4-79c)

如前所述 , fs、 f

b分别表示物理量在自由面和底面上的函数值。

根据式 (4-78)给出的平均量的表达式及式 ( 4-79) , 并注意

到边界条件中给出的式 (4-72 )至式 (4-77) , 可以将式 (4-68) , 获

得下列平均化浅水方程 ( 详细推导可见参考书 [ 1] ) :

�η�t

+��x1

( H v1 ) +��x2

( H v2 ) = 0

�v1

�t+ v1

�v1

�x1+ v2

�v1

�x2= 2ω

*v2 - g

�η�x1

+τs1 - τ

b1

�v2

�t+ v1

�v2

�x1+ v2

�v2

�x2= - 2ω

*v1 - g

�η�x2

+τs2 - τ

b2

简洁起见 , 将平均量 vk , τk 上方一横略去 , 即可获得如下形式的浅水方程

�η�t

+��x1

[ (η+ h) v1 ] +��x2

[ (η+ h) v2 ] = 0 (4-80a)

�v1

�t+ v1

�v1

�x1

+ v2

�v1

�x2

+ g�η�x1

= 2ω*

v2 +τs1 - τ

b1 (4-80b)

�v2

�t+ v1

�v2

�x1

+ v2

�v2

�x2

+ g�η�x2

= - 2ω*

v1 +τs2 - τ

b2 (4-80c)

上述式中 ω*

= ωsinφ是纬度为φ的水体随地球的转动角速度 , ω是地球转动角

速度 ; τbk , τ

sk 分别是底面与自由面上的粘性应力平均量

τbk =

gc

2

vk v21 + v

22

H ( k = 1 , 2 )

τsk =

γρa

ρwk w

21 + w

22

H ( k = 1 , 2)

其中 c、γ分别是 Chezy 系数和无量纲风应力系数 ; ρa 、ρ分别是空气与水的密

度 , wk 是风在水面上的速度分量。

851

浅水方程式 (4-80) :

(1) 在陆地型边界 Γ1 上

vk = 0 ( k = 1 , 2) (4-81a)

(2) 在河口型边界 Γ2 上

(η+ h) vn = qn (4-81b)

其中 qn 是河口流入或流出求解区域的单位边界长度上的流量 ; 通常河口边界在

求解区域整个边界上是很小的一段 , 因此 Γ2 上的 qn 值可以采用河口的平均流

量值 , vn 是河口的平均化法向速度。

(3) 在海洋型边界 Γ3 上

η= η ( t ) (4-81c)

其中 η是已知的水面高程 , 通常是海域的潮位高度。

初始条件 : t = 0 时

vk = v( 0 )k

η= η( 0 )

其中 v( 0 )k 、η

( 0 )是初始时刻已知的水体速度分量和水面高度 , 通常可假定为 0。

4.3.4 浅水方程的有限元分析

相应连续方程式 ( 4-80a) 的 Galerkin 积分表达式为

∫Ω

�η�t

+��x1

[ (η+ h) v1 ] +��x2

[ (η+ h) v2 ] δηdΩ = 0

利用 Green—Gauss 公式 , 并注意到边界条件式 ( 4-81 ) , 可写成弱解形式的积分

表达式

∫Ω

�η�t

δηdΩ -∫Ω

(η+ h) v1�(δη)�x1

+ v2�(δη)�x2

dΩ = -∫Γ

2

qnδηdΓ (4-82a)

相应动量方程

∫Ω

�v1

�tδv1 dΩ +∫

Ω

( v1

�v1

�x1+ v2

�v1

�x2+ g

�η�x1

- 2ω*

v2 - τs

1 + τb

1 δv1 dΩ = 0

(4-82b)

∫Ω

�v2

�tδv2 dΩ +∫

Ω

v1

�v2

�x1+ v2

�v2

�x2+ g

�η�x2

+ 2ω*

v1 - τs

2 + τb

2 δv2 dΩ = 0

(4-82c)

由上述式

设单元中的基函数为 {Φα} , 则单元中的近似函数为

η= ηαΦα

v1 = v1αΦα

951

v2 = v2αΦα

将底面高程 h = h ( x1 , x2 ) 及底面应力τb

j 也用基函数表示

h = hαΦα

τb

j = τb

jαΦα ( j = 1 , 2)

上式中下标 α是求和指标 , hα 表示单元中α结点上的底面高程值 , 是已知量 ;

而τbjα是α结点上底面切应力的分量值 , 由 Chezy 公式给出的表达式为

τbjα =

gvjα v21α + v

22α

c2

( hα + ηα)

将上述近似函数表达式代入积分表达式 ( 4-82) 式中 , 积分区域为单元子区

域 Ω( e)

, 即可获得单元有限元方程

M( e )αβη·β + C

( e )iαβγ ( hγ + ηγ ) viβ = B

( e)α

M( e )αβ v·1β + K

( e )iαβγviβv1γ + H

( e)1αβηβ + R

( e )1 αβv2β + S

( e )αβτ

b1β = T

( e)1α

M( e )

αβ v·2β + K( e )

iαβγviβv2γ + H( e)

2αβηβ + R( e )

2 αβv1β + S( e )

αβτb

2β = T( e)

上式中求和指标 i 取 1、2 求和 , β、γ取 1、2⋯ I 求和 ; α= 1 , 2⋯ I ( I 为单元

结点总数 )。

各项系数分别为

M( e )

αβ = J∫Ω

( e)

ΦαΦβdΩ

C( e)iαβγ =∫

Ω( e)

�Φα

�xi

ΦβΦγdΩ

B( e )α = -∫

Γ( e)1

qnΦαdΓ

K( e)

iαβγ =∫Ω

( e)

ΦαΦβ

�Φγ

�xidΩ

H( e )jαβ = g∫

Ω( e)

ΦαΦβ

�Φγ

�xj

dΩ ( j = 1 , 2)

R( e )1 αβ = - 2ω�∫

Ω( e)

ΦαΦβdΩ

R( e )2 αβ = 2ω

*∫Ω

( e)

ΦαΦβdΩ

S( e )

αβ =∫Ω

( e)

ΦαΦβdΩ

061

T( e )

jα =∫Ω

( e)

Φατs

j dΩ ( j = 1 ,2 )

按照有限元总体合成方法 ( 参见 2.2.5 和 2.3.5 小节 ) 对上述单元有限元方程的

系数进行累加合成 , 即可获得总体有限元方程

Mnmη·m + Ci n ml ( hl + ηl ) vi m = Bn

Mnm v·1 m + Ki n m l vi m v1 l + H1 nmηm + R1 nm v2 m + Sn mτb1 m = T1 n

Mnm v·2 m + Ki n m l vi m v2 l + H2 nmηm + R2 nm v1 m + Sn mτb

2 m = T2 n

上式中指标 i 取 1、2 求和 , m、 l 取 1、2⋯ N 求和 ; n = 1 , 2⋯ N ( N 是求解区

域结点总数 )。

这组总体有限元方程 , 是含有 3 n 个未知函数的常微分方程组 , 在给定的初

值条件和本质边界条件下 , 可以通过数值方法求解 , 常用的有显式的 Euler 法、

中点法或 Runge—Kutta 法 , 格式可参见 4.2.2 小节。

4.3.5 应用举例

Conner 等采用上面介绍过的浅水环流的物理模型和浅水方程 , 计算了马萨诸

塞 (Massachusetts) 海湾由潮汐引起的海水环流。 ( 参见参考文献 [ 2] )

图 4-23 海湾的地形和有限元网格

所计算的海湾的地形和有限元网

格如图 4-23 所示。虽然海岸边界线

比较曲折 , 但对于这个计算模型所采

用的粗糙的有限元网格 , 可以用直线

段来替代曲折的海岸线。求解区域划

分 73 个单元 , 共 53 个结点。

边界分为两类 , 靠陆地的海岸线

为陆地型边界 , 假定没有流入量 , 边

界速度为零。海洋型边界是指海湾靠

海洋一侧所取的边界 , 边界线两端近

岸结点上随时间变化的潮汐水面高程

数据是已知的 , 联结这两个近岸点之

间的海洋型边界线上的潮汐水面高

程 , 可作线性插值。

作为近似解 , 动量方程中忽略了

对流项 , 这是在许多浅水问题中公认

的一种简化。Coriolis 系数取北纬 42°

处的值 , ω*

= 0.4860×10- 4�/s。

计算初始时刻取高程 η和速度 vi 为零 (“平坦”条件 )。以后随时间增加 ,

161

逐渐将潮汐水面高程条件加上去 , 经计算三个潮汐周期 ( 每个周期为 44600s)

后 , 可获得稳定的周期解。图 4-24 , 图 4-25 给出了两个时刻的水面等高线。计

算获得的潮流速度在图 4-26 , 图 4-27 中给出。

图 4-24 68000s 后表面等高线( 高程数字表示比静水平面高出多少米 ) 图 4-25 90000s 后表面等高线

图 4-26 56000 秒后 (1.25 个潮汐周期) 计算获得的潮流速度

图 4-27 78000 秒后 (1.75 个潮汐周期 ) 计算获得的潮流速度

261

确定时间增量的判据是采用 Frederich—Courant—Levy 有限差分判据

Δt≤Δx

2 c*

其中网格尺寸Δx = 6000m, 波速 c*

= gh = 19m�/s 因此时间增量应满足

Δt≤6000

219= 223s

计算时选Δt = 200s。

总体有限元方程的数值积分采用了 Runge—Kutta 方法。

Chezy 系数在初始解中可取常数 , 在对计算值与已知的实测点的数据进行比

较后 , 可进行修正 , 一般地说 , 系数 c*与深度有一定的关系。算例中的 c

*值在

60~95m12�/s 之间变化。

习 题

1 . 如图 4-28 所示的流动 , 进口的速度剖面是抛面线 , 原点 ( 0 , 0) 处的速度 vx = 1。

(1 ) 问在什么条件下 , 上述流动可引进流函数 ψ与速度势函数φ作为求解函数。

(2 ) 写出流函数的求解方程和边界条件。

(3) 根据变分原理 , 写出与求解方程等价的变分表达式 (要求先证明相应的算子是对称

正算子)

(4 ) 写出有限元计算的强解与弱解积分表达式。

图 4-28 (第 1 题 , 第 2 题 )

图 4-29 (第 3 题)

(5 ) 若采用三结点三角

形单元 , 写出单元有限元

方程的表达式。

2 . 试对图 4-28 所示的

流动区域 , 采用有限元方

法计算理想不可压流动的

流函数解。要求按求解步

骤 , 逐项进行 , 并编写计

算程序在计算机上计算出

结果 , 最后画出等流线图。

3 . 如图 4-29 所示的粘

性不可压流动 , 进口速度

剖面是抛物线 , 最大速度

vx = 1。

(1 ) 写出流函数涡量式

的数学方程与边界条件。

(2 ) 进行有限元分析。

(3 ) 采用三结点三角形

361

单元进行区域剖分。

(4 ) 编写计算程序上机计算。

(5 ) 画出等流线图。

4 . 用有限元方法求解不可压无旋流动。若选用二次曲线边的三角形等参数单元 , 试推导

流函数的单元有限元方程。

5 . 试推导粘性不可压流动的基本变量解的单元有限元方程。假定速度分量采用六结点三

角形单元的基函数 , 压力采用三结点三角形单元基函数。

461

第 5 章 对流扩散问题的迎风有限元方法

对流扩散问题 , 又称弥散 (Dispersion) 问题。它主要是研究流体中由流体质

点所携带的某种物理量 , 如温度或溶解于流体中的物质的浓度在流动过程中的变

化规律。这些变化一般包括对流、扩散以及由于某种物理化学的原因引起的物理

量自身衰减或增长的过程。

对流扩散现象在研究环境保护的流体力学中是经常遇到的。流体中的污染

物 , 包括化学的、生物的或热的污染 , 在流体介质中的弥散是环境保护问题中越

来越重要的研究课题。

对流扩散问题数学方程最重要的特点是存在非线性的对流项 , 采用常规有限

元方法求解这类对流方程的一个严重困难是 : 当对流效应比较强时 , 常常由于有

限元网格不恰当而造成有限元数值解的失真振荡。

本节将推导流体力学中的一般对流扩散方程 , 并介绍一种可以消除数值失真

振荡的迎风有限元格式。

5.1 对流扩散方程

假定 c 是流体中单位体积所携带的物理量。如物理量是流体介质的质量 , 则

c 表示密度 ; 如物理量是某种污染物的含量 , 则 c 是表示污染浓度 ; 如物理量是

热能 , 则 c 是热量或温度。为研究物理量 c 的变化规律 , 不妨在流场中任取一个

有限区域 V, V 中流体所携带的物理量 c 的变化 , 由下列三方面物理过程组成。

图 5-1

1 . 对流过程

由于流体处于宏观的流动状态 , V 中 c

的总量因对流而发生变化 , 可以认为它由

两方面组成 : 一项是 c 在 V 中随着时间的

增长而产生的变化 ; 另一项是区域 V 中由

于流体流动 , 位置发生变化所引起流体中

c 的变化 (图 5-1 )。也就是 V 中 c 的积分

量的随体导数

dd t∫

V

cd V =∫V

�c�t

d V +∮S

cvn d S

其中 vn = v·n是流体速度在 S 面上的法向分量。利用 Green-Gauss 公式

∮S

c vn d S =∫V

div( c v ) d V

应有

dd t∫

V

cd V =∫V

�c�t

+ div( c v ) d V

2 . 扩散过程

扩散过程包含有分子布朗运动形成的分子扩散以及流体湍流运动形成的湍流

扩散。这种扩散使得物理量 c 在流场中由高值向低值方向移动。若扩散的速率用

q表示 , 它是单位时间内通过单位面积的物理量 , Fick 定律给出了物理量 c 在流

场中的扩散速率公式

q = - Kgrad c

其中张量 K = Km+ Kt

, Km是分子扩散系数张量 , Kt

是湍流扩散系数张量。 K

的各个分量值取决于含有物理量 c 的流体的状态与性质。一般地说 , 企图在理论

上确定 K值是非常困难的 , 通常是通过实验测定。如果扩散是各向同性的 , 则

可写成

q= - kgrad c

其中 k 是扩散系数 , 它可以是 c 或其它物理量的函数 , 也可以是常数。由于扩

散作用 , 使区域 V 中 c 的增加量为

-∮S

n· qd S =∮S

n· Kgrad cd S =∫V

div( Kgrad c )d V

3 . 源和汇

流场中物理量 c 的自身增长与衰减 , 一般是通过分布在流场中的源和汇来描

述。这种源和汇是场的分布函数 , 记为 Q。 Q > 0 表示源 , 它将使 c 增长 ; Q < 0

表示汇 , 它将使 c 减小。 c 增长或减小的速率由源或汇的强度 , 即 Q 绝对值的

大小来反映。在区域 V 中 , 由于源汇的作用使 c 的增加量为

∫V

Qd V

通常我们将 Q 分为源增长项和汇衰减项。线性衰减类型的表达式为

Q = f - βc

其中 f > 0 是源分布函数 , β≥0 是衰减函数。另一种常用的衰减类型是时间的指

数规律

Q = f - c0 e- t�/γ

其中 c0 是初始时刻物理量 c 的浓度 , t 是时间变量 , γ是衰减常数。

根据守恒原理 , 单位时间内 V 中 c 的变化应满足 :

〔由于对流 c 的增加量〕

= 〔由于扩散进入 V 中的 c 的增加量〕 + 〔由于源汇作用 c 的增加量〕

661

也就是

∫V

�c�t

+ div( c v ) d V =∫V

div( Kgrad c) dV +∫V

Qd V

由于 V 是任意的 , 上面的守恒方程可写成

�c�t

+ div( c v ) = div( Kgrad c) + Q (5-1a)

或写成

d cd t

+ cdiv v = div( Kgrad c) + Q (5-1b)

这个方程通常称为对流扩散方程。

方程

1) 在边界 Γ1 上给出本质边界条件

c = c

2) 在边界 Γ2 上给出自然边界条件

qn = - ki j�c�xj

ni = qn

总边界 Γ= Γ1 ∪Γ2 。上述边界条件也可统一写成 :

在边界 Γ上

α0 ki j

�c�xj

ni + α1 c + α2 = 0

式中α0 、α1 、α2 是已知函数。

初始条件为 : 在 t = 0 时 , 给出 c 的分布

c ( xi , 0 ) = c ( xi )

方程 ( 5-1) v 一般有两种情况 : 一种是 c 对于流场中的密度ρ或

速度v 没有直接影响 , 或者影响很小可以忽略 , 此时 v 可以独立通过流体力学的

主流方程 ( 即连续性方程和运动方程 ) 求出。另外一种是 c 和流场中的密度ρ或

速度v 有直接的关系 , 必须耦合求解。下面进行的有限元分析 , 考虑前面一种情

形 , 并认为已经给出了速度场 v。

对流扩散方程是流体力学中的典型方程 , 连续方程、动量方程、能量方程都

可以写成对流扩散方程的形式。

5.2 常规有限元分析与解的失真振荡

为了更直观地了解这类对流问题有限元求解时遇到的失真振荡现象 , 不妨研

究如图 5-2 所示的二维平行壁管道中定常的热的对流扩散问题。

假定流场中的温度变化不是很大 , 此时可以认为温度变化对于流场中的密

761

图 5-2 平行壁管道中的热的对流扩散

度、粘性系数的影响可以忽

略 ; 这 样流场的速度 v =

( u , v) 可以独立求解。现在

假定流场的速度 v = ( u , v)

已经求出 , 流场的温度 T =

T ( x , y ) 可 以 由 对 流 扩

散方程式 ( 5-1 ) 描述。由于

定常 , 且流场是各向同性的 , 因此式 ( 5-1) 可以写成

u�T�x

+ v�T�y

=��x

k�T�x

+��y

k�T�y

( 5-2)

不难推导出相应的 Galerkin 弱解积分表达式

∫Ω

u�T�x

+ v�T�y

δT + k�T�x

�(δT)�x

+�T�y

�(δT)�y

dΩ =∮Γ

k�T�n

δTdΓ (5-3)

根据图 5-2 所示的边界条件 , 式 δT = 0 ,

或者�T�n

= 0。因此有

∮Γ

k�T�n

δTdΓ = 0

假定未知函数 T 在单元中的近似函数为

T = TiΦi ( x , y)

代入式 (5-3)

A( e)

i j Tj = 0

其中

A( e )

i j =∫Ω

( e)

u�Φj

�x+ v

�Φj

�yΦi + k

�Φi

�x�Φj

�x+�Φi

�y�Φj

�ydΩ

按总体合成的法则 , 可以获得总体有限元方程

An m Tm = 0 ( n = 1 , 2⋯ N)

式中 m 是对 1、2⋯ N 求和 , N 是结点总数。再进行边界条件处理 , 将本质边界

条件代入总体有限元方程中 ( 参见 2.2.6 小节 ) , 即可获得修正后的总体有限元

方程 , 求解后可得各个结点上的温度值。

上面介绍的是常规有限元方法的求解过程。计算实践表明 , 当对流项占优

时 , 同时网格单元不是足够小 , 所获得的有限元解将会出现失真。下面对此现象

进行讨论。

对流项是否占优 , 可以通过对流项和扩散项的特征参数的关系进行描述。假

861

定取来流的平均速度值 V, 平行管道间距 d 作为特征速度与特征长度 , 则可以

引进特征数 Pe 〔无量纲相似准则贝克莱 ( Peclet) 数〕

Pe =Vdk

图 5-3 有限元网格a) 线性单元 b ) 二次单元

图 5-4 常规有限元解与迎风有限元解

Pe 数越大 , 对流效应越强。

有限元采用图 5-3 所示的矩形网

格 : 图 5-3a 是 4 结点线性单元 , 全

流场划分 60 个单元 , 共 77 个结点 ;

图 5-3b 是 8 结点二次单元 , 划分 30

个单元 , 共 113 个结点。

若采用常规的 Galerkin 有限元方

法 , 按图 5-3 的两种网格进行计算 ,

当 Pe = 150 时 , 计算的结点值出现

明显的振荡。图 5-4 是中心线上 ( y

= 0 ) 各个结点的量纲为 1 的温度

值 , 可以看到不论是线性单元还是

二次单元 , 都无例外地出现振荡。

这显然是与实际的温度分布不相符

合的。深入研究表明 , 为了消除这

种失真振荡 , 可以通过以下两个途

径 :

(1) 加密有限元网格 假定单

元的最大尺寸为 h , 则当每个单元

的局部 Peclet 数

γ≡Vhk

< 2

时 , 可获得稳定的解。其中 V = max

( | u | , | v | ) , 是单元中的最大速度

分量值。

(2) 采用迎风有限元方法 迎风

有限元方法的基本思想是在加权余量法中采用考虑来流上游效应的不对称权函

数。采用迎风有限元方法 , 对于比较大的有限元网格仍可获得稳定的数值解。图

5-4 中那条不振荡的计算曲线 , 便是采用迎风有限元方法按 4 结点线性矩形单元

进行计算所获得的。这种能消除对流项非对称效应而引起振荡现象的迎风有限元

方法是 Heinrich 和 Zienkiewicz 等人在 1977 年首先提出的。

961

在实际计算时 , 如采用加密单元网格的途径 , 势必会增加计算机的内存储量

及计算量 , 这往往是不经济的 ; 而采用迎风有限元方法 , 并不需要增加计算量即

可获得稳定的结果 , 因此在求解对流问题时是经常采用的。

5.3 一维迎风有限元格式

为了说明迎风有限元格式的基本思想 , 不妨以最简单的一维定常的热对流扩

散问题为例。此时对流扩散方程为

u�T�x

-��x

k�T�x

= 0 ( 5-4)

其中速度 u > 0 是已知的。如果记权函数为 W = W( x ) , 则按照加权余量法应有

∫Ω

W u�T�x

-��x

k�T�x

d x = 0

设方程满足齐次自然边界条件

k�T�n

= 0

则对上式进行分部积分 , 可得

∫Ω

Wu�T�x

+ k�W�x

�T�x

d x = 0

将求解区间均匀地划分成 N 个线段单元 , 每个单元的线段长度为 h。设求

解函数 T 在单元中的近似函数为

T = TiΦi

其中Φi = Φi (ξ) , ξ是单元局部坐标 , - 1≤ξ

≤1。 Ti 是单元中 i 结点上的函数值。设相应 i 结点的权函数为

Wi = Wi (ξ)

则单元有限元方程为

∫Ω

( e)

Wi u�Φj

�x+ k

�Wi

�x�Φj

�xTj d x = 0

如采用局部坐标ξ, 并引进局部 Peclet 数

γ=uhk

则上式可改写成

A( e)

i j Tj = 0 (5-5a)

其中单元系数矩阵元素

A( e )i j =

kh∫

+ 1

- 1γWi

�Φj

�ξ+�Wi

�ξ�Φj

�ξdξ (5-5b)

071

如果权函数 Wi 取为基函数 , Wi = Φi (ξ) , 即为我们所熟悉的 Galerkin 有限

元方法。而 Hēinrich 等人提出的迎风有限元方法 , 是取另外形式的权函数 , 这种

权函数的特点是增大来流方向上的权函数值 , 而减小下游方向权函数值。下面分

别就两结点线性单元和三结点二次单元进行讨论。

1 . 两结点线性单元

在两结点线性基本单元中 , 单元基函数为

Φ1 =12

(1 - ξ) (5-6a)

Φ2 =12

(1 +ξ) (5-6b)

迎风有限元方法所选择的权函数 , 在 u > 0 时为

W1 = Φ1 (ξ) - αF(ξ) (5-7a)

W2 = Φ2 (ξ) + αF(ξ) (5-7b)

其中修正函数 F = F(ξ) , 满足

F(ξi ) = 0

且有

∫+ 1

- 1F(ξ) dξ= 1

可采取下列二次曲线作为修正函数

F(ξ) =34

( 1 - ξ) (1 + ξ) (5-8)

α是迎风因子 , 0≤α≤1。若 u < 0 , 式 (5-7) α前的符号相反。

基函数Φi (ξ) , 权函数 Wi (ξ)以及修正函数 F(ξ) 5-5 所示。

图 5 -5 一维线性单元的基函数、权函数和修正函数

如果将上述单元基函数和权函数合成为整体基函数和权函数 , 则对于 i 结点

而言 , 就是图 5-6 所示的形状。从图上可以明显看出 , 基函数Φi = Φi ( x )

171

点 i , 来流的上下游是完全对称的 ; Galerkin 方法就是采用这样对称的基函数作

图 5-6 一维迎风有限元

为权函数的。而迎风有限元的权函数 Wi = Wi ( x )

对于上、下游是不对称的 , 在来流的上游方向

〔即 ( i - 1 ) 单元中〕, 权函数在原先基函数上

增加一个αF( x ) ; 而在下游方向 ( 即 i 单元

中 ) , 减少了一个αF ( x ) 。这样在总体合成

时 , 上游方向单元中物理量对 i 结点的影响增

强了 , 而下游方向单元中的影响相对减弱。迎

风因子 |α| 的大小 , 反映了这种影响差别的程

度。显然 , 当局部 Peclet 数 γ越大时 , 对流效

应越明显 , |α|值越接近于 1。

若将式 (5-6) 、式 (5-7) 、式 (5-8 )

数矩阵元素表达式

元系数矩阵

{ A( e)

i j } =kh

1 +γ2

(α- 1) - 1 -γ2

(α - 1)

- 1 -γ2

(α+ 1) 1 +γ2

(α+ 1 )

总体合成后 , 相应于 i 结点的总体有限元方程是

1 +γ2

(α+ 1) Ti - 1 - ( 2 + γα) Ti + 1 +γ2

(α- 1) Ti + 1 = 0 (5-9)

不难看出 , 当 α= 0 或 α= 1 时 , 上述方程正是按中心差分或向后 ( 迎风 ) 差分

格式离散的有限差分方程。这个方程的精确解为

Ti = A + B1 +

γ2

(α+ 1)

1 +γ2

(α- 1)

i

(5-10)

从表达式 5-10 中 , 可以看出 , 由于迎风因子 |α| ≤1 , 因此当 γ< 2 时 , 或

者当

γ≥2 , α≥1 -2γ

(5-11)

时 , 解是稳定的。若α= 0 , 即为常规有限元方法 , 则当 γ≥2 时 , 由于式 (5-10)

, 因此在序号 i 变动时 , 将出现振荡。

由条件式 (5-11) , 当 γ≥2 时 , 保证不振荡的临界迎风因子值应为

αc = 1 -2γ

(5-12a)

Christie 等人证明如选取迎风因子

271

αopt = cthγ2

-2γ

(5-12b)

则由式

此可将式 γ值较大时 , 简便

起见可用αc 来代替αop t

αop t = cthγ2

-2γ≈αc = 1 -

简单计算表明 , 当 γ= 20 时 , |αopt - αc | < 10- 8

, 而当 γ→∞时 , αo p t →αc 。

为了更为一般地写出迎风有限元权函数式 ( 5-7 ) , 可将 ij 单元中的权函数记

Wi = Φi + αi j F(ξ)

Wj = Φj +αj i F(ξ)

图 5-7 迎风因子 αij , αj i 的正负号

其中迎风因子的绝对值 |αi j |≤1;

而正负号按照单元中的速度方向

决定 , 若速度是向着 i 结点的 ,

αi j 为正值 , 若速度是离开 i 结点

的 , 则αi j 为负值 ( 如图 5-7) ; 按

此法则 , 显然有αi j = - αj i 。

2 . 三结点二次单元

对于三结点二次单元 , 同样可引进迎风有限元格式。此时基函数为

Φ1 =12ξ(ξ- 1)

Φ2 = 1 - ξ2

Φ3 =12ξ(ξ+ 1)

和线性单元一样 , 当 u > 0 时 , 相应各个结点的权函数为

W1 = Φ1 (ξ) - αF(ξ)

W2 = Φ2 (ξ) + 4βF(ξ)

W3 = Φ3 (ξ) - αF(ξ)

其中修正函数 F(ξ)

F(ξ) =58ξ(ξ - 1) (ξ+ 1)

这些函数的形状如图 5-8 所示。

类似于线性单元的分析 , 消除振荡解的迎风因子临界值为

βc = 1 -4γ

(5-13a)

371

图 5-8 一维二次单元的基函数、权函数和修正函数

αc = 1 -2γ

(5-13b)

最佳迎风因子值为

βopt = cthγ4

-4γ

(5-14a)

αop t = 2thγ2

1 +3βopt

γ+

12γ

2 -12γ

- βop t (5-14b)

由于 γ→∞时 |βc - βopt | →0 , |αc - αo p t |→0; 因此当γ比较大时 , 可以用βc 、αc

代替βop t 、αo p t 。

5.4 二维迎风有限元格式

考虑二维定常情形的对流扩散方程

u�T�x

+ v�T�y

-��x

kx�T�x

-��y

ky�T�y

= 0

加权余量积分式为

∫Ω

W u�T�x

+ v�T�y

-��x

kx�T�x

-��y

ky�T�y

dΩ = 0

假定方程满足齐次自然边界条件 , 则利用 Green-Gauss 公式 , 可将上式改写为

∫Ω

W u�T�x

+ v�T�y

+�W�x

kx�T�x

+�W�y

ky�T�y

dΩ = 0

将求解区域 Ω进行单元剖分 , 记有限元子区域为 Ω( e )

, 且假定在单元中求

解函数的近似表达式为

T = TiΦi ( x , y )

单元中的权函数为 Wi = Wi ( x , y ) , 则单元有限元方程可以写为

A( e)

i j Tj = 0

471

其中

A( e )i j =∫

Ω( e)

Wi u�Φj

�x+ v

�Φj

�y+�Wi

�xkx

�Φj

�x+�Wi

�yky

�Φj

�ydΩ

如果 Wi = Φi ( x , y) , 即为我们所熟悉的 Galerkin 有限元方法。迎风有限元的权函

数可在一维基础上进行构造 , 下面就四结点线性等参数单元 , 九结点二次等参数

单元 , 三角形单元给出迎风有限元的权函数表达式。

1 . 四结点线性等参数单元

考虑等参数变换坐标 (ξ, η) 平面上的正方形标准单元 , 在 3.4 节中已介

绍过 , 相应于各个结点的基函数为

Φ1 (ξ,η) = L1 (ξ) L1 (η)

Φ2 (ξ,η) = L2 (ξ) L1 (η)

Φ3 (ξ,η) = L2 (ξ) L2 (η)

Φ4 (ξ,η) = L1 (ξ) L2 (η)

其中

L1 (ξ) =12

(1 - ξ)

L2 (ξ) =12

(1 + ξ)

迎风有限元权函数可由一维线性单元推广而来

W1 (ξ,η) =〔L1 (ξ) +α12 F(ξ)〕〔L1 (η) + α14 F(η)〕

W2 (ξ,η) =〔L2 (ξ) +α21 F(ξ)〕〔L1 (η) + α23 F(η)〕

W3 (ξ,η) =〔L2 (ξ) +α34 F(ξ)〕〔L2 (η) + α32 F(η)〕

W4 (ξ,η) =〔L1 (ξ) +α43 F(ξ)〕〔L2 (η) + α41 F(η)〕

其中修正函数为

图 5 -9 正方形单元中迎风因子和速度方向的关系

F(ξ) =34

(1 - ξ) ( 1 +ξ)

迎风因子αi j ( i = 1 , 2 , 3 , 4 ; j 为 i 结点

的相邻结点序号 ) αi j | ≤1 ,

正负号取决于单元边线上的速度分量

的方向 , 若离开 i 结点方向取负号 ,

否则取正号。以图 5-9 中各边线所示

的速度分量 , 应有

α21 = - α12 > 0

α32 = - α23 > 0

571

α34 = - α43 > 0

α41 = - α14 > 0

迎风因子的临界值与最佳值完全可按照一维单元情形 , 在ξ, η两个方向给出

γξ =vξhξkξ

γη =vηhηkη

图 5-10 任意四边形等参数单元

其中 hξ , hη 分别是 ( x , y ) 平面上相应于ξ,

η方向的单元实际特征长度 ( 图 5-10 ) , vξ、

vη 和 kξ , kη 分别是这两个方向上的速度分量

和热扩散系数。

图 5-11 给出了相应结点 i = 4 的权函数 W4

(ξ, η)的几何形状 , 图 5-11a 表示α43 = 1 , α41

= 0 的权函数形状 ; 图 5-11b 表示 α43 = α41 = 1

的权函数形状。

2 . 九结点二次等参数单元

图 5-11 4 号结点的权函数几何形状a) α43 = 1 , α41 = 0 b ) α43 = α41 = 1 图 5-12

考虑如图 5-12 所示的等参数变换坐标 (ξ, η) 平面上的九结点正方形单元。

如果记

N1 (ξ) =12ξ(1 - ξ)

N2 (ξ) = 1 - ξ2

N3 (ξ) =12

(1 + ξ)

671

那么按照双向插值函数的构造方法 ( 参阅 3.4.1 小节 ) , 基函数为

Φ1 (ξ,η) = N1 (ξ) N1 (η)

Φ2 (ξ,η) = N2 (ξ) N1 (η)

Φ3 (ξ,η) = N3 (ξ) N1 (η)

Φ9 (ξ,η) = N2 (ξ) N2 (η)

迎风有限元权函数为

W1 (ξ,η) =〔N1 (ξ) - α1 F(ξ)〕〔N1 (η) - α1 F(η)〕

W2 (ξ,η) =〔N2 (ξ) + 4β1 F(ξ)〕〔N1 (η) - α6 F(η)〕

W3 (ξ,η) =〔N3 (ξ) - α1 F(ξ)〕〔N1 (η) - α2 F(η)〕

W4 (ξ,η) =〔N3 (ξ) - α5 F(ξ)〕〔N2 (η) + 4β2 F(η)〕

W5 (ξ,η) =〔N3 (ξ) - α3 F(ξ)〕〔N3 (η) - α2 F(η)〕

W6 (ξ,η) =〔N2 (ξ) + 4β3 F(ξ)〕〔N3 (η) - α6 F(η)〕

W7 (ξ,η) =〔N1 (ξ) - α3 F(ξ)〕〔N3 (η) - α4 F(η)〕

W8 (ξ,η) =〔N1 (ξ) - α5 F(ξ)〕〔N2 (η) + 4β4 F(η)〕

W9 (ξ,η) =〔N2 (ξ) + 4β5 F(ξ)〕〔N2 (η) + 4β6 F(η)〕

其中修正函数

F(ξ) =58ξ(ξ - 1) (ξ+ 1)

迎风因子为αi , βi ( i = 1 , 2⋯6 ) , 将根据各个边线的 γ值 , 再按照式

13) , 式 (5-14)

3 . 三角形线性单元

图 5-13 三角形线性单元

考虑如图 5-13 所示的三结点三角形单元 ,

利用面积坐标单元的基函数可以表示为

Φi (ξ1 ,ξ2 ,ξ3 ) = ξi

( i = 1 , 2 , 3)

根据构造一维迎风有限元权函数的基本想法 ,

可以选取三角形单元中的权函数为

Wi = Φi + 3ξi (αi kξk + αi jξj )

式中 , i、 j、 k 为 1、2、3 循环取数。即

W1 = ξ1 (1 + 3α13 ξ3 + 3α12ξ2 )

771

W2 =ξ2 (1 + 3α21ξ1 + 3α23ξ3 )

W3 =ξ3 (1 + 3α32ξ2 + 3α31ξ1 )

其中权函数 Wi (ξ1 ,ξ2 ,ξ3 ) αi j 由边线 ij 上速度分量的方向与

大小确定 : 绝对值 |αi j |≤1 , 若边线 ij 上的速度分量向着 i 结点 , 则 αi j > 0 , 否

则αi j < 0。如图 5-13 中所示的速度方向 , 应有

α21 = - α12 > 0

α32 = - α23 > 0

α13 = - α31 > 0

αi j 的临界值与最佳值 , 可通过先计算 ij 边线上的γ值 , 然后按式

5.5 简化的迎风有限元格式

Hughes (1978) 提出一种新的迎风有限元格式 , 对 Heinrich 等人的格式进行

了改进 , 使得在具体计算时更为简便而有效。

这种改进简化格式的基本思想仍采用 Galerkin 方法中的基函数作为权函数 ,

但对流项的加权积分采用数值积分的形式。为了反映格式的迎风特点 , 数值积分

中的积分基点位置取在来流方向偏离中心点某一距离处 , 而迎风度的大小取决于

偏离的程度。

为方便起见 , 仍考虑定常的满足齐次自然边界条件的二维热对流扩散方程

u�T�x

+ v�T�y

-��x

kx�T�x

+��y

ky�T�y

= 0

按常规的 Galerkin 有限元方法进行离散 , 单元有限元方程为

( A( e)

i j + B( e )

i j ) Tj = 0 (5-15a)

其中

A( e)i j =∫

Ω( e)

Φi u�Φj

�x+ v

�Φj

�ydΩ (5-15b)

B( e)i j =∫

Ω( e)

�Φi

�xkx

�Φj

�y+�Φi

�xky

�Φj

�ydΩ (5-15c)

这里所采用的权函数是基函数 , 对于区域中每个结点而言 , 这样的权函数是对称

的 , 并没有上下游的区分。为了反映如前所述的迎风有限元权函数的特点 , 令对

流项加权积分所生成的系数为

A( e)

i j = Φi (ξ,η) u( e)�Φj (ξ,η)

�x+ v

( e )�Φj (ξ,η)�y

J( e)

w (5-16)

这里采用了等参数变量 (ξ, η) , J( e)

是等参数变换的 Jacobi 行列式 〔在 (ξ,

871

η) 平面的原点取值〕; w 是等参数变换平面上的正方形标准单元的面积 w = 4

(若一维单元 w = 2 , 三维单元 w = 8) 。 u( e )

, v( e)

是单元 e 中的速度 ( 取单元平

均值 )。 (ξ, η) 是积分基点坐标值 , 它并不选择在正方形单元的中心处 , 而是

根据局部 Peclet 数 γ的大小 , 沿中心点来流速度方向偏离一个距离。

用式

基点的位置将按流动特点选择。不难理解 , 积分基点的位置反映了迎风度。

下面先讨论一维情形积分基点的选择 , 然后推广到二维情形。一维情形 , 式

(5-16)

A( e)i j = 2Φi (ξ) u

( e)�Φj (ξ)�ξ

(5-17)

其中 u( e)

是单元中速度 , ξ是积分基点的坐标 , Φi (ξ) 。

扩散项的权函数仍采用基函数

B( e)i j =

2h

( e)∫1

- 1k�Φi

�ξ�Φj

�ξdξ (5-18)

其中 h( e)

是线段单元的长度 , 将单元基函数

Φ1 (ξ) =12

(1 - ξ)

Φ2 (ξ) =12

(1 +ξ)

代入式 (5-17) 及式 (5-18)

{ A( e)i j + B

( e )i j } =

kh

1 -γ2

(1 - ξ) - 1 +γ2

(1 - ξ)

- 1 -γ2

( 1 +ξ) 1 +γ2

( 1 +ξ)

总体合成后即得 i 结点的总体有限元方程

1 +γ2

(1 + ξ) Ti - 1 - 2 1 +γ2ξ Ti + 1 -

γ2

(1 - ξ) Ti + 1 = 0

这个方程具有如下形式的精确解

Ti = A + B1 +

γ2

(1 +ξ)

1 -γ2

(1 - ξ)

i

(5-19)

类似于 5.3 节的分析 , 当

γ≡uhk

< 2

时 , 或者

γ≥2 , ξ≥1 -2γ

时 , 式 (5-19) , 否则将是不稳定的 , 这个结果和 5.3 节所进行分析

971

的结果是完全一致的。这里的积分基点的坐标 ξ相当于迎风因子α。完全类似 ,

ξ的临界值为

ξc = 1 -γ2

(5-20)

最佳值为

ξopt = cthγ2

-2γ

(5-21)

如果速度是负方向 , 则

ξ≤ξc = - 1 -2γ

最佳值位置为

ξopt = - cthγ2

-2γ

图 5-14

图 5-14 表示速度方向

不同时 ξ的位置 , i 结点

上下游单元中的ξ位置以

及相应于积分基点的权函

数值。可以看出 , 积分基

点沿着速度方向偏离了一

个距离。对于各个结点而

言 , 实质上是使上游方向

的积分基点的权函数值大于 Galerkin 权函数 (即基函数 ) 的平均值 , 而下游方向

的积分基点的权函数值是小于 Galerkin 权函数的平均值 , 这样就增强了上游方向

物理量的影响而减弱下游方向的影响 , 反映了对流问题的迎风效应。

二维情形的结果可由上述一维结果推广而获得。此时应计算出单元中平均速

度 v 在ξ、η坐标轴上的分量 uξ、 vη , 然后确定不同方向上的局部 Peclct 数。

图 5-15 积分基点沿速度方向偏离中心点

γξ =vξhξkξ

γη =vηhηkη

其中 vξ、 vη 和 hξ、 hη 分别

是单元在 ξ、η方向的速

度分量 和网 格长 度 ; kξ、

kη 是ξ、η方向的热扩散

系数。于是可按式 (5-20 ) ,

式 (5-21) ξ、η ( 图 5-

15)。

对于一维线性单元这个

081

简化格式在具体计算时和 5.3 节中所介绍的采用迎风权函数的格式并没有实质的

区别。但是对于二维曲线等参数单元 , 若采用迎风权函数进行积分去计算有限元

方程的系数 , 计算量是十分繁重的 , 而采用这种格式 , 则相当简便。

5.6 应用实例

下面通过例子说明采用常规有限元方法求解出现振荡的对流问题 , 采用迎风

有限元方法可获得稳定解。

(1) 考虑下列一维对流扩散方程

ud cd x

+ kd

2c

d x2 = 0 0≤ x≤2

边界条件为

c(0) = 0d cd x x = 2

= 1

将求解区间 〔0 , 2〕 均匀地划分成为 10 个单元 , h = 0.2 , 假定 u = 50 , k = 1。

每个单元局部 Peclet 数

γ=uhk

= 10

图 5-16—�—常规有限元解 —×—迎风有限元解和精确解

图 5-17 Pe = 150 时迎风因子的影响

当采用常规有限元方法时 , 解是振荡

的。而采用迎风有限元方法 , 取迎风

因子

α= cthγ2

-2γ

= 0.8

计算结果如图 5-16 所示。迎风有限

元解结点值与精确解重合。

(2) 考虑图 5-2 所示的平行壁管

道中的热的对流扩散问题

Pe = 150 时 , 采用不同的迎风因

子 值 , α 分 别 为 0、 0.25、 0.50、

0.75、1.00 等值 ( y 方向迎风因子β

= 0) , 计算用的有限元网格如图5-3a

所示 , 是四结点的线性有限元。沿着

中心线上各个结点的计算值如图 5-17

所示。α= 0 时即为常规有限元解 ,

结果表明此时的解呈现剧烈的振荡 ,

随着α值的增大 , 解逐渐稳定。由

181

于单元中的最佳迎风因子值αopt ≈1。所以当 α= 1 时 , 结果最好。此例说明迎风

因子的恰当选取对于结果有明显影响。

(3) 考虑如图 5-18a 所示的二维平面管道的热对流扩散问题

求解采用的有限元网格是图 5-18b 所示的二次等参数单元。

图 5-18 二维平面管道的热对流扩散问题

图 5-19 速度分布

图 5-20 沿 A - B 线的温度分布的有限元解

假定速度场已经求出 ( 图 5-19 ) ,

温度的分布根据热的对流扩散方程式

(5-2) 采用迎风有限元格式进行计

算。 Pe = 25 和 Pe = 150 两种情形所

计算的结果分别在图 5-20a 和 b 中给

出。图中所表示的离散计算值是邻近

壁面单元上边线 ( 图 5-18b 中的 A -

B) 各个结点的温度值。迎风因子分

别取 α= 1 , β= 0; α= β= 1; α= β

= 0 三组 , 由图上的计算结果可以看

出 : 当采用常规有限元方法时 (α=

β= 0) , 解是振荡的 , Pe = 150 比较

Pe = 25 要剧烈 ; 而采用迎风有限元

解 , 可以消除振荡。

281

第 6 章 流体力学边界元法基础

6.1 边界元法概述

6.1.1 边界元法特点

边界元法是一种和有限元方法相类似的 , 求解微分方程初边值问题的数值计

算方法。它和有限元方法对比 , 数学原理上是不同的 , 而离散求解的方法是类似

的。

从数学的观点看 , 有限元方法是一种变分近似方法 ; 微分方程的初边值问题

通过变分原理或方程余量与权函数正交化原理转化为等价的 Ritz—Galerkin 积分

表达式 , 然后以其为对象进行离散求解。而边界元法是一种近似的边界积分方程

方法 ; 微分方程的初边值问题要通过某种途径转化为等价的边界积分方程 , 然后

以边界积分方程为对象 , 进行离散求解。将微分方程转化为边界积分方程的途

径 , 通常有直接法和间接法两种。本书中所采用的直接法 , 是以微分方程相应的

基本解作为权函数 , 与方程余量正交 , 然后利用 Green 公式 , 建立起边界积分方

程。

从离散求解的观点看 , 边界元法和有限元方法是十分类似的 , 基本思想都是

“分块逼近”。惟一的差别是 : 有限元方法是对求解区域分块逼近 , 而边界元法是

对边界进行分块逼近。“分块逼近”的方法和步骤 , 基本上是相同的。

由此可见 , 当我们已掌握了有限元方法的数学原理与求解方法后 , 再来学习

边界元法 , 就不会有太多的困难。我们将把讨论的重点放在边界元法和有限元方

法的主要区别上 , 即如何将微分方程问题转化为边界积分方程。而对边界积分方

程的有限元离散求解 , 可以借助于有限元方法中的一些概念和知识。

和有限元方法比较 , 边界元法具有如下特点 :

(1) 边界元法是在区域边界上进行离散求解 , 因此近似求解问题的维数降低

一维 , 这就使得计算工作量明显减少 , 尤其是对无限大区域的计算。

(2) 边界元法所获得的解 , 是以边界函数值或导数值为参数的积分表达式 ,

因此区域内任何点上的函数值可直接通过积分表达式进行计算 , 而且可根据需要

只计算部分感兴趣点上的函数值 , 节省计算量。

(3) 边界元法离散误差只发生在边界上 , 又因为积分奇异解的影响 , 使得边

界元方程的系数矩阵的主元相对比较大 , 使得方程一般不会出现“病态”, 这样

使得求解精度较高。

(4) 边界元法最后形成的边界元方程的系数矩阵 , 虽然较有限元方程的阶次

小 , 但却是满阵的 , 也是非对称的。

从上述特点可以看出 , 边界元法有其特有的优点 , 这是它能够和有限差分

法 , 有限元方法相提并论 , 得到广泛应用的原因。其实 , 作为边界元法数学基础

的边界积分方程法由来已久 , 而当高速电子计算机出现以后 , 采用离散化进行计

算的边界积分方程法在 20 世纪 60 年代初被提了出来 ; 到 1978 年 , C.A.Brebbia

正式采用了边界元法 (Boundary Element Method, 简记 BEM) 这一名称 , 标志着边

界元法已经成为和有限差分法 , 有限元法并列的偏微分方程的一种重要的数值解

法。和有限元方法相类似 , 边界元法先是应用于弹性力学领域 , 流体力学中最早

是用于位势流动的计算。如今在流体力学中除位势流动外 , 在地下渗流、Stokes

流、水波问题以及非线性的粘性不可压流动都得到应用。

6.1.2 边界元法基本思想

边界元法求解微分方程初边值问题的基本思想可以归结如下 :

(1) 首先将微分方程初边值问题转化为等价的积分方程。转化的途径有直接

法与间接法两种 : 直接法是将微分方程相应的基本解作为权函数 , 采用加权余量

法 , 并应用 Green 公式推导出积分方程 ; 间接法是采用位势理论中经常采用的单

层位势和双重位势作为求解物理量 , 推导积分方程。这两种途径实质上是等价

的 , 本书中将采用直接法推导积分方程。所获得的积分关系式 , 实际上是将区域

中的求解函数值和边界上的函数值和法向导数值联系起来的积分表达式。

(2) 建立边界积分方程。令积分方程在边界上成立 , 就获得边界积分方程。

它表述了边界上函数值和法向导数值在边界上积分的关系 , 而这些边界值中 , 一

部分是在边界条件中给定的 , 另一部分是待求的未知量。边界元法就是以边界积

分方程作为求解的出发点 , 求出边界上的这些未知函数值或法向导数值。

(3) 边界积分方程的离散求解。为了求出边界积分方程中未知的边界函数值

和法向导数值 , 将采用和有限元方法中类似的离散求解方法。通过边界上的单元

剖分、单元分析、总体合成等步骤 , 建立边界元代数方程组 , 求解后可获得边界

上待求的全部结点函数值和法向导数值。

(4) 区域内点函数值的计算。将全部边界值代入积分表达式中 , 即可获得内

点函数值的计算表达式 , 它可以表示成边界结点值的线性组合。

6.2 边界元法基本原理和解题步骤

现在以 Poisson 方程边值问题为例 , 说明边界元法解题的基本原理和步骤。

方程和边界条件为 :

481

è2

u ( Q ) = f Q∈Ω (6-1a)

u Γu

= u (6-1b)

q Γq

= q (6-1c)

其中 q≡�u�n

, Γu ∪Γq 是Ω的边界 , Q 是求解区域的场点。

6.2.1 基本解

线性算子方程

L( G) = f

的基本解 G 是指满足下列算子方程

L( G) + δ( P , Q) = 0

的解。其中δ ( P, Q) 是 Dirac δ函数 , 具有性质

(1) δ ( P , Q) =0 P≠ Q

∞ P = Q

(2)∫Ω

δ( P , Q) dΩ( Q) = 1 P ∈ Ω

(3)∫Ω

g( Q )δ( P, Q) dΩ( Q) = g( P) P ∈ Ω

基本解 G = G( P , Q ) Green 函数 , 是区域中任何两个坐标点 P、 Q 的函

数 ; P、 Q 是对称的 , 即 G( P , Q ) = G( Q , P) 。通常将其中一点 P 看作是源点 ,

Q 看作是场点。当 G 出现在积分号中时 , 应注意什么是积分式的参变量 , 什么

是积分变量 , 我们将在积分式中的微分量后面加括号说明积分变量 , 如dΩ( Q)。

基本解在边界元法中占有很重要的地位 , 微分方程问题如要采用边界元法求解 ,

必须事先已知相应方程的基本解。对于一般的微分方程 , 要求出基本解并不是容

易的。在后面讨论边界元法时 , 将不研究如何求基本解 , 而只是将数学中已有的

现成结果移用过来 , 6.4 节给出了若干算子方程的基本解。

相应 Poisson 方程 (6-1) 的基本解 u*

= u*

( P , Q ) 满足

è2

u*

( P, Q) + δ( P , Q ) = 0 P, Q∈Ω

且有

∫Ω

è2

u*

( P , Q)· g( Q)dΩ( Q) = -∫Ω

δ( P , Q) g( Q)dΩ( Q) = - g( P) (6-2)

u*

= u*

( P, Q) 的表达式为

u * =

12π

ln1r 二维情形 (6-3a)

14πr

三维情形 (6-3b)

其中 r = PQ , 是源点 P 和场点 Q 两点间的距离。显然 , 当 P 点和 Q 点重合时 ,

581

r = 0 , u*具有奇异性。

6.2.2 积分方程

采用直接法将微分方程边值问题式 (6-1 )

u*作为权函数 , 令方程余量与权函数正交

∫Ω

[ è2

u( Q) - f( Q) ] · u*

( P , Q) dΩ( Q) = 0

利用 Green 公式进行分部积分

∫Ω

è2

u( Q) u*

( P, Q) dΩ( Q ) -∫Ω

f( Q) u*

( P , Q )dΩ( Q)

�=∫Ω

{è [è u( Q) u*

( P, Q) ] - è [è u*

( P, Q) u ( Q) ]

+ è2

u*

( P , Q ) u( Q)}dΩ( Q) -∫Ω

f ( Q) u*

( P , Q) dΩ( Q)

=∫Γ

�u( Q0 )�n( Q0 )

u*

( P , Q0 ) -�u

*( P, Q0 )

�n( Q0 )u( Q0 ) dΓ( Q0 )

+∫Ω

è2

u*

( P , Q) u( Q) dΩ( Q ) -∫Ω

f( Q) u*

( P , Q )dΩ( Q)

记 q*≡�u

*( P , Q)

�n ( Q), 并利用式 ( 6-2) , 上式可改写为

u( P) �=∫Γ

[ q( Q0 ) u*

( P , Q0 ) - q*

( P , Q0 ) u( Q0 ) ] dΓ( Q0 )

-∫Ω

f( Q) u*

( P, Q) dΩ( Q ) (6-4)

上述积分式中 Q0 是边界 Γ上的积分点。式 (6-4)是和 Poisson 方程等价的积分表达

式。如果考虑到边界条件式

u( P) b=∫Γ

u

[ q( Q0 ) u*

( P, Q0 ) - q*

( P, Q0 ) u( Q0 ) ] dΓ( Q0 )

+∫Γ

q

[ q( Q0 ) u*

( P, Q0 ) - q*

( P, Q0 ) u( Q0 ) ]dΓ( Q0 )

-∫Ω

f ( Q ) u*

( P, Q) dΩ( Q) (6-5)

在积分表达式 u*、 q

*、 f、 u、 q 都是已知函数 , 因此只要设法求出

Γu 上的 q 和Γq 上的 u , 则式 (6-5) Ω区域内任意一点 P 的函数值u( P)

积分形式表示出来的分析解。

6.2.3 边界积分方程

积分表达式 (6-4) P 的函数值u( P )

值 u( Q0 ) q( Q0 ) 。现在为了求出边界上的未知

681

量 , 即 Γu 上的q( Q0 ) Γq 上的u ( Q0 ) , 需要建立边界积分方程 , 为此将 P 点移

到边界上的任意一点 P0 上。令式 (6-4) P→ P0 , 得

u( P0 ) =∫ Γ

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( P0 , Q0 ) u( Q0 ) ] dΓ( Q0 )

-∫Ω

f( Q) u*

( P0 , Q) dΩ( Q) (6-6)

等式右边第一项积分 , 当 P0 = Q0 时被积函数无界 , 是奇异积分 ; 区别起见 , 积分

图 6-1 边界积分式中奇异点处理

号用∫ 表示。这一奇异积分需利用 Couchy

主值积分处理。如图 6-1 所示 , 在区域边

界 Γ上的源点 P0 附近 , 挖去一个以 P0

为中心、ε为半径的微元曲面 ; 原来的边

界曲面 Γ, 在去掉被挖去的含有 P0 点的

微元曲面后 , 记作 Γ′, 它与 Ω区域外的

微元球体的半个球面Γε 构成了封闭曲面 ,

P0 点是边界内的内点。显然式 (6-6 )

被积函数在 Γ′∪Γε 上是非奇异的 , 于是式

∫ Γ

[·] dΓ = limε→ 0∫

Γ′

[·] dΓ+∫Γε

[·]dΓ (6-7)

上式右端第一项积分即为 Couchy 主值积分 , 记为

∫Γ

[·] dΓ≡ limε→0∫

Γ′

[·] dΓ

而右端第二项积分可以进行计算 : 注意到在 Γε 上的被积函数中

u*

=1

4πε, q

*=

- 14πε

2

于是

limε→0∫

Γε

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( P0 , Q0 ) u( Q0 ) ]dΓ( Q0 )

= limε→0

q( P0 )1

4πε+ u( P0 )

14πε

2 ·∫Γε

dΓ( Q0 )

= limε→0

q( P0 )2πε

2

4πε+ u( P0 )

2πε2

4πε2 =

12

u( P0 )

于是式12

u( P0 ) =∫Γ

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( P0 , Q0 ) u( Q0 ) ]dΓ( Q0 )

-∫Ω

f ( Q) u*

( P , Q) dΩ( Q) (6-8)

781

方程右边第一项是式

图 6-2 边界上的导数间断点(θ为区域内部切线夹角)

需要指出 , 在上述推导过程中 , 利用了

曲面积分

∫Γε

dΓ( Q0 ) = 2πε2

这是建立在 Γ曲面在 P0 处是光滑前提下

的 , 如果 P0 在 Γ上是导数的间断点 , 则过

P0 的切面就不是惟一的 , 此时 Γε 的表面积

为 2 (2π - θ) ε2

( 图 6-2 所示 ) , 于是边界积分方程一般写成

C( P0 ) u( P0 ) G=∫Γ

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( P0 , Q0 ) u( Q0 ) ] dΓ( Q0 )

-∫Ω

f( Q) u*

( P0 , Q) dΩ( Q) ( 6-9)

其中

C( P0 ) =Q( P0 )

θ是求解区域内的切线夹角。显然 , 当边界线是光滑曲线时 , θ=π, C ( P0 ) =

12。

6.2.4 边界积分方程的离散求解

从前面已经推导得到的积分方程式 ( 6-4) P 的

函数值u( P) , 也就是说只要通过求解获得边界上的函

数值和导数值 , 即可求出区域内任一点的函数值。为了求解边界上的函数值和导

数值 , 我们已推导出边界积分方程式 (6-9)。现在的问题是如何求解式 (6-9)

一般情况下 , 不可能通过分析的方法去求解边界积分方程式

用数值求解的方法。边界积分方程式

元剖分的离散方法 : 先将边界剖分或有限个边界单元并布置结点 ; 每个边界单元

中的函数和函数的法向导数 , 可以通过单元中的插值基函数 ( 或称形函数 ) 的线

性组合来近似 , 近似函数表达式中的系数就是边界中结点的函数值或函数导数

值 ; 这样就可计算出每个边界单元的边界积分 , 而整个边界积分可以通过所有单

元的边界积分求和产生 ; 这样就将边界积分方程转化为代数方程形式的边界元方

程 , 再通过求解边界元方程 , 即可获得边界结点全部未知的函数值和函数的法向

导数值。

下面以光滑边界的二维区域为例 , 讨论边界积分方程式 ( 6-8) 的离散求解

方法。

如图 6-3 所示的求解区域 Ω, 边界 Γ由Γu 和Γq 组成 , Γu 上给出函数值 u ,

881

Γq 上给出函数的法向导数值 q 〔见式 (6-1)〕。不妨将 Γ剖分为 N 个边界单元Γj

( j = 1 , 2⋯ N) ; 其中 Γu 上的单元序号为 j = 1 , 2⋯ n; Γq 上的单元序号为 j = n

+ 1 , n + 2⋯ N。

图 6-4 不同类型的边界单元

图 6-3 求解区域与边界单元

边界单元根据单元中结点的个数分成不同类型 , 常用的有三种类型 , 如图

6-4 所示 : 常数单元、线性单元、二次单元。常数单元中只在单元中心处有一个

结点 , 单元中的函数值或法向导数值均为常数。线性单元中有两个结点 , 单元中

的函数或法向导数分别由两个结点的函数值或法向导数值线性插值确定 , 是线性

多项式函数。二次单元中有三个结点 , 单元中的函数表达式或法向导数表达式由

结点函数值或法向导数值的二次插值确定 , 是二次多项式函数。

为便于理解边界积分方程离散求解的过程 , 不妨以常数单元为例 , 讨论如何

将边界积分方程转化为代数方程形式的边界元方程。

在边界积分方程式 ( 6-8) 中 , 令 P0 取在边界上的 i 结点 , P0 = Pi , 并将 Γ

上的积分表示为全部边界单元的积分之和 , 注意到 u 和 q 在单元中是常数 , 有

12

u( Pi ) ~= ∑n

j = 1

qj∫Γ

j

u*

( Pi , Q0 ) dΓ( Q0 ) - ∑n

j = 1

uj∫Γ

j

q*

( Pi , Q0 ) dΓ( Q0 )

-∫Ω

f( Q) u*

( Pi , Q )dΩ( Q) (6-10)

注意上式中 Pi 是边界单元Γj 中的结点 , Q0 是边界上的积分点 , Q 是区域Ω中

的积分点。显然式 (6-10) 中的每一个单元 Γj 上的积分与 Pi 点和边界单元Γj 有

关。不妨记

981

Hi j =∫Γ

j

q*

( Pi , Q0 ) dΓ( Q0 ) (6-11a)

Gi j =∫Γ

j

u*

( Pi , Q0 ) dΓ( Q0 ) (6-11b)

由于 u*

= u*

( P, Q) 是事先给出的已知基本解 , q*

=�u

*

�n也是已知的 , 因此

式 (6-11)的积分是可以计算获得的。根据式 (6-11) , 式 ( 6-10)

12

ui + ∑N

j = 1

Hi j uj = ∑N

j = 1

Gi j qj - Bi (6-12)

式中 Bi 是式

Hi j = Hi j ( i≠ j)

Hi j = Hi j +12

( i = j)(6-13)

则式 ( 6-12) 可以改写为

∑N

j = 1

Hi j uj = ∑N

j = 1

Gi j qj - Bi (6-14)

i = (1 , 2⋯ N)

由于在 Γu 边界上 u = u 是已知的 , Γq 边界上 q = q 是已知的 , 因此式 ( 6-14 )

u1 、 u2 ⋯ un 是已知的 , qn + 1 、 qn + 2 ⋯ qN 也是已知的 , 所以式 (6-14) N

个未知量 : q1 、 q2 ⋯ qn , un + 1 、 un + 2 ⋯ uN 的 N 阶线性代数方程 , 这个方程组我

们称为边界元方程。

如果将边界条件中的已知边值 uj = uj ( j = n + 1 , n + 2⋯ N ) ; qj = qj ( j =

1 , 2⋯ n) 代入边界元方程式 (6-14)

- ∑N

j = 1

Gi j qj + ∑N

j = n+ 1

Hi j uj = ∑N

j = N

Gi j qj - ∑N

j = 1

Hi j uj - Bi (6-15)

( i = 1 , 2⋯ N )

上述式中

Bi =∫Ω

f ( Q) u*

( Pi , Q) dΩ( Q) (6-16)

由于 f ( Q ) , u*

= u*

( P , Q) , 因此 Bi

是一个已知函数的区域积分 , 通常可采用数值积分方法求出积分值 (参见 6.2.6

小节 )。

如果将式 (6-15)

091

AX = F (6-17)

式中求解的未知矢量

X = [ q1 , q2 ⋯ qn ; un + 1 , un + 2 ⋯ uN ]T

系数矩阵

A =

- G11 ⋯ - G1 n H1 ( n + 1 ) ⋯ H1 N

… … … …

- Gn1 ⋯ - Gn n Hn( n + 1 ) ⋯ Hn N

- G( n + 1 ) 1 ⋯ - G( n + 1 ) n H( n + 1 ) ( n + 1 ) ⋯ H( n + 1 ) N

… … … …

- GN1 ⋯ - GN n HN( n + 1 ) ⋯ HNN

右端项矢量

F =

- H11 ⋯ - H1 n G1 ( n + 1 ) ⋯ G1 N

… … … …

- Hn1 ⋯ - Hnn Gn ( n + 1 ) ⋯ GnN

- H( n + 1 ) 1 ⋯ - H( n + 1 ) n G( n + 1 ) ( n + 1 ) ⋯ G( n + 1 ) N

… … … …

- HN1 ⋯ - HN n GN( n + 1 ) ⋯ GN N

u1

un

qn + 1

qN

+

B1

Bn

Bn + 1

BN

很显然 , 为了求解边界元方程式 (6-17) , 必须先求出影响系数矩阵

H = { Hi j } G = { Gi j }

中各个影响系数 Hi j、 Gi j ; 而这可以通过式 (6-11)和式 ( 6-13) 。

6.2.5 影响系数矩阵的计算

对于二维问题的 Poisson 方程 , 它相应的基本解 u*

= u*

( P , Q)已由式 (6-3a)

给出

u*

=1

2πln

1r

(6-18)

上式中 r = PQ是源点 P 与场点 Q 两点间的距离。 u*

= u*

( P , Q)

q*

=��n

12π

ln1r

=- 1

2πr�r�n

(6-19)

这里的法向导数是指在边界线上外法线的导数。

下面根据式 (6-11)和式 ( 6-13) , 对影响系数矩阵的各个系数 Hi j 、 Gi j 进行计

1 . 对角线元素 Hi i 、 Gi i的计算

191

根据式

图 6-5 Pi 在边界单元Γi 中的积分路径

Hi i =∫Γ

i

q*

( Pi , Q0 )dΓ +12

式中的源点 Pi 是边界单元Γi 上的结点 , 位

于 Γi 单元中点 ; Q0 是边界单元 Γi 的积分

场点。正如图 6-5a 所示 , 此时 r = Pi Q0 与

Γi 的边界线是重合的 , 与边界法向是正交

的 , 因此有

�r�n

= 0

于是

∫Γ

i

q*

( Pi , Q0 ) dΓ =∫Γ

i

- 12πr

�r�n

dΓ = 0

因此

Hi i =12

(6-20)

Gi i的表达式可通过式 (6-11b) 和式 (6-18 ) 得到的积分式进行计算。 Gi i 的

积分式为

Gi i =∫Γ

i

u*

( Pi , Q0 ) dΓ =∫Γ

i

12π

ln1r

为便于计算 , 不妨在边界单元 Γi 内引入无量纲局部坐标ξ, 如图 6-5b 所示 , 在

单元的结点 Pi 处ξ= 0 , 在单元的两端点分别为±1; 记单元 Γi 的边界线长度为

si , 则有

ξ=r

si�/2, dΓ=

si

2dξ

于是

Gi i �=∫Γ

i

12π

ln1γ

dΓ =si

4π∫1

- 1ln

2ξsi

=si

2πlimε→0∫

1

εln

2ξsi

dξ =si

2πln

2si

+ limε→0∫

1

εln

=si

2πln

2si

+ 1 (6-21)

2. 非对角线元素 Hi j 、 Gi j的计算

由于 i≠ j , 式 (6-11 ) 中的源点 Pi 所在的单元Γi 和进行积分的单元Γj 是

不重合的 ; 因此 r = Pi Q0 = ri j 是 Pi 点到单元Γj 中的积分点的距离 ; 另记 Pi 点到

291

Γj 边界线的垂直距离为 hi j (如图 6-6 所示 )。于是可将 u*、 q

*的表达式写成

图 6-6 Pi 点不在边界单元Γj 中的积分路径

u*

=1

2πln

1r

=1

2πln

1ri j

(6-22)

q*

=- 1

2πr�r�n

=- 1

2πri j

�r�n

从图 6-6 中的几何关系可以看

�r�n

= limΔn→0

ΔrΔn

= cosα=hi j

ri j

因此有

q*

=- 1

2πri j

�r�n

=- 12π

hi j

r2i j

(6-23)

将式 ξ, 单元中点ξ= 0 , 单元

两端ξ= ±1 , dΓ=12

sj dξ。于是可得

Hi j =∫Γ

j

q*

( Pi , Q0 ) dΓ = -sj

4π∫+ 1

- 1

hi j

r2i j

dξ (6-24)

如果记边界单元 Γj 两端点的坐标为 ( x1 , y1 ) 和 ( x2 , y2 ) , 中点 Qj 的坐

标为 ( xj , yj ) ; Pi 点的坐标为 ( xi , yi ) ; 则 Pi 点到 Γj 边界线的垂直距离为

(见图 6-7)

图 6-7 Pi 到边界单元Γj 垂直距离的几何关系

391

hi j �= ( xj - xi )cosβ+ ( yj - yi ) sinβ

= ( xj - xi )cos( n , x) + ( yj - yi )cos ( n , y )

=( xj - xi ) ( y2 - y1 ) - ( yj - yi ) ( x2 - x1 )

( x2 - x1 )2

+ ( y2 - y1 )2

= ±( xj - xi ) ( y2 - y1 ) - ( yj - yi ) ( x2 - x1 )

( x2 - x1 )2

+ ( y2 - y1 )2

(6-25)

按照式 hi j , 有可能是正值或负值。若 r 与Γj 的外法线 n的夹角θ

为锐角时 , 取正值 , θ为钝角时取负值 , 如图 6-8 所示。之所以有正负值的问

题 , 因为是单元边界的积分路径和方向有关 , 我们已经约定边界曲线上的积分路

径方向是逆时针方向 ; 确切地说 , 边界外法线方向指向边界积分方向的右侧。

图 6-8 边界积分的取向与 hi j 正负号a) 边界积分取向 b) hij取负值 c) hi j取正值

如果用矢量 r1 、 r2 分别表示源点 Pi 到边界单元Γj 的积分起始点 ( x1 , y1 )

和积分终点 ( x2 , y2 ) 的矢量 (图 6-8) , 则

r1 × r2 = ck

上式中 k是方向朝上的单位矢量 , c 的表达式为

c = ( x1 - xi ) ( y2 - yi ) - ( x2 - xi ) ( y1 - yi )

于是 hi j的正负号可按 c 值来判断 : c > 0 , hi j > 0; c < 0 , hi j < 0。

Gi j 的计算表达式可由式 (6-11b) 和式 (6-18) 给出

Gi j =∫Γ

j

12π

ln1ri j

dΓ =sj

4π∫+ 1

- 1ln

1ri j

dξ (6-26)

在计算影响系数 Gi j 、 Hi j 的各个计算式中

sj = ( x1 - x2 )2

+ ( y1 - y2 )2

(6-27)

ri j = ( xi - xξ )2

+ ( yi - yξ )2

(6-28)

491

hi j由式 (6-25) 给出。

3 . 边界单元积分的近似计算

影响系数 Hi i 、 Gi i 分别由式 (6-20 ) 与式 ( 6-21 ) ; 非对角线的影响系数

Hi j 、Gi j是由式 (6-24 )和式 (6-26) 。由于被积函数中的

ri j是积分变量 ( xξ , yξ) 的函数 , 从 ri j 的表达式 (6-28) 以及式 (6-24 )、式 (6-26)

, 这两个边界单元的积分计算一般是很难获得精确值的 , 因此要采用数

值积分方法进行计算。式 ( 6-24 ) 与式 ( 6-26 ) hi j、 sj 与积分变量无关 , 分别

由式 (6-25)和式 ( 6-27) 。

在边界元方法中通常采用四点高斯积分公式进行数值积分

∫+ 1

- 1f(ξ)dξ = ∑

4

k = 1

wk f (ξk )

式中ξk 是高斯积分点的局部坐标 , wk 是相应高斯积分点的权系数。表 6-1 给出

ξk , wk 的数值。

表6-1 高斯积分点与权系数

k ξk wk

1 �- 0 6.86113631 0 u.34785485

2 �- 0 6.33998104 0 u.65214515

3 �+ 0 6.33998104 0 u.65214515

4 �+ 0 6.86113631 0 u.34785485

对应高斯积分点ξk 的 ri j记为 rk , 根据式 (6-28 )

rk = ( xi - xk )2

+ ( yi - yk )2

(6-29)

式中 ( xk , yk ) 是高斯积分点 ξk 的坐标 , 利用插值公式 , 可得

xk = x1 +(ξk + 1 )

2( x2 - x1 )

yk = y1 +(ξk + 1 )

2( y2 - y1 )

(6-30)

式中 ( x1 , y1 ) 和 ( x2 , y2 ) 分别是边界单元 Γj 中积分起始端点 (ξ= - 1 ) 和

积分终了端点 (ξ= + 1 ) 的坐标。于是 Hi j 、 Gi j的高斯四点数值积分的表达式为

Hi j = -sj hi j

4π ∑

4

k = 1

wk1rk

(6-31)

Gi j = -si

4π ∑

4

k = 1

wk ln1rk

(6-32)

6.2.6 区域内函数值的计算

在计算出边界上的 u 值和 q 值以后 , 则可以利用式 ( 6-4 ) 计算区域内任一

591

点 P 的函数值u( P)。为保持形式上的一致性 , 不妨对区域中的任意点记为 Pi ,

坐标为 ( xi , yi ) , u( Pi ) 记为 ui 。现将式 (6-4 )

之和

ui �= ∑N

j = 1

qj∫Γ

j

u*

( Pi , Q0 )dΓ - ∑N

j = 1

uj∫Γ

j

q*

( Pi , Q0 ) dΓ

-∫Ω

f( Q) u*

( Pi , Q) dΩ

注意到式 Pi 点不在Γj 中 , 上式可写成

ui = ∑N

j = 1

Gi j qj - ∑N

j = 1

Hi j uj - Bi (6-33)

图 6-9 区域 Ω数值积分的三角形单元

上式中 Gi j、 Hi j 可由式 (6-32)和式 (6-31 )

计算 , 式中的 sj、 hi j、 rk 分别由式 ( 6-

27) 、式 ( 6-25 ) 和式 ( 6-29 )

出。不过要注意此时 Pi 点并不在边界

上 , 而是区域中的内点。

式 (6-33) Bi 由式 ( 6-16)

分计算给出 , 由于积分区域 Ω通常是不

规则区域 , 因此要采用数值积分方法计

算 , 通常采用分块多点高斯积分方法进

行计算。具体做法是将区域 Ω剖分成 m

个三角形单元 ( 图 6-9) , 对每个三角形单元采用 7 点高斯积分公式 , 即

Bi \=∫Ω

f ( Q) u*

( Pi , Q) dΩ = ∑m

e = 1∫Ω

( e)

f ( Q ) u*

( Pi , Q) dΩ

= ∑m

e = 1∑

7

k = 1

A( e)

fk u*k wk (6-34)

上式中 A( e)

是 e 单元的面积 ; fk 、 u*

k 是第 k 个高斯积分点的 f 值和 u*值 ; wk 是

第 k 个高斯积分点相应的权系数。图 6-10 给出单元中 7 个高斯积分点的位置序

号。

假定三角形单元的顶点是单元结点 , 它的坐标 ( x( e)

i , y( e)

i ) ( i = 1 , 2 , 3)

是已知的 , 则这个 e 单元中的高斯积分点的坐标为

x1 =13

( x( e )1 + x

( e )2 + x

( e )3 ) , �y1 =

13

( y( e)1 + y

( e)2 + y

( e)3 )

x2 = α1 x( e)1 + β1 x

( e )2 + β1 x

( e)3 , y2 =α1 y

( e)1 + β1 y

( e )2 + β1 y

( e)3

x3 = β1 x( e )1 + α1 x

( e )2 + β1 x

( e)3 , y3 =β1 y

( e)1 + α1 y

( e )2 + β1 y

( e)3

691

图 6-10 三角形单元中的高斯积分点 �

x4 =β1 x( e)1 + β1 x

( e)2 +α1 x

( e)3 , �y4 =β1 y

( e)1 + β1 y

( e)2 +α1 y

( e)3

x5 = α2 x( e)

1 +β2 x( e )

2 + β2 x( e)

3 , y5 =α2 y( e)

1 + β2 y( e )

2 + β2 y( e)

3

x6 =β2 x( e)1 + α2 x

( e )2 + β2 x

( e)3 , y6 =β2 y

( e)1 + α2 y

( e )2 + β2 y

( e)3

x7 =β2 x( e)1 + β2 x

( e)2 +α2 x

( e)3 , y7 =β2 y

( e)1 + β2 y

( e)2 +α2 y

( e)3

其中

α1 = 0.79742699 β1 = 0.10128651

α2 = 0.05971587 β2 = 0.47014206

三角形单元的面积为

A( e )

=12

[ ( x( e )2 - x

( e )1 ) ( y

( e )3 - y

( e )1 ) - ( y

( e)2 - y

( e)1 ) ( x

( e)3 - x

( e)1 ) ]

fk 、 u*的表达式为

fk = f ( xk , yk )

u*k =

12π

ln1rk

式中 rk 是区域内坐标为 ( xi , yi ) 的结点 Pi 到 e 单元中第 k 个高斯积分点的距

rk = ( xi - xk )2

- ( yi - yk )2

式 (6-34)

w1 = 0.11250000

wk = 0.06296959 ( k = 2 , 3 , 4)

wk = 0.06619708 ( k = 5 , 6 , 7)

需要指出 , Bi 的积分式

791

Bi =∫Ω

f( Q) u*

( Pi , Q) dΩ

当 Pi = Q 时 , u*

( Pi , Q) , 因此这个积分是奇异积分 , 不过可以

证明 Pi 点是一个弱奇点 , 因此上述积分仍可按正常积分进行计算 , 并不产生

Couchy 积分的附加项。但在采用高斯数值积分计算时 , Pi 点不能与高斯点重合。

因此 , 在计算式 (6-33 ) , Pi 点一般取在三角形单元的结点 ( 顶点 ) 上 , 而高

斯点取在三角形单元的内部。

6.3 不可压无旋流动的线性边界元解

6.3.1 不可压无旋流动的数学方程

理想流体的无旋流动 , 由于没有粘性作用 , 因此在流体的运动过程中都将保

持无旋的性质

rot v = 0

根据全微分定理 , 必定存在速度势函数 φ, 使得

èφ= v

对于二维平面问题 , 在笛卡尔坐标中

�φ�x

= vx

�φ�y

= vy

(6-35)

对于二维不可压流体 , 根据连续性方程

div v = 0

在笛卡尔坐标中

�vx

�x= -

�vy

�y

根据全微分定理 , 必定存在称之为流函数的 ψ, 使得

�ψ�y

= vx

�ψ�x

= - vy

(6-36)

对于二维理想不可压流体的无旋运动 , 同时存在速度势函数 φ与流函数ψ,

根据式 ( 6-35) 与式 (6-36) , 不难得到 φ与ψ满足的数学方程

�2φ

�x2 +

�2φ

�y= 0 (6-37a)

�2ψ

�x2 +

�2ψ

�y2 = 0 (6-37b)

891

它们所满足的边界条件可按流场的具体情况给出。但根据 Laplace 方程的定

解条件 , 边界条件一般有两种 :

(1) 在边界 Γ1 上 , 给定函数值。如在固壁或自由面上 , 或者已知速度分布

的边界线上 , 流函数值 ψ= ψ是可以事先给出的。而在切向速度 vs = 0 的边界线

上 , 速度势函数 φ= const。

(2) 在边界 Γ2 上 , 给定函数的法向导数值。如在已知速度分布的边界线上

�φ�n

= vx nx + vy ny

�ψ�n

= - vy nx + vx ny

其中 ( vx , vy ) 是 Γ2 上已知的速度分量 , ( nx , ny ) 是 Γ2 的法向分量。在切向

速度 vs = 0 的边界上有

�ψ�n

= 0

在法向速度 vn = 0 的固壁或自由面上有

�φ�n

= 0

总之 , 理想不可压流体无旋运动的数学方程为下列形式的 Laplace 方程

�2

u�x

2 +�

2u

�y2 = 0 ( x , y ) ∈Ω

u Γ

1 = u

�u�n

Γ

2

= q

Γ2

= q

(6-38a)

(6-38b)

(6-38c)

上式中 Ω是求解区域 , Ω的边界为Γ= Γ1 + Γ2 。

这个方程是 6.2 节中分析过的 Poisson 方程 f = 0 的特例 , 边界元解的求解过

程已作了详细的讨论。本节主要是讨论线性边界单元的求解特点。

6.3.2 线性边界元解题分析

根据 6.2 节中的讨论 , 我们知道 , 对于式

u*

=1

2πln

1r

q*

=�u

*

�n=

- 12πr

�r�n

其中 r = PQ , 是源点 P 和场点 Q 两点间的距离。

场中任意一点 P 点的函数值u( P)

u( P) =∫Γ

[ q( Q0 ) u*

( P , Q0 ) - q*

( P , Q0 ) u( Q0 ) ] dΓ( Q0 ) (6-39)

991

由于在 Γ1 上的 q 值和Γ2 上的 u 值是未知函数 , 需要通过边界积分方程的求解

确定。记边界上的源点为 P0 , 边界积分方程为

C( P0 ) u( P0 ) =∫Γ

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( P0 , Q0 ) u( Q0 ) ] dΓ( Q0 )

(6-40)

下面我们分析线性边界单元。此时单元中有两个结点 , 单元中的未知函数将

表示成单元结点上函数值的线性多项式。从边界积分方程式 (6-40 ) 出发 , 先写

成单元的积分形式

C( Pi ) ui = ∑N

j = 1∫

Γj

q( Q0 ) u*

( Pi , Q0 ) dΓ( Q0 ) - ∑N

j = 1∫

Γj

q*

( Pi , Q0 ) u( Q0 ) dΓ( Q0 )

(6-41)

上式中 ui 是边界上 i 号结点 Pi 的函数值 , Γj 是 j 号边界单元子区域。考虑光滑

边界 , C ( Pi ) =12。

对任意 j 号边界单元 , 它的边界点为结点 , 分别是 j 号结点与 ( j + 1) 号结

点。假定边界单元线段长度为 sj , 边界单元线段上积分点到结点 j 的距离为 l

(图 6-11 ) , 则可以引进无量纲局部坐标

图 6-11 边界单元 Γj 上的无量纲局部坐标

ξ=2 lsj

, dΓ= d l =sj

2dξ

单元基函数为

Φ1 =12

( 1 - ξ)

Φ2 =12

( 1 +ξ)

于是在 Γj 单元中的 u, q 可以表示为

002

u(ξ) = ujΦ1 (ξ) + uj + 1 Φ2 (ξ)

q(ξ) = qjΦ1 (ξ) + qj + 1 Φ2 (ξ)

(6-42a)

(6-42b)

式中 uj 、 uj + 1 是结点 j 和结点 ( j + 1 ) 上的函数值 , qj、 qj + 1 是结点 j 和结点 ( j

+ 1 ) 上的函数法向导数值。将式 ( 6-42 ) (6-41 )

分式 , 可得

∫Γ

j

u( Q0 ) q*

( Pi , Q0 ) dΓ( Q0 ) =∫Γ

j

( ujΦ1 + uj+ 1 Φ2 ) q*

= uj∫Γ

j

Φ1 q*

dΓ + uj+ 1∫Γ

j

Φ2 q*

不妨记

H1i j =∫

Γj

Φ1 q*

dΓ =sj

2∫+ 1

- 1Φ1 (ξ) q

*( Pi ,ξ)dξ

H2i j =∫

Γj

Φ2 q*

dΓ =sj

2∫+ 1

- 1Φ2 (ξ) q

*( Pi ,ξ)dξ

(6-43a)

(6-43b)

于是有

∫Γ

j

u( Q0 ) q*

( Pi , Q0 ) dΓ( Q0 ) = H1

i j uj + H2

i j uj + 1 (6-44)

另一个单元积分式

∫Γ

j

q( Q0 ) u*

( Pi , Q0 ) dΓ( Q0 ) =∫Γ

j

( qjΦ1 + qj + 1 Φ2 ) u*

dΓ =

qj∫Γ

j

Φ1 u*

dΓ + qj + 1∫Γ

j+1

Φ2 u*

同样记

G1i j =∫

Γj

Φ1 u*

dΓ =sj

2∫+ 1

- 1Φ1 (ξ) u

*( Pi ,ξ) dξ

G2i j =∫

Γj

Φ2 u*

dΓ =sj

2∫+ 1

- 1Φ2 (ξ) u

*( Pi ,ξ) dξ

(6-45a)

(6-45b)

于是有

∫Γ

j

q( Q0 ) u*

( P , Q) dΓ = G1

i j qj + G2

i j qj + 1 (6-46)

将式

C(θ) ui + ∑j = 1

( H1i j uj + H

2i j uj + 1 ) = ∑

N

j = 1

( G1i j qj + G

2i j qj+ 1 )

102

将上式的求和号展开

C (θ) ui �+ ( H1

i1 u1 + H2

i1 u2 ) + ( H1

i2 u1 + H2

i2 u3 ) + ⋯

= ( G1i1 q1 + G

2i1 q2 ) + ( G

1i2 q2 + G

2i2 q3 ) + ⋯ (6-47)

对于单连通区域 , 边界首尾相接 , 应有

uN + 1 = u1 , qN + 1 = q1

将式 (6-47)

C (θ) ui Q+ ( H2

i N + H1

i1 ) u1 + ( H2

i1 + H1

i2 ) u2 + ⋯

+ ( H2i ( j - 1 ) + H

1i j ) uj + ⋯ + ( H

2i ( N - 1 ) + H

1iN ) uN

= ( G2i N + G

1i1 ) q1 + ( G

2i1 + G

1i2 ) q2 + ⋯ + ( G

2i ( j - 1 ) + G

1i j ) qj

+ ⋯ + ( G2

i ( N - 1 ) + G1

i N ) qN (6-48)

Hi j = H2i ( j - 1 ) + H

1i j ( i = 1 , 2⋯ N ; j = 2 , 3⋯ N)

Hi1 = H2i N + H

1i1 ( i = 1 , 2⋯ N)

(6-49a)

Gi j = G2i( j - 1 ) + G

1i j ( i = 1 , 2⋯ N ; j = 2 , 3⋯ N)

Gi1 = G2iN + G

1i1 ( i = 1 , 2⋯ N)

(6-49b)

于是式

C(θ) ui + ∑N

j = 1

Hi j uj = ∑N

j = 1

Gi j qj (6-50)

如果记

Hi j = Hi j ( i≠ j)

Hi j = Hi j +12

( i = j)(6-51)

则式

∑N

j = 1

Hi j uj = ∑N

j = 1

Gi j qj

( i = 1 , 2⋯ N )

和常数单元完全类似 , 由于在 Γu 边界上 u = u 是已知的 , Γq 边界上 q = q 是已

知的 ; 因此上式中 u1 、 u2 ⋯ un 以及 qn + 1 、 qn + 2 、 qn 都是已知量 ; 所以式 (6-49b)

是一个含有 N 个未知量 : q1 、 q2 ⋯ qn 和 un + 1 、 un + 1 ⋯ uN 的 N 阶线性代数方程组。

形式上和常数单元是完全相同的 , 同样可以写成和式 ( 6-17) 相同的线性代数方

AX = F (6-52)

式中的求解未知矢量

202

X = [ q1 、 q2 ⋯ qn , un + 1 、 un + 2 ⋯ uN ]T

系数矩阵

A =

- G11 ⋯ - G1 n H1 ( n + 1 ) ⋯ H1 N

… … … …

- Gn1 ⋯ - Gn n Hn( n + 1 ) ⋯ Hn N

- G( n + 1 ) 1 ⋯ - G( n + 1 ) n H( n + 1 ) ( n + 1 ) ⋯ H( n + 1 ) N

… … … …

- GN1 ⋯ - GN n HN( n + 1 ) ⋯ HN N

右端项矢量

F =

- H11 ⋯ - H1 n G1 ( n + 1 ) ⋯ G1 N

… … … …

- Hn1 ⋯ - Hn n Gn ( n + 1 ) ⋯ Gn N

- H( n + 1 ) 1 ⋯ - H( n + 1 ) n G( n + 1 ) ( n + 1 ) ⋯ G( n + 1 ) N

… … … …

- HN1 ⋯ - HN n GN( n + 1 ) ⋯ GN N

u1

un

qn + 1

qN

下面给出影响系数 Hi j、 Gi j 的计算表达式。将 u*、 q

*的表达式 (6-22 )

(6-23) Φ1 、Φ2 的表达式代入式 (6-43)和式 (6-45 ) , 可得

H1

i j =sj

2∫+ 1

- 1

12

(1 - ξ)- hi j

2πr2i j

dξ = -sj hi j

8π∫+ 1

- 1

1 - ξr

2i j

dξ (6-53a)

H2

i j =sj

2∫+ 1

- 1

12

(1 + ξ)- hi j

2πr2i j

dξ = -sj hi j

8π∫+ 1

- 1

1 + ξr

2i j

dξ (6-53b)

G1i j =

sj

2∫+ 1

- 1

12

(1 - ξ)12π

ln1ri j

dξ=sj

8π∫+ 1

- 1(1 - ξ) ln

1ri j

dξ (6-53c)

G2i j =

sj

2∫+ 1

- 1

12

(1 + ξ)12π

ln1ri j

dξ=sj

8π∫+ 1

- 1(1 + ξ) ln

1ri j

dξ (6-53d)

注意到上述式中 ri j 是源点 Pi 到 j 单元中积分点的距离 , hi j 是源点 Pi 到 j 单元的

垂直距离。

先计算影响系数矩阵 { Hi j }、{ Gi j } 中的对角线元素。由于 Pi 是 i 单元中的

i 结点 , 它在 i 单元中的无量纲局部坐标ξ= - 1 , 因此有

ri i =12

(1 + ξ) si

hi i = 0

同时 Pi 也是 ( i - 1) 单元中的 i 结点 , 它在 ( i - 1) 单元的无量纲局部坐标ξ=

1 , 因此有

302

ri( i - 1 ) =12

(1 - ξ) si - 1

hi ( i - 1 ) = 0

代入式 (6-53) , 显然有

H1i i = 0

H1

i ( i - 1 ) = 0

H2i i = 0

H2

i ( i - 1 ) = 0

根据式 (6-49a) 和式 (6-51)

Hi i =12

(6-54)

同时可计算出

G1

i i �=si

8π∫+ 1

- 1(1 - ξ) ln

2(1 + ξ) si

=si

8π∫+ 1

- 1( 1 - ξ) ln

2si

dξ -∫+ 1

- 1(1 - ξ) ln(1 + ξ) dξ

=si

8π(3 - 2ln si )

G2

i i �=si

8π∫+ 1

- 1(1 +ξ) ln

2(1 + ξ) si

=si

8π∫+ 1

- 1( 1 + ξ) ln

2si

-∫+ 1

- 1(1 + ξ) ln(1 + ξ) dξ

=si

8π(1 - 2ln si )

G1

i ( i - 1 ) �=si - 1

8π∫+ 1

- 1(1 - ξ) ln

2(1 - ξ) si - 1

=si - 1

8π∫+ 1

- 1(1 - ξ) ln

2si - 1

dξ -∫+ 1

- 1(1 - ξ) ln(1 - ξ) dξ

=si - 1

8π( 1 - 2ln si - 1 )

G2i ( i - 1 ) �=

si - 1

8π∫+ 1

- 1(1 +ξ) ln

2(1 - ξ) si - 1

402

=si - 1

8π∫+ 1

- 1(1 + ξ) ln

2si - 1

dξ -∫+ 1

- 1(1 + ξ) ln(1 - ξ) dξ

=si - 1

8π( 3 - 2ln si - 1 )

根据式

Gi i = G2

i ( i - 1 ) + G1

i i =1

8π[3( si + si - 1 ) - 2 ( si ln si + si - 1 ln si - 1 ) ] (6-55)

下面给出影响系数矩阵 { Hi j }、 { Gi j } 中的非对角线元素的表达式。根据式

Hi j �= H2i ( j - 1 ) + H

1i j

=- 18π

sj - 1 hi ( j - 1 )∫+ 1

- 1

1 + ξr

2i ( j - 1 )

dξ+ sj hi j∫+ 1

- 1

1 - ξr

2i j

dξ (6-56)

Gi j �= G2

i( j - 1 ) + G1

i j

=1

8πsj - 1∫

+ 1

- 1(1 + ξ) ln

1ri ( j - 1 )

dξ+ sj∫+ 1

- 1(1 - ξ) ln

1ri j

dξ (6-57)

在上述表达式中 , sj 是 j 单元的线段长度

sj = ( xj - xj - 1 )2

+ ( yj - yj - 1 )2

(6-58)

hi j是 Pi 点到 j 单元的垂直距离 , 根据 6.2.5 小节中常数边界单元所导出的表达式

(6-25) , 可得

hi j = ±( xj +

12

- xi ) ( yj + 1 - yj ) - ( yj +12

- yi ) ( xj + 1 - xj )

sj(6-59)

式中

xj +12

=12

( xj + xj + 1 ) , yj +12

=12

( yj + yj + 1 )

正负号按 C 值的正负决定

C = ( xj - xi ) ( yj + 1 - yi ) - ( xj + 1 - xi ) ( yj - yi )

C > 0 取正号 , C < 0 取负号。

积分式中 ri j 是 Pi 点到 j 单元中的积分点 ( xξ , yξ) 连线长度

ri j = ( xi - xξ )2

+ ( yi - yξ )2

(6-60)

积分点 ( xξ , yξ) 可以通过 j 单元中的无量纲局部坐标表示 :

xξ = xj +xj + 1 - xj

2(1 + ξ)

yξ = yj +yj + 1 - yj

2(1 + ξ)

(6-61a)

(6-61b)

502

将式 (6-58 )、式 (6-59)、式 ( 6-60 ) 和式 ( 6-61 ) 代入式 ( 6-56 ) 和式 (6-57 ) ,

即可计算 Hi j , Gi j 。一般可采用高斯数值积分进行计算 , 具体公式可参见 6.2 节

的有关内容。

求出影响系数矩阵 { Hi j } , { Gi j } 后 , 就可求解线性方程组式 ( 6-52 ) , 即可

获得 q1 、 q2 ⋯ qn 和 un + 1 、 un + 2 ⋯ uN 。这样 , 边界 Γ上的所有结点上的函数值 ui

和法向导数值 qi 都是已知值。于是可求出求解区域中任意一点的函数值

ui = ∑N

j = 1

Gi j qj - ∑N

j = 1

Hi j uj

6.4 若干线性算子方程的基本解

前面两节详细推导了 Laplace 算子方程的边界元解。从求解过程可以看出 ,

一个算子方程 L ( u) = f 是否可以应用边界元法 , 首要条件是这个算子方程存

在基本解 , 并以基本解作为权函数 , 采用加权余量法 , 并应用 Green 公式 , 推导

出等价的积分方程。然后以积分方程为出发点 , 建立边界积分方程 , 再进行边界

有限元的离散求解。可见 , 算子方程能否采用边界元法应具备两个条件 :

(1) 存在基本解 u*

, 满足

L( u*

) + δ( P , Q) = 0

式中 P 是求解区域中的源点 , Q 是场点。δ ( P , Q) 是 Diracδ函数

(2) L = L( u) , 满足

〈L( u) , v〉=〈L( v) , u〉

这个条件可保证采用 u*作为权函数 , 采用加权余量法 , 可推导出等价的积分方

程。

下面给出若干算子方程的基本解。

1 . 一维方程

(1) Laplace 方程

d u*

d x+ δ( P , Q ) = 0

u*

=r2

(2) Helmholts 方程

d2

u*

d x2 + λu

*+ δ( P, Q) = 0

u*

= -1

2λsin (λr)

(3) 波动方程

602

c2 �

2u

*

�x2 -

�2

u*

�t2 + δ( P, Q)δ( t) = 0

u*

=1

2 cH( ct - r) , H 是单位阶梯函数

(4) 扩散方程

�2

u*

�x2 -

1k�u

*

�t+ δ( P , Q)δ( t ) = 0

u*

= -H ( t )

4πktexp -

r2

4 kt

(5) 对流衰减方程

�u*

�t+ u

�u*

�x+ βu

*+ δ( P , Q)δ( t ) = 0

u*

= - exp -βru

δ t -ru

上述式中 r 是 P、 Q 点之间的距离 , r = | xP - xQ | 。

2 . 二维方程

(1) Laplace 方程

�2

u*

�x2 +

�2

u*

�y2 + δ( P, Q) = 0

u*

=1

2πln

1r

(2) Helmholts 方程

�2

u*

�x2 +

�2

u*

�y2 + λ

2u

*+ δ( P, Q) = 0

u*

=1

4 iH

2

0 (λr) , H0 是 Hankle 函数 ;

(3) D′Arcy 方程

k1�

2u

*

�x2 + k2

�2

u*

�y2 + δ( P, Q) = 0

u*

=1

k1 k2

12π

ln1r0

(4) 波动方程

c2 �

2u

*

�x2 +

�2

u*

�y2 -

�2

u*

�t2 +δ( P , Q)δ( t) = 0

u*

= -H( ct - r)

2πc( c2

t2

- r2

)

(5) 热传导方程

702

�2

u*

�x2 +

�2

u*

�y2 -

1k�u

*

�t+ δ( P, Q)δ( t ) = 0

u*

= -1

4πktexp -

r2

4 kt

上述式中 r = PQ是 P 点到 Q 点距离

r = ( xP - xQ )2

+ ( yP - yQ )2

r0 =1k1

( xP - xQ )2

+1k2

( yP - yQ )2

3 . 三维方程

(1) Laplace 方程

�2

u*

�x2 +

�2

u*

�y2 +

�2

u*

�z2 + δ( P , Q ) = 0

u*

=1

4πr

(2) Helmholts 方程

�2

u*

�x2 +

�2

u*

�y2 +

�2

u*

�z2 +λu

*+ δ( P , Q ) = 0

u*

=1

4πrexp( - iλr)

(3) D′Arcy 方程

k1

�2

u*

�x2 + k2

�2

u*

�y2 + k3

�2

u*

�z2 + δ( P, Q) = 0

u*

=1

k1 k2 k3

14πr0

(4) 波动方程

c2 �

2u

*

�x2 +

�2

u*

�y2 +

�2

u*

�z2 -

�2

u*

�t2 + δ( P , Q )δ( t ) = 0

u*

=1

4πrδ t -

rc

(5) 热传导方程

�2

u*

�x2 +

�2

u*

�y2 +

�2

u*

�z2 -

1k�u

*

�t+ δ( P, Q)δ( t) = 0

u*

= -1

(4πkt)3�/2 exp -

r2

4 kt

上述式中 r = PQ是 P 点到 Q 点距离

802

r = ( xP - xQ )2

+ ( yP - yQ )2

+ ( zP - zQ )2

r0 =1k1

( xP - xQ )2

+1k2

( yP - yQ )2

+1k3

( zP - zQ )2

下面以三维 Helmholts 方程边值问题为例 , 推导边界积分方程。Helmholts 方

程边值问题如下 :

è2

u +λ2

u = 0 ( x , y , z) ∈Ω

u Γ

1

= u

�u�n

Γ2

= q

Γ2

= q

方程的相应算子为

L = è2+ λ

2

算子方程

L = L( u) = è2

u + λ2

u = 0

的基本解

u*

=1

4πrexp( - iλr) r = r( P , Q) = PQ

并记

q*

=�u

*

�n

不难验证 u*

= u*

( P, Q) :

(1) L( u*

) = è2

u*

+ λ2

u*

= - δ( P, Q)

这是因为当 r≠0 时 , 有

L( u*

) = è2

u*

+ λu*

= 0

当 r = 0 时 , 有

L( u*

) = è2

u*

+ λ2

u*

= ∞

(2) 对于任一连续函数 g = g( Q) , 有

∫Ω

L( u*

) g( Q) dΩ( Q) �=∫Ω

(è2

u*

+ λ2

u*

) g( Q) dΩ( Q)

= -∫Ω

δ( P, Q) g( Q) dΩ( Q) = - g( P)

现以基本解 u*

= u*

( P , Q) 作为权函数 , 计算方程余量与权函数的内积 ,

并导出边界积分方程。

902

∫Ω

(è2

u + λ2

u ) u*

( P, Q) dΩ( Q)

=∫Ω

[ è (è u· u*

) - è u·è u*

+ λ2

uu*

] dΩ

=∫Γ

�u�n

u*

dΓ -∫Ω

[è (è u*· u) - è

2u

*· u + λ

2u

*u] dΩ

=∫Γ

qu*

dΓ -∫Γ

�u*

�nudΓ -∫

Ω

(è2

u*

- λ2

u*

) udΩ

=∫Γ

( qu*

- q*

u) dΓ -∫Ω

(è2

u*

- λ2

u*

) udΩ = 0

注意到上式中第二个积分式中 u*

= u*

( P, Q ) , P 是源点 , Q 是区域Ω中的积分

点 , 根据基本解的性质 , 应有

∫Ω

[è2

u*

( P , Q) - λ2

u*

( P, Q) ] u( Q) dΩ = u( P)

于是可得积分方程

u( P) =∫Γ

[ q( Q0 ) u*

( P , Q0 ) - q*

( Q0 ) u( P, Q0 ) ] dΓ( Q0 )

上式中 P 是Ω中的源点 , Q0 是边界 Γ上的积分点。当 P 趋向Γ上的任一点 P0

时 , 则在 Γ上的积分为奇异积分 , 此时和本章§2.3 中的推导相类似 , 可获得边

界积分方程

12

u( P0 ) =∫Γ

[ q( Q0 ) u*

( P0 , Q0 ) - q*

( Q0 ) u( P0 , Q0 ) ] dΓ

从上述例子可见 , 对于一个微分方程 , 只要可以将原方程变换成已有基本解

的算子方程 , 而且这个算子是对称算子 , 就可以采用加权余量法 , 推导出边界积

分方程 , 从而可以采用边界元方法进行求解。

6.5 非线性问题的边界元解法

边界元法的出发点是边界积分方程 , 而一个微分方程是否能获得边界积分方

程 , 取决于相应的微分算子方程是否存在基本解 , 而且这个算子是线性对称算

子。因此 , 对于非线性的微分方程问题 , 由于无法直接导出边界积分方程 , 从而

无法采用边界元法。但是 , 可以通过一种迭代解法 , 将非线性问题转化为线性问

题 , 进行求解。

这种迭代解法的基本思想是将非线性微分方程中的非线性微分算子与线性微

012

分算子分开 , 将非线性项移到右端项 , 作为已知的右端项函数进行处理。也就是

把非线性算子方程写成

L( u) + N( u ) = p

其中 L 是线性微分算子 , N 是非线性微分算子 , p 是右端项已知函数。将非线

性项移到右端 , 得

L( u) = p - N( u) (6-62)

如果设法对未知函数 u, 给出一个已知的初始值 u0 , 再将 u0 代入非线性项中 ,

于是 N( u0 ) , 代入式 (6-62 ) , 得

L( u ) = p - N( u0 ) (6-63)

这就是一个线性微分算子方程。可以采用边界元法对式 (6-63) , 获得一

次近似解 u1 。当第 k 次近似解 uk 获得后 , 可按下面的迭代方程

L( uk + 1 ) = p + N ( uk ) ( k = 0 , 1, 2⋯ )

采用边界元法求出 ( k + 1) 次近似解 uk + 1 。当

� uk + 1 - uk � <ε

时 , 迭代结束 , u = uk + 1 为收敛解。

需要指出 , 上面只是给出求解非线性微分方程问题的边界元解法的一般原

则 , 至于用这种方法如何才可能获得收敛解 , 如何给出初值等等问题 , 还需深入

研究。

112

第 7 章 流体力学有限分析法

7.1 有限分析法的基本思想与求解步骤

7.1.1 基本思想

偏微分方程数值方法有很多种 , 但基本原则是通过某种数学原理 , 将偏微分

方程转化为代数方程组 , 从而求解出求解区域中各个离散点上的函数值。有限分

析法是在有限元方法基础上发展起来的一种数值方法 ; 它通过在矩形单元中求解

方程 , 获得局部分析解的途径 , 将偏微分方程转化为代数方程组。这种方法是

1977 年 , J.R.Cheng (陈景仁 ) 为解决求解对流扩散方程出现数值失真的问题首

先提出的。

有限分析法的基本思想是 : 将求解区域划分成有限个规则的矩形单元 ; 每个

单元中的求解函数 , 通过微分方程在单元子区域中的分析解来表达 ( 这不同于有

限元方法中的求解函数是单元基函数的线性组合表达式 ) ; 为获得单元中的局部

分析解 , 单元子区域的边界条件 , 将采用插值函数逼近 ; 如果方程非线性 , 则在

单元中将非线性项局部线性化。这样 , 每个单元中心结点的函数值和单元边界结

点的函数值可通过单元分析解构成一个代数方程 , 称为单元有限分析方程 , 将所

有内点上的单元有限分析方程联立 , 就构成总体有限分析方程 , 通过代数方程组

数值求解 , 即可获得求解区域中全部离散点的函数值。

7.1.2 求解步骤

设算子方程

L(�) = G ( 7-1)

式中�是求解函数 , L 是偏微分算子 , G = G ( x , y ) 是偏微分方程非齐次项。

当�表示速度分量或涡量时 , 则算子方程式 (7-1)

Re ( u�x + v�y ) = �x x + �y y + G ( 7-2)

即为 N - S 方程 , 或涡量输运扩散方程。式中

�x ≡���x

�y ≡���y

�x x ≡�

2�

�x2 �y y ≡

�2�

�y2

如果�表示温度 , 则算子方程式 (7-1) :

Pe ( u�x + v�y ) = �x x + �y y + G ( 7-3)

上式中 Pe 是 Peclet 数。

边界条件是 : 在求解区域的边界上 , 给定函数值�或法向导数���n

采用有限分析法求解上述问题 , 可按下列步骤进行 :

1 . 划分网格与单元

由于有限分析法要在单元中求出局部分析解 , 因此对单元形状有特别要求 ,

必须是矩形单元 , 如不是矩形单元 , 要先变换成矩形单元。具体做法是将求解区

域划分成均匀的矩形网格 , 网格线沿 x 方向和 y 方向分别编以序号 , 以 i、 j 表

示 (图 7-1)。网格线的交点称为结点 , 每个内部结点对应一个单元 , 它是由这

个结点相邻的四个网格组成。在单元中建立局部坐标 , 结点 p 为原点 , x 方向网

格间距为 h , y 方向网格间距为 k ( 图 7-2) , 单元中的分析解将在这个局部坐标

中求解获得。

图 7-2 单元与结点图 7-1 网格与单元

任取一个网格序号为 i , j 的内部结点 p, 它所对应的单元如图 7-2 所示 , 共

有 9 个结点 , 除中心结点 p 以外 , 单元边界上共有 8 个结点、方便起见以东

( E) 、西 ( W)、南 (S) 、北 (N) 、中 (C) 来标记 , 这样边界上 8 个结点分别记

为 NE、EC、SE、SC、SW、WC、NW、NC。

需要注意的是 : 每个内部结点对应一个单元 , 这个单元由结点相邻的四个网

格组成 , 因此相邻结点所对应的单元是相互覆盖的。

2 . 单元中方程局部线性化

如果求解的偏微分方程是非线性的 , 则在矩形单元子区域中获得分析解是十

分困难的 , 因此要进行局部线性化的近似处理。现不妨以式 ( 7-2 ) , 由于对

流项中速度分量 u、 v 是未知函数 , 因此是非线性方程 ; 局部线性化的方法是在

单元中以 p 点的 u、 v 值 up 、 vp 来替代式 ( 7-2) u、 v 函数 , 式 (7-2 )

性偏微分方程

Re ( up�x + vp�y ) = �x x + �yy + G ( 7-4)

312

3 . 确定单元子区域边界条件

图 7-3 单元边界函数与结点函数值

为了在单元子区域中求出

如式 ( 7-4 )

程的分析解 , 必须给出单元子

区域边界上的函数表达式 , 即

必须给出单元四个边界上的函

数 �E , �S , �W , �N ( 图 7-

3)。但这些边界函数事先是不

可能已知的 , 为克服这个困

难 , 可以假定边界函数是边界

结点值的插值函数 , 通常有三

种形式的插值函数 ; 以�E =

�E ( y) :

(1) 指数多项式函数

�E ( y ) = aE ( e2 By

- 1) + bE y + cE ( 7-5)

对于方程式 (7-4) , 上式中 B =12

Re vp 。

(2) 二次多项式函数

�E ( y ) = aE + bE y + cE y2

( 7-6)

(3) 分段线性函数

�E ( y ) =aE + bE y ( 0≤ y≤ k )

aE + cE y ( - k≤ y≤0)( 7-7)

上述边界函数表达式中的系数 aE 、 bE 、 cE , 可通过单元相应边界上的结点

函数值�NE 、�EC 、�S E 给出的插值条件确定 :

�NE = �E ( k )

�EC = �E (0)

�SE = �E ( - k )

单元子区域另外三个边界上的边界函数�S ( x )、�W ( y ) 、�N ( x )构成的形式与

�E 相同。

4 . 求出单元中的分析解

由于求解函数�= �( x , y) , 因此可以对

局部线性化的偏微分方程式 ( 7-4 ) 。在本章以后几节中可以看到 , 通过

分离变量法可以获得分析解。这个分析解可以写成如下形式

�( x , y) = f (�E , �W , �S , �N , x , y , h , k , G) ( 7-8)

412

式中�E 、�W、�S 、�N 是单元边界函数 , 与边界结点函数值有关

�E = �E (�NE , �EC , �SE , k , y )

�W =�W (�NW , �WC , �SW , k , y )

�S = �S (�SW , �SC , �SE , h , x )

�N =�N (�NW , �NC , �NE , h , x )

5 . 建立单元有限分析方程

单元中的分析解表达式 (7-8) , 通过这个分析解

可以将单元中原点 ( p 点 ) 的函数值和单元边界上的 8 个结点函数值联系起来。

由于在 p 点 x = 0 , y = 0; 因此这个关系式变得十分简单 , 是一个线性表达式

�p = CEC�EC + CNE�NE + CSE�SE + CNC�NC + CNW�NW + CWC�WC + CSW�SW + CS C�SC + Cp G

( 7-9)

这个线性代数方程将 p 结点函数值与相邻的 8 个结点的函数值联系起来 , 称为单

元有限分析方程。如果以整个区域的网格点序号来表示 , 则式 (7-9)

�i , j = xCi + 1 , j�i + 1 , j + Ci + 1 , j + 1�i + 1 , j + 1 + Ci + 1 , j - 1 �i + 1 , j - 1

+ Ci , j + 1 �i , j + 1 + Ci - 1 , j + 1 �i - 1 , j + 1 + Ci - 1 , j�i - 1 , j

+ Ci - 1 , j - 1 �i - 1 , j - 1 + Ci , j - 1�i , j - 1 + Ci , j G (7-10)

有限分析方程式 ( 7-9) 或式 (7-10) 中的各项系数 , 可通过单元分析解的

计算获得 , 对于给定的常系数微分方程 , 只和网格间距有关 ; 对任何网格间距相

同的单元 , 这些系数都是相同的。

6 . 求解总体有限分析方程

对于求解区域中任一个网格序号为 i , j 的结点p( i , j) , 都对应有一个如式

(7-10) 。若求解区域有 N 个内点 , 则有 N 个单元有限

分析方程 , 联立起来成为总体有限分析方程 , 这是一个 N 阶的线性代数方程组。

将区域边界结点上的已知函数值代入后 , 就可通过数值计算获得全部内点上的函

数值。如果有若干边界结点上给出的不是函数值 , 而是法向导数值 , 则可采用合

适的差分格式 , 建立起与这些结点数目相同的补充代数方程 , 然后联立求

解。

从上述有限分析法的基本思想和解题过程可以看出 , 有限分析法具有下面几

个特点 :

(1) 一个偏微分方程是否可以采用有限分析法求解 , 关键是看这个偏微分方

程经局部线性化处理后 , 能否在矩形单元子区域中获得分析解。

(2) 虽然有限分析解数值计算后获得的是求解区域中各个离散结点上的函数

值 , 但是由于每一个内点在它对应的单元内都有分析解表达式 , 因此有限分析解

在每一个结点的局部区域内 , 都是连续可微的。这样 , 对于需要计算求解函数导

512

数的数学物理问题 ( 如位势流动中的流函数、势函数方程 ) , 具有明显的优点。

(3) 和有限元方法、有限差分法相比较 , 有限分析法是通过单元中的分析解

将中心点与相邻 8 个结点发生联系 ; 而有限元方法是通过单元中加权余量积分

式 , 将单元中各个结点函数值联系起来 ; 而有限差分法 , 通常是通过差分格式将

中心点与前后上下 4 个点联系起来 , 因此有限分析法具有较高精度。

(4) 由于单元有限分析方程是通过单元中偏微分方程的分析解推导出来的 ,

单元边界上 8 个结点对中心结点的影响 , 一般是不对称的。深入研究表明 , 它具

有自动迎风特性 , 可较好地模拟流体运动中的对流效应 , 避免对流项给数值计算

带来的振荡失真现象。

(5) 有限分析法必须将区域划分成规则的矩形单元 , 这样就很难适应复杂形

状的求解区域。为此 , 对于复杂形状的非规则的网格 , 必须先进行变换 , 这显然

会给方法的应用带来一些麻烦。

7.2 椭圆型方程的有限分析解

流体力学中位势流动的流函数、势函数方程 , 定常的 Navier—Stokes 方程 ,

定常的对流扩散方程都是椭圆型偏微分方程。因此我们将对一般的二维椭圆型方

程进行有限分析法的求解 , 推导这一类方程在单元子区域中的分析解 , 建立单元

有限分析方程。

在矩形单元子区域内 , 局部线性化的二维定常椭圆型方程 , 一般可以表示为

2 A�x + 2 B�y = �x x + �y y (7-11)

上式中 A、 B 是单元内局部线性化后的常系数。当 �表示速度分量 , 2 A = Re up ,

2 B = Re vp 时 , 式 ( 7-11) N - S 方程。当 �表示涡量 , 2 A = Re up , 2 B =

Re vp 时 , 式 (7-11 ) 。当 �表示流函数 , 2 A = 0 , 2 B

= 0 时 , 式 ( 7-11) Laplace 方程。式中 up 、 vp 是单元

中心结点 p 处的速度分量。

在如图 7-3 所给出的单元子区域内 , 求方程式 ( 7-11 ) , 定解条件是

先给定单元四个边界上的边界函数�E ( y ) 、�W ( y )、�S ( x )、�N ( x )。下面将对三

种不同类型的边界函数 , 求出方程 (7-11) 。

7.2.1 边界函数为指数多项式的有限分析解

1 . 确定边界函数

在如图 7-3 所示的局部坐标中的单元子区域内 , 求解式 ( 7-11 )

偏微分方程

2 A�x + 2 B�y = �x x + �y y

612

边界条件如下 :

东边界 : x = h 上

�= �E ( y ) = aE ( e2 By

- 1 ) + bE y + cE (7-12a)

西边界 : x = - h 上

�= �W ( y ) = aW ( e2 By

- 1 ) + bW y + cW (7-12b)

北边界 : y = k 上

�= �N ( x ) = aN ( e2 Ax

- 1) + bN x + cN (7-12c)

南边界 : x = - k 上

�= �S ( x ) = as ( e2 Ax

- 1) + bS x + cS (7-12d)

上述式中的系数 aE 、 bE 、 cE 、 aW、 bW 、 cW 、 aN 、 bN 、 cN 、 aS 、 bS 、 cS 通过插

值条件 , 由各个边界上的结点函数值来确定。例如在东边界上 , 有插值条件

�EC = �E ( 0) = cE

�NE = �E ( k) = aE ( e2 Bk

- 1) + bE k + cE

�SE = �E ( - k) = aE ( e- 2 Bk

- 1 ) - bE k + cE

联立求解上述代数方程可得

aE =�NE + �SE - 2�EC

4sh2

( Bk)(7-13a)

bE =1

2 k[�NE - �S E - coth( Bk ) (�NE + �SE - 2�EC ) ] (7-13b)

cE = �EC (7-13c)

用同样方法 , 不难获得其他各个系数 :

aW =�NW + �SW - 2�WC

4sh2

( Bk)(7-14a)

bW =1

2 k[�NW - �SW - coth( Bk) (�NW + �SW - 2�WC ) ] (7-14b)

cW = �WC (7-14c)

aN =�NE + �NW - 2�NC

4sh2

( Ah)(7-15a)

bN =1

2 h[�NE - �NW - coth( Ah) (�NE + �NW - 2�NC ) ] (7-15b)

cN = �NC (7-15c)

aS =�S E +�SW - 2�SC

4sh2

( Ah)(7-16a)

bS =1

2 h[�S E - �SW - coth( Ah ) (�SE + �SW - 2�S C ) ] (7-16b)

cS = �SC (7-16c)

712

2 . 求解函数的替换与线性分解

为求解方便 , 不妨引进函数替换

� ( x , y ) = �*

( x , y ) eAx + B y

(7-17)

代入方程式 (7-11) , 求解方程变换成

�*x x + �

*y y = ( A

2+ B

2) �

*(7-18)

根据边界条件式 (7-12) , 上述方程的边界条件为

�*

( x , k ) = �*N ( x ) = e

- Bk[ aN e

Ax+ bN xe

- Ax+ ( cN - aN ) e

- Ax]

�*

( x , - k ) = �*

S ( x ) = eBk

[ aS eAx

+ bS xe- Ax

+ ( cS - aS ) e- Ax

]

�*

( h , y ) = �*E ( x ) = e

- Ah[ aE e

By+ bE ye

- By+ ( cE - aE ) e

- By]

�*

( - h , y ) = �*W ( x ) = e

Ah[ aW e

By+ bW ye

- By+ ( cW - aW ) e

- By]

(7-19a)

(7-19b)

(7-19c)

(7-19d)

为了顺利求解满足非齐次边界条件式

解函数�x

( x , y ) , 令

�*

( x , y ) = N( x , y ) + S( x , y ) + E( x , y ) + W( x , y ) (7-20)

函数 N、 S、 E、 W 将分别满足下列 4 个方程和简化的边界条件

Nx x + Ny y = ( A2

+ B2

) N

N( x , k ) = �*N ( x )

N( x , - k ) = N( h , y ) = N( - h , y ) = 0

(7-21)

Sx x + Sy y = ( A2

+ B2

) S

S( x , - k ) = �*

S ( x )

S( x , k ) = S( h, y) = S( - h , y ) = 0

(7-22)

Ex x + Ey y = ( A2

+ B2

) E

E( h , y ) = �*E ( y )

E( - h , y ) = E( x , k ) = E( x , - k) = 0

(7-23)

Wx x + Wy y = ( A2

+ B2

) W

W( - h , y ) = �*

W ( y )

W( h , y ) = W( x , k ) = W( x , - k) = 0

(7-24)

通过上述式 (7-20) , 将方程式 ( 7-18 ) 转化为式 ( 7-21 ) 至式 ( 7-

24) , 而这 4 个方程由于边界条件得到简化 , 求解比较容易。

3 . 分离变量法求出方程分析解

由式 (7-21)至式 ( 7-24) 。下面

以 N( x , y ) 。

不妨设 N( x , y )

N( x , y ) = X( x) Y ( y) (7-25)

812

代入式 (7-21)

X″Y + XY″= ( A2

+ B2

) XY

由于线性化方程中的系数 A, B 都是常数 , 因此由上式可得

-X″X

=Y″Y

+ ( A2

+ B2

) = λ2

其中λ是常数 , 在求解过程中确定。从上式不难推导出 X、 Y 所满足齐次边界条

件的方程

X″+ λ2

X = 0

X( - h) = X( h) = 0(7-26)

Y″- ( A2

+ B2

+ λ2

) Y = 0

Y ( - k) = 0(7-27)

满足式 (7-26)、式 (7-27)

X = c1 sin [λ ( x + h) ] λ= λn =nπ2 h

( n = 1 , 2⋯ ) (7-28)

Y = c2 sh [μ ( y + k ) ] μ= μn = A2

+ B2

+ λn ( n = 1 , 2⋯ ) (7-29)

于是满足方程式 (7-21)

N ( x , y ) = ∑∞

n = 1

AN

n sh[μn ( y + k) ] sin[λn ( x + h) ] (7-30)

系数 AN

n 可以利用式 (7-21)

N( x , k) = �*

N ( x) = ∑∞

n = 1A

N

n sh(2μn k ) sin[λn ( x + h) ] (7-31)

显然 AN

n sh ( 2μn k ) 正是式 (7-31 ) Fourier 系数

ANn sh (2μn k ) = ��

1h∫

h

- h�

xN ( x ) sin[λn ( x + h) ] d x

=e

- Bk

h∫h

- h[ aN e

Ax+ bN e

- Ax+ ( cN - aN ) e

- Ax] sin[λn ( x + h) ]d x

积分上式 , 可以求出 ANn 的表达式

ANn =

e- Bk

sh(2μn k)[ aN eon + bN he1 n + ( cN - aN ) e2 n ] (7-32a)

其中

e0 n �=1h∫

h

- he

Axsin[λn ( x + h) ]d x

=λn h

( Ah )2

+ (λn h)2 [ e

- Ah- ( - 1)

ne

Ah] (7-32b)

e1 n �=1h

2∫h

- hxe

- Axsin[λn ( x + h) ]d x

912

=2( Ah) (λn h)

[ ( Ah)2

+ (λn h )2

]2 [ e

Ah- ( - 1)

ne

- Ah] (7-32c)

e2 n �=1h∫

h

- he

- Axsin[λn ( x + h) ] d x

=λn h

( Ah)2

+ (λn h)2 [ e

Ah- ( - 1)

ne

- Ah] (7-32d)

式 N( x , y) ; 采用类似方法 , 可以获得

式 (7-22)、式 (7-23)和式 ( 7-24) :

S( x , y) = ∑∞

n = 1

ASn sh[μn ( y - k ) ] sin[λn ( x + h) ] (7-33)

E( x , y ) = ∑∞

n = 1

AEn sh[μ′n ( x + h) ] sin[λ′n ( y + k ) ] (7-34)

W( x , y ) = ∑∞

n = 1

AW

n sh[μ′n ( x - h) ] sin[λ′n ( y + k ) ] (7-35)

其中λ′n =nπ2 k

, μ′n = A2

+ B2

+λ′2n ; 系数 A

Sn 、 A

En 、 A

Wn 可以通过相应的非齐次

边界条件确定。

根据已经获得分析表达式的 N( x , y ) , S ( x , y ) , E( x , y ) , W( x , y ) , 我们已

经获得满足方程式 (7-11) ( 7-12) :

�( x , y ) = [ N( x , y ) + S( x , y) + E( x , y ) + W( x , y) ] eAx + By

(7-36)

4 . 建立有限分析方程

单元中的有限分析方程是通过分析解式 (7-36) , 将单元中心结点 p 处的函数

值与单元边界上 8 个结点联系起来的代数方程式。 p 点的坐标为 x = 0 , y = 0; 为

此需要通过分析解表达式 , 推导 N(0 , 0)、S(0 , 0)、E(0 , 0) 和 W( 0 , 0)

式。下面对 WN

(0 , 0 ) 。

Np = N(0 , 0) = ∑∞

n = 1

AN

n sh(μn k) sin(λn h) (7-37)

将如式 (7-32a) 所示的 AN

n 代入上式 , 并注意到

sin(λn h) = sinnπ2

=0 n = 2 m

( - 1)m+ 1

n = 2 m - 1

( m = 1 , 2⋯ ) ; 则可以将式 (7-37)

Np = ∑∞

m = 1

( - 1)m+ 1

e- Bk

sh (μm k)sh(2μm k )

[ aN e0 m + bN he1 m + ( cN - aN ) e2 m ] (7-38)

上式中

μm = A2

+ B2

+ λ2

m , λm =(2 m - 1) π

2 h

022

注意到

sh(μm k )sh(2μm k )

=1

2ch (μm k)

并将 e0 m , e1 m , e2 m 的表达式 (7-32b )、式 (7-32c) 、式 ( 7-32d ) 代入式 ( 7-38 )

难推导出

Np = �12

e- Bk

{2 aN E1 ch( Ah) + bN h[ 4 AhE2 ch( Ah)

- 2 E1 sh( Ah) ] + 2 ( cN - aN ) E1 ch( Ah) } (7-39)

上式中

Ei = ∑∞

m = 1

( - 1 )m + 1

λm h[ ( Ah)

2+ (λm h )

2]

ich(μm k)

( i = 1 ,2 ) (7-40)

为了使 Np 与边界上的结点值联系起来 , 将 aN 、 bN 、 cN 的表达式 ( 7-15 ) 代入式

(7-39) , 就可以推导出

Np = �e- B k

{ [12

E1 - AhE2 coth( Ah) ] ( e- Ah

�NE

+ eAh�NW ) + [2 AhE2 ch( Ah)coth( Ah) ]�NC } (7-41)

完全相同的方法 , 可以推导出

Sp = )eBk

{[12

E1 - AhE2 coth( Ah) ] ( e- Ah

�SE

+ eAh�SE ) + [2 AhE2 ch( Ah)coth( Ah) ]�SC } (7-42)

Ep = �e- Ah

{[12

E′1 - BkE′2 coth( Bk ) ] ( e- Bk

�NE

+ eBk�SE ) + [2 BkE′2 ch( Bk )coth( Bk ) ]�EC } (7-43)

Wp = �eAh

{ [12

E′1 - BkE′2 coth ( Bk ) ] ( e- Bk

�NW

+ eB k�SW ) + [2 BkE′2 ch( Bk )coth( Bk ) ]�WC } (7-44)

上式中 Ei 如式 (7-40) , E′i 表达式如下

E′i = ∑∞

m = 1

( - 1)m + 1

λ′m k

[ ( Bk )2

+ (λ′m k)2

]ich(μ′m h)

( i = 1 , 2) (7-45)

其中

λ′m =(2 m - 1)π

2 k μ′m = A

2+ B

2+ λ′

2m

根据式 (7-36) , 求解函数在单元中心结点 p 处的函数值

�p = �(0 , 0 ) = Np + Sp + Ep + Wp

将式 (7-41)至式 ( 7-45) Np , Sp , Ep , Wp 表达式代入上式 , 即可获得中

心结点函数值�p 与相邻的边界结点函数值的代数关系式

122

�p �= ( e- Ah - Bk

�NE + eAh - Bk

�NW + e- Ah + B k

�SE

+ eAh + Bk

�SW ) [12

( E1 + E′1 ) - AhE2 coth( Ah)

- BkE′2 coth( Bk) ] + 2 AhE2 ch( Ah) coth( Ah)·

( e- Bk

�NC + eB k�SC ) + 2 BkE′2 ch( Bk ) coth( Bk)·

( e- Ah

�EC + eAh�WC ) (7-46)

由于上式中参数 A、 B、 h、 k 都是方程中给出的常数 , 因此上述表达式中所有

系数都是常数 , 是一个线性代数表达式。这个表达式将单元中心点的 �p 与单元

边界上的 8 个函数值 �NE , �NW , ⋯�EC , �WC 联系起来 , 称为单元中的有限分析方

程。简洁起见 , 有限分析方程可以表示成如下形式 :

�p = fCNE�NE + CNW�NW + CS E�S E + CSW�SW

+ CWC�WC + CEC�EC + CSC�SC + CNC�NC (7-47)

式中各个系数

CNE = e- Ah - Bk

E*

, CNW = eAh - Bk

E*

CSE = e- Ah + Bk

E*

, CSW = eAh + B k

E*

CNC = e- Bk

EA , CSC = eBk

EA

CEC = e- Ah

EB , CWC = eAh

EB

(7-48)

其中

E*

=12

( E1 + E′1 ) - AhE2 coth( Ah) - BkE′2 coth ( Bk )

EA = 2 AhE2 ch( Ah) coth( Ah)

EB = 2 BhE′2 ch( Bk )coth( Bk ) ( 7-49)

5 . 系数的简化

在对全部内点的单元有限分析方程进行联立求解时 , 必须先计算式 (7-47)

各个系数值 , 它是通过式 (7-48)、式 ( 7-49) 。不难看出 , 系数计算工

作量中主要是计算 E1 , E2 , E′1 , E′2 四个无穷级数。不过我们将对系数进行简

化 , 可以证明下面两个关系式

E1 + E′1 =1

2ch( Ah)ch( Bk )

E′2 =hk

2

E2 +Akth( Bk ) - Bkth( Ah)4 AkBhch( Ah)ch( Bk)

(7-50a)

(7-50b)

这样 , 只需要计算 E2 一个无穷级数 , 就可以通过式 ( 7-48 )至式 ( 7-50 )的简单代

数计算 , 获得式 ( 7-47 ) 。在大多数情况下 , E2 的无穷级数表达式

(7-40) , 只需要计算 10 项 , 就可以使 E2 的值达到 10- 6的精度。

222

下面给出式 (7-50) 。

(1) 式 ( 7-50a)的证明 由于 �= 1 是方程式 ( 7-11 ) , 而且可以用边

界函数式 ( 7-12) 精确表示它的边界条件 , 因此它一定满足有限分析方程式 ( 7-

46)。将 �p = �EC = �WC = �NC = �SC = �NE = �NW = �SE = �SW = 1 代入方程式 ( 7-46 ) ,

可得

�p = 1 �= ( e- Ah

+ eAh

) ( e- Bk

+ eBk

) [12

( E1 + E′1 )

- AhE2 coth( Ah) - BkE′2 coth( Bk) ]

+ 2 AhE2 ch( Ah) coth( Ah) ( e- Bk

+ eBk

)

+ BkE′2 ch ( Bk )coth( Bk ) ( e- Ah

+ eAh

)

对上式进行代数运算 , 即得

1 = 2ch( Ah) ch( Bk) ( E1 + E′1 )

E1 + E′1 =1

2ch( Ah)ch( Bk)

(2) 式 ( 7-50b) �= - Bx + Ay , 显然它满足方程式 (7-11 )和边界

条件式 (7-12) , 因此必定满足有限分析方程式 ( 7-46) 。由于 �

�p = 0 , ��EC = - Bh , ��NC = Ak

�WC = Bh, �SC = - Ak , �NE = - Bh + Ak

�NW = Bh + Ak , �SE = - Bh - Ak , �SW = Bh - Ak

因此式 (7-46)

0 = �[ Ak( e- Ah - Bk

+ eAh - Bk

- e- Ah + Bk

- eAh + B k

)

+ Bh ( eAh - Bk

+ eAh + Bk

- e- A h - Bk

- e- Ah + Bk

) ]·

[12

( E1 + E′1 ) - AhE2 coth( Ah) - BkE′2 coth ( Bk ) ]

+ 2 AhE2 ch( Ah)coth( Ah)·Ak ( e- Bk

- eBk

)

+ 2 BkE′2 ch( Bk) coth( Bk)·Bh( eAh

- e- Ah

)

将式 (7-50a)

4 ( h2

E2 - k2

E′2 ) ABch( Ah )ch ( Bk ) = Bhth( Ah) - Akth( Bk )

于是有

E′2 =hk

2

E2 +Akth( Bk ) - Bhth( Ah)4 ABk

2ch( Ah)ch( Bk )

6 . 结点上的导数值

有限分析解不仅可以求出区域中所有离散结点上的函数值 , 而且由于有限分

析解在结点所在的单元内连续可微 , 因此可以求出每一个结点上的导数值。这是

有限分析法优点之一。

322

当通过求解总体有限分析方程获得区域中全部结点上的函数值后 , 如式 ( 7-

36) 。显然 , 通过对它求导

数 , 可以获得相应结点上的导数值。如同推导结点上的有限分析方程一样 , 这个

推导过程比较冗长 , 这里只给出最后的表达式。对数学推导有兴趣的读者可见参

考文献 [12] 。

结点 p 上对 x、 y 的偏导数值分别记为�xp 、�yp , 表达式如下所示 :

�xp = A�p + Cx NE�NE + CxNW�NW + CxSE�SE + CxSW�SW + CxEC�EC + CxWC�WC

�yp = B�p + CyNE�NE + CySE�SE + Cy NW�NW + CySW�SW + Cy NC�NC + CySC�SC

(7-51a)

(7-51b)

上式中 , �NE 、�NW 、�SE ⋯�SC 是边界结点的函数值 , �p 是中心结点函数值。 A、

B 是方程 (7-11) , 其他系数的表达式如下 :

CxNE = e- Ah - Bk

GA , Cx NW = - eA h - Bk

GA

CxSE = e- Ah + Bk

GA , CxSW = - eAh + B k

GA

CxEC = e- Ah

GB , CxWC = - eAh

GB (7-52a)

CyNE = e- Ah - Bk

HA , CySE = - eAh + Bk

HA

CyNW = eAh - B k

HA , CySW = - eAh + Bk

HA

CyNC = e- Bk

HB , CySC = - eBk

HB (7-52b)

其中

GA =12

G′1 - Bkcoth( Bk ) G′2

GB = ( eBk

+ e- Bk

) Bkcoth( Bk ) G′2

G′1 =A

2sh( Ah) ch( Bk)

G′2 =1

4 ABk2

sh( Bk )ch( Ah)B 1 -

Ahch( Ah)sh( Ah)

+A

2ksh( Bk )

ch( Bk)(7-53a)

HA =12

G1 - Ah·coth( Ah) G2

HB = ( eAh

+ e- Ah

) Ahcoth( Ah) G2

G1 =B

2sh( Bk )ch( Ah)

G2 =1

4 ABh2sh( Bk )ch( Ah)

A 1 -Bkch( Ah)sh ( Ah)

+B

2hsh( Ah)

ch( Ah)(7-53b )

陈景仁通过计算比较 , 发现当 A > 10 , B > 10 时 , E2 和 G2 之间以及 E′2 和

G′2 之间具有下列近似关系

422

E2 ≈ G2

th(μ1 k )μ1

E′2 ≈ G′2th(μ′1 k)

μ′1

其中

μ1 = A2

+ B2

+π2 h

2

μ2 = A2

+ B2

+π2 k

2

这样 , E1 、 E′1 、 E2 、 E′2 和 G1 、 G′1 、 G2 、 G′2 都可以通过代数运算而获得 ,

不必求级数和 , 显然使计算时间大为节省。

7.2.2 边界函数为二次多项式的有限分析解

由于在 7.2.1 小节中已对边界函数为指数多项式的分析解作了详细推导 , 因

此在本小节中 , 主要是给出重要结果 , 求解过程与 7.2.1 相类似 , 不作过多讨

论。

1 . 单元边界条件

在如图 7-3 所示的单元子区域的 4 个边界上 , 假定给出二次多项式分布的边

界条件 :

y = k 上 , �( x , k ) = �N ( x) = aN + bN x + cN x2

y = - k 上 , �( x , - k ) = �S ( x ) = aS + bS x + cS x2

x = h 上 , �( h , y ) = �E ( y ) = aE + bE y + cE y2

x = - h 上 , �( - h , y ) = �W ( y ) = aW + bW y + cW y2

(7-54)

其中二次多项式系数 aN 、 bN 、 cN 、 aS ⋯ cW 将通过由边界结点函数值�NE 、�NW、

�NC ⋯�WC 所决定的插值条件确定。通过简单的代数方程求解 , 不难得到

aN = �NC , bN =1

2 h(�NE - �NW ) , cN =

12 h

2 (�NE + �NW - 2�NC )

aS = �S C , bS =1

2 h(�SE - �SW ) , cS =

12 h

2 (�SE + �SW - 2�SC )

aE = �EC , bE =1

2 k(�NE - �SE ) , cE =

12 k

2 (�NE + �SE - 2�EC )

aW = �WC , bW =1

2 k(�NW - �SW ) , cW =

12 k

2 (�NW +�SW - 2�WC )

(7-55)

对于如式 (7-17) �*

( x , y ) , 边界条件为

�*

( x , k ) = e- Bk

( aN + bN x + cN x2

) e- Ax

= �*N ( x )

�*

( x , - k ) = eB k

( aS + bS x + cS x2

) e- Ax

=�*

S ( x)

�*

( h, y) = e- Ah

( aE + bE y + cE y2

) e- By

= �*

E ( y )

�*

( - h, y) = eAh

( aW + bW y + cW y2

) e- By

= �*

W ( y )

522

2 . 分析解表达式

求解函数�( x , y ) 4 个函数的叠加

�( x , y) = N( x , y) + W( x , y) + E( x , y) + W( x , y ) eAx + By

(7-56)

通过分离变量法 , 可以获得

N( x , y ) = ∑∞

n = 1

ANn sh[μn ( y + k )]sin[λn ( x + h)]

S( x , y ) = ∑∞

n = 1

ASn sh[μn ( y - k) ]sin[λn ( x + h) ]

E( x , y) = ∑∞

n = 1

AE

n sh[μ′n ( x + h) ]sin[λ′n ( y + k) ]

W( x , y) = ∑∞

n = 1

AWn sh[μ′n ( x - h) ]sin[λ′n ( y + k )]

(7-57)

上式中

λn =nπ2 h

, μn = A2

+ B2

+λ2n

λ′n =nπ2 k

, μ′n = A2

+ B2

+λ′2n

系数 AN

n 、AS

n 、 AE

n 、 AW

n 可以通过求解边界函数�*

N , �*

S , �*

E , �*

W 的 Fourier 系数方

法确定

ANn =

e- Bk

hsh(2μn k )( aN e0 n + bN e1 n + cN e2 n )

ASn =

- eBk

hsh(2μn k )( aS e0 n + bS e1 n + cS e2 n )

AE

n =e

- Ah

ksh(2μ′n h)( aE e′0 n + bE e′1 n + cE e′2 n )

AW

n =- e

Ah

ksh(2μ′n h)( aW e′0 n + bW e′1 n + cW e′2 n )

(7-58a)

上式中

e0 n =λn

A2

+λ2n

eAh

- ( - 1)ne

- Ah

e1 n =- λn h

A2

+λ2

n

eAh

+ ( - 1)ne

- Ah+

2λn A

( A2

+λ2

n )2 e

Ah- ( - 1)

ne

- Ah

e2 n =λn h

2

A2

+λ2

n

eAh

- ( - 1)ne

- Ah-

4λn Ah

( A2

+λ2

n )2 e

Ah+ ( - 1)

ne

- Ah

+2λn (3 A

2- λ

2

n )( A

2+λ

2n )

3 eAh

- ( - 1)ne

- Ah

(7-58b)

622

此外 , e′0 n 、 e′1 n 、 e′2 n 的表达式和 e0 n 、 e1 n 、 e2 n 类似 , 只需将表达式中的 A 换成 B,

λn 换成λ′n , h 换成 k 即可。

3 . 有限分析方程

单元中心结点 p ( x = 0, y = 0) 的函数值为

�p =�(0, 0) = N(0, 0) + S(0, 0) + E(0, 0) + W(0, 0)

它的具体表达式 , 可以根据式(7-57)以及式 (7-55)、式 (7-58)进行计算 , 最终的结果 ,

可以表示成单元边界结点函数值的线性代数式:

�p = vCNW�NW + CNC�NC + CNE�NE + CWC�WC

+ CEC�EC + CSW�SW + CSC�S C + CSE�SE (7-59)

注意到在 p 点 , 由于 x = y = 0, 式 (7-57)的级数中每一项都含有 sin(λn h) = sinnπ2

,

因此 , n 为偶数的项均为零 , n 可取 (2 m - 1) , 于是有

CNW = ∑∞

m = 1

( - 1)m+ 1

4e

Ah

ch(μ′m h)e′1 m

k2 +

e′2 m

k3 +

e- Bk

ch(μm k)-

e1 m

h2 +

e2 m

h3

CNC = ∑∞

m = 1

( - 1)m +1

e- Bk

2ch(μm k)e0 m

h-

e2 m

h3

CNE = ∑∞

m = 1

( - 1)m +1

4e

- Ah

ch(μ′m h)e′1 m

k2 +

e′2 m

k3 +

e- Bk

ch(μm k )e1 m

h2 +

e2 m

h3

CWC = ∑∞

m = 1

( - 1)m +1

eAh

2ch(μ′m h)e′0 m

k-

e′2 m

k3

CEC = ∑∞

m = 1

( - 1)m+ 1

e- Ah

2ch(μ′m h)e′0 m

k-

e′2 m

k3

CSW = ∑∞

m = 1

( - 1)m+ 1

4e

Ah

ch(μ′m h)- e′1 m

k2 +

e′2 m

k3 +

eBk

ch(μm h)- e1 m

h2 +

e2 m

h3

CSC = ∑∞

m = 1

( - 1)m +1

eBk

2ch(μm k )e0 m

h-

e2 m

h3

CSE = ∑∞

m = 1

( - 1)m +1

4e

- Ah

ch(μ′m h)- e′1 m

k2 +

e′2 m

k3 +

eBk

ch(μm k )e1 m

h2 +

e2 m

h3

上式中

λm =(2m - 1) π

2 h, μm = A

2+ B

2+λ

2

m

λ′m =(2 m - 1) π

2 k, μ′m = A

2+ B

2+λ′

2

m

e0 m 、 e1 m 、 e2 m 可按照式(7-58b)进行计算 , 不过要将式 (7-58b) n 取成 (2 m - 1) ,

因此有 ( - 1)n

= ( - 1)2 m + 1

= - 1; 于是

722

e0 m =λm

A2

+λ2

m

( eAh

+ e- Ah

)

e1 m =- λm

A2

+ λ2

m

( AAh

- e- Ah

) +2λm A

( A2

+λ2

m )2 ( e

Ah+ e

- Ah)

e2 m �=λm h

2

A2

+λ2m

( eAh

+ e- Ah

) -4λm Ah

( A2

+λ2m )

2 ( eAh

- e- Ah

)

+2λm (3 A

2- λ

2m )

( A2

+λ2

m )3 ( e

Ah+ e

- Ah)

e′0 m 、 e′1 m 、 e′2 m 具有和 e0 m 、 e1 m 、 e2 m 类似的表达式 , 只需将表达式中的 A、 h、λm

改写为 B、 k、λ′m 即可。

7.2.3 边界函数为分段线性多项式的有限分析解

1 . 单元边界条件

在如图 7-3所示的单元子区域的 4 个边界上 , 假定给出分段线性多项式分布的边

界条件:

y = k 上 , �( x , k) =�N ( x) =aN + bN x (0≤ x≤ h)

aN + cN x ( - h≤ x≤0)

y = - k 上 , �( x , - k) =�S ( x) =aS + bS x (0≤ x≤ h)

aS + cS x ( - h≤ x≤0)

x = h 上 , �( h , y) =�E ( y) =aE + bE y (0≤ y≤ k)

aE + cE y ( - k≤ y≤0)

x = - h 上 , �( - h , y ) =�W ( y ) =aW + bW y (0≤ y≤ k)

aW + cW y ( - k≤ y≤0)

(7-60)

上述线性多项式中的系数 aN、 bN 、 cN 、 aS ⋯ cW 将通过由边界结点函数值 �NE 、

�NW、�NC、�SE ⋯�SW所决定的插值条件确定。通过简单计算 , 不难得到

aN =�NC , bN =1h

(�NE - �NC ) , cN =1h

(�NC - �NW )

aS =�SC , bS =1h

(�SE - �SC ) , cN =1h

(�S C - �SW )

aE =�EC , bE =1k

(�NE - �EC ) , cE =1k

(�EC - �SE )

aW =�WC , bW =1k

(�NW - �WC ) , cW =1k

(�WC - �SW )

对于替换函数�*

( x , y ) =�( x , y) e- ( Ax + By)

, 相应的边界条件为

822

�*

( x , k) = e- Bk

�N ( x ) e- Ax

=�*N ( x)

�*

( x , - k) = eBk�S ( x) e

- Ax=�

*

S ( x)

�*

( h , y ) = e- Ah

�E ( y) e- By

=�*E ( y )

�*

( - h, y ) = eAh�W ( y ) e

- By=�

*

W ( y)

(7-61)

2 . 分析解表达式

类似前面两种边界函数所进行的推导 , 可获得分析解

�( x , y) = [ N( x , y ) + S( x , y) + E( x , y) + W( x , y )] eAx + By

(7-62)

上式中

N( x , y) = ∑∞

n = 1

ANn sh[μn ( y + k) ]sin[λn ( x + h) ]

S( x , y) = ∑∞

n = 1

AS

n sh[μn ( y - k )] sin[λn ( x + h) ]

E( x , y ) = ∑∞

n = 1

AEn sh[μ′n ( x + h) ]sin[λ′n ( y + k )]

W( x , y) = ∑∞

n = 1

AW

n sh[μ′n ( x - h) ]sin[λ′n ( y + k) ]

(7-63)

其中系数可通过下列积分式获得

ANn =

1sh(2μn k ) h∫

h

- h�

*N ( x )sin[λn ( x + h) ]d x

AS

n =- 1

sh(2μn k) h∫h

- h�

*

S ( x)sin[λn ( x + h)]d x

AEn =

1sh(2μ′n h) k∫

k

- k�

*E ( y )sin[λn ( y + k )]d y

AWn =

- 1sh(2μ′n h) k∫

k

- k�

*W ( y) sin[λn ( y + k) ]d y

将�*

N ( x) , �*

S ( x ) , �*

E ( y) , �*

W ( y )的表达式式(7-61)代入上式 , 通过积分运算可获得

具体表达式 , 这里省略了。

3 . 有限分析方程

类似前面两种边界函数情况中的推导 , 可以获得单元中心结点函数值�p 和单元

边界结点函数值相关联的有限分析方程

�p = CNE�NE + CNW�NW + CSE�S E + CSW�SW + CEC�EC + CWC�WC + CNC�NC + CSC�SC (7-64)

各个系数的表达式如下:

CNE =12

( e- Bk

F2 + e- Ah

F′2 ) +E1 + E′

2+ AhE2 + BkE′2 e

- Ah - Bk

CNW =12

( e- Bk

F2 + eAh

F′2 ) +E1 + E′

2- AhE2 + BkE′2 e

Ah - Bk

922

CSE =12

( eBk

F2 + e- Ah

F′2 ) +E1 + E′1

2+ AhE2 - BkE′2 e

- Ah + Bk

CSW =12

( eBk

F2 + eAh

F′2 ) +E1 + E′1

2- AhE2 - BkE′2 e

Ah + Bk

CEC = - e- Ah

F′2 + ( e- Ah + Bk

- e- Ah - Bk

) BkE2

CWC = - eAh

F′2 + ( eAh + Bk

- eAh - Bk

) BkE′2

CNC = - e- Bk

F2 + ( eAh - Bk

- e- Ah - Bk

) AhE2

CSC = - eBk

F2 + ( eAh + Bk

- e- Ah + Bk

) AhE2

上式中

Ei = ∑∞

n = 1

( - 1)n + 1

λn h

[ ( Ah)2

+ (λn h)2

]ich(μn k )

( i = 1,2)

F2 = ∑∞

n = 1

( Ah)2

- (λn h)2

[ ( Ah)2

+ (λn h)2

]2ch(μn k)

E′i = ∑∞

n = 1

( - 1)n + 1

λ′n h

[ ( Bk )2

+ (λ′n k)2

]ich(μ′n h)

( i = 1,2)

F′2 = ∑∞

n = 1

( Bk)2

- (λ′n k)2

[ ( Bk )2

+ (λ′n k)2

]2ch(μ′n h)

其中

λn =(2 n - 1) π

2 h μn = A

2+ B

2+ λ

2n

λ′n =(2 n - 1) π

2 k μ′n = A

2+ B

2+λ′

2

n

7.2.4 有限分析法的自动迎风效应

在数值求解流体力学对流扩散方程时 , 由于对流项的非线性效应 , 将会出现数

值振荡 , 为解决这个问题 , 数值计算方法中提出了迎风格式。所谓“迎风格式”, 就

是这样一种数值计算格式 , 在这种代数表达式中 , 将充分考虑流场中流体来流方向的

重要影响。一般的数值计算格式 , 形式上都是局部区域中结点函数值关联的代数表达

式 , 如有限差分格式是结点的函数值与坐标线前后上下结点函数值的关联代数式 , 有

限元方法中的单元有限元方程是单元中若干结点函数值关联的代数式 , 有限分析方程

是单元中心结点函数值与 8 个单元边界结点函数值之间关联的代数式。在具有迎风效

应的格式中 , 将加大来流方向上结点函数值的影响权重 , 体现在计算格式中 , 就是来

流方向上结点函数值的系数相对要大一些。

有限分析法的一个突出优点 , 是具有自动的迎风效应 , 体现在有限分析方程中 ,

就是 8 个边界结点函数值的系数中 , 来流方向的系数要相对大一些。下面通过具体例

032

子讨论这个特点。

以式(7-11)表示的涡量对流扩散方程为例 , 此时�= ω, 2 A = Re u, 2 B = Re v。在

局部线性化的单元子区域中 , 2A = Re up , 2 B = Re vp ; 显然 , 对单元而言 , 来流速度

的方向与 x 坐标线的夹角 α, 取决于 A 与 B 的比值 , tgα= vp�/up = A�/B。另外 , A、

B 的大小还反映了对流项与扩散项比值的大小; A、 B 越大 , 对流项的非线性效应越

强。现将 (7-47)式表示的有限分析方程表示为

�p = ∑8

m = 1

Cm�m

式中下标 m 表示单元边界结点位置标记 , m 为 NE、 NW⋯⋯ NC。系数 Cm 值按式

(7-48) 给出的表达式进行计算 , 计算结果按 Cm 下标表示的结点位置 , 列在表格的相

应的位置上。现对三种情况的 A、 B 值进行讨论。

(1) A = 2, 200, 2000; B = 0

此时 vp = 0, 来流从单元的西边进入。从列在下面的 Cm 数据的表格中可以看出 ,

随着 A 值的增大 (来流速度增大) , 上游点 WC 的影响逐步增强 , 系数 CWC 从 0.21 增

大到 0.98; 而下游点 EC 的影响逐渐减弱 , 系数 CEC 从 0.19 减到 0。这充分反映出有

限分析方程具有自动迎风格式的特点。

1) A = 2 , B = 0 的系数 Cm 值。

0 �.04690 0 t.2051 0 Z.04240

0 �.21568 0 k.1951

0 �.04690 0 t.2051 0 Z.04240

2) A = 200, B = 0 的系数 Cm 值

0 �.08143 0 c.01860 - 2 S.6×10 - 3

0 �.8052 3 ,.6×10 - 4

0 �.08143 0 c.01860 - 2 S.6×10 - 3

3) A = 2000, B = 0 的系数 Cm 值

0 �.01 10 �- 10 10 �- 11

0 �.98 10 �- 43

0 �.01 10 �- 10 10 �- 11

(2) A = B = 20 , 200, 4000

此时 vp = up , 来流与 x 轴夹角为 45°, 从单元西南方向进入。从下面的 Cm 数据

132

表格中可以看出: 系数沿速度方向是对称的 , 随着 A、 B 值的增大 (来流速度增大 ) ,

迎风点 SW 的影响逐渐增强 , 即 CSW 值从 0.099 增大到 0.841; 下游点 NE 的影响逐渐

变小 , CNE值从 0.1268 下降到 0。

1) A = B = 20

0 �.03547 0 t.1098 0 Z.01268

0 �.2987 0 k.1098

0 �.099 0 t.2987 0 Z.03547

2) A = B = 200

- 0 �.043 10 �- 4 10 �- 5

0 �.324 10 �- 4

0 �.436 0 �.324 - 0 �.043

3) A = B = 4000

- 0 �.0234 0 �0 �

0 �.10305 0 �

0 �.84084 0 c.10305 - 0 �.0234

(3) A = 1000 , B = 2000

此时 vp�/up = B�/A = 2, 来流速度方向与 x 轴的夹角大约 63°, 迎风点在结点 SW

和 SC 之间 , 因此 CSC 最大 , CSW其次 , 其他系数都较小。

10 �- 4 10 �- 48 10 �- 35

0 V.38×10 - 4 10 �- 25

0 �.2871 0 �.725 - 0 �.1125

在上面讨论中可以看出 , 有限分析法具有自动形成迎风格式的优点 , 在求解区

域的不同结点上 , 可根据各个结点不同的流动速度方向和大小 , 给出边界上 8 个结点

系数的大小 , 在不同结点上 , 会自动体现出迎风效应的不同方向和强度。

7.3 不可压无旋流动的有限分析解

不可压无旋流动在数学描述时 , 最重要的简化是引进流函数 ψ和速度势函数�,

并建立流函数和速度势函数满足的 Laplace 方程 (见 4.1.1 小节) , 可以表示为

è2�=�x x +�y y = 0 (7-65)

232

显然 , 这正是二维椭圆型方程式(7-11)的特例。此时 A = B = 0, 于是可以将 7.2 节中

所推导的有限分析解的结果直接应用到式(7-65)。

下面给出 k = h 均匀网格的单元有限分析方程。单元子区域的边界函数分两种类

型:

(1) 边界函数为指数多项式分布。

显然此时可直接采用 7.2.1 小节中所获得的结果。由于式 (7-65)是式 (7-11) 中

A = B = 0的特例 , 因此有限分析方程式 (7-46)可以进行简化 , 在式 (7-47)至式 (7-49)

中 , 令 A = B = 0, 可得

CNE = CNW = CSE = CSW = 0.25

CNC = CSC = CEC = CWC = 0

于是有

�p = 0.25�NE = 0.25�NW + 0.25�SE + 0.25�SW (7-66)

(2) 边界函数为二次多项式分布。

可直接应用 7.2.2小节中的结果 , 令有限分析解系数表达式 (7-58) 中的 A = B

= 0, 于是可得

e0 n = e′0 n =1λn

[1 - ( - 1)n

]

e1 n = e′1 n = -h

λn[1 + ( - 1)

n]

e2 n = e′2 n =1λn

( h2

-2λ

2n

)[1 - ( - 1)n

]

将上式代入单元有限分析方程式(7-59)的各项系数表达式中 , 并注意到有限分析解的

表达式(7-57)在 p 点上 , n 为偶数的项全为零 , 因此只取 n = 2m - 1, 于是有

e0 m = e′0 m =1λm

[1 - ( - 1)2 m + 1

] =2λm

e1 m = e′1 m =- hλm

[1 + ( - 1)2 m + 1

] = 0

e2 m = e′2 m =1λm

( h2

-2λ

2

m

)[1 - ( - 1)2 m + 1

] =2λm

( h2

-2λ

2

m

)

λm =(2 m - 1)π

2h

将上述各式代入式(7-59)

CEC = CWC = CSC = CNC = 0.20535

CSE = CSW = CNW = CNE = 0.044685

单元有限分析方程为

332

�p = �0.20535 (�EC +�WC +�S C +�NC )

+ 0.044685 (�SE +�SW +�NW +�NE ) (7-67)

由于 Laplace 方程式

何一个单元都是相同的。另外 , 从上面的结果还可以看出:

(1) 对于 Laplace 方程 , 单元中心结点的函数值决定边界上结点函数值 , 各个结

点的影响是对称的。

(2) 单元边界函数类型对于有限分析解的结果 , 具有明显影响。指数多项式分

布 , 只有单元边界上 4 个角点 NE、NW、 SE、 SW 对中心点产生影响。而二次多项式

分布 , 边界上的 8 个结点对中心结点都有影响 , 边界中点的影响较大 , 各占 20.5% ,

每个边界角点影响仅占 4.5%。从上面两种边界条件的不同结果看 , 对于 Laplace 方

程 , 显然采用二次多项式分布的边界条件 , 效果要好得多。

7.4 不可压粘性流动的有限分析解

不可压粘性流动有限分析方法求解时 , 通常采用两种数学描述形式 : 流函数涡

量式和基本变量式 (参见 4.2.1 小节 )。它们都是一个以上未知函数的联立偏微分方

程组 , 需采用迭代方法求解。

7.4.1 给定涡量的流函数方程有限分析解

不可压粘性流动的流函数方程为

è2ψ= - ω (7-68)

如果将涡量看作是已知函数 , 上式是 Poisson 方程 , 现在先求出作为 Poisson 方程的流

函数有限分析解。

假定ω= ω ( x , y ) 在求解区域的各个结点上的函数值是已知的 , 则在单元子

区域中 , ω可以通过插值多项式形式给出。设 ω ( x , y ) 在单元中为二次多项式分

ω ( x , y ) = a1 + a2 x + a3 y + a4 x2

+ a5 y2

+ a6 xy + a7 x2

y + a8 y2

x + a9 x2

y2

(7-69)

通过单元中九个结点的插值 , 可以确定 :

a1 = ωp

a2 =1

2 h(ωEC - ωWC )

a3 =1

2k(ωNC - ωSC )

a4 =1

2 h2 (ωEC + ωWC - 2ωp )

432

a5 =1

2 k2 (ωNC + ωS C - 2ωp )

a6 =1

4 hk(ωNE - ωNW - ωSE + ωSW )

a7 =1

4 h2

k(ωNE - ωSE - 2ωNC + 2ωSC + ωNW - ωSW )

a8 =1

4 hk2 (ωNE + ωSE - 2ωEC + 2ωWC - ωNW - ωSW )

a9 =1

4 h2

k2 (ωNE + ωSE - 2ωEC - 2ωNC + 4ωp - 2ωSC - 2ωWC + ωNW + ωSW )

现将方程式 (7-68)分解成两个问题: ① 解齐次方程 , 即 Laplace 方程 , 但单元边

界条件是非齐次的。② 解非齐次方程 , 即 Poisson 方程 , 但边界条件是齐次的。不妨

ψ= ψ1 + ψ2

其中ψ1 满足非齐次边界条件的 Laplace 方程:

è2ψ1 = 0

ψ1 ( h, y) = ψE ( y )

ψ1 ( - h, y) =ψW ( y)

ψ1 ( x , - k ) = ψS ( x)

ψ1 ( x , k) =ψN ( x)

(7-70)

ψ2 满足齐次边条件的 Poisson 方程:

è2ψ2 = - ω

ψ2 ( h, y ) = 0

ψ2 ( - h, y) = 0

ψ2 ( x , - k) = 0

ψ2 ( x , k) = 0

(7-71)

下面分别对 ψ1 、ψ2 进行求解。

1 . 求解 ψ1

满足式(7-70)的 ψ1 , 已在 7.3 中推导出单元有限元方程 , 假定单元子区域边界上

取二次多项式插值函数 , 且采用 k = h 的正方形均匀网格 , 则由式(7-67)给出

ψ1 p = 0.20535 (ψEC +ψWC +ψSC + ψNC ) + 0.044685 (ψSE +ψSW + ψNW +ψNE )

(7-72)

2 . 求解 ψ2

满足式(7-71)的 ψ2 , 可以通过分离变量法获得。先将ψ2 ( x , y) , ω( x , y )展开成

532

Fourier 级数

ψ2 ( x , y ) =∑∞

n = 1

Xn ( x )sinλn ( y + k ) (7-73a)

ω( x , y) =∑∞

n = 1

Dn ( x )sinλn ( y + k) (7-73b)

其中 λn =nπ2 h

, n = 1, 2, 3⋯。

利用正弦函数的正交性 , 可以确定 Dn ( x)

Dn ( x) =1k∫

k

- kω( x , y )sinλn ( y + k )d y

由于ω( x , y)已经通过式 (7-69)表示成二次多项式; 因此可以通过积分计算获得

Dn ( x ) =1k

[ ( a1 + a2 x + a4 x2

) G1 + ( a3 + a6 x + a7 x2

) G2 + ( a5 + a8 x + a9 x2

) G3 ]

其中

G1 =∫k

- ksinλn ( y + k)d y =

1λn

[1 - ( - 1)n]

G2 =∫k

- kysinλn ( y + k )d y =

- kλn

[1 - ( - 1)n

]

G3 =∫k

- ky

2sinλn ( y + k )d y =

1λn

( k2

-2λ

2

n

) [1 - ( - 1)n

]

再将ψ2 ( x , y ) , ω( x , y )级数展开式 (7-73)代入式 (7-71)的方程中 , 比较等式两边

系数 , 可得

X″n ( x) - λ2n Xn ( x ) = - Dn ( x)

相应边界条件为

X( h) = X( - h) = 0

上述问题的解为

Xn ( x ) = C1 sh(λn x) + C2 ch(λn x) + C3 x2

+ C4 x + C5

其中

C1 =- hC4

sh(λn h)

C2 =- ( C5 + h

2C3 )

ch(λn h)

C3 =1

λ2n k

( a4 G1 + a7 G2 + a9 G3 )

C4 =1

λ2n k

( a2 G1 + a6 G2 + a8 G3 )

632

C5 =1

λ2n k

( a1 G1 + a3 G3 + a5 G3 ) +2λ

2n

C3

于是可以获得ψ2 ( x , y)的表达式

ψ2 ( x , y) =∑∞

n = 1

[ C1 sh(λn x) + C2 ch(λn x ) + C3 x2

+ C4 x + C5 ] sinλn ( y + k )

(7-74)

ψ2 ( x , y)在单元中点 ( x = y = 0) 上取值 , 即得单元有限分析方程

ψ2 p =ψ2 (0, 0) =∑∞

n = 1

sinnπ2

( C2 + C5 )

将 C2 , C5 的表达式代入上式 , 并注意到 G1 , G2 , G3 以及 a1 , a2 ⋯ a9 的表达式 ,

即可获得

ψ2 p = �BNEωNE + BECωEC + BSEωS E + BSCωSC + BSWωSW

+ BWCωWC + BNWωNW + BNCωNC + Bpωp (7-75)

上式中的系数为已知表达式 , 若取 k = h , 即对于均匀网格单元 , 可计算得到

BEC = BWC = BNC = BSC = 0.018522 h2

BNE = BSE = BNW = BSW = 0.01895 h2

Bp = 0.21289 h2

将式(7-72)、式(7-75)叠加 , 即得 ψ的有限分析方程:

ψp = 40.20535 (ψEC + ψWC + ψSC +ψNC ) + 0.044685 (ψSE + ψSW +ψNW

+ψNE ) + 0.018522 h2

(ωEC + ωWC + ωNC + ωSC ) + 0.01895 h2

(ωNE

+ ωSE + ωNW + ωSW ) + 0.21289 h2ωp (7-76)

由于速度分量与流函数的关系为

u = ψy , v = - ψx

因此 , 为获得结点上的导数值 , 还需要求出 ψ的导数 , 由于ψ1 = ψ1 ( x , y )可通过式

(7-56)至式(7-58)给出 (令这些表达式中 A = B = 0, 且假定 h = k) , ψ2 = ψ2 ( x , y )由

式(7-74)给出 , 因此 ψ= ψ1 ( x , y) + ψ2 ( x , y)的导数是不难获得的。下面给出由单元

中心结点导数值与单元边界上 8 个结点函数值之间关系的有限分析方程:

up = Sψyp = CyNEψNE + CyECψEC + CySEψSE + ⋯ + Cy NCψNC

+ ByNEωNE + ByECωEC + ⋯ + BySWωSW + Bypωp

vp = H- ψxp = CxNEψNE + CxECψEC + ⋯ + CxNCψNC + BxNEωNE

+ BxECωEC + ⋯ + BxSWωSW + Bxpωp (7-77)

上式中各项系数经计算可获得

CNE = CyNW = - CySE = - CySW = 0.07468�/h

732

CyWC = CyEC = 0

CyNC = - CySC = 0.35063�/h

ByNB = - ByNW = BySE = - BySW = 0.00451 h

Byp = ByWC = ByEC = 0

ByNC = - BySC = 0.06553 h

CxNW = CxSW = - CxNE = - CxSE = 0.07468�/h

CxNC = CxSC = 0

CxWC = - CxSC = 0

CxNE = - CxEC = 0.35063�/h

BxNE = Bx NW = - BxSW = - BxSE = 0.00451 h

- BxEC = BxWC = 0.06553 h

BxNC = BxSC = Bxp = 0

7.4.2 流函数涡量式的有限分析解

1 . 数学方程与边界条件

二维不可压粘性流动 , 若采用流函数涡量式 , 数学方程如下:

Re ( uωx + vωy ) = ωx x + ωyy

ψxx +ψyy = - ω

u =ψy

v = - ψx

(7-78a)

(7-78b)

(7-78c)

(7-78d)

上述四个方程中 , 含有四个未知函数 ψ, ω, u, v。

流函数ψ与速度分量 u、 v 的边界条件是比较容易给出的。在固壁上

u = v = 0, ψ= const

图 7-4 涡量在固壁上的条件

在求解区域的流体进出口的边界上 , 可根据具体给

定的条件确定边界上的 u , v 以及 ψ或者�ψ�n

值。

固壁上的涡量条件是比较难给出的 , 通常要通过壁

面的流函数值或速度值给出:

(1) 通过壁面附近的流函数表示

如图 7-4 所示 , 固壁上的结点 w, 沿着内法线

上的结点 i 的距离 l 是小量。不妨将 i 点的流函数

值ψi 在 w 点进行 Taylor 展开

ψi = ψw +�ψ�n w

l +l2

2�

�n2

w

+ 0( l3

)

注意到涡量 ω在固壁上有

832

ωw = -�

�S2 +

�2ψ

�n2

w

= -�

�n2

w

且有�ψ�n w

= ( vs ) w = 0

因此

ψi = ψw -l2

2ωw + 0( l

3)

略去 l 小量 ,可得壁面上的涡量条件

ωw =2l2 (ψw - ψi ) (7-79)

(2) 通过壁面附近的速度表示

由于有限分析法的网格单元都是规则的矩形单元 , 因此壁面上单元可分四种情

况 , 如图 7-5 所示。

在上水平壁面上 ,�v�x

= 0, 涡量ω在壁面上

图 7-5 不同位置固壁上的单元结点

ωw �=�v�x

-�u�y w

= -�u�y w

=- 12

3uNC - up

k-

up - uS C

k

=1

2 k( - 3 uNC + 4 up - uSC )

注意到在固壁上 uNC = 0, 于是上水平壁面上

ωw =1

2 k(4 up - uSC ) (7-80a)

同理可得到不同位置固壁面上结点的涡量条件:

在下水平壁面上

ωw =1

2 k( - 4 up + uNC ) (7-80b)

在右垂直壁面上

ωw =1

2 h( - 4vp + vWC ) (7-80c)

在左垂直壁面上

932

ωw =1

2 h(4vp - vEC ) (7-80d)

2 . 有限分析法求解步骤

根据 7.2 节中给出的求解式

(1) 给出ψ, u , v 与ω在所有内部结点上的初值 , 例如 k = 0 时取

u( k )

= 0 , v( k)

= 0, ψ( k)

= 0, ω( k )

= 0.1

(2) 给出或计算出所有边界结点上的ψ、 u、 v 与ω的边界值。

(3) 根据ψ的有限分析方程式 (7-76) , 并利用边界条件 , 可求出所有内点上的

ψ的新值ψ( k + 1 )

, 即联立求解有限分析方程

ψ( k + 1 )

p �= 0.20535 ψ( k + 1 )EC + ψ

( k + 1 )WC + ψ

( k + 1 )SC +ψ

( k + 1 )NC

+ 0.044685 ψ( k + 1 )

SE + ψ( k + 1 )

SW +ψ( k + 1 )

NW +ψ( k + 1 )

NE

+ 0.018522 h2

ω( k)

EC + ω( k )

WC + ω( k)

NC + ω( k)

SC

+ 0.01895 h2

ω( k)

NE + ω( k )

SE + ω( k)

NW + ω( k)

SW

+ 0.21289 h2ω

( k)p

(4) 根据式(7-77) , 求出各个内点上的速度分量

u( k + 1)

p �= 0.07468 h- 1

ψ( k + 1 )

NE - ψ( k + 1 )

SE +ψ( k + 1 )

NW - ψ( k + 1 )

SW

+ 0.35063 h- 1

ψ( k + 1 )NC - ψ

( k + 1 )SC

+ 0.00451 h ω( k )NE + ω

( k)SE - ω

( k)NW - ω

( k )SW

+ 0.06553 h ω( k )NC - ω

( k)SC

v( k + 1 )

p {= 0.07468 h- 1

ψ( k + 1 )NW +ψ

( k + 1 )SW - ψ

( k + 1)NE - ψ

( k + 1)SE

+ 0.35063 h- 1

ψ( k + 1 )

WC - ψ( k + 1 )

EC

+ 0.00451 h ω( k )

NW + ω( k)

NE - ω( k)

SW - ω( k )

SE

+ 0.06553 h ω( k )WC - ω

( k)EC

于是可计算出涡量输运扩散方程式(7-78a)

2 A = Re up , 2 B = Re vp

(5) 根据式(7-79)或式(7-80) , 计算出壁面上的涡量值 ω( k + 1 )

w , 并根据式(7-59) ,

联立求解有限分析方程组

ω( k + 1 )p �= CNWω

( k + 1)NW + CNCω

( k + 1)NC + CNEω

( k + 1 )NE

+ CWCω( k + 1 )

WC + CECω( k + 1 )

EC + CSWω( k + 1 )

SW

+ CSCω( k + 1 )

SC + CSEω( k + 1 )

S E

(6) 检验迭代的收敛性。若 ψ( k + 1)

- ψ( k)

<ε1 , 且 ω( k + 1 )

- ω( k)

<ε2 , 则所获

得的ψ( k + 1 )

、ω( k + 1 )

为收敛解; 否则重复 (3) — (5) 各个求解步骤 , 直至达到收敛

精度。ε1 、ε2 是事先给定精度要求的某个小正数。

042

7.4.3 方形空腔流动计算实例

图 7-6 方形空腔流动的求解区域与边界条件

方形空腔的求解区域与边界条件如

图 7-6 所示。按照 7.4.2 小节的计算方

法 , 对不同雷诺数进行计算 , 图 7-7 给

出 Re = 100, 1000, 2000 三种情况空腔

中的流函数 ψ与涡量 ω的等值线图。

图 7-8 给出 Re = 5000 的计算结果。这

些计算结果和实验观测结果是一致

的[13]

。可见有限分析解的计算方法 , 经

得起大雷诺数的考验。

图 7-7 不同 Re 数空腔流动的流函数与涡量分析

142

图 7-8 Re = 5000 空腔流动的流函数与涡量分布

7.4.4 基本变量式的有限分析解

以 u、 v、 p 为求解函数的二维 Navier—Stokes 方程为:

ux + vy = 0

u ux + v uy = - px +1Re

( ux x + uy y )

u vx + v vy = - py +1Re

( vx x + vy y )

(7-81a)

(7-81b)

(7-81c)

有限分析法求解偏微分方程时 , 在一个方程中只考虑一个函数是求解的未知函

数 , 非线性项要进行局部线性化处理。例如在式 中 , 可认为 u 是求解的未知

函数; 式 (7-81c) v 是求解的未知函数。显然 , 还需要以压力 p 为求解函

数的方程式。

为建立关于压力 p 的方程式 , 可把式 (7-81b) x 求偏导数 , 把式 (7-81c) y 求

偏导数 , 相加后再利用不可压连续性方程式(7-81a)

px x + py y = 2( ux vy - uy vx ) (7-82)

采用有限分析法求解上述偏微分方程 , 通常采用迭代求解方法。常规的迭代步

骤如下:

(1) 假设 u(0 )、 v

(0 )值 , 代入压力 Possion 方程(7-82)式 , 此时可根据 7.4.1 小节中

的有限分析解获得各个结点上的压力值 p( 1)。

(2) 将 v( 0)、 p

( 1)代入速度分量 u 的方程式 (7-81b) 此时可按照 7.4.2 小节中所

提供的有限分析解 , 获得各个结点上的速度分量 u( 1 )。

(3) 将 u(0 )、 p

(1 )代入速度分量 v 的方程式 (7-81c) , 此时可按照 7.4.2 小节中所

提供的有限分析解 , 获得各个结点上的速度分量 v(1 )。

242

(4) 把 u( 1)

, v( 1)代入连续性方程式 (7-81a) u

( 1 )、 v

(1 )在单元中具有分析表

达式 , 因此可检验式 (7-81a) 是否满足。

(5) 若在所有结点上 , ux + vy <ε, 则 u( 1)、 v

( 1)、 p

( 1 )为方程的收敛解; 否则

对 u(1 )、 v

(1 )进行修正 , 替代第 (1) 步中的 u

( 0, v

( 0 ), 再重复上述迭代过程 , 直至收

敛。

这种常规的迭代方法 , 缺点是收敛很慢 , 有时甚至不收敛。下面介绍一种速度

平均迭代方法。具体步骤如下:

(1) 假设 u( 0)、 v

( 0)值 , 代入压力 p 的 Possion 方程式

p( 1 )。

(2) 将 v( 0 )、 p

( 1)代入式(7-81b) , 可求出有限分析解 u1 。

(3) 将 u1 代入连续性方程式 (7-81a) u1 在单元中具有分析表达式 , 因此

不难求出结点上的 v1 值。

(4) 将 u( 0)、 p

(1 )代入式 (7-81c) , 可求出有限分析解 v2 。

(5) 将 v2 代入连续性方程式(7-81a) , 由于 v2 在单元中具有分析表达式 , 因此不

难求出结点上的 u2 值。

(6) 做如下速度值的平均运算

u(1 )

=u1 ( u

(0 ))

2+ u2 ( v

( 0))

2

( u(0 )

)2

+ ( v(0 )

)2

v( 1 )

=v1 ( u

(0 ))

2+ v2 ( v

(0 ))

2

( u( 0)

)2

+ ( v(0 )

)2

(7) 用新获得的 u(1 )、 v

(1 )替代第 (1) 步中的 u

( 0)、 v

( 0), 进行 (1) 至 (6) 步的

迭代运算。直至 u( 1)、 v

( 1)和 u

( 0 )、 v

( 0 )两组解的差小于给定的收敛精度。

该方法可以推广到三维情形。

7.5 非定常不可压粘性流动的有限分析解

非定常不可压粘性流动的数学方程是抛物型方程 , 它可以表示为如下形式:

�t + u�x + v�y =1Re

(�xx +�y y ) + G (7-83)

式中若�表示速度分量 u、 v, 则式(7-83)是非定常的 Navier—Stokes 方程; 若�表示

涡量 ω, 则式(7-83)是非定常的涡量对流扩散方程。式 (7-83) , 除给出边界条件外 ,

还需要给出初始条件。

和定常情形一样 , 先把 ( x , y ) 平面上的求解区域 , 划分成矩形网格 , x 和 y

方向的网格步长分别是 h 和 k; 再把时间 t , 划分成若干间隔 , 每一时间步长为τ。

设初始时刻 t = 0, tn

= nτ时刻的函数值记为�n, 单元中心结点 p 的速度分量为 u

n

p 、

342

vnp 。

为了方便地采用有限分析法 , 要设法将抛物形方程式 (7-83)转化为局部线性化的

定常椭圆型方程。不妨记 tn - 1

时刻单元中心结点 p 的速度为 un - 1p 、 v

n - 1p , 并记速度分

量时间步长上的增量

Δun - 1p = u

n - 1p - u

n - 2p , Δv

n - 1p = v

n - 1p - v

n - 2p

为了使式 (7-83)线性化 , 不妨将单元中的速度分量 u, v 用中心结点 p 上的 n 时刻的

近似值代替

un

p = un - 1

p +Δun - 1

p , vn - 1

p = vn - 1

p +Δvn - 1

p

同时将非定常项�t 近似地取为 p 点 n 时刻的差分离散值

�npt =

�np - �

n - 1p

τ

这样 , 方程式(7-83)可线性化处理为

un - 1p �

nx + v

n - 1p �

ny -

1Re

(�nxx +�

ny y ) = G

n- �

npt - (Δup�x +Δvp�y )

n - 1(7-84)

不妨记

2 A = Re un - 1

p , 2 B = Re vn - 1

p

Fn - 1

= Gn

- �npt - (Δup�x +Δvp�y )

n - 1Re

于是式(7-84)可改写为

2 A�nx + 2 B�

ny - (�

nx x +�

ny y ) = F

n - 1(7-85)

显然 , 在求解过程中 , 第 ( n - 1)步各点的物理量 un - 1p 、 v

n - 1p 、�

n - 1p 都已经获得了 , 因

此式(7-85)是一个常系数的非齐次椭圆形方程 , 为了将它转化为齐次方程 , 可引进变

量替换

�n

= �n

-F

n - 1( Ax + By )

2 ( A2

+ B2

)(7-86)

代入式(7-85) , 可得

2 A�nx + 2 B�

ny =�

nxx +�

ny y (7-87)

上式和定常齐次椭圆形方程式(7-11)形式上是完全一致的。而式 (7-11)已在 7.2 节中

推导出有限分析解。

由于式(7-87)具有下列形式的通解

�n

= c0 + c1- Bx + Ay

A2

+ B2

+ c2 e( 2 Ax + 2 By)

因此 , 单元子区域中的边界条件以取指数多项式分布为宜; 于是 , 式(7-87)可以采用

7.2.1 小节中所获得的结果 , 单元中的有限分析方程如式(7-47)所示 , 即

�np ,= CNE�

nNE + CNW�

nNW + CSE�

nSE + CSW�

nSW

442

+ CWC�nWC + CEC�

nEC + CSC�

nSC + CNC�

nNC (7-88)

式中系数为 x

CNE = e- Ah - Bk

E*

, �CNW = eAh - Bk

E*

CSE = e- Ah + Bk

E*

, CSW = eAh + Bk

E*

CNC = e- Bk

EA , CSC = eBk

EA

CEC = e- Ah

EB , CWC = eAh

EB

其中 EA 、 EB 、 E*可通过式(7-49)、式(7-40)、式(7-45)等表达式给出。

根据式(7-86)给出的变量关系 , 应有

�n

p =�n

p

�nNE = �

nNE -

12 ( A

2+ B

2)

Fn - 1

( Ah + Bk)

�n

NW =�n

NW -1

2 ( A2

+ B2

)F

n - 1( - Ah + Bk )

�nS E =�

nSE -

12 ( A

2+ B

2)

Fn - 1

( Ah - Bk )

�n

SW =�n

SW -1

2 ( A2

+ B2

)F

n - 1( - Ah - Bk)

�nNC = �

nNC -

12 ( A

2+ B

2)

Fn - 1

( Bk)

�n

S C =�n

SC -1

2 ( A2

+ B2)

Fn - 1

( - Bk)

�nEC =�

nEC -

12 ( A

2+ B

2)

Fn - 1

( Ah)

�n

WC =�n

WC -1

2 ( A2

+ B2

)F

n - 1( - Ah)

将上述各项代入式(7-88) , 可得方程式 (7-83)的单元有限分析方程

�n

p d= CNE�n

NE + CNW�n

NW + CSE�n

S E + CSW�n

SW + CWC�n

WC

+ CEC�nEC + CSC�

nS C + CNC�

nNC + Cp F

n - 1(7-89)

上式中

Cp d=1

2 ( A2

+ B2

)[ Ah ( CNW + CSW + CWC - CNE - CS E - CEC )

+ Bk ( CSE + CSW + CSC - CNE - CNW - CNC ) ]

Fn - 1

= G - (Δup�x +Δvp�y )n - 1

Re -�

n

p - �n - 1

p

τRe

注意到 Fn - 1

表达式中含有�n

p , 因此将 Fn - 1

代入式 (7-89) , 整理后可得用于联立求解

的单元有限分析方程:

542

�np w=

1

1 +Cp Re

τ

( CNE�nNE + CNW�

nNW + CSE�

nS E + CSW�

nSW + CWC�

nWC

+ CEC�n

EC + CSC�n

S C + CNC�n

NC +Cp Re

τ�

n - 1

p + Cp Gn - 1

Re ) (7-90)

其中

Gn - 1

= Gn

- (Δun - 1p �

n - 1x +Δv

n - 1p �

n - 1y )

采用有限分析法求解非定常不可压粘性流动问题时 , 每推进一个时间步后 , 就

将抛物形的非定常问题转化为定常的椭圆形方程 , 从而可利用前面已获得的有限分析

解的结果。这就使得它可以将这个方法推广到求解三维空间的非定常不可压粘性流。

三维问题的具体解法可参阅参考文献 [12]。

7.6 非均匀网格的有限分析解

从前面几节推导有限分析解的过程可以看出 , 有限分析法对网格单元有严格要

求 , 要将求解区域划分成均匀的矩形网格 (图 7-1) , 有限分析方程是建立在由四个

相同形状网格所构成的单元中。但在实际流场中 , 由于流场特点 , 为节省计算量 , 常

图 7-9 非均匀网格的矩形单元

常在流动变化剧烈的区域要

求有较多结点 , 而流动变化

小的区域 , 结点可以少一

些。因此需要划分不均匀的

网格 , 此时单元将如图 7-9

所示。对于结点 p 所在的

单元将由四个几何尺寸不一

样的网格组成 , 网格步长如

图 7-9 所示 , 假定 H > h,

K > k。

不妨以定常二维椭圆型方程为例:

2A�x + 2 B�y =�x x +�y y

在均匀网格的单元中 , 有限分析方程如式 (7-47)所示。而这个方程显然不适用非均匀

网格单元。为解决这个问题 , 不妨以 p 点为中心 , 作宽为 2 h , 高为 2 k 的矩形单元

(图 7-9) , 在这个新构造的单元中 , 式 (7-47)所表示的有限分析方程是完全适用的 ,

�p �= CNE�*

NE + CNW�*

NW + CSE�*

S E + CSW�*

SW

+ CWC�*WC + CEC�EC + CS C�

*SC + CNC�NC (7-91)

642

上式中的各个系数 CNE 、CNW⋯ CNC 与均匀网格单元中推导出来的完全相同 , 由式 (7-

48) 表示。而�*NE 、�

*NW、�

*SE 、�

*SW、�

*WC 并非网格结点上的函数值 , 而是新构造单元

上辅助结点的函数值。

显然 , 根据有限分析法的求解思想 , 这些辅助结点上的函数值 , 必须通过真正

结点上的函数值来表示。这可以通过插值方法得到解决。下面给出通过线性插值方法

获得的关系式:

�*

NW =�NC +hH

(�NW - �NC )

�*S E =�EC +

kK

(�SE - �EC )

�*S C =�p +

kK

(�SC - �p )

�*WC =�p +

hH

(�WC - �p )

�*SW e=�p +

kK

(�SC - �p ) +h

H(�WC - �p )

+hk

HK(�SW - �WC - �SC +�p )

将上述关系式代入式(7-91)中 , 即可获得非均匀网格单元中的有限分析方程:

�p 6=1Cp

CNE�NE +hH

CNW�NW +kK

CSE�S E

+hk

HKCSW�SW +

hH

CWC + (h

H-

hkHK

) CSW �WC

+ CEC + (1 -k

K) CSE �EC

+ CSCkK

+ (k

K-

hkHK

) CSW �S C

+ CNC + (1 -hH

) CNW �NC

其中

Cp = 1 - (1 -kK

) CSC - (1 -hH

) CWC - (1 -k

K-

hH

-hk

HK) CSW

当然 , 辅助结点上的函数值�*NE、�

*NW 、�

*SE 、�

*SW、�

*WC 也可以通过二次多项式插

值或其他合适的插值函数和真实单元结点上的函数值发生联系 , 构成不同形式的关系

式。

742

第 8 章 边界拟合坐标

8.1 坐标变换概述

多数流体力学的工程问题 , 求解区域的边界都是不规则的曲线。对于这种不

规则区域进行离散数值求解时 , 除有限元方法外 , 有限差分法、有限分析法在进

行网格划分时 , 都会遇到困难 , 尤其是有限分析法的网格单元要求规则的矩形 ,

更是对求解区域的网格划分提出很高的要求。因此 , 如果能够将一个复杂的不规

则的求解区域变换成规则的矩形区域 , 显然对于数值求解时的网格划分是非常方

便的。

如图 8-1 所示 , 图 8-1a 是真实物理平面上的不规则的求解区域 , 采用通常的

笛卡尔坐标 ( x , y ) ; 图 8-1b 是变换后的规则的矩形求解区域。此时的坐标

(ξ, η) 是将物理平面上的曲线边界 , 变换到矩形区域的直线边界的曲线坐标 ,

变换关系式为

ξ= ξ ( x , y)

η= η ( x , y)( 8-1)

图 8-1 求解区域的坐标变换

这种将物理平面上不规则区域变换到计算平面上规则的矩形区域的坐标 , 称为边

界拟合坐标。由于求解区域的边界曲线是这种坐标系的坐标线 , 因此边界拟合坐

标又称贴体坐标。

边界拟合坐标根据变换关系式 (8-1) , 分成两类 : 若式 (8-1)

达式 , 则称代数坐标系 ; 若式 (8-1) , 则称为微分坐标系。

图 8-2 给出代数坐标系的例子 , 图 8-2a 是物理平面上的环形区域 , 通过下

列代数变换 , 变成矩形区求解区域。

图 8-2 环形区域的坐标变换

ξ= x2

+ y2

η= arctanyx

不难看出边界拟合坐标 (ξ, η) 实际上就是人们所熟知的极坐标: r = ξ, θ=η。

图 8-3 给出另一个代数坐标系的例子。图 8-3a 是物理平面求解区域 , 它是

两个同心相似椭圆中的环形区域。这可以通过两次代数变换 , 变换为矩形区域 :

先变换为圆形的环形区域 , 再变换为矩形区域。第一次的变换式为

图 8-3 椭圆环形区域的坐标变换

x1 = x

y1 = y�/μ (μ=b1

a1=

b2

a2)

942

第二次变换式为

ξ= x2

1 + y2

1 = x2

+ ( y�/μ)2

η= arctany1

x1= arctan

yμx

但对于图 8-1 所示的复杂区域的坐标变换 , 就无法采用简单的代数变换 , 而

要通过由微分方程表示的变换关系式进行坐标变换 , 才可能将这类复杂的不规则

的区域变换为矩形区域 ; 这种变换称为微分变换 , 由微分方程所决定的坐标系

(ξ, η) 称为微分坐标系。微分变换的基本思想是在物理平面上的复杂形状的区

域内 , 沿着边界线画出正交的或非正交的曲线坐标线族 ; 在 ( x , y ) 平面上的

求解区域内 , 布满这样的坐标线 , 如图 8-1a 所示 , 在每一条曲线坐标线上 η=

const , 而在另一族与其相交的曲线坐标线上 ξ= const。若设求解区域内边界上 η

= 0 , 在外边界上η= 10 , 另一族起始的坐标线ξ= 0 , 顺序增加到最后的坐标线

ξ= 20; 这样ξ= 0 , ξ= 20 两条坐标线是重合的 , 设想沿着这条坐标线剪开 , 并

展开到 (ξ, η) 平面上 , 并将这个区域拉平 , 就构成图 8-1b 所示的规则区域。

现在的问题是什么样的微分方程变换式 , 可以实现这种变换。1974 年以来 ,

J.Thompson 等对边界拟合坐标进行系统的研究 , 证明 Laplace 方程和 Poisson 方程

可以实现这样的变换。下面将讨论由这两个方程所定解的边界拟合坐标的基本原

理与具体方法。

8.2 Laplace方程定解的边界拟合坐标

8.2.1 基本原理

由 Laplace 方程定解的边界拟合坐标 , 是根据 Laplace 方程具有下面定理给出

的性质而建立起来的。

定理 : 若某物理量 u 在某给定区域 D 中 , 满足

è2u = 0 ( x , y ) ∈ D

则 u 在 D 区域中的最大值和最小值必定存在于 D 区域的边界 S 上。

证明 : 设 p 是 D 区域中的任一内点 , 微元子区域 A 包含 p 点 ; 不妨取微元

A 为 2 h×2 h 的正方形 , 并在 p 点建立坐标 , 如图 8-4 所示。

u = u( x , y) A 中可展成泰勒级数

u ( x , y ) = up + uxp x + uy p y +12

( u x x p x2

+ ux y 2 xy + uy yp y2

) + ⋯

这里的 uxp 、 uy p 、 u x x p 、 u x y p 和 u y y p 分别表示u ( x , y) p 点对 x、 y 的一阶和二阶

偏导数。另外记 u 在微元 A 内的平均值 u 为

052

图 8-4 Laplace 方程的求解区域与任意点 p

u =1

4 h2∫

h

- h∫h

- hu( x , y )d xd y

将泰勒级数展开式代入上式 , 略去高阶项 , 可得

u u=1

4 h2∫

h

- h∫h

- hup d xd y +

14 h

2∫h

- h∫h

- h( uxp x + uyp y) d xd y

+1

8 h2∫

h

- h∫h

- h( u x xp x

2+ u y y p y

2) d xd y

+1

4 h2∫

h

- h∫h

- hu x y p xyd xd y

由于积分区域对称性 , 上式右边第二项和第四项的积分为零 , 所以有

u = up +h

2

6( u x xp + u y yp )

即有

è2

up = ( ux x + uy y ) p =6h

2 ( u - up )

由于è2u = 0 , 因此充分小的邻域内有

up = u

这表明 D 中任一内点 p 的函数值等于 p 点邻域中的函数平均值。同时 , up 不能

是该小区域上的最大值或最小值 , 因为从复变函数的模数原理知 , 调和函数的最

大值和最小值只能出现在邻域的边界上。

用以上概念 , 我们可简单地说明调和函数 u 的最大值和最小值一定出现在

边界上。

假定区域 D 的边界 S 由内边界 S1 和外边界 S2 组成 ( 图 8-5 )。不妨在 D 内

任取一点 p , 在 p 点邻域的边界线εp 上 , 必定存在一点 p1 , 使得 up1最大 (或最

小 ) , 同样可作 p1 的邻域 , 边界线为 εp1

, 显然εp1上一定存在 p2 , 使得 up

2最大

(或最小 ) 。如此 , p、 p1 、 p2 、 p3 ⋯一点点延拓下去 , 最后整个区域上的最大值

152

(或最小值 ) 一定在边界上。

图 8-5 Laplace 方程的最大值与最小值原理

上述已证明的定理告诉我们这样一个

重要结 论 : 如果有 一个变换 函数 ξ=

ξ( x , y ) , 在区域 D 中满足 Laplace 方程

è2ξ= 0 , 则ξ在 D 区域的最大值与最小

值必定在 D 区域的边界上 ; 如果在 D 的

内边界 S0 上给定 ξ= 0 , 在外边界 S1 上

给定 ξ= 1 , 则在 D 内有 0 < ξ< 1。这个

性质 , 是变换函数 ξ= ξ( x , y )

变换的基本原理。下面将根据这个基本

原理 , 讨论如何实现边界拟合坐标的变

换。

8.2.2 边界拟合坐标变换的基本思想

假定如图 8-6a 所示的复杂求解区域 D 是由边界线 S0 和 S1 包围 , 通过下列

变换 :

ξ=ξ( x , y )

η= η( x , y )

将 D 变换到图 8-6b 所示的计算平面上 , 上述变换函数ξ= ξ( x , y ) Laplace

方程 , 并且使边界线 S0 落在计算平面的坐标线 ξ= 0 上 , 使边界线 S1 落在平行

坐标轴的ξ= 1 的直线上 , 即满足

è2ξ= 0

在 S0 上 , ξ= 0

在 S1 上 , ξ= 1

(8-2a)

(8-2b)

(8-2c)

显然 , 根据 Laplace 方程的最大值和最小值原理 , 在区域 D 中 , 有 0 < ξ< 1 , 这

样我们可以在 D 内画出许多条ξ的等值曲线 (如图 8-6a)。

对 η坐标也采用 Laplace 方程进行变换。可以将图 8-6a 所示的物理平面上的

x 轴切开 , 记这条被切开的边界线为 S2 、 S3 ; S2 表示 y = 0+的 x 轴 , S3 表示 y

= 0-的 x 轴。这样 , D 区域是由 S0 、 S1 、 S2 和 S3 所包围的单连通区域 , 变换

函数η= η( x , y)

è2η= 0

在 S2 上 , η= 0

在 S3 上 , η= 1

在 S0 、S1 上 , �η

�n= 0

(8-3a)

(8-3b)

(8-3c)

(8-3d)

252

图 8-6 Laplace 方程的坐标变换a) 物理平面 b) 计算平面

同样 , 根据 Laplace 方程最大值和最小值原理 , η在 D 内的解满足 0 < η< 1。因

此 , 可以在 D 内画出许多等η值分布的曲线 ; 这样 , 就可保证将物理平面上的 y

= 0 的 x 坐标线变换到计算平面上的η= 0 , η= 1 的坐标直线上 , 而那些等 η值

的曲线相应变换到平行的η= 常数的坐标线上。至于在 S0 , S1 上给定�η

�n= 0 条

件 , 可以保证变换是唯一的 , 并且是正交变换。

从上面的讨论可以看到 , 在物理平面上 , 不规则的求解区域 D 内 , 只要按

照需要 , 在边界上和区域内部布置ξ的等值曲线和η的等值曲线 , 并通过求解式

(8-2) 和 式 ( 8-3 ) Laplace 方 程 , 即可 获 得 变 换 函 数ξ = ξ( x , y ) ,

η= η( x , y) , 使得 D 区域变换到计算平面上的规则的矩形区域。

8.2.3 边界拟合坐标变换的求解步骤

在物理平面上 , 由坐标系 ( x , y ) 中给定的不规则的求解区域 D , 可通过

变换ξ=ξ( x , y ) , η= η( x , y ) , 将它变换到计算平面上 , 在变换后的坐标系

(ξ, η) 中 求 解区 域 为矩 形 规 则区 域。下 面 给出 变 换 函 数ξ= ξ( x , y ) ,

η= η( x , y) :

1 . 确定ξ, η在区域 D 上的边界条件

在不规则区域 D 的边界上 , ξ、η的边界条件分两类 : 一类是常数边界 , 在

这类边界上 , ξ值为常数 (或 η值为常数 ) ; 另一类是非常数边界 , 在这类边界

上可提�ξ�n

= 0 或�η

�n= 0 , 或者给出 ξ、η的等分点。如果是多连通区域 , 一般要

352

在区域内画出分割线 , 使其成为单连通区域。

边界条件的确定 , 原则上要注意下列几点 :

(1) 对 D 的全部边界 (包括分割线边界 ) , 分别对 ξ、η分成两类 : 一类是

常数边界 , 另一类是非常数边界。对于ξ是常数的边界 , η是非常数边界 ; ξ是

非常数的边界 , η是常数边界。

(2) 分别对ξ、η在常数边界上 , 设置边界值。常数边界要有两段 , 一段边

界上设置最大值 , 另一段边界上设置最小值。

(3) 在非常数边界上 , 分别对ξ、η给出边界条件 , 可以给�η

�n= 0 (或

�ξ�n

=

0) , 或者给出ξ值的等分结点 (或 η值的等分结点 )。

显然 , 边界条件的确定并不是唯一的 , 图 8-7 给出两种坐标变换的不同边界

条件。

图 8-7 不规则区域的坐标线的设置

2 . 在求解区域中画出坐标值等分曲线

按照边界条件中的最大值与最小值 , 并根据区域形状 , 分别画出ξ、η等值

分布的坐标曲线。图 8-7 中给出两种不同的坐标线设置的方案 , 这工作可使我们

了解坐标曲线的布置状况 , 在求解变换函数时 , 实际上并不需要这些坐标曲线分

布位置的具体数据。

3 . 求解ξ、η满足的 Laplace 方程的边值问题。

ξ、η所满足的 Laplace 方程 , 分别由式 ( 8-1 ) 和式 ( 8-2) 所示。不同的边

界条件 , 在形式上有所不同。对于这两个方程 , 求出分析解一般是十分困难的 ,

通常采用数值求解的方法。获得的数值解给出了物理平面上求解区域 D 中的离

散点 ( x , y) , 与计算平面上规则求解区域中的对应点 (ξ, η) 之间的一一对应

关系。

452

8.3 Poisson 方程定解的边界拟合坐标

用 Laplace 方程进行坐标变换 , 可以将不规则区域变换到计算平面上的规则

区域 ; 虽然可以通过ξ和η在物理平面上求解区域边界上的分布 , 改变计算网格

的结点 , 但只能影响靠近边界的结点分布 , 不能产生计算区域中所希望的结点密

度。实际计算时 , 对于求解域区中物理量梯度比较大的地方 , 计算结点要密一

些 , 而物理量梯度比较小的地方 , 结点可以稀疏一些 ; 而计算平面上的变换坐

标 , 仍希望是均匀等间隔的。这个要求无法通过 Laplace 方程来实现 , 而必须通

过 Poisson 方程定解的变换关系式才能实现。

8.3.1 基本原理

为了弄清楚 Poisson 方程定解的变换关系式具有将非均匀网格变换为均匀网

格的特点 , 不妨研究最简单的一维问题。

设求解区域为 [ 0 , 1] 的一维 Poisson 方程边值问题为

è2ξ= ξx x = P

x = 0 , ξ= 0

x = 1 , ξ= 1

( 8-4)

这里的非齐次项 P 可以是 x、ξ、ξx 的函数 , 为便于考察变换函数ξ= ξ( x )

点 , 不妨假定 P 是常数。显然 , 方程式 (8-4)

ξ=P2

( x2

- x ) + x ( 8-5)

图 8 -8 一维 Laplace 方程变换 P = 0

当 P = 0 时 , 式 (8-4) Laplace 方程 , 此时

解为ξ= x; 显然 , 当 x 坐标上的结点取为等间

隔分布时 , ξ坐标上的结点也是等间隔的 ( 图

8-8 )。

而为了计算的需要 , 我们希望 x 坐标上的

结点是非均匀分布 , 而希望变换后的计算平面

上的坐标 ξ, 结点仍保持均匀分布。很显然 ,

此时 P 不能为零 , 即一定要采用 Poisson 方程。

假定 P = 2 > 0 , 此时方程的解式 (8-5)

ξ= x2

结点间矩的关系为

ΔxΔξ

≈1

2 x( 8-6)

从式 (8-6 ) , 若保持计算平面上的变换坐标 ξ的结点间距不变 , Δξ= 常数 ;

552

物理平面上的坐标 x 的结点间距是和 x 有关的 : 随 x 增大 , Δx 变小 , 也就是说 ,

接近 x = 1 的区域 , 结点要密些 , 而接近 x = 0 的区域 , 结点要稀疏些 , 如图 8-9

所示。

假定 P = - 2 < 0 , 此时方程的解式 (8-5)

ξ= 2 x - x2

结点间矩的关系为

ΔxΔξ

≈1

2 (1 - x )( 8-7)

从式 (8-7) , 当Δξ= 常数时 , Δx 随 x 增加而增加。也就是说 , 接近 x = 1 的

区域 , 结点要稀疏一些 , 而接近 x = 0 的区域 , 结点要密一些 , 如图 8-10 所示。

图 8 -9 一维 Poisson 方程变换 P = 2图 8-10 一维 Poisson 方程变换 P = - 2

假定 P = - 6 时 , 方程的解式 ( 8-5) 为

ξ= 4 x - 3 x2

( 8-8)

结点间矩的关系为

ΔxΔξ

≈1

2(2 - 3 x)( 8-9)

图 8 -11 一维 Poisson 方程非唯一性变换 P = - 6

从式 ( 8-9 ) , 当Δξ不变时 , x 轴上的

结点间距 Δx 从 x = 0 开始 , 随 x 增大而变大 ,

即结点变稀疏 : 在 x =23附近 , 结点最疏 , 然后

随 x 增大 , 结点又变密 , 如图 8-11 所示。不过

要注意到 , 此时当ξ= 1 时 , 从式 ( 8-8 ) x =

1 ,13两个解 , 变换不是唯一的 , 显然这种变换

式不是我们所希望的。

从上面分析可以看到 , 通过 Poisson 方程定

解的变换函数 , 可以将物理平面上的区域变换到

652

计算平面上 ; 在保持计算平面上坐标结点均匀分布的前提下 , 可以通过非齐次项

P 来调节坐标结点的疏密程度。同时要注意 , 非齐次项 P 有可能破坏变换的唯

一性。

上面所讨论的一维 Poisson 方程的变换函数的性质 , 同样适用于二维情形。

如图 8-12 所示的物理平面上 , 不规则的求解区域 D , 内边界上ξ= 0 , 外边界上

ξ= 1; 在 y = 0 的 x 轴上 , 切割成上下两条边界线 , y = 0+上 η= 0 , y = 0

-上 η

= 1。现在通过 Poisson 方程求出变换函数 : ξ= ξ( x , y ) , η= η( x , y ) D 区域

变换成计算平面上规则的矩形区域 , 而且要求是均匀网格 , 而物理平面上的网格

点 , 可以是非均匀的 , 将通过 Poisson 方程的非齐次项来控制结点的疏密分布。

变换函数ξ( x , y )、η( x , y ) :

图 8-12 二维 Poisson 方程定解的区域与网格的变换

è2ξ=ξx x +ξy y = P ( x , y) ∈ D

在内边界上 , ξ= 0

在外边界上 , ξ= 1

(8-10)

è2η= ηx x + ηy y = Q ( x , y ) ∈ D

在 y = 0+上 , η= 0

在 y = 0-上 , η= 1

(8-11)

不妨对式 (8-10 ) 。当 P < 0 时 , 接近内部边界的区域 , ξ坐标线要

密些 ; 当 P > 0 时 , 接近外部边界的区域 , ξ坐标线要密些。这个结论 , 可以作

如下简单证明 :

在图 8-13 中 , 在不同ξ坐标线上 , 取三点 A1 、 A2 、 A3 , 并设这三点在一条

752

图 8-13 二维 Poisson 方程非齐次项对结点分布的影响

直线上。这三点的坐标分别为 ( x1 ,

y1 )、 ( x2 , y2 )、 ( x3 , y3 ) ; 它们所

在的 ξ坐标线的坐标值为ξ1 , ξ2 ,

ξ3 。记 i

Δξ1 = ξ2 - ξ1 , Δξ2 = ξ3 - ξ2

Δx1 = x2 - x1 , Δx2 = x3 - x2

Δy1 = y2 - y1 , Δy2 = y3 - y2

因为我们已假定计算平面上是均匀

网格 , 坐标线是等间隔的 , 因此有

Δξ1 =Δξ2 =Δξ

现在将式 (8-10) , 即有

ΔξΔx2

-ΔξΔx1

12

(Δx2 +Δx1 )-

ΔξΔy2

-ΔξΔy1

12

(Δy2 +Δy1 )= P (8-12)

因为 A1 、 A2 、 A3 同在一条直线上 , 因此有

Δy1

Δx1=Δy2

Δx2= k (8-13)

将式 (8-13)关系代入式 ( 8-11) , 可得

1 +1k

2

2Δξ[ (Δx1 )2

- (Δx2 )2

]

Δx1Δx2 (Δx1 +Δx2 )2 = P (8-14)

从式 (8-14) :

(1) 当 P = 0 时 , 有

Δx1 =Δx2

同时注意到式 (8-13) , 有

Δy1 =Δy2

这表明 ( x , y) 平面上的结点分布是均匀的。

(2) 当 P > 0 , 由式 (8-14 )

(Δx1 )2

> (Δx2 )2

注意到式 (8-13) , 有

(Δy1 )2

> (Δy2 )2

因此有

(Δx1 )2

+ (Δy1 )2

> (Δx2 )2

+ (Δy2 )2

这表明 A1 A2 > A2 A3 。也就是说 , 在 ( x , y) 平面的求解区域中 , 接近外边

852

界的结点分布要密些。

(3) 当 P < 0 , 由式 (8-14 )和式 (8-13)

(Δx1 )2

< (Δx2 )2

(Δy1 )2

< (Δy2 )2

因此有

(Δx1 )2

+ (Δy1 )2

< (Δx2 )2

+ (Δy2 )2

这表明 A1 A2 < A2 A3 。也就是说 , 当 P < 0 时 , 在 ( x , y ) 平面上 , 接近外

边界的结点分布要疏些。

同样可证明 : 当式 (8-11) Q = 0 时 , 物理平面上的 η坐标线分布是均匀

的。 Q > 0 时 , 物理平面上 , 接近 y = 0+的区域 , η坐标线分布要密些。当 Q < 0

时 , 接近 y = 0-的区域 , η坐标线分布要密些。

以上讨论表明 : 由式 (8-10)和式 ( 8-11) , 可以将物理平面

上不规则区域中曲线坐标网格 , 变换到计算平面上规则的矩形区域中的均匀网

格 , 物理平面上的结点分布疏密由 Poisson 方程中非齐次项 P、 Q 决定。

8.3.2 Poisson 方程控制函数的选择

从前面的讨论已经知道 , Poisson 方程中的非齐次项 P、 Q 将决定物理平面

上结点分布的疏密状态。我们称 P、 Q 为控制函数。

控制函数有很多选法 , 这里介绍参考文献 [ 12 ] 中采用的 Thompson 方法。

选择 P、 Q 为下列函数

P = ∑n

i = 1

± ai e- α

iξ- ξ

i

Q = ∑m

j = 1

± bj e- β

jη- η

j

上述的控制函数表达式中 , 有三组需事先确定的参数 , 这些参数及其作用如下 :

(1) 坐标点控制参数ξi ( i = 1 , 2⋯ n ) 和 ηj ( j = 1 , 2⋯ m )。ξi 是ξ坐标线的控

制点 , 共 n 个 ; ηj 是η坐标线的控制点 , 共 m 个。可以根据物理平面上求解区

域中边界拟合坐标曲线的分布情况 , 在需要调整结点疏密分布的地方设置控制

点。

(2) 疏密控制参数 ai 和 bj 。在坐标控制点ξi (或 ηj ) , 若要求网格线密集

些 , ai 可取负号 (或 bj 取负号 ) ; 若要求网格线稀疏些 , ai 可取正号 (或 bj 取

正号 ) ; 若要求网格线均匀些 , 则可取 ai = 0 ( 或 bj = 0 )。 ai 和 bj 取值范围在 10

至 1000 之间。

(3) 疏密衰减指数 αi 和βj 。αi 和βj 取值 0 至 1 之间 , 用于控制坐标线 ξi 或

ηj 附近网格线分布疏密程度的变化趋势。αi (或 βj ) 越大 ,ξi ( 或 ηj )

952

趋向均匀分布越快 ; 反之 , 趋向均匀分布越慢。

例如取 n = 2 , 则有

P = -a1

1ξ- ξ

1+

a2

2ξ- ξ

2(8-15)

图 8 -14 控制函数 P

上式 P 值的变化情况如图

8-14 所示。从图 上可以

看出 , 在 ξ1 点附近 , 由

于式 ( 8-15 ) ,

P < 0 , 即在物理平面上

ξ1 点附近的坐标曲线是

收缩的 , 也就是说 ,

在ξ1 点附近网格的坐标曲线最密集。而在ξ2 点附近 , 由于式 ( 8-15 ) 第二项占

优 , P > 0 , 因此在物理平面上ξ2 点附近网格坐标曲线最稀疏。当ξ远离ξ1 , ξ2

的地方 , P≈0 , 这些地方网格坐标曲线近似等间隔的。因此 , 我们可根据物理

平面的具体情况 , 确定在哪些地方需要网格线密一些 , 哪些地方网格线需要稀疏

些 , 从而选择坐标点控制参数ξi 。对于另一组坐标曲线 η, 也同样按这些原则确

定控制点参数 ηj 。

8.4 边界拟合坐标的数值方法

前面已经讨论了物理平面上的不规则求解区域 , 可以通过求解 Poisson 方程

的边值问题 , 获得坐标变换函数ξ= ξ( x , y) ,η= η( x , y) 。从而将求解区域变换

到计算平面 (ξ, η) 上的矩形规则区域。

如图 8-15 所示的求解区域的变换 , 一般可通过求解下列 Poisson 方程边值问

题而获得变换函数。

ξx x + ξy y = P

ηx x + ηy y = Q

在 Γ1 上 , ξ= ξ1 ( x , y ) , η= η1

在 Γ2 上 , ξ= ξ2 ( x , y ) , η= η2

在 Γ3 上 , ξ= ξ3 η= η3 ( x , y )

在 Γ4 上 , ξ= ξ4 η= η4 ( x , y )

(8-16)

观察式 (8-16 ) , 不难发现要想获得这个 Poisson 方程边值问题的分析解几乎

是不可能的 , 这是因为在物理平面上 , 求解区域的边界大多是不规则的曲线 , 因

062

此只能通过数值方法求解。但是由于求解区域是不规则的 , 除剩用有限元方法

图 8-15 物理平面与计算平面的变换

外 , 若采用差分方法 , 则会遇到划分

网格的困难。因此 , 如要采用有限差

分法求解时 , 将采用另外一种途径。

可以将 ξ、η作为独立变量 , x、 y

作为因变量 , 建立起从计算平面变换

到物理平面的变换函数 x = x (ξ, η)、

y = y (ξ, η) ; 由于计算

平面上求解区域是规则的矩形区域 ,

网格也是均匀的矩形网格 , 采用差分

法会方便许多。

下面先推导关于 x = x (ξ, η)、

y = y(ξ, η) , 然后建立

起相 应的数 值求 解的 有限 差分 方

程。

因为有

d x = xξdξ+ xηdη

d y = yξdξ+ yηdη

由上式 , 可解出

dξ=yηd x - xηd y

J

dη=- yξd x + xξd y

J

J = xξyη - xηyξ

(8-17)

注意到

dξ=ξx d x + ξy d y

dη= ηx d x + ηy d y(8-18)

比较式 (8-17)与式 ( 8-18) , 可得

ξx =yηJ

ξy = -xηJ

ηx = -yξJ

ηy =xξJ

(8-19)

现在引进任意函数

u = u( x , y ) = u(ξ, η)

应有

162

ux =�u�x

=�u�ξ

ξx +�u�η

ηx

uy =�u�y

=�u�ξ

ξy +�u�η

ηy

于是有

ux x = uξξξ2

x + 2 uξηηxξx + uηηη2

x + uξξx x + uηηx x

uy y = uξξξ2

y + 2 uξηηyξy + uηηη2

y + uξξy y + uηηy y

因此可得

ux x + uy y �= uξξ (ξ2

x + ξ2

y ) + 2 uξη (ηxξx + ηyξy )

+ uηη (η2

x + η2

y ) + uξ(ξx x +ξy y ) + uη (ηx x + ηy y )

将式 (8-19)与式 ( 8-16) Poisson 方程代入上式 , 可得

ux x + uy y =αJ

2 uξξ -2βJ

2 uξη +γJ

2 uηη + Puξ + Quη (8-20)

上式中

α= x2

η + y2

η

β= xξxη + yξyη

γ= x2

ξ + y2

ξ

(8-21)

如果令任意函数 u = x 和 u = y , 则式 (8-20) , 可得

αxξξ - 2βxξη + γxηη = - J2

( xξP + xηQ)

αyξξ - 2βyξη + γyηη = - J2

( yξP + yηQ)(8-22)

这便是 x = x(ξ, η)、y = y (ξ, η) , 显然这是非线性偏微分方

程组。由它所决定的变换函数将计算平面的矩形求解区域变换到物理平面上的求

解区域。方程 (8-22)的边界条件可由式 ( 8-16) :

在 Γ*

1 上 , x = f1 (ξ,η1 ) , y = f2 (ξ,η1 )

在 Γ*

2 上 , x = g1 (ξ,η2 ) , y = g2 (ξ,η2 )

在 Γ*

3 上 , x = h1 (ξ3 ,η) , y = h2 (ξ3 ,η)

在 Γ*

4 上 , x = k1 (ξ4 ,η) , y = k2 (ξ4 ,η)

(8-23)

方程式 (8-22) , 可通过有限差分法数值求解 , 所得的

解 x = x (ξ, η) , y = y (ξ, η)

系。

下面给出式 (8-22) 。由于在计算平面上的求解区域是矩形区

262

域 , 曲线坐标网格变换过来的是均匀的矩形网格 , 适合于差分法的求解 , 不妨设

Δξ=Δη= 1 , 并采用中心差分格式 , 于是从式 (8-22) 可推导出差分方程

α( xi - 1 , j - 2 xi j + xi + 1 , j ) + γ( xi , j + 1 - 2 xi j + xi , j - 1 ) = 2βxξη - J2

( xξP + xηQ)

α( yi - 1 , j - 2 yi j + yi + 1 , j ) + γ( yi , j + 1 - 2 yi j + yi , j - 1 ) = 2βyξη - J2

( yξP + yηQ)

上式中的下标见图 8-16 所示。

上述有限差分方程可采用显式的迭代格式求解

xn + 1

i j =[α( xi - 1 , j + xi + 1 , j ) + γ( xi , j + 1 + xi , j - 1 ) - 2βxξη + J

2( xξP + xηQ ) ]

n

2 (α+ γ)

yn + 1i j =

[α( yi - 1 , j + yi + 1 , j ) + γ( yi , j + 1 + yi , j - 1 ) - 2βyξη + J2

( yξP + yηQ ) ]n

2 (α+ γ)

图 8-16 计算平面上的网格点

上式中的 n、 ( n + 1 ) 表示迭代次数 , α、

β、γ的表达式如式 ( 8-21 ) 。其中 xξ、

xη、 yξ、 yη、 xξη、 yξη 将 采 用中 心 差分 近

似 : �

xξ =xi + 1 , j - xi - 1 , j

2, xη =

xi , j + 1 - xi , j - 1

2

xξη =xi + 1 , j + 1 - xi + 1 , j - 1 + xi - 1 , j - 1 - xi - 1 , j + 1

4

yξ =yi + 1 , j - yi - 1 , j

2, yη =

xi , j + 1 - xi , j - 1

2

yξη =yi + 1 , j + 1 - yi + 1 , j - 1 + yi - 1 , j - 1 - yi - 1 , j + 1

4

需要指出 , 上述差分格式是假定网格间距Δξ=Δη= 1 , 而这点只要通过物理平

面上的曲线坐标的边界条件的设定就可实现。

参考文献 [ 12] 给出了上述差分方程迭代计算求解的源程序。

8.5 边界拟合坐标系中的流体力学方程

前面讨论了边界拟合坐标系的建立 , 即通过 Poisson 方程的求解 , 获得坐标

变换函数 , 可以将物理平面上的求解区域变换到计算平面 (ξ, η) 上的矩形规

则区域。因此在物理平面 ( x , y ) 坐标系中求解的流体力学方程 , 需要转换到

(ξ, η) 坐标系中 , 下面推导方程式在这两个不同坐标系间的转换。

不妨以流体力学中粘性不可压的流函数涡量方程为例讨论这种转换。流函数

涡量方程在物理平面上 ( x , y) 坐标系中的表达式为

362

�ω�t

+ u�ω�x

+ v�ω�y

=1Re

�2ω

�x2 +

�2ω

�y2

�2ψ

�x2 +

�2ψ

�y2 = - ω

u =�ψ�y

v = -�ψ�x

(8-24a)

(8-24b)

(8-24c)

(8-24d)

为了将上述方程转换到计算平面 (ξ, η) 坐标系中 , 不妨先推导一般的物

理量 f = f ( x , y , t ) = f(ξ, η, t ) ( x , y ) 的偏导数与对 (ξ, η) 偏导数之间

的关系。由于

fx = fξξx + fηηx

fy = fξξy + fηηy

注意到式 (8-19) , 可得

fx =1J

( fξyη - fηyξ)

fy =1J

( fηxξ - fξxη )

(8-25)

对上式再取导数 , 可得

fx x �=�fx

�ξξx +

�fx

�ηηx

=1Jξx ( fξξyη + fξyηξ - fηξyξ - fηyξξ )

+1Jηx ( fξηyη + fξyηη - fηηyξ - fηyξη ) (8-26)

-1J

2 ( Jξyη - fηyξ ) ( Jξξx + Jηηx )

注意到 J = xξyη - xηyξ , 因此有

Jξ = xξξyη + xξyηξ - xηξyξ - xηyξξ

Jη = xξηyη + xξyηη - xηηyξ - xηyξη

将上式代入式 (8-26) , 并注意到式 ( 8-19) , 可得

fx x e=1J

2 ( y2ηfξξ - 2 yξyη fξη + y

2ξfηη )

+1J

3 ( y2ηyξξ - 2 yηyξyξη + y

2ξyηη) ( xη fξ - xξfη )

462

+1J

3 ( y2ηxξξ - 2 yξyηxξη + y

2ξxηη) ( yξfη - yη fξ ) (8-27)

同样可推导得

fy y e=1J

2 ( x2ηfξξ - 2 xξxη fξη + x

2ξfηη )

+1J

3 ( x2

ηyξξ - 2 xξxηyξη + x2

ξyηη) ( xη fξ - xξfη )

+1J

3 ( x2

ηxξξ - 2 xξxηxξη + x2

ξxηη) ( yξfη - yη fξ ) (8-28)

fx y �=1J

2 ( xξyη + xηyξ) fξη - xξyξ fηη - xηyη fξξ

+1J

3 xηyηxξξ - ( xξyη + xηyξ) xξη + xξyξxηη ( yη fξ - yξ fη )

+1J

3 xηyηyξξ - ( xξyη + xηyξ) yξη + xξyξyηη ( xξfη - xηfξ ) (8-29)

根据上述函数偏导数的各个转换关系式 , 方程式 ( 8-24 ) (ξ,η)

利用式 (8-25) , 式 ( 8-24a)

u�ω�x

+ v�ω�y

�= ψyωx - ψxωy =1J

2 [ ( xξψη - xηψξ) ( yηωξ - yξωη )

- ( yηψξ - yξψη ) ( xξωη - xηωξ) ]

上式展开并注意到 J 的表达式 , 上式可化简为

ψyωx - ψxωy =1J

(ψηωξ - ψξωη )

代入式 (8-24a) , 并利用式 ( 8-27)和式 ( 8-28 )

J2

Reωt + ( JReψη - τ)ωξ + ( - JReψξ - σ)ωη = αωξξ + γωηη - 2βωξη (8-30)

流函数方程式 ( 8-24d) 同样可转换为

τψξ + σψη + σψξξ + γψηη - 2βψξη = - J2ω (8-31)

上述两式是流函数涡量方程在 (ξ, η) 坐标系中的表达式 , 式中的各参数为

α= x2

η + y2

η

β= xξxη + yξyη

γ= x2ξ + y

σ=1J

( yξLx - xξLy )

562

τ=1J

( xηLy - yηLx )

Lx = αxξξ - 2βxξη + γxηη

Ly = αyξξ - 2βxξη + γyηη

J = xξyη - xηyξ

上述各个参数 , 当边界拟合坐标的变换函数 x = x(ξ, η) , y = y (ξ, η) ,

是不难求出的。在上一节的变换函数的数值求解中 , 已给出了差分格式的表达

式。

662

参 考 文 献

1 �章本照 . 流体力学中的有限元方法 . 北京 : 机械工业出版社社 , 1986

2 �(美) J.J . 康纳 , C.A . 勃莱皮埃 . 流体流动的有限元法 . 吴望一译 . 北京 : 科学出版社 ,

1981

3 �(美 ) T.J . Chung . 流体动力学的有限元分析 . 张二骏等译 . 北京 : 电力工业出版社 , 1980

4 �陈材侃 . 计算流体力学 . 重庆 : 重庆出版社 , 1992

5 �(美 ) S.S . 劳尔 . 工程中的有限元法 . 傅子智译 . 北京 : 科学出版社 , 1991

6 �吴江航 , 韩庆书 . 计算流体力学的理论、方法及应用 . 北京 : 科学出版社 , 1988

7 �刘希云 , 赵润祥 . 流体力学中的有限元与边界元方法 . 上海 : 上海交通大学出版社 , 1993

8 �(英 ) P.K . 班努杰 , R. 白脱费尔德 . 工程科学中的边界元法 . 冯振兴等译 . 北京 : 国防

工业出版社 , 1988

9 �(英 ) C.A . 布雷拜 , S . 沃克 . 边界元法的工程应用 . 张治强译 . 西安 : 陕西科学技术出

版社 , 1983

10 A铙寿期 . 有限元法和边界元法基础 . 北京 : 北京航空航天大学出版社 , 1990

11 王元谆 . 边界元法基础 . 上海 : 上海交大出版社 , 1988

12 <(美 ) 陈景仁 . 湍流模型及有限分析法 . 臧国才等编译 . 上海 : 上海交通大学出版社 ,

1989

13 A(美) 陈景仁 . 流体力学及传热学 . 北京 : 国防出版社 , 1984

14 张涤明 . 计算流体力学 . 广州 : 中山大学出版社 , 1991

15 李瑞遐 . 有限元法与边界元法 . 上海 : 上海科技教育出版社 , 1993

16 杨曜根 . 流体力学有限元 . 哈尔滨 : 哈尔滨工业大学出版社 , 1995

17 孔详谦 . 有限单元法在传热学中的应用 . 北京 : 科学出版社 , 1998

18 A周光穅 , 严宗毅 , 许世雄 , 章克本 . 流体力学 (第二版) . 北京 : 高等教育出版社 , 2000

19 @F Dnbois , 邬华谟 . 计算流体力学的新进展 : 理论、方法和应用 . 北京 : 高等教育出版

社 , 2001

20 谢德馨 . 三维涡流场的有限元分析 . 北京 : 机械工业出版社 , 2001

21 王焕定 , 焦兆平 . 有限单元法基础 . 北京 : 高等教育出版社 , 2002

22 A朱加铭 , 欧贵宝 , 何蕴增 . 有限元与边界元 . 哈尔滨 : 哈尔滨工业大学出版社 , 2002

23 AA J Baker . Finite element computation fluid mechanics . Washingtong: Hemisphere , 1983

24 AO Pironneam . Finite element methods for fluid . Chichester , New York , Paris : Wily Massn , 1989

25 AC A Brebbia . Boundary element in fluid dynamics . Southampton: Computational Mechanics Publica-

tions, 1992

26 BG A Mohr . Finite element for solids, fluids and optimization . Oxford : Oxford University Press , 1992

27 AT J Chung . Finite element in fluids , V8 . Washington: Hemisphere , 1992

28 ]H Power , C A Berbbia, D B Ingham . Boundary element methods in fluid dynamics ( Ⅱ ) .

Southampton: Computational mechanics Publication , 1994

29 ?H Power , BE applications in fluid mechanics . Southampton: Computational mechanics Publication ,

1995

30 AK J Bathe . Finite element procedures . Englewood Cliffs , N J : Prentice Hall , 1996

31 CR T Ackroyd . Finite element methods for particle transport : applications to reactor and radiation phys-

ics . Taunton , Somerset , England: Research Studies Press ; New York: Wiley , 1997

32 GC Schwab . P-and-hp-finite element methods : theory and applications in solid and fluid mechanics .

Oxford : Clarendon Press; New York: Oxford University press , 1998

33 DH C Huang , Z G Li and A S Usmani . Finite element analysis of non-Newtonian flow: theory and soft-

ware . London; New York: Springer , 1999

34 IC M Chen , T M Shih . Finite element methods for integrodifferential equations . Singapore : World

Scientific , 1999

35 CB N Jiang . The least-squares finite element method: theory and applications in computational fluid dy-

namics and electromagnetics . Berlin ; New York: Springer , 1999

36 AS C Brenner , L R Scott . The mathematical theory of finite element methods, 北京 : 世界图书出版

公司 , 1999

37 AJ O Dow . A unified approach to the finite element method and error analysis procedures . San Diego:

Academic Press, 1999

38 VS Moaveni . Finite element analysis: theory and application with ANSYS . Upper Saddle River ,

N . J : Prentice Hall , 1999

39 CG E Karniadakis , S J Sherwin . Spectral�/hp element methods for CFD . New York: Oxford University

Press, 1999

40 ?P M Gresho . Incompressible flow and the finite element method , Volume 1 , Advection-diffusion .

Chichester ; New York: Wiley , 2000

41 @Zienkiewicz , R L Taylor . The finite element method , Volume 3 , Fluid dynamics . Oxford ; Boston:

Butterworth-Heinemann , 2000

42 AC J Chen . Finite analytic method in flows and heat transfer . New York: Taylor & Francis , 2000

43 <M Ainsworth , J Oden . A Posteriori error estimation in finite element analysis . New York: Wiley , 2000

44 ?R L�hner . Applied computational fluid dynamics techniques : an introduction based on finite element

method . Chichester ; New York: Wiley , 2001

45 AJ N Reddy , D K Gartling . The finite element method in heat transfer and fluid dynamics . Boca Ra-

ton , FL: CRC Press, 2001

46 EB Yang . Flow modeling and stability analysis of viscoelastic flows using the finite element method .

Ann Arbor : Mich UMI , 2001

47 AR D Cook . Concepts and applications of finite element analysis . New York: Wiley , 2001

48 AW Bangerth , R Rannacher . Adaptive finite element methods for differential equations . Boston , MA:

Birkh�user Verlag , 2003

862