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

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

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

c++调用ANSYS执行APDL命令,进行批处理(ANSYS二次开发)_第1张图片

图1

 

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

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

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

 

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

c++调用ANSYS执行APDL命令,进行批处理(ANSYS二次开发)_第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二次开发本人还进行了workbench的二次开发工作,和大家交流下:

https://blog.csdn.net/weixin_42182348/article/details/85092144简单阐述了workbench二次开发的技术路径,希望对大家有所帮助。

//---------------------------------------------承接CAD/CAE软件二次开发---------------------------------------------------------------------------

        我们有着强大的二次开发团队,常年从事CAD/CAE软件二次开发工作。已经开发过UG/CATIA等CAD软件,今年来又攻坚克难攻克了CAE软件workbench的二次开发工作。

       希望广大有兴趣的朋友交流咨询二次开发技术,欢迎有需求的客户咨询二次开发业务。    

      邮箱:[email protected]                                    

      业务qq好:1549791530

    一个致力于让软件更人性化的倔强团队!!!

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

你可能感兴趣的:(ANSYS二次开发)