y(2):所有分段悬索(共7段)的高差和?c(i)?0;
17y(3)~y(5):前3段悬索的无应力长度分别等于成桥状态无应力长度; y(6):根据主跨跨径、预偏值以及前3段悬索的水平投影长度,计算最中间一段索的水平长度,其无应力长度应等于成桥状态该段的无应力长度。
施工中各个索夹的坐标计算由各段索的无应力长度相等解出,以3号索夹为例,设到3号索夹的水平投影长度为l3,当施工阶段n小于等于3时,由l3、H、c(1)得出无应力索长S03应与成桥状态的前三段索无应力长度之和相等;当施工阶段大于3时,分两段计算前两段的无应力索长S02及S03之和应与成桥状态的前三段索无应力长度之和相等。以此编辑句柄函数计算得出l3的值,再减去YP即为横坐标。有横坐标及每个施工阶段的ci即可算出相应的纵坐标。 2.4.2用matlab编辑【sg.m】子函数
%---------------------------------------------------------------------- function y=sg(x,SM0,SS00,n) p1=45;L1=800;C1=0;f1=80; Pi0=12000;L2=280;C2=85;
H0=x(1); %设主缆水平力为未知数 YP=x(2); %设塔顶预偏为未知数 V0=x(3); %设塔顶竖向力为未知数
ll=x(4:end); %设已安装完的各悬索段水平长度值为未知数 lm=L1+2*YP-2*sum(ll); %中间一段悬索水平长度值 l=[ll,lm,ll(end:-1:1)]; %全桥的长度向量 alpha=zeros(n,1);beta=zeros(n,1);c=zeros(n,1); V=zeros(n,2);S0=zeros(n,1); alpha(1)=asinh(V0/H0); beta(1)=p1*l(1)/2/H0;
c(1)=H0/p1*(cosh(alpha(1))-cosh(2*beta(1)-alpha(1)));
V(1,1)=V0; %后面的数为1的为节点右边的竖向力 V(1,2)=-H0*sinh(2*beta(1)-alpha(1)); %后面的数为2的为节点左边的竖向力 S0(1)=wuyingli2(p1,l(1),H0,c(1)); %第一段索的无应力长度
for i=2:2*n+1
V(i,1)=V(i-1,2)-Pi0; alpha(i)=asinh(V(i,1)/H0); beta(i)=p1*l(i)/2/H0;
c(i)=H0/p1*(cosh(alpha(i))-cosh(2*beta(i)-alpha(i))); S0(i)=wuyingli2(p1,l(i),H0,c(i));
V(i,2)=-H0*sinh(2*beta(i)-alpha(i)); %下一个节点左边的竖向力 end
y(1)=wuyingli2(p1,L2-YP,H0,C2)-SS00; %目标函数1,边跨主缆无应力长度等于成桥状态 y(2)=sum(c(:))-C1; %目标函数2,高差和等于中跨两端高差
y(3)=S0(1)-sum(SM0(1:6-n)); %目标函数3第一段l的无应力索长与成桥状态相等 for i=2:n+1
y(i+2)=S0(i)-SM0(5-n+i); %目标函数4~n+3第二段至第n+1段l无应力索长与成桥状态相等 end
2.4.3计算程序
写在上面的主程序【xuanlian_main.m】之
后%----------------------------------------------------------------------
Pi0=12000;
AZ2=zeros(5,2); %初始化施工中安装坐标矩阵 SJ1=zeros(5,2); %初始化1号索在施工中的坐标 SJ2=zeros(5,2); %初始化2号索在施工中的坐标 SJ3=zeros(5,2); %初始化3号索在施工中的坐标 SJ4=zeros(5,2); %初始化4号索在施工中的坐标 SJ5=zeros(5,2); %初始化5号索在施工中的坐标 fMSG=zeros(6,1); %初始化各施工阶段中跨最大挠度向量 fMSG(1)=fm0; %加入空缆状态为初始状态 TmaxSG=zeros(6,1); %初始化各施工阶段主缆最大拉力向量 a00=p1*(L1+2*YP)/2/H1; Tmax0=H1*sqrt(1+(sinh(a00))^2);
TmaxSG(1)=Tmax0; %加入空缆状态为初始状态
fSSG=zeros(6,1); %初始化各施工阶段边跨最大挠度向量 fSSG(1)=fs0; %加入空缆状态为初始状态 ZBMSG=zeros(6,2); %跨中主缆各施工阶段坐标矩阵 ZB4SG=zeros(6,2); %1/4跨主缆各施工阶段坐标矩阵 H0SG=zeros(6,1); %初始化各施工阶段主缆水平力向量 H0SG(1)=H1; %加入空缆状态为初始状态
V0SG=zeros(6,1); %初始化各施工阶段主缆水平力向量 V0SG(1)=V0; %加入空缆状态为初始状态 YPSG=zeros(6,1); %初始化各施工阶段主缆预偏向量 YPSG(1)=YP; %加入空缆状态为初始状态 YPHD=zeros(6,1); %初始化各施工阶段回顶值向量 YPHD(1)=0; %加入空缆状态为初始状态 for n=1:5
aSG=zeros(2*n+1,1);bSG=zeros(2*n+1,1);cSG=zeros(2*n+1,1); VSG=zeros(2*n+1,2);
xx1=ones(1,n)*80; %各悬索段水平长度初值
xx1(1)=400-(n-0.5)*80; %尚未施工的一段悬索水平长度初值 xx=[1e5,1,1e5,xx1]; %集成各未知量的迭代初值矩阵 [x,FVAL,EXITFLAG,OUTPUT]=fsolve(@sg,xx,opt,SM0,SS00,n); %迭代求解方程组 ll=x(4:end);
lm=L1+2*x(2)-2*sum(ll); %中间一段悬索水平长度值 l=[ll,lm,ll(end:-1:1)]; %全桥的长度向量
H0SG(n+1)=x(1); %相应n施工阶段的主缆水平力 YPSG(n+1)=x(2); %相应n施工阶段的塔顶预偏
VV=x(3); %相应n施工阶段的支座处竖向力 aSG(1)=asinh(VV/H0SG(n+1)); bSG(1)=p1*l(1)/2/H0SG(n+1);
cSG(1)=H0SG(n+1)/p1*(cosh(aSG(1))-cosh(2*bSG(1)-aSG(1))); YPHD(n+1)=YPSG(n)-YPSG(n+1); %回顶值计算 VSG(1,1)=VV;
VSG(1,2)=-H0SG(n+1)*sinh(2*bSG(1)-aSG(1)); %n施工阶段第一段索右端处的竖向力 for i=2:2*n+1
VSG(i,1)=VSG(i-1,2)-Pi0; %局部坐标原点处的平衡条件 aSG(i)=asinh(VSG(i,1)/H0SG(n+1)); bSG(i)=p1*l(i)/2/H0SG(n+1);
cSG(i)=H0SG(n+1)/p1*(cosh(aSG(i))-cosh(2*bSG(i)-aSG(i))); %第i段索的两端高差 VSG(i,2)=-H0SG(n+1)*sinh(2*bSG(i)-aSG(i)); %计算第i段索右端竖向分力 end if n<=1
hand11=@(x)(wuyingli2(p1,x,H0SG(n+1),xuanlianxian(x,p1,H0SG(n+1),l(1),cSG(1)))-sum(SM0(1:5))); %根据无应力长度计算1号索水平投影长度的句柄函数
aa1=fsolve(hand11,360,opt);
SJ1(n,1)=aa1-YPSG(n+1); %1号索在n阶段的x坐标
SJ1(n,2)=xuanlianxian(aa1,p1,H0SG(n+1),l(1),cSG(1)); %1号索在n阶段的y坐标 else
hand22=@(x)(wuyingli2(p1,l(1),H0SG(n+1),cSG(1))+wuyingli2(p1,x-l(1),H0SG(n+1),cSG(2))-sum(SM0(1:5))); %根据无应力长度计算1号索水平投影长度的句柄函数
bb1=fsolve(hand22,360,opt);
SJ1(n,1)=bb1-YPSG(n+1); %1号索在n阶段的x坐标 SJ1(n,2)=sum(cSG(1:n)); %1号索在n阶段的y坐标 end if n<=2
hand21=@(x)(wuyingli2(p1,x,H0SG(n+1),xuanlianxian(x,p1,H0SG(n+1),l(1),cSG(1)))-sum(SM0(1:4)));
aa2=fsolve(hand21,280,opt); SJ2(n,1)=aa2-YPSG(n+1);
SJ2(n,2)=xuanlianxian(aa2,p1,H0SG(n+1),l(1),cSG(1)); else
hand22=@(x)(wuyingli2(p1,l(1),H0SG(n+1),cSG(1))+wuyingli2(p1,x-l(1),H0SG(n+1),cSG(2))-sum(SM0(1:4)));