Software: FEM - Tutorial - Magnetfeld - Kraft und Koppelfluss - Script: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
K (Typos korrigiert) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Software:_FEM_-_Tutorial_-_Magnetfeld|↑]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow|→]] </div> | [[Software:_FEM_-_Tutorial_-_Magnetfeld|↑]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow|→]] </div> | ||
<div align="center">'''Kraft und Koppelfluss (Lua-Script)'''</div> | |||
<div align="center">'''Kraft und Koppelfluss ( | |||
Nachdem wir nun das relativ einfache Verfahren (gewichtetes "Stress-Tensor-Volumenintegral") zur Ermittlung der Magnetkraft kennen gelernt haben, werden wir es in unser | 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: | ||
=== Magnetkraft === | === Magnetkraft === | ||
<br> | <br> | ||
Wir öffnen zu Beginn des Postprozesses die | Wir öffnen zu Beginn des Postprozesses die Lua-Konsole mittels "showconsole();": | ||
------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||
-- Beginn des Postprozesses -- | -- Beginn des Postprozesses -- | ||
------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||
-- Kontrollausgaben auf der | -- Kontrollausgaben auf der Lua-Konsole: | ||
showconsole(); -- | showconsole(); -- Lua-Konsole öffnen, falls nicht offen | ||
mo_zoom(0,-rKugel/3,rKugel/3,rKugel/3); -- Rechteck um Magnet in Kugelsphäre | 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_showcontourplot (-1); -- Feldlinien normiert auf Bereich (lt.Preferences) | ||
Zeile 22: | Zeile 21: | ||
mo_groupselectblock(1); -- Auswahl Anker-Block -> Group=1 bei Def.! | mo_groupselectblock(1); -- Auswahl Anker-Block -> Group=1 bei Def.! | ||
Fz_Anker=mo_blockintegral(19); -- (19): z-Komponente der statischen Kraft | Fz_Anker=mo_blockintegral(19); -- (19): z-Komponente der statischen Kraft | ||
print ("F=", Fz_Anker, "[N]") -- Kraft in Outputfeld der LUA- | print ("F=", Fz_Anker, "[N]") -- Kraft in Outputfeld der LUA-Konsole | ||
Die Berechnung des Blockintegrals bezieht sich immer auf den aktuell ausgewählten Block: | Die Berechnung des Blockintegrals bezieht sich immer auf den aktuell ausgewählten Block: | ||
Zeile 37: | Zeile 36: | ||
mi_setblockprop ("Stahl",1,0,"<None>",0,'''1''',0); mi_clearselected(); | 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: | 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: | ||
* Man kann unter '''''View > | * Man kann unter '''''View > Contour Plot''''' die Anzeige der '''Stress Tensor Mask''' aktivieren! | ||
* Das Einblenden des Integrationspfades erfolgt erst mit einiger Verzögerung bei einer Aktualisierung des Grafikfensters. | * Das Einblenden des Integrationspfades erfolgt erst mit einiger Verzögerung bei einer Aktualisierung des Grafikfensters. | ||
<br> | |||
=== Koppelfluss === | === Koppelfluss === |
Aktuelle Version vom 26. Mai 2014, 13:57 Uhr
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:
Magnetkraft
Wir öffnen zu Beginn des Postprozesses die Lua-Konsole mittels "showconsole();":
------------------------------------------------------------------------------- -- Beginn des Postprozesses -- ------------------------------------------------------------------------------- -- Kontrollausgaben auf der Lua-Konsole: showconsole(); -- Lua-Konsole ö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-Konsole
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:
- Man kann unter View > Contour Plot die Anzeige der Stress Tensor Mask aktivieren!
- Das Einblenden des Integrationspfades erfolgt erst mit einiger Verzögerung bei einer Aktualisierung des Grafikfensters.
Koppelfluss
Zu Testzwecken sollte man die berechneten Ergebnisse auf der LUA-Konsole darstellen:
------------------------------------------------------------------------------- -- 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) .