《python语言在abaqus中的应用》中的函数记录

        前一段时间学习了姜丙云博士的《abaqus python 二次开发攻略》一书,算是给自己打了点基础,但是由于我是初学,书中的许多内容和函数当时不理解,后续学完了以后忘了的忘了搁置的搁置,很难有动力回头一个个再找一遍。

        为了避免这种情况再次出现,我会将曹金凤老师的《python语言在abaqus中的应用》这本书中新见到的函数,难懂的概念记录在这篇帖子下面。如果大家看了觉得有用麻烦点个赞。

1.startwith函数:用于用于检测字符串是否以指定的子字符串开始。

str.startswith('search value', start, end)

例:

str = "Hello world"
n = str.startsWith("o", 4)
print (n = str.startsWith("o", 4))
#输出Ture

2.全局变量与局部变量:

参考:Python全局变量和局部变量(超详细,纯干货,保姆级教学)_python 全局变量_Kristen_jiang的博客-CSDN博客

3.generator函数

        Generator 函数的定义格式与普通函数的定义格式完全相同,唯一区别是,Generator 函数使用保留字 yield 来返回生成的数据项, 而普通函数使用保留字 return 返回函数的计算结果。

        yield 保留字不会中止程序的执行,返回数据后程序继续向后执行;而 return 保留字返回值后,程序将终止执行。

        值得注意的是,yeild执行的generator运算为一种惰性运算。换句话说,函数里有了yield后,执行到yield就会停住,当需要再往下算时才会再往下算。所以生成器函数即使是有无限循环也没关系,它需要算到多少就会算多少,不需要就不往下算。所以一般结合next()函数一起使用。

        在曹金凤老师的书中使用的方法是print gen.next(),这是python2的使用方法。在python3中我们一般用作print(next(gen))。

4.apply()函数

        python3中已经移除,用于给函数传递多个参数使用。apply()函数用于调用函数或方法,并且允许你传递一个函数的参数作为一个元组(tuple)或字典(dictionary)

5.execfile('filename')函数

        该函数在命令行中输入可打开指定脚本,效果等同于文件-运行脚本

6.getInput()以及getInputs()函数

        该函数用于与使用者进行交互(个人认为不如RSG),使用者通过输入参数可将参数指定给getInput函数赋予的值,如下图:

        当你在ABAQUS脚本中插入这行代码:

input = getInput( please enter a number , 25 )

        则会在CAE界面中出现以下提示:

7.CAE命令行的tab键自动补全功能(仅在命令行可用)

        在 Abaqus 的命令提示符下, < Tab > 键具有自动输入文件和文件夹名字的功能。与此类似, 在 Abaqus/CAE的命令行接口 中也可以使用 < Tab > 键来自动输入对象名,提高脚本 命令的书写效率。

        例如,如果创建了 3 个部件 Part-1、 Part-2 和 Part-3, 在命令行接口中输 入命令 “mdb. models [ Model-1 ]. parts[”,此时,每按一次 < Tab > 键,将对模型中的所有部件进行循环, 并自动完成另一半方括号。如果希望从最 后一个部件向前循环, 则需要按 < Shift + Tab > 组合键。

8.使用getsubset()函数可以获取指定区域的场输出值

        直接看例子好理解:

displacement = lastFrame.fieldOutputs[U]
center = odb.rootAssembly.instances[ PART-1-1 ].nodeSets[ PUNCH ]
centerDisplacement = displacement.getSubset(region = center)
centerValues = centerDisplacement.values
for v in centerValues:
    print v.nodeLabel,v.ata

9.后处理背景改白色

session.graphicsOptions.setValues(backgroundStyle = SOLID,backgroundColor = #FFFFFF)

        ok,这本书重要的地方很多,比如pretty print函数等。我摘出来的只是我现在还没掌握或者没应用到的重点,特记录在此,如果有二次开发的需求建议大家查看原书进行学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不自律的狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值