一、文章简介:“Abaqus 是一种流行的有限元分析软件套件。 它提供机械和流体动力学的线性和非线性分析,包括多体系统和多物理耦合。 然而,Abaqus 使用其 CAE 模块的可视化能力是有限的。 显微断层扫描的模型结构极其复杂,Abaqus 输出的数据集庞大,需要比 Abaqus/CAE 更强大的可视化工具。 我们通过开发 Python 脚本,然后使用 ParaView 将结果可视化,将 Abaqus 输出转换为基于 XML 的 VTK 格式。 体积渲染、张量字形、高级动画和其他过滤器等功能使 ParaView 能够提供出色的可视化表现。 ParaView 的并行可视化使可视化非常大的数据成为可能。”
二、abaqus建立轧制复合板有限元模型
在abaqus中,首先建立起轧制单板的温度热力耦合模型,并对每个part设置其对应的材料等属性,同时进行网格化分,并进行简单的轧制仿真,在此基础上,进行inp文件的导出与处理,并与后续处理结果进行比对。
图1:abaqus轧制单辊模型建立
(注:笔者为初学者,abaqus中设定的参数通过咨询、自学等方式设定,仿真结果可能有偏差,但不影响inp文件的预处理)
三、文件预处理程序界面搭建
有不少学者或商业软件都在对有限元进行分析处理,大多数为python从构建模型到后期处理一体式的集成编辑,abaqus的建模优点没有保存。其中对网格的划分以及后面功能的计算在二次开发时仍需要保留abaqus和paraview的优点功能,因此本文主要以python为基础语言进行编程,汇编了集inp文件预处理、vtk模型交互、调用子程序及动态链接库为一体的功能,在abaqus中仅需建立模型并简单划分网格。而该界面及功能的搭建,在后期便于扩展功能与计算上的多维开发。
图2:程序流程图
3.1第一版界面整体展示
图3:界面效果图
3.2第一版inp文件生成
第一版文件的生成主要包括除与vtk网格模型交互所得数据的其他。整体思路为仅提取abaqus的inp文件中每个part的node、element信息,然后利用python对文件进行坐标信息提取、节点与单元序号重组,并在后台捕获每个part修改后的node与element信息,在此基础上对材料属性进行设置与赋予、设定对应的参考点坐标。之后对界面中用户操作或者修改的数据生成并保存为用户自定义的文件路径下便于后续调用。
目前除了inp文件的生成,该程序还建立了调用其他子程序或动态链接库执行相关cmd指令进行操作,集成了文件处理与后台调用执行的功能。
图4:部分功能实现组合图
3.3程序的封装性
- 在程序开发时,采用的是离线式操作,因此不采用html等相关语言开发在现实操作。可实现多台电脑使用,不存在因转移程序后其他电脑无法使用或需要手动更改路径的问题。
- 因软件处于初始阶段,很多功能都需要完善,因此即便采用pyqt的界面进行交互,在编写程序时,也注意了功能性程序与主程序的封装性与自由开发的复制性操作,满足其余开发人员二次拓展的需求。
注:关于程序的建立与问题的指正可留言或联系有关人员进行交流1158227426@qq.com
以上所有内容侵权必究