如何在Abaqus的python中调用Matlab程序


1. 确定版本信息

  • Abaqus2018
  • 操作系统Win10 64位
  • Python版本2.7(路径C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7

2. 备份python

  • 将上述的“python2.7”文件夹复制出来,避免因操作错误而导致的重新安装Abaqus
  • 然后打开python2.7文件夹,把里面的python.exe和pythonw.exe复制出来,分别命名为python27.exe和pythonw27.exe;该操作便于后续确定环境配置是否正确。

3. 设置环境变量

确保使用的是abaqus中的python版本,更改环境变量

  • C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7
  • C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7\Scripts
  • 按win+R 出现 运行 窗口,输入cmd,打开cmd窗口
  • 然后输入python27回车,将弹出如下界面,则设置没有问题。
    65fefa2db42168d2efcd7d7039328c1e.png

4. 安装程序

为了在python中可以调用matlab的程序,配置过程如下:

  1. matlab中python的路径C:\Program Files\MATLAB\R2016b\extern\engines\python
  2. 以管理员程序运行命令行工具,在cmd窗口下,进入到上述路径。
cd "C:\Program Files\MATLAB\R2016b\extern\engines\python"
  1. 然后输入python setup.py install

5. 调试运行

调试运行在Abaqus的python命令行工具中进行。

  1. 在Abaqus中配置工作路径
import sys
sys.path.append(r'H:\Abaqus\GUI\abaqus_plugins\Lib')
  1. 定义Matlab函数
function [ out ] = countNumbers( a,b )
    out = a+b;
end

  1. 在Python中调用该函数
import sys
sys.path.append(r'H:\Abaqus\GUI\abaqus_plugins\Lib')
import matlab.engine
eng = matlab.engine.start_matlab()
sum = eng.countNumbers(matlab.double([5]),matlab.double([4]))
print(sum)

注意:matlab对数类型要求较为严格,在输入参数时,应当采用上述方式:matlab.double([5]),期中括号内的变量为列表

参考资料

【1】abaqus安装python第三方程序包/模块示意
【2】Install Matlab Engine API for Python
【3】在python中调用matlab函数
【4】从 Python 中调用用户脚本和函数
【5】Python调用Matlab


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM