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' )

你可能感兴趣的:(python)