[转帖]怎样学习有限元
本帖最后由 VibInfo 于 2016-3-24 13:47 编辑准确的说,应该是谈谈我对发在这里的帖子质量的看法。因为专业的原因,我对有限元及其软件是有很深感情的。又因为一直对清华深有好感,可惜因为一些原因最终没有来清华深造,所以比较关注清华的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进行本构关系的二次开发应该注意哪些问题,但是当你一开始工作的时候,你还是会一头雾水。
简单些说,别人可以给你指个方向,但是别人无法帮你走过本该属于你去走的路。如果你提出问题只是想得到他人方向性的指点,从而避免南辕北辙的危险,那么你是聪明的;但是如果你在细节上出现问题就尝试依靠别人帮助你,那只能说明你还没有学会走路。这个时候的你看似聪明,实际上却失去了在困难中得到磨练和感悟的机会,朋友,这样的话你在日后的道路上可以走多远?
如果你急得连静静的啃啃书本的时间都没有了,恨不得直接有人带你飞跃专业上的万水千山,那说明你本来就没有认真的准备过。
不要期望在专业知识和水平上有暴发户。无论你长得多么漂亮,也必须付出理性和长期的努力才可能成为专业上的“模特”。
来自: icax 好贴,清华版见过 <P>虽然看过,还是顶一下。</P> <P>不看不知道,怪不得有限元这么难呢?<BR>看来以后还需继续努力</P> what a good point. i think this iswonderful data. 老大说的真好,现在学习软件而忽略了理论的部分,在很大的程度上就约束了进一步的进步,也发现很多的书就是帮助文件的翻译文稿。