nedusts 发表于 2016-3-8 14:24

ANSYS模拟预应力钢束的两种方法

  方法1:通过体分割的办法建立预应力钢束,然后通过定义降温荷载来模拟预应力效应。这种方法在张立明编的《ALGOR、ANSYS在桥梁工程中的应用方法与实例》中有一个算例。

  命令流如下:

  /prep7

  /title,the analysis of the solid beam and prestressed tendon

  /DIST,1,1.08222638492,1

  /REP,FAST

  *SET,egjx,2e11

  *SET,agjx,60e-4

  *SET,ehnt,3.5e10

  *SET,xzxs,1.2e-5

  *SET,yjl,200000

  et,1,link8

  et,2,solid95

  r,1,agjx

  r,2

  mp,ex,1,egjx

  mp,prxy,1,0.3

  mp,dens,1,7800

  mp,dens,2,2500

  mp,alpx,1,xzxs

  mp,ex,2,ehnt

  mp,prxy,2,0.3

  blc4,,,1,2,30

  /VIEW,1,1,1,1

  /ANG,1

  /AUTO,1

  /REP,FAST

  klist,all

  kwpave,6

  wpoff,-0.3

  wprot,0,0,90

  vsbw,1

  wpoff,0,0,-0.4

  vsbw,2

  wpoff,0,0.4

  wprot,0,90

  vsbw,all

  wpstyl

  nummrg,all,,,,low

  numcmp,all

  esize,0.3

  klist,all

  llist,all

  lsel,s,,,28,38,10

  latt,1,1,1

  lmesh,all

  allsel,all

  gplot

  vsel,s,,,all

  vatt,2,2,2

  mshape,0,3d

  mshkey,1

  vmesh,all

  finish

  /solu

  dl,3,,all

  dl,16,,all

  dl,23,,all

  dl,2,,uy

  dl,15,,uy

  dl,22,,uy

  /AUTO,1

  /REP,FAST

  bfl,28,temp,-yjl/(xzxs*egjx*agjx)

  bfl,38,temp,-yjl/(xzxs*egjx*agjx)

  allsel

  acel,,9.8

  solve

  finish

  /post1

  pldisp

  plnsol,s,1

  方法二:体线独立耦合法建立预应力钢束

  命令流如下,并附有命令说明:

  /prep7

  *SET,eg,2e5 !钢束弹模

  *SET,ag,140 !钢束面积

  *SET,eh,4e4 !混凝土的弹模

  *SET,r0,9345 !曲线钢束的半径

  *SET,yyl,200000 !钢束的预应力大小

  et,1,link8 !定于预应力钢束单元类型为link8

  et,2,solid95 !定义混凝土单元类型为solid95

  r,1,ag,yyl/eg/ag*1.036258 !定义单元实常数,对于link8单元为钢束面积、以及钢束的初始应变(除模拟预应力张拉还会用于应力刚度矩阵的计算)

  r,2 !solid95的单元实常数仅为x轴的调整,并且该实常数仅仅在单元坐标系统选择为1的时候填写。一般不填。

  mp,ex,1,eg !预应力钢束单元性质,包括之前定义的弹模,泊松比

  mp,prxy,1,0.3

  mp,ex,2,eh !混凝土单元性质,包括弹模、泊松比

  mp,prxy,2,0.2

  blc4,,,100,200,3000 !定义长方体的长宽高(混凝土块体)

  /view,1,1,1,1 !调整观察的角度

  /ang,1

  vplot !显示选择的体

  ksel,all !选择所有的关键点

  klist

  *get,kp0,kp,0,num,max !将最大的kp编号存于kp0中,因为事先不知道最大的关键点号是多少,所以先要存在kp0中

  lsel,none !不选择所有的线

  llist

  k,kp0+1,50,160 !定义关键点,kp0是已有的最大关键点编号。

  k,kp0+2,50,160,3000

  k,kp0+3,50,800,1500

  larc,kp0+1,kp0+2,kp0+3,r0 !将定义的以上三点连成一条圆弧,半径为r0。kp0+3用于定义圆弧所在面及曲线边中点

  kdele,kp0+3 !删除kp0+3这个关键点

  klist

  llist

  *get,line1,line,0,num,min !将最小的线编号存于line1中,因为line1是最先定义的预应力钢束

  lsel,s,loc,z,0 !选择z、y坐标均为0的线,用于施加约束(该线为右侧截面的梁底线)

  lsel,r,loc,y,0

  dl,all,,uy !对线施加y方向的约束

  lsel,s,loc,z,3000 !选择左侧截面梁底线(即z=3000,而y=0的线)

  lsel,r,loc,y,0

  dl,all,,all !对选择的线施加约束(UX、UY、UZ)

  allsel,all !选择所有对象

  lsel,s,,,line1 !选择线,最小值line1

  latt,1,1,1 !将单元性质与选择的、尚未网格化的线联系起来

  lesize,all,,,50 !线单元划分的数目

  lmesh,all !对line1进行分网

  vsel,all !选择所有的体

  vlist

  vatt,2,2,2 !给体赋予相应的属性(混凝土)

  lsel,s,loc,z,0 !选择z=0,而y坐标从10到140范围内的所有的线

  lsel,r,loc,y,10,140

  lesize,all,,,8 !分网数目8

  lsel,s,loc,z,0 !再次选择z=0,而不选y坐标从10到140范围内的所有线

  lsel,u,loc,y,10,140

  lesize,all,,,4 !分网数目为4

  lsel,s,loc,y,0 !选择x=0、y=0坐标处的线(仅有一根线被选中)注意这根线是一根分网的扫掠线。

  lsel,r,loc,x,0

  lesize,all,,,50 !分网数目为50

  vsweep,all !通过扫掠网格的方法来用单元填充体

  allsel,all !选择所有的对象

  lsel,s,,,line1 !选择line1最小值(预应力钢绞线)

  nsll,s,1 !选择与所选择的线对应的所有的节点,即钢绞线上面的节点,因为网格数为50,所以节点总数为51

  cm,cmljnod,node !将钢绞线节点编组,其组名为cmljnod

  *get,max1,node,0,count !选择钢绞线中的节点单元数目,将其赋给变量max1,此变量可以作为*do循环的上界来确定循环的次数

  *dim,ojd,,max1 !定义数组序列。数组名为ojd,max1为行的范围

  *dim,jd,,max1 !定义数组序列。数组名为jd,max1为行的范围

  *get,nod1,node,0,num,min !选择集中最小的节点号,赋给变量nod1,作为*do循环的上界

  *SET,ojd(1),nod1 !将nod1的值赋给ojd(1)

  *do,i,2,max1 !do循环,从2到max1

  *SET,ojd(i),ndnext(ojd(i-1)) !将ndnext(ojd(i-1))赋给ojd(i)

  *enddo !结束循环

  allsel,all !选择所有

  nsel,all !选择所有节点

  cmsel,u,cmljnod !不选择cmljnod,即钢绞线对应的节点

  *do,i,1,max1 !i从1循环开始到max1

  *SET,nod1,ojd(i) !将ojd(i)赋给nod1

  *SET,j,nnear(nod1) !将nnear(nod1)赋给j,是指ojdi邻近的节点吗?nnear()是一个函数,表示选择最近的节点。

  *SET,jd(i),j !将j赋给jd(i)

  *enddo !结束循环

  nsel,all !选择所有节点

  *SET,ji,1 !将1赋给ji

  *do,i,1,max1 !i从1到max1

  cp,ji,ux,ojd(i),jd(i) !定义耦合自由度,ji只是随机设置的耦合编号。ux为耦合节点的x方向的位移。

  cp,ji+1,uy,ojd(i),jd(i)

  cp,ji+2,uz,ojd(i),jd(i)

  *SET,ji,ji+3 !ji+3赋给ji

  *enddo !结束循环

  allsel,all !选择所有单元

  *SET,ji, !将所有的参数删除(第三项value为空格时标识删除)

  *SET,i,

  *SET,max1,

  *SET,nod1,

  *SET,ojd,

  *SET,jd,

  *SET,j,

  *SET,ag,

  *SET,eg,

  *SET,eh,

  *SET,kp0,

  *SET,r0,

  *SET,yyl,

  *SET,line1,

  finish !建模结束,进入求解

  /solu

  allsel,all

  acel,,9.8 !考虑自重

  solve

  FINISH

  /POST1 !进入后处理

  pldisp,1

  etable,sigi,ls,1

  plls,sigi,sigi,1

  plnsol,s,1



转自:http://blog.sina.com.cn/s/blog_5ffd41cf0100qbes.html
页: [1]
查看完整版本: ANSYS模拟预应力钢束的两种方法