Software: SimX - Nadelantrieb - Aktordynamik - Hysterese-Nennwertoptimierung

Aus OptiYummy
Zur Navigation springenZur Suche springen

Nennwert-Optimierung mit Wirbelstrom und Hysterese


Wir benutzen den OptiY-Versuchsstand Etappe2b-xx.opy, um mit dem bereits definierten Experiment-Workflow eine optimale Parameter-Konfiguration unter Berücksichtigung von Wirbelstrom und Magnet-Hysterese zu finden:

  • Das unter Berücksichtigung des Wirbelstroms ermittelte Optimum übernehmen wir als Startwert für die erneute Präzisierung der Parameter-Nennwerte.
  • Wir können die Optimierung mit dem Hooke-Jeeves-Verfahren starten, werden aber wahrscheinlich an unterschiedlichsten numerischen Problemen scheitern. Diese numerischen Probleme sollen deshalb im Folgenden näher betrachtet werden. Dazu schließen wir vorläufig OptiY und damit auch das Modell in SimulationX.

Danach öffnen wir nur das SimulationX-Modell, um dieses in Hinblick auf die Optimierung günstiger zu konfigurieren.

Auch wenn ein Modell im SimulationX bereits berechnet werden konnte, ist die Chance sehr groß, dass es infolge der unterschiedlichsten Parameter-Kombinationen während der Optimierung zu numerischen Problemen kommt. Es gibt hierbei mehrere Klassen von Fehlern, die vom OptiY unterschiedlich behandelt werden:

1. Simulationsabruch mit Fehlermeldung:

  • OptiY markiert den betroffenen Optimierungsschritt in der Nennwert-Tabelle als "Failed".
  • Die Bewertungsgrößen besitzen den Wert zum Zeitpunkt des Simulationsabbruchs.
  • Diese Werte fließen zwar nicht in die Optimierung mit ein, stören aber in den Verläufen der Nennwert-Diagramme als Extremwert-Spitzen.
  • Im Beispiel sollte man tZyklus.y0 ungefähr auf den Wert der maximal zulässigen Zykluszeit setzen (z.B. 3.4 ms). Damit erhält man hier keinen "Ausreißer" bei einer abnormalen Beendigung von Simulationsläufen.
  • In dieser Fehler-Klasse sind zwei Fehler-Arten besonders typisch:
  1. "Die geforderte Genauigkeit kann nicht erreicht werden"
    Es erfolgt die Aufforderung dtMin zu verkleinern. Im Beispiel hat sich dtMin=1e-12 s als günstig erwiesen. Bei Bedarf kann man diesen Wert noch etwas verkleinern. Wird dtMin zu klein (z.B. 1e-20 s), dann führt das wieder zu anderen Fehlern (z.B. endloses Rechnen an kritischen Stellen).
    Im Beispiel trat dieser "Genauigkeitsfehler" gehäuft nach Vollendung des Prägezyklus auf, wenn die Nadel in der Ruhelage an den starren Anschlag gedrückt wird. Man löst dieses Problem, indem man den Simulationslauf mit termCond=(Praegung.y>=1)and(tZyklus.y>1e-3) vorzeitig beendet (Kontext-Menü von Modell):
  2. "Fehler in der Ereignisbehandlung"
    Im Beispiel ist davon besonders häufig der Abschaltvorgang betroffen. Dort finden gleichzeitig mehrere numerische Ereignisse statt (Starrer Anschlag der Nadel, Sample & Hold für tZyklus, onoff-Wechsel des Schalters, Schalten der Diode).
    Im Beispiel half ein Verringern des Parallelwiderstands in der Diode auf R=10000 Ohm. Damit wird zumindest der elektrische Schaltvorgang etwas "entschärft".

2. "Ewiges Rechnen" ohne Fehlermeldung:

  • OptiY wartet "ewig" auf das Ende des Simulationslaufs.
  • Hier hilft nur der manuelle Eingriff:
  1. Optimierungslauf im OptiY stoppen. Im SimulationX wird damit der aktuelle Lauf ebenfalls gestoppt, das Modell enthält die Parameter dieses kritischen Laufes.
  2. Rücksetzen des Simulationslaufes im SimulationX und erneuter Start der Simulation führt zu erneutem "ewigen" Rechnen. Hiervon wird meist der Ausschaltvorgang für den Magneten betroffen sein. Man sollte sich über die konkrete Stelle in jedem Fall informieren, damit man weiß, wo solche kritischen Stellen im Modell sind.
  3. Damit man über das Abschalten mit den jeweiligen kritischen Parametern hinweg kommt, genügt das Ändern des Parallelwiderstands der Diode auf einen kleineren oder größeren Wert.
  4. Wenn die Simulation im SimulationX für den Lauf funktioniert, kann man im OptiY die Optimierung fortsetzen.
  5. Diesen manuellen Eingriff muss man für alle Optimierungsschritte durchführen, bei denen sich das Modell "verklemmt". Wahrscheinlich wird es dafür in nächster Zeit Abhilfe durch das OptiY bzw. das SimulationX geben.

3. "Falsches Rechnen" ohne Fehlermeldung:

  • Im Beispiel tritt bei der Benutzung der Eisen-Hysterese sporadisch der Effekt auf, dass der Solver "Irrwege" beschreitet.
  • Der Strom geht dabei sofort auf seinen ohmschen Grenzwert von ca. 20 A. Die wirksame Kraft ist jedoch zu gering, um den Anzugsvorgang auszuführen.
  • Vom OptiY wird solch ein Simulationslauf als sinnvoll behandelt. Da hierbei zum Glück die Restriktion Praegung verletzt wird und der Fehler nur sporadisch auftritt, gibt es keine Auswirkung dieses Fehlers auf die erreichte optimale Lösung.


Hinweis:
Die geschilderten Probleme sind normal bei der numerischen Optimierung komplexer und stark nichtlinearer Systeme. Die wachsende "Intelligenz" der Software hält einen immer größeren Teil dieser Probleme vom Anwender fern. Trotzdem ist für absehbare Zeit der Eingriff des Menschen in solche Optimierungsprozesse noch erforderlich.


===>>> Hier geht es gleich weiter !!!