C Schwerlastmodell SW/0: Unterschied zwischen den Versionen
Lutz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Lutz (Diskussion | Beiträge) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 17: | Zeile 17: | ||
Bei den logischen Vergleichen muss ganz streng "geklammert" werden! | 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 == | ||
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# | !*!Label SW0 Vertikallast e_min | ||
let#ey 0.156-0.083 | |||
let# | let#text 'V: SW/0 e=min' | ||
lf | let#lf 301 | ||
let#ph 0 $ ohne Fliehkräfte | |||
# | <nowiki>#define sw0</nowiki> | ||
loop#1 #n | |||
if (#x<#a) $ nur der erste Teil und dieser auch nicht ganz vollständig | |||
lf nr #lf typ 'SW0' bez #text | |||
lf | let#aa 0 | ||
let# | 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' | |||
lf | stab von 'grp' bis 1 typ 'py' pa -#ph a #aa l #ll eya #ey[m] eza #ez[m] mess 'S' | ||
let# | elseif ((#x>#a) & (#x<=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite noch nicht | ||
let# | lf nr #lf typ 'SW0' bez #text | ||
# | txa Fall 2: x>a & x<=a+c | ||
# | txa lf #(#lf,4.0) | ||
let#x # | 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' | |||
let# | 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 | |||
let# | lf nr #lf typ 'SW0' bez #text | ||
let# | 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 | |||
let# | 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# | let#aa 0 | ||
let# | 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 | |||
lf | txa lf #(#lf,4.0) | ||
let# | 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' | |||
lf | let#aa #x-(2*#a+#c) | ||
let# | 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 | endloop | ||
Zeile 81: | 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
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