2.1.3 有限元解的收敛性与误差控制
基于单元形函数插值的有限元解是原应用问题的近似解。近似解是否收敛于真实解,近似解收敛速度有多快,近似解是否稳定,近似解误差有多大,这些都是决定有限元法能否成功用于具体工程问题的关键。
2.1.3.1 解的收敛性
有限元解的收敛性取决于所构建的试探函数(插值函数)逼近真实函数的程度,因此,试探函数的选择是关键。试探函数的选择必须遵循两条基本准则。
①完备性准则 如果出现在泛函表达式(2-6)中的场函数最高导数是m阶,则有限元解收敛的条件之一是单元内场函数的试探函数至少是m次完全多项式。
满足完备性准则的单元被称为完备单元。
②协调性准则 如果出现在泛函表达式(2-6)中的场函数最高导数是m阶,则试探函数在单元的交界面上必须具有Cm-1连续性,即在相邻单元的界面上,试探函数应具有直至m-1阶连续导数。
满足协调性准则的单元被称为协调单元。
完备性是有限元解收敛的必要条件,而协调性是有限元解收敛的充分条件。显然,对于绝大多数工程问题而言,选择多项式作为单元插值函数一般都能满足完备性和协调性准则。采用既完备又协调的单元离散求解域,所获得的有限元解一定收敛,即当单元尺寸趋近于零时,有限元解趋近于真实解。但是,某些非协调单元在一定的条件下也能使有限元解收敛于真实解。
2.1.3.2 误差来源与控制
有限元解的误差主要来源于有限元建模误差和数值计算误差,其中,有限元建模误差包括求解对象(域)离散误差、边界条件误差和单元形状误差。图2-8是有限元解的误差组成。
图2-8 有限元解的误差组成
(1)离散误差
离散误差有物理离散误差与几何离散误差之分。前者是插值函数(试探函数)与真实函数之间的差异,后者是单元组合体与原求解对象在几何形状上的差异。
物理离散误差量级可以定性地用下式估计
E=O(hp-m+1) (2-51)
式中 h——单元特征尺寸;
p——单元插值函数(一般为多项式)的最高阶次;
m——单元插值函数的最高导数阶次。
对于三节点三角形单元,其插值函数是线性的,即p=1。由于求解位移不涉及插值函数的求导,所以m=0,于是可推断出位移误差的量级为O(h2),位移解的收敛速度量级与位移误差相同,也为O(h2)。反之,节点位移与单元应变的几何方程中存在位移函数的一阶求导(m=1),故应变误差的量级为O(h),应变解收敛速度的量级也为O(h)。同理,根据本构方程可推断出应力误差与应力解收敛速度的量级均为O(h)。由此可见,在弹性力学刚度分析中,节点位移误差对其后应力应变解的精确度影响极大。
控制物理离散(即用插值函数代替真实函数)误差的方法主要有以下两种。
①减小单元特征尺寸 换句话说,就是增加网格划分密度。通过减小单元特征尺寸来提高有限元解精确度的方法被称之为h法。
②提高插值函数的阶次 即采用较高阶的多项式插值单元离散求解域。通过增加插值函数的阶次来提高有限元解精确度的方法被称之为p法。
此外,根据工程实际问题,混合使用高、低阶插值函数单元离散求解域的不同部分,也是控制物理离散误差的有效方法之一。
几何离散误差主要来自被离散对象的边界。如图2-9所示,中心带孔的平面圆被四边形单元均匀离散,其四边形的直边与内外圆周边之间存在间隙(即几何离散误差)。控制几何离散误差常用的方法有如下两种。
图2-9 几何离散误差
①网格局部加密(图2-10);
图2-10 网格局部加密
②选择边和(或)面上带有节点的单元,因为这类单元的边和(或)面可以弯曲(图2-11)。
图2-11 常用2D和3D单元举例
(2)边界条件误差
边界条件误差主要源于以下两个方面。
①物理边界的量化误差 物理边界量化误差实际上包括边界数据采集误差和边界数学模型误差,前者与某些边界条件的复杂性和边界数据采集的难度有关,后者与边界条件的理论研究和数学建模有关。例如:在钣金件冲压过程中,板料与模具之间的摩擦是动态变化的,而且依赖于具体的界面工况,很难准确地测定其摩擦数据,并利用基于理论分析与物理实验的界面摩擦模型加以描述。
②边界载荷等效移置误差 这类误差主要影响与边界载荷等效移置相关的局部区域特征,而对工程问题的整体求解影响不大。
控制边界条件误差的途径:针对第一种误差,尽量采用各种先进的技术方法与实验手段,准确测定工程问题求解所需的边界数据;同时深入开展理论与实验研究,不断完善描述界面条件的数学模型。针对第二种误差,细分重点关注的边界区域网格(例如:模拟焊接热应力时的热影响区),以减少或消除因载荷等效移置带来的求解精度损失。
(3)单元形状误差
单元形状误差由极度不规则的单元结构产生。例如:当如图2-12所示三节点三角形单元的底高比(即a/b)非常大时,就会造成单元的严重畸变或退化,从而影响有限元求解精度,极端情况下还将导致求解失败或数值计算无法进行。
图2-12 三角形单元的底高比
单元形状误差的影响一般仅限于畸变单元内部或相邻单元,因此,应有针对性地通过局部细分或单元编辑等方式调整关键区域(例如应力集中区)的网格。
(4)计算误差
计算误差可能来源于计算方法、程序设计、运算次数、误差累积以及解题性质与解题规模等多个方面。计算误差又分为舍入误差和截断误差,前者主要与计算机内部用于数据存储和字长处理、求解线性方程组和数值积分所需要的运算次数、数值计算采用的计算方法以及计算方法在程序实现中的误差控制等因素有关,而后者主要与数值计算采用的计算方法、解题性质和解题规模有关。
对于计算误差的控制,可根据实际计算情况,具体问题具体解决。例如:如果计算误差是由解题规模过大引起,则应采用适当措施降低解题规模,以减少运算次数和由此带来的累积误差;如果属于因计算方法选择不当而导致计算效率降低和计算误差增大,则应重新选择高效高精度的计算方法。