C Schwerlastmodell SW/0: Unterschied zwischen den Versionen

Aus ITP
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Allgemeines ==
== Allgemeines ==
Für die meisten Bahnbrücken muss neben dem LM71 auch das Lastmodell SW0 nachgewiesen werden. Dabei sind je Gleis die zwei möglichen Exzentrizitäten sowie die zwei möglichen Geschwindigkeiten zu untersuchen.
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:
Die nachstehende Grafik zeigt die 7 "Grenzstellungen" der beiden Streckenlasten. Hier kommen die Werkzeuge:
Zeile 14: Zeile 14:


zum Einsatz.
zum Einsatz.
Bei den logischen Vergleichen muss ganz streng "geklammert" werden!
== Grafik ==
== Grafik ==
[[Datei:SW 0.jpg|gerahmt|zentriert|Laststellungen SW/0]]
[[Datei:SW 0.jpg|gerahmt|zentriert|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 ==
== 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
<nowiki>#define sw0</nowiki>
<nowiki>#define sw0</nowiki>
let#x  #dx
loop#1 #n
loop#i 49
if     (#x<#a)     $ nur der erste Teil und dieser auch nicht ganz vollständig
        if (#x<#a) $ nur erster Teil und der auch nur teilweise drauf
        lf nr #lf typ 'SW0' bez #text
                 let#lfnr #lfnr+1
                let#aa  0
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 let#ll  #x
                 let#l1 #x
                txa Fall 1: x<a
                 #include last1
                 txa lf #(#lf,4.0)
                 let#x #x+#dx
                 txa x #(#x,7.3)
        elseif ((#x<=(#a+#c))&(#x>#a)) $ erster Teil komplett drauf, zweiter Teil noch vollkommen außerhalb
                 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>#a) & (#x<=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite noch nicht
                 let#l1 #a
        lf nr #lf typ 'SW0' bez #text
                 #include last1
                txa Fall 2: x>a & x<=a+c
                 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
                 let#aa  #x-#a
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 let#ll  #a
                 let#l1 #a
                 stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#l2 #x-#a-#c
                stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 #include last1
elseif ((#x<(2*#a+#c)) & (#x>=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite nur teilweise
                 #include last2
        lf nr #lf typ 'SW0' bez #text
                 let#x #x+#dx
                txa Fall 3: x>a+c & x<=2a+c
        elseif ((#x>(2*#a+#c))&(#x<#l)) $ zweiter Teil vollständig  drauf
                 txa lf #(#lf,4.0)
                 $ hier nur theoretisch; diese Bedingung ist hier niemlas erfüllt,
                txa x #(#x,7.3)
                 $ da #l<2*#a+#c
                 let#aa  #x-#a
                 let#lfnr #lfnr+1
                 let#ll  #a
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                stab von 'grp' bis 1    typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#l1 #a
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                 let#l2 #a
                 let#aa  0
                 #include last1
                 let#ll  #x-(#a+#c)
                 #include last2
                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'
        elseif ((#x<=(#l+#a))&(#x>#l)) $ erster Teil bereits teilweise wieder runter
elseif ((#x<#l) & (#x>=(2*#a+#c))) $ beide Teile komplett drauf
                 let#lfnr #lfnr+1
        lf nr #lf typ 'SW0' bez #text
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                txa Fall 4: x>=l+2a+c & x<l
                 let#l1 #a-(#x-#l)
                txa lf #(#lf,4.0)
                 let#l2 #a
                 txa x #(#x,7.3)
                 #include last1ue
                 let#aa  #x-#a
                 #include last2
                 let#ll  #a
                let#x #x+#dx
                stab von 'grp' bis 1   typ 'pzz' pa #pv        a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
        elseif ((#x<=(#l+#a+#c))&(#x>#l+#a)) $ erster Teil vollkommen drüber, zweiter Teil noch nicht am Ende
                 stab von 'grp' bis 1    typ 'py'  pa -#ph      a #aa    l #ll    eya #ey[m] eza #ez[m] mess 'S'
                let#lfnr #lfnr+1
                 let#aa  #x-(2*#a+#c)
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                 let#ll  #a
                 let#l2 #a
                 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+#a)) & (#x>=#l)) $ vorderer Teil nur noch teilweise drauf
        else    ((#x<=(#l+#a+#c+#a))&(#x>#l+#a+#c)) $ zweiter Teil nur noch teilweise drauf
        lf nr #lf typ 'SW0' bez #text
                let#lfnr #lfnr+1
                txa Fall 5: x>l & x<=l+a
                 lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                txa lf #(#lf,4.0)
                 let#l2 (#a+#c+#a)-(#x-#l)
                txa x #(#x,7.3)
                #include last2ue
                 let#aa  #x-#a
                let#x #x+#dx
                let#ll  #l-#aa
        endif
                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
<nowiki>#enddef</nowiki>
<nowiki>#enddef</nowiki>
<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