返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 特色讨论区:工程数学软件-不仅仅是MATLAB! > ANSYS论坛


ANSYS论坛 ANSYS软件是融结构、流体、电磁场、声场和耦合场分析于一体的大型通用有限元分析软件

挖掘已有资源,发帖前请先搜索!
虚拟主机 域名注册 香港空间
回复
 
LinkBack 主题工具 显示模式
旧 2008-03-18, 03:40 PM   #1
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 26
帖子: 59
感谢他人: 0
有 14 帖获得 67 感谢
声望力: 8
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认 [分享][转帖]MATLAB中曲面转入ANSYS程序(附程序)

前段时间因课题需要,写了个MATLAB程序,把MATLAB中计算的曲面导入ANSYS,以作进一步处理。

稍作修改,使其更有通用性。因水平有限,程序还有很多不足之处,请大家验证讨论。

例:

代码:
t=0:pi/10:2*pi; 
[x,y,z]=cylinder(2+cos(t)); 

mat2ans('cylinder.lgw',x,y,z);
运行ANSYS,在命令窗口输入:/input,cylinder.lgw 得到ansys中的曲面,该过程中ansys提示有几个错误,有些样条线和关键点不能删除,那是需要保留的。
上传的图像
文件类型: jpg 1.jpg (31.1 KB, 45 次查看)
windows251 当前离线   回复时引用此帖
旧 2008-03-18, 03:41 PM   #2
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 26
帖子: 59
感谢他人: 0
有 14 帖获得 67 感谢
声望力: 8
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认

源程序:
代码:
function mat2ans(filename,x,y,z) 
% 把MATLAB计算的曲线曲面导入ANSYS 
% author:paradiseboy 
% 2004-7-13 
% Henan Polytechnic University 

% www.dytrol.com 

if(ischar(filename)==0) 
error('Invalid filename'); 
end 

if(ndims(z)~=2) 
error('Variable z must be a 2-dimensional array'); 
end 

if any((size(x)~=size(z))|(size(y)~=size(z))) % size of x or y does not size of z 
if((length(x)==1)&(length(y)==1)) % Must be specifying dx and dy, so make vectors 
dx=x; 
dy=y; 
x=((1:size(z,2))-1)*dx; 
y=((1:size(z,1))-1)*dy; 
end 

if((length(x)==size(z,2))&(length(y)==size(z,1))) % Must be specifying vectors 
xvec=x; 
yvec=y; 
[x,y]=meshgrid(xvec,yvec); 
else 
error('Unable to resolve x and y variables'); 
end 
end 

fid=fopen(filename,'w'); 

if(fid==-1) 
error(sprintf('Unable to write to %s',filename)); 
end 

[m,n]=size(z); 
x=reshape(x',m*n,1); 
y=reshape(y',m*n,1); 
z=reshape(z',m*n,1); 
fprintf(fid,'/prep7\r\n'); % 进入前处理 
% 创建关键点 
for i=1:m*n 
fprintf(fid,'k,%4.d,%.5f,%.5f,%.5f,\r\n',i,x(i),y(i),z(i)); 
end 
% 创建样条线 
for i=1:m 
fprintf(fid,'FLST,3,%3.d,3\r\n',n); 
for j=1:n 
fprintf(fid,'FITEM,3,%4.d,\r\n',j+(i-1)*n); 
end 
fprintf(fid,'BSPLIN, ,P51X\r\n'); 
end 
% 由蒙皮技术创建面 
fprintf(fid,'FLST,2,%2.d,4\r\n',m); 
for i=1:m 
fprintf(fid,'FITEM,2,%d\r\n',i); 
end 
fprintf(fid,'ASKIN,P51X\r\n'); 
fprintf(fid,'ldele,all\r\n'); 
fprintf(fid,'kdele,all\r\n'); 
fprintf(fid,'aplot\r\n'); 
fprintf(fid,'NUMCMP,ALL\r\n'); 
fprintf(fid,'FINISH\r\n'); 

fclose(fid);
windows251 当前离线   回复时引用此帖
旧 2008-03-18, 03:42 PM   #3
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 26
帖子: 59
感谢他人: 0
有 14 帖获得 67 感谢
声望力: 8
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认

>> z=x.*exp(-x.^2-y.^2);
>> [u,v,w]=surfnorm(x,y,z);
>> surf(x,y,z); axis equal
>> mat2ans('curve.lgw',x,y,z);
上传的图像
文件类型: jpg 2.jpg (22.2 KB, 45 次查看)
windows251 当前离线   回复时引用此帖
旧 2008-03-18, 03:43 PM   #4
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 26
帖子: 59
感谢他人: 0
有 14 帖获得 67 感谢
声望力: 8
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认

>> [x,y]=meshgrid(-3:.5:3,-3:.1:3);
>> z=peaks(x,y);
>> mat2ans('curve.lgw',x,y,z);

这个曲面特性太复杂,在ANSYS中不能由一张曲面构成。
所以导入ansys中会出错,还请高人多指点,谢谢。『以上内容转自振动论坛
上传的图像
文件类型: jpg 3.jpg (29.3 KB, 46 次查看)
windows251 当前离线   回复时引用此帖
旧 2008-03-18, 04:04 PM   #5
高级会员
 
注册日期: 2007-07-26
年龄: 27
帖子: 269
感谢他人: 0
有 9 帖获得 27 感谢
声望力: 11
dnping 是一个将要出名的人
默认

哈哈,多谢版主分享……
dnping 当前离线   回复时引用此帖
旧 2008-03-18, 04:11 PM   #6
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 26
帖子: 59
感谢他人: 0
有 14 帖获得 67 感谢
声望力: 8
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认

共同努力!:tongue: :lol:
windows251 当前离线   回复时引用此帖
旧 2008-11-16, 10:43 PM   #7
初级会员
 
注册日期: 2008-11-02
年龄: 25
帖子: 28
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 4
cyxsky 正向着好的方向发展
默认 回复: [分享][转帖]MATLAB中曲面转入ANSYS程序(附程序)

好牛啊,小弟一定努力学习
cyxsky 当前离线   回复时引用此帖
旧 2009-02-22, 06:04 PM   #8
初级会员
 
注册日期: 2008-08-15
年龄: 29
帖子: 2
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
zsb0206 正向着好的方向发展
默认 回复: [分享][转帖]MATLAB中曲面转入ANSYS程序(附程序)

为什么我把原代码运行不出来结果?
zsb0206 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 09:46 AM


Powered by vBulletin
版权所有 ©2000 - 2012,Jelsoft Enterprises Ltd.
陕ICP备07001583号
感谢MEyu科技提供优质空间

SEO by vBSEO ©2009, Crawlability, Inc.