ANSYS单元复制旋转移动
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过复制来实现的移动
首先要确定坐标系,如果是平移之类的操作,是万万不可在柱坐标系下进行的,因为那根
本上改变了结构的形状;
csys,0 !设定激活坐标系为总体柱坐标系
nrotat,all !将节点坐标系旋转到激活坐标系,即总体柱坐标系
allsel,all
*get,nmax,node,,num,max
先把结构的最大节点号提取出来,因为新生成的节点无论如何是不允许覆盖原来的节点的。
nsel,s,,,1,1000,1 !把想复制的节点挑选出来
ngen,2,nmax,all,,,-100/1000,-100/1000,-100/1000 !复制,搞定。
然后再把原来的单元删掉。
为了避免混淆新的单元和老的单元,在复制的时候,可以顺便
把材料编号或者单元类型都修改一下,这样就方便多了。
旋转
ansys本身并没又提供旋转的功能,这个想实现是比较困难的,有两种方法:
1、把结构从笛卡尔坐标系换到柱坐标系,把所有节点的坐标也都一并转过来,这样原来
的x,y,z就变成了r,θ,z,这个时候我们再来移动的话,就可以了,不动r和z,只动θ,这样
就等于是旋转角度了。
命令如下,
allsel,all
*get,nmax,node,,num,max
csys,1 !设定激活坐标系为总体柱坐标系
nrotat,all !将节点坐标系旋转到激活坐标系,即总体柱坐标系
allsel,all
esel,s,type,,3
egen,2,nmax,all,,,,,,,,0,40,0
上面的这些是针对绕z轴旋转的,要是绕其他轴旋转,那么就使用其他的几个
坐标系,利用cslist名列出ansys里面所有的坐标系,可见绕z轴旋转的是1号坐标系;绕x轴旋转的是6号坐标系;绕y轴旋转的是5号坐标系;根据需要选择合适的坐标系;
listcoord. sys. from 0 to 1001 by 1
active coordinate system= 1001 (cartesian)
sing
system type center parameters keys
0 0 (cartesian) 0.000 0.000 0.000 1.000 1.000 0 0
1 1 (cylindrical) z 0.000 0.000 0.000 1.000 0.000 0 0
2 2 (spherical) 0.000 0.000 0.000 1.000 1.000 0 0
4 0 (cartesian) 159.580 103.740 77.464 1.000 0.000 0 0
5 1 (cylindrical) y 0.000 0.000 0.000 1.000 0.000 0 0
6 1 (cylindrical) x 0.000 0.000 0.000 1.000 0.000 0 0 1001 0 (cartesian) 0.000 0.000 0.000 1.000 1.000 0 0 system orientation vectors (x,y,z)
0 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00
1 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00
2 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00
4 0.00 -0.71 0.71 0.00 -0.71 -0.71 1.00 0.00 0.00
5 1.00 0.00 0.00 0.00 0.00 -1.00 0.00 1.00 0.00
6 0.00 0.00 -1.00 0.00 1.00 0.00 1.00 0.00 0.00
1001 1.00 0.00 0.00 0.00 0.71 0.71 0.00 -0.71 0.71 csys type xc yczcthxythyzthzx
1001 0 0.0000 0.0000 0.0000 0.000 45.000 0.000
2、这种方式是新建一个坐标系,这个坐标系是一个local的坐标系,建好后,打开,然后把所有的东西一股脑儿的全部换过去,这样就等于把结构旋转了,命令如下:
csys,0
clocal,1001,0,0,0,0,0,45,0
csys,1001
transfer,0,0,all
此外nmodif这个命令应该也是没问题的,应该是最完美的同时可以实现移动和转动的,
但是无论如何这个命令都不工作,执行就出错,原因不明。
allsel,all
modmsh,nocheck
modmsh,detach
allsel,all
nmodif,all, 0.01,0.01,0.01
3、上面的这几个命令的问题是仅针对单元的旋转,如果这个单元是属于某个体的,就麻
烦了,上面的命令不工作,需要新的办法,就是把体一起旋转。
allsel,all !还是先全选
*get,nmax,node,,num,max !找到最大节点编号
csys,0 !回到原始坐标
clocal,1002,1, 11.198 , 13.630 , -45.245,0,0,90 !生成新的坐标系,找到坐标系的圆心,顺便
确定新生成的坐标系的角度,这决定了旋转的方向。
csys,1002 !进入新坐标系
nrotat,all !将节点坐标系旋转到激活坐标系,即总体柱坐标系
allsel,all !全选
!选择体
vsel,s,volu,,11
vsel,a,volu,,13
vsel,a,volu,,14
vsel,a,volu,,15
vgen,2,all,,,0,90,0,nmax,0,0 ! 旋转,旋转的角度必须选择dx,dy,dz中的dy!
allsel,all
eplot,volu
如果出错,可以把位置移动,角度变化分开来做,。