allsel,all
numnode=8
*get,nn,node,,count
*get,ne,elem,,count
*dim,nodeinfo,array,nn,4
*dim,eleminfo,array,ne,numnode+3
allsel,all
*do,i,1,nn,1
*get,nmin,node,,num,min
*SET,nodeinfo(i,1),nmin
*SET,nodeinfo(i,2),nx(nmin)
*SET,nodeinfo(i,3),ny(nmin)
*SET,nodeinfo(i,4),nz(nmin)
nsel,u,node,,nmin
*enddo
allsel,all
*do,i,1,ne,1
*get,emin,elem,,num,min
eleminfo(i,1)=emin
*get,eleminfo(i,numnode+2),elem,emin,attr,type
*get,eleminfo(i,numnode+3),elem,emin,attr,mat
*do,j,1,numnode,1
*get,eleminfo(i,j+1),elem,emin,node,j
*enddo
esel,u,elem,,emin
*enddo
以上是获取节点、单元信息的命令
边界条件和荷载信息类似,比如:对于边界条件,首先将需要定义边界条件的节点选出来,然后把他们的编号放到一个自定义的数组就行了.
当所有信息获取完后,执行以下命令:
ddele,all,all
sfdele,all,all
vclear,all
vdele,all,,,1
*do,i,1,nn,1
n,nodeinfo(i,1),nodeinfo(i,2),nodeinfo(i,3),nodeinfo(i,4)
*enddo
*do,i,1,ne,1
type,eleminfo(i,numnode+2)
mat,eleminfo(i,numnode+3)
en,eleminfo(i,1),eleminfo(i,2),eleminfo(i,3),eleminfo(i,4),eleminfo(i,5),eleminfo(i,6),eleminfo(i,7),eleminfo(i,8),eleminfo(i,9)
*enddo
然后选择边界节点(根据边界条件自定义数组里的编号)施加边界条件,荷载类似.
以上命令适用于实体8节点单元,可推广到其他类型单元或有多种单元的情况. |