| |
- KonstanteAnfangsloesungFuerSet(modell, instname, setname, ausgabewerte)
- Erstelle einen Initial Condition Solution Eintrag im Keyword Block des Modells namens mdbname.
In diesem Block werden allen Elementen aus dem Set setname des Instanz instname die uebergebenen
Werte ausgabewerte als Anfangsloesung zugewiesen. Im Keyword Block wird dazu ein Verweis auf eine
Datei <mdbname>_sdv_init.add verwiesen, die angelegt und mit den Werten beschrieben wird.
- ZielwertquaderEinlesen(dateiname, numKoordinaten, numVar, knotenwerte=False)
- Liest aus einer csv-Datei namens dateiname alle Zeilen ein. In jeder Zeile werden
numKoordinaten Eintraege als Koordinaten erwartet (d.h. 2 oder 3) und die restlichen Werte werden
als Ergebnisse an diesen Koordinaten betrachtet. Mit 2 Koordinaten werden Elemente aus vier
Knoten angenommen, mit 3 Koordinaten aus acht.
Falls knotenwerte=True werden die Koordinaten als Knotenkoordinaten und die Ergebnisse an den
Knotenkoordinaten interpretiert. Andernfalls werden die Koordinaten als Elementpunkte betrachtet,
um die mithilfe der Nachbarelementpunkte die Elementgrenzen (Knotenkoordinaten) bestimmt werden.
Erwartet jeweils die gleiche Anzahl an Werten fuer jeden Vektor einer Koordinatenrichtung, um
daraus ohne weitere Informationen quaderfoermige Elemente zu generieren (fuer knotenweise=True).
Fuer knotenweise=False sollte zusaetzlich jeweils ein konstanter Abstand zwischen den Werten pro
Koordinatenrichtung vorliegen, da ansonsten die Ergebnisse nicht am tatsaechlichen Mittelpunkt
definiert sind (aber so interpretiert werden).
Gibt [Koordinaten, Elemente, Ergebnisse] zurueck.
- ZielwertquaderErstellen(dateiname, xwerte, ywerte, zwerte, ergebnisfunktion)
- Erstelle eine Ausgabedatei namens dateiname mit Ausgabegroessen fuer alle uebergebenen Werte.
Dabei werden xwerte, ywerte und zwerte Listen mit streng monoton zunehmende oder abnehmende
Punktkoordinaten erwartet. Fuer jede Kombination von Koordinaten aus den drei Vektoren wird mit
der uebergebenen ergebnisfunktion eine Ausgabe berechnet.
ergebnisfunktion kann eine beliebige Funktion sein, die jedoch ein Argument punktkoordinaten als
Liste mit drei Eintraegen akzeptieren und eine Liste zurueckgeben muss
Jede Kombination von Punktkoordinaten und deren Rueckgabewerte von ergebnisfunktion werden in
eine Zeile der Ausgabedatei geschrieben.
- Zustandsuebertragung(session, odbname, odbinstname, variablenliste, modell, mdbinstname, mdbknoten=[], odbknoten=[], step=-1, frame=-1)
- Uebertrage den Zustand aus einer odb namens odbname auf ein in der aktuellen session geladenes
Modell modell. Dazu wird jeden in variablenliste uebergebene Variable an jedem Knoten bzw.
Element (je nach Typ) der odbinstname aus dem angegebenen step und frame ausgelesen und als
Anfangsloesungen von den Koordinaten der odbelemente oder odbknoten auf die Koordinaten der
mdbknoten in der Assembly-Instanz namens mdbinstname übertragen. Da die Position der Knoten nicht
uebereinstimmen muss, wird eine lineare Interpolation der Werte aus der odb-Datei auf die Knoten
des neuen Modells vorgenommen.
Fuer eine Zustandsuebertragung auf ein gleichartiges Modell (gleiche Offsets und Geometrien) ist
es nicht noetig, mdbknoten und odbknoten zusaetzlich zu uebergeben. Wenn die Geometrieen aber
verschoben sind (anderes Nulloffset o.ae.), dann bietet sich eine Transformation der Koordinaten
an (bspw. mit der Funktion Knotentransformation). Die aktualisierten mdbknoten oder/und odbknoten
muessen dann entsprechend uebergeben werden.
Gibt [gewichtungKnotenLabels, gewichtungKnotenWerte, bezugsElemente] zurueck.
Es wird 2D -> 2D und 3D -> 3D unterstuetzt, aber nicht gemischt. Fuer 2D-Elemente sind Dreiecke
und Vierecke zulaessig, fuer 3D-Elemente Tetraeder und Hexahedrons. Die Unterscheidung wird am
Elementnamen getroffen: Alle Elemente mit 3D im Namen zaehlen zu den 3D-Elementen (bspw. C3D8R).
Wichtig: Alle Elemente des parts muessen den gleichen Elementyp haben.
- Zustandszuweisung(session, modell, zielkoordinaten, zielelemente, zielwerte, mdbinstname, mdbknoten=[], variablentyp=['SDV'])
- Weise die zielwerte an den zielkoordinaten bze. zielelemente einem in der aktuellen session
geladenem Modell modell zu als Anfangsloesung fuer variablentyp SDV zu.
Dazu wird fuer die in variablentyp gelistete Variable an jedem Knoten bzw.
Element (je nach Typ) mit den Koordinaten zielkoordinaten die Anfangsloesungen aus zielwerte auf
die Koordinaten der mdbknoten in der Assembly-Instanz namens mdbinstname übertragen. Da die
Position der Knoten nicht uebereinstimmen muss, wird eine lineare Interpolation der zielwerte auf
die Knoten des neuen Modells vorgenommen.
Wenn variablentyp an Knoten definiert ist, wird zielkoordinaten als Knotenkoordinaten und
zielwerte als Knotenwerte interpretiert und zugewiesen. Falls variablentyp an Elementen definiert
ist, werden zielkoordinaten als Koordinaten der Elementmittelpunkte definiert und zielwerte als
Elementwerte.
Fuer eine Zustandszuweisung ohne zusaetzliche Transformation der Positionen (bspw. Verschiebung
oder Rotation), ist es nicht noetig, mdbknoten zusaetzlich zu uebergeben. Andernfalls bietet sich
eine Transformation der Koordinaten an (bspw. mit der Funktion Knotentransformation). Die
aktualisierten mdbknoten muessen dann entsprechend uebergeben werden.
Gibt [gewichtungKnotenLabels, gewichtungKnotenWerte, bezugsElemente] zurueck.
Wichtig: Alle Elemente des parts muessen den gleichen Elementyp haben.
|