C Schwerlastmodell SW/0: Unterschied zwischen den Versionen

Aus ITP
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
[[Datei:SW 0.jpg|gerahmt|zentriert|Laststellungen SW/0]]
[[Datei:SW 0.jpg|gerahmt|zentriert|Laststellungen SW/0]]


#define sw0
let#x  #dx
loop#i  49
        if (#x<#a)  $ nur erster Teil und der auch nur teilweise drauf
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l1 #x
                #include last1
                let#x #x+#dx
        elseif ((#x<=(#a+#c))&(#x>#a)) $ erster Teil komplett drauf, zweiter Teil noch vollkommen außerhalb
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l1 #a
                #include last1
                let#x #x+#dx
        elseif ((#x<=(2*#a+#c))&(#x>#a+#c)) $ zweiter Teil teilweise drauf
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l1 #a
                let#l2 #x-#a-#c
                #include last1
                #include last2
                let#x #x+#dx
        elseif ((#x>(2*#a+#c))&(#x<#l)) $ zweiter Teil vollständig  drauf
                $ hier nur theoretisch; diese Bedingung ist hier niemlas erfüllt,
                $ da #l<2*#a+#c
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l1 #a
                let#l2 #a
                #include last1
                #include last2
                let#x #x+#dx
        elseif ((#x<=(#l+#a))&(#x>#l)) $ erster Teil bereits teilweise wieder runter
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l1 #a-(#x-#l)
                let#l2 #a
                #include last1ue
                #include last2
                let#x #x+#dx
        elseif ((#x<=(#l+#a+#c))&(#x>#l+#a)) $ erster Teil vollkommen drüber, zweiter Teil noch nicht am Ende
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l2 #a
                #include last2
                let#x #x+#dx
        else    ((#x<=(#l+#a+#c+#a))&(#x>#l+#a+#c)) $ zweiter Teil nur noch teilweise drauf
                let#lfnr #lfnr+1
                lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
                let#l2 (#a+#c+#a)-(#x-#l)
                #include last2ue
                let#x #x+#dx
        endif
endloop
#enddef
#include sw0
[[Kategorie:Bahn]]
[[Kategorie:Bahn]]
[[Kategorie:SOFiLOAD]]
[[Kategorie:SOFiLOAD]]

Version vom 14. Oktober 2019, 08:43 Uhr

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.

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

loop

    if
    elseif
    elseif
    ...
    else
    endif

endloop

zum Einsatz.

Laststellungen SW/0
  1. define sw0

let#x #dx loop#i 49

       if (#x<#a)  $ nur erster Teil und der auch nur teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #x
               #include last1
               let#x #x+#dx
       elseif ((#x<=(#a+#c))&(#x>#a)) $ erster Teil komplett drauf, zweiter Teil noch vollkommen außerhalb
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               #include last1
               let#x #x+#dx
       elseif ((#x<=(2*#a+#c))&(#x>#a+#c)) $ zweiter Teil teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               let#l2 #x-#a-#c
               #include last1
               #include last2
               let#x #x+#dx
       elseif ((#x>(2*#a+#c))&(#x<#l)) $ zweiter Teil vollständig  drauf
               $ hier nur theoretisch; diese Bedingung ist hier niemlas erfüllt,
               $ da #l<2*#a+#c
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               let#l2 #a
               #include last1
               #include last2
               let#x #x+#dx
       elseif ((#x<=(#l+#a))&(#x>#l)) $ erster Teil bereits teilweise wieder runter
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a-(#x-#l)
               let#l2 #a
               #include last1ue
               #include last2
               let#x #x+#dx
       elseif ((#x<=(#l+#a+#c))&(#x>#l+#a)) $ erster Teil vollkommen drüber, zweiter Teil noch nicht am Ende
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l2 #a
               #include last2
               let#x #x+#dx
       else    ((#x<=(#l+#a+#c+#a))&(#x>#l+#a+#c)) $ zweiter Teil nur noch teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l2 (#a+#c+#a)-(#x-#l)
               #include last2ue
               let#x #x+#dx
       endif

endloop

  1. enddef
  2. include sw0