交互MATLAB - ANSYS使用脚本

时间:2014-11-06 21:09:16

标签: matlab api

对于那些使用过SAP2000和MATLAB的人来说,必须知道将这些软件与de API(MATLAB-SAP2000)联系起来“很容易”。

但是在这一刻我需要使用ANSYS,而且这个软件没有MATLAB的API(这就是我所知道的)。因此,在我发现的文档中,有一个“链接”这些软件的可能性,但我需要制作一个ANSYS脚本(使用APDL的东西)。

我的问题是:您是否知道我可以找到有关为ANSYS制作脚本的好信息的地方?,存在API ANSYS - MATLAB?您是否知道显示我正在尝试执行的程序的页面?。

谢谢,欢迎任何形式的信息!

3 个答案:

答案 0 :(得分:3)

我不知道任何API,但连接程序并不困难。从Matlab与Ansys交互的典型方法:

(1)创建您的ANSYS脚本文件(APDL),这基本上应该构建您的模型,运行分析,后处理结果并生成输出。

(2)为APDL脚本生成输入。它可以由Matlab生成,例如写txt文件或直接修改APDL脚本。

(3)从Matlab调用Ansys,示例代码来获取想法:

dos( ' "d:\Program Files\ANSYS Inc\v150\ansys\bin\winx64\ANSYS150" -b -dir "d:\ANSYS working folder" -i "d:\ANSYS working folder\project.inp" -o "d:\Working Folder\ANSYS working folder\project.out" ');

其中project.inp是在步骤(1)中创建的APDL脚本。

(4)使用Matlab对Ansys生成的结果进行后处理。

(5)重复(2) - (4)

请注意,上述步骤并不是最有效的,但通常FEM分析需要更长的时间。

APDL语言类似于Fortran(或者它是Fortran?),如果你想进行一些严肃的和/或参数化的分析,它是一个不可或缺的工具。 编写APDL脚本的基础知识:

thorough introductory level guide
intro book
official guide

Ansys的帮助已经足够了,它也有脚本示例。

我的经验是,通常最耗时的部分是编写APDL脚本。如果你不熟悉这种语言,可能会很痛苦。

答案 1 :(得分:2)

在文件交换中查看this submission,在YouTube上查看this video。祝你好运!!

答案 2 :(得分:1)

可从ANSYS客户门户网站免费下载帮助Matlab工具箱,该工具箱可处理Matlab中的ORB配置并简化对远程ANSYS aaS会话的访问。它适用于比2014b更新的Matlab版本。

我会建议:

就Matlab编码而言,如果您安装了解决方案,那么它非常简单。如果您可以访问support.ansys.com,则安装解决方案的时间不到10分钟。

  1. 首先,您需要在启用了aaS的远程计算机上启动ANSYS(最常见的是在命令行中添加-aas)并收集aaS生成的密钥文件并将其带到Matlab计算机。默认情况下,文件名是aaS_MapdlId.txt。

  2. 然后你需要配置Matlab ORB(两行Matlab代码)

  3. ORB = initialize_orb();

    load_ansys_aas();

    1. 使用aaS密钥文件连接到ANSYS

      iCoMapdlUnit = actmapdlserver(ORB,“aaS_MapdlId.txt”);

    2. 从Matlab机器驱动ANSYS,例如:

      mapdlResult = CHAR(iCoMapdlUnit.executeCommandToString(anyAPDLCommand))

    3. 请记住,所有APDL命令都在远程ANSYS机器的当前工作目录中执行。如果某些文件存储在Matlab机器中,但需要在ANSYS机器上使用,则有一些aaS命令允许您在aaS客户端机器和ANSYS机器之间交换文件。

      这是更通用的API的一部分,它允许从任何“CORBA友好”编程语言/环境(例如Matlab,C ++,Java,Python ......)远程调用ANSYS(APDL)命令。在ANSYS文档中称为aaS(作为服务器)。

      如果您的工具箱不支持Matlab版本,则需要自己配置Matlab ORB。这并不困难,但有些人认为这很棘手。如果是这种情况,请发一个新问题,我将在答案中提供指导。

      注意:我是ANSYS博客文章的作者。

      索林