首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用脚本实现MATLAB与ANSYS的交互

利用脚本实现MATLAB与ANSYS的交互
EN

Stack Overflow用户
提问于 2014-11-07 05:09:16
回答 3查看 4.5K关注 0票数 3

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

但是现在我需要使用ANSYS,而且这个软件没有MATLAB的API (这就是我所知道的)。所以,在我找到的文档中,有一个“链接”这些软件的可能性,但我需要做一个脚本por ANSYS (与APDL的东西)。

我的问题是:你知道在哪里我可以找到关于为ANSYS制作脚本的好信息吗?存在一个API ANSYS- MATLAB吗?你知道页面上显示了我正在尝试做的过程吗?

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

EN

回答 3

Stack Overflow用户

发布于 2014-11-07 05:55:41

我不知道有什么API,但是连接这些程序并不是很难。从Matlab与Ansys交互的典型方式:

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

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

(3)从Matlab中调用Ansys,示例代码来理解这个概念:

代码语言:javascript
复制
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)

请注意,以上步骤不是最有效的步骤,但通常有限元分析所需的时间要长得多。

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

thorough introductory level guide

intro book

official guide

Ansys帮助通常就足够了,它也有脚本示例。

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

票数 3
EN

Stack Overflow用户

发布于 2014-11-07 17:18:08

看看文件交换上的this submission,以及YouTube上的this video。祝你好运!

票数 2
EN

Stack Overflow用户

发布于 2016-09-24 21:42:20

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

我将推荐:

MATLAB Apps For ANSYS Products: Updated for ANSYS 17.0

  • reading上阅读ANSYS公共博文Supercharge your Simulation with ANSYS Matlab Toolbox

  • then上的Ozen工程博文从support.ansys.com安装帮助器解决方案("ANSYS as a
  • :MATLAB Setup (MatlabR2014b-2016a)")
  • refer to aaS章节in the ANSYS documentation as needed

在Matlab编码方面,如果你已经安装了解决方案,它是非常简单的。如果您可以访问support.ansys.com,则安装该解决方案只需不到10分钟。

  1. 首先,你需要在远程机器上启动ANSYS并打开aaS (最常见的是在命令行中添加-aas ),并收集aaS生成的密钥文件并将其带到Matlab机上。缺省情况下,文件名为aaS_MapdlId.txt.

  1. 然后您需要配置Matlab (两行Matlab代码)

orb=initialize_orb();

load_ansys_aas();

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

orb(‘aaS_MapdlId.txt’);,iCoMapdlUnit=actmapdlserver

  1. 从Matlab机驱动ANSYS,例如:

mapdlResult=char(iCoMapdlUnit.executeCommandToString(anyAPDLCommand))

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

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

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

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

排序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26789431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档