Abaqus与python
2016-12-27 by:CAE仿真在线 来源:互联网
Abaqus软件提供的二次开发接口两种:Fortran开发的用户子程序,主要用于自定义本构关系、自定义单元等;二是在python语言基础上进行定制开发,主要用于前处理(例如,快速建模)、后处理(例如创建和访问输出数据库)、自定义模型(例如自动后处理)等。
Python接口允许用户绕过ABAQUS/CAE的GUI界面,直接与内核交互。
使用Python编写的包含脚本接口命令的程序可实现如下功能:
1、在Abaqus输入文件(Input file)中,用Python脚本定义关键词*Parameter项下的数据行,例如有的关键字在Abaqus/CAE界面中没有,则需要在inp文件里添加。
2、能够实现自动化过程,编写脚本可以实现各种判断语句、循环语句、数据存储等,例如对一个过程进行多次重复计算,将会是一个繁琐的过程,使用python编程则可以自动实现这个功能。
3、能够实现参数化分析,编写脚本可以进行参数化分析、优化分析、系统分析、多系列多型号的产品分析等,使产品的设计更加合理,产品研发周期更短。
学习编写Python脚本
借助于abaqus.rpy文件,Abaqus/CAE中的每一步操作都记录在abaqus.rpy中。Rpy文件可以使用PythonReader.exe软件来查看内容。可以CAE与python混合建模,不会的命令就利用CAE生成,然后用PythonReader打开并进行修改,可以弥补不熟悉python的缺点,逐句修改python语句,可以去掉一些不必要的语句。
Abaqus的python看似繁琐,但有着固定、严谨的结构,很多都是固定格式,因此并不难理解。
下面是提取结果中应力的Python命令:
#coding=utf-8
fromabaqus import *
fromabaqusConstants import *
fromodbAccess import *
importnumpy as np
OdbFilePath= 'E:\SD2014\TEST\'
#OdbFileName= 'TEST.odb'
#OdbFile= OdbFilePath + OdbFileName
OdbFile='E:\SD2014\TEST\TEST.odb'
outfilename= OdbFilePath + 'STRESS.txt'
nodesetname='NSET-SZ'
#intancename='PART-1-1'
#打开ODB文件
Odb =odbAccess.openOdb[OdbFile]
if notintancename: intancename = Odb.rootAssembly.instances.keys()[-1]
nodeset= Odb.rootAssembly.instances[intancename].nodeSets[nodesetname]
lastStep = Odb.steps.keys()[-1]
lastFrame= Odb.steps[lastStep].frames[-1]
# 提取YY方向应力, 如需要XX或其它方向应力, 可更改x.data[0]或其它
stress_field= lastFrame.fieldOutputs['S']
stress_field_nodset= stress_field.getSubset(region=nodeset, position=ELEMENT_NODAL)
nset_val= stress_field_nodset.values
stress_data= map(lambda x:[x.nodeLabel, x.data[2]], nset_val)
只需将上述命令输入到最下面的窗口即可提取所需要的结果,对于需要提取大量结果的使用起来能够大大增加效率。
相关标签搜索:Abaqus与python abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训