许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus二次开发:自制脚本分享

Abaqus二次开发:自制脚本分享

阅读数 91
点赞 0
article_banner

Abaqus软件二次开发环境中的脚本结构主要基于Python语言进行定制开发。

核心概念包括:

1. Python作为核心脚本语言:Abaqus内置Python解释器,提供API实现模型构建、求解设置及结果后处理自动化。例如,通过Python脚本可自定义工作流程,提取特定数据并绘制结果图。

2. 二次开发基本途径:包括编写Python子程序、利用VUMAT/UMAT等图形工具包定义材料行为,以及创建自定义后处理工具。

3. 脚本接口应用:通过Abaqus脚本接口(Scripting Interface)实现前处理建模和后处理分析,如使用Python脚本创建矩形板模型、设置材料属性和载荷。

4. 用户自定义功能:允许通过Python扩展软件功能,如自动化模型建立、修改分析设置。例如,参数化建模脚本可批量创建电池和多层结构模型。

5. 与求解器的交互:Abaqus将Python脚本处理为inp文件并提交给求解器,求解器计算后产出odb文件,Python可进一步读取和处理结果。

Abaqus二次开发能提高分析效率和功能扩展性。学习相关课程后制作的脚本可用于自动化重复任务、定制特定分析流程,如提取损伤单元数量、实现复杂材料模型等,从而提升工程分析的实用性和效率。

复制代码,新建py文件,在File–Run Script即可一键运行脚本

  • 白色背景,Mises字体变大,只留下应力图和坐标轴
session.graphicsOptions.setValues(backgroundStyle=SOLID, 
    backgroundColor='#FFFFFF')
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(legendFont='-*-verdana-medium-r-normal-*-*-120-*-*-p-*-*-*')
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(title=OFF, state=OFF, annotations=OFF, compass=OFF)
session.viewports['Viewport: 1'].view.setValues(session.views['Front'])

在这里插入图片描述

  • 查看某个作业的Mises应力
# -* - coding:UTF-8 -*-
#第一行必须含有,中文编码
#-----------------------------------------------------------
#以下代码PythonReader自动生成
from abaqus import *
from abaqusConstants import *
#创建窗口的大小
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=328.826019287109, 
    height=175.681488037109)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=ON)
#以上为初始代码
#-----------------------------------------------------------
o3 = session.openOdb(name='https://www.gofarlic.com/Temp/Job-1.odb')# 这里修改作业路径
session.viewports['Viewport: 1'].setValues(displayedObject=o3)
#查看应变
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(
    CONTOURS_ON_DEF, ))

在这里插入图片描述

  • 打开四个窗口,同时查看某个作业的应力、位移、动态图等
# -* - coding:UTF-8 -*-
#第一行必须含有,中文编码
#-----------------------------------------------------------
#以下代码PythonReader自动生成
from abaqus import *
from abaqusConstants import *
#创建窗口的大小
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=328.826019287109, 
    height=175.681488037109)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=ON)
#以上为初始代码
#-----------------------------------------------------------
o3 = session.openOdb(name='https://www.gofarlic.com/Temp/Job-1.odb')# 这里修改作业路径
session.viewports['Viewport: 1'].setValues(displayedObject=o3)
#查看应变
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(
    CONTOURS_ON_DEF, ))
#-----------------------------------------------------------
#再创建三个窗口
session.Viewport(name='Viewport: 2', origin=(6.58749961853027, 
    -4.65925931930542), width=399.641632080078, height=173.762969970703)
session.viewports['Viewport: 2'].makeCurrent()
session.viewports['Viewport: 2'].maximize()
session.viewports['Viewport: 1'].restore()

session.Viewport(name='Viewport: 3', origin=(13.1749992370605, 
    -4.65925931930542), width=399.641632080078, height=167.185180664063)
session.viewports['Viewport: 3'].makeCurrent()
session.viewports['Viewport: 3'].maximize()
session.viewports['Viewport: 2'].restore()

session.Viewport(name='Viewport: 4', origin=(19.7624988555908, 
    -4.65925931930542), width=399.641632080078, height=160.607406616211)
session.viewports['Viewport: 4'].makeCurrent()
session.viewports['Viewport: 4'].maximize()
session.viewports['Viewport: 3'].restore()
session.viewports['Viewport: 4'].restore()
#四个窗口排列组合
session.viewports['Viewport: 1'].setValues(origin=(0.0, 85.511116027832), 
    width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 2'].setValues(origin=(222.328109741211, 
    85.511116027832), width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 3'].setValues(origin=(0.0, -4.65926361083984), 
    width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 4'].setValues(origin=(222.328109741211,-4.65926361083984), width=222.328109741211, height=90.1703720092773)
#改变其他窗口,显示E、U和动画
session.viewports['Viewport: 2'].makeCurrent()
session.viewports['Viewport: 2'].odbDisplay.setPrimaryVariable(
    variableLabel='E', outputPosition=INTEGRATION_POINT, refinement=(INVARIANT, 
    
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空