软件工程原理方法与应用考研(从事工程仿真所需的知识结构和学习方法)
软件工程原理方法与应用考研(从事工程仿真所需的知识结构和学习方法)力学课程有很多门。材料力学研究基本构件的受力问题,结构力学研究杆件系统及板壳结构的受力和振动问题,弹性力学则是从连续性、均匀性、各向同性、线弹性等基本假定出发,研究连续弹性体的一般受力问题。从这个意义上讲,学好了弹性力学就是打好了力学的基础。2、核心基础课程学习方法的建议仿真工程师的核心基础课程主要包括力学(包括传热学)、有限元方法和数值分析等。以结构仿真工程师为例,材料力学、结构力学、弹塑性力学、有限元方法等都是核心的专业基础课程,是从事有限元分析工作必备的理论基础。在此基础上,在商用软件中把这个力学问题“映射”为计算模型,即建立分析模型,定义边界条件及荷载,调用正确的计算模块进行力学问题的求解。这里提到的“二次映射”实际上是有限元分析中十分关键的环节。在《工程结构有限元分析,到底难在哪里》一文中有关于此主题的更详细的讨论,感兴趣的读者可参考此文。计算完成后,提取计算结果并对结果进行分析
当前,仿真技术已经成为工程行业不可或缺的计算和设计创新的手段,因此工科专业同学将来的工作内容或多或少会与仿真分析技术有关。
工科的本科及研究生同学在校学习期间,如果能够有针对性地学习好与仿真分析相关的课程,并提前储备和积累仿真分析所需的专业知识和技能,在参加工作后就可以事半功倍,更快地适应创新型工程师的角色。
适逢仿真秀开展2019高校校园行活动之际,很多工科专业的同学也对仿真技术表现出了浓厚兴趣。作为仿真秀平台讲师和专栏作者,我想从有限元分析应用的角度跟工科专业的同学分享一些学习方法方面的建议,主要从三个方面来跟大家探讨,即:仿真工程师应具备的知识结构,仿真分析核心课程的学习以及如何积累相关的专业知识和技能。1、结构仿真工程师应具备的知识结构在工业领域中,实际工程问题的分析通常是借助于成熟的仿真计算软件,因此对工程师而言,需要具备力学和有限元方法的基础知识、相关工程领域的知识以及软件应用方面的知识和技能。
首先来看一下工程问题有限元分析的实现过程。在进行实际问题的有限元分析时,首先需要基于工程领域的专业知识和力学概念,把实际问题“映射”为一个控制方程、求解域和边界都明确的力学问题。这个抽象的过程,需要分析人员具备工程知识和力学概念。
在此基础上,在商用软件中把这个力学问题“映射”为计算模型,即建立分析模型,定义边界条件及荷载,调用正确的计算模块进行力学问题的求解。这里提到的“二次映射”实际上是有限元分析中十分关键的环节。
在《工程结构有限元分析,到底难在哪里》一文中有关于此主题的更详细的讨论,感兴趣的读者可参考此文。计算完成后,提取计算结果并对结果进行分析和评估。如果计算结果揭示出了设计的薄弱环节,则需要与设计人员进行沟通,修改设计并重新进行仿真验证。有限元分析求解的工程问题,本质上来说都是力学问题。因此,力学对仿真分析具有重要的指导作用。有限元分析的建模、计算和结果的分析评价等方面都离不开力学概念的指导作用。比如,对于一个具体的问题,到底是进行静力分析还是动力分析?对于高层混凝土结构的连梁到底应采用何种类型单元进行分析?计算结果出现问题,如何进行设计修改?还有很多的问题其实都涉及到力学概念。因此,力学概念是有限元分析工程师必备的理论基础之一。我在仿真秀平台发布的《ANSYS有限元分析中的力学概念》视频课程(点击文尾的阅读原文即可观看),就是希望在力学概念和仿真分析结合方面做些尝试,目前这方面的课程或资料很少,大部分课程或资料都仅仅是侧重于介绍软件操作层面的问题。工程问题都是来自于具体的工业领域,因此对相关工程领域的知识也是必不可少的。如果不了解结构的实际工作环境、支撑和受力特点、运行工况等,就无法正确和全面地进行结构分析。如果不了解相关行业的设计标准和规范,就无法根据有限元分析的结果进行结构的强度、刚度、稳定、疲劳等各项性能校核。因此,工程领域的专业知识对有限元分析同样十分重要,这部分是实现工程问题到力学问题的“映射”和对接所必须的知识背景。
最后,实际工程结构分析通常都是借助于商用软件来实现。因此,商用软件作为仿真分析实现的载体,也是仿真工程师必备的专业技能。对软件的建模方法、计算原理、选项设置也需要有必要的了解。
2、核心基础课程学习方法的建议仿真工程师的核心基础课程主要包括力学(包括传热学)、有限元方法和数值分析等。以结构仿真工程师为例,材料力学、结构力学、弹塑性力学、有限元方法等都是核心的专业基础课程,是从事有限元分析工作必备的理论基础。
力学课程有很多门。材料力学研究基本构件的受力问题,结构力学研究杆件系统及板壳结构的受力和振动问题,弹性力学则是从连续性、均匀性、各向同性、线弹性等基本假定出发,研究连续弹性体的一般受力问题。从这个意义上讲,学好了弹性力学就是打好了力学的基础。
由于现阶段的工程问题都需要借助于计算机软件求解而不是手算,因此在力学课程的学习方面,建议重点抓两头,即:基本概念和原理和一些典型问题的求解结论,而不建议纠缠于具体的解法和求解过程。基本原理方面,弹性力学的基本方程、解的唯一性定理、圣维南原理等对有限元分析及计算结果的解释等方面都有指导作用。另一方面,对从事有限元分析的工程师而言,更有用处的是力学问题的解答而不是其求解过程。比如,最为典型的梁弯曲问题的弹性力学解答,梁的弯曲应力沿横截面实际上为非线性分布,而不是材料力学中的线性分布,对于跨高比较小的深梁来说尤为明显,由弹性力学解答可以帮助分析工程师根据需要选择更合适的单元类型来得到问题的正确解答,比如在特定情况下采用壳单元或连续单元而不是采用梁单元。又比如弹性力学的一些典型的应力集中问题的解答,指导软件用户在哪些位置需要加密计算网格。所以,学习力学课程建议要重点掌握概念原理和经典问题的计算结论这两个方面。有限元方法作为一种通用数值方法,尽管其求解的都是力学问题的控制方程,但是采用了完全不同的求解途径,数理方程的那些解析的方法在有限元方法中几乎没有什么用武之地。学习有限元分析课程,首先要了解有限元方法的求解思路,然后了解其计算机制,比如刚度矩阵、位移、支反力、应变、应力这些量是如何计算出来的。这些对于在软件中建模和计算结果的分析等方面都具有重要的理论指导作用。
作为数值方法,有限元方法首先将求解域离散化为有限数量的单元组合体,在每一个单元上假设自由度的插值函数(形函数),并基于变分原理建立单元特性方程,对于结构分析来说,就是建立单元刚度方程。由于通用软件为了便于程序处理,多采用等参单元和数值积分技术,因此在学习有限元课程时,要重点掌握等参变换方法。单元研究清楚后,再将单元组合起来进行结构分析。在结构分析过程中,相邻单元在公共节点上位移保持一致,即满足变形协调条件;公共节点上的外力由相关的单元共同抵抗,即每个单元都对公共节点的各个自由度方向提供刚度贡献,这些单元的内力之和应等于外力,即满足平衡条件,最终得到的平衡方程就是结构的总体刚度方程。就这样先离散再组合,把力学的控制微分方程转化为线性代数方程组来进行求解。求解线性方程组得到位移后,再通过应变矩阵得到应变,通过本构关系确定应力。需要注意的是,总刚度方程是奇异的,需要引入边界条件才能解答。因此,有限元分析中边界条件对能够得到正确解答起到决定性的作用。如下图所示的几个梁结构,其刚度矩阵都是完全相同的,但是不同的约束条件对应了完全不同的问题。
有限元方法求解力学问题,同时力学概念对有限元分析有重要的指导作用,这就是有限元方法与力学的关系。对于有限元分析求解的结果,往往是需要分析人员首先充分理解这一数值现象的产生机理(计算原理),然后再来基于力学概念解释这个基于虚拟网格得到的数值现象在多大程度上反映了真实物理现象,一致程度高就是通常所说的仿真,否则就是失真,或者干脆叫做“仿假”。如果发现计算结果不能反映实际的受力状态,就要回去修正模型重新计算,这一过程离不开扎实的力学和有限元方法的理论功底。阅读优秀的原版外文教材也是一个不错的选择。那些国际公认的力学和有限元分析的大家们的经典原著或高质量的译著,往往论述严谨、深入浅出,能学到很好的力学思想和方法,并有助于建立正确的概念,这些对于提升仿真分析者的专业水平而言也是很有意义的。
3、专业知识和技能的积累
在专业知识的积累方面,主要靠专业课程学习和课外阅读两方面。通过工程领域的专业课程学习,可以掌握或了解具体工程领域中工程结构的受力特点、载荷作用、设计规范等内容,这些都是进行工程仿真所必需的。除了课程学习以外,建议把图书馆资源充分应用起来,适当增加文献的阅读量。从期刊论文、学术会议文集或学位论文等文献资料中,可以了解到很多工程问题的背景资料和计算方法,有的资料中还能了解到一些分析软件的使用技巧,如模型处理方法和计算实现难点等内容,这些点滴积累都将对今后有很大的帮助作用。在仿真专业技能的积累方面,建议在校期间能够熟练掌握一到两种有限元分析软件。在学习分析软件时,建议不仅是关注软件的建模和操作方法,更要注重了解软件的算法原理和对算例计算结果的分析。要学习建模方法,就要熟悉几何模型的创建和处理技术,熟悉软件的单元特性和网格划分方法,能够应用正确的单元来模拟不同的结构类型。
- 比如,如果不了解在ANSYS几何组件DM和SCDM的共享拓扑选项,可能造成计算模型出现不连续。
- 又比如,下面图中梁端的斜支座的施加,因为软件中通常只是约束X或Y方向,那么倾斜的情况如何处理?
- 又比如:施加圆柱面的径向约束,每个点的法线方向都不一致,那么是约束X方向还是Y方向呢?在软件的算法原理方面,建议结合软件手册和力学知识,弄清楚各个求解模块解决的问题类型和力学机制。
不了解软件计算原理,可能会选择调用不恰当的求解模块或计算选项造成事倍功半的结果。对计算结果,其正确性和合理性,也都需要用力学和有限元方法的概念来分析和判断。
现在很多人学习软件的方式可能是找本书,照着上面的例题一步一步地操作,这样其实是有很大的局限的。现在大部分书的问题在于,只讲怎么操作,而不讲为什么这么做,也不讲这么做对不对,直接导致很多人只学会了软件操作,学不到分析的精髓。我们认为,结构分析绝不仅仅是软件的操作。比如,之前有研究生朋友跟我讨论过这些问题:
- 为什么在做理想弹塑性分析时,某些位置的应力会超过屈服点?
- 为什么有的时候网格越加密得到应力越大?
- 模态分析计算得到的频率为什么和结构动力学的理论解答不一致?
- 特征值屈曲作为一种典型的几何非线性问题,为什么被称为线性屈曲分析,线性如何理解?
- 谐响应分析的解答为什么跟简谐荷载作用瞬态分析得到的位移幅值有差异?
这些问题集中暴露出力学或有限元方法的概念不清楚,对软件编制原理不了解等问题。
所以,软件的学习要跟力学概念、有限元方法课程、软件的理论背景结合起来,跟工程领域的行业知识结合起来。此外,还要正确看待分析软件的作用,软件是基于明确的物理问题和模型用数值算法编制的程序,因此软件本身实质上是计算器,而算式是由用户来提供的。对于物理上难于定量描述的问题,肯定也不能指望软件能算出结果。以上就是对在校工科同学的一些学习方法方面的建议,希望能够对大家有所启发。
2019年10月17日20时,我们将邀请尚晓江博士与王新敏教授参加由仿真秀和北京大学工学院联合出品的超级话题第五期《理工科学子,科研&工程应用的仿真之路》,与大家分享理工科学子的就业方向,工程和力学概念和软件操作学习等。
作者:尚晓江博士,仿真秀专栏作者
声明:原创文章,首发仿真秀官网,部分图片源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系。
想要参加本次的超级话题,请在文末留言或直接私信联系小编,机会难得。