Workbench这么强大,我们为什么还要学习ANSYS APDL?
原标题想写《我为什么要刷ANSYS APDL技术展示案例》的。后来写完想了想,试着换了一个题目。
这一段内容本来是想写在APDL Showcase2案例中的,但是一写就停不下来,索性关于这个话题单独写(shui)一篇好了。
虽然我是在学习APDL的技术展示案例,但我在个人喜好上是坚定痛恨ANSYS APDL的。那为啥我却还要刷它的教程案例呢?下面是我的一些想法,与大家分享讨论。
这篇水的比较长,嫌啰嗦的话……我写之前做了个思维导图,可能会简洁一些?
APDL的缺点吐槽
在我看来,ANSYS APDL界面和它的命令流在今天这个时代,实在有着致命的缺点。就以下两条,就足够作为初学者的我对它产生第一印象的厌恶:
1.不区分大小写。
2.各种命令、函数名极其简略。在软件自动生成的dat文件中许多命令甚至被进一步简化。
这两条特征,可以说是源自时代的局限。FORTRAN那个年代,计算机的存储空间是寸土寸金,每一个比特都锱铢必较。不区分大小写字符这个特性和FORTRAN那个时期的很多编程语言是一致的,这样可以节省字符编码的空间。而函数名的简略,对于使用打孔纸输入的时代乃至后来的命令行时代来说,也是能够节约存储空间的良好美德。
然而……大人,时代早就变了啊。今天这个时代,编程语言推崇的良好“美德”早已不是节约什么存储空间。内存硬盘那么便宜,程序员的时间又那么贵,各种软件都应该尽可能做得能够上手即用。十多年前乔布斯就说过苹果手机应该不需要说明书也能让人学会使用,在今天这已经成为UI设计的通识。对于程序员来说,即使不给一个UI界面,至少你设计一个API,你的函数名也应该易读,让人一眼看到就能猜到这个函数的作用。这早已成为软件工程中的基本要求。毕竟Life is short.
还有那复古的界面,槽点太多实在不知道该从何吐起,ANSYS是早已放弃治疗APDL的界面了。整一个win95年代过来的活化石。让我回忆起了我上幼儿园时候家里电脑的操作系统。
(不是,就这种纹理背景,在今天这种功能为什么还要存在啊?!)
从界面,到渲染,真的是全方位的活化石。你再看看人家Comsol!大家曾经都是丑过的,为啥人家现在画云图还能带高光,你的模型却连旋转一下都卡得不行,还调用不了GPU呢。
Comsol3.x版本的界面,也是丑过的。大概用了win2000那个年代的图标风格和控件。
再看今天Comsol软件的界面,不仅全面深度拥抱Ribbon,而且还把中文翻译细致到了求解器日志。其后处理云图默认平滑显示,还带有漂亮的高光。
ANSYS Workbench与APDL
这也是一个老生常谈的话题了。毫无疑问ANSYS Workbench相比APDL在UI设计上先进了好几个时代。但是ANSYS把Workbench下的很多分析项目做成了APDL求解器的套壳,这从一开始就决定了,Workbench界面下的Mechanical应用不可能发挥出APDL求解器的十成功力。Workbench下面的Mechanical Application,不仅可以为APDL求解器做前处理,同时也能为包括LS-Dyna在内的很多其他求解器做前处理和提交计算任务。
但其实Workbench也不像Hypermesh那样把自己当成一个忠实的前处理器。它和它的求解器还是有很深度的融合。今天许多初学者 甚至使用Workbench几年的人如果不去深究的话可能都不会意识到Workbench是在后台调用了ANSYS APDL的求解器。今天其实大部分有限元分析问题,ANSYS Workbench都已经能够胜任了,而且在操作的效率和便捷性上要远高于APDL界面。甚至我觉得ANSYS Workbench里面的Mechanical模块是我用过的操作最便捷、最人性化的有限元软件。
那既然ANSYS Workbench这么香,我就不禁想问一句了:
在2020年,到底为啥还要用ANSYS APDL?
答案无外乎两种。
1.不愿改变。
……我确实想说一段“不会吧不会吧”……但是我知道是真的有很多的工程师,仍然在坚持使用ANSYS APDL界面做有限元分析。就像确实有很多人在坚持使用Office 2003版本界面一样。软件的每一次界面革新,总会有一些人不适应甚至表示激烈的抵抗。
想当年在Office更新2007界面的时候,关于初代Ribbon界面是否真的提高了工作效率,当时就有很多人坚持认为在经典界面上一步就可以完成的操作,放在Ribbon界面下就需要点击两次鼠标。还有一些人表示在老界面上操作已经有了肌肉记忆,每一个按钮的位置都记住了。换一个界面就要更改旧的使用习惯,每个按钮的位置都需要重新学习。更别提从APDL换到Workbench,几乎等于重新学习了一款新软件。整个分析过程的操作逻辑完全变了,过去在APDL软件上的经验,很少能直接无缝迁移到Workbench的。
我猜,这大概和人脑学习新知识的过程有关。我们已经习得的知识和技能,体现为大脑内神经元之间的连接。当某项技能已经被你掌握的时候,大脑相关神经元之间建立起稳固的连接,并且会在连接外面包裹上一层髓鞘。下次再用到相关知识的时候,你就可以几乎不假思索的动用已经连接好的神经元完成任务(像不像训练好的深度学习模型?要不咋叫人工神经网络呢,就是借鉴了大脑的算法)。而学习新知识,对于大脑来说就需要在神经元之间建立起新的连接。这个建立新连接的过程会随着年龄的增长变得愈发困难,体现为在统计意义上,年长者比年轻人学习新知识的速度慢,对新事物的接受能力更差。
(这一段正经是从书上看来的。虽然不只来自某一本书,但如果有老铁感兴趣的话,可以去翻一翻 第一推动丛书 生命系列 中的《第二自然》,作者杰拉尔德·M. 埃德尔曼是1972年诺贝尔生理学医学奖得主,脑科学专家。这本科普小书还挺好读的)
而有限元分析作为一种相对比较“高端”的技能,涉及一整套复杂的命令、理论和软件操作。一项技能越复杂,迁移的学习成本当然就越高。再加上很多人自从离开学校以后可能很久没有系统的学习过新知识,大脑神经元之间建立新连接的能力就变得更弱。既然现有的软件能完成分析任务,工程师自然就不想重新学习一种新的软件。
毕竟,新软件的学习曲线和带来生产力的关系是这样的。
(用PPT画的,是不是还挺好理解)
2.ANSYS APDL可以完成一些Workbench做不到的高级分析技术
客观上我们当然不否认很多人仅仅因为第一条 不想改变 而坚持在APDL。但是,这个世界上最愚蠢的行为 就是假设比你位高/权重/资深的人比你愚蠢。所谓“肉食者鄙”,我想更多时候还是只出现在爽文里。就如民间科学家不应该挑战科学共同体的权威,键盘政治家不应该幻想政策制定者们都是草包一样,我也必须时刻提醒自己,对不了解的事情应该保持谦卑。
Abaqus、LS-Dyna等求解器都有很多尖端的功能没有出现在GUI界面里,只能通过关键字实现。ANSYS Workbench当然更是如此。虽然Workbench发展了差不多有十年,但ANSYS求解器许多复杂的单元功能,很多高级求解技术,还是只能通过插入APDL命令的方式实现。
那么,ANSYS APDL具体都有哪些“高端”的分析技术,是Workbench环境下暂时做不到的呢?这些分析技术,在其他有限元软件当中有没有实现,是否有GUI操作上更简便的方法?换句话说,在今天,这些分析功能的最佳实践是什么样的?
师夷长技,弃旧图新
在“ANSYS APDL和Workbench学哪个好”这个具体问题上,我听到过很多答案。包括尚晓江老师曾经做过的一次直播,比较过APDL和Workbench该学哪一个。但毕竟有限元是一个涉及面非常广的技术,有那么多分析类型,那么多细节的分析功能,那么多菜单项。简单的回答当然是“Workbench可以完成几乎90%常见的有限元仿真分析功能”,但这话说了和没说一样。没有调查研究就没有发言权,同样,我不去了解APDL,我说Workbench的好话说得都没有底气。
剩下的那10% Workbench做不了的分析究竟是什么?我想要再进一步深入学习有限元,该往何处去?这些问题,纸上得来终觉浅,绝知此事要躬行。我就自己去APDL的技术展示案例里面学学嘛。
APDL Showcase技术展示案例这些例题,确实做的比验证案例要更难一些,啃起来相对比较困难一些。但这些案例展示的高级分析技巧,也是学习提高的必由之路。
《礼记·大学》中有句话我非常喜欢,汤之盘铭曰:苟日新,日日新,又日新。大学之道,在明明德,在亲民,在止于至善,其中三纲领第二条朱熹认为应该是“新民”,使民众弃旧图新的意思。在今天的语境下,在大学里就是要不断更新自己的知识储备,日日更新才行。我真诚的希望自己这一生中永远不要成为一个不愿学习的、守旧的人。但是如果未来多年后有一天我的大脑真的退化让我学习新知识的速度变慢,希望在那之前,我已经把我所好奇的知识都认真的探索过一遍。
以此共勉
查看更多评论 >