C Schwerlastmodell SW/0: Unterschied zwischen den Versionen
		
		
		
		
		
		Zur Navigation springen
		Zur Suche springen
		
				
		
		
	
Lutz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung  | 
				Lutz (Diskussion | Beiträge)  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.
- 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
 
