Superelement¶
Befehle, die das Lesen und Zuweisen der Werte und Eigenschaften von Superelementen ermöglichen.
Geometrische Größen (Koordinaten, Längen und Flächen) entsprechen der global gewählten Längeneinheit (gobal_unit, siehe General 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 Coordinate transformation zur Verfügung.
Übersicht
Bezeichner |
Anzahl Werte |
Einheit |
Zugriff get/set |
Beschreibung |
valid |
1 |
g |
Gültigkeit |
|
key |
1 |
g |
Nummer |
|
srkey |
1 |
g |
Nummer der übergeordneten Subregion |
|
elkeys |
[N] |
g |
Nummern aller N Elemente des Superelements |
|
ndkeys |
[N] |
g |
Nummern aller N Knoten die das Superelement beinhaltet |
|
ndchn |
[N] |
g |
Nummern aller N Knotenketten die das Superelement beinhaltet |
|
bndkeys |
[N] |
g |
Nummern aller N Randknoten des Superelements |
|
col |
1 |
g |
Farbe [1:255] |
|
mcvtyp |
1 |
g |
Art der Magnetisierungskennlinie |
|
condtyp |
1 |
g |
Art des Leiters |
|
conduc |
1 |
S/m |
g/s |
Spezifische Leitfähigkeit |
rlength |
1 |
g/s |
Relative Länge |
|
velsys |
2 |
g/s |
Bezugssystem der Geschwindigkeitsdefinition (cartes, polar, cylind) |
|
velo |
2 |
m/s |
g/s |
Geschwindigkeit entlang Koordinate 1 und 2 des Bezugssystems “velsys” |
area |
1 |
gu² |
g |
Superelementfläche |
curd |
2 |
A/mm² |
g/s |
(Wirbel)stromdichte (Realteil, Imaginärteil) |
cur |
2 |
A |
g |
(Wirbel)strom (Realteil, Imaginärteil) im Superelement |
curlos |
1 |
W/gu |
g |
(Wirbel)stromverluste (Mittelwert) im Superelement pro Längeneinheit |
gu = globale Längeneinheit
Befehlsbeschreibung
Function: key = get_spel_key ( x, y )
Gibt die Nummer eines Superelementes zurück, das über die kartesischen Koordinaten x und y adressiert wird.
- Parameter
- [in] x Coordinate 1[in] y Coordiante 2
- Return values
key Superelement number
Beispiel
key = get_spel_key(x,y) -- Get the superelement's number
print("super-element key = %d",key) -- Output to shell
Command: get_spel_keys ( x, y, “var” )
Gibt die Nummern aller Superelemente einer Subregion zurück. Die Subregion wird über die kartesischen Koordinaten x und y adressiert.
- Parameter
- [in] x Coordinate 1[in] y Coordiante 2[out] var Bezeichner des Arrays in dem die Superelementnummern zurückgegeben werden
Beispiel
get_spel_keys(x,y,"keys") -- Get all superelements of the subregion addressed by x,y
N = table.getn(keys) -- Number of elements in array
Command: get_spel_keys ( “var” )
Gibt die Nummern aller Superelemente des Modells zurück
- Parameter
[out] var Bezeichner des Arrays in dem die Superelementnummern zurückgegeben werden
Beispiel
get_spel_keys("keys") -- Get all superelements of the model
N = table.getn(keys) -- Number of elements in array
Function: d1, d2, … = get_spel_data ( “identifier”, key )
Liest Daten eines Superelementes und gibt diese zurück.
- Parameter
- [in] identifier Art der auszulesenden Daten (siehe Tabelle)[in] key Superelement number
- Return values
- d1 First return valued2 Second return value
Beispiel: Ermittlung der Fläche eines Superelements
A = get_spel_data("area",key)
Alternativ zu key kann das Superelement auch über kartesische Koordinaten in der globalen Einheit adressiert werden.
A = get_spel_data("area",x,y)
Command: set_spel_data ( “identifier”, key, d1, d2, … )
Weist einem Superelement die angegebenen Eigenschaften zu.
- Parameter
- identifier Art der zuzuweisenden Eigenschaft (siehe Tabelle)key Superelement numberd1 First refering valued2 Second refering value
Beispiel: Vorgabe der Stromdichte eines Superelements
set_spel_data("curd",key,4.24,1.5)
Anwendungsbeispiel¶
Ermittlung der Nummern aller in einer Subregion enthaltenen Superelemente und zyklisches Lesen einer Größe, hier die Fläche der Superelemente.
get_spel_keys(x,y,"keys") -- get all superelememt keys in subregion addressed by x,y
N = table.getn(keys) -- number of keys
for i=1,N do
draw_spel(keys[i],"red",0) -- draw considered superelement
A = get_spel_data("area",keys[i]) -- get property of superelement
printf("%d %g",i,A) -- output result to shell
end
Rückgabe der Randknoten und Darstellung der Kontur eines Superelements.
bndkeys = get_spel_data("bndkeys",x0,y0) -- get all boarder node keys
grf_clear()
for j=1,#bndkeys-1 do -- loop over all keys
x1,y1 = get_node_data("xy",bndkeys[j]) -- get the node coordinates
x2,y2 = get_node_data("xy",bndkeys[j+1])
point(x1,y1,"black","x") -- draw nodes
line(x1,y1,x2,y2,"black") -- draw the contour
text(x1,y1,tostring(bndkeys[j]),"black",0.1) -- print node numbers
end
x1,y1 = get_node_data("xy",bndkeys[1]) -- add the last node and close contour
point(x2,y2,"black","x")
line(x1,y1,x2,y2,"black")
text(x2,y2,tostring(bndkeys[#bndkeys]),"black",0.1)