C Schwerlastmodell SW/0: Unterschied zwischen den Versionen

Aus ITP
Zur Navigation springen Zur Suche springen
 
(7 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 ==
<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 79: 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