首页/文章/ 详情

Abaqus-Python入门的几点建议

1年前浏览2912

     近期,收到了一些与python脚本相关的问题。脚本是自动执行重复工作的好方法在这里,我想提供一些有助于您学习abaqus python脚本的技巧。

1.使用.rpy文件

    Abaqus会自动将Abaqus/CAE中完成的操作作为python命令存储在.rpy文件中。此文件是学习Python脚本的良好起点。

 

2.使用命令行界面

要快速测试Abaqus命令,可以使用命令行界面。它位于CAE界面,与消息区域位于同一位置。单击带有>>>的图标


您可以直接输入代码,然后按Enter。它还允许使用TAB键自动补充完成命令:如果您开始键入命令,然后按TAB键,将提供命令的选项,再次按TAB键将给出另一个选项,循环选择所有选项,直至最开始输入的命令

3.学习Abaqus脚本接口的结构

Abaqus脚本接口(ASI)是使我们能够与Abaqus模型和数据进行交互的python代码。它在结构中包括许多数据类型,并带有修改数据的方法。为了处理Abaqus,我们需要使用此结构。例如,如果要使用某个输出,则需要知道在哪里找到它。有几种方法可以帮助我们解决这个问题。

  • .rpy文件:对.rpy文件中某些内容的引用显示了访问它的路径。例如,.rpy文件中的
    a = mdb.models ['Model-1'].rootAssembly
    行显示了访问装配体的路径。

  • 手册:在《Abaqus脚本参考指南》中,给出了ASI的概述。这包括有关访问的信息,方法和成员的列表。
    方法是对象上可用的功能。对于rootAssembly,这是一个很长的列表,包括deleteFeatures,getDistance,makeDependent,重新生成,翻译,锁定等。
    成员是对象的属性,对于rootAssembly,这包括isOutOfDate,实例,曲面等。

  • 使用命令行界面:命令行界面中的自动完成功能可以帮助确定对象的访问路径。对于Abaqus对象,可以分别使用__members____methods__查找该对象的成员和方法。输入mdb.models [name] .rootAssembly .__ members__将给出成员列表,就像在手册中找到的那样。

 

4.使用job.waitForCompletion()

    从脚本提交作业时,脚本将在作业运行时继续。如果作业是循环的一部分,则通常在第一个作业仍在运行时提交第二个作业,这会占用其他令牌和系统资源。这通常是不希望发生。.rpy文件不会告诉您如何解决此问题。

幸运的是,有专门用于解决此问题的方法:waitForCompletion。用法示例:

job.submit()

job.waitForCompletion()

 

5.阅读错误讯息

    

    如果脚本发出错误消息,请仔细阅读。它通常提供有关发生错误的行号以及错误类型的信息。例如上图,问题出现在第10行中,并且是KeyError。显然,未定义XYPlot-1。然后,我们可以检查该脚本语句,可能是拼写错误(标识符区分大小写);它可以在函数内部定义,而不能在函数外部使用;该脚本可以基于宏,而该宏已在此预先定义;否则我们可能会忘记一些东西。

 

6.使用打印语句和注释

    要确定发生了什么,打印语句可能很有用。通过打印对象的值可以更清楚地了解正在发生的事情。一个简单的打印语句可以定义为:

print“string with what is being printed”, identifier

注释也很有价值。除了可以帮助理解机器代码外,它们还可以用于有效删除脚本的一部分,而无需完全删除。

来源:ABAQUS仿真世界
Abaquspython曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-17
最近编辑:1年前
yunduan082
硕士 | 仿真主任工程... Abaqus仿真世界
获赞 152粉丝 212文章 304课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈