C Schwerlastmodell SW/0: Unterschied zwischen den Versionen
Lutz (Diskussion | Beiträge) (→Grafik) |
Lutz (Diskussion | Beiträge) |
||
Zeile 23: | Zeile 23: | ||
== Block SW0 == | == Block SW0 == | ||
!*!Label SW/0 | |||
let#pv 133 $ kN/m | |||
let#ph 23.27/#alpha $ kN/m | |||
let#ez -2.558 | |||
let# | 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 | |||
loop# | let#x #dx $ Startwert | ||
let# | !*!Label SW0 Vertikallast e_min | ||
lf | 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 | |||
lf | if (#x<#a) $ nur der erste Teil und dieser auch nicht ganz vollständig | ||
let# | lf nr #lf typ 'SW0' bez #text | ||
# | let#aa 0 | ||
let#ll #x | |||
txa Fall 1: x<a | |||
txa lf #(#lf,4.0) | |||
lf | txa x #(#x,7.3) | ||
let# | 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>#a) & (#x<=(#a+#c))) $ der erste Teil schon komplett drauf, der zweite noch nicht | ||
# | lf nr #lf typ 'SW0' bez #text | ||
let#x # | txa Fall 2: x>a & x<=a+c | ||
txa lf #(#lf,4.0) | |||
txa x #(#x,7.3) | |||
let#aa #x-#a | |||
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' | |||
let# | stab von 'grp' bis 1 typ 'py' pa -#ph a #aa l #ll eya #ey[m] eza #ez[m] mess 'S' | ||
let# | 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# | 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' | ||
let# | 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 | lf nr #lf typ 'SW0' bez #text | ||
let# | 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 | |||
lf | 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' | ||
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 | endloop | ||
#enddef | |||
#include sw0 | |||
[[Kategorie:Bahn]] | [[Kategorie:Bahn]] | ||
[[Kategorie:SOFiLOAD]] | [[Kategorie:SOFiLOAD]] |
Version vom 13. Februar 2020, 08:28 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 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