基于ABAQUS与Python脚本参数化的批量建模分析

1原由

我们知道,不管是利用ABAQUS或是ANSYS软件进行建模分析来说,在仿真分析过程中,我们经常会遇到需要多次对模型进行修改的过程,笔者在一个做金刚石磨粒切削硬脆材料的案例中发现,为了研究在不同磨粒切深下的工件损伤情况,需要大量重复设置磨粒的切深,这样的重复操作大约需要30多组。不仅耗费操作时间,同时耗费大量的计算机运行时间,为此,通过直接写入参数化的命令语言,集中批量的操作是最有效的计算途径。总的来说,就是定义不同变量的参数化输入的模板和一个能够自动完成建模、执行和结果收集的脚本文件来完成参数化仿真计算。

2研究目的

本案例旨在通过基于ABAQUS平台,通过Python脚本参数化语言来研究不同材料及厚度的结构刚度和塑性应变情况。

2脚本化建模分析

2.1问题介绍

本文主要讲述这种脚本语言的编写过程,并不在乎模型建立的复杂程度,因此本文以一个简单悬臂端模型为操作对象进行参数化建模的集中阐述。模型草图并不复杂,因此选择在abaqus草图建模环境中直接绘制,得出的模型如下图1所示,其中基本尺寸已经标注如草图之上。模型的相关材料参数及其他几何参数如表1所示。

基于ABAQUS与Python脚本参数化的批量建模分析的图1

图1模型草图建模

表1模型材料参数及其他几何尺寸

材料

C5191R-H

C7025-TM02

SUS301-1/2H

几何参数

厚0.3mm

厚0.25mm

厚0.2mm

2.2参数化脚本定义

切换到propetry模块进入材料赋予设置,因为本文中材料为参数变量,材料本构数据采用CAE输入材料数据会异常繁琐,因此使用inp文件编辑定义材料,接触定义依然采用此种方式,图2给出了通过inp文件格式编辑接触的部分参数化语言,之后保存inp文件的修改,完成参数化输入模板创建。最后需要利用Python脚本编译,主要包括定义设计空间、组合参数样本创建设计集合、创建和执行参数化研究设计、参数化研究设计结果收集,具体步骤笔者绘制如下流程图3展示出来。

基于ABAQUS与Python脚本参数化的批量建模分析的图2

图2通过inp文件格式编辑接触

基于ABAQUS与Python脚本参数化的批量建模分析的图3

图3 Python脚本编译建模流程

3结果分析

3.1评估K值及塑性变形

不同材料及不同厚度的结构刚度(K)以及塑性变形情况求出如图4所示。

基于ABAQUS与Python脚本参数化的批量建模分析的图4

图4 K值及塑性变形

3.2力-位移曲线

在abaqus工作目录下可以找到定义的结果文件,查看力-位移曲线绘制图5的力-位移曲线。可以发现三种设计所产生的塑性变形基本相似,力量对比分别为C3>C2>C1。

基于ABAQUS与Python脚本参数化的批量建模分析的图5

图5力-位移曲线

4结论

本案例基本实现了利用Python脚本编译建模的过程,可以极大地减轻界面建模的时间并提高效率,对于利用脚本化语言编译建模提供思路。

ABAQUSPYTHON
为TA投票

基于ABAQUS与Python脚本参数化的批量建模分析的评论4条

基于ABAQUS与Python脚本参数化的批量建模分析的相关案例教程

基于的二次开发对于很多新手来说都是一个神秘的,感觉是高难度的问题,致使很多新手对二次开发的研究都处于初级了解阶段,或完全不感冒阶段。 其实二次开发很简单,某种意义上讲,常用的ABAQUS二次开发方式有两种 (1)直接修改inp文件,这种方式需要对inp文件中大量的节点和单元进行操作,一般不建议采用inp文件进行二次开发(除非有特殊的关键字或标识符,其实关键字也可以用python语言来进行二次开发,
基于的二次开发对于很多新手来说都是一个神秘的,感觉是高难度的问题,致使很多新手对二次开发的研究都处于初级了解阶段,或完全不感冒阶段。 其实二次开发很简单,某种意义上讲,常用的ABAQUS二次开发方式有两种 (1)直接修改inp文件,这种方式需要对inp文件中大量的节点和单元进行操作,一般不建议采用inp文件进行二次开发(除非有特殊的关键字或标识符,其实关键字也可以用python语言来进行二次开发,
工欲善其事必先利其器 ,如果想成为一名合格的Coder,一件上手的兵器就必不可少。ABAQUS的前后处理和界面开发,都使用Python作为开发语言。前 篇文章中的【POLARIS_PythonTest】插件,你配置了没有?这篇我们来聊一聊IDE集成开发工具。 从2011年开始进行ABAQUS前处理开发,纯小白入门,因为ABAQUS PDE太鸡肋,就没怎么用,最开始使用菜刀“记事本”武装自己,乱“砍
春分|仲春之月 工欲善其事必先利其器 ,如果想成为一名合格的Coder,一件上手的兵器就必不可少。ABAQUS的前后处理和界面开发,都使用Python作为开发语言。前 篇文章中的【POLARIS_PythonTest】插件,你配置了没有?这篇我们来聊一聊IDE集成开发工具。 从2011年开始进行ABAQUS前处理开发,纯小白入门,因为ABAQUS PDE太鸡肋,就没怎么用,最开始使用菜刀“记事本”
ABAQUS 的后处理功能不能完全提供我们在分析过程中所需的数据,为更好的扩展后处理功能,查看和分析结果数据,本文提出了使用Python 语言对ABAQUS 进行二次开发来达到这一目的的方法。文中讨论了ABAQUS 的脚本接口和对象模型在二次开发中的作用和调用流程,以及文件的读写与复制、数据读取与处理、结果输出与查看等关键技术。以共轨管锥面密封性的分析为例,使用Python 语言提取了分析结果数据
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    4 5