2023年11月23日发(作者:)

abaqus⽣成odb⽂件_⼀⼩时内学会Abaqus脚本编程秘籍

⽂章⽬录

介绍

使⽤GUI创建简单模型

为模型数据库(mdb)创建第⼀个脚本⽂件

使⽤GUI创建输出

为输出数据库创建第⼀个脚本

为不同⽤途调整脚本⽂件的⽰例

继续使⽤脚本的说明

本⽂为的翻译,原⽂请点击⽂末【阅读原⽂】下载。

Learn Abaqus script in one hour

介绍

脚本是⼀个强⼤的⼯具,它允许您将Abaqus的图形⽤户界⾯(GUI)的功能与编程语⾔Python的强⼤功能结合起来。本⼿册并不意味着是

⼀个完整的Abaqus脚本⼿册。这是从实践的⾓度介绍Abaqus脚本,并试图解释⼀种简单、快速的脚本启动⽅法。如果您没有使⽤Abaqus

GUI或FEM的经验,您应该 先获得该⽅⾯的经验。在不熟悉输⼊⽂件的情况下,你应该能够在两个⼩时内阅读完这篇介绍。这本⼿册⽤于说

明作者对脚本强⼤性和和简单性的观点。

我使⽤的Abaqus cae版本是6.8-2,但是脚本在Abaqus的更⾼版本或更早版本可能也可使⽤。

   图1 Abaqus CAE 6.8-2 GUI主窗⼝

⾸先启动Abaqus CAE。为了确保我们讨论的是相同的菜单,图1显⽰了Abaqus GUI环境。我添加了⼀些菜单和按钮名称的说明,其将

在随后说明。设置正确的⼯作⽬录,我们将在稍后创建⼀些我们将要使⽤的⽂件,确保您能够找到它们。在开始创建模型之前,我们将在脚

本窗⼝中输⼊⼀⾏命令。⾸先,单击图1中所指的Script button按钮转到Script Window.;输⼊以下命令:

ues(replayGeometry=COORDINATE, recoverGeometry=COORDINATE)

进⼊脚本窗⼝,然后按enter键。运⾏该命令后不会出现任何可见的东西,但是这⾏代码可使得我们在随后创建集合(sets)、曲⾯

(surfaces)、选择区域(region)等的python脚本更具可读性。现在我们从创建模型开始,执⾏以下步骤:

创建零件:⼆维可变形平⾯壳,近似尺⼨:20

绘制第⼀点为(-5,-1)、第⼆点为(5,1)的矩形

创建材料:线弹性,E=1e9、ν=0.3

创建截⾯:实⼼、均质,使⽤刚创建的材料

将刚创建的截⾯指定给零件

创建集合(set):左边缘(left edge)

创建曲⾯:顶边(top edge)

另存为:名称为

您已经创建了模型。确保你的⼯作⽬录中包含⽂件(.jnl后缀为旧版⾃动录制的脚本⽂件,abaqus6.10及其以后为.rpy后

缀)

为模型数据库(mdb)创建第⼀个脚本⽂件

我们从创建脚本⽂件开始。打开⽂件并将此⽂件另存为EXAMPLE_⽂件。在附录有EXAMPLE_⽂件的

完整内容。此时的python⽂件看起来仍然很凌乱,在其中添加⼀些结构是⼀个很好的练习和习惯。让我带您浏览代码,并指出脚本的每⼀

⾏属于哪⼀部分。对于完全理解这些命令需要⼀些经验和练习。不过,可以从其中识别你在GUI中所采取的⼀些操作步骤。

# -*- coding: mbcs -*-

这⾏是注释。所以其并不重要,尽管我们知道python注释命令#很有⽤。

from part import *from material import *from section import *from assembly import *from step import *from interaction import *from load import *from mesh

尽管我们在⼀个python环境中⼯作,但它不包括Abaqus的所有功能。因此,上述这些⾏命令将导⼊本脚本⽂件中使⽤的⼀些Abaqus模

块(modulus)。

[’Model-1’].ConstrainedSketch(name=’__profile__’, sheetSize=20.0)[’Model-1’].sketches[’__profile__’].rectangle(point1=(-5.0, -1.0

⽤这些命令创建草图和零件。

[’Model-1’].Material(name=’Material-1’) [’Model-1’].materials[’Material-1’].Elastic(table=((1000000000.0, 0.3), )) [’Mode

材料、截⾯和截⾯分配是⽤上⾯命令完成的。

[’Model-1’].parts[’Part-1’].Set(edges= [’Model-1’].parts[’Part-1’].(((-5.0, -0.5, 0.0), )), name=’Set-1’) [’Mode

在这⾥我们创建集合和曲⾯。注意每⾏命令末尾的findAt命令。使⽤了findAt⽽不是getSequenceFromMask(它是Abaqus使⽤的⼀种编号

[’Model-1’].sysByDefault(CARTESIAN) [’Model-1’].ce(dependent=ON, name=’Part-1-1’,

装配过程如上所述。请注意,这⾥使⽤了rootAssembly⼀词,您不必给出程序集的名称。这当然是因为只有⼀个装配(Assembly)。

[’Model-1’].StaticStep(initialInc=0.1, maxInc=0.1, name=’Step-1’,previous=’Initial’)[’Model-1’].DisplacementBC(amplitude=UNSET,

上述命令⾏定义分析步、边界、载荷。

(contactPrint=OFF, description=’’, echoPrint=OFF, explicitPrecision=SINGLE, historyPrint=OFF, memory=90, memoryUnits=PERCENTAGE, mode

上述命令创建作业(job)并提交作业进⾏分析。上述最后⼀⾏后⾯的代码都是⽆关紧要的。你可以删除。最终的脚本EXAMPLE_

⽂件可以在附件中找到。

运⾏此脚本之前,请从你的⼯作中⽬录中删除除“EXAMPLE”之外的⽂件。如果你的Abaqus GUI⽤户界⾯仍然是打开的,请启动⼀个

不要保存任何东西的新模型。现在要运⾏脚本⽂件,请转到顶部菜单,单击File(⽂件),然后单击运⾏脚本(Run script),然后选择脚本⽂

件。如果⼀切都做得正确,你的模型运⾏应该没有任何问题。此时在你的⼯作⽬录中中⽣成⽂件。如果你不想删除你⼯作⽬

为不同⽤途调整脚本⽂件的⽰例

我将给出⼀个调整脚本的例⼦。我将调整:

不使⽤固定的数值来创建零件,我将通过更改脚本⽂件开头的两个常量来定义形状。

我将合并mdb和odb脚本⽂件。