C Schwerlastmodell SW/0

Aus ITP
Zur Navigation springen Zur Suche springen

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