Abaqus脚本接口及简单应用

目录

  • 1.脚本接口简介
  • 2. 宏录制
  • 3. 宏回放
  • 4. 宏编辑
  • 5. 宏控制

1.脚本接口简介

Abaqus中的脚本接口(ASI)是在Python应用程序的基础上开发的,基于Abaqus中的脚本接口,用户可以实现下列功能。

  • 自定义Abaqus环境文件
  • 创建宏来自动进行前、后处理
  • 读取或写出输出数据库文件(ODB)文件
  • 进行参数分析
  • 创建Abaqus插件程序

执行脚本的命令接口,可以通过GUI、命令行接口或者脚本执行命令,其脚本与内核的关系如下图所示。
Abaqus脚本接口及简单应用_第1张图片

  1. 提供两种GUI程序设计,分别为RSG对话框构造器和Abaqus GUI工具包。
  2. 命令行接口,直接在命令行输入python的命令
  3. 脚本执行,将脚本编程成函数,并在【File|Run Script...】来执行

2. 宏录制

Abaqus操作过程中的命令都会被记录下来,在工作目录下会生成*.rpy文件,在该文件中记录的内容较多,可使用宏录制的方法来记录了特定步骤的命令。

执行命令【File|Macro Manager...】,在弹出的窗口中点击【Create...】按钮,同时定义宏的名字和路径,一般选择工作目录,即“Work”,然后点击【Continue...】按钮,开始录制。录制结束时,点击【Stop Recording】即可。打开工作目录下的abaqusMacros.py文件,会看到记录的程序。
Abaqus脚本接口及简单应用_第2张图片

# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import xml.dom.minidom
import time

import __main__

def Macro2():
    import section
    import regionToolset
    import displayGroupMdbToolset as dgm
    import part
    import material
    import assembly
    import step
    import interaction
    import load
    import mesh
    import optimization
    import job
    import sketch
    import visualization
    import xyPlot
    import displayGroupOdbToolset as dgo
    import connectorBehavior
    p = mdb.models['Model-1'].parts['Polyhedral1']
    f1 = p.faces
    p.AddCells(faceList = f1[0:20])

3. 宏回放

执行命令【File|Macro Manager...】,在弹出的窗口中选择要回放的宏程序,然后点击【Run】按钮,即可完成程序的回放。
同时可将宏文件编辑成python脚本程序的形式,以脚本形式来运行。

4. 宏编辑

宏文件录制完成后,可对其中的特定的参数进行修改和提取,从而完成自定义参数的宏文件,然后进行回放。

5. 宏控制

很多Abaqus用户在查阅或者修改Abaqus.rpy文件以及.jnl文件时,经常会看到系统采用getsequenceformmask函数来取选择单个或者多个对象,该函数采用特殊的掩码编码来表示所选取的对象,而在实际编程过程中,用户无法确定自己所需要的掩码,因此就要采用其他的方法来选择要获取的对象,可通过函数session.journalOptions.setValues(...)来控制宏输出的格式。

  1. 掩码方式session.journalOptions.setValues(replayGeometry=COMPRESSEDINDEX,recoverGeometry=COMPRESSEDINDEX)
  2. 索引方式session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX),通过几何体自身索引号来进行获取
  3. 坐标方式session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE),通过findAt()加点坐标的形式来进行索引。

你可能感兴趣的:(Abaqus脚本接口及简单应用)