Software: FEM - Tutorial - Magnetfeld - Kraft und Koppelfluss - Script
Aus OptiYummy
↑Nachdem wir nun das relativ einfache Verfahren (gewichtetes "Stress-Tensor-Volumenintegral") zur Ermittlung der Magnetkraft kennen gelernt haben, werden wir es in unser LUA-Script einfügen:
[bearbeiten] Magnetkraft
Wir öffnen zu Beginn des Postprozesses die LUA-Console mittels "showconsole();":
-------------------------------------------------------------------------------
-- Beginn des Postprozesses --
-------------------------------------------------------------------------------
-- Kontrollausgaben auf der LUA-Console:
showconsole(); -- LUA-Console öffnen, falls nicht offen
mo_zoom(0,-rKugel/3,rKugel/3,rKugel/3); -- Rechteck um Magnet in Kugelsphäre
mo_showcontourplot (-1); -- Feldlinien normiert auf Bereich (lt.Preferences)
-- mo_showdensityplot(legend,gscale,upper_B,lower_B,type);
mo_showdensityplot( 1 , 0 , 1 , 0 ,"bmag");
mo_seteditmode("areas");
mo_groupselectblock(1); -- Auswahl Anker-Block -> Group=1 bei Def.!
Fz_Anker=mo_blockintegral(19); -- (19): z-Komponente der statischen Kraft
print ("F=", Fz_Anker, "[N]") -- Kraft in Outputfeld der LUA-Cosole
Die Berechnung des Blockintegrals bezieht sich immer auf den aktuell ausgewählten Block:
- Einen Block wählt man am einfachsten mit groupselectblock(Gruppennummer).
- Bereiche des Modells, mit welchen später gemeinsame Operationen ausgeführt werden, sollten deshalb bereits bei der Definition einer gemeinsamen Gruppen-Nummer zugeordnet werden.
- Neben der Berechnung des Blockintegrals sind solche Operationen z.B. auch geometrische Transformation (Verschieben, Drehen).
- Im Beispiel muss deshalb im LUA-Script bei der Definition des Ankers in den Block-Properties statt der Gruppe 0 die Gruppe 1 verwendet werden:
-------------------------------------------------------------------------------
-- *********************************************
mi_seteditmode ("nodes"); -- A=Eisenkreis (Anker) ************************
-- *********************************************
:
mi_setblockprop ("Stahl",1,0,"<None>",0,1,0); mi_clearselected();
Anscheinend gibt es kein LUA-Kommando, um die Linien der Stress-Tensor-Maske sichtbar zu machen. Man muss das Einblenden auf der grafischen Oberfläche veranlassen:
- In Edit - Preferencen - Magnetics Output aktiviert man unter den Contour Plot Defaults die Anzeige der Stress Tensor Mask.
- Zusätzlich muss man auch noch im Contour-Plot-Dialog die Anzeige der Stress Tensor Mask aktivieren!
- Das Einblenden des Integrationspfades erfolgt erst mit einiger Verzögerung bei einer Aktualisierung des Grafikfensters.
Zu Testzwecken sollte man das Ergebnis auf der LUA-Konsole darstellen.
[bearbeiten] Koppelfluss
-------------------------------------------------------------------------------
-- Beginn des Postprozesses --
-------------------------------------------------------------------------------
:
iSpule, vOhm, Psi = mo_getcircuitproperties("Spule"); -- statische Größen
print ("i=", iSpule , "[A]");-- Strom
print ("v=", vOhm , "[V]");-- Spannungsabfall
print ("R=",vOhm/iSpule,"[Ohm]");-- Drahtwiderstand
print ("L=",Psi/iSpule ,"[H]");-- Induktivität
print ("Psi=", Psi ,"[Wb]");-- Koppelfluss
Den Koppelfluss Ψ der Spule erhält man als Bestandteil der Circuit-Properties nur gemeinsam mit dem statischen Spannungsabfall am ohmschen Widerstand des Spulendrahtes und dem aktuellen Strom:
- Als Variable für den Strom wurde der Parameter iSpule verwendet, da im statischen Fall der Strom konstant bleibt.
- vOhm und Psi werden im LUA-Script automatisch als Variablen angelegt (bei erstmaliger Benutzung).
- Aus Strom und Spannung kann man den ohmschen Widerstand R des Spulendrahtes berechnen.
- Analog erhält man aus dem Koppelfluss Ψ=f(s,i) und dem Strom ispule die aktuelle Induktivität L=f(s,i) .

