# Определение объемов земляных работ, тяговые расчеты, реконструкция плана существующей железной дороги, изменение междупутья на кривой, страница 5

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash2

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤56,5

q=184000*(0.228+7/(53+3*rd)

case rd≤80

q=396000-14136.67*rd**2-0.783333*rd**3)

otherwise

q=52800+740*rd**2

endcase

a1=sqrt(rd**2+12*(q/(ra+rb)-b1-y))-rd

rd=rd+a1

rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash3

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤13,0

q=58200

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤60

q=128970-7682.7*rd+217.821*rd**2-2.9475*rd**3+0.0152917*rd**4

otherwise

q=61450-1818.7*rd+27.142*rd**2-0.203333*rd**3+0.00058333*rd**4

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash4

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤56

q=138000*(0.228+7/(53+3*rd))

case rd≤60

q=750000-51166.7*rd+1436.67*rd**2-18.7333*rd**3+0.0933333*rd**4

otherwise

q=116800-3253.3*rd+33*rd**2-0.116667*rd**3

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash5

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤16

q=138000*(0.25+8/(100+20*rd))

case rd≤60

q=84100-4431.67*rd+112.336*rd**2-1.38338*rd**3+0.006667*rd**4

otherwise

q=12900+342.5*rd-12.4584*rd**2+0.125*rd**3-4.1667*0.0001*rd**4

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash6

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.008*rd+0.00025*rd**2

c1=1.12+5.3*0.001*rd+0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤25.3

q=21900

case rd≤60

q=49600-1628.3*rd+24.755*rd**2-0.141667*rd**3

otherwise

q=24550-340.83*rd+2*rd**2-0.0041667*rd**3

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash7

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤10,4

q=30200

case rd≤60

q=29200+553.3*rd-54.333*rd**2+1.066667*rd**3+0.0066667*rd**4

otherwise

q=35900-759.33*rd+7.6958*rd**2-0.0379167*rd**3+0.000072917*rd**4

endcase

a1=sqrt( (rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash8

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤80.5

q=2700

case rd≤116,4

q=220200-5468.3*rd+51.5*rd**2-0.1.6667*rd**3

otherwise

q=502900-10252.67*rd+77.275*rd**2-0.24333*rd**3+0/00024*rd**4

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash9

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤87

q=27000

case rd≤127

q=91600-1391.67*rd+11.5*rd**2-0.033333*rd**3

otherwise

q=122300-1255*rd+3.5*rd**2

endcase

a1=sqrt( (rd**2+12*(q/(ra+rb)-b1-y))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash10

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+1.31*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤22

q=33400

case rd≤40

q=55000-1083.3*rd+0.13333*rd**3

case rd≤80

q=42000-441.67*rd-7.416*rd**2+0.166667*rd**3-0.00083383*rd**4

otherwise

q=18800-71.67*rd-0.75*rd**2+0.0041667*rd**3

endcase

a1=sqrt( (rd**2+12*(q/(ra+rb)-b1-y))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd

q=(ra+rb)*(b1+y)

if q>0

re=re+0.001*q*(s-s1)

endif

exit

else

rf=rf+3/(rd-0.5*a1)

re=re+5*0.00001*q

s1=s1+0.05

if s-s1<0.0001

exit

endif

endif

enddo

repl d with rd.e with re.f with rf

return

proc rash22

u=ra/(ra+rb)

s1=0

do while.t.

d1=1.9+0.01*rd+0.0003*rd**2

c1=1.12+5.3*0.001*rd+*0.0003*rd**2

b1=u*d1+(1-u)*c1

do case

case rd≤40

q=184000*(0.228+7/(53+3*rd))

case rd≤58

q=184000*(0.09+95/(413*3*rd))

case rd≤80

q=226200-4550*rd**2

otherwise

q=180200-4015*rd**2-0.1*rd**3

endcase

a1=sqrt(abs(rd**2+12*(q/(ra+rb)-b1-y)))-rd

rd=rd+a1

if rd≥rc

rd=rc

rf=rf+60*(s-s1)/rd