【转贴】如何考虑索的预应力以及如何处理预应力的损失!
考虑索预应力的方法有:
1,可在real constant定义初应变。但是你必须考虑到预应力损失。对于预应力损失小的结构可能比较合适,但是对于损失比较大的结构,可能与你设想的相差极大。
2,采用降温法。其原理和上面的方法本质上是一样的。就是先确定一个处应变,根据热膨胀系数反算出温度差,然后施加相应的温度。同样存在上述的问题。
3,采用等效力,先将索用一对拉力代替(拉力值等于索的设计拉力),算出索两端的变形,然后再确定初应变,可以避免很大的预应力损失。但是,由于结构变形的过程中,索力的角度会发生变化,因此,也有一定误差,但是不大。
4,利用apdl语言编写一段程序进行叠带,得到的结果相当的精确。
利用4来进行施加索的预应力的,能很好的达到设计拉力,精度在1%之内。(我做的工程总共120根索,单索体系,不是索网)。
论坛中也有高手对前面1到3中方法,进行修正的,据说都能达到非常高的精度,但是语焉不详。希望大家能够交流一下具体的做法。使后面作索的兄弟少一点困惑。也是我可以学习大家的先进经验。越具体越好。
第三种方法中,先加上一对力可以大致估计出索的预应力损失的应变,在加上索设计应力的应变,就是索的初始应变的取值了。
但是这种方法(包括其他方法)的不足之处在与,预先加的力的方向在计算过程中方向是不便的,但是索的方向却是有改变的。这就导致索的拉力方向与你施加的力的方向就有一定的夹角,误差就来自这里。就看与索相连的结构的刚度了。刚度大的话,估计的会比较准。如果刚度很小的话,差距比较大。我做的一个工程,由于刚度比较小,差距在百分之五十左右。不太适用。但是有人用这种方法做的,稍加调整,能达到比较好的效果
第四种方法中,至于利用公式叠带的方法,中心思路就是:a=(n1-n2)/e/A+a
a是每一步叠带前的初应变,n1是目标力)(设计索拉力),n2是某次叠带后索的拉力。
这中方法精度非常的高,几乎可以达到百分之一百(对于单索体系而言,索网没有试过)。
有兴趣的可以用apdl语言编写一段小程序段,非常有用。
以下是我做的一个工程用apdl语言编程来调整索的预应力的
中间索的编号比较乱,这是因为我是从cad中倒入的模型,没有办法
还望谅解。如果索的编号比较有规则的话几行字就能搞定。原理很简单,大家不要见笑。非常实用,精度很高。
大家可以交流一下
FINISH
/POST26
!修改稳定索的预应力
GOALF=30000 !稳定索的设计预应力f30KN
E=160000 !弹性模量1.6e5Mpa
*GET,F18601,ELEM,18601,SMISC,1
*GET,F19311,ELEM,19311,SMISC,1
*GET,F21051,ELEM,21051,SMISC,1
*GET,F21053,ELEM,21053,SMISC,1
*GET,F21055,ELEM,21055,SMISC,1
*GET,R18601_5,RCON,5,CONST,2
*GET,R19311_8,RCON,8,CONST,2
*GET,R21051_9,RCON,9,CONST,2
*GET,R21053_10,RCON,10,CONST,2
*GET,R21055_11,RCON,11,CONST,2
*GET,A18601_5,RCON,5,CONST,1
*GET,A19311_8,RCON,8,CONST,1
*GET,A21051_9,RCON,9,CONST,1
*GET,A21053_10,RCON,10,CONST,1
*GET,A21055_11,RCON,11,CONST,1
R18601_5=(GOALF-F18601)/E/A18601_5/1+R18601_5
R19311_8=(GOALF-F19311)/E/A19311_8/1+R19311_8
R21051_9=(GOALF-F21051)/E/A21051_9/1+R21051_9
R21053_10=(GOALF-F21053)/E/A21053_10/1+R21053_10
R21055_11=(GOALF-F21055)/E/A21055_11/1+R21055_11
FINISH
/PREP7
R,5,A18601_5,R18601_5
R,8,A19311_8,R19311_8
R,9,A21051_9,R21051_9
R,10,A21053_10,R21053_10
R,11,A21055_11,R21055_11
FINISH
/POST26
!修改飞杆索的预应力(element 19309)
GOALFFG=40000 !飞杆索的预应力f40KN
!弹性模量1.6e5Mpa
*GET,F19309,ELEM,19309,SMISC,1
*GET,R19309_12,RCON,12,CONST,2
*GET,A19309_12,RCON,12,CONST,1
R19309_12=(GOALFFG-F19309)/E/A19309_12/1+R19309_12
FINISH
/PREP7
R,12,A19309_12,R19309_12
FINISH
*do,ii,18486,18532,1
/POST26
!修改飞杆索的预应力(remainder cable)
*GET,FTemp,ELEM,ii,SMISC,1
*GET,RTemp,RCON,ii-18473,CONST,2
*GET,ATemp,RCON,ii-18473,CONST,1
RTemp=(GOALFFG-FTemp)/E/ATemp/1+RTemp
FINISH
/PREP7
R,ii-18473,ATemp,RTemp
FINISH
*enddo
总体上误差控制在3%以内。
但是,利用了对称,只对一半的得索进行了调整。
调整的索的误差控制在0.1%以内。
以下是关于处理预应力的损失
ANSYS如何"张拉"一根索?
此问题确实是存在的,因为刚张拉后的索力是已知的,即结构变形后该索的内力是已知的(张拉力),而如果直接施加该张拉力,则是在结构未变形的基础上施加的,故结构变形后,索力发生了变化(不是张拉的数值了)。注意失去的内力不是普通意义上的“应力损失”,一般解决方法有两种:
1.采用扩大系数提高初应变的数值,直到所求得的索内力为你张拉的数值;该法需要不断调正初应变,最后得到正确的结果,一般扩大系数为:初施加的力(初应变)/计算后的内力。
2.采用生死单元。杀死索单元,直接用荷载P(张拉力为P)施加到节点上,计算;然后激活索单元(初应变=P/E/A,不需增大系数),去掉所施加的节点荷载,计算。这样你的张拉力可正好施加上,即相当于张拉该索。
Q:1. “采用生死单元。杀死索单元,直接用荷载P(张拉力为P)施加到节点上,计算;然后激活索单元(初应变=P/E/A,不需增大系数),去掉所施加的节点荷载,计算。这样你的张拉力可正好施加上,即相当于张拉该索。"
我想问如何将P施加到结点上,索是倾斜的,有两个节点。是在这两个节点沿索的轴向施加吗?这样便涉及到力与两个坐标方向有夹角,请问如何施加。
2.施加的力的方向好象不会在结构变形时也发生变化,那这个力的方向是取变形前的还是变形后的呢?
3.将索单元杀死,这时候结构的变形还会考虑该索的贡献吗,由于要张拉很多根而且是一根根的拉,单元可以被多次杀死吗?
A:楼上两位先生:
1.将P施加到结点上,在索端的两个节点沿索的轴向施加。施加方法可以将力分解后施加,也可以旋转节点坐标系施加(可搜索以前的帖子)。
2.施加的力(集中)的方向是在变形前,而变形后此力的方向不会改变。这有点误差,但实际结构的变形应该很小,不会影响到你所担心的问题(张拉弦结构没有搞过,是否变形很大?)
3.杀死单元,该单元将不提供刚度,但一旦激活该单元,自然也就有贡献了。
4.张拉很多索时,既然是一根一根进行的,则可全部杀死索单元,然后通过上述方法逐步张拉全部的索。但为什么会有多次杀死呢?一旦一根索张拉完毕,就是结构的一部分了,而张拉第二根时,就应该对第一根有影响啊(除非你同时张拉所有的索),或者说张拉第二根后,第一根的索力就不是P1了,这是正确的。
为方便理解,上述问题可参看如下命令流文件。
!试算扩大系数法,有点愚昧,但数量较少时可。
finish
/clear
/prep7
d0=500
d1=10
p=200000 !N
!------------
mja=acos(-1)*0.25*d0*d0
mja1=acos(-1)*0.25*d1*d1
gxji=acos(-1)*d0*d0*d0*d0/64
eg=2.1e5
et,1,beam3
et,2,link1
mp,ex,1,eg
mp,prxy,1,0.3
r,1,mja,gxji,d0
r,2,mja1,p/mja1/eg*1.6037
k,1
k,2,,2000
k,3,,12000
k,4,-10000,2000
l,1,2
l,2,3
l,2,4
latt,1,1,1
lesize,all,,,10
lsel,none
l,4,3
latt,1,2,2
lesize,all,,,1
lsel,all
lmesh,all
dk,1,all
/solu
solve
/post1
pldisp,1
etable,ni,smisc,1
plls,ni,ni
!dmax=73.169
!===============================
!采用生死单元法
finish
/clear
/prep7
d0=500
d1=10
p=200000 !N
!------------
mja=acos(-1)*0.25*d0*d0
mja1=acos(-1)*0.25*d1*d1
gxji=acos(-1)*d0*d0*d0*d0/64
eg=2.1e5
et,1,beam3
et,2,link1
mp,ex,1,eg
mp,prxy,1,0.3
r,1,mja,gxji,d0
r,2,mja1,p/mja1/eg
k,1
k,2,,2000
k,3,,12000
k,4,-10000,2000
l,1,2
l,2,3
l,2,4
latt,1,1,1
lesize,all,,,10
lsel,none
l,4,3
latt,1,2,2
lesize,all,,,1
allsel,all
lmesh,all
dk,1,all
/solu
antype,0
nropt,full
time,1
nsubst,10
pi=acos(-1)
p1=p*cos(45/180*pi)
f,12,fx,-p1 !用的分解力方法
f,12,fy,-p1
f,22,fx,p1
f,22,fy,p1
ekill,31
solve
/solu
time,2
nsubst,10
ealive,31
fdele,all,all
solve
finish
/post1
etable,ni,smisc,1
plls,ni,ni
!dmx=73.169
|