zhouxman 发表于 2009-2-27 21:25

新手的apdl

新手写的一个apdl,请大家指教


/prep7
et,1,link1
mp,ex,1,200e3
mp,prxy,1,0.3
r,1,0.1      !定义实常数
!----------------设置缺省常数---------------------
*set,length,8
*set,heigth,sqrt(3)
*set,n,8!支撑数
!----------------用对话框获得常数---------------------
*ask,length,'Please input length:',length
*ask,heigth,'Please input heigth:',heigth
!这里的n必须输入偶数
*ask,n,'Please input n(You'd better make sure the 'n' are an even number and bigger than 2):',n   

!----------------用设置参数的方法计算中间变量---------------------
*set,l,2*(length/n) !下面小段的长度
*set,nn,n+1 !节点数目
!----------------建立节点---------------------
*do,i,1,n/2+1      !这个循环建立下侧的所有节点
n,i,(i-1)*l,0
*enddo
*do,j,1,nn-i      !这个循环建立上侧的所有节点
n,i+j,(2*j-1)*(l/2),heigth
*enddo
!----------------建立单元---------------------
*do,k,1,n/2       !这个嵌套循环用link1单元连接所有节点
   e,k,k+1      !连接下侧所有节点   
*enddo
*do,j,i+1,nn-1   !这里的i值已经是n/2+1了
   e,j,j+1   !连接上侧所有节点   
*enddo
!-------------------------------------
!对这个题目建立单元还可以用一下的*repeat命令,所得结果等效上面的一段命令
!-------------------------------------
!   e,1,2
!   *repeat,n/2,1,1
!   e,n/2+2,n/2+3
!   *repeat,nn-(n/2+1)-1,1,1
!-------------------------------------
!----------------连接上下侧节点---------------------
*set,lab,n/2
*do,gg,1,n/2+1
*if,gg,eq,1,then
   e,gg,gg+lab+1
*elseif,gg,eq,n/2+1
   e,gg,gg+lab
*else
   e,gg,gg+lab
   e,gg,gg+lab+1
*endif
*enddo
!----------------到此自动建模完成---------------------

zhouxman 发表于 2009-3-4 15:20

谢谢 鼓励 谢谢
页: [1]
查看完整版本: 新手的apdl