Software: SimX - Nadelantrieb - Geometrie und Waerme - Experimentplanung: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(55 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Modellverifizierung|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Entwurfsparameter|&rarr;]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme|]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Modellverifizierung|]] [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Experimentdurchfuehrung|]] </div>
<div align="center"> '''Strategien der Experimentplanung''' </div>
<div align="center">'''Experiment-Planung'''</div>


=== Entwurfsparameter ===


Unabhängig von der Zielstellung der zu planenden Experimente benötigt man immer eine nutzbare Modellkonfiguration. Besteht das Ziel im Finden einer optimalen Lösung, so dient diese Modellkonfiguration als Ausgangslösung für die Optimierung.
Zwei Parameter müssen nicht optimiert werden da ihre Werte bereits bekannt sind:
'''Nadel.x0 = d_Papier''' (Nadelspitze auf Papier = 0.2 mm)
'''d_Magnet = 20 mm'''    (max. Spulen-Wickelraum)
Wir berücksichtigen im Optimierungsexperiment die Nennwerte von 5 Entwurfsparametern:
'''d_Anker'''    (Ankerdurchmesser)
'''R20_Spule'''  (Widerstand bei 20°C)
'''w_Spule'''    (Windungszahl)
'''k_Feder'''    (Federsteifigkeit)
'''R_Schutz'''  (Schutzwiderstand)
Diese Nennwerte werden in einem ersten Schritt im Workflow-Editor als abstrakte Daten-Objekte definiert:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen-nennwerte.gif| ]] </div>


=== Bewertungsgrößen ===


Die in der vorherigen Etappe ermittelten Optimalwerte dürften als Ausgangslösung eigentlich nicht ganz falsch sein! Bei der Konfiguration des Simulationsmodells sollte man folgendes beachten:
Wir berücksichtigen 6 Forderungen als Restriktionsgrößen:
* Die Simulationszeit ist hinreichend groß zu wählen, um sicherzustellen, dass unabhängig von zwischenzeitlichen Verschlechterungen während der Optimierung immer ein kompletter Prägezyklus beendet wird (z.B. 10&nbsp;ms).  
'''Praegung''' ≥ 1 (Prägungsmaß)
* Der Darstellbereich im Ergebnisfenster ist kleiner zu wählen (z.B. 5&nbsp;ms), um Details erkennen zu können.
'''|v_Max|'''  ≤ 200 V (max. Spulenspannung)
* Die Ausgangslösung muss eine bewertbare Funktionalität aufweisen:
'''i_Max'''    ≤ 1,5 A (max. Spulenstrom)
** Die Nadel muss sich zumindest etwas in Richtung Papier bewegen. Ein komplettes Prägen ist jedoch günstiger!
'''L_Magnet''' ≤ 30 mm (Magnetlänge) 
** Es muss innerhalb der Simulationszeit ein kompletter Bewegungszyklus des Nadelantriebs vollendet werden.
'''dT_Draht''' ≤ 40 K (Temperaturerhöhung)
      da 50°C Umgebungstemperatur, setzen wir im ''SimulationX''-Modell '''CAD.TSpule=90°C'''
'''Wichtig:''' Die Werte von Ausgangsgrößen werden entsprechend der im ''SimulationX''-Modell gewählten Einheit übernommen!<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen-bewertungsgroeszen.gif|.]] </div>
Und wir haben weiterhin den Wunsch, dass ein Prägezyklus '''tZyklus''' möglichst schnell vollendet wird. Diesen Wunsch könnten wir als Gütekriterium berücksichtigen:
* Nach unseren Erfahrungen mit dem "Verklemmen" des Hooke-Jeeves-Verfahrens an Restriktionsgrenzen definieren wir '''tZyklus''' sofort als zusätzliche Restriktion.  
* Im Verlaufe des Optimierungsexperiments verschärfen wir schrittweise die Forderungen für die Dauer eines Präge-Zyklus.


=== Modell-Einbindung ===


Mit dem Workflow-Editor von OptiY definieren wir überwiegend auf grafischem Niveau einen Versuchsstand für die Durchführung von Modellexperimenten. Dabei kann man zwei Vorgehensweisen unterscheiden:
'''SimulationX-Modell:'''<br>
Dieses fügen wir zuerst als abstraktes Objekt in den Workflow-Desktop ein: <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen-menue.gif| ]] [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen-simulationsmodell_inout.gif| ]] </div>
Jedes Simulationsmodell muss über seine Input- und Output-Größen in den Workflow eingebunden werden.


'''Input-Größen:'''<br>
In unserem Beispiel sollen sämtliche Entwurfsparameter als Input-Größen in das ''SimulationX''-Modell der "'''Etappe3'''" eingespeist werden. Ein Doppelklick auf das ''SimulationX''-Objekt öffnet den zugehörigen Eigenschaftsdialog:
* Man muss die Entwurfsparameter markieren, welche als Input-Größen in das Modell einzuspeisen sind.
* Die Zuordnung des abstrakten Modell-Objekts zum konkreten Modell erfolgt durch Öffnen der Modell-Datei.
* Dem Modell-Objekt gibt man einen sinnvollen Namen (hier "'''Etappe3'''") und einen erläuternden Kommentar: <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_simulationsmodell-eigenschaften.gif| ]] </div>
* Wenn ein konkretes Modell zugeordnet wurde, kann man die abstrakten Entwurfsparameter auch konkreten Modellparametern zuordnen (Registerkarte '''Eingang''').
* Nach der Zuordnung der Modell-Parameter stehen die Anfangswerte in den Entwurfsgrößen zur Verfügung. Die Standardwerte für die Grenzen muss man noch durch sinnvolle Werte ersetzen.


'''1. Modell-orientiert'''
'''Output-Größen:'''<br>
Die Bewertungsgrößen kann man nicht direkt als Output-Variablen des Modells nutzen. Es sind deshalb noch keine Ergebnis-Verbindungen möglich:
* Die Output-Variablen müssen als separate Datenobjekte eingefügt werden ('''''Einfügen > Ausgangsgrößen'''''): <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen_ausgangsgroeszen.gif| ]] </div>
* Nach Doppelklick auf das ''SimulationX''-Objekt kann man dann den abstrakten Ausgangsgrößen konkrete Variablen des Modells zuordnen (analog zu den Modellparametern, aber in Registerkarte '''Ausgang'''): <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_ergebnisverbindungen_zum_modell.gif| ]] </div>
* Damit werden die Verbindungen der Ausgangsgrößen zum Modell hergestellt.
* Nach dem Editieren (der Ausdrücke) aller Bewertungsgrößen werden deren Verknüpfungen zu den Ausgangsgrößen visualisiert: <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_bewertungsgroeszen_verknuepft.gif| ]] </div>


* Diese Vorgehensweise haben wir bisher gewählt. Ausgehend vom vorhandenen Modell definiert man Input- und Output-Größen als Entwurfsparametern, Restriktionen bzw. Gütekriterien.  
=== Ausgangslösung ===
* Die erforderliche Bearbeitungsreihenfolge widerspiegelt sich im Einfügen-Menü des Workflow-Editors: <div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_einfuegen-menue.gif| ]] </div>
Wir benutzen als Startpunkt für die Optimierung z.B. den Bestwert, welchen wir in der vorherigen Etappe ohne Berücksichtigung von Geometrie und Erwärmung ermittelt haben.
* '''Wichtig:'''
*# '''''CAD.K_FeInnen=0.1xx''''': Jeder Teilnehmer der Lehrveranstaltung benutzt den individuellen Wert.
*# '''''CAD.Re_Eisen=1.5&nbsp;mOhm ''''': Jeder Teilnehmer benutzt den gleichen Wert aus der Modell-Verifizierung.
*# '''''CAD.T_Spule=90°C''''': Der Wert der Spulentemperatur ist auf den zu erreichenden Grenzwert zu setzen.


'''Erläuterung zur Spulen-Erwärmung:'''<br>
Es wird davon ausgegangen, dass die optimale Lösung den oberen Grenzwert für die Erwärmung voll ausschöpft:
* Die aktuelle Spulentemperatur bestimmt den ohmschen Widerstand des Spulendrahtes. Der aktuelle Drahtwiderstand beeinflusst wesentlich die Verlustleistung in der Spule und damit die Spulenerwärmung, welche wiederum den Drahtwiderstand verändert.
* Unser vereinfachtes Antriebsmodell berücksichtigt diese Wechselwirkung zwischen Spulentemperatur und Drahtwiderstand nur in einer Richtung durch Vorgabe einer Spulentemperatur. Die damit berechnete Erwärmung muss aber nicht zur vorgegebenen Spulentemperatur führen! 
* Die berechnete Erwärmung wird durch den Trick der Vorgabe der Grenztemperatur nach Erreichen der optimalen Lösung mit der Vorgabetemperatur übereinstimmen.
* Die wahrscheinlich geringfügige Abweichung des Modellverhaltens durch die fehlerhafte Spulentemperatur außerhalb des Optimums akzeptieren wir als Preis für den Gewinn an Rechengeschwindigkeit.


'''2. Aufgaben-orientiert'''
=== Optimierungsverfahren ===
[[Bild:Software_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_eigenschaft-optimierung.gif|right]]
* Wir benutzen das Hooke-Jeeves-Verfahren mit "manueller" Startschrittweite und ohne automatischen Stop. Wird mit der gewählten Zahl der Optimierungsschritte noch keine endgültige Lösung erreicht, so kann man diese Anzahl nachträglich hochsetzen und die Optimierung danach einfach fortsetzen.
* Nach Wahl des Optimierungsverfahrens sollte man überprüfen, ob die Startschrittweite der Entwurfsgrößen sinnvoll ist.
* Um den Gradienten der Zielfunktionsverbesserung möglichst gut zu erfassen, sind kleine Abtastschrittweiten günstig.
* Allerdings ist die minimal zulässige Abtastschrittweite abhängig vom "Rauschen" des Simulationsmodells. Der Anteil des stochastischen Fehlers darf die Berechnung der Änderungen der Bewertungsgrößen nicht stören!
* Bei unserem Antriebsmodell hat sich z.B. 1/1000 des Startwertes als günstiger Wert für die Startschrittweite erwiesen.
* Man beachte, dass die Windungszahl eine Ausnahme darstellt, da nur ganze Zahlen sinnvoll sind (Genauigkeit=1). Hier ist eine Startschrittweite von 1&nbsp;Windung günstig.


* Ausgangspunkt ist die Aufgabenstellung für das konstruktive Teilproblem, welches z.B. mittels Optimierungsexperiment gelöst werden soll. Diese Vorgehensweise werden wir im Folgenden üben.
=== Visualisierung ===
* "Unabhängig" von konkreten Modellen definiert man zuerst die Daten-Objekte:
Man sollte die Nennwert-Verläufe aller Entwurfsparameter und Bewertungsgrößen jeweils in einem eigenen Fenster darstellen.
:# für die gesuchten Entwurfsparameter und  
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Modellverifizierung|]] [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Experimentdurchfuehrung|]] </div>
:# für die erforderlichen Bewertungsgrößen.  
* Dabei muss man natürlich schon wissen, welche Daten man mit den verfügbaren Modellen überhaupt behandeln kann!
* Die benötigten Modelle werden abschließend mit den zuvor definierten konstruktiven Größen verbunden.
 
 
 
'''---> Hier geht es bald weiter!!!'''
 
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Modellverifizierung|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Geometrie_und_Waerme_-_Entwurfsparameter|&rarr;]] </div>

Aktuelle Version vom 29. April 2024, 10:19 Uhr

Experiment-Planung

Entwurfsparameter

Zwei Parameter müssen nicht optimiert werden da ihre Werte bereits bekannt sind:

Nadel.x0 = d_Papier (Nadelspitze auf Papier = 0.2 mm) 
d_Magnet = 20 mm    (max. Spulen-Wickelraum)

Wir berücksichtigen im Optimierungsexperiment die Nennwerte von 5 Entwurfsparametern:

d_Anker    (Ankerdurchmesser) 
R20_Spule  (Widerstand bei 20°C) 
w_Spule    (Windungszahl) 
k_Feder    (Federsteifigkeit) 
R_Schutz   (Schutzwiderstand) 

Diese Nennwerte werden in einem ersten Schritt im Workflow-Editor als abstrakte Daten-Objekte definiert:

Software SimX - Nadelantrieb - Geometrie und Waerme - einfuegen-nennwerte.gif

Bewertungsgrößen

Wir berücksichtigen 6 Forderungen als Restriktionsgrößen:

Praegung ≥ 1 (Prägungsmaß) 
|v_Max|  ≤ 200 V (max. Spulenspannung) 
i_Max    ≤ 1,5 A (max. Spulenstrom) 
L_Magnet ≤ 30 mm (Magnetlänge)   
dT_Draht ≤ 40 K (Temperaturerhöhung)
      da 50°C Umgebungstemperatur, setzen wir im SimulationX-Modell CAD.TSpule=90°C

Wichtig: Die Werte von Ausgangsgrößen werden entsprechend der im SimulationX-Modell gewählten Einheit übernommen!

.

Und wir haben weiterhin den Wunsch, dass ein Prägezyklus tZyklus möglichst schnell vollendet wird. Diesen Wunsch könnten wir als Gütekriterium berücksichtigen:

  • Nach unseren Erfahrungen mit dem "Verklemmen" des Hooke-Jeeves-Verfahrens an Restriktionsgrenzen definieren wir tZyklus sofort als zusätzliche Restriktion.
  • Im Verlaufe des Optimierungsexperiments verschärfen wir schrittweise die Forderungen für die Dauer eines Präge-Zyklus.

Modell-Einbindung

SimulationX-Modell:

Dieses fügen wir zuerst als abstraktes Objekt in den Workflow-Desktop ein:

Software SimX - Nadelantrieb - Geometrie und Waerme - einfuegen-menue.gif Software SimX - Nadelantrieb - Geometrie und Waerme - einfuegen-simulationsmodell inout.gif

Jedes Simulationsmodell muss über seine Input- und Output-Größen in den Workflow eingebunden werden.

Input-Größen:
In unserem Beispiel sollen sämtliche Entwurfsparameter als Input-Größen in das SimulationX-Modell der "Etappe3" eingespeist werden. Ein Doppelklick auf das SimulationX-Objekt öffnet den zugehörigen Eigenschaftsdialog:

  • Man muss die Entwurfsparameter markieren, welche als Input-Größen in das Modell einzuspeisen sind.
  • Die Zuordnung des abstrakten Modell-Objekts zum konkreten Modell erfolgt durch Öffnen der Modell-Datei.
  • Dem Modell-Objekt gibt man einen sinnvollen Namen (hier "Etappe3") und einen erläuternden Kommentar:
    Software SimX - Nadelantrieb - Geometrie und Waerme - simulationsmodell-eigenschaften.gif
  • Wenn ein konkretes Modell zugeordnet wurde, kann man die abstrakten Entwurfsparameter auch konkreten Modellparametern zuordnen (Registerkarte Eingang).
  • Nach der Zuordnung der Modell-Parameter stehen die Anfangswerte in den Entwurfsgrößen zur Verfügung. Die Standardwerte für die Grenzen muss man noch durch sinnvolle Werte ersetzen.

Output-Größen:
Die Bewertungsgrößen kann man nicht direkt als Output-Variablen des Modells nutzen. Es sind deshalb noch keine Ergebnis-Verbindungen möglich:

  • Die Output-Variablen müssen als separate Datenobjekte eingefügt werden (Einfügen > Ausgangsgrößen):
    Software SimX - Nadelantrieb - Geometrie und Waerme - einfuegen ausgangsgroeszen.gif
  • Nach Doppelklick auf das SimulationX-Objekt kann man dann den abstrakten Ausgangsgrößen konkrete Variablen des Modells zuordnen (analog zu den Modellparametern, aber in Registerkarte Ausgang):
    Software SimX - Nadelantrieb - Geometrie und Waerme - ergebnisverbindungen zum modell.gif
  • Damit werden die Verbindungen der Ausgangsgrößen zum Modell hergestellt.
  • Nach dem Editieren (der Ausdrücke) aller Bewertungsgrößen werden deren Verknüpfungen zu den Ausgangsgrößen visualisiert:
    Software SimX - Nadelantrieb - Geometrie und Waerme - bewertungsgroeszen verknuepft.gif

Ausgangslösung

Wir benutzen als Startpunkt für die Optimierung z.B. den Bestwert, welchen wir in der vorherigen Etappe ohne Berücksichtigung von Geometrie und Erwärmung ermittelt haben.

  • Wichtig:
    1. CAD.K_FeInnen=0.1xx: Jeder Teilnehmer der Lehrveranstaltung benutzt den individuellen Wert.
    2. CAD.Re_Eisen=1.5 mOhm : Jeder Teilnehmer benutzt den gleichen Wert aus der Modell-Verifizierung.
    3. CAD.T_Spule=90°C: Der Wert der Spulentemperatur ist auf den zu erreichenden Grenzwert zu setzen.

Erläuterung zur Spulen-Erwärmung:
Es wird davon ausgegangen, dass die optimale Lösung den oberen Grenzwert für die Erwärmung voll ausschöpft:

  • Die aktuelle Spulentemperatur bestimmt den ohmschen Widerstand des Spulendrahtes. Der aktuelle Drahtwiderstand beeinflusst wesentlich die Verlustleistung in der Spule und damit die Spulenerwärmung, welche wiederum den Drahtwiderstand verändert.
  • Unser vereinfachtes Antriebsmodell berücksichtigt diese Wechselwirkung zwischen Spulentemperatur und Drahtwiderstand nur in einer Richtung durch Vorgabe einer Spulentemperatur. Die damit berechnete Erwärmung muss aber nicht zur vorgegebenen Spulentemperatur führen!
  • Die berechnete Erwärmung wird durch den Trick der Vorgabe der Grenztemperatur nach Erreichen der optimalen Lösung mit der Vorgabetemperatur übereinstimmen.
  • Die wahrscheinlich geringfügige Abweichung des Modellverhaltens durch die fehlerhafte Spulentemperatur außerhalb des Optimums akzeptieren wir als Preis für den Gewinn an Rechengeschwindigkeit.

Optimierungsverfahren

Software SimX - Nadelantrieb - Geometrie und Waerme - eigenschaft-optimierung.gif
  • Wir benutzen das Hooke-Jeeves-Verfahren mit "manueller" Startschrittweite und ohne automatischen Stop. Wird mit der gewählten Zahl der Optimierungsschritte noch keine endgültige Lösung erreicht, so kann man diese Anzahl nachträglich hochsetzen und die Optimierung danach einfach fortsetzen.
  • Nach Wahl des Optimierungsverfahrens sollte man überprüfen, ob die Startschrittweite der Entwurfsgrößen sinnvoll ist.
  • Um den Gradienten der Zielfunktionsverbesserung möglichst gut zu erfassen, sind kleine Abtastschrittweiten günstig.
  • Allerdings ist die minimal zulässige Abtastschrittweite abhängig vom "Rauschen" des Simulationsmodells. Der Anteil des stochastischen Fehlers darf die Berechnung der Änderungen der Bewertungsgrößen nicht stören!
  • Bei unserem Antriebsmodell hat sich z.B. 1/1000 des Startwertes als günstiger Wert für die Startschrittweite erwiesen.
  • Man beachte, dass die Windungszahl eine Ausnahme darstellt, da nur ganze Zahlen sinnvoll sind (Genauigkeit=1). Hier ist eine Startschrittweite von 1 Windung günstig.

Visualisierung

Man sollte die Nennwert-Verläufe aller Entwurfsparameter und Bewertungsgrößen jeweils in einem eigenen Fenster darstellen.