Software: FEM - Tutorial - Magnetfeld - C-Kennfeld-Testmodell

Aus OptiYummy
Zur Navigation springenZur Suche springen

Kennfeld-Testmodell (C-Code)
(Kein Bestandteil der Lehrveranstaltung FEM )


Bevor man die Kennfelder in ein kompliziertes Antriebsmodell einbindet, sollte man unbedingt ein Testmodell aufbauen, um das richtige Funktionieren zu überprüfen:

Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - neuer elementtyp.gif
  • Wir beginnen im SimulationX mit einer neuen Datei, welche wir als Kennfeld_xx.ism speichern (Teilnehmer-Nr. xx=00...99).
  • Es werden zwei lokale Element-Typen im Modell definiert, welche jeweils eine der Kennfeld-Funktionen bereitstellen. Der Test erfolgt dann durch eine Rastersuche in einem OptiY-Experiment.
  • Wir beginnen im SimulationX-Modell mit dem Elementtyp F_RSM für das Kraft-Kennfeld. Im Modellexplorer > Karte Typen > Wurzeleintrag > Kontextmenü wählen wir Neu > Model.
    Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - f-symbol 61x61.gif
  • Als Symbol wird ein 61x61-Pixel-Bild verwendet (nebenstehende Bild-Datei laden), welches eine modifizierte Kopie des 2D-Kennfeld-Symbols aus der SimulationX-Bibliothek darstellt (Symbol > Bitmap öffnen):
    Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - f-type allgemein.gif
  • Zum Testen speisen wir die Funktionsvariablen Strom i und Luftspalt s als Parameter in das Element ein und führen den Funktionswert der Kraft F als Variable nach außen:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - anschluesse f-test.gif
  • Achtung: Für diese Komponenten sollte man die gleiche Einheit für die physikalischen Größen wählen, wie sie im FE-Modell verwendet wurden. Das bedeutet, die Luftspalt-Werte sind in mm einzuspeisen! Das ist zurzeit noch erforderlich, wenn man mittels Rastersuche im OptiY die Kennfelder in den gleichen Grenzwerten darstellen möchte, wie die aus der FEM-Simulation gewonnene Antwortfläche. In OptiY erfolgen noch keine Umrechnungen zwischen unterschiedlichen Einheitsdimensionen.
  • Das F-Kennfeld wird im Element-Typ unter Lokale Typen als externe Funktion definiert:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - external f-fct.gif

Durch Bearbeiten der Funktionseigenschaften definiert man die Schnittstelle zwischen dem SimulationX-Modell und der externen Funktion innerhalb der .dll-Datei:

  • Für die allgemeinen Einträge genügen die Standard-Vorgaben.
  • Als Argumente der Funktion definieren wir zwei Eingabe- und einen Ausgabeparameter:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - ext f-fct-argumente.gif
  • Dabei müssen wir ebenfalls die Maßeinheiten der Funktionsargumente berücksichtigen (z.B. Luftspalt in mm).
  • Für die Argumente der Funktion kann man jedoch nur den Typ der physikalischen Größe angeben (z.B. Abmessungen). Deshalb ist es sinnvoll, eventuelle SI-Präfixe im Kommentar eines Arguments zu notieren (z.B. Luftspalt [mm]).
  • Die Attribute der Argumente belassen wir auf den Standard-Einträgen.
  • Unter den Aufrufkonventionen ist die Liste der Argumente bereits eingetragen. Wir definieren noch den Namen der benutzten .dll-Datei und den Typ der Schnittstelle:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - ext f-fct-aufruf.gif
  • Wichtig: Man muss die Reihenfolge der Parameter für den Funktionsaufruf beachten!
  • Beim Fertigstellen der Funktionsdefinition erfolgt eventuell eine Warnung, dass keine grafische Darstellung definiert wurde. Diese Warnung können wir ignorieren.
  • Für das Verhalten des Element-Typs definieren wir abschließend den Funktionsaufruf unter Berücksichtigung der physikalischen Einheiten (Luftspalt in mm):
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - verhalten f-test.gif
  • Achtung: Die Umrechnung 'm->mm' ist unbedingt erforderlich, da die Kennfeld-Funktion auf der Einheit mm basiert. Innerhalb der SimulationX-Modelle wird aber grundsätzlich mit SI-Einheiten gerechnet, auch wenn man für einzelne Komponenten wegen der Anschaulichkeit abweichende Dimensionen definiert.
  • Der lokale Element-Typ F_RSM wird als Element F_Kennfeld innerhalb des SimulationX-Modells verwendet.
  • Für einen ersten Test wurde der Stromeingang i mit der Simulationszeit t belegt, die von 0 bis 10 s läuft.
  • Sowohl für den Luftspalt s=0 mm, als auch für s=4 mm ergeben sich korrekte Funktionsverläufe. Man erkennt hier deutlich die Knicke im Funktionsverlauf an den ursprünglichen Abtastpunkten des Original-FE-Modells:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - verlaeufe.gif
  • Die Rastersuche nach Einbindung des Modells in ein OptiY-Experiment zeigt die komplette Funktionsfläche. Dabei wurden die gleichen Bereichsgrenzen verwendet, wie zuvor bei der Ermittlung der Antwortfläche anhand des FE-Modells:
Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - rasterfunktion.gif Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - rastersuche.gif


Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - psi-symbol 61x61.gif

Die Einbindung der C-Funktion für das Psi-Kennfeld in das SimulationX-Modell verläuft analog, wie bei dem F-Kennfeld. Es handelt sich praktisch um den gleichen Element-Typ, nur dass die Kraft F durch den Koppelfluss Psi ersetzt wird:

  • Man kopiert den lokalen Typ F_RSM in den Bibliotheksordner ExternalTypes (mit <Strg>-Taste beim Drag&Drop).
  • Unter ExternalTypes benennt man F_RSM in Psi_RSM um. Dazu muss man zusätzlich den external Type im Type-Designer öffnen und unter "Allgemein" auch den Namen ändern.
  • Danach kopiert man den external Type Psi_RSM zu den lokalen Typen des Modells und ersetzt systematisch die Kraft durch den Koppelfluss.
  • Es kann das nebenstehende Symbol für Psi_RSM verwendet werden.
  • Beide Kennfeld-Elemente sollen durch die gleichen Werte für Strom und Luftspalt gespeist werden. Damit dies innerhalb des OptiY realisiert werden kann, benutzen wir dafür im SimulationX-Modell zwei Function-Signalglieder:
    Software FEM - Tutorial - Magnetfeld - SimX-Kennfelder - parameter1.gif
  • In die Parameter F dieser Funktionsglieder müssen dann im OptiY-Workflow die Werte von Strom und Luftspalt eingespeist werden.
  • Im SimulationX-Modell belegen wir die Parameter der Kennfeld-Elemente mit den Ergebnisgrößen der Funktionselemente:
s = 0.001*s.y
i = i.y
  • Der Umrechnungsfaktor für den Luftspalt ist erforderlich, damit der Parameterwert s.F in Millimeter eingegeben werden kann.
  • Im OptiY-Workflow ergänzen wir die Größen für den Koppelfluss und verbinden i und s mit den Funktionsglieder des SimulationX-Modells:
    Software FEM - Tutorial - Magnetfeld - SimX-Kennfelder - rastersuche.gif
  • Im Ergebnis der Rastersuche erhält man im OptiY damit das Psi-Kennfeld in Form eines 3D-Diagramms:
    Software FEM - Tutorial - Magnetfeld - SimX-Kennfeld - psi-feld.gif

Achtung:

  • Die Arbeitskopie von Psi_RSM in der ExternalTypes-Bibliothek sollte man löschen, um eine spätere fehlerhafte Anwendung zu vermeiden!
  • Sind beide lokalen Element-Typen verifiziert, erzeugt man Kopien im Bibliotheksordner ExternalTypes. Damit stehen die verifizierten externen Funktionen auch für die Implementierung in das eigentliche Antriebsmodell zur Verfügung.