(每日一题)自由度组装成矩阵方程的求解模块

网站/STKO ()

欢迎关注STKOKTV公众号。 该许可证目前免费开放。 欢迎大家踊跃申请。

1、文字说明:

本文站在学习方法等横向比较的维度来讨论为什么建议初学者可以通过友好的GUI界面来学习和使用STKO。 在学习有限元软件之前,我们必须掌握基本的有限元理论,这对于我们更好地理解有限元软件有很大的好处。 本质上,任何有限元软件都应该包括三个部分:求解相关模块、预处理模块和后处理模块。 决定有限元质量的是它的解模。 因此,可以说有限元软件的“CPU”就是它的求解模块。 求解模块的求解速度、收敛性、材料库、单元库、交互、算法。 这整个代码库可以将我们的有限元模型按照自由度组装成刚度矩阵方程,并按照一定的算法执行刚度矩阵方程。 求解方程组,或者数值求解系统的微分方程等,上述过程是该模块的主要工作,而这部分工作需要大量的计算资源。 因此,对于该模块的代码编写,一般采用可以调用计算机资源的编程语言,如C、. 我们常见的商业有限元软件和Ansys解决方案模块都是用语言编写的。 这就是为什么我们经常看到很多学者根据自己研究项目的需要,为很多资料编写umat或者vumat的子程序。 事实上,材料库已经扩大了。 但相比于C,该语言在调用计算机计算资源方面就远远逊色了(这是小轩的使用心得,并不代表业界的观点)。 这就是为什么我们发现相同自由度尺度的分析速度更快。 很多。 更不用说,中国拥有最强大的材料库和单元库,每年都有来自世界各地的许多学者开发出相当多的代码来扩展解决方案模块。 对于有限元软件的前、后模块,计算性能不高,因此通常采用其他编程语言来设计GUI。 例如,我们经常使用语言来设计前后处理器。 预处理模块的主要功能是与用户交互。 您在窗口上的点击交互将触发它自动生成某些代码。 例如,您用鼠标执行的每一步都会输出到相应的 .py 文件中。 对应的代码如图1所示:

图1. .py中对应的GUI操作代码

最后,这些由GUI生成的代码将自动转换为通用格式的ASCII .inp文件。 这些命令流将触发求解模块使用相应的材料、单元、函数、算法和载荷来形成有限元模型。 并解决它。 通过上面的讨论可以说明,我们在构建模型时,可以使用三种方法来构建模型,一是GUI操作,二是基于编写模型,三是直接编写.inp文件。 但对于上面的过程,对于初学者,或者说大部分已经使用过的用户来说,如果不做二次开发,肯定对后两种方式相当陌生。 只有高级用户才会使用零星的细节。 例如,通常,当我们需要在结构中添加初始缺陷时,我们直接将它们添加到关键字中。 这是因为当前的GUI操作没有这个选项,我们直接对inp文件进行了干预。 这也从侧面说明了一个友好的有限元软件预处理器对于初学者来说是多么重要。 换句话说,如果我们能够拥有一个强大的GUI界面,我们也可以完全忽略tcl命令流程,就像我们几乎可以忽略based或inp文件并享受它一样。 然而,在过去的很长一段时间里,尽管它因其优秀的求解模块而活跃在科研圈中,但其价值还远没有被充分发掘。 主要原因是没有友好的GUI,初学者需要编写一定的tcl命令流程来与解决方案模块交互。 这个过程对于研究课题比较简单的用户来说还是可以接受的。 一旦研究课题变得空间化、复杂化、外壳化、物化化,即使是专家在写tcl时都有些捉襟见肘,所以我们必须有一个强大的前后处理器,才能进一步扩大其影响力,不仅在科研圈,而且也在工程界。 当然,很多学者在这个过程中也做出了很多努力。 比如来自内地的陈学伟博士和来自加拿大的Tony Yang教授。 但总的来说,前后处理不是很友好。 笔者根据自己的使用经验,推荐意大利ASDEA公司定制的基于CAD操作的前后处理STKO软件。 它已成功无缝连接,形成新一代有限元软件。 该软件的进一步推广,必将起到一定的推广作用。 这个软件也是官网特别推荐的,如图2。

图2 官网

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender