C Parametrisierung und Variantenuntersuchung
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
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