matlab与ansys数据传递? 200
我用ansys建了模型并做了有限元分析,现在需要把它用到matlab里,遇到了matlab与ansys互相调用的问题,我先假设2和7两个单元的损伤,损伤程度分别为0.3和0.2,我把它们用matlab写入了txt文件中,然后再用ansys调用计算这种损伤情况下的频率,这是我的matlab程序
a=[2;7;0.3;0.2];
fid = fopen('b.txt','wt');
fprintf(fid,'%6.1f\n',a);
fclose(fid);
下面是ansys命令流
finish
/clear
/prep7
L=0.2
H=0.1
B=0.1
blc4,,,L,H,B
ET,1,solid65 !定义单元类型
!KEYOPT,1,1,1 !对指定单元类型设置所需的特性,与具体的单元类型有关,设置单元类型1的第1个选项的值为1 ?
!KEYOPT,1,5,2
mp,ex,1,210e9
mp,prxy,1,0.3
mp,dens,1,7850
mp,ex,2,147e9
mp,prxy,2,0.3
mp,dens,2,7850
mp,ex,3,168e9
mp,prxy,3,0.3
mp,dens,3,7850
el=0.1/3
ESIZE,el !设置单元边的长度为e1
MSHKEY,1 !采用映射网格划分方式
MSHAPE,0 !2D:四边形,3D:六面体单元
VSEL,all !选择一组体的子集
VMESH,all!在体上生成节点和单元
nsel,s,loc,x,0$nsel,r,loc,y,0$nsel,r,loc,z,B !选择一组节点子集
d,all,all !在节点上施加约束
nsel,a,loc,x,0$nsel,r,loc,y,H$nsel,r,loc,z,B
d,all,all
nsel,a,loc,x,0$nsel,r,loc,y,H$nsel,r,loc,z,0
d,all,all
nsel,a,loc,x,0$nsel,r,loc,y,0$nsel,r,loc,z,0
d,all,all
allsel,all !选择所有实体
*dim,eleinfo,,4,1 !定义一个4*1的数组
*vread,eleinfo(1,1),G:\ANSYSPROGRAM\b,txt,,JIK,1,4
(f6.1)
a1=eleinfo(1,1)
a2=(eleinfo(1,1)+1)
*cfopen,E:\ANSYSPROGRAM\unrelated1\eleinfofile,txt
*Vwrite,eleinfo(1,1)
(f6.1)
*cfclos
*if,a1,eq,1,then
*do,i,1,a1
esel,s,elem,,eleinfo(i+1,1) !选择一组单元子集
emodif,all,mat,2
!esel,all
*enddo
*else
*do,i,1,a1
esel,s,elem,,eleinfo(i+1,1)
emodif,all,mat,2
esel,all
*enddo
*do,i,a2,4
esel,s,elem,,eleinfo(i,1)
emodif,all,mat,3
esel,all
*enddo
*endif
esel,all
问题就出现在上面这部分,我需要读入matlab写出的txt文件,并对2和7号单元做单元属性修改,急,请各位大神指教!