C Schwerlastmodell SW/0: Unterschied zwischen den Versionen

Aus ITP
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 23: Zeile 23:


== Block SW0 ==
== Block SW0 ==
<nowiki>#define sw0</nowiki>


let#x  #dx
!*!Label SW/0
 
let#pv  133    $ kN/m
 
let#ph  23.27/#alpha  $ kN/m - die Fliehkräfte sind nicht mit alpha zu multiplizieren
 
let#ez  -2.558
 
let#c  5.3
 
let#a  15
 
let#l  #l1+#l2 $ 37m
 
let#n  40      $ Anzahl der Laststellungen
 
let#dx  (#l+#c+2*#a-1)/#n  $ 1.78m
 
let#x  #dx     $ Startwert


loop#i 49
!*!Label SW0 Vertikallast e_min
        if (#x<#a) $ nur erster Teil und der auch nur teilweise drauf
let#ey  0.156-0.083
                 let#lfnr #lfnr+1
let#text 'V: SW/0 e=min'
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
let#lf  301
                 let#l1 #x
let#ph  0 $ ohne Fliehkräfte
                 #include last1
<nowiki>#define sw0</nowiki>
                 let#x #x+#dx
loop#1 #n
        elseif ((#x<=(#a+#c))&(#x>#a)) $ erster Teil komplett drauf, zweiter Teil noch vollkommen außerhalb
if     (#x<#a)     $ nur der erste Teil und dieser auch nicht ganz vollständig
                let#lfnr #lfnr+1
        lf nr #lf typ 'SW0' bez #text
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#aa  0
                 let#l1 #a
                 let#ll  #x
                 #include last1
                txa Fall 1: x<a
                 let#x #x+#dx
                 txa lf #(#lf,4.0)
        elseif ((#x<=(2*#a+#c))&(#x>#a+#c)) $ zweiter Teil teilweise drauf
                 txa x #(#x,7.3)
                let#lfnr #lfnr+1
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#l1 #a
elseif ((#x>#a) & (#x<=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite noch nicht
                 let#l2 #x-#a-#c
        lf nr #lf typ 'SW0' bez #text
                 #include last1
                txa Fall 2: x>a & x<=a+c
                 #include last2
                 txa lf #(#lf,4.0)
                 let#x #x+#dx
                txa x #(#x,7.3)
        elseif ((#x>(2*#a+#c))&(#x<#l)) $ zweiter Teil vollständig  drauf
                let#aa  #x-#a
                 $ hier nur theoretisch; diese Bedingung ist hier niemlas erfüllt,
                 let#ll  #a
                 $ da #l<2*#a+#c
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#lfnr #lfnr+1
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
elseif ((#x<(2*#a+#c)) & (#x>=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite nur teilweise
                 let#l1 #a
        lf nr #lf typ 'SW0' bez #text
                 let#l2 #a
                txa Fall 3: x>a+c & x<=2a+c
                 #include last1
                 txa lf #(#lf,4.0)
                 #include last2
                txa x #(#x,7.3)
                let#x #x+#dx
                 let#aa  #x-#a
        elseif ((#x<=(#l+#a))&(#x>#l)) $ erster Teil bereits teilweise wieder runter
                 let#ll  #a
                 let#lfnr #lfnr+1
                stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#l1 #a-(#x-#l)
                 let#aa  0
                 let#l2 #a
                 let#ll  #x-(#a+#c)
                 #include last1ue
                stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 #include last2
                stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                let#x #x+#dx
elseif ((#x<#l) & (#x>=(2*#a+#c))) $ beide Teile komplett drauf
        elseif ((#x<=(#l+#a+#c))&(#x>#l+#a)) $ erster Teil vollkommen drüber, zweiter Teil noch nicht am Ende
        lf nr #lf typ 'SW0' bez #text
                let#lfnr #lfnr+1
                txa Fall 4: x>=l+2a+c & x<l
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                txa lf #(#lf,4.0)
                 let#l2 #a
                 txa x #(#x,7.3)
                 #include last2
                 let#aa  #x-#a
                 let#x #x+#dx
                 let#ll  #a
        else    ((#x<=(#l+#a+#c+#a))&(#x>#l+#a+#c)) $ zweiter Teil nur noch teilweise drauf
                stab von 'grp' bis 1   typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                let#lfnr #lfnr+1
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 let#aa  #x-(2*#a+#c)
                 let#l2 (#a+#c+#a)-(#x-#l)
                 let#ll  #a
                #include last2ue
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                let#x #x+#dx
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
        endif
elseif ((#x<(#l+#a)) & (#x>=#l)) $ vorderer Teil nur noch teilweise drauf
        lf nr #lf typ 'SW0' bez #text
                txa Fall 5: x>l & x<=l+a
                txa lf #(#lf,4.0)
                txa x #(#x,7.3)
                let#aa  #x-#a
                 let#ll  #l-#aa
                stab von 'grp' bis 1   typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#aa  #x-(2*#a+#c)
                 let#ll  #a
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
elseif ((#x<(#l+#a+#c)) & (#x>=#l+#a)) $ nur noch hinterer Teil, der aber komplett
        lf nr #lf typ 'SW0' bez #text
                txa Fall 6: x>l+a+c & x<=l+a
                 txa lf #(#lf,4.0)
                txa x #(#x,7.3)
                 let#aa  #x-(2*#a+#c)
                 let#ll  #aa
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
else    ((#x<(#l+2*#a+#c)) & (#x>=#l+#a+#c)) $ hinterer Teil nur noch teilweise
        lf nr #lf typ 'SW0' bez #text
                txa Fall 7: x>l+a+c & x<=l+2a+c
                 txa lf #(#lf,4.0)
                txa x #(#x,7.3)
                 let#aa  #x-(2*#a+#c)
                let#ll  #l-#aa
                stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
endif
        let#lf  #lf+1
        let#x   #x+#dx
endloop
endloop


Zeile 84: Zeile 134:


<nowiki>#include sw0</nowiki>
<nowiki>#include sw0</nowiki>
s.a.: C:\Glossar\S\Sofiload_V\lastcopy: bahnlasten
[[G Bahnlasten|Bahnlasten]]


[[Kategorie:Bahn]]
[[Kategorie:Bahn]]
[[Kategorie:SOFiLOAD]]
[[Kategorie:SOFiLOAD]]

Aktuelle Version vom 13. Februar 2020, 08:33 Uhr

Allgemeines

Für die meisten Bahnbrücken muss neben dem LM71 auch das Lastmodell SW/0 nachgewiesen werden. Dabei sind je Gleis die zwei möglichen Exzentrizitäten sowie die zwei möglichen Geschwindigkeiten zu untersuchen.

Die nachstehende Grafik zeigt die 7 "Grenzstellungen" der beiden Streckenlasten. Hier kommen die Werkzeuge:

loop

    if
    elseif
    elseif
    ...
    else
    endif

endloop

zum Einsatz.

Bei den logischen Vergleichen muss ganz streng "geklammert" werden!

Grafik

Laststellungen SW/0

Die Phase 1 und 7 muss man üblicherweise nicht so unterteilen. Da sollte es genügen, die volle Länge "a" zu belasten.

Block SW0

!*!Label SW/0

let#pv 133 $ kN/m

let#ph 23.27/#alpha $ kN/m - die Fliehkräfte sind nicht mit alpha zu multiplizieren

let#ez -2.558

let#c 5.3

let#a 15

let#l #l1+#l2 $ 37m

let#n 40 $ Anzahl der Laststellungen

let#dx (#l+#c+2*#a-1)/#n $ 1.78m

let#x #dx $ Startwert

!*!Label SW0 Vertikallast e_min let#ey 0.156-0.083 let#text 'V: SW/0 e=min' let#lf 301 let#ph 0 $ ohne Fliehkräfte #define sw0 loop#1 #n if (#x<#a) $ nur der erste Teil und dieser auch nicht ganz vollständig

       lf nr #lf typ 'SW0' bez #text
               let#aa  0
               let#ll  #x
               txa Fall 1: x<a
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

elseif ((#x>#a) & (#x<=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite noch nicht

       lf nr #lf typ 'SW0' bez #text
               txa Fall 2: x>a & x<=a+c
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-#a
               let#ll   #a
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

elseif ((#x<(2*#a+#c)) & (#x>=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite nur teilweise

       lf nr #lf typ 'SW0' bez #text
               txa Fall 3: x>a+c & x<=2a+c
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-#a
               let#ll   #a
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               let#aa   0
               let#ll   #x-(#a+#c)
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

elseif ((#x<#l) & (#x>=(2*#a+#c))) $ beide Teile komplett drauf

       lf nr #lf typ 'SW0' bez #text
               txa Fall 4: x>=l+2a+c & x<l
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-#a
               let#ll   #a
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               let#aa   #x-(2*#a+#c)
               let#ll   #a
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

elseif ((#x<(#l+#a)) & (#x>=#l)) $ vorderer Teil nur noch teilweise drauf

       lf nr #lf typ 'SW0' bez #text
               txa Fall 5: x>l & x<=l+a
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-#a
               let#ll   #l-#aa
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               let#aa   #x-(2*#a+#c)
               let#ll   #a
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

elseif ((#x<(#l+#a+#c)) & (#x>=#l+#a)) $ nur noch hinterer Teil, der aber komplett

       lf nr #lf typ 'SW0' bez #text
               txa Fall 6: x>l+a+c & x<=l+a
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-(2*#a+#c)
               let#ll   #aa
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

else ((#x<(#l+2*#a+#c)) & (#x>=#l+#a+#c)) $ hinterer Teil nur noch teilweise

       lf nr #lf typ 'SW0' bez #text
               txa Fall 7: x>l+a+c & x<=l+2a+c
               txa lf #(#lf,4.0)
               txa x #(#x,7.3)
               let#aa   #x-(2*#a+#c)
               let#ll   #l-#aa
               stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
               stab von 'grp' bis 1    typ 'py'  pa -#ph       a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'

endif

       let#lf  #lf+1
       let#x   #x+#dx

endloop

#enddef

#include sw0


s.a.: C:\Glossar\S\Sofiload_V\lastcopy: bahnlasten Bahnlasten