关于有限元

uuspider 2019-9-11 392

[交流]转载一位大牛的"有限元学习方法",分享给在有限元探索道路上的前行着!
仿真模拟 32
alixy1
2015-12-29 14:53:36
楼主
有限元学习方法

ANSYS有限元分析软件是一个多用途的有限元法软件,可以用来求解结构、流体、电力、电磁场及碰撞等问题,在许多领域中都得到了广泛应用,如航空航天、汽车工业、生物医学、桥梁、建筑、电子产品、重型机械、运动器械等。
ANSYS以多场耦合分析闻名,而且这的确是它的突出优点。除了分析传统的结构以外,对于流场的分析也非常在行,它的CFX,FLUENT均在流场分析中名列前茅,而它的电磁场分析功能也相当强大.而最引人注目的是,对于多场的分析,ANSYS采用了项目流程图的方式,用非常直观的方式直接在各个分析模块之间进行数据的拖拉和共享,从而可以实现非常复杂的数据传递,这种功能让其它赫赫有名的有限元软件如RADIOSS,PATRAN/NASTRAN,MARC,ABAQUS都望尘莫及。下面是一个ANSYS中耦合场分析的例子,从静电场传递数据到稳态热分析,再传递数据到瞬态热分析,接着传递到静力学分析,再传递数据到流场分析,在ANSYS WORKBENCH中只需要不到一分钟的简单拖拉就可以形成,而其它的软件分析起来则相对比较费事。
image
ANSYS最初只有经典界面,非常不好使用,而自从WORKBENCH推出来以后,这种情况大大改观。到今天,当ANSYS14推出来以后,其WORKBENCH2.0已经非常好用,操作起来相当方便,做一个有限元分析只需要简单的点点鼠标,顷刻之间就可以看到花花绿绿的应力云图,动感十足的变形动画。而最为重要的是,新版的WORKBENCH可以说是为机械工程师们量身定做的,它不仅有非常齐全的单位设置,强大的内置材料库,也有非常贴近工程概念的边界条件设置,这让其它类似软件相形见绌,所以成为机械工程师们做仿真的首选软件。
那么如何学习ANSYS呢?
我看到现在有不少初学者还在ANSYS的经典界面中痛苦的挣扎,在里面讨论如何导入IGES文件的问题,如何进行GLUE这种令人生厌的操作,我就颇为担心。我最初也是从经典界面而来,也走过许多的弯路。在最初学习的时候,别人告诉我,应该只用命令,而别用界面,当时我也试过,后来发现这种观点非常的不好,对我的学习造成了很大的误导。所以,鉴于这种痛苦的经历,为了避免大家重蹈覆辙,我觉得很有必要谈谈我的一些建议,希望为初学者指出一条快捷的道路。
首先,我们要明白,ANSYS是有限元分析软件。这意味着它是专业软件,它只是有限元方法的一种软件实现工具而已。所以,如果不懂有限元,学习ANSYS没有多大意义。我们看到,有很多人都好像赶时髦的一样在用ANSYS,但是他们在做完一个分析以后,甚至都不知道自己在做什么,结果是什么含义,他们一片茫然。这种学习方式,基本上没有什么用处。无论学习ANSYS多长时间,只要不深入到有限元理论本身,就不可能把ANSYS用好,而是始终浮在表层。因此,欲学ANSYS,先学有限元。
其次,我们也要知道,有限元法它只是一种数值分析方法而已。对于客观世界,我们总是用一些方程来加以描述其基本规律,而其中,很多物理现象是用微分方程组来描述的。而数值法只是求解微分方程组的一种方法而已。更进一步,数值方法包括有限元法,有限差分法,有限体积法,边界元法等,所以有限元法只是数值方法的一种。有限元法把对象划分为多个单元,然后对于每个单元列出其方程,最后组装得到整个研究对象的方程,然后求解这对方程组。热,结构,电磁,流场之所以最后求解不同,这主要是因为其单元方程不同,而单元方程是基于该单元所满足的具体物理规律给出来的。这就意味着,如果我们要懂该单元方程是什么意思,我们得先明白,该方程是从哪里来的。比如,对于结构分析而言,该单元方程的依据主要是弹性动力学;对于流体分析而言,单元方程的依据主要是质量守恒,动量守恒以及能量守恒的三个方程;对已电磁场而言,单元方程的依据是麦克斯韦方程组。对于热分析而言,单元方程来自于热传导方程。这就意味着,要懂得单元方程,我们先要弄明白我们所面对的是哪一个学科,需要先学习相关的基础课程。比如,要做结构分析,那么材料力学,弹性力学,机械振动是必须预先学习的,否则,我们就不知道单元方程的依据是什么。
接着,我们要知道,ANSYS有两种使用模式:经典界面和WORKBENCH界面。经典界面对于初学者以及高级研究人员适合,而WORBENCH对于一般的工程师很适合。由于经典界面对于理解有限元方法非常合适,对于杆件的分析,平面问题的分析也很合适,所以当有限元方法学习完毕以后,进入经典界面学习简单的杆件分析,平面分析,这对理解有限元法是很有好处的。但是当在经典界面里面学习完杆件和平面问题分析以后,如果要进行三维实体模型的分析,我建议立即转入WORKBENCH。WORKBENCH对于零件分析,装配体的分析提供了强大支持,这种支持力度让经典界面望尘莫及。
总之,我以为,对于初学者而言,以下的学习道路是合适的:
首先,买一本WORKBENCH的书,直接进入WORKBENCH,做几个简单的三维实体模型的分析,感受一下有限元分析的思路,这可以获得关于有限元分析的感性认识,从而激发兴趣。在此阶段花费的时间不要超过一个月。
接着,开始学习材料力学和弹性力学,主要弄清楚基本理论。对于机械系的学生而言,材料力学早就学习过,所以主要需学习弹性力学。在弹性力学上,自学的时间不要超过2个月,只学习基本方程,以及直角坐标的解法就足够,也可以适当学习极坐标解法。
然后,开始学习有限元方法。对于有限元方法,建议学习《有限元方法基础教程》这本书,它由浅入深的讲解了有限元方法,需要的地方就着重讲解,而不需要的地方一带而过。建议在这里学习的时间是3-4个月左右。

IPB Image
然后,进入经典界面,学习杆件的分析,平面问题的分析,主要通过做例子。在此停留的时间不要超过2个月。
接着,进入WORKBENCH界面。几乎所有的三维分析都应该在这里面进行,而且这里会成为我们以后做仿真的主战场。围绕WORKBENCH,学习一下DESIGNMODELER的建模方法,模型简化方法;接着重点学习MECHANICAL。在这里,WORKBENCH的使用,学习半个月左右;DESIGNMODELER,学习一个月左右;MECHANICAL,学习的时间就很长了,如果你锁定用ANSYS做有限元分析,那么我们人生的很多时间几乎都是与MECHANICAL打交道,它是取代经典界面的主要工具.
在进入WORKBENCH半年以后,渐渐从静力学分析开始往外扩展。比如扩展到动力学分析,此时需要先学习机械振动这门课,然后你的视野会大大开阔,WORKBENCH中的模态分析,谐响应分析,瞬态动力学分析就都可以使用了。
以后,若有对于流体分析的需要,就先看流体分析的教程,然后学习CFX,或者FLUENT,都很好。
或者,如果有对于热分析的需要,就先看传热学方面的教程,然后学习WORKBENCH中的热分析模块。
或者,如果有对于电磁分析的需要,就先获得电磁场的基本知识,然后学习WORKBENCH中的静电场,静磁场分析模块
最后,如果在实际问题中有遇到多场耦合分析的问题,则ANSYS是首选。可以做几个多物理场分析的例子,就可以直接上手。
笔者学习ANSYS上十年,深感ANSYS博大精深,恐怕一辈子也难得学习好。归根结底,是因为在ANSYS底层,是一堆专业课:弹性力学,塑性力学,蠕变力学,断裂力学,结构力学,流体力学,传热学,电磁场,有限元法,机械振动,有限体积法,等等课程。如果没有对这些课程较深的理解,要用好ANSYS恐怕没有那么容易。
最新回复 (3)
  • uuspider 2019-9-11
    引用 2
    [求助]感觉数值模拟好高深,系统学习该怎么做啊?
    仿真模拟
    ustb2073
    2019-06-10 18:55:22

    其实我本科的时候就开始用一些有限元软件模拟了,那时候也就觉得这个小工具只是把本来应该手算的变成了电算而已,而且自己把模型建立起来,边界条件加上,本构关系用对,最后点一下solve出结果就OK,根本不知道自己算的对不对,但是心里一直很疑惑。到了研究生阶段,学习了非线性有限元哦,感觉这个理论好高深啊,随便模拟个啥,我要搞清楚一大堆的东西,而且软件的操作步骤还很多,一步不对,最后就不收敛了,自己为此更加疑惑了,而且今后研究生阶段还要继续从事数值模拟方面的工作,自己越来越觉得又必要从基础开始系统地学习理论了,但是苦于身边没有前辈指导,而且由于我是土木工程专业的特点,这方面的前辈就更少了,希望各位虫友指点一下迷津,谢谢大家。

    @wuming524

    forxuchi
    2019-06-10 20:09:08
    2楼
    搞解析试试

    lml_sky
    2019-06-10 20:54:56
    3楼
    有这个意识已经很好了,已经比一些虽然什么理论基础都没有,按照网上了算例操作成功就觉得模拟很简单的人强多了。

    southpark007
    2019-06-10 22:31:56
    4楼
    所以模拟这个是最不怕别人偷的领域了。

    huming2018
    2019-06-11 07:44:47
    5楼
    做好数值计算确实不简单,要深刻理解物理过程,还要懂数值方法。

    zuo511
    2019-06-11 15:38:26
    6楼
    只能多学习,多积累。想着系统学习不现实,没有人会给你很长的时间。
    就遇到的问题去多考虑,尽力去学习。

    kingspin
    2019-06-11 16:27:23
    7楼
    不觉得真的存在系统学习这回事。首先一些big idea肯定是要懂的,否则连基本的判别能力都没有。然后就是尽可能多的run吧。Run过一千个算例的人一定比只run过100个的人做的好。最后一个观点就是简单的模型更有价值,因为它的结果可能有解析解,你可以比较容易的判断对错。
  • uuspider 2019-9-12
    引用 3
    编写了平面应力问题的三角形有限元解法代码,试解了几个算例,基本上都成功了,有些代码一次通过,还是很有些成就感的。在编代码过程中理解了很多原理性的东西,有些东西讲起来很复杂,实现起来并不难。四面体单元的有限元方法,代码就很复杂了,划分网格,单元和节点编号就已经不能靠想象和草图来实现了,必须借助数学工具。
  • uuspider 2019-9-18
    引用 4
     这是我刚刚看见的,虽然有些话比较刻薄,但是道理讲的很清楚,与大家共同分享。
      下面是摘录作者的文章:(原标题: 对清华有限元板块的看法兼谈怎样学习有限元) --------------------------------------------------------------------------------------------------------------
    准确的说,应该是谈谈我对发在这里的帖子质量的看法。因为专业的原因,我对有限元及其软件是有很深感情的。又因为一直对清华深有好感,可惜因为一些原因最终没有来清华深造,所以比较关注清华的BBS。写这篇文章要耗费我差不多一个完整的下午,但是我愿意。我知道学有限元其实不是一件容易的事情,我把我的想法说出来,希望对初学者有所裨益。坦率的说,我认为这里有限元板块的质量是不高的。之所以如此,是因为在这里很多人问的问题是太简单而且对自己不负责任的。这不是版主的错,是因为我们许多人还没有养成良好的专业素养和严谨的精神。请不要轻易的否认我的这个评价,好吗?至少,现在请不要。就是对我的话不屑一顾,也应该是在看完我的话之后吧。 我用我的思维方式来说话,并不是每一个人都会习惯,请见谅!我还要声明的是,我本人的水平一般般,自己也对自己有很多的不满,所以在这里说的很可能很幼稚或者有错误。请大家指教!我们应该有一个良好的讨论气氛。有限元对许多工科的人而言,其必要性和重要性不言而喻。问题在于,应该怎样的学习它呢?学习它,至少不用它到处害人也害己的话,我觉得至少要在下面四个方面有些基本知识:1、有限元基本理论及其求解基本步骤(数学基础);2、有限元专业英语(英语基础);3、你自己所属专业的东东(专业基础);4、几何造型及拓扑学知识(建模基础)。这个排序是由重到轻的。接下来,我首先说一说上面四个方面的意义和作用;之后谈一下为什么我认为在这里问的相当一部分问题是太简单而且对自己不负责任的。 1、做专业就要有做专业的样子。咱们理工科的学生,没有辛苦的付出是不可能有真正收获的。收获和付出在这里成正比。常常有人觉得有限元的软件很难,不好学,不好用,很多东西搞不懂,一提就头痛。其实这里面相当的一部分是有限元基本理论可以解决的问题,而不是软件的设计思想不好。现在的商用有限元软件,比如我用过的abaqus,ansys,adina以及algor,应该说它们的界面已经很友好了,包括帮助文档等等都不错。很大程度上使用者的问题是使用者自己对有限元基本理论漠不关心造成的。比如,许多人不清楚ansys里面几何信息如keypoint、line、area等到底和有限元模型是什么关系,其实他们和有限元模型没有任何必然的联系。它们只是软件为了方便建立有限元模型而提供的中间手段。又如二维的实体单元(2-D solid element )和三位空间的壳单元(shell element)有什么区别?从根本上说,两者的自由度不同。这样的概念在几乎任何一本有限元书籍中一开始不多久就会提到。只要你有弹性力学的基本知识,看这些应该不会很难的。但是,当遇到问题的时候,你考虑过是自己的有限元基本知识不够吗? 2、 有限元理论完全可以看中文的书籍了。但是,学习有限元软件仅仅有中文是不够的。当前我们使用的大型有限元软件几乎都是欧美的产品。他们几乎无一例外都用英语。为了解决这个语言上的问题,国内已经出了不少有限元软件方面的中文使用参考书,其中尤以讲述ansys的书最多最滥,害人不浅!虽然每一本这样的书上都赫然写着作者的名字,但是只要你稍微耐着性子坚持看一段ansys的英文联机帮助,你就会明白,那些中文的ansys使用参考书其实就是把帮助文档的某些部分翻译过来ok。这样的作者其实还有一个名字——“贼”。因为这样的书以及这样的人的存在,所以如果你长期坚持看那样的中文书,你就被害了。原因很简单,那些书所能提供的内容,你在软件英文帮助里面很快其实就可以学到。如果有问题,英文帮助文档解决不了,那么我敢打赌,你看的那些国内“名家”的“著作”也绝对会亵渎你的眼球。 很多人不习惯看英语的帮助,反而习惯看中文的那些书,原因大致是对自己的英语信心不足,还有一开始对中文的依赖造成的。久了你就会发现,不接触那些英语,你想继续前进是不可能的。当然,有两点要说明,一是,在刚刚开始的时候,你可以看看中文的使用参考书,但是越早使用英语越对你有利,二是,一开始你觉得看英语帮助很难,问题往往不是语言本身的问题,而是你对有限元基本理论的陌生造成的。这个时候看中文的使用参考你还是不懂的,应该看有限元的书。 3、有限元可以解决很多问题。简单的说,凡是关于连续介质的问题,它差不多都是可以解决的。所以,电磁场问题、力学场问题(包括固体力学、流体力学)、温度场问题以及耦合问题等等,在进行计算机数值分析模拟的时候,有限元往往会成为首选。因此,不同专业的人在使用有限元的时候,当然要理解自己的专业了。不过,这个许多人不会出大毛病,就不废话了。(呵呵,别人的专业其实我也“废话”不了,偶不懂嘛^_^)。还是要提醒一点,将自己专业问题抽象成有限元模型,还是要小心严谨为好!! 4、最好还要知道一点几何造型以及拓扑学知识。这么说吧,在用ansys建模的时候,如果你是在三维空间里先建立几何模型,然后以它为基础建立有限元网格,那么你可能会因为在有的地方很难剖出六面体的网格而头痛,以至你不得不用“free mesh”来生成你自己看了都觉恶心的网格。那么,什么样的几何模型可以剖出良好的网格呢?要把事情做的像样,仅仅知道几何形体的形状不要太畸形这一点是不够的。你知道“拓扑结构不变性”以及“拓扑结构不变量”不?要是知道了,你的建模思路就会比较理性、清晰。而这些知识,你可以参考拓扑学的相关书籍。苏步清老先生在几十年前写过一本很薄的书,讲拓扑学最基本的知识,写的很生动、通俗。要不,哥们(或者美女傻冒)您老人家也看看? 下面说一下为什么我认为在这个板块问的相当一部分问题是太简单而且对自己不负责任的。有暴力倾向并且不怕大侠我报复的,而且想对号入座的家伙,可以去找砖头了,呵呵。 我不是反对使用网络,我反对的是使用网络不负责任的对待自己。比如说,有人问了这样的问题: “ 请问:下面这个警告什么意思? *** WARNING *** CP= 16348.630 TIME= 19:44:35 Small equation solver pivot term= 3.698915243E-04 encountered at UY DOF of node 108112. Check for an insufficiently constrained model. ” 我知道这是怎么回事。因为这段英语说的清清楚楚:Check for an insufficiently constrained model!!——检查你的模型,因为这个模型的约束不够。并且这段英语还指出是108112号节点y方向的自由度约束不够。这段警告信息言简意赅,你让我如何再来添油加醋的回答“下面这个警告什么意思”?如果你不知道自己的约束到底错在哪里,而希望在网上有人准确的回答,那么应该是不可能的。因为引起这个警告信息的原因很多。接触问题、约束方程的问题、位移约束的问题等等都可以引发这个警告。在网上没有人知道你的模型是分析什么问题的模型,所以面对这个警告,除了把它翻译成汉语之外,又能给你多少帮助呢? 网上确实有高手,但是网上没有算命先生,更没有能掐会算的神仙。我的意思是说,不是不能问问题。而是应该学会问问题。不要脱口就问,要想一想,你问的问题就算有人懂,那么他能以什么样的方式回答到什么样的水平,尤其是在距离你可能千里之遥的网络上。这是在说应该会问问题。 我知道很多问问题的人是因为身边没有合适的人可以请教,或者事情很急,就想到了理论速度为每秒30万公里的网路。可是,古人的一句话却经常被人遗忘:“欲速则不达”。当你急得冒汗的时候,请想一想,为什么就是你急呢?为什么你现在才急呢?你越是试图用网络在几秒钟的时间里解决专业问题,越是说明你是浮躁的,没有严谨的专业治学精神。 如果你不是专门搞计算机的,而你的机子中毒了,那么你当然可以在网上求助。如果你是学数学的,而还没有mm关注过你,你也可以在网上求教。但是如果你是解决有限元专业问题而试图在网上三下五除二的搞定,错的人是你。因为那是不可能实现的。别人可以告诉你高斯点的位移和单元位移是不同的,但是别人无法在网上使你明白位移有限元法的前因后果。别人可以一句话说你的温度场问题有必要和力学问题进行有限元耦合分析,但是很难有人在网上可以使你明白你的有限元模型抽象的是否合适。别人可以告诉你采用abaqus进行本构关系的二次开发应该注意哪些问题,但是当你一开始工作的时候,你还是会一头雾水。 简单些说,别人可以给你指个方向,但是别人无法帮你走过本该属于你去走的路。如果你提出问题只是想得到他人方向性的指点,从而避免南辕北辙的危险,那么你是聪明的;但是如果你在细节上出现问题就尝试依靠别人帮助你,那只能说明你还没有学会走路。这个时候的你看似聪明,实际上却失去了在困难中得到磨练和感悟的机会,朋友,这样的话你在日后的道路上可以走多远? 如果你急得连静静的啃啃书本的时间都没有了,恨不得直接有人带你飞跃专业上的万水千山,那说明你本来就没有认真的准备过。不要期望在专业知识和水平上有暴发户。无论你长得多么漂亮,也必须付出理性和长期的努力才可能成为专业上的“模特”。仓促成文,言语不敬,请诸位海涵!!
返回
发新帖