Call ANSYS from python

 首先需要明确,调用的是ANSYS其实存在两种运行方式,一种是平常我们所用的人机交互界面,另一种是命令台界面。以multiphysics为例,它有ANSYS mechanicals 的经典界面即图形化的人机交互界面,也有MAPDL界面,即命令台方式界面,只能输入命令。
        如果你想在PYTHON中自动调用ANSYS 的multiphysics模块,然后自动运行你的APDL脚本,那么你需要启动的是MAPDL,而不是经典界面,这个程序的路径在哪儿呢?与经典界面在同一个路径下。如果你想调用其他如dyna,模态分析等模块,则你需要启动的是ansys170.exe,然后在后面附加上参数,指定模块。
        启动命令台模块的ANSYS时,后面需要附加一些参数,这些参数可以自在ANSYS的帮助文档下查看具体含义:
        
        了解了这个基本情况之后,你就可以在windows shell 下运行MAPDL模块了,那么如何在PYTHON下调用呢?
        这需要用到python的subprocess模块的call函数:
        但是我们的需求很简单,所以只需要用到几个重要的参数就可以了
        args:包含需要启动的应用程序,附加的参数,输出的文件等等,用list表示
        cwd:表示工作目录,相当于你在windows命令台下的工作目录
        shell:True,表示用系统的命令台启动,False表示不用,最好用默认False , 更加安全
        例如我调用从PYTHON下调用ANSYS multiphysics可以采用一下命令:
import subprocess

cmd = [ "E:\Program Files\ANSYS Inc \\ v170\ANSYS \\ bin\winx64\MAPDL.exe" , '-b' , '-i' , '2D_TOPO_OPTI.txt' , '-o' , '2D_TOPO_OPTI.out' ]

subprocess.call(cmd, cwd = 'H:\MaterThesis\ANSYS_SD\APDL_script\ANSYS_APDL' )
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值