zoukankan      html  css  js  c++  java
  • Abaqus脚本接口及简单应用

    1.脚本接口简介

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

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

    执行脚本的命令接口,可以通过GUI、命令行接口或者脚本执行命令,其脚本与内核的关系如下图所示。

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

    2. 宏录制

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

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

    # -*- 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()加点坐标的形式来进行索引。
  • 相关阅读:
    深入理解Java并发之synchronized实现原理
    Untracked Files Prevent Checkout move or commit them before checkout
    java代码在开始事务后,先做了一个查询,再insert,此时会报: java.sql.SQLException: could not retrieve transation read-only status server
    Java 实例
    java队列——queue详细分析
    Jquery 获取table当前行内容
    Java list 分页(多种方式)
    获取当天的开始时间、结束时间等等的一个工具类
    java list按照元素对象的指定多个字段属性进行排序
    [译] OpenStack Kilo 版本中 Neutron 的新变化
  • 原文地址:https://www.cnblogs.com/gaozihan/p/11940594.html
Copyright © 2011-2022 走看看