C Parametrisierung und Variantenuntersuchung: Unterschied zwischen den Versionen
Lutz (Diskussion | Beiträge) |
Lutz (Diskussion | Beiträge) |
||
Zeile 48: | Zeile 48: | ||
txa Abstand der Telleranker vom Bord = #(#y_teller,5.3) m | txa Abstand der Telleranker vom Bord = #(#y_teller,5.3) m | ||
Besonderheiten bei Textvariablen | Besonderheiten bei '''Textvariablen''' | ||
Die vereinbarten Textvariabel (sto#styp 'B') sind immer 8 Zeichen lang. Es darf aber (in diesem Fall) nur das erste Zeichen verwendet werden. Deshalb muss bei der Verwendung der Textvariabel #styp das konkret zu verwendete Zeichen benannt werden: styp=#styp(1:1) Durch diesen Aufruf wird nur das B übergeben. | Die vereinbarten Textvariabel (sto#styp 'B') sind immer 8 Zeichen lang. Es darf aber (in diesem Fall) nur das erste Zeichen verwendet werden. Deshalb muss bei der Verwendung der Textvariabel #styp das konkret zu verwendete Zeichen benannt werden: styp=#styp(1:1) Durch diesen Aufruf wird nur das B übergeben. | ||
Zeile 54: | Zeile 54: | ||
Alternativ kann man auch ganz Eingabezeilen mittels #define vorgeben. Bei Plattenbalkenkonstruktionen geht z.Bsp. | Alternativ kann man auch ganz Eingabezeilen mittels #define vorgeben. Bei Plattenbalkenkonstruktionen geht z.Bsp. | ||
#define orto=GRP2 31,32 QEMX 0.005 QUEA 0.005 | <nowiki>#define orto=GRP2 31,32 QEMX 0.005 QUEA 0.005</nowiki> | ||
Um dann später im ASE | Um dann später im ASE |
Version vom 6. September 2019, 09:43 Uhr
Vorbemerkungen
Mittels der Parametrisierung (bei textbasierter Eingabe) lassen sich schnell und sicher die Eingangsgrößen einer Berechnung varieren. Wesentlich ist dabei, dass man wirklich an allen Stellen, wo der Paramter in die Berechnung eingeht, auch tatsählich diesen Parameter verwendet. Die Parametrisierung ist die Voraussetzung für Variantenuntersuchungen.
Aufgepasst!
Da das Programm keine Warnung bei der Überschreibung einer STO-Variable gibt, kann man natürlich echten Blödsinn fabrizieren.
Wenn zum Beispiel sto#w 65 die Brückenschiefe definiert und man zwischendurch mal die Windlast mit let#w 2,6 festlegt, dann ist es passiert. Falls man anschließend sin(#w) verwendet, um aus der Brückenschiefe etwas abzuleiten, so ist das Ergebnis sehr wunderlich! Hier hilft, für die Variablen länger Namen zu verwenden: #w_schiefe und #wind.
Da man bei integralen Brücken die unterschiedlichen Grenzwerte Bodensteifigkeiten betrachten muss, sind diese Bauwerke nur mittels Parametrisierung berechenbar.
Parametrisierung bei ähnlichen Bauteilen
Bei ähnlichen Bauteilen (Tunnelquerschnitte, Schächte, Tröge, Fertigteile) bietet es sich an, die Berechnung in einer Zentraldatei durchzuführen. Neben der Geometrie werden auch die Lasten über Parameter erfasst. Für jedes einzelne Bauteil wird dann nur eine kleine Steuerdatei erzeugt, in welcher die konkreten Parameter definiert werden. Diese Arbeitsweise hat einige Vorteile, bedarf aber auch einer gewissen Konsequenz und einer intensiven Kontrolle.
Skizzen
Grundlage der Parametrisierung sind Skizzen...gut aufheben!
Definition und Kontrollausgabe
prog template kopf Parameter
- sto#y_teller 0.75 $ Abstand der Telleranker vom Schrammbord
- sto#styp 'B' $ Art der Einfügung des Querschnitts auf die Strukturlinie
ende
Kontrollausgabe:
txa Abstand der Telleranker vom Bord = #(#y_teller,5.3) m
Besonderheiten bei Textvariablen
Die vereinbarten Textvariabel (sto#styp 'B') sind immer 8 Zeichen lang. Es darf aber (in diesem Fall) nur das erste Zeichen verwendet werden. Deshalb muss bei der Verwendung der Textvariabel #styp das konkret zu verwendete Zeichen benannt werden: styp=#styp(1:1) Durch diesen Aufruf wird nur das B übergeben.
Alternativ kann man auch ganz Eingabezeilen mittels #define vorgeben. Bei Plattenbalkenkonstruktionen geht z.Bsp.
#define orto=GRP2 31,32 QEMX 0.005 QUEA 0.005
Um dann später im ASE
$(orto)
und im CSM
steu ASE text "$(orto)"
zu schreiben.
Anwendung
!*!Label Telleranker
$ Knoten an der OK der Platte
loop#i #maxnr3
let#nr #i+1 spt nr 200+#nr x #x_teller(#nr) y #bg+#ly-#y_teller z #dz3*((#y2-#y_teller)/#y2) nx 0 ny 0 nz 1 sx 1 sy 0 sz 0 sptp typ kf grp 2 ref 300+#nr $ Kopplung auf den Lagerknoten
endloop
$ Knoten an der UK der Platte für die Telleranker
loop#i #maxnr3
let#nr #i+1 spt nr 300+#nr x #x_teller(#nr) y #bg+#ly-#y_teller z #z2-#z_teller fix 'pypz' nx 0 ny 0 nz 1 sx 1 sy 0 sz 0
endloop