当前位置:文档之家› Abaqus的Python后处理详解-kxh

Abaqus的Python后处理详解-kxh

Abaqus中Python后处理详解

By NUAA

Ph.D Kong Xianghong

2013/04/23

下图是Abaqus ODB

文件的数据结构,后处理操作主要对以下两步分进行操作:

1) 对场变量的读取路径:

odb.setps[].frames[].fieldOutputs[]

2) 对历史变量的读取路径:

odb.setps[].historyRegions[].historyOutputs[]

1 Abaqus ODB 文件数据结构

2.1 创建3D实体Part

创建截面为

10×10mm,长度

为20mm的拉伸

体部件。

2.2 对3D实体Part划分单元

模型建得比较小,划分单元也比较少,这样得到的odb文件也比较小,有助于更方便地了解odb文件的数据结构。

2.3 创建材料及截面

2.4 给Part赋材料属性及创建装配实例

2.5 创建分析步

为了输出HistoryOutput,所以分析步的增了步设置了多步(10步)。

2.6 编辑场输出变量

2.7 为历史输出变量创建Node Set

2.8 编辑历史输出变量

2.9 创建边界条件

施加边界条件的Region为Set-1。

2.10 施加载荷

2.11 创建Job

在Job编辑对话框的Parallelization

标签页中也可定义

并行计算的核数。

2.12 在Abaqus/CAE中查看分析结果

3.1 打开关闭odb文件的方法

方法一:

from odbAccess import *

myodb=openOdb('D:/.../Job-1.odb')

myodb.close()

方法二:

import odbAccess

myodb=session.openOdb('D:/.../Job-1.odb')

myodb.close()

方法三:

import visualization

myodb=visualization.openOdb('D:/.../Job-1.odb')

myodb.close()

3.2 使用prettyPrint()方法查看odb 数据结构(1)在Abaqus 命令行借口中输入如下四行Python 程序:>>> from odbAccess import *

>>> from textRepr import *>>> myodb=openOdb('Job-1.odb')

>>> prettyPrint(myodb,1) 程序运行结果如右图所示,prettyPrint()的第2个参数表示打印odb

文件数据的级数,可以

逐渐调大该参数,观察

打印结果。

注:当odb 文件在Abaqus

的工作路径下时,使用

openOdb()打开odb 文件时

可以不用写路径。

3.2 使用prettyPrint()方法查看odb数据结构(1)

prettyPrint()

的第2个参数设

为2时的打印结

果,可以只关注

steps下的数据。

3.3 使用getIndentedRepr()方法查看odb数据结构(1)

在Abaqus/CAE命令行中输入以下Python程序,可以将odb文件数据打印到指定的文本文件中。

>>>from odbAccess import *

>>>from textRepr import *

>>>f1=open('D:/Report2.txt','w')

>>>myodb=openOdb('Job-1.odb')

>>>r=getIndentedRepr(myodb,2)

>>>f1.write(r)

>>>f1.close()

>>>myodb.close()

右图是将

getIndentedRepr()方法

第二个参数设为4时,

打印到Report4.txt 文件

中是odb 文件数据。仔

细观察文本文件中的

数据结构,有助于更

好的理解odb 文件的数

据结构。

3.3 使用getIndentedRepr()方法查看odb 数据结构

(2)

3.4 在命令行接口中查看odb文件数据(1) >>> from odbAccess import * # 导入odbAccess模块>>> myodb=openOdb('Job-1.odb') # 打开odb文件

>>> mystep=myodb.steps # odb.steps

>>> mystep.keys() # 查看steps

['Step-1']

>>> step1=mystep['Step-1'] # 读取Step-1

>>> step1.__members__ # 查看Step-1中的数据['acousticMass', 'acousticMassCenter', 'description', 'domain', 'eliminatedNodalDofs', 'frames', 'historyRegions',

'inertiaAboutCenter', 'inertiaAboutOrigin', 'loadCases', 'mass', 'massCenter', 'name', 'nlgeom', 'number', 'previousStepName', 'procedure', 'retainedEigenModes', 'retainedNodalDofs',

'timePeriod', 'totalTime']

(完整)总结Abaqus操作技巧总结(个人),推荐文档

Abaqus操作技巧总结 打开abaqus,然后点击file——set work directory,然后选择指定文件夹,开始建模,建模完成后及时保存,在进行运算以前对已经完成的工作保存,然后点击job,修改inp文件的名称进行运算。切记切 记!!!!!! 1、如何显示梁截面(如何显示三维梁模型) 显示梁截面:view->assembly display option->render beam profiles,自己调节系数。 2、建立几何模型草绘sketch的时候,发现画布尺寸太小了 1)这个在create part的时候就有approximate size,你可以定义合适的(比你的定性尺寸大一倍); 2)如果你已经在sketch了,可以在edit菜单--sketch option ——general--grid更改 3、如何更改草图精度 可以在edit菜单--sketch option ——dimensions--display——decimal更改 如果想调整草图网格的疏密,可以在edit菜单--sketch option ——general——grid spacing中可以修改。 4、想输出几何模型 part步,file,outport--part 5、想导入几何模型? part步,file,import--part 6、如何定义局部坐标系 Tool-Create Datum-CSYS--建立坐标系方式--选择直角坐标系or柱坐标系or球坐标 7、如何在局部坐标系定义载荷

laod--Edit load--CSYS-Edit(在BC中同理)选用你定义的局部坐标系 8、怎么知道模型单元数目(一共有多少个单元) 在mesh步,mesh verify可以查到单元类型,数目以及单元质量一目了然,可以在下面的命令行中查看单元数。 Query---element 也可以查询的。 9、想隐藏一些part以便更清楚的看见其他part,edge等 view-Assembly Display Options——instance,打勾 10、想打印或者保存图片 File——print——file——TIFF——OK 11、如何更改CAE界面默认颜色 view->Grahphic options->viewport Background->Solid->choose the wite colour! 然后在file->save options. 12、如何施加静水压力hydrostatic load --> Pressure, 把默认的uniform 改为hydrostatic。这个仅用于standard,显式分析不支持。 13、如何检查壳单元法向 Property module/Assign/normal 14、如何输出单元体积 set步---whole model ----volume/Tickness/Corrdinate-----EVOL 15、如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location,同样的方法可以知道具体指定值的位置。 16、如何在Visualization中显示边界条件 View——ODB display option——entity display——show boundary conditions 17、后处理有些字符(图例啊,版本号啊,坐标系啊)不想显示, viewport-viewport annotation option ,选择打勾。同样可以修改这些字体大小、位置等等。

abaqus 后处理

22 后处理 22.1 显示局部坐标系上的结果 问:我前处理用的是直角坐标系,但是我想在后处理中输出关于柱坐标的位移分量 是不是要设计局部的坐标系?怎样设计? 答:后处理时点菜单tools / coordinates system / create, 创建柱坐标系(例如使用默认的名称csys-1). 菜单result / options, 点tranformation, 点user-specified, 选中csys-1, 点OK. 窗口左上角显示的变量如果原来是U, U1,现在就变为U,U1(CSYS-1). 22.1 显示局部坐标系上的结果 问:我前处理用的是直角坐标系,但是我想在后处理中输出关于柱坐标的位移分量 是不是要设计局部的坐标系?怎样设计? 答:后处理时点菜单tools / coordinates system / create, 创建柱坐标系(例如使用默认的名称csys-1). 菜单result / options, 点tranformation, 点user-specified, 选中csys-1, 点OK. 窗口左上角显示的变量如果原来是U, U1,现在就变为U,U1(CSYS-1). 22.2 绘制曲线(X–Y data) 问:例如我想用odb文件建立这样一个曲线: x y(自行指定) currentmax("my-xy01") 1.0 currentmax("my-xy02") 3.3 ……………… 搜索了半天也找不到,在此向用过的前辈请教,或者有第三方软件也请指点。(虽然我手工 excel也能做,但是那个时间就……-_-b) 答: 后处理菜单 tools / XY Data / Create, 先创建你的"my-xy01",再选择Operate on XY Data,

ABAQUS后处理中各应力解释个人收集

ABAQUS中的壳单元S33代表的是壳单元法线方向应力,S11 S22 代表壳单元面内的应力。因为壳单元的使用范围是“沿厚度方向应力为0”,也即沿着法相方向应力为0,且满足几何条件才能使用壳单元,所以所有壳单元的仿真结果应力查看到的S33应力均为0。 S11 S22 S33 实体单元是代表X Y Z三个方向应力,但壳单元不是,另外壳单元只有S12,没有S13,S23。 LE----真应变(或对数应变) LEij---真应变 ... 应变分量; PE---塑性应变分量; PEEQ---等效塑性应变 ABAQUS Field Output Stresses S stress components and invariants 应力分量和变量 SVAVG volume-averaged stress components and invariants (Eulerian only) MISESMAX 最大 Mises 应力 TSHR transverse shear stress(for thick shells)横向剪切应力 CTSHR transverse shear stress in stacked continuum shells 连续堆垛壳横向剪切应力 TRIAX stress triaxiality 应力三轴度 VS stress in the elastic-viscous network 弹粘性网格应力PS stress in the plastic-viscous network 塑粘性网格应力 SFABRIC stress components in fabric constitutive measure 纤维本构应力分量 SSAVG average shell section stress 平均壳节点应力 Strain E total strain components 总应变分量 VE viscous strain in the elastic-viscous network 黏性应变弹黏性网格PE plastic strain components 塑性应变分量 PEVAVG volume-averaged plastic strain components (Eulerian only) VEEQ equivalent viscous

abaqus后处理中各应力解释个人收集修订版

a b a q u s后处理中各应力 解释个人收集修订版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

ABAQUS中的壳单元S33代表的是壳单元法线方向应力,S11 S22 代表壳单元面内的应力。因为壳单元的使用范围是“沿厚度方向应力为0”,也即沿着法相方向应力为0,且满足几何条件才能使用壳单元,所以所有壳单元的仿真结果应力查看到的S33应力均为0。 S11 S22 S33 实体单元是代表X Y Z三个方向应力,但壳单元不是,另外壳单元只有S12,没有S13,S23。 LE----真应变(或对数应变) LEij---真应变 ... 应变分量; PE---塑性应变分量; PEEQ---等效塑性应变 ABAQUS Field Output Stresses S stress components and invariants 应力分量和变量 SVAVG volume-averaged stress components and invariants (Eulerian only) MISESMAX 最大 Mises 应力 TSHR transverse shear stress(for thick shells)横向剪切应力 CTSHR transverse shear stress in stacked continuum shells 连续堆垛壳横向剪切应力 TRIAX stress triaxiality 应力三轴度 VS stress in the elastic-viscous network 弹粘性网格应力 PS stress in the plastic-viscous

python数据分析过程示例

python数据分析过程示例

引言 几年后发生了。在使用SAS工作超过5年后,我决定走出自己的舒适区。作为一个数据科学家,我寻找其他有用的工具的旅程开始了!幸运的是,没过多久我就决定,Python作为我的开胃菜。 我总是有一个编写代码的倾向。这次我做的是我真正喜欢的。代码。原来,写代码是如此容易! 我一周内学会了Python基础。并且,从那时起,我不仅深度探索了这门语言,而且也帮助了许多人学习这门语言。Python是一种通用语言。但是,多年来,具有强大的社区支持,这一语言已经有了专门的数据分析和预测模型库。 由于Python缺乏数据科学的资源,我决定写这篇教程来帮助别人更快地学习Python。在本教程中,我们将讲授一点关于如何使用Python 进行数据分析的信息,咀嚼它,直到我们觉得舒适并可以自己去实践。

目录 1. 数据分析的Python基础 o为什么学Python用来数据分析o Python 2.7 v/s 3.4 o怎样安装Python o在Python上运行一些简单程序2. Python的库和数据结构 o Python的数据结构 o Python的迭代和条件结构

o Python库 3. 在Python中使用Pandas进行探索性分析 o序列和数据框的简介 o分析Vidhya数据集——贷款的预测问题 4. 在Python中使用Pandas进行数据再加工 5. 使用Python中建立预测模型 o逻辑回归 o决策树 o随机森林 让我们开始吧 1.数据分析的Python基础 为什么学Python用来数据分析 很多人都有兴趣选择Python作为数据分析语言。这一段时间以来,我有比较过SAS和R。这里有一些原因来支持学习Python:

总结Abaqus操作技巧总结

打开abaqus,然后点击file——set work directory,然后选择指定文件夹,开始建模,建模完成后及时保存,在进行运算以前对已经完成的工作保存,然后点击job,修改inp文件的名称进行运算。切记切 记!!!!!! 1、如何显示梁截面(如何显示三维梁模型) 显示梁截面:view->assembly display option->render beam profiles,自己调节系数。 2、建立几何模型草绘sketch的时候,发现画布尺寸太小了 1)这个在create part的时候就有approximate size,你可以定义合适的(比你的定性尺寸大一倍); 2)如果你已经在sketch了,可以在edit菜单--sketch option ——general--grid更改 3、如何更改草图精度 可以在edit菜单--sketch option ——dimensions--display——decimal更改 如果想调整草图网格的疏密,可以在edit菜单--sketch option ——general——grid spacing中可以修改。 4、想输出几何模型 part步,file,outport--part 5、想导入几何模型? part步,file,import--part 6、如何定义局部坐标系 Tool-Create Datum-CSYS--建立坐标系方式--选择直角坐标系or柱坐标系or球坐标 7、如何在局部坐标系定义载荷

laod--Edit load--CSYS-Edit(在BC中同理)选用你定义的局部坐标系 8、怎么知道模型单元数目(一共有多少个单元) 在mesh步,mesh verify可以查到单元类型,数目以及单元质量一目了然,可以在下面的命令行中查看单元数。 Query---element 也可以查询的。 9、想隐藏一些part以便更清楚的看见其他part,edge等 view-Assembly Display Options——instance,打勾 10、想打印或者保存图片 File——print——file——TIFF——OK 11、如何更改CAE界面默认颜色 view->Grahphic options->viewport Background->Solid->choose the wite colour! 然后在file->save options. 12、如何施加静水压力hydrostatic load --> Pressure, 把默认的uniform 改为hydrostatic。这个仅用于standard,显式分析不支持。 13、如何检查壳单元法向 Property module/Assign/normal 14、如何输出单元体积 set步---whole model ----volume/Tickness/Corrdinate-----EVOL 15、如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location,同样的方法可以知道具体指定值的位置。 16、如何在Visualization中显示边界条件 View——ODB display option——entity display——show boundary conditions

python语言经典基础级案例(含源代码)

python语言经典案例(基础级) 案例1: 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用while 或for 语句,条件为输入的字符不为'\n'。 实例- 使用while 循环 #!/usr/bin/python # -*- coding: UTF-8 -*- import string s = raw_input('请输入一个字符串:\n') letters = 0 space = 0 digit = 0 others = 0 i=0 while i < len(s): c = s[i] i += 1 if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others) 实例- 使用for 循环 #!/usr/bin/python

# -*- coding: UTF-8 -*- import string s = raw_input('请输入一个字符串:\n') letters = 0 space = 0 digit = 0 others = 0 for c in s: if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others) 以上实例输出结果为: 案例2: 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 程序分析:无 程序源代码:

基于Python的Abaqus二次开发实例讲解

基于Python的Abaqus二次开发实例讲解 (asian58 2013.6.26) 基于Python的Abaqus的二次开发便捷之处在于: 1、所有的代码均可以先在Abaqus\CAE中操作一遍后再通过rp文件读取,然后再在此基础上进行相应的修改; 2、Python是一种解释性语言,读起来非常清晰,因此在修改程序的过程中,不存在程序难以理解的问题; 3、Python是一种通用性的、功能非常强大的面向对象编程语言,有许多成熟的类似于Matlab函数的程序在网络上流传,为后期进一步的数据处理提供了方便。 为了更加方便地完成Abaqus的二次开发,需进行一些相关约定: 1、所有参数化直接通过点的坐标值进行,直接对几何尺寸的参数化反而更加繁琐; 2、程序参数化已不允许在模型中添加太多的Tie,因此不同零部件的绑定直接通过共节点来进行,这就要求建模方法与常规的建模方法有所区别。思路如下: 将一个整机拆成几个大的Part来建立,一个Part中包含许多零件,这样在划分网格式时就可以自动实现共节点的绑定。不同的零件可通过建立不同的Set来进行区分,不同Part 的绑定可以通过Tie来实现。将一个复杂的结构拆成几个恰当的Part来建立,一方面可以将复杂的模型简单化,使建立复杂模型成为可能;另一方面,不同的Part可单独调用,从而又可实现程序的模块化,增加程序的适应范围,延长程序的使用寿命,也方便后期程序的维护和修改。 3、通过py文件建立起的模型要进行参数优化,已不适合采用Isight中Abaqus模块,需要用到Isight的Simcode模块。 下面详细解释一个臂架的py文件。 #此程序用来绘制臂架前段 #导入相关模块 # -*- coding: mbcs -*- from abaqus import * from abaqusConstants import * #定义整个臂架的长、宽、高 L0=14300 W0=1650 H0=800

利用Python对Abaqus进行后处理结果输出

利用Python对Abaqus进行后处理结果输出 -----中大_戚超_2016.10.3 1 概述 在Abaqus的二次开发过程中,通常需要采用Python脚本语言将Abaqus的计算结果进行输出,然后再进行处理。Python使Abaqus的内核语言,使用较为方便,Abaqus运行Python语言的方式有多种,可以直接命令窗口,也可以读入脚本,还可以采用类似批处理的方式。 本次以一个例子细说Python语言在Abaqus后处理中的应用,模型的计算结果云图如图1所示。 图1 计算结果 2 输出所有积分点上的Mises应力 直接上Python代码: import os from odbAccess import* from textRepr import* myodb=openOdb(path='Job-1.odb') cpFile=open('artlcF1.txt','w') RF=myodb.steps['Step-1'].frames[1].fieldOutputs['S'].values for i in range(len(RF)) :

cpFile.write('%.3F\n' %(RF[i].mises)) else: cpFile.close() #引入模块,因为需要打开结果文件 #打开结果文件,并复制给变量myodb #打开一个txt文件 #将输出场赋值给RF #循环语句,向txt文件逐行写入mises应力 Abaqus的结构层次分的很细,比如结果文件下分如下: 使用过Abaqus的都知道step表示载荷步,frame表示载荷子步,因而在读取Mises应力时需要详细地指定输出哪一步的应力,而应力结果是输出场数据(fieldOutput)的中一种,需要指定是何种应力,程序才知道怎么读取并写入。 由于Abaqus里面涉及的变量特别多,通常很难记清楚那一项下面都有哪些量可以调用,此时比较好的方式是采用print 函数查看,例如查看myodb.steps['Step-1'].frames[1].fieldOutputs 下面有哪些变量可以调用,在窗口输入: print myodb.steps['Step-1'].frames[1].fieldOutputs 显示:

(完整版)Python100个小例子.docx

一、 Python 练习实例 1 题目:有四个数字: 1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是 1、 2、 3、4。组成所有的排列后再去掉不满足条件的排列。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if (i != k) and (i != j) and (j != k): print(i, j, k) 二、 Python 练习实例 2 题目:企业发放的奖金根据利润提成。利润(I) 低于或等于10 万元时,奖金可提10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提 成5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 I ,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- i = int(input('净利润:')) arr = [1000000, 600000, 400000, 200000, 100000, 0] rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1] r = 0 for idx in range(0, 6): if i > arr[idx]: r += (i - arr[idx]) * rat[idx] print((i - arr[idx]) * rat[idx]) i = arr[idx] print(r) 三、 Python 练习实例 3 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平 方数,请问该数是多少? 程序分析: 假设该数为 x 。 1、则: x + 100 = n2, x + 100 + 168 = m2 2、计算等式: m2 - n2 = (m + n)(m - n) = 168

【2018年整理】abaqus的后处理

1 如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location 2 后处理有些字符(图例啊,版本号啊,坐标系啊)不想显示 view-view annotation option ,选择打勾 3 后处理中显示边界条件 Viewport--ODB Display Options 边界条件处打勾 4 在模型上只显示云图,不显示网格 option菜单-common-visible edges--free edges 顺便窜一下,在前处理mesn之后不想显示网格,只显示模型的话,更简单:工具栏有显示mesh、显示线框、显示实体连续的三个按钮。 5 你想调大变形放大系数(Deformation Scal Factor)让变形显示更明显一点? 注意:非线性问题,这个默认为是1(也就是不放大),只有线性的才能改。 option菜单-common-visible edges--Deformation Scale factor 6 如何在后处理中移动图例 选Gneral--legend 可以隐藏 选Legent--Upper left corner 可以移动 7 对ODB结果处理以后,如何保存结果 從visualization模塊開啟odb檔(不要直接從job manager開啟),並取消勾 選 read only,對已有的XY-data作copy to odb。 8 job步提交运算后警告信息出现setwarning 或者nodewarning,(类似这样 的语句: ....have been identified in element set ErrElemVolSmallNegZero .... identified in element set ErrElemDistorted WarnNodeUnconstrained WarnNodeMissMasterIntersect

ABAQUS前_后处理模块二次开发的应用_朱兆华

文章编号:1001-2265(2009)01-0030-04 收稿日期:2008-08-11  *基金项目:江西省科技厅科技支撑项目[2007];江西省教育厅2009年度一般科技项目(G J J 09025);江西省教育厅科技研究项目(G J J 08429) 作者简介:朱兆华(1979—)男,江苏涟水人,南昌大学机电学院硕士研究生,助理工程师,研究方向为材料加工新技术,(E-m a i l )b y j 245@163. c o m 。 A B A Q U S 前、后处理模块二次开发的应用 * 朱兆华1 ,黄菊花1 ,张庭芳1 ,谢世坤2 ,白引娟 3 (1.南昌大学机电工程学院,南昌 330031;2.井冈山大学工学院,江西吉安 343009;3.江西协中汽车 内饰有限公司,南昌 330032) 摘要:文章以实例说明了P y t h o n 脚本语言和A B A Q U S G U I T o o l k i t 在A B A Q U S 的前、后处理模块二次开发中的应用,并阐述了不同模块之间的调用流程。通过二次开发程序控制A B A Q U S 的建模和装配的过程,有效地解决了模型装配时的繁琐、易错等问题,提高了前处理的效率;因A B A Q U S 对板料拉深进行数值 模拟的后处理功能不够全面,为扩展后处理的功能,更好地查看和分析模拟的结果,文章对A B A Q U S 后处理进行二次开发来达到这一目的。 关键词:A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;二次开发中图分类号:T H 16;T G 65 文献标识码:A A p p l i c a t i o no f S e c o n d -d e v e l o p e d o n A B A Q U S P r e -p r e c e s s a n d P o s t -p r o c e s s Z H UZ h a o -h u a 1,H U A N GJ u -h u a 1,Z H A N GT i n g -f a n g 1,X I ES h i -k u n 2,B A I Y i n -j u a n 3 (1.S c h o o l o f M e c h a n i c a l a n dE l e c t r i c a l E n g i n e e r i n g ,N a n c h a n g U n i v e r s i t y ,N a n c h a n g 330031;2.C o l l e g e o f E n g i n e e r i n g ,J i n g g a n g s h a n U n i v e r s i t y ,J i a n g x i J i 'a n 343009,C h i n a ) A b s t r a c t :T h i s a r t i c l e u s i n g a n e x a m p l e t o e x p l a i n P y t h o n a n d A B A Q U S G U I T o o l k i t p r o g r a m m e f o r A B A Q U S p r e -p r o c e s s a n d p o s t -p r o c e s s s e c o n d -d e v e l o p m e n t a n de x p o u n dt h e p r o c e s s a m o n g d i f f e r e n t m o d u l e s 。T h o u g h s e c o n d -d e v e l o p m e n t t h e p r o c e s s o f m o d e l a n da s s e m b l e c a n b e c o n t r o l l e d ,t h e t e d i o u s 、e r r o r -p r o n e a n do t h e r p r o b l e m s c a n b e e f f e c t i v e l y s o l v e d ,s o t h ew o r k i n g e f f i c i e n c y c a nb e h i g h l y i m p r o v e di nt h e p r e -p r o c e s s ;F o r d r a w i n g s h e e t ,p o s t -p r o c e s s f u n c t i o n s p r o v i d e db y A B A Q U S a r ei n s u f f i c i e n t .I no r d e r t o e x t e n dp o s t -p r o c e s s f u n c t i o n s a n d e x a m i n e s i m u l a t i o n r e s u l t e f f e c t i v e l y s e c o n d d e v e l o p o n A B A Q U S p o s t -p r o c e s s i s u s e d i n t h i s p a -p e r . K e y w o r d s :A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;s e c o n d -d e v e l o p m e n t 0 引言 A B A Q U S 是国际上最先进的大型通用有限元计算分析软件之一,可以模拟绝大部分工程材料的线性和非线性行为。A B A Q U S 自带的C A E 是进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台,它具有良好的人机对话界面,因此A B A Q U S 软件在工程中得到了广泛的应用。 P y t h o n 是一种面向对象的脚本语言,它功能强大,既可以独立运行,也可以用作脚本语言。特别适用于 快速的应用程序开发。 1 A B A Q U S /C A E 处理过程和二次开发接口 介绍 A B A Q U S /C A E 处理有两个程序:①内核程序;②G U I 程序。内核程序实际上就是它的脚本语言,它采用的是P y t h o n 语言,同时扩展了P y t h o n 语言,额外提供了大约500个对象模型,对象模型之间的关系复杂,它们间部分关系如图1所示。 图1中,C o n t a i n e r 表示容器,里面包括其他对象, · 30·

abaqus--后处理

1 如何显示最大、最小应力 在V isualization>Options>contour >Limits中选中Min/Max:Show Location 2 后处理有些字符(图例啊,版本号啊,坐标系啊)不想显示 view-view annotation option ,选择打勾 3 后处理中显示边界条件 V iewport--ODB Display Options 边界条件处打勾 4 在模型上只显示云图,不显示网格 option菜单-common-visible edges--free edges 顺便窜一下,在前处理mesn之后不想显示网格,只显示模型的话,更简单:工具栏有显示mesh、显示线框、显示实体连续的三个按钮。 5 你想调大变形放大系数(Deformation Scal Factor)让变形显示更明显一点? 注意:非线性问题,这个默认为是1(也就是不放大),只有线性的才能改。 option菜单-common-visible edges--Deformation Scale factor 6 如何在后处理中移动图例 选Gneral--legend 可以隐藏 选Legent--Upper left corner 可以移动 7 对ODB结果处理以后,如何保存结果 從visualization模塊開啟odb檔(不要直接從job manager開啟),並取消勾 選 read only,對已有的XY-data作copy to odb。 8 job步提交运算后警告信息出现setwarning 或者nodewarning,(类似这样 的语句: ....have been identified in element set ErrElemV olSmallNegZero .... identified in element set ErrElemDistorted WarnNodeUnconstrained WarnNodeMissMasterIntersect

完整word版ABAQUS后处理一些知识

提取剪力:即可RF 立SET 提取是否应该在计算之前,把某一层所有柱子底部的单元定义为一个集合,然后在历程输出中,定义这个集合的剪力输出?这样是不是就是某层的剪力时程曲线?关于剪力问题,大家是怎么提取的,是提取RF?Sxx?还是别的。。。 直接把某层的柱子定义成一个集合,然后提取这个集合的水平力。不知行么? 在abaqus里(猜测LZ应该问的是这个软件) 建模型时,采用不同的单元,输出层间剪力的方式是不同的; 对于beam和shell单元,可以直接在History output 或者field output里面输出SF,即可构件截面剪力,同理,SM为截面弯矩。 对于实体solid单元,则就没有那么简单了,需要在inp文件中定义相应的截面cutting surface,从而在后处理dat文件(stangard隐式计算)或整体截面输出(Explicit显式计算)输出SOF,即可直接输出截面剪力值,同理,相应的弯矩值可采用SOM。 补充一下: 采用beam单元模拟柱时,要注意柱的n1方向与之对应的剪力,否则可能会出现混乱, 即,最好是柱的n1和t方向均相同,以避免出现错误, 举的简单的例子, 某两根柱子的x向剪力时程是v1(t)和v2(t), 但如果v1(t)和v2(t)的正负方向定义反了,出来的合力v1(t)+v2(t)肯定不是所需的。 再有,beam单元输出的内力是积分点的值而非端节点的值,应当引起注意, 假如层间柱就划为2个单元,此时输出来的V、M内力和柱端差距是比较大的, 讨论。 abaqus 做高层结构分析后,如何提取某一层的剪力,基底剪力可以通过RF输出然后求和,其它层如何处理?SF(SF1-SF6)对柱单元和墙单元来说分别表示什么含义?对于柱,请参看所用单元的element output,直接将sfi求和即可,help中对sfi的说明是很清楚的; 对于壳(即你所用墙)的单元输出说明没有图,理解起来有点费劲。

Python100个小例子

一、Python 练习实例1 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if (i != k) and (i != j) and (j != k): print(i, j, k) 二、Python 练习实例2 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- i = int(input('净利润:')) arr = [1000000, 600000, 400000, 200000, 100000, 0] rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1] r = 0 for idx in range(0, 6): if i > arr[idx]: r += (i - arr[idx]) * rat[idx] print((i - arr[idx]) * rat[idx]) i = arr[idx] print(r) 三、Python 练习实例3 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x。 1、则:x + 100 = n2, x + 100 + 168 = m2 2、计算等式:m2 - n2 = (m + n)(m - n) = 168

基于PYTHON的ABAQUS后处理开发

基于PYTHON的ABAQUS后处理开发 ABAQUS的后处理功能不能完全提供我们在分析过程中所需的数据,为更好的扩展后处理功能,查看和分析结果数据,本文提出了使用Python语言对ABAQUS进行二次开发来达到这一目的的方法。文中讨论了ABAQUS的脚本接口和对象模型在二次开发中的作用和调用流程,以及文件的读写与复制、数据读取与处理、结果输出与查看等关键技术。以共轨管锥面密封性的分析为例,使用Python语言提取了分析结果数据并将结果作为初始条件加载于新的分析中,最终得到所需的分析数据。 标签:ABAQUS Python 后处理有限元分析 0 引言 ABAQUS是目前国际上最为先进的通用非线性有限元分析软件之一,软件包括种类丰富的材料库和单元库,可以模拟绝大部分工程材料的线性和非线性行为,而且材料库和单元库分开,材料和单元之间的组合能力很强,可以胜任复杂结构的静态与动态分析[1]。ABAQUS自带的CAE模块是一个完整的ABAQUS环境,提供—个简单一致的接口,可以用于创建、提交、监视和评价模拟所得到的结果[2]。 Python是一种简单易学、功能强大的编程语言,它有高效率的高级数据结构,可以简单而有效地实现面向对象编程[2]。ABAQUS有限元程序就通过集成脚本语言Python向二次开发者提供了很多库函数,通过Python语言调用这些库函数来增强ABAQUS的交互式操作能力。本文通过Python脚本语言来提取ABAQUS 的后处理结果,并对结果数据进行相应的计算和转换,并将处理结果作为初始条件应用于其后的开发过程中。 1 ABAQUS、PYTHON接口程序 ABAQUS的二次开发可以通过Python脚本语言控制ABAQUS内核实现前处理建模和后处理的计算分析。ABAQUS脚本接口是Python语言的一个扩展,可以使用Python语言编制脚本接口可以执行的程序,从而实现自动化重复性的工作、创建和修改模型数据库、访问数据库的功能。ABAQUS脚本接口中的每个对象都拥有相应的数据成员(data)和函数,对象中的函数专门用来处理对象中的数据成员,被称为相应对象的方法,用来生成对象的方法被称为构造函数(constructor)[3]。在对象创建以后,可以使用该对象提供的方法来处理对象中的数据成员。ABAQUS的对象模型是指ABAQUS脚本接口中的各种对象类型之间的层次关系。ABAQUS脚本接口对Python语言进行了扩展,额外提供了大约500个对象模型,这些对象模型之间的关系比较复杂,大致将这写对象分为3类,如图1所示。其中,session对象用来定义视图、远程队列、用户定义的视图等;mdb对象包括计算模型对象和作业对象,其中odb对象包括计算模型和计算结果数据,每一类对象下面又包括各类子对象,比如mdb对象下面的计算模型models对象又包括很

python建模实例详解

###################################### ##Fundamentschwingungsstudie## ##nur geeignet fuer ABAQUS 6.4-1## ##erstellt von D.Chen in 2009## ###################################### #开头的为注释行. 第一步, 建立建模环境, 这一步中py将从abaqus中导入建模所需的所有程序模块. from part import * 接下来定义草图环境 mdb.models['Model-1'].Sketch(name='__profile__', sheetSize=200.0) mdb.models['Model-1'].sketches['__profile__'].sketchOptions.setValues(construct ionGeometry=ON, decimalPlaces=2, dimensionTextHeight=5.0, grid=ON, gridFrequency=2, gridSpacing=5.0, sheetSize=200.0, viewStyle=AXISYM) 上面的设定为大小200*200, 格栅间距为5, 文字标注高度为5. mdb.models['Model-1'].sketches['__profile__'].ObliqueConstructionLine(point1=(0 .0, -100.0), point2=(0.0, 100.0)) 本句语句设定轴对称模型的对称轴线位置 mdb.models['Model-1'].sketches['__profile__'].rectangle(point1=(0.0, 0.0),point2=(40.0, -40.0)) 该语句绘制矩形, 从点0,0 至点40,-40 mdb.models['Model-1'].Part(dimensionality=AXISYMMETRIC, name='Boden', type=DEFORMABLE_BODY) 定义模型为轴对称, 名字为boden,为可变形体 mdb.models['Model-1'].parts['Boden'].BaseShell(sketch=mdb.models['Model-1'].ske tches['__profile__']) del mdb.models['Model-1'].sketches['__profile__'] 绘图完成不要忘记收回建模环境所占的内存 第二节, 材料定义 from material import * from section import * 从ABAQUS提供的接口中导入材料库和组件库 mdb.models['Model-1'].Material(name='Boden') 定义材料名

相关主题
文本预览
相关文档 最新文档