Python语言上手容易,开源,大量的第三方库可供调用,因此近年来发展迅猛,常年盘踞各类机构推出的程序语言排行榜的前几位。ABAQUS/CAE的前处理基本是依赖于Python语言打造,因此采用Python进行二次开发很方便。
图1. IEEE Spectrum 第六届编程语言排行榜
ABAQUS软件包中包含了一个完整的Python解释器内核,另外也有NumPy库,不过这些都被达索公司进行了深度定制,在ABAQUS2020版本中加入了SciPy和Matplotlib这两个库,其他库并未包含。另外,目前其他低版本ABAQUS仍然大量存在的情况下,如何调用Python第三方库和新版本调用更多的库,就成为了一个需要解决的问题。
对于系统中直接安装的Python解释器,可以采用很多种方法安装第三方库,大家可以自行百度,不再复述。关注“ABAQUS二次开发”公众号的朋友,基本都是搞有限元数值计算的,我推荐大家安装Anaconda,好处就是不需要自己去进行复杂的第三方库安装。Anaconda是一个开源的Python发行版本,其包含了conda、Python、SciPy、NumPy、SciPy和Matplotlib等180多个科学包及其依赖项,安装包四五百兆。
图2. Anaconda标识
背景铺垫完毕,回到本文的主题,为ABAQUS内置的Python解释器导入第三方库,主要是指科学计算用的相关库,但是不建议采用正常的安装方法,如Pip。为什么呢?因为ABAQUS的Python被深度定制了,如果乱安装可能会导致软件崩溃,尤其是改变NumPy这个基本的库。
本文中阿信推荐一种另外的方法实现第三方库的导入和使用,具体的方法流程图如下:
图3. 第三方库调用流程
完成图3所给出的完整流程之后,基本就能使用Anaconda所提供的大部分的第三方库了,但是需要指出的是,由于ABAQUS/CAE并不能提供类似Spyder所具有的功能,因此第三方库中的功能并不能完整的使用,但是基本的功能是可以实现的。