*vwrite语句疑问
小可根据《ansys工程结构数值分析》一书中9.2.2 节中的例题,加了几道*vwrite语句,按理说应该输出四行结果,但却输出了七行,小可分析是那句简单的循环语句的问题,可是不知错在哪?请各位指教,谢谢!命令流:
finish$/clear$/prep7
et,1,beam3$mp,ex,1,2.1e11$mp,prxy,1,0.3
mp,dens,1,7800$r,1,0.06,0.00045,0.3
k,1$k,2,6$l,1,2
lesize,all,,,20$lmesh,all
dk,1,all
finish
/solu
antype,2
modopt,lanb,3,,,,1
mxpand,3,,,yes
lumpm,off
solve
*dim,fi,,3$*dim,pfi,,3$*dim,mci,,3$*dim,dai,,3
*do,i,1,3
*get,fi(i),mode,i,freq
*get,pfi(i),mode,i,pfact
*get,mci(i),mode,i,mcoef
*get,dai(i),mode,i,damp
*enddo
finish
/post1
!以下语句为小可加的
*cfopen,ex9.1mode,txt
*vwrite,
('*********模态分析结果***********')
*do,i,1,3,1
*vwrite,i,fi(i),pfi(i),mci(i),dai(i)
(f6.0,2x,e15.6,2x,e15.6,2x,e15.6,2x,e15.6)
*enddo
*cfclose
输出的文本结果为:
*********模态分析结果***********
1. 0.698154E+01 0.180898E+03 0.180898E+03 0.000000E+00
1. 0.436267E+02 -0.289074E+02 -0.289074E+02 0.000000E+00
1. 0.121595E+03 0.103480E+02 0.103480E+02 0.000000E+00
2. 0.436267E+02 -0.289074E+02 -0.289074E+02 0.000000E+00
2. 0.121595E+03 0.103480E+02 0.103480E+02 0.000000E+00
3. 0.121595E+03 0.103480E+02 0.103480E+02 0.000000E+00
本帖最后由 joppasd1230895 于 2011-1-9 17:49 编辑
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*do,i,1,3,1
*vwrite,i,fi(i),pfi(i),mci(i),dai(i)
(f6.0,2x,e15.6,2x,e15.6,2x,e15.6,2x,e15.6)
*enddo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这一段改成
*vwrite,fi(i),pfi(1),mci(1),dai(1)
(f6.0,4x,f6.0,4x,f6.0,4x,f6.0,4x)
这样,基本就能看了。
因为原来那样写每循环一次i,接下来的数组fi(i)又自身进行了循环,所以会出现那样的结果。 你好!按你所说的更改后,输出结果为:
*********模态分析结果***********
122. 10. 10. 0.
这好像也不太对的。 回复 mufan 的帖子
把输出的格式改一下,
*vwrite,sequ,fi(1),pfi(1),mci(1),dai(1)
(f6.0,2x,e15.6,2x,e15.6,2x,e15.6,2x,e15.6)
*********模态分析结果***********
1. 0.698154E+01 0.180898E+03 0.180898E+03 0.000000E+00
2. 0.436267E+02 -0.289074E+02 -0.289074E+02 0.000000E+00
3. 0.121595E+03 0.103480E+02 0.103480E+02 0.000000E+00
果然如此,谢谢!
页:
[1]