我要加入 登录
声振论坛 返回首页

Chelsea的个人空间 http://home.vibunion.com/?78822 [收藏] [复制] [分享] [RSS]

日志

接触与螺栓预紧命令流祥解【zt】

已有 1244 次阅读2012-12-11 09:48 |个人分类:联合应用| 螺栓, ansys

涉及接触以及螺栓预紧
finish  
/clear  
!!!!!!!!!!!!!!!!环境设置!!!!!!!!!!!!!!!!!!!!!!!!!
/filn,flange
/title,flang_bolt
!设定结构基本参数,单位N,mm,MPa.密度为tons/mm3
*SET,PN,4                  !工作压力   
!结构尺寸参数遵循图形
*SET,DN,900            
*SET,D,1115          
*SET,D1,1055           
*SET,D2,1010           
*SET,D3,1000           
*SET,D4,997            
*SET,dta,86            
*SET,H,170  
*SET,xh,42  
*SET,a,3
*SET,a1,3
*SET,dta1,24
*SET,dta2,36
*SET,R,15   
*SET,xd,33  
*SET,h1,225 
*SET,h2,50  
*SET,L,2.5*((DN/2+0.5*dta1)*dta1)**0.5     !筒体长
*SET,N,360/96                !法兰分度数
*SET,nut_rad,50.85/2         !螺母半径   
*SET,nut_h,25.6              !螺母高度
*SET,bolt_h,250              !螺栓高度
*SET,forc_bolt,35000         !螺栓预紧力
/prep7                       !进入前处理器
et,1,solid45                 !实体单元
et,2,TARGE170                !3D接触目标面单元170   
et,3,CONTA174                !3D接触接触面单元174   
keyopt,3,9,0                 !包含初始化穿透   
*AFUN,DEG                    !设定角度单位为度数   
!定义法兰材料1
mp,ex,1,2.16e5               !设定弹性模量  
mp,nuxy,1,0.3                !定义泊松比  
mp,dens,1,7.85e-9            !定义密度 
!定义螺栓材料2
mp,ex,2,2.11e5               !设定弹性模量  
mp,nuxy,2,0.3                !定义泊松比   
mp,dens,2,7.85e-9            !定义密度   
!定义摩擦系数为材料3
mp,mu,3,0.3
!!!!!!!!!!!!!!创建上法兰!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!创建关键点   
k,1,DN/2,a+H
k,2,DN/2+dta1,a+H   
k,3,DN/2+dta1,a+xh+dta  
k,4,DN/2+dta2,a+dta 
k,5,D1/2,a+dta  
k,6,D/2,a+dta   
k,7,D/2,a   
k,8,D1/2,a  
k,9,D4/2,a  
k,10,D4/2,0 
k,11,DN/2,0 
k,12,DN/2,a+dta 
k,13,DN/2,a+dta+xh 
!通过关键点连线 
*do,ii,1,12 
l,ii,ii+1   
*enddo  
l,1,13  
lfillt,2,3,R                !创建倒角
lfillt,3,4,R                !创建倒角
l,13,14 
l,12,17 
l,17,9  
l,5,8   
!连线构面
al,1,2,16,13
al,16,14,3,15,17,12 
al,17,18,9,10,11
al,4,19,8,18
al,5,6,7,19 
cm,flang_up,area            !创建上法兰面积组件
!!!!!!!!!!!!!上法兰创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!创建下法兰!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!创建关键点     
k,18,DN/2,a-a1  
k,19,D3/2,a-a1  
k,20,D3/2,a 
k,21,D1/2,a 
k,22,D/2,a  
k,23,D/2,a-a1-dta   
k,24,D1/2,a-a1-dta  
k,25,D3/2,a-a1-dta  
k,26,DN/2+dta2,a-a1-dta 
k,27,DN/2+dta1,a-a1-dta-xh  
k,28,DN/2+dta1,a-a1-H   
k,29,DN/2,a-a1-H
k,30,DN/2,a-a1-dta-xh   
k,31,DN/2,a-a1-dta  
!通过关键点连线 
*do,ii,18,30
l,ii,ii+1   
*enddo  
l,18,31 
lfillt,27,28,R  
lfillt,28,29,R  
l,30,35 
l,31,32 
l,21,24 
l,19,25 
!连线构面
al,29,30,31,36  
al,35,36,32,37,34,28
al,20,39,27,37,33   
al,21,22,38,26,39   
al,23,24,25,38  
asel,u,area,,flang_up         !选择除flang_up之外的所有面   
cm,flang_down,area            !创建下法兰面积组件  
!!!!!!!!!!!!!下法兰创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!创建椭圆封头!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   
k,,0,a+H+h2                   !创建封头所处位置关键点
circle,36,1                   !创建单位长圆
KWPAVE,36                     !将工作平面移置于新设定点
CSYS,4                        !激活随工作平面的坐标系
lsscale,40,43,1,DN/2+dta1,h1+dta1,,,1  !对单位圆按照椭圆比例进行缩放(外表面)
lsscale,40,43,1,DN/2,h1,,,1   !对单位圆按照椭圆比例进行缩放(内表面)
ldele,49,51,1,1               !删除多余的线段 
ldele,45,47,1,1 
ldele,40,43,1,1 
wpstyl,defa                   !恢复工作平面至默认状态 
l,45,41                       !连接封头端、尾 
l,42,46 
l,1,45                        !连接封头与法兰  
l,2,41
!由线构成封头面  
al,40,42,1,43   
al,44,40,48,41  
asel,u,area,,flang_down       !选择构成封头的所有面 
cm,coping,area              !创建封头面积组件  
!!!!!!!!!!!!!封头创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!创建筒体!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   
allsel  
k,,DN/2,a-a1-H-L              !创建筒体底端位置点
k,,DN/2+dta1,a-a1-H-L   
a,28,29,37,38                 !连接筒体与下法兰,构成面   
asel,u,area,,flang_up   
asel,u,area,,flang_down 
asel,u,area,,coping           !排除筒体之外的所有面
cm,pot,area                !创建筒体面积组件 
!!!!!!!!!!!!!筒体创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!布尔操作,将面与面之间粘接!!!!!!!!!!!!!
asel,s,area,,flang_up   
asel,a,area,,coping 
aglue,all                !将封头与上法兰面粘接 
asel,s,area,,flang_down 
asel,a,area,,pot
aglue,all                !将筒体与下法兰面粘接   
kdele,36                 !删除建模过程中辅助点
!!!!!!!!!!!!!布尔操作完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
   
allsel  
vrotat,all,,,,,,42,46,N        !将所有的面绕y轴旋转N度,创建体

!!!!!!!!!!!!!创建螺栓!!!!!!!!!!!!!   
KL,76,0.5, ,                   !设定关键点平分线76,该点为螺栓中心所在
KWPAVE,77                      !将工作平面移动至该点
wprota,0,90                    !将工作平面绕x轴旋转90度
cyl4,,,xd/2,,,,bolt_h          !创建螺栓
!将与螺栓相交的体组成一个组件,以便选取   
vsel,s,volu,,4,5,1  
vsel,a,volu,,9,10,1 
cm,buer,volu                   !创建与螺栓相交的体积组件buer
allsel 
bopt,numb,off  
vsbv,buer,14                   !将组件buer与螺栓进行布尔操作,挖出螺栓孔洞
cyl4,,,xd/2,,,,bolt_h          !创建螺栓,体积编号为4  
VGEN,,4,,,,,-(bolt_h/2-dta-a),,,1   !将螺栓平移至合适位置   
rpr4,6,,,nut_rad,,-nut_h            !创建螺母
vgen,2,5,,,,,2*dta+a1+nut_h,,,0     !复制螺母至合适位置  
!!!!!!!!!!!!!螺栓创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!创建各部分体积组件方便选择!!!!!!!!!!!!!   
vsel,s,volu,,4,5,1  
vsel,a,volu,,9  
vptn,all
cm,bvolu,volu                   !创建螺栓组件   
allsel  
wpstyl,defa 
vsel,s,loc,y,-H-L,a1
vsel,u,volu,,bvolu  
cm,flang_dvolu,volu             !创建下法兰组件 
allsel  
vsel,s,loc,y,a1,H   
vsel,u,volu,,bvolu  
cm,flang_upvolu,volu            !创建上法兰组件
allsel  
vsel,s,loc,y,H+a,H+h1+dta1  
cm,cop_volu,volu                !创建封头组件
!!!!!!!!!!!!!!!划分网格!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
mat,1                           !指定材料   
esize,5                         !指定单元大小 
cmsel,s,cop_volu                !选中封头组件
vsweep,all                      !对封头分网
esize,5                         !指定单元大小  
cmsel,s,flang_dvolu             !选中下法兰组件
vsweep,all                      !对下法兰分网  
cmsel,s,flang_upvolu            !选中上法兰组件
vsweep,all                      !对上法兰分网   
esize,4                         !指定单元大小 
mat,2                           !指定材料      
cmsel,s,bvolu                 !选中螺栓组件  
vsweep,all                      !对螺栓分网 
!!!!!!!!!!!!!网格划分完毕!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!对模型节点进行压缩合并!!!!!!!!!!!!!!!!!!!!!
!合并上法兰节点
allsel  
vsel,s,loc,y,0,2*H  
vsel,u,volu,,bvolu
nslv,s,1
nummrg,node
!合并下法兰节点 
allsel
vsel,s,loc,y,-(H+L),a1
vsel,u,volu,,bvolu
nslv,s,1
nummrg,node
!!!!!!!!!!!!!节点合并完毕!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!建立螺栓预紧单元!!!!!!!!!!!!!!!!!!!!!
allsel  
!在0号坐标系下,对螺栓1(14号体积)建立预紧单元,secid为1,name为bolt1
!预紧单元方向为y轴,位置为y向0位置处,同时将预紧单元存储于bolt_1单元组件中,预紧单元pretention179无需预先定义
psmesh,1,bolt1,,volu,14,0,y,0,,,,bolt_1 
!!!!!!!!!!!!!螺栓预紧单元建立完毕!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!创建接触!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
!创建凹面接触单元
cmsel,s,flang_upvolu          !选择上法兰体积组件
aslv                          !选择依附于体上的面
asel,r,loc,y,0                !通过坐标选择法兰上的接触面  
cm,as_up,area                 !建立上法兰接触面组件as_up   
allsel  
cmsel,s,flang_dvolu           !选择下法兰体积组件 
aslv                          !选择依附于体上的面
asel,r,loc,y,a-a1             !通过坐标选择法兰上的接触面  
asel,r,loc,x,0,D3/2            
cm,as_down,area               !建立下法兰接触面组件as_down  
r,1                           !定义接触实常数1
real,1                        !指定实常数1  
mat,3                         !指定材料3
cmsel,s,as_up                 !选择上法兰接触面组件as_up    
type,2                        !指定单元接触类型2  
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元   
allsel  
cmsel,s,as_down               !选择下法兰接触面组件as_down 
type,3                        !指定单元接触类型3   
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元   
!创建凸面接触单元 
allsel  
cmsel,s,flang_upvolu          !选择上法兰体积组件
aslv                          !选择依附于体上的面
asel,r,loc,y,a                !通过坐标选择法兰上的接触面  
cm,as_up1,area                !建立上法兰接触面组件as_up1  
allsel  
cmsel,s,flang_dvolu           !选择下法兰体积组件 
aslv                          !选择依附于体上的面
asel,r,loc,y,a                !通过坐标选择法兰上的接触面   
cm,as_down1,area              !建立下法兰接触面组件as_down1
et,5,TARGE170                 !定义目标单元170   
et,6,CONTA174                 !定义接触单元174
keyopt,6,9,0                  !包含初始化穿透
r,2                           !定义接触实常数2
real,2                        !指定实常数2   
mat,3                         !指定材料3
cmsel,s,as_up1                !选择上法兰接触面组件as_up1   
type,5                        !指定单元接触类型5 
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元    
allsel  
cmsel,s,as_down1              !选择下法兰接触面组件as_down1
type,6                        !指定单元接触类型6  
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元    
!创建螺母与上法兰接触   
allsel  
cmsel,s,bvolu              !选择螺栓体积组件  
KWPAVE,77                     !将工作平面移至77点
wprota,0,90                   !将工作平面绕x轴旋转90度 
aslv                          !选择依附于体上的面
asel,r,loc,z,0                !通过坐标选择螺栓上的接触面 
asel,u,area,,104              !删除螺栓柱面,保留螺母面
cm,b_up,area                  !创建螺母与上法兰接触面组件b_up
cmsel,s,flang_upvolu          !选择上法兰体积组件
aslv                          !选择依附于体上的面
asel,r,loc,z,0                !通过坐标选择上法兰上的目标面   
asel,r,loc,x,-(D-D1)/2,(D-D1)/2 
cm,f_up,area                  !创建上法兰与螺母目标面组件f_up
cmsel,s,bvolu              !选择螺栓体积组件     
aslv                          !选择依附于体上的面
asel,r,loc,z,2*dta+a1         !通过坐标选择螺栓与下法兰的接触面   
asel,u,area,,108              !删除螺栓柱面,保留螺母面
cm,b_down,area                !创建螺母与下法兰接触面组件b_down
cmsel,s,flang_dvolu          !选择下法兰体积组件 
aslv                          !选择依附于体上的面
asel,r,loc,z,2*dta+a1         !通过坐标选择螺栓与下法兰的目标面   
asel,r,loc,x,-(D-D1)/2,(D-D1)/2 
cm,f_down,area                !创建螺母与下法兰目标面组件f_down
et,7,TARGE170                 !定义目标单元170     
et,8,CONTA174                 !定义接触单元174  
keyopt,8,9,0                  !包含初始化穿透
r,3                           !定义接触实常数3
real,3                        !指定实常数3   
mat,3                         !指定材料3
cmsel,s,b_up                  !选择螺母与上法兰接触面组件b_up
type,7                        !指定单元接触类型7   
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元  
allsel  
cmsel,s,f_up                  !选择上法兰与螺母目标面组件f_up
type,8                        !指定单元接触类型8     
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元   
!创建螺母与下法兰接触   
et,9,TARGE170                 !定义目标单元170     
et,10,CONTA174                !定义接触单元174 
keyopt,10,9,0                 !包含初始化穿透
r,4                           !定义接触实常数4
real,4                        !指定实常数4   
mat,3                         !指定材料3
cmsel,s,b_down                !选择螺母与下法兰接触面组件b_down
type,9                        !指定单元接触类型9   
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元                   
allsel  
cmsel,s,f_down                !选择螺母与下法兰目标面组件f_down  
type,10                       !指定单元接触类型10    
nsla,s,1                      !选择接触面上的所有节点,包括边界点
esln,s,0                      !选择依附于这些节点的单元
esurf,all                     !构建接触单元    
!!!!!!!!!!!!接触创建完毕!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
  
FINISH  
/SOL                          !进入求解处理器
allsel  
lsclear,all                   !清空所有载荷 
NROPT,Full                    !激活完全Newton-Raphson
pred,on                       !打开变形预测
lnsrch,on                     !激活线性搜索   
antype,0                      !静态分析 
autots,1                      !自动时间步长 
nsubst,25,100,1               !设置载荷步 
outres,all,all                !输出所有结果 
eqslv,pcg,1e-8                !采用pcg算法,对于大模型接触算法很有效
   
wpstyl,defa          !将工作平面恢复至默认状态
csys,5             !激活柱坐标系(以y轴为旋转轴)
asel,s,loc,y,0        !通过坐标选择角度为0的面
asel,a,loc,y,-N        !通过坐标选择角度为-N的面
da,all,symm                   !施加对称边界条件
csys,0                        !激活笛卡尔坐标系
cmsel,s,flang_dvolu           !选择下法兰体积组件
nslv,r,1                      !选择依附于体积上的节点
nsel,r,loc,y,a-a1-H-L         !选择筒体底端节点
d,all,uy            !施加y向位移约束
allsel  
sload,1,9,lock,forc,forc_bolt,1,2   !在螺栓中施加螺栓预紧
!第一载荷步中施加载荷大小为forc_bolt的预紧力,在第二个载荷步中锁住其位移,最终产生预紧效果  
time,10                       !设置时间步长为10                
allsel  
lswrite,1                     !写出第一个载荷步文件   
time,20                       !设置时间步至20  
lswrite,2                     !写出第二个载荷步文件      
!对容器壁施加内压
asel,s,area,,68               !选中编号为68的面
nsla,s,1                      !选择依附于面上的节点
csys,5             !激活柱坐标系(以y轴为旋转轴)  
nsel,a,loc,x,DN/2             !通过坐标选择内壁上的节点   
sf,all,pres,PN                !对内壁施加压强,大小为PN
allsel  
time,30                       !设置时间步至30
lswrite,3                     !写出第三个载荷步文件  
lssolve,1,3,1                 !计算载荷步1-3

/post1                        !进入通用后处理
set,last                      !读取最后结果
PLNSOL,S,EQV,0,1              !输出Von Mises应力结果
cmsel,s,bvolu                 !选择螺栓组件
eslv,s,1                      !选中依附于体积的单元
nslv,s,1                      !选中依附于体积的节点
PLNSOL,S,EQV,0,1              !输出Von Mises应力结果
cmsel,s,flang_dvolu           !选择下法兰组件
eslv,s,1                      !选中依附于体积的单元
nslv,s,1                      !选中依附于体积的节点
PLNSOL,S,EQV,0,1              !输出Von Mises应力结果

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-18 13:34 , Processed in 0.039995 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部