ABAQUS扩展python第三方库

 ABAQUS对我来说最具有吸引力的地方在于其开放的性格, 灵活多变的能力. 而在其二次开发中, 不可避免的就要使用到python第三方库, 不过ABAQUS自身的python已经被其开发者魔改的不成样子, 并且直接在其内部进行增减, 容易污染ABAQUS环境, 容易造成各个库文件之间的依赖混乱. 所以采用外部扩展的方法的优势就比较明显了.



01

python2.7的安装


    ABAQUS使用的python主要是2.7版本, 据说ABAQUS2020已经支持python3, 但是我并没有获得相关的知识.

    python2.7安装文件的获取可以在python官网上下载, 不过下载速度比较慢. 

    也可以公众号内回复python2.7获取百度网盘下载链接.

    在安装时记得要将python2.7添加至环境变量, 如果忘记添加, 也可以在安装完成后手动添加环境变量.

    该安装文件已经集成了pip, 在已添加环境变量的前提下, 通过cmd(cmder)输入pip2.7即可进行包管理.

    推荐使用清华镜像:-i https://pypi.tuna.tsinghua.edu.cn/simple.


    例: 如我要使用plotly, 则在cmd中输入:

pip2.7 install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple


02


ABAQUS外部包路径添加


    复制安装的python2.7的包文件的全路径, 然后再使用外部包文件之前加入:

import sys
sys.path.append(r"I:\Programs\Python\Python27\Lib\site-packages")

如下, 即可成功使用外部包文件:

ABAQUS扩展python第三方库的图1


    plotly的外部导入, 在后处理二次开发中是比较重要的, 因为使用ABAQUS自带的matplotlib作图的时候, 会使ABAQUS崩溃, 目前没有什么好的解决办法.





期待更多技术干货, 请关注AbaqusCoder!

ABAQUS扩展python第三方库的图2

如果本文对您有帮助, 期待您的转发与点亮再看!

ABAQUS二次开发ABAQUSPYTHON

ABAQUS扩展python第三方库的评论16条

ABAQUS扩展python第三方库的相关案例教程

打开abaqus command D:\abaqus\temp>abaqus python -m pip list # 查看安装包列表 D:\abaqus\software\SIMULIA\EstProducts\2022\win_b64\code\bin\SMAPython.exe: No module named pip D:\abaqus\temp>abaqus python -m ensu
在Abaqus自带Python环境装第三方库的问题 在abaqus 用python做前后处理的二次开发,很多时候需要用到第三方库。而由于种种原因,安装这些库对很多人来说是一件非常头痛的事。渐进式二次开发的技术能完美解决。 2 不兼容Python3的问题 截至abaqus 2019版本,abaqus内置的python环境都是python2版本的。但是python3是趋势,相当多的开源算法、功能都基于
基于的二次开发对于很多新手来说都是一个神秘的,感觉是高难度的问题,致使很多新手对二次开发的研究都处于初级了解阶段,或完全不感冒阶段。 其实二次开发很简单,某种意义上讲,常用的ABAQUS二次开发方式有两种 (1)直接修改inp文件,这种方式需要对inp文件中大量的节点和单元进行操作,一般不建议采用inp文件进行二次开发(除非有特殊的关键字或标识符,其实关键字也可以用python语言来进行二次开发,
ABAQUS 的后处理功能不能完全提供我们在分析过程中所需的数据,为更好的扩展后处理功能,查看和分析结果数据,本文提出了使用Python 语言对ABAQUS 进行二次开发来达到这一目的的方法。文中讨论了ABAQUS 的脚本接口和对象模型在二次开发中的作用和调用流程,以及文件的读写与复制、数据读取与处理、结果输出与查看等关键技术。以共轨管锥面密封性的分析为例,使用Python 语言提取了分析结果数据
例如:cell4 = mdb.models['block'].parts['crankcase'].cells[4],要把part模块中编号为4的体赋值给cell4,就需通过路径mdb→models→part→cells(4号体属性),其中'block'、'crankcase'、分别是model和part的名字。 在草图Sketch中画线: s = mdb.models[' block '].Co
本科/CAE工程师
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    16 8