Software: SimX - Nadelantrieb - Aktordynamik - Hysterese-Nennwertoptimierung: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
Wir benutzen das ''OptiY''-Projekt '''Etappe2b_xx.opy''', um mit dem bereits definierten Experiment-Workflow eine optimale Parameter-Konfiguration unter Berücksichtigung von Wirbelstrom und Magnet-Hysterese zu finden:
Wir benutzen das ''OptiY''-Projekt '''Etappe2b_xx.opy''', um mit dem bereits definierten Experiment-Workflow eine optimale Parameter-Konfiguration unter Berücksichtigung von Wirbelstrom und Magnet-Hysterese zu finden:
* Von dem unter Berücksichtigung des Wirbelstroms ermittelten '''''Bestwert''''' werden wir die '''''Parameter übernehmen''''' als Startwert für die erneute Präzisierung der optimalen Lösung.
* Von dem unter Berücksichtigung des Wirbelstroms ermittelten '''''Bestwert''''' werden wir die '''''Parameter übernehmen''''' als Startwert für die erneute Präzisierung der optimalen Lösung.
* Wir könnten die Optimierung mit dem Hooke-Jeeves-Verfahren starten, würden aber wahrscheinlich an numerischen Problemen scheitern. Diese numerischen Probleme werden wir deshalb prophylaktisch "entschärfen". Dazu schließen wir vorläufig ''OptiY'' (mit Speichern) und auch das Modell in ''SimulationX'' (ohne Speichern).
* Wir könnten die Optimierung mit dem Hooke-Jeeves-Verfahren starten, im Verlaufe der Optimierung könnte es dabei jedoch zu nummerischen Problemen kommen. Diese numerischen Probleme werden wir deshalb prophylaktisch "entschärfen". Dazu schließen wir vorläufig ''OptiY'' (mit Speichern) und auch das Modell in ''SimulationX'' (ohne Speichern).
Danach öffnen wir nur das ''SimulationX''-Modell, um dieses in Hinblick auf die Optimierung günstiger zu konfigurieren:
Danach öffnen wir nur das ''SimulationX''-Modell, um dieses in Hinblick auf die Optimierung günstiger zu konfigurieren:
* Im Beispiel erwiesen sich die folgenden Einstellungen für die transiente Simulation als robust:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Aktordynamik_-_hysterese-simulationssteuerung.gif| ]] </div>
* Im Beispiel erwiesen sich die folgenden Einstellungen für die transiente Simulation als robust:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Aktordynamik_-_hysterese-simulationssteuerung.gif| ]] </div>
* Das Modell wird bis zum Zeitpunkt t=tStop berechnet, wenn man keinen vorzeitigen Simulationsabbruch definiert.
* Das Modell wird bis zum Zeitpunkt t=tStop berechnet, wenn man keinen vorzeitigen Simulationsabbruch definiert.
* Unser Modell hat ein Problem nach Vollendung des Prägezyklusses, wenn die Nadel in der Ruhelage an den starren Anschlag gedrückt wird. Dort kommt es zu "ewigem Rechnen" mit extrem kleinen Schrittweiten.  
* Unser Modell hat ein Problem nach Vollendung des Prägezyklusses, wenn die Nadel in der Ruhelage an den starren Anschlag gedrückt wird. Dort kommt es manchmal zu "ewigem Rechnen" mit extrem kleinen Schrittweiten.  
* Wir vermindern dieses Problem, indem wir '''''tZyklus.y0=0''''' setzen und den Simulationslauf kurz nach Vollendung des Prägezyklusses durch Definition einer geeigneten Abbruchbedingung beenden ('''''Kontext-Menü des Modells > Eigenschaften'''''):
* Wir vermindern dieses Problem, indem wir '''''tZyklus.y0=0''''' setzen und den Simulationslauf kurz nach Vollendung des Prägezyklusses durch Definition einer geeigneten Abbruchbedingung beenden ('''''Kontext-Menü des Modells > Eigenschaften'''''):
  '''termCond=(Praegung.y>=1)and(tZyklus.y>1e-3)and((t-tZyklus.y)>1e-4)'''  
  '''termCond=(Praegung.y>=1)and(tZyklus.y>1e-3)and((t-tZyklus.y)>1e-4)'''  
* '''''Hinweis:''''' Diese Abbruchbedingung ist in Hinblick auf verwendete Zeitangaben auf den konkreten Bewegungsablauf zugeschnitten:<div align="center"> [[Bild:Software_SimX_-_Simulation_vorzeitig_beenden.gif| ]] </div>
* '''''Hinweis:''''' Diese Abbruchbedingung ist in Hinblick auf verwendete Zeitangaben auf den konkreten Bewegungsablauf zugeschnitten:<div align="center"> [[Bild:Software_SimX_-_Simulation_vorzeitig_beenden.gif| ]] </div>
* Zusätzlich setzen wir im OptiY-Workflow für das SimulationX-Modell die "'''Max. Prozesszeit&nbsp;=&nbsp;1&nbsp;s'''". Dann beendet OptiY nach Ablauf dieser Zeit die laufende Simulationsrechnung.
* Zusätzlich setzen wir im OptiY-Workflow für das SimulationX-Modell in der Registerkarte "Allgemein" die "'''Max. Prozesszeit&nbsp;=&nbsp;1&nbsp;s'''". Dann beendet OptiY nach Ablauf dieser Zeit die laufende Simulationsrechnung.
* Falls das Modell erst einmal stabil rechnet, ist die Nennwert-Optimierung kein großes Problem:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Aktordynamik_-_hysterese-optimierungsverlauf.gif|.]]</div>  
* Falls das Modell erst einmal stabil rechnet, ist die Nennwert-Optimierung kein großes Problem:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Aktordynamik_-_hysterese-optimierungsverlauf.gif|.]]</div>  
Im Beispiel wurde der Grenzwert des Stromes nicht ganz ausgeschöpft, so dass noch geringfügige Verbesserungen der Zykluszeit zu erwarten sind:
Im Beispiel wurde der Grenzwert des Stromes nicht ganz ausgeschöpft, so dass noch geringfügige Verbesserungen der Zykluszeit zu erwarten sind:

Version vom 1. April 2016, 12:46 Uhr

Nennwert-Optimierung mit Wirbelstrom und Hysterese

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

  • Von dem unter Berücksichtigung des Wirbelstroms ermittelten Bestwert werden wir die Parameter übernehmen als Startwert für die erneute Präzisierung der optimalen Lösung.
  • Wir könnten die Optimierung mit dem Hooke-Jeeves-Verfahren starten, im Verlaufe der Optimierung könnte es dabei jedoch zu nummerischen Problemen kommen. Diese numerischen Probleme werden wir deshalb prophylaktisch "entschärfen". Dazu schließen wir vorläufig OptiY (mit Speichern) und auch das Modell in SimulationX (ohne Speichern).

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

  • Im Beispiel erwiesen sich die folgenden Einstellungen für die transiente Simulation als robust:
    Software SimX - Nadelantrieb - Aktordynamik - hysterese-simulationssteuerung.gif
  • Das Modell wird bis zum Zeitpunkt t=tStop berechnet, wenn man keinen vorzeitigen Simulationsabbruch definiert.
  • Unser Modell hat ein Problem nach Vollendung des Prägezyklusses, wenn die Nadel in der Ruhelage an den starren Anschlag gedrückt wird. Dort kommt es manchmal zu "ewigem Rechnen" mit extrem kleinen Schrittweiten.
  • Wir vermindern dieses Problem, indem wir tZyklus.y0=0 setzen und den Simulationslauf kurz nach Vollendung des Prägezyklusses durch Definition einer geeigneten Abbruchbedingung beenden (Kontext-Menü des Modells > Eigenschaften):
termCond=(Praegung.y>=1)and(tZyklus.y>1e-3)and((t-tZyklus.y)>1e-4) 
  • Hinweis: Diese Abbruchbedingung ist in Hinblick auf verwendete Zeitangaben auf den konkreten Bewegungsablauf zugeschnitten:
  • Zusätzlich setzen wir im OptiY-Workflow für das SimulationX-Modell in der Registerkarte "Allgemein" die "Max. Prozesszeit = 1 s". Dann beendet OptiY nach Ablauf dieser Zeit die laufende Simulationsrechnung.
  • Falls das Modell erst einmal stabil rechnet, ist die Nennwert-Optimierung kein großes Problem:
    .

Im Beispiel wurde der Grenzwert des Stromes nicht ganz ausgeschöpft, so dass noch geringfügige Verbesserungen der Zykluszeit zu erwarten sind:

  • Der Pfad zum "absoluten" Optimum führt entlang der Restriktionsgrenze für die Abschaltspannung.
  • Dieser Pfad ist extrem schmal und fast ohne Gefälle. Eine Erhöhung des Stromwertes führt in einem höheren Maße zur Überschreitung der Abschaltspannung, als zu einer Verkürzung der Zykluszeit.
  • Die noch mögliche Verbesserung der Zykluszeit ist anscheinend nur akademischer Natur.
  • Eine Abschätzung, in welchem Maße noch Verbesserungen der optimalen Lösung zu erwarten sind, gelingt nur nach intensiven Analysen.