今天来介绍matlab调用ansys计算的详细程序和相关命令流,我找这方面的资料并实现它用了一个星期,我希望下次有人被这个问题所困扰时,可以搜到这篇推送,用半天就能搞定matlab调用ansys。本文所用matlab2018b,ansys17.0,其实调用是否能成功,与软件版本没有太大关系,仅为说明。

主要流程为

1、在matlab中输入载荷大小

2、调用ansys计算模型

3、提取ansys的计算位移结果并在matlab中进行展示

也就是说相当于把ansys当做一个子函数一样使用。在做的过程中也遇到了很多问题,目前百度上查到的命令及方法,我借鉴过来只能进行前处理建模以及提取模型的节点坐标数据,但是加上求解命令就出错。功夫不负苦心人,最后终于通过其他渠道发现只要在原有的程序前面加上一句代码,就可以使用solve,进而可以实现提取ansys的位移应力应变等计算结果。计算模型很简单,是一个平板矩形悬臂梁,一端固支一端受集中力。

ansys计算结果

 matlab提取ansys计算结果的节点坐标与位移

关于程序实现主要注意两点即可:

1.调用ansys的关键代码为:

很多博客或者其他网站上提供的程序是这样的,经过我的试验,此程序不能满足求解需要

!"D:\ProgramFiles\ANSYSInc\v170\ansys\bin\winx64\ANSYS170.exe"-b -i pingban.txt -o output.txt

2.Ansys的安装目录中默认是ANSYS Inc中间有空格,如果程序运行有问题,卸载掉,再次安装时,在这一步将空格去掉即可。这样安装目录中就不会出现空格。

下面是全部程序和命令流。

Matlab程序

分为main.m文件和runansys.m子函数(乱码的均是汉语注释不影响运行,结尾会有完整文件分享)

main.m

clear all

clc

close all

F = -1000;

%% ´ò¿ªdataÎļþ½«¸üеÄÉè¼Æ±äÁ¿Ð´Èë

fid=fopen('para_in.txt','wt');%´ò¿ªÎļþ½«Êý¾ÝдÈë

fprintf(fid,'%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f\n',F);

fclose(fid);

%---runansys-----------------------------------------------------------------------

tic

runansys()

toc

%--------------------------------------------------------------------------

% the file name of the coordinate out parameter

output_file_coordi='para_out3.txt';

% the file name of the displacement out parameter

output_file_displa='para_out4.txt';

% read the coor result

coor_all =load(output_file_coordi);

coor =coor_all(:,2:4);

%   read thedisplacement result

displa_all =load(output_file_displa);

displa =displa_all(:,2:4);

%--plot------------------------------

figure(1)

plot3(coor(:,1),coor(:,2),coor(:,3),'b*')

hold on

plot3(coor(:,1)+displa(:,1),coor(:,2)+displa(:,2),coor(:,3)+displa(:,3),'ro')

hold off

axis tight;

axis on;

grid on;

runansys.m

function runansys()

%pingban.txtΪapdlÃüÁîÁ÷Îļþ£¬ÀïÃæ°üº¬¶ÁÈëºÍд³öµÄÎļþ²Ù×÷¡£

%output.txt Ϊansys apdlÔËÐÐʱµÄÊä³ö´°¿Ú¼Ç¼

% apdl.txtÖÐÓйØÓÚ¶ÁÈëtxtÎļþµÄÃüÁîÁ÷

!SET KMP_STACKSIZE=15000k &"D:\ProgramFiles\ANSYSInc\v170\ansys\bin\winx64\ANSYS170.exe" -b -ipingban.txt -o output.txt

end

ansys命令流文件

 pingban.txt

/COM,

/COM,Preferences for GUI filtering have been set to display:

/COM,  Structural

!*

!---read the input parameters in para_in.txt----------

*DIM,para,ARRAY,6,1

*CREATE,ansuitmp

*VREAD,para,para_in,txt,

(10F9.0)

*END

/INPUT,ansuitmp

!-----------------------------------------------------

/PREP7                       !进入前处理

!=====设置单元和材料

ET,1,PLANE42                !定义单元类型

KEYOPT,1,3,3                !带厚度的平面应力问题

MP,EX,1,1.0e7                !定义材料弹性模量

MP,PRXY,1,0.33333333         !定义材料泊松比

R,1,0.1                  !定义实常数(平板厚度0.1)

RECTNG,0,1,0,0.3,

ESIZE,0.02,0,

MSHAPE,0,2D

MSHKEY,1

!*

CM,_Y,AREA

ASEL, , , ,       1

CM,_Y1,AREA

CHKMSH,'AREA'

CMSEL,S,_Y

!*

AMESH,_Y1

!*

CMDELE,_Y

CMDELE,_Y1

CMDELE,_Y2

!*

FINISH

/SOL

FLST,2,1,4,ORDE,1

FITEM,2,4

!*

/GO

DL,P51X, ,ALL,

FLST,2,1,1,ORDE,1

FITEM,2,2

!*

/GO

TORQ = para(1)

F,P51X,FY,TORQ

/STATUS,SOLU

SOLVE

!!!输出节点坐标

*get,nodenum,node,,num,max ! 获得节点的数目

*dim,nodepos,array,nodenum,3 ! nodepos存放节点的坐标

*do,i,1,nodenum,1

*get,nodepos(i,1),node,i,loc,x !获得节点的X坐标

*get,nodepos(i,2),node,i,loc,y

*get,nodepos(i,3),node,i,loc,z

*enddo

!!!输出节点位移

*get,nodenum,node,,num,max ! 获得节点的数目

*dim,node_displa,array,nodenum,3 ! node_displa存放节点的坐标

*do,i,1,nodenum,1

*get,node_displa(i,1),node,i,U,x !获得节点的X坐标

*get,node_displa(i,2),node,i,U,y

*get,node_displa(i,3),node,i,U,z

*enddo

!-------output the result to para_out3.txt---------------

*CFOPEN,para_out3,txt

*creat,ee

*VWRITE,sequ,nodepos(1,1),nodepos(1,2),nodepos(1,3)

(F8.0,3e16.8)

*end

/input,ee

*CFCLOS

!-------------------------------------------------------

!-------output the result to para_out4.txt---------------

*CFOPEN,para_out4,txt

*creat,ee

*VWRITE,sequ,node_displa(1,1),node_displa(1,2),node_displa(1,3)

(F8.0,3e16.8)

*end

/input,ee

*CFCLOS

!-------------------------------------------------------

为避免出现空格影响等问题,完整的程序和命令流仍然以文件的方式分享:

链接:https://pan.baidu.com/s/1elJtvuNkF5KF0PwzWQVZZA

提取码:8ogp

matlab node._matlab调用ansys相关推荐

  1. python和matlab交互_MATLAB调用python,交互

    MATLAB调用python 1. 先配置 路径 2. 在调用 numpy cv2时,经常会出现问题 Solutions: open matlab in Anaconda Prompt, as sho ...

  2. matlab doc 离线下载,matlab调用ansys

    文件介绍: 该文件为 doc 格式,下载需要0积分 matlab调用ansys 很多人都关心在matlab里如何调用ansys计算,我也曾经困惑过一段时间,到各个论坛去找资料,问大家,但是没有一个非常 ...

  3. ansys matlab 调用,在matlab中调用ansys的方法 [转,原创:Elvin]

    很多人都关心在matlab里如何调用ansys计算,我也曾经困惑过一段时间,到各个论坛去找资料,问大家,但是没有一个非常明确的答案.有很多在c语言和forthan中调用ansys的资料,但是对matl ...

  4. ansys matlab 调用,matlab 调用ansys (转载)

    问题的提出:我们经常会需要用ansys计算一些东西,之后再用matlab来处理计算的结果.当修改某些参数重复上述过程的时候,就比较容易出现问题--比如ansys模型中的参数和matlab程序中参数的一 ...

  5. Matlab调用ANSYS的三种方法

    采用matlab作为主控程序,设置好所有的参数与选项传递给ansys(通过文件)并调用ansys计算.ansys计算结束后(默认情况下,matlab会自己等着,这一点很方便,呵呵)再用matlab处理 ...

  6. Node.js调用C#代码

    https://github.com/tjanczuk/edge 运行的时候会报 System.DllnotfoundException 无法加载node.dll,要把\packages\Edge.j ...

  7. 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)

    matlab没有直接调用tensorflow模型的接口,但是有调用keras模型的接口,而keras又是tensorflow的高级封装版本,所以就研究一下这个--可以将model-based方法和le ...

  8. c怎么调用matlab dll,matlab和c++调用DLL方法(最新整理)

    <matlab和c++调用DLL方法(最新整理)>由会员分享,可在线阅读,更多相关<matlab和c++调用DLL方法(最新整理)(6页珍藏版)>请在人人文库网上搜索. 1.M ...

  9. 2021-01-28 粒子群优化算法-Python版本和Matlab函数 particleswarm 调用

    粒子群优化算法-Python版本和Matlab函数 particleswarm 调用 前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab ...

  10. node.js调用ejs模板,在浏览器上打印出ejs模板内代码的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 今天遇到一个非常奇葩的问题,node.js调用ejs模板的时候,在浏览器端居然把此模板内的所有代码都打印出来了,当时我和我的小 ...

最新文章

  1. ssh遇到port 22:No route to host问题的解决方法
  2. 注册表修改之USB口启用
  3. untitled软件怎么用_苹果手机怎么用4G网络于App Store下载超过200MB以上的软件
  4. 【ES11(2020)】全局属性 globalThis
  5. 10.搭建vs2010+Qt4.8.5+QtCreator3.4.0开发环境
  6. RFIC4463_F2C
  7. 利用波士顿房价数据集实现房价预测
  8. VS 反编译工具 ildasm
  9. 报童问题求解最大利润_矩问题和分布式鲁棒优化:由阿里数学竞赛题说开...
  10. 项目管理PMP:项目绩效考核管理制度(全岗位流程图66页)
  11. 天龙八部TLBB系列 - 网单服务端各目录文件说明【超详细】
  12. python识别二维码条形码?用pyzbar一招搞掂(含代码)!
  13. 全志T3开发板——嵌入式入门学习测试教程(4)
  14. 工作中常见的开会问题
  15. kubernetes组件_Service_普通Service和无头Service
  16. Tensorflow Privacy
  17. MSRA的2022秋招各大厂SSP+ offer
  18. 大一计算机word作业朱自清,Word文档打字练习.docx
  19. 如何配置nginx,实现在手机上查看页面?
  20. 把Fusioncharts封装成Ext组件的思路

热门文章

  1. python歌词统计单词词频_python词频统计
  2. NC Viewer 2.41 1CD(NC程式检验程序)
  3. MIF/MID格式简介
  4. ETL工具——Taskctl Web应用篇
  5. 屏幕共享软件都有什么功能呢?
  6. 王道训练营3月18日
  7. AD14 元件引脚名称消失不见了 解决
  8. http接口开发请求参数签名实用工具类
  9. Linux命令大全(超详细版)
  10. 教你如何用R进行数据挖掘