c++调用ANSYS执行APDL命令,进行批处理(ANSYS二次开发)

ANSYS的批处理是区别于GUI界面执行有限元分析过程的方式,通过批处理执行分析过程不用显式模型的相关情况,只会在后台运行,因而避免了用于可视化显式的相关资源的应用,速度相对来说比在GUI界面完成要快。而且批处理更大的好处是可以通过第三方软件或者编写的程序自动执行批处理过程,在二次开发中用的比较多。

ANSYS采取批处理模式的方式如图1所示,通过Product Launcher启动ANSYS后,设置如下的界面。


图1

需要指定Simulation Enviroment为ANSYS Batch模式,此时,需要指定input file,也就是需要执行的命令流文件,因为批处理模式无法打开ANSYS界面,不能控制整个分析过程。

设置完成后即可执行批处理过程,最终在工作目录下会看到生成一系列的文件。

以上是通过ANSYS自身运行批处理的方式,另外可以采用其他语言,比如VB.net、Python和Fortran等来完成,不同语言完成的方式略有区别,但大致思路一致,都是通过启动批处理程序并且输入相应的input文件。

为完成这个过程,可以先通过图1的主菜单Tool-Display Command Line,如图2所示。可以得到批处理的执行代码。

图2

命令行具体的命令为:

"C:\Program Files\ANSYS Inc\v150\ANSYS\bin\winx64\ansys150.exe"  -p ane3fl -dir "C:\Users\Administrator" -j "file" -s read -l en-us -b -i "C:\Users\Administrator\file.dat" -o "C:\Users\Administrator\file.out"  

其中:-p 表示指定license,ane3fl表示采用的license为ANSYS Multiphysics.

当把license变动后,可以查看到命令行也跟着改变。

-b表示采用ANSYS Batch模式

-j 表示job名称

-s表示模式为read

-l表示语言环境

-i表示input文件

-o表示输出文件

这些内容不一定要全部指定,但是必须指定的是license 以及输入输出文件

 

如果将上面的命令存储在一个txt文件中,并且之后将此txt文件的后缀改为bat,成为一个批处理文件,之后双击即可运行该文件,执行ANSYS计算,在工作目录生成相关文件。

Notice:1、为了避免发生错误,在将命令文件写入代码时建议直接复制粘贴。

            2、笔者在c++中调用ANSYS时用的是winexec,接下来给出代码示例:

int main()
{
    string path="C:\\Program Files\\ANSYS Inc\\v150\\ANSYS\\bin\\winx64\\ansys150.exe  -p ane3fl -dir C:\\Users\\Administrator -j file1 -s read -l en-us -b -i C:\\Users\\Administrator\\AnsysApdlInput.txt -o C:\\Users\\Administrator\\file.out";
    WinExec(path.c_str(),WM_SHOWWINDOW);
    return 0;
}




阅读更多
个人分类: ANSYS二次开发
想对作者说点什么? 我来说一句

c++调用ansys

2015年01月14日 71KB 下载

没有更多推荐了,返回首页

不良信息举报

c++调用ANSYS执行APDL命令,进行批处理(ANSYS二次开发)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭