Python语言在Abaqus中的应用---2.3.1.1Abaqus对象模型之概述

在Python语言基础上,Abaqus脚本接口增加了许多新的对象模型
这些对象之间的层次(hierarchy)和关系(relationship)称为Abaqus对象模型(Abaqus object model)
本文将详细介绍Abaqus对象模型的相关知识,包括:概述、导入模块、抽象基本模型、查询对象模型、[Tab]键自动完成功能等内容

一、概述
Abaqus对象模型描述了各个对象之间的关系
1)定义对象的方法(methods)和数据成员(data members)
2)定义对象之间的相互关系:这些关系构成了对象模型的结构或层次

对象之间的关系包括:
1)所有权(ownership):所有权定义了访问对象的路径(path),例如Part对象有体、面、边、点等几何对象构成;Model对象拥有Part对象。所有权关系表明:如果复制或删除了某个对象,则复制或删除该对象拥有的一切
2)关联(association):关联描述对象之间的关系,主要包括:某个对象是否引用(refer to)了另一个对象;某个对象是否是另一个对象的实例等。如:Material是Section对象的成员之一,或者Section对象引用了Material对象。在Python语言基础上,Abaqus脚本接口扩展了500多个对象,对象之间存在关联。
Abaqus对象模型包含三个根(root)对象,分别为
1)session对象
2)Mdb对象
3)Odb对象

Abaqus脚本接口大多数以这三个根对象为开始,如:

session.viewports['Viewport-1'].bringToFront()
mdb.models['wheel'].rootAssembly.regenerate()
stress = odb.steps['Step-1'].frames[3].fieldOutputs['S']

Abaqus对象模型中的对象可分为两种情况:
1)容器(container):容器由相同类型的对象组成,如mdb模型中的jobs就是包含多个分析作业的容器,容器可以是一个库(repository),也可以是一个序列(sequence)。
2)单个对象(singular object):如果对象不属于容器,则一定是单个对象。例如:Session对象和Mdb对象都是单独对象。

一、Session对象
使用下列语句都可以导入Session对象

from abaqus import *
from abaqus import session

Session对象定义视口(viewports)对象远程队列(queues)对象视图(views)对象

二、Mdb对象
Mdb对象是指保存于模型数据库(mdb)中的对象,由Model对象Job对象组成,使用下列语句导入:

from abaqus import *
from abaqus import mdb

Model对象由Part对象、Section对象、Material对象、Step对象等组成,Model对象将Job对象单独分离出来,Job对象的对象模型比较简单直接,不属于任何对象。Job对象引用了Model对象,但Model对象不拥有Job对象。

三、Odb对象
使用下列语句可以导入Odb对象

from abaqus import *
from abaqus import openOdb, Odb

Odb对象保存在输出数据库中(odb),由模型数据(model data)和结果数据(result data)组成。

编写脚本时,使用命令逐步访问对象。例如使用下列命令通过Cell对象的路径访问cells库中4号(第5个)元素:

cell4 = mdb.models['block'].parts['crankcase'].cells[4]

本行代码将模型数据库block中部件名为crankcase的第五个元素存储在变量cell4中,反映了Part对象拥有Cell对象,Model对象拥有Part对象,Mdb对象拥有Model对象。查看命令中个对象的所有权关系时,建议从右向左看。

猜你喜欢

转载自blog.csdn.net/qq_35412059/article/details/106247096