大名鼎鼎的Altair,将显示动力学求解器Radioss开源啦~
具体介绍不解释,随便百度就可以知道这个东西了。预计不久的将来肯定有大批的号称自主研发的求解器直接套壳的。
咱们也试着用这个求解器做一下仿真,看看效果。(注:由于主要参考的资料都是英文的,有些单词迫于水平所限,做不到信达雅的翻译,直接用原英文单词了,并非装逼,如果有人可以精致的翻译一下,那真实太感谢了!)
需要的准备工作有:
地址:https://github.com/OpenRadioss/OpenRadioss,点击+5release,再选择OpenRadioss_win64.zip。linux下的,需要大量的编译和build,暂时没尝试,感兴趣的可以自行尝试。
如果不使用这个东西,要使用.bat脚本命令提示行进行操作,显然这个更直观一些,当然如果自己编程调用的话,那就再说吧。不再本文讨论范围内。
地址:https://openradioss.atlassian.net/wiki/spaces/OPENRADIOSS/pages/56721409/PaulAltair+gui+scripts,这里有两个版本的一个是MPI的一个是没有MPI的,也就是并行运算。
我这里用没有并行运算的。因为我这没法安装MPI,在计算时也就没有用多核,直接单核。如果你安装了MPI,那待会计算时可以输入核心数量,这里需要用带MPI的,也就是jobsub had additional mpi options的那个。
这个求解器有些模型输出带anim
文件的,有些不带,直接输出H3D
文件,可以用hyperview打开,但是如果你装了Altairworks,那还折腾啥,直接自带这个求解器,所以这里使用开源软件paraview作为后处理演示。地址:https://code-aster-windows.com/download/。
多说一句,这个后处理也是code_aster(法国的求解器,linux版好用,windows的经常莫名奇妙的错误,还没法处理各种fital error,如果想尝试可以再这个页面点上面点salome-meca)的后处理,应该下载哪个都行,我用的第二个
由于前处理暂时没做,因此选官方提供的案例文件直接提交作业模拟。这里随便选了一个拉伸的案例,如果自己感兴趣哪个直接下载就行。地址:https://openradioss.atlassian.net/wiki/spaces/OPENRADIOSS/pages/11075620/Tensile+Test。
这个案例其实有好几个,随便选哪个都行,就是材料本构不一样。每个文件夹都是一种单元和材料本构,随便选一个都行,里面两个文件0000.rad
和0001.rad
。这两个文件需要明确的事0000的文件是模型的定义,0001的是模型的配置文件,稍后我们会修改一下0001的。至此,所有的准备工作就做完了。
首先,明确的是,这次开源的是求解器,并没有前后处理,所以,前后有大量的工作需要做。而且前处理暂时不讲。把前面下载的OpenRadioss和winddows gui script安装包解压到同一个目录下,这里非常重要,否则,将会运行不成功。然后,我把我下载的项目文件放到work文件夹下。另外避免莫名其妙的错误,路径不要有中文和空格。
打开win_script_mk2
,运行RunJobScript.exe
.
然后,会有一个console界面和gui界面,在gui界面可以看到他让选择0000start
文件,这个文件就是模型文件,节点,边界条件都在这里面,如果你熟悉abaqus的inp文件,肯定能看懂这个文件,如果不熟悉,其实,打开看看也能猜个大概。
我们这里,点击第一个select,然后在弹出的对话框里选,刚才下载解压的模型文件也即是0000.rad的那个。然后点第二个select,选择模型配置文件也就是0001.rad的那个。再在下面的输入核心数那里输入一个数,是运行线程数。虽然我们没有安装MPI这里也可以填大于1的数,比如2,这里牵扯线程和物理核心的概念,暂且不提,反正模型不是很大的情况下,搞个2呀什么的足够了,如果不够,优先考虑优化模型,除非模拟特殊情况。
然后,把窗口向我这样排列,就能看到运算过程了。
可以看到原来的文件夹多了好几个文件,有.out的,有T01的,稍后我们再说,这里耐心的等待计算完毕,如下图所示。
当开始计算时原来的GUI界面没有反应了,这是因为这个程序没有用多线程编程,但我没有找个这个程序的源代码,按道理来说github上的都有源代码。有下载到的同学可以发给我链接,我看看修改一下的。可以看到了生成一个H3D文件,这个文件就是结果文件,直接用hyperview就可以打开。但我们没有hyperview,只有paraview,但是paradeview是打不开H3D的,因此我们需要修改原来的模型配置文件,输出ANIM文件,再用ANIM转VTK,最后用paraview打开vtk就可以了。打开之前下载的tensile_LAW2_0001.rad
文件,然后按照我这里的修改:
其实,这里看配置就知道了,原来的配置,默认生成的H3D,这里修改为ANIM,然后ANIM输出啥的,VECT是vector向量,也就是DISP位移和VEL速度,还有ELEM,element的EPSP和VONM,VONM,就不用说了,米塞斯应力,前面那个是应变。然后再保存,重新运行。其他配置这里暂不详细介绍。再重新用上面的gui程序运行一次:
这次和上次不用的是多了很多的tensile_LAW2A001,002。。。的文件,这些文件就是我们想要的ANIM文件。等待计算完毕,我这里是到tensile_LAW2A081。也就是有81个ANIM文件。
回到win_scripts-mk2文件夹,这次打开ANIM-vtkScriptWin.exe,然后在打开的对话框种,选中所有的ANIM文件,点击第一个,然后拖到最下面,按住shift选最后一个。再点击打开。可以看到程序正在转换格式:
等待转换完毕,打开paraview,运行paraview-med.bat。
点击打开,然后选择刚才的路径,可以看到,这里他帮我们分好类了,直接选vtk那个group就行了。
再点击左下角的properties里的apply,就可以看到云图啦!!!!
点击coloring里的von_mises,然后点击桃心,再点击出来对话框种的齿轮,选择rainbow,再点击apply和close,就看到熟悉的米塞斯啦!小桃心前面的那几个rescale可以自己尝试,就是rescale云图的范围,要不然云图都是红色,看个遛啊!。。。
点击这里的播放和循环就可以看到整个拉伸的过程了。Tensile例子种还有好几个材料本构,请自行尝试,应该有一个是损伤的,就是可以拉断的,请试试看看效果。最后再说下前处理,开源的前处理Gmsh。Githup中说可以用Gmsh,作为前处理,https://openradioss.atlassian.net/wiki/spaces/OPENRADIOSS/pages/24444938/Tensile+Test+Example+Tutorial+Using+Gmsh,我没试,感兴趣的可以自行尝试。