Software: FEM - Tutorial - Magnetfeld - Vernetzung und Berechnung: Unterschied zwischen den Versionen
Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
[[Software:_FEM_-_Tutorial_-_Magnetfeld|↑]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|→]] </div> | [[Software:_FEM_-_Tutorial_-_Magnetfeld|↑]] <div align="center"> [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|→]] </div> | ||
<div align="center">'''Vernetzung und Berechnung'''</div> | <div align="center">'''Vernetzung und Berechnung'''</div> | ||
=== Globale Pfad-Variable === | === Globale Pfad-Variable === | ||
* Spätestens jetzt muss man das Speichern des FEM-Modells veranlassen, da erst danach die Vernetzung durchgeführt werden kann. | * Spätestens jetzt muss man das Speichern des FEM-Modells veranlassen, da erst danach die Vernetzung durchgeführt werden kann. | ||
* Im Sinne der Portabilität definieren wir dafür eine globale Pfad-Variable in der ersten Script-Zeile, bevor wir das Script fortschreiben: | * Im Sinne der Portabilität definieren wir dafür eine globale Pfad-Variable in der ersten Script-Zeile, bevor wir das Script fortschreiben: | ||
Zeile 13: | Zeile 11: | ||
------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||
mi_saveas(mydir .. "Magnet_xx.fem"); -- Speichern in vorhandenen Ordner | mi_saveas(mydir .. "Magnet_xx.fem"); -- Speichern in vorhandenen Ordner | ||
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_netz_automatisch.gif|right]] | |||
=== Automatische Vernetzung === | === Automatische Vernetzung === | ||
Wir hatten für alle Bereiche des Modells eingestellt, dass der Vernetzungsgenerator "Triangle" selbst die erforderliche Maschengröße ermitteln soll: | Wir hatten für alle Bereiche des Modells eingestellt, dass der Vernetzungsgenerator "Triangle" selbst die erforderliche Maschengröße ermitteln soll: | ||
mi_createmesh(); -- Erzeugen des Netzes | mi_createmesh(); -- Erzeugen des Netzes |
Version vom 9. Juni 2009, 15:11 Uhr
Vernetzung und Berechnung
Globale Pfad-Variable
- Spätestens jetzt muss man das Speichern des FEM-Modells veranlassen, da erst danach die Vernetzung durchgeführt werden kann.
- Im Sinne der Portabilität definieren wir dafür eine globale Pfad-Variable in der ersten Script-Zeile, bevor wir das Script fortschreiben:
mydir="E:\\femm\\"; : ------------------------------------------------------------------------------- -- Vernetzung und Feld-Berechnung (nach Speichern des Modells) -- ------------------------------------------------------------------------------- mi_saveas(mydir .. "Magnet_xx.fem"); -- Speichern in vorhandenen Ordner
Automatische Vernetzung
Wir hatten für alle Bereiche des Modells eingestellt, dass der Vernetzungsgenerator "Triangle" selbst die erforderliche Maschengröße ermitteln soll:
mi_createmesh(); -- Erzeugen des Netzes
- Das Ergebnis der automatischen Vernetzung sieht auf den ersten Blick nicht schlecht aus. So werden z.B. in den kleineren Bereichen feinere Netze genutzt (weil größere Maschen nicht hineinpassen!).
- Schaut man sich die Vernetzung in den Luftspalten jedoch genauer an, erkennt man, dass grundsätzlich nur eine Element-Schicht benutzt wird. Das betrifft:
- Führungsspalt zwischen Anker und Deckel
- Wicklungsspalt zwischen Spule und Eisenkreis
- Bohrungsbereich
- Arbeitsluftspalt zwischen Anker und Topf
- Restspalt zwischen Topf und Deckel
- Insbesondere für die Ermittlung der Magnetkraft (z.B. auf den beweglichen Anker) wird im FEMM-Manual eine mehrlagige Vernetzung der Luft um den untersuchten Eisenbereich gefordert. Nur dadurch wird gewährleistet, dass die Feldgradienten hinreichend genau berechnet werden.
- Vergleichsrechnungen zeigten zwar, dass die dadurch bedingten Abweichungen bei der Magnetkraft-Berechnung kleiner als 1% sind. Trotzdem werden wir in Hinblick auf eine Minimierung numerischer Ungenauigkeiten die Luftspalte mit mehreren Lagen vernetzen.
Vernetzungssteuerung
- Um den Vernetzungsgrad beeinflussen zu können, definieren wir dafür eine globale Variable nLuft im Parameterabschnitt des LUA-Scripts.
- Dazu notieren wir einen separaten Abschnitt für numerische Parameter vor den Entwurfsparametern:
------------------------------------------------------------------------------- -- Numerische Parameter zur Steuerung der Simulationsgenauigkeit -- ------------------------------------------------------------------------------- nLuft=3; -- Zahl von Elementlagen in kleinen Luftspalten
- Da eine feinere Vernetzung sehr schnell zu sehr langen Rechenzeiten führt, können wir über den Parameter nLuft sehr einfach einen günstigen Kompromiss zwischen Genauigkeit und Rechenzeit finden.
- Für jeden Luftspalt existiert ein Parameterwert (z.B. sGleit). So kann man problemlos beim Setzen der Blockproperties die automatische Vernetzung durch die Angabe einer spaltabhängigen Maschengröße ersetzen (z.B. sGleit/nLuft).
Führungsspalt
-- mi_setblockprop ("Luft",1, 0 ,"<None>",0,0,0); ersetzen durch: mi_setblockprop ("Luft",0,sGleit/nLuft,"<None>",0,0,0);
Wickelspalt
-- mi_setblockprop ("Luft",1, 0 ,"<None>",0,0,0); ersetzen durch: mi_setblockprop ("Luft",0,sWickel/nLuft,"<None>",0,0,0);
Bohrung
-- mi_setblockprop ("Luft",1, 0 ,"<None>",0,0,0); ersetzen durch: mi_setblockprop ("Luft",0,dStift/2/nLuft,"<None>",0,0,0);
Arbeitsluftspalt
-- mi_setblockprop ("Luft",1, 0 ,"<None>",0,0,0); ersetzen durch: mi_setblockprop ("Luft",0,sAnker/nLuft,"<None>",0,0,0);
Restspalt
-- mi_setblockprop ("Luft",1, 0 ,"<None>",0,0,0); ersetzen durch: mi_setblockprop ("Luft",0,sDeckel/nLuft,"<None>",0,0,0);
Feldberechnung und Darstellung
===>>> Hier geht es bald weiter!
Script vom vorigen Jahr siehe: http://www.ifte.de/lehre/cae/fem/06_magnet/vernetzung_u_berechnung.html