首页/文章/ 详情

HyperWorks在船舶总振动计算中的应用(周清华)

5月前浏览418

The Application of HyperWorks to Hull Structure Vibration Calculation

周清华   郑雷  郑凡

江南造船(集团)有限责任公司  上海  201913


摘  要:   应用有限元软件 HyperWorks 对某超大型散货船船体振动特性进行数值分析。通过建立整船三维有限元模型;采用边界元方法计算附连水质量;运用Lanczos 方法求解船体梁总振动固有频率和振型,为上层建筑的振动响应分析提供了重要的模态参数。应用结果表明 HyperWorks 对于预测船体振动特性是切实可行的。

关键词: HyperWorks ;HyperMesh ;OptiStruct12.0;模态分析;附连水质量

Abstract: The vibration characteristics of a large bulk carrier are calculated by finite element software HyperWorks in this paper. A global finite element model was created. Virtual fluid  mass was calculated  by the  boundary  element  method,  and  hull  girder’s natural frequency and vibration mode was calculated by the Lanczos method. This can provide the important modal parameters for the forced vibration response an alysis of superstructure. The application results show that HyperWorks can be efficiently used to predict the hull structure vibration characteristic.

Keywords:  HyperWorks  ;  HyperMesh  ;  OptiStruct12.0  ;  modal an alysis; virtual fluid mass


1  概述

船舶的有害振动直接影响到船舶结构的安全性、设备的可靠性和居住的舒适性, 因此有必要在船舶设计阶段对总体振动性能进行预报,以便在结构设计方面采用合理的方案和必要的措施。随着计算机技术的迅猛发展, 软件技术不断推陈出新,有限元方法日益成为一种常用的数值计算方法被推广应用于船舶领域。而目前运用有限元法对整船结构进行振动计算仍然存在诸多困难。其原因在于: 第一、船舶结构复杂, 设备种类繁多,需要用不同类型的单元来模拟整船的实际刚度和质量分布;第二、庞大复杂的船舶结构不可避免地存在许多局部模态,造成总振动模态识别的困难,有必要合理简化模型;第三、由于船舶是漂浮在水中的弹性体,船舶的振动分析必须计及流体的影响。因此, 有必要对船舶结构振动的有限元计算方法进行深入研究。

HyperWorks 是美国 Altair 公司研制开发的性能卓越、功能全面的 CAE 软件工具,可以帮助结构工程师在虚拟环境下克服结构设计和性能测试中的各种困难和挑战,快速实现设计和决策。本文以 HyperWorks  为平台,使用前处理器 HyperMesh  和有限元求解器OptiStruct 对某超大型散货船进行模态分析,通过对相关功能和应用方法进行研究,为船舶振动分析提供了新的技术手段。

2  船舶振动模态分析的理论基础

在模态分析中,系统无阻尼自由振动方程可表示为:

image.png

式中,M 为船体结构总质量矩阵(包括附连水质量矩阵);K  为船体结构总刚度矩阵;x  为位移向量。

设无阻尼自由振动的解为:

image.png

式中,⑴ 为模态固有频率;φ为模态向量。

将式(2)代入式(1)中,可得:

image.png

根据线性代数方程组理论有非零解的充要条件,则

image.png

求解得到船舶各阶固有频率和相应的模态向量。

3 整船三维有限元模型的建立

3.1 船壳几何模型的创建方法

船壳由于曲率相对复杂,而 CAE 软件的几何造型功能往往较弱,通常采用手工输入型值数据的方法效率较低,文中给出了三种创建方法,均可快捷有效地创建船壳几何模型,如下:

1)利用二维设计软件 AutoCAD 优秀的平面建模功能和前处理器 HyperMesh 强大的网格划分技术进行交互化建模。将 AutoCAD  绘制的肋骨型线图以.dxf  格式文件导入至HyperMesh 中,所有型线信息均保存完整,通过平移和投影等功能将其生成三维几何模型。该方法不仅可以建立船壳,而且能精确定位外板纵骨和甲板位置,为有限元网格划分提供了边界,该方法尤其适用于复杂的船体结构建模;

2)采用专业的 CAD  软件创建船壳几何模型,生成中间格式文件,并将其导入至HyperMesh 软件中。HyperMesh 提供了各种 CAD 软件(UG,PROE,CATIA 等)的无缝接口。将船舶设计软件 NAPA 建立的船壳模型以.igs 格式文件导入至 HyperMesh 中,模型在转换过程中未出现数据丢失和模型失真现象,仅需通过压缩共享边,抑制共享面的方法,对曲面自动缝合,去除间隙,即可提高曲面质量,为下一步自动网格生成器划分出高质量的网格提供条件;

3)借用 HyperMesh 二次开发平台,运用 TCL/TK 工具语言实现几何数据导入。例如,编写一个可用于读取点信息的 TCL 脚本文件,将保存型值数据的 CSV 格式文件导入,即可轻松实现船体剖面型值点的读取,避免了繁重的手工输入。

3.2 有限元模型的创建方法

在几何模型的基础上,建立结构有限元模型。建模中, 船体的各类板如甲板、舱壁和外板等采用能同时承受弯曲和平面拉伸的壳单元模拟;横梁、纵桁和纵骨等采用带有弯曲要素的梁单元模拟,并考虑偏心的影响;扶强材、加强筋和立柱等采用承受拉压作用的杆单元模拟;一些特殊结构如尾部铸钢件采用体单元模拟。

船舶质量不仅包括由钢材组成的结构质量,而且包括甲板敷料,舾装件,轮机件等非结构质量。根据重量分布曲线调整船舶各分段的材料密度, 采用质量点单元模拟设备、货物和压载,将其均摊至刚度较强的“硬”节点上,以避免产生不必要的局部模态,有利于总振动的识别。设备、货物和压载的定义见图 1。

image.png图 1 质量点模拟的设备、货物和压载

网格划分质量直接影响到振动计算 的精度和速度,应尽可能划分规则 的网格 。 HyperMesh 提供的网格划分工具非常丰富,可以满足不同需求。对于船舶分析中常用的壳单元而言,采用自动划分和人工干预相结合的方式划分网格。在 Automesh 面板中,选定网格划分算法(Algorithm)、单元长度(Size)和单元形状(Type)等控制参数,即可快速地划分网格。通过 Check Elems 面板检查网格质量,对于质量较差单元,可以通过对局部重新划分、调整个别节点位置或拆分个别单元等方法进行修改,同时利用 Smooth、Cleanup 和 Quality Index 等网格自动优化功能提高网格调整的效率。

材料参数:弹性模量(EX)为 2.06E+5MPa,泊松比(NUXY)为 0.3,密度(DENS)根据各分段的实际重量取值;模型规模:单元总数为 111843 个,节点总数为61471 个。

整船三维有限元模型见图2。

image.png图 2 整船三维有限元模型

4 实例计算

4.1 附连水质量计算

附连水质量与船体形状、振动阶数和水深等因素有关, 由于船体表面形状不规则,无法用数学方法精确确定各阶振动时附连水质量的大小,文中采用了工程应用中常用的两种求解方法,如下:

1)刘易斯图谱法

传统的附连水质量计算采用的是刘易斯图谱法,前五阶总振动的各个剖面处单位长度上的附连水质量由下式计算:

image.png

式中,av 为浅水修正系数;ah 为狭窄航道修正系数;Cv、Ch 分别为垂向、水平振动时的附连水质量修正系数;Ki 为三维流动修正系数;ρ为海水密度,t/m3;b 为计算剖面处的水线半宽,m;d 为计算剖面处的吃水,m;i 为船体梁振动阶数。

具体实现过程:根据计算得到的附连水质量,在水线以下的各个节点上创建质量点单元即可。

2)边界元法

采用 OptiStruct 中的 MFLUID 功能自动实现流体-结构耦合振动计算过程。其原理是施加一个虚拟质量矩阵MA来实现不可压缩流体对船体结构的作用,使用 Helmholtz 方法(即边界元法)求解流体运动的拉普拉斯方程,可得到速度势和压力场为:

image.png

式中, u.i 为任意节点ri 处速度向量; Aj为结构表面上微元的面积;σj为j节点处的速度向量;eij为从j点到i点的单位向量; pi 为Aj上的压力。

通过对有限元单元表面进行积分,将压力转化为节点力F,根据F = MA . u… 求解虚拟质量矩阵MA。

具体实现过程:在控制卡片(Bulk  Unsupported  Cards)中,通过卡片 MFLUID 定义参考坐标系、液面高度、流体密度、流固耦合界面、是否有对称边界条件、积分方法等参数;在接触面(Contact Surface)中,定义构成“湿面”的二维单元,流固耦合界面由一组 TRIA3或 QUAD4 单元组成;在载荷步(Load Step)中,通过定义 MFLUID=SID 标识流固耦合分析。

图 3 为定义的接触面。

image.png图 3 接触面

4.2 总振动计算 

在载荷集(Load Collector)中,通过定义卡片 EIGRL 设置模态分析控制参数,将分析频率范围设置为 0.1Hz~20Hz。在载荷步(Load Step)中,统一设置载荷工况,运行 OptiStruct求解器进行模态运算,调用 HyperView 查看结果。采用 Block Lanczos 作为特征值解法求解船舶自由振动的模态,计算结果见表 1。

                    表1 前3阶垂向和水平振动固有频率及振型特征

image.png

当采用流固耦合有限元整船分析方法计算船体固有频率时,其 1~3 阶固有频率应与激励频率分别错开±8%~ ± 10%、±10%~ ± 12%和±12%~ ± 15%。由表 1 可知,前三阶船体总振动固有频率均远离主机激励频率和螺旋桨叶频,不会产生船体梁共振,船舶总振动的固有频率储备值满足规范要求。

选取满载和压载两种典型装载工况,对通过两种附连水质量计算方法得到的固有频率值进行比较分析,见表 2。

                            表 2  附连水质量计算方法比较

image.png

由表2 可知,附连水质量较大幅度地降低了船体总振动的固有频率,最大降幅达到28%;两种计算方法得到的船体总振动固有频率大小较为接近,最大差别出现在压载状态下的垂向振动,达到 20%;由刘易斯图谱法的垂向振动附连水质量计算公式可知,船宽对附连水质量影响较大,而本船的方型系数大,船中区域不同水线处的船宽基本相同,致使由刘易斯图谱法计算得到的不同装载状态下的垂向振动附连水质量差别很小,压载状态下的垂向振动附连水质量相对偏大,从而固有频率的计算结果偏小。由此可见, 由于刘易斯图谱法是在圆柱体试验基础上加上首尾三维修正而得到的,适用于细长体船,且只能考虑前 5  阶总体垂向和水平振动,其计算精度得不到保证,针对该问题,OptiStruct 基于边界元法开发的 MFLUID功能给出了理想的解决方法。

5 结论

Altair HyperWorks 为船舶结构设计提供了完整的 CAE 解决方案,特别是高效的结构有限元建模工具 HyperMesh 和强大的结构分析工具 OptiStruct。实例应用证明:HyperMesh可以直接导入 NAPA、AutoCAD 几何模型,并通过强大的几何清理和网格生成技术快速有效地建立高质量的整船三维有限元模型,简化了复杂船体结构的有限元建模过程,大幅提高了建模效率; OptiStruct 基于边界元方法开发的 MFLUID 功能可以有效地考虑附连水质量对船舶振动固有频率的影响,突破了刘易斯图谱法的局限性,提高了船体结构高阶振动分析的精度。综上所述, HyperWorks 软件对于提高船舶振动有限元分析工作的质量和效率有着重要的意义。

6 参考文献

[1] HyperWorks12.0 Tutorials,Altair company.2014

[2] 金咸定,夏利娟.船体振动学[M].上海:上海交通出版社,2011.[3]杜洋,刘昕辉,王志明等.基于 HyperWorks 的齿轮泵泵体模态分析[J].北华大学学报(自然科学版), 2011,12(6):716-719.

[4] 中国船级社.船上振动控制指南[S].北京:人民交通出版社,2000.

[5] 周清华,冯翰林,杜国和. 基于 HyperWorks 的船舶艏部舱段结构有限元分析[C].Altair 2012 HyperWorks 技术大会论文集,2012.


免责声明:


本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。

版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。

本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

船舶振动Star-CCM+
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-04-30
最近编辑:5月前
仿真支持爱好者
在仿真的路上越走越远
获赞 333粉丝 27文章 318课程 0
点赞
收藏
作者推荐

结构分析的有限元法与MATLAB程序设计-徐荣桥-电子书-含代码

结构分析的有限元法 与MATLAB程序设计 徐荣桥 编著 (浙江大学建筑工程学院)内容简介本书以有限单元基本理论为重点,以 MATLAB 程序为平台,以工程实例为背景,介绍了有限元法及其程序设计方法。本书讲述结构分析中有限元法的基本原理,单元类型包括平面杆系,空间杆系,平面等参元,空间等参元,薄板壳单元和厚板壳单元等。内容涉及杆系结构、平面问题、空间问题和板壳问题。以结构线弹性静力分析为主,同时也讲述了结构的振动、稳定和动力响应分析。本书介绍了 MATLAB 编程环境下编写有限元程序的方法和技巧,并附有若干算例的有限元程序。还有若干推导有限元列式的 MATLAB 符号运算程序示例。这些都为读者深入理解有限元理论和掌握其实施技巧提供了极好的手段。本书可以作为高等院校土木工程专业高年级本科生或研究生有限元法结构分析的教材,也适合于其他如工程力学、机械工程等相关专业的科研人员在学习和研究工作中参考。前 言有限元法经过半个世纪的发展,在理论和实践上均取得了引人瞩目的成就,事实上它已经发展成为工程领域中一门不可或缺的技术,同时也是科技工作者进行科学研究的有力工具。因此,有限元法逐渐成为高等院校理工科专业的必修课程。本书是编者在为浙江大学桥梁与隧道专业硕士生所讲授的《结构分析的有限元法》课程讲义的基础上编写而成。本书的一大特色是采用 MATLAB 作为编程平台,利用 MATLAB强大的科学计算和符号运算功能,帮助读者轻松跨越繁琐的公式推导和复杂的编程技巧,获得最佳的学习效率。在写作上,采用理论和程序紧密结合的方法,以增加读者的感性认识,更好地理解有限元理论。不仅每章后面有极强工程背景的数值算例和源程序,而且还在有限元理论的叙述过程中,插入相应的 MATLAB 程序段以帮助理解。本书的内容共分八章,前面两章主要讲述有限元和 MATLAB 的发展概况及其基础知识。第 3 章介绍了在工程中有极大应用价值的杆系结构的各类单元,包括杆单元、平面和空间梁单元。第 4 章讲述经典的平面问题三角形单元和四边形单元。第5 章把第四章的平面单元推广到空间单元,还讨论了空间轴对称单元。第 6 章介绍了应用最广的平面和空间等参数单元以及轴对称等参数单元。第 7 章在简要介绍板理论的基础上,讨论了三角形和矩形薄板单元,也给出了基于 Mindlin 板理论的四变形板单元。最后介绍了用平板单元和平面应力单元组合而成的壳单元。第 8 章讲述了结构的动力和稳定问题,并介绍了几种常用的特征值问题和动力响应问题的算法。在写作过程中,本书得到了浙江大学丁皓江教授和徐兴教授的大力指导,详细审阅了初稿,指出并修改了若干错误,在此表示衷心的感谢。亦得到了浙江大学项贻强教授、陈伟球教授、叶贵如教授、蔡金标副教授、赵阳讲师和张治成博士的大力指导和帮助。我要特别感谢我的家人,感谢他们在我写作此书时所做的牺牲。由于编者水平有限,时间仓卒,书中难免有许多缺点甚至错误,热情欢迎专家和读者批评指正。徐荣桥2005 年 12 月 第一章 绪论许多工程问题,我们虽然已经得到了他们的基本方程和边界条件及初始条件,但是能用解析方法求解的只是少数方程简单、边界规则的问题,而绝大多数只能通过其他途径解决。随着计算机硬件和软件的发展,数值方法越来越受到人们的青睐,其中有限元法以其方法的统一性和理论的普遍性而独领风 骚,已经成为处理各类科学和工程问题的有效方法之一,亦有众多的有限元商用软件流行,如 ANSYS,NASTRAN,ADINA,ABAQUS 等,它们包含众多单元类型,能求解各类问题。有限元法的基本思想是“化整为零”,其实这个思想很早就在各个领域被人们采用。老子就说“道生一,一生二,二生三,三生万物”,他把世间万物全部分解成最基本的“道”。古代数学家将圆用多边形近似,并以此估算圆周率 π 值,达到了 40 位数字的精度。有限元法把一个复杂的结构分解成相对简单的“单元”,各单元之间通过结点相互连接。单元内的物理量由单元结点上的物理量按一定的假设内插得到,这样就把一个复杂结构从无限多个自由度简化为有限个单元组成的结构。我们只要分析每个单元的力学特性,然后按照有限元法的规则把这些单元“拼装”成整体,就能够得到整体结构的力学特性。可见有限元“化整为零”的思想十分简单明了。但更重要的是,有限元可以建立在严格的数学基础上[ 1],成为求解微分方程的标准方法之一,从而它不仅能够解决结构分析问题,也能解决工程中如电磁场、流体力学、热传导、渗流等领域的诸多问题[2],因为它们在数学上都能用微分方程来描述。有限元法是一种数值方法,应用性很强,因此在学习的过程中,必要的程序设计、编写和调试能加深理解有限元理论,增加从实际工程出发建立有限元模型的感性认识,极大地提高学习的兴趣和效率。传统的有限元书籍,凡给出具体程序代码的[2,3,4] ,基本上都是以FORTRAN 为程序设计语言。由于一个完整的有限元计算程序,要包括模型的输入,稀疏矩阵的存储,求解,分析结果的后处理等,导致程序十分庞大难懂,尤其对于初学者。因此有的就只用一个求解单元刚度矩阵的子程序来说明程序的编写,而这样一段程序无法独立编译连接成一个可执行文件,读者就无法验证其算例获得感性认识,示例效果大大降低。本书的特色就是采用目前最流行的科学分析计算软件 MATLAB 作为编程环境。 MATLAB 的优势在于采用矩阵作为它的基本数据类型,并提供大量实用的矩阵运算函数,可以把有限元理论中用矩阵表示的公式直接写成形式上一样的程序代码,它还有专门的极易使用的大型稀疏矩阵存储和求解的功能,从而使得一个完整的有限元程序十分简洁明了,方便读者理解和验证,大大提高了示例程序的效果。目前虽也已经有采用 MATLAB 作为程序设计语言的有限元专著[5] 出版,并被翻译成中文[6]。但该书以介绍 MATLAB 编写的有限元程序为主,几乎不涉及有限元理论。另一本结合 MATLAB 编写的有限元专著[7] 的情况有所不同,它更倾向于把有限元作为一个求解偏微分方程的数值方法来介绍,目前还未见中译本。1.1 有限元法简介有关有限元的起源,很多关于有限元的专著[2,3,8,9, 10, 11]都会提到 Hrenikoff[ 12],Courant[ 13], McHenry[ 14] ,Newmark[ 15] ,Turner et al[ 16]和 Clough[17] 的工作。但是,我们同样也应该提到Ritz[ 18],他在 1909 年曾提出一个求解连续体力学问题的非常有用的近似方法,后人称为 Ritz法。该方法把待求函数用一组已知的试函数的加权和来表示,通过最小势能原理可求解每个试函数的权系数。 Ritz 法最基本的缺点就是每一个试函数必须满足指定的边界条件。 Courant[ 13]对 Ritz 法作了重要的推广,他把整个求解区域分成很多三角形的子区域,然后在子区域内假定待求函数为线性函数,把三角形顶点处的函数值作为未知数,并且把边界条件放宽,只要求在边界的有限点上满足,这样,应用 Ritz 法的一个很大的困难被克服了。更为重要的是,原先的 Ritz 法解的精度很到程度上取决于试函数的选取,这要求应用人员具有丰富的工程经验。后来人们发现,Courant[ 13]应用的 Ritz 法其实与若干年后由 Clough[ 17]提出的有限元法是一致的。当然,在 1960 年有限元获得迅速发展的原因在于该法中大量的数值运算能够由当时正发展的电子计算机来实现,而在 1943 年,还没有这个工具为 Courant[ 13]所用。随着计算机硬件和软件的发展,有限元迅速发展,并渐趋成熟,目前它已经被推广至三维问题,非线性问题,时变问题,甚至已经超越了结构分析领域,如流体流动,热传导和电磁场分析等。应用有限元法进行结构分析时,应把所分析结构物离散成有限个单元,并在每个单元上指定有限个结点,单元通过这些结点连接构成整个有限元模型,用来模拟所分析的实际结构。同时选定所求物理量的结点值,例如结点位移作为基本未知量。然后对每个单元假设一个简单的插值函数(称为形函数),近似地表示未知量在单元内的分布规律,再利用变分原理或其他方法,建立单元结点力和结点位移之间的关系,得到一组以结点位移为未知量的代数方程组,从而求解结点的位移分量。一经解出,就可以利用插值函数确定单元内任意一点的位移值。显然,如果单元满足问题的收敛性要求,那么随着缩小单元的尺寸,增加求解区域内单元的数量,解的近似程度将不断改进,最终收敛于精确解。当然,有限单元法中并不一定要求取结点位移作为基本未知量,也可以取结点内力为未知量,因而,随着所取未知量的不同,有所谓位移法、力法、杂交法和混合法之分。本书采用最为普遍的位移法,介绍结构分析中的限单元法基本理论和方法。有限元法概念浅显,容易掌握,可以在不同的水平上建立起对该法的理解,即可以通过非常直观的物理解释理解,也可以建立基于严格的数学分析的理论[ 1, 10, 19,20]。它不仅对结构物的复杂几何形状有很强的适应性,也能应用于结构物的各种物理问题,如静力问题,动力问题,非线性问题,热应力问题等。还能处理非均质材料、各向异性材料、以及复杂边界条件等难题。因而,有限元法已经被公认为工程分析的有效工具,受到普遍重视。有限元法还有一个特点是,它的理论采用矩阵形式表达。这并不利于一般的计算机语言编制计算机程序,因为传统的计算机语言处理的对象是标量,使用矩阵形式的有限元理论时,必须把矩阵形式的公式转换成标量表示的公式。而如果采用 MATLAB,这个特点就变成了有限元法的优点。这也是本书采用 MATLAB 作为编程环境的一个重要原因。1.2 MATLAB 简介MATLAB 是当今国际科学界最具影响力和活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学计算,灵活的程序设计流程,高质量的图形可视化与界面设计,便捷的与其他程序和语言接口的功能。MATLAB 在各国高校与研究单位起着重大的作用。MATLAB 语言的首创者 Cleve Moler 教授在数值分析,特别是在数值线性代数的领域中很有影响,他参与编写了数值分析领域两个重要的 Fortran 程序包 EISPACK 和 LINPACK 。他曾在密西根大学、斯坦福大学和新墨西哥大学任数学与计算机科学教授。1980 年前后,当时的新墨西哥大学计算机系主任 Moler 教授在讲授线性代数课程时,发现了用其他高级语言编程极为不便,便构思并开发了 MATLAB(MATrix LABoratory,即矩阵实验室),这一软件利用了当时数值线性代数领域最高水平的 EISPACK 和 LINPACK 两大软件包中可靠的子程序,用 Fortran 语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。所谓交互式语言,是指人们给出一条命令,立即就可以得出该命令的结果。该语言无需像 C 和 Fortran 语言那样,首先要求使用者去编写源程序,然后对之进行编译、连接,最终形成可执行文件。这无疑会给使用者带来极大的方便。早期的 MATLAB 是用 Fortran 语言编写的,只能作矩阵运算;绘图也只能用极其原始的方法,即用星号描点的形式画图;内部函数也只提供了几十个。但即使其当时的功能十分简单,当它作为免费软件出现以来,还是吸引了大批的使用者。后来,Cleve Moler 和 John Little 等人成立了 MathWorks 公司,Cleve Moler 一直任该公司的首席科学家。该公司于 1984 年推出了第一个 MATLAB 的商业版本。当时的 MATLAB版本已经用 C 语言作了完全的改写,其后又增添了丰富多彩的图形图像处理功能、多媒体功能、符号运算和与其它流行软件的接口功能,使得 MATLAB 的功能越来越强大。MathWorks 公司于 1992 年推出了具有划时代意义的 MATLAB 4.0 版本,并于 1993 年推出了其微机版,可以配合 Microsoft Windows 一起使用,使之应用范围越来越广。1994 年推出的 4.2 版本扩充了4.0 版本的功能,尤其在图形界面设计方面更提供了新的方法。1997 年推出的 MATLAB 5.0 版允许了更多的数据结构,如单元数据、数据结构体、多维矩阵、对象与类等,使其成为一种更方便编程的语言。1999 年初推出的 MATLAB 5.3 版在很多方面又进一步改进了 MATLAB 语言的功能。2000 年 10 月底推出了其全新的 MATLAB 6.0 正式版(Release 12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。最近又推出了 MATLAB7.0。虽然 MATLAB 语言是计算数学专家倡导并开发的,但其普及和发展离不开自动控制领域学者的贡献。甚至可以说,MATLAB 语言是自动控制领域学者和工程技术人员捧红的,因为在 MATLAB 语言的发展进程中,许多有代表性的成就和控制界的要求与贡献是分不开的。迄今为止,大多数工具箱也都是控制方面的。MATLAB 具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性,它在其他科学与工程领域的应用也是越来越广,并且有着更广阔的应用前景和无穷无尽的潜能。“工欲善其事,必先利其器”。如果有一种十分有效的工具能解决在教学与研究中遇到的问题,那么 MATLAB 语言正是这样的一种工具。它可以将使用者从繁琐、无谓的底层编程中解放出来,把有限的宝贵时间更多地花在解决问题中,这样无疑会提高工作效率。目前,MATLAB 已经成为国际上最流行的科学与工程计算的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室”了,它已经成为了一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB 语言的功能也越来越强大,不断适应新的要求提出新的解决方法。可以预见,在科学运算、自动控制与科学绘图领域 MATLAB 语言将长期保持其独一无二的地位。1.3 本书的目的和内容本书的目的是把结构分析有限元法的基本概念、基本理论和基本的程序设计方法介绍给土木工程和交通工程专业的高年级本科生和研究生。然而, 由于各种概念是以非常简单的形式给出的,本书对其他背景的学生和实际工程人员也是有帮助的。本书也适合于那些想把有限元应用于解决实际工程问题的各类人员。内容涉及杆系单元,平面单元,三维空间单元,等参数单元,板壳单元,包括静力问题,动力问题,稳定问题。并给出了丰富的以土木工程,尤其是桥梁与隧道工程为背景的算例,可以帮助读者增加如何从工程实际抽象到有限元模型的感性认识。参考文献[1] Brenner S. C., Scott L. R. 1993 The Mathematical Theory of Finite Element Methods, Springer-Verlag.[2] Zienkiewicz O. C. 1977, The Finite Element Method, Third Edition. McGraw-Hill Inc.[3] 王勖成 2003 有限单元法 清华大学出版社[4] 凌道盛 徐兴 2004 非线性有限元及程序 浙江大学出版社[5] Kattan P. I. 2003 MATLAB Guide to Finite Element Springer-Verlag[6] Kattan P. I. (韩来彬 译) 2003 MATLAB 有限元分析与应用 清华大学出版社[7] Kwon Y. W., Bang H. 1997 The Finite Element Method using MATLAB, CRC Press, Inc. Boca Raton, Florida[8] Bathe K. J., Wilson E. L. 1976 Numerical Methods in Finite Element An alysis, Prentice-Hall, Inc.[9] Cook R. D. 1982, Concepts and Applications of Finite Element Ana lysis. John Wiley & Sons Inc.[10] Logan D. L. 1993, A First Course in the Finite Element Method, Second Edition, PWS Publishing Company, ITP[11] 龙驭球 龙志飞 岑松 2004 新型有限元论 清华大学出版社[12] Hrenikoff A. 1941, Solution of problems in elasticity by the framework method, J. Appl. Mech. A8:169-175.[13] Courant R. 1943, Variational methods for the solution of problems of equilibrium and vibration. Bull. Am. Math. Soc., 49:1-23[14] McHenry D. 1943, A lattice ana logy for the solution of plane stress problems, J. Inst. Civ.Eng. 21: 59-82.[15] Newmark N. M. 1949, Numerical methods of an alysis in bars plates and elastic bodies, Numerical Methods in Ana lysis in Engineering (ed. L. E. Grinter), Macmiilan[16] Turner M. J., Clough R. W., Matrin H. C. and Topp L. J., 1956, Stiffness and deflection ana lysis of complex structures, J. Aero. Sci., 23: 805-23[17] Clough R. W. 1960, The finite element in plane stress an alysis, Proc. 2nd ASCE Conf. on Electronic Computation, Pitts burgh, Pa., Sept.[18] Ritz W. 1909 Über eine neue Methode zur Lösung gewissen Variations-Probleme der mathematischen Physik, J. Reine Angew Math., 135:1-61[19] 丁皓江 何福保 谢贻权 徐兴 1989 弹性和塑性力学中的有限单元法 机械工业出版社[20] Reddy J. N. 1993 An Introduction to the Finite Element Method, Second Edition, McGraw-Hill.[21] Bathe K. J. 1982 Finite Element Procedures in Engineering An alysis, Prentice-Hall, Inc.第二章 有限元法的预备知识本章主要介绍有限元法的一些预备知识,包括矩阵和线性代数的基本概念,MATLAB编程基础,弹性力学中的变分原理和能量原理基础以及有限元法的基本过程。如果对这些内容十分熟悉,可跳过本章,直接阅读第三章。2.1 矩阵、线性代数和 MATLAB在数学上,有限元法通过变分法或加权残数法把微分方程化为近似的代数方程组进行求解。如果采用矩阵形式进行中间过程的推导,就能使有限元公式简洁紧凑。为此, 我们必须掌握矩阵和线性代数的基本知识,了解矩阵的详细操作,这非常有助于阅读和理解有限元法的基本理论并组织有效的算法。这一节的目标是扼要地介绍以后要用到的矩阵和线性代数的基本知识。我们可以发现,其实这些都是非常基础的。如果希望了解更详细的内容,可以参考有关矩阵和线性代数的专著[ 1,2,3]。在叙述矩阵、线性代数基本知识的同时,将介绍使用 MATLAB 实现矩阵定义,运算等基本操作,这有助于增加感性认识,加深理解。当然,这里给出的 MATLAB 语言的用法都是最基本的,详细的说明可以阅读 MATLAB 软件随带的帮助文档,如图 2-1 所示。图 2-1 MATLAB 的帮助窗口另外也有许多关于介绍 MATLAB 的专著和网站,后面的参考文献中列出一些比较著名的,读者也可以用网络搜索工具比如 Google 等在互联网上查找更新更多的有关 MATLAB 的介绍和说明资料[4-20]。2.1.1 矩阵简介在实际计算中矩阵的表达效率可以从求解线性方程组的过程中看出,例如 式中,未知数为δ1 , δ2 , δ3 和δ4 。使用矩阵符号,这组方程可写成 在这里,我们把未知数的系数按一定的顺序排成一个阵列,左边的未知数( δ1 , δ2 , δ3 和δ4 )和右边的已知数也各自被排成一列。虽然写法不同,式(2.1)和式(2.2)表示了同样的内容。可以进一步把式(2.2)写成Aδ = b (2.3)式中,A 是线性方程组的系数矩阵, δ 是未知数矩阵,b 是已知数矩阵,即 显然,式(2.3)比式(2.1)或(2.2)简洁得多。而且,可以任意指定矩阵A 和未知数δ 及已知数b的阶数,用来表示任意阶数的线性方程组。现在矩阵的正式定义看上起非常明显了,即矩阵是按一定顺序排列的数据阵列。在 MATLAB 中,定义矩阵变量十分方便和直观,例如式(2.4)中的矩阵 A,可以这样定义 >>A=[ 1.4 0.0 -1.0 -0.2 0.0 1.4 -0.4 0.4 -1.0 -0.4 1.8 0.6 -0.2 0.4 0.6 2.4 ] 这里的符号“>> ”是 MATLAB 的命令提示符,表示等待输入命令状态。输入上述命令后,在 MATLAB的命令窗口立刻显示 我们说这个矩阵是n m×阶矩阵,在不引起歧义的情况下,可简写为A。当矩阵只有一行(1=m)或一列(1=n)时,我们称它为行向量或列向量。本书统一用大写的黑体字母表示矩阵或行向量,用小写的黑体字母表示列向量。另外,用ija表示矩阵A的第i行第j列的元素。2.1.2 特殊矩阵1、零矩阵元素全部为零的m × n 阶矩阵,称为零矩阵,记为0m×n 或者简写为0 。MATLAB 中定义零矩阵十分方便,比如定义一个 4×3 的零矩阵的命令是命令 zeros 接受可接受任意个参数,一般我们使用的都是 2 维的矩阵,前一个参数表示行数,后一个是列数。2、对称矩阵我们把m × n 阶矩阵A 的转置,记为 AT ,它由A 中的行和列互换得到。如果m = n ,则称A 为n 阶方阵。如果n 阶方阵 A 的元素aij = aji ,则称 A 为对称矩阵。因此对称矩阵必须是方阵。如果 A 是对称矩阵,则有 A = AT 。显然,式(2.4)中的矩阵 A 是对称矩阵。例如设这里需要指出的是,函数 transpose 与单引号“’”对于实矩阵的操作是完全一样的,而对于复矩阵则不同。因为复矩阵在数学上的转置定义不仅包括行列互换,还要执行共轭操作。函数 transpose 只执行行列互换的操作,而单引号则是数学意义上的转置。3、单位矩阵另一个特殊矩阵是单位矩阵I n 。它是n 阶方阵,除了对角线上的元素为1外,其余元素都为零。例如,一个 3 阶的单位阵为在实际计算时,单位矩阵的阶数常常是隐含的。与单位矩阵相似,我们定义一个n 阶的单位列向量ei ,式中i 表示该向量是单位矩阵中的第i 列。MATLAB 中用 eye 来定义单位矩阵。也许读者可能奇怪为什么不用 I,这是因为小写的 i 已经被用来定义复数单位,而大写的 I 容易跟它混淆,而且 MATLAB 中内部的变量和函数名全部是用小写的。下面的命令定义了一个三阶的单位矩阵4、带状稀疏矩阵在有限元中,我们将接触到大量的对称带状稀疏矩阵,因为一般情况下,刚度矩阵和质量矩阵都是带状稀疏矩阵。带状矩阵是指矩阵中位于带宽以外的元素全为零。如果带状矩阵A 是对称的,我们可以把这种情况用算式表示为式中2HBW+1是矩阵A 的带宽。作为一个例子,下述矩阵是一个 6 阶的对称带状矩阵,它的半带宽HBW是 2:如果一个矩阵的半带宽为零,该矩阵只有位于对角元的元素非零,此时称它为对角矩阵。例如单位矩阵就是对角矩阵。如果我们用普通的矩阵变量来存储这种矩阵,将浪费大量的空间。因为稀疏矩阵中的很多零元素不参加运算,也不用存储。由于计算机的内存有限,因此我们必须合理地安排存储空间,使得在计算中要用到的数据都能放入内存,否则频繁地读取外存,将使计算速度大大降低。对于这种带状稀疏矩阵,我们应该组织一种合理的存储方法,使得内存中能容下高阶稀疏矩阵。图 2-2 所示为一对称带状稀疏矩阵。在轮廓线以外的元素为零,而且在以后的运算中永远为零,因此我们不必存储。而在轮廓线以内的元素必须存储,即使某一元素可能暂时为零,但是经过运算后就会变成非零,因此一定要存储。它的一维存储方法如图 2-2 所示。在有限元程序中,整体刚度矩阵就属于这类矩阵,它们阶数很大,但是大部分元素为零。在 MATLAB 中,有专门处理这类矩阵的工具。这样就极大地节省了我们处理稀疏矩阵的时间,使我们可以绕开很多烦人的细节而专心于有限元程序设计的主要方面,这对于初学者尤其重要。因为这些问题往往是他们编写有限元程序的主要障碍,而不是有限元的基本理论。但是目前的 MATLAB 中,稀疏矩阵还有一个缺点,就是不能指定它是对称的,因此将浪费不少内存。更多内容见附件免责声明:本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈