.. _accessNode: ========= **Nodes** ========= .. role:: red .. role:: big Befehle, die das Lesen und Zuweisen der Werte und Eigenschaften von Knoten ermöglichen. Geometrische Größen (Koordinaten, Längen und Flächen) entsprechen der global gewählten Längeneinheit (gobal_unit, siehe :any:`settings`). Übergebene oder zurückgelieferte Vektoren (Komponenten der Vektoren) beziehen sich, wenn in der Funktionsbeschreibung nicht explizit angegeben, auf das kartesisches System. Zur einfachen Umrechnung zwischen unerschiedlichen Bezugssystemen stehen Funktionen zur :any:`trans` zur Verfügung. :big:`Übersicht` ---------------------------------------------------------------------- +------------+--------------+---------+-----------------+------------------------------------------------------+ | Bezeichner | Anzahl Werte | Einheit | Zugriff get/set | Beschreibung | +------------+--------------+---------+-----------------+------------------------------------------------------+ | valid | 1 | - | g | Gültigkeit (0 = ungültiger Knoten) | +------------+--------------+---------+-----------------+------------------------------------------------------+ | key | 1 | - | g | Nummer des Knotens | +------------+--------------+---------+-----------------+------------------------------------------------------+ | elkeys | [N] | - | g | Nummern aller angrenzenden N Elemente des Knotens | +------------+--------------+---------+-----------------+------------------------------------------------------+ | xy | 2 | gu | g/s | Koordinaten des Knotens | +------------+--------------+---------+-----------------+------------------------------------------------------+ | bndcnd | 1 | - | g/s | Art der Randbedingung (0 = kein Randknoten) | +------------+--------------+---------+-----------------+------------------------------------------------------+ | pernod | 1 | - | g/s | Art der Periodizitätsbedingung (0 = kein Randknoten) | +------------+--------------+---------+-----------------+------------------------------------------------------+ | vpot | 2 | Vs/m | g/s | Vektorpotential (Real- und Imaginärteil) | +------------+--------------+---------+-----------------+------------------------------------------------------+ | elkeys | [N] | - | g | Nummern aller N angrenzenden Elemente des Knotens | +------------+--------------+---------+-----------------+------------------------------------------------------+ gu = globale Längeneinheit :big:`Befehlsbeschreibung` ---------------------------------------------------------------------- .. admonition:: Function: *key* = get_node_key ( *x, y* ) Rel 8.2 Gibt die Nummer eines Knoten zurück, der über die kartesischen Koordinaten x und y adressiert wird. Der Fangradius kann über die Funktion pickdist (siehe :any:`settings`) vorgegeben werden. **Parameter** | [in] :red:`x` Coordinate 1 | [in] :red:`y` Coordiante 2 **Return value** :red:`key` Knotennummer **Example** :: key = get_node_key(x,y) -- Get the element's number printf("node key = %d",key) -- Output to shell .. admonition:: Command: get_node_keys ( *elkey, sekey, srkey, wbkey, "var"* ) Rel 8.2 Gibt die Nummern der Knoten zurück, die zu dem angegebenen Element (elkey), Superelement (sekey), der Subregion (srkey) oder der Wicklung (wbkey) bzw. dem Massivleiter gehören. Die erste von Null verschiedene Nummer bestimmt die Auswahl der Knoten. Wird für alle Nummern Null angegeben, liefert die Funktion alle Knoten des FEMAG-Modells zurück. **Parameter** | [in] :red:`elkey` Elementnummer | [in] :red:`sekey` Superelementnummer | [in] :red:`srkey` Subregionnummer | [in] :red:`wbkey` Wicklungs- oder Massivleiternummer | [out] :red:`var` Bezeichner des Arrays in dem die Knotennummern zurückgegeben werden Beispiel für Auswahl aller Knoten des FEMAG-Modells :: get_node_keys("keys") -- Get all node keys Beispiel für Auswahl der Knoten die zum Superelement mit der Nummer 10 gehören. :: get_node_keys(0,10,0,0,"keys") -- Get all node keys belonging to superelement 10 N = table.getn(keys) -- Number of elements in array Die Nummer eines Superelementes kann mit der Funktion get_spel_key(x,y) ausgehend von einem Punkt (x,y) innerhalb des Superelements ermittelt werden (siehe Abschnitt :ref:`accessSuper`). .. admonition:: Function: *d1, d2, ...* = get_node_data ( *"identifier", key* ) Re. 8.2 Liest Daten eines Knotens und gibt diese zurück. **Parameter** | [in] :red:`identifier` Art der auszulesenden Daten (siehe Tabelle) | [in] :red:`key` Knotennummer **Return values** | :red:`d1` Erster Rückgabewert | :red:`d2` Zweiter Rückgabewert Beispiel: Lesen des Vektorpotentials eines Knotens :: AzRe,AzIm = get_node_data("vpot",key) Alternativ zu key kann der Knoten auch über kartesische Koordinaten in der globalen Einheit adressiert werden. :: AzRe,AzIm = get_node_data("vpot",x,y) .. admonition:: Command: set_node_data ( "identifier", key, d1, d2, ... ) Rel. 8.2 Weist einem Knoten die angegebene Daten zu, **Parameter** | [in] :red:`identifier` Art der Daten (siehe Tabelle) | [in] :red:`key` Knotennummer | [in] :red:`d1` Erster zuzuweisender Wert | [in] :red:`d2` Zweiter zuzuweisender Wert Beispiel: Schreiben des Vektorpotentials eines Knotens :: set_node_data("vpot",key,AzRe,AzIm) Alternativ zu key kann der Knoten auch über kartesische Koordinaten in der globalen Einheit adressiert werden. :: set_node_data("vpot",x,y,AzRe,AzIm)