<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://optiyummy.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thomas+Wolfgramm</id>
	<title>OptiYummy - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://optiyummy.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thomas+Wolfgramm"/>
	<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Spezial:Beitr%C3%A4ge/Thomas_Wolfgramm"/>
	<updated>2026-04-30T19:21:21Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Toleranzversuchsstand&amp;diff=15354</id>
		<title>Software: SimX - Nadelantrieb - Probabilistik - Toleranzversuchsstand</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Toleranzversuchsstand&amp;diff=15354"/>
		<updated>2014-06-05T11:57:24Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Hinweis auf Obergrenze für tZyklus ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Probabilistische_Simulation|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Toleranzmodell|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Sample-Methoden|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Toleranz-Versuchsstand&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Toleranzen (Streuungen) in OptiY ==&lt;br /&gt;
Im OptiY beginnen wir mit einer neuen Datei &#039;&#039;&#039;Etappe4_xx.opy&#039;&#039;&#039; (&#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nummer): &lt;br /&gt;
* [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_toleranz-eigenschaft.gif|right]]Wir speisen im Experiment-Workflow die &#039;&#039;&#039;5 Streuungen&#039;&#039;&#039; in unser Antriebsmodell:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_toleranzen_u_nennwerte.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Für das Experiment wählen wir als &amp;quot;Optimierungs&amp;quot;-&#039;&#039;&#039;Verfahren&#039;&#039;&#039; die &#039;&#039;&#039;Simulation&#039;&#039;&#039;. Da im Workflow &#039;&#039;Streuungen&#039;&#039; existieren, wird mit der Simulation nun eine ganze Stichprobe simuliert (&amp;quot;Toleranz-Simulation&amp;quot;).&lt;br /&gt;
* Der Wert &#039;&#039;&#039;T&#039;&#039;&#039; der &#039;&#039;&#039;Toleranz&#039;&#039;&#039; beschreibt für jede Streuungsgröße die Breite des Variationsbereiches um den aktuellen &#039;&#039;&#039;Nennwert&#039;&#039;&#039; &#039;&#039;&#039;N&#039;&#039;&#039;: &#039;&#039;&#039;(N-T/2)&#039;&#039;&#039; bis &#039;&#039;&#039;(N+T/2)&#039;&#039;&#039;. &lt;br /&gt;
* Die Werte von &#039;&#039;Toleranz&#039;&#039; und &#039;&#039;Nennwert&#039;&#039; im &#039;&#039;Virtuellen Entwurf&#039;&#039; sollen hier den Werten der &amp;quot;realen&amp;quot; Stichprobe entsprechen (&#039;&#039;Entwurfsparameter&#039;&#039;=False entspricht &#039;&#039;Typ&#039;&#039;=Konstante, d.h. die Streuung darf bei einer Optimierung nicht verändert werden). Im Rahmen des &#039;&#039;virtuellen Entwurfs&#039;&#039; werden virtuelle Stichproben berechnet. Worum es sich hierbei handelt, werden wir später noch detailliert betrachten.&lt;br /&gt;
* Jetzt ist zu beachten, dass der &#039;&#039;Nennwert&#039;&#039; als &#039;&#039;Toleranzmittenwert&#039;&#039; exakt in der Mitte des Toleranzbereiches liegt. Der &#039;&#039;Nennwert&#039;&#039; entspricht hier dem Toleranzmittenwert, unabhängig von der Art der Verteilung:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_optiy-streuungen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relative Toleranz-Breiten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durch unseren Trick mit dem zusätzlichen Toleranz-Element im Simulationsmodell haben wir die Möglichkeit, im OptiY mit relativen Toleranz zu arbeiten:&lt;br /&gt;
* Die Streuungen (Toleranzen) sollten die gleichen Bezeichner erhalten, wie die zugeordneten Größen im SimulationX-Modell. Relative Toleranzgrößen wurden im Beispiel durch &amp;quot;rel&amp;quot; im Namen gekennzeichnet.&lt;br /&gt;
* Der &#039;&#039;Nennwert&#039;&#039; der Streuung entspricht dem normierten Toleranzmittenwert. Da es sich hier um normierte Größen handelt, gilt immer &#039;&#039;&#039;Nennwert=1&#039;&#039;&#039;. &lt;br /&gt;
* Die Toleranz entspricht der Breite des Streubereiches. Infolge der Normierung wird diese Breite in 100% in Bezug auf den zugehörigen Toleranzmittenwert 1 angegeben (z.B. Toleranz=0.6 für ±30%). Der Wert ist ohne Einheit [-]. &lt;br /&gt;
* Fertigungstoleranzen (&#039;&#039;kF_relTol&#039;&#039;, &#039;&#039;kP_relTol&#039;&#039; und &#039;&#039;v_relTol&#039;&#039;) können als &amp;quot;Normal verteilt&amp;quot; angenommen werden, wenn keine weiteren Informationen vorliegen. Sind die Verteilungsfunktionen aus den Fertigungsprozessen bekannt, kann man diese durch die Lambda-Verteilung nachbilden.&lt;br /&gt;
* &amp;quot;Schätzwerte&amp;quot; für Modell-Parameter (&#039;&#039;RW_relTol&#039;&#039;) können als &amp;quot;Normal verteilt&amp;quot; angenommen werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Toleranz-Größen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_absolute_temperaturtoleranz.gif|right]]&lt;br /&gt;
Nur für die aktuelle Spulentemperatur geben wir eine absolute Toleranzbreite in &#039;&#039;&#039;°C&#039;&#039;&#039; an:&lt;br /&gt;
* Der Temperaturbereich soll -25°C bis 75°C überstreichen, daraus ergibt sich &#039;&#039;&#039;Toleranz=100&#039;&#039;&#039;.&lt;br /&gt;
* Als Toleranz-Mittenwert setzen wir &#039;&#039;&#039;Nennwert=25&#039;&#039;&#039;. &lt;br /&gt;
* Wir benutzen die &#039;&#039;&#039;Gleichverteilung&#039;&#039;&#039;, welche man häufig für wechselnde Umgebungsbedingungen verwendet.   &lt;br /&gt;
&lt;br /&gt;
Für die einzelnen Exemplare der Stichprobe werden die absoluten Werte der mit relativen Toleranzen behafteten Größen im Toleranz-Element des SimulationX-Modells aus den Werten der relativen Toleranzgrößen berechnet:&lt;br /&gt;
* z.B. ergibt sich der aktuelle Wert der Federsteife im SimulationX-Modell zu &#039;&#039;&#039;kF:=kF_relTol*kF_Mitte;&#039;&#039;&#039; &lt;br /&gt;
* Damit im OptiY-Experiment die statistischen Kennwerte für die Absolutwerte der toleranzbehafteten Größen verfügbar sind, werden diese Werte als Ausgangsgrößen in den Workflow eingefügt und mit den entsprechenden Größen des Toleranz-Elements verknüpft. Dies dient vorwiegend der Verifizierung unseres Toleranz-Modells, um sicherzustellen, dass aus den normierten Toleranzen die richtigen Streubereiche berechnet werden.&lt;br /&gt;
* z.B. wird die Ausgangsgröße &#039;&#039;_k_Feder&#039;&#039; der Modell-Variablen &#039;&#039;Toleranz.kF&#039;&#039; zugeordnet.&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_absolut_outputs.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bewertungsgrößen ==&lt;br /&gt;
&lt;br /&gt;
* Wir nutzen Restriktionsgrößen zur Überprüfung, ob alle Forderungen an den Antrieb eingehalten werden. &lt;br /&gt;
* Für die Toleranz-Simulation können wir uns auf die folgenden 5 Restriktionsgrößen beschränken, weil die berücksichtigten Streuungen keine Auswirkung auf die Abmessungen des Magneten haben:&lt;br /&gt;
# &#039;&#039;&#039;Praegung&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;tZyklus&#039;&#039;&#039; (Obergrenze wie gefordert!)&lt;br /&gt;
# &#039;&#039;&#039;vMax&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;iMax&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;dT_Draht&#039;&#039;&#039; &lt;br /&gt;
* Wir ergänzen im Workflow die erforderlichen Ausgangsgrößen und Restriktionen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_workflow_mit_restriktionen.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Unter Berücksichtigung der richtigen physikalischen Einheit tragen wir die Grenzwerte für die Restriktionsgrößen ein.&lt;br /&gt;
&lt;br /&gt;
== Versuchsplanung ==&lt;br /&gt;
&lt;br /&gt;
Eine Versuchsplanung ist immer dann durchzuführen, wenn man Streuungen als Entwurfsparameter im Workflow verwendet:&lt;br /&gt;
* Anstatt eines einzelnen Modell-Laufes wird eine probabilistische Simulation im Sinne einer Toleranz-Simulation durchgeführt. &lt;br /&gt;
* Diese Art der Simulation bildet das Verhalten einer Stichprobe nach. &lt;br /&gt;
* Innerhalb der Stichprobe werden:&lt;br /&gt;
# die Streuungen von Entwurfsparametern im Rahmen ihrer Verteilungsdichte-Funktionen berücksichtigt. &lt;br /&gt;
# die daraus resultierenden Streuungen aller anderen Workflow-Größen berechnet. &lt;br /&gt;
&lt;br /&gt;
Probabilistische Simulation kann nach verschiedenen Verfahren durchgeführt werden:&lt;br /&gt;
# Streuung von Entwurfsparametern durch Generierung von Zufallszahlen. &lt;br /&gt;
# Ermittlung von Übertragungsfunktionen zwischen streuenden Inputgrößen und Outputgrößen. Analytische Berechnung der Outputstreuung anhand der Eingangsstreuungen und der ermittelten Übertragungsfunktionen. &lt;br /&gt;
&lt;br /&gt;
Details zu den beiden grundlegenden Verfahren der probabilistischen Simulation werden in den folgenden Abschnitten behandelt. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Toleranzmodell|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Sample-Methoden|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15353</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Probabilistische Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15353"/>
		<updated>2014-06-05T11:47:51Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Formulierung präzisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Probabilistische Simulation  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Planung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktionalität unseres Antriebs hat sich für die exakten Nennwerte durch die Struktur-Änderung nicht verschlechtert. In Hinblick auf die Zykluszeit erreicht man durch Ausschöpfen aller Restriktionen und den schnelleren Stromanstieg wahrscheinlich sogar bessere Werte:&lt;br /&gt;
* Erst die probabilistische Simulation kann zeigen, in welchem Maße wir durch die Struktur-Änderung eine akzeptable Verbesserung unserer Antriebslösung in Hinblick auf die Robustheit gegen Parameter-Streuungen erreichen konnten.&lt;br /&gt;
* Wir benutzen dafür einen neuen OptiY-Versuchsstand &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_workflow_probabilistik.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diesen kann man wie für die Nennwert-Optimierung aus einer Kopie von &#039;&#039;Etappe4_xx.opy&#039;&#039;  gewinnen:&lt;br /&gt;
*# Anstatt Etappe4_xx.isx im Workflow beider Experimente die Datei &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; öffnen (Experiment zuvor als &#039;&#039;&#039;Startup-Experiment&#039;&#039;&#039;!) &lt;br /&gt;
*# &#039;&#039;&#039;iMax&#039;&#039;&#039; und &#039;&#039;&#039;vMax&#039;&#039;&#039; aus beiden Experiment-Workflows entfernen, da die Streuung dieser Größen nicht mehr relevant ist.&lt;br /&gt;
*# Datei &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039; speichern.&lt;br /&gt;
*# OptiY und SimulationX beenden.&lt;br /&gt;
* Sowohl mit der Sample-Methode als auch mit der Moment-Methode soll in Anlehnung an die &#039;&#039;Etappe4&#039;&#039; eine probabilistische Simulation der neuen Nennwert-optimalen Lösung vorgenommen werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise zur Modell- und Lösungsstabilität:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Unter Umständen werden während der probabilistischen Simulation Lösungsexemplare generiert, deren Magnet zu schwach ist, um das Papier zu Prägen. Dabei ergibt sich eine Zykluszeit nahe Null.&lt;br /&gt;
* Ohne &#039;&#039;Praegung&#039;&#039; des Papiers erfolgt im Modell kein Abschalten des Elektro-Magneten, der nun komplett in die Sättigung gelangt. Dabei kann sich der Solver in einer Rechenschleife verfangen und die Modellrechnung endet nicht selbständig. Deshalb sollte man den Term für die Abbruchbedingung im Simulationsmodell wie folgt umformulieren:&lt;br /&gt;
 ((Praegung.y&amp;gt;=1)and(tZyklus.y&amp;gt;1e-3)and((t-tZyklus.y)&amp;gt;1e-5))or((Riss.y==0)and(Nadel.v&amp;gt;0)and(Nadel.x&amp;lt;Nadel.x0))&lt;br /&gt;
* Wenn das Papier noch nicht gerissen ist und die Nadel trotzdem zurückfliegt, dann federte die Nadelspitze nur auf der Papieroberfläche ab und es wird kein Prägevorgang erfolgen. In diesem Fall soll die Simulation enden.&lt;br /&gt;
* Bevor die Nadel durch die Magnetkraft in das Papier gedrückt wird, erfolgt durch die Feder-Vorspannung ein Zurückziehen in den Anschlag. Das wird als ein tZyklus-Ereignis interpretiert. Es entsteht ein Wert für tZyklus nahe Null. Mit dem bisherigen Spulenmodell wird beim Nichtprägen damit eine Erwärmung im Bereich von 1000 K berechnet! &lt;br /&gt;
* Da wir die Simulation unmittelbar nach vollendetem Prägezyklus abschalten, können wir anstatt der Zykluszeit die Simulationszeit selbst für die Berechnung der Spulentemperatur benutzen.&lt;br /&gt;
* Wir ändern mit dem Typedesigner das Verhalten des Spulenelements wie folgt, wobei wir eine Division durch Null vermeiden müssen:&lt;br /&gt;
 PW:=Rel*i*i;&lt;br /&gt;
 EW:=integral(PW,0);&lt;br /&gt;
 &#039;&#039;&#039;PW_mittel:=EW/(time+1e-6);&#039;&#039;&#039;&lt;br /&gt;
 dT_Spule:=Rth_Kuehl*PW_mittel;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sample-Methode ===&lt;br /&gt;
&lt;br /&gt;
Hier soll das Augenmerk darauf gerichtet werden, dass eine Normalverteilung laut Definition keine Grenzen besitzt! Das erkennt man an einzelnen &amp;quot;Ausreißern&amp;quot; bei der Generierung der Stichprobe:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_inputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Solche &amp;quot;Ausreißer&amp;quot; bewirken bei grenzwertigen Lösungen häufig ein unzulässiges Verhalten.&lt;br /&gt;
* Alle nicht normalverteilten Streuungen (im Beispiel die Spulentemperatur) bewegen sich nur innerhalb der vorgegebenen Grenzwerte.&lt;br /&gt;
&lt;br /&gt;
==== Robustes Praegen ====&lt;br /&gt;
&lt;br /&gt;
Falls die gesamte berechnete Stichprobe zu einer vollständigen Praegung des Papiers führt, so ist die Interpretation der Ergebnisse relativ einfach:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Sensitivitäts-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei vollständigem Prägen der Stichprobe zeigt der Sensitivity-Chart für die Praegung nur das Rauschen um den Wert 1. Die Ergebnisse des Praegung-Charts können also ignoriert werden.   &lt;br /&gt;
* Die Charts der anderen Bewertungsgrößen zeigen jedoch deutlich den unterschiedlichen Einfluss der einzelnen Streuungen.&lt;br /&gt;
&lt;br /&gt;
==== Teilweises Nichtpraegen ====&lt;br /&gt;
&lt;br /&gt;
Kritisch wird die Interpretation der Ergebnisse, wenn man im Histogramm der &#039;&#039;Praegung&#039;&#039; sieht, dass ein Teil der Stichprobe zu einem Nichtprägen des Papiers führte (im Beispiel 17%): &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die &amp;quot;nichtprägenden&amp;quot; Antriebe widerspiegeln sich auch im Histogramm der Zykluszeit, wo sie mit einer sehr kleinen Zykluszeit von ca. 0,18&amp;amp;nbsp;ms vermerkt sind. &lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Falls &amp;quot;nichtprägende&amp;quot; Lösungen im Histogramm nicht dargestellt werden, obwohl dafür eine Versagenswahrscheinlichkeit&amp;gt;0 angezeigt wird, kann man die Anzahl der Balken im Histogramm verringern (z.B auf 10). Das muss aber nicht zum Erfolg führen, denn in den Histogrammen werden nur Balken ab einer gewissen prozentualen Höhe berücksichtigt! In der DOE-Tabelle erhält man die Werte der kompletten realen Stichprobe.&lt;br /&gt;
Die Sensitivitäts-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Effekt (=Einfluss) der einzelnen Streuung auf das Verhalten (abgebildet durch die Bewertungsgrößen) wird für den aktuellen Arbeitspunkt bestimmt (=aktuelle Nennwerte).&lt;br /&gt;
* Für die Effekt-Berechnung wird nicht das Original-Modell benutzt. Verwendet werden dafür die Antwortflächen (=Ersatzfunktionen) der einzelnen Bewertungsgrößen.&lt;br /&gt;
* Die gebildeten Ersatzfunktionen (im Beispiel Gauß-Prozess mit Polynomordnung=2) sind nur für stetige Verhaltensänderungen hinreichend genau.&lt;br /&gt;
* Wir haben hier jedoch den typischen Fall, dass zulässige und unzulässige Lösungen nicht stetig ineinander übergehen:[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_anthillplot.gif|right]]&lt;br /&gt;
* Es entstehen im Beispiel zwei Teilmengen in der Stichprobe, welche sich in Ihren Eigenschaften markant voneinander unterscheiden.&lt;br /&gt;
* Dieser Fall ist typisch bei Totalversagen von Lösungen (&amp;quot;Sein oder Nichtsein&amp;quot;), was sich im Beispiel in &amp;quot;Prägen oder Nichtprägen&amp;quot; äußert.&lt;br /&gt;
* In der realen Monte-Carlo-Stichprobe wird dieses Verhalten exakt abgebildet. Man kann die &amp;quot;räumlich&amp;quot; getrennten Lösungsmengen sehr gut über Anthill-Plots visualisieren (Bild rechts).&lt;br /&gt;
* Der Wert von tZyklus=0,19&amp;amp;nbsp;ms beim &amp;quot;Nichtprägen&amp;quot; repräsentiert keinen besonders schnellen Antrieb. Es handelt sich um einen Zufallswert, der aus dem Hineinziehen der Prägenadel in den Anschlag durch die Federvorspannung vor dem Wirken einen ausreichenden Magnetkraft resultiert.&lt;br /&gt;
* Für unstetige Bewertungsgrößen (z.B. Praegung) ist es kaum möglich, die Streuung der Bewertungsgrößen mittels eines Polynom-Ansatzes befriedigend abzubilden, wie man anhand der virtuellen Stichprobe auf einem Gauß-Prozess mit Polynomordnung=2 erkennt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Benutzt man für den Gauß-Prozess die Polynomordnung=3 (Antwortflächen, Sensitivitäten und Probabilistik neu berechnen!), so sind die Verteilungsdichten zwar stetiger, aber an der grundsätzlich fehlerhaften Ersatzfunktion ändert sich nichts:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten_po3.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_praegung_korrigiert.gif|right]]&lt;br /&gt;
* Die Teilversagenswahrscheinlichkeit für das Prägen wird im Beispiel extrem verfälscht. Das hat auch Auswirkung auf die angebliche Gesamtversagenswahrscheinlichkeit (im Beispiel ca. 60%). Hier kann man sich mit einem Trick behelfen, indem man die Grenzen des zulässigen Bereichs z.B. auf 0.8 bis 1.3 setzt. Erreicht die Nadelspitze den unteren Grenzwert, dann erfolgt in jedem Fall ein Prägen. Im realen Modell können keine Werte über 1 vorkommen (außer Ungenauigkeiten im Promille-Bereich).&lt;br /&gt;
* Nach &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Probabilistik &amp;gt; Neu berechnen&#039;&#039;&#039;&#039;&#039; ergeben sich sinnvollere Werte für das Gesamtversagen von ca. 20% (Bild rechts).&lt;br /&gt;
&lt;br /&gt;
=== Moment-Methode ===&lt;br /&gt;
&lt;br /&gt;
Es ist zu erwarten, dass die Genauigkeit der Moment-Methode einer unstetigen Lösungsmenge ebenfalls nicht befriedigen kann. Wenn man den Trick mit der korrigierten unteren Grenze für die &#039;&#039;Praegung&#039;&#039; auch in diesem Experiment anwendet, so erhält man ähnliche Ergebnisse, wie mit der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Auch die Rangfolge der Effekte ist ähnlich wie bei der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modellreduktion bei unstetigem Modellverhalten ===&lt;br /&gt;
&lt;br /&gt;
Ein wichtiges Ziel der probabilistischen Analyse dürfen wir nicht aus den Augen verlieren - die Minimierung der erforderlichen Modellberechnungen durch Vernachlässigung unwesentlicher Streu-Effekte:&lt;br /&gt;
* Bei Existenz von Verhaltensunstetigkeiten im Streu-Bereich sind die Ergebnisse im Hinblick auf die Rangfolge der Effekte und das Maß ihrer Interaktionen mit großen Unsicherheiten behaftet, weil die Ersatzfunktionen in den Unstetigkeitsbereichen sehr ungenau sind.&lt;br /&gt;
* Der Pfad einer späteren Optimierung soll sich möglichst von unstetigem Verhalten fernhalten. Es ist deshalb ausreichend, die Sensitivitäten des Verhaltens in einem engeren Streubereich zu untersuchen. Die ermittelten Sensitivitäten werden sich während der Optimierung nicht total verändern.&lt;br /&gt;
* Wir verringern deshalb bei vorhandener Verhaltensunstetigkeit vorübergehend die Toleranzen der Streuungen &#039;&#039;&#039;proportional&#039;&#039;&#039; soweit, dass kein unstetiges Verhalten für die simulierte Stichprobe mehr auftritt. Im Beispiel war dies bei einer Verringerung aller Streuungstoleranzen auf 10% der ursprünglichen Streubreiten gewährleistet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode_zehntel.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Ergebnisse für die Praegung können wir weiterhin ignorieren, da diese nur das Rauschen der Zahl 1 abbilden. &lt;br /&gt;
* Die restlichen Sensitivity-Charts zeigen das Fehlen von Interaktionen zwischen den Streuungen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode_zehntel.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Außerdem kann man im Beispiel auf die Streuungen der Betriebsspannung und der Spulentemperatur für die probabilistische Simulation verzichten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Sensitivitäten bei unstetigem Verhalten:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Kommt es innerhalb der Stichprobe zu unstetigem Modellverhalten (z.B. Nichtprägen), so verringert man die Toleranzen aller Streuungen proportional, bis stetiges Verhalten erreicht wird. Bei Verwendung einer Sample-Methode muss man dabei auch die Toleranzen für den &amp;quot;virtuellen Entwurf&amp;quot; mit ändern.&lt;br /&gt;
* Konfiguriert man dafür kein separates Experiment, so sollte man nach Ermittlung der globalen Sensitivitäten und Festlegung der Modellreduktion die Änderung wieder rückgängig machen. Nur so ist gewährleistet, dass man später wieder das Verhalten der realen Stichprobe simuliert. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15352</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Probabilistische Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15352"/>
		<updated>2014-06-02T06:21:49Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert; verwirrendes Satzkonstrukt entwirrt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Probabilistische Simulation  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Planung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktionalität unseres Antriebs hat sich für die exakten Nennwerte durch die Struktur-Änderung nicht verschlechtert. In Hinblick auf die Zykluszeit erreicht man durch Ausschöpfen aller Restriktionen und den schnelleren Stromanstieg wahrscheinlich sogar bessere Werte:&lt;br /&gt;
* Erst die probabilistische Simulation kann zeigen, in welchem Maße wir durch die Struktur-Änderung eine akzeptable Verbesserung unserer Antriebslösung in Hinblick auf die Robustheit gegen Parameter-Streuungen erreichen konnten.&lt;br /&gt;
* Wir benutzen dafür einen neuen OptiY-Versuchsstand &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_workflow_probabilistik.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diesen kann man wie für die Nennwert-Optimierung aus einer Kopie von &#039;&#039;Etappe4_xx.opy&#039;&#039;  gewinnen:&lt;br /&gt;
*# Anstatt Etappe4_xx.isx im Workflow beider Experimente die Datei &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; öffnen (Experiment zuvor als &#039;&#039;&#039;Startup-Experiment&#039;&#039;&#039;!) &lt;br /&gt;
*# &#039;&#039;&#039;iMax&#039;&#039;&#039; und &#039;&#039;&#039;vMax&#039;&#039;&#039; aus beiden Experiment-Workflows entfernen, da die Streuung dieser Größen nicht mehr relevant ist.&lt;br /&gt;
*# Datei &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039; speichern.&lt;br /&gt;
*# OptiY und SimulationX beenden.&lt;br /&gt;
* Sowohl mit der Sample-Methode als auch mit der Moment-Methode soll in Anlehnung an die &#039;&#039;Etappe4&#039;&#039; eine probabilistische Simulation der neuen Nennwert-optimalen Lösung vorgenommen werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise zur Modell- und Lösungsstabilität:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Unter Umständen werden während der probabilistischen Simulation Lösungsexemplare generiert, deren Magnet zu schwach ist, um das Papier zu Prägen. Dabei ergibt sich eine Zykluszeit nahe Null.&lt;br /&gt;
* Ohne &#039;&#039;Praegung&#039;&#039; des Papiers erfolgt im Modell kein Abschalten des Elektro-Magneten, der nun komplett in die Sättigung gelangt. Dabei kann sich der Solver in einer Rechenschleife verfangen und die Modellrechnung endet nicht selbständig. Deshalb sollte man den Term für die Abbruchbedingung im Simulationsmodell wie folgt umformulieren:&lt;br /&gt;
 ((Praegung.y&amp;gt;=1)and(tZyklus.y&amp;gt;1e-3)and((t-tZyklus.y)&amp;gt;1e-5))or((Riss.y==0)and(Nadel.v&amp;gt;0)and(Nadel.x&amp;lt;Nadel.x0))&lt;br /&gt;
* Wenn das Papier noch nicht gerissen ist und die Nadel trotzdem zurückfliegt, dann federte die Nadelspitze nur auf der Papieroberfläche ab und es wird kein Prägevorgang erfolgen. In diesem Fall soll die Simulation enden.&lt;br /&gt;
* Bevor die Nadel durch die Magnetkraft in das Papier gedrückt wird, erfolgt durch die Feder-Vorspannung ein Zurückziehen in den Anschlag. Das wird als ein tZyklus-Ereignis interpretiert. Es entsteht ein Wert für tZyklus nahe Null. Mit dem bisherigen Spulenmodell wird beim Nichtprägen damit eine Erwärmung im Bereich von 1000 K berechnet! &lt;br /&gt;
* Da wir die Simulation unmittelbar nach vollendetem Prägezyklus abschalten, können wir anstatt der Zykluszeit die Simulationszeit selbst für die Berechnung der Spulentemperatur benutzen.&lt;br /&gt;
* Wir ändern mit dem Typedesigner das Verhalten des Spulenelements wie folgt, wobei wir eine Division durch Null vermeiden müssen:&lt;br /&gt;
 PW:=Rel*i*i;&lt;br /&gt;
 EW:=integral(PW,0);&lt;br /&gt;
 &#039;&#039;&#039;PW_mittel:=EW/(time+1e-6);&#039;&#039;&#039;&lt;br /&gt;
 dT_Spule:=Rth_Kuehl*PW_mittel;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sample-Methode ===&lt;br /&gt;
&lt;br /&gt;
Hier soll das Augenmerk darauf gerichtet werden, dass eine Normalverteilung laut Definition keine Grenzen besitzt! Das erkennt man an einzelnen &amp;quot;Ausreißern&amp;quot; bei der Generierung der Stichprobe:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_inputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Solche &amp;quot;Ausreißer&amp;quot; bewirken bei grenzwertigen Lösungen häufig ein unzulässiges Verhalten.&lt;br /&gt;
* Alle nicht normalverteilten Streuungen (im Beispiel die Spulentemperatur) bewegen sich nur innerhalb der vorgegebenen Grenzwerte.&lt;br /&gt;
&lt;br /&gt;
==== Robustes Praegen ====&lt;br /&gt;
&lt;br /&gt;
Falls die gesamte berechnete Stichprobe zu einer vollständigen Praegung des Papiers führt, so ist die Interpretation der Ergebnisse relativ einfach:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Sensitivitäts-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei vollständigem Prägen der Stichprobe zeigt der Sensitivity-Chart für die Praegung nur das Rauschen um den Wert 1. Die Ergebnisse des Praegung-Charts können also ignoriert werden.   &lt;br /&gt;
* Die Charts der anderen Bewertungsgrößen zeigen jedoch deutlich den unterschiedlichen Einfluss der einzelnen Streuungen.&lt;br /&gt;
&lt;br /&gt;
==== Teilweises Nichtpraegen ====&lt;br /&gt;
&lt;br /&gt;
Kritisch wird die Interpretation der Ergebnisse, wenn man im Histogramm der &#039;&#039;Praegung&#039;&#039; sieht, dass ein Teil der Stichprobe zu einem Nichtprägen des Papiers führte (im Beispiel 17%): &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die &amp;quot;nichtprägenden&amp;quot; Antriebe widerspiegeln sich auch im Histogramm der Zykluszeit, wo sie mit einer sehr kleinen Zykluszeit von ca. 0,18&amp;amp;nbsp;ms vermerkt sind. &lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Falls &amp;quot;nichtprägende&amp;quot; Lösungen im Histogramm nicht dargestellt werden, obwohl dafür eine Versagenswahrscheinlichkeit&amp;gt;0 angezeigt wird, kann man die Anzahl der Balken im Histogramm verringern (z.B auf 10). Das muss aber nicht zum Erfolg führen, denn in den Histogrammen werden nur Balken ab einer gewissen prozentualen Höhe berücksichtigt! In der DOE-Tabelle erhält man die Werte der kompletten realen Stichprobe.&lt;br /&gt;
Die Sensitivitäts-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Effekt (=Einfluss) der einzelnen Streuung auf das Verhalten (abgebildet durch die Bewertungsgrößen) wird für den aktuellen Arbeitspunkt bestimmt (=aktuelle Nennwerte).&lt;br /&gt;
* Für die Effekt-Berechnung wird nicht das Original-Modell benutzt. Verwendet werden dafür die Antwortflächen (=Ersatzfunktionen) der einzelnen Bewertungsgrößen.&lt;br /&gt;
* Die gebildeten Ersatzfunktionen (im Beispiel Gauß-Prozess mit Polynomordnung=2) sind nur für stetige Verhaltensänderungen hinreichend genau.&lt;br /&gt;
* Wir haben hier jedoch den typischen Fall, dass zulässige und unzulässige Lösungen nicht stetig ineinander übergehen:[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_anthillplot.gif|right]]&lt;br /&gt;
* Es entstehen im Beispiel zwei Teilmengen in der Stichprobe, welche sich in Ihren Eigenschaften markant voneinander unterscheiden.&lt;br /&gt;
* Dieser Fall ist typisch bei Totalversagen von Lösungen (&amp;quot;Sein oder Nichtsein&amp;quot;), was sich im Beispiel in &amp;quot;Prägen oder Nichtprägen&amp;quot; äußert.&lt;br /&gt;
* In der realen Monte-Carlo-Stichprobe wird dieses Verhalten exakt abgebildet. Man kann die &amp;quot;räumlich&amp;quot; getrennten Lösungsmengen sehr gut über Anthill-Plots visualisieren (Bild rechts).&lt;br /&gt;
* Der Wert von tZyklus=0,19&amp;amp;nbsp;ms beim &amp;quot;Nichtprägen&amp;quot; repräsentiert keinen besonders schnellen Antrieb. Es handelt sich um einen Zufallswert, der aus dem Hineinziehen der Prägenadel in den Anschlag durch die Federvorspannung vor dem Wirken einen ausreichenden Magnetkraft resultiert.&lt;br /&gt;
* Für unstetige Bewertungsgrößen (z.B. Praegung) ist es kaum möglich, die Streuung der Bewertungsgrößen mittels eines Polynom-Ansatzes befriedigend abzubilden, wie man anhand der virtuellen Stichprobe auf einem Gauß-Prozess mit Polynomordnung=2 erkennt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Benutzt man für den Gauß-Prozess die Polynomordnung=3 (Antwortflächen, Sensitivitäten und Probabilistik neu berechnen!), so sind die Verteilungsdichten zwar stetiger, aber an der grundsätzlich fehlerhaften Ersatzfunktion ändert sich nichts:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten_po3.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_praegung_korrigiert.gif|right]]&lt;br /&gt;
* Die Teilversagenswahrscheinlichkeit für das Prägen wird im Beispiel extrem verfälscht. Das hat auch Auswirkung auf die angebliche Gesamtversagenswahrscheinlichkeit (im Beispiel ca. 60%). Hier kann man sich mit einem Trick behelfen, indem man die Grenzen des zulässigen Bereichs z.B. auf 0.8 bis 1.3 setzt. Erreicht die Nadelspitze den unteren Grenzwert, dann erfolgt in jedem Fall ein Prägen. Im realen Modell können keine Werte über 1 vorkommen (außer Ungenauigkeiten im Promille-Bereich).&lt;br /&gt;
* Nach &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Probabilistik &amp;gt; Neu berechnen&#039;&#039;&#039;&#039;&#039; ergeben sich sinnvollere Werte für das Gesamtversagen von ca. 20% (Bild rechts).&lt;br /&gt;
&lt;br /&gt;
=== Moment-Methode ===&lt;br /&gt;
&lt;br /&gt;
Es ist zu erwarten, dass die Genauigkeit der Moment-Methode einer unstetigen Lösungsmenge ebenfalls nicht befriedigen kann. Wenn man den Trick mit der korrigierten unteren Grenze für die &#039;&#039;Praegung&#039;&#039; auch in diesem Experiment anwendet, so erhält man ähnliche Ergebnisse, wie mit der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Auch die Rangfolge der Effekte ist ähnlich wie bei der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modellreduktion bei unstetigem Modellverhalten ===&lt;br /&gt;
&lt;br /&gt;
Ein wichtiges Ziel der probabilistischen Analyse dürfen wir nicht aus den Augen verlieren - die Minimierung der erforderlichen Modellberechnungen durch Vernachlässigung unwesentlicher Streu-Effekte:&lt;br /&gt;
* Bei Existenz von Verhaltensunstetigkeiten im Streu-Bereich sind die Ergebnisse im Hinblick auf die Rangfolge der Effekte und das Maß ihrer Interaktionen mit großen Unsicherheiten behaftet, weil die Ersatzfunktionen in den Unstetigkeitsbereichen sehr ungenau sind.&lt;br /&gt;
* Der Pfad einer späteren Optimierung soll sich möglichst von unstetigem Verhalten fernhalten. Es ist deshalb ausreichend, die Sensitivitäten des Verhaltens in einem engeren Streubereich zu untersuchen. Die ermittelten Sensitivitäten werden sich während der Optimierung nicht total verändern.&lt;br /&gt;
* Wir verringern deshalb bei vorhandener Verhaltensunstetigkeit vorübergehend die Toleranzen der Streuungen proportional soweit, dass kein unstetiges Verhalten für die simulierte Stichprobe mehr auftritt. Im Beispiel war dies bei einer Verringerung aller Streuungstoleranzen auf 10% gewährleistet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode_zehntel.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Ergebnisse für die Praegung können wir weiterhin ignorieren, da diese nur das Rauschen der Zahl 1 abbilden. &lt;br /&gt;
* Die restlichen Sensitivity-Charts zeigen das Fehlen von Interaktionen zwischen den Streuungen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode_zehntel.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Außerdem kann man im Beispiel auf die Streuungen der Betriebsspannung und der Spulentemperatur für die probabilistische Simulation verzichten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Sensitivitäten bei unstetigem Verhalten:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Kommt es innerhalb der Stichprobe zu unstetigem Modellverhalten (z.B. Nichtprägen), so verringert man die Toleranzen aller Streuungen proportional, bis stetiges Verhalten erreicht wird. Bei Verwendung einer Sample-Methode muss man dabei auch die Toleranzen für den &amp;quot;virtuellen Entwurf&amp;quot; mit ändern.&lt;br /&gt;
* Konfiguriert man dafür kein separates Experiment, so sollte man nach Ermittlung der globalen Sensitivitäten und Festlegung der Modellreduktion die Änderung wieder rückgängig machen. Nur so ist gewährleistet, dass man später wieder das Verhalten der realen Stichprobe simuliert. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15351</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Ergebnisse</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15351"/>
		<updated>2014-05-27T14:08:47Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Robust-Optimierung (Experiment-Ergebnisse) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Durchführung === &lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_3d-kriterien.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Um die Zeit zu nutzen, sollten wir bereits vor der Konfiguration der Diagramm-Fenster die Optimierung starten. &lt;br /&gt;
&lt;br /&gt;
Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als &amp;quot;Kriterien-Raum&amp;quot; visualisieren (&#039;&#039;&#039;&#039;&#039;Analyse&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Darstellung&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;3D-Darstellung&#039;&#039;&#039;&#039;&#039;). Die Achsen belegen wir mit unseren Gütekriterien, wobei es sinnvoll ist, die mittlere Zykluszeit als funktionelle Größe auf die Z-Achse zu legen. Zusätzlich ist es sinnvoll, möglichst alle Abhängigkeiten zwischen den Gütekriterien als 2D-Darstellung im Sinne von Projektionen des mehrdimensionalen Kriterien-Raumes abzubilden:&lt;br /&gt;
* Dazu stellt man jeweils zwei Kriterien in einem Nennwert-Fenster dar und schaltet danach unter &#039;&#039;&#039;&#039;&#039;Analyse&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Darstellung&#039;&#039;&#039;&#039;&#039; auf 2D-Darstellung um (ein Kriterium muss dabei zuvor im Nennwert-Fenster als X-Achse selektiert sein!).&lt;br /&gt;
* Die 2D-Diagramme muss man dann auch noch so konfigurieren, dass nur die Lösungspunkte dargestellt werden.&lt;br /&gt;
* Im Beispiel ergibt das drei Projektionen der Lösungsmenge entsprechend der Anzahl möglicher Paar-Kombinationen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_2d-diagramme.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Lösungspunkte repräsentieren jeweils eine Stichprobe, die im Rahmen der co-evolutionären Optimierungsstrategie berechnet wird. Der Verlauf der Co-Evolution widerspiegelt sich in den Nennwert-Diagrammen der variablen Entwurfsparameter und der Bewertungsgrößen des Experiments:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_nennwert-verlauf_optimierungsmenge.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Beispiel entsprechen 15 Stichproben (Kinder) jeweils einer Generation innerhalb der Evolutionsstrategie.[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_paretomenge2.gif|right]]&lt;br /&gt;
* Die Nennwert-Verläufe erinnern stark an [http://de.wikipedia.org/wiki/1/f-Rauschen &#039;&#039;&#039;Rosa Rauschen&#039;&#039;&#039;]. Der längerfristigen evolutionären Entwicklung der Population sind die Mutationen der einzelnen Individuen überlagert.&lt;br /&gt;
* Die Population bewegt sich infolge der Evolutionsstrategie zuerst in den Bereich zulässiger Nennwert-Lösungen (Strafe=0).&lt;br /&gt;
* Danach entwickelt sich die Population weiter in Richtung minimalen Versagens innerhalb der Streuungen um die Nennwertlösungen (Versagen&amp;amp;rarr;0).&lt;br /&gt;
* Bildlich gesehen bewegt sich die Population zum Bereich der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population danach bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Durch die Mutationen entstehen auch einzelne &amp;quot;Ausreißer&amp;quot;, welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer &amp;quot;ökologischer Nischen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Auswertung ===&lt;br /&gt;
&lt;br /&gt;
Bisher werden in den 2D/3D-Diagrammen alle berechneten &amp;quot;Kinder&amp;quot; (=probabilistische Simulationsläufe) dargestellt. Uns interessieren aber nur die Mitglieder der Pareto-Menge:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_mengewahl-pareto.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Es bleiben nur die zulässigen Lösungen der &amp;quot;Seifenhaut&amp;quot; in den Diagrammen erhalten. Leider können einzelne Ausreißer (im Beispiel &#039;&#039;Streuung_tZyklus&#039;&#039; sehr groß) eine automatische Skalierung verhindern, welche nur die eigentlich interessierende Pareto-Menge umfasst:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Falls dieser Ausreißer-Effekt störend in Erscheinung tritt (was im Beispiel noch nicht der Fall ist), gelangt man über einen Zwischenschritt zu einer sinnvoll skalierten Darstellung:[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_gefilterte_pareto_anzahl_20.gif|right]]&lt;br /&gt;
* Man wählt &#039;&#039;&#039;Analyse &amp;gt; Menge-Auswahl &amp;gt; Gefilterte Pareto-Menge&#039;&#039;&#039;. &lt;br /&gt;
* Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen. &lt;br /&gt;
* Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Danach schalten wir in allen 2D/3D-Diagrammen die Autoskalierung ab und wählen in der Menge-Auswahl wieder die vollständige Pareto-Menge:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_skaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Im 3D-Diagramm können nun Lösungen außerhalb der Grenzen liegen (im Beispiel nicht). Das würde nicht stören, weil es sich hierbei im Sinne der Robust-Optimierung um ungünstige Lösungen handelt.&lt;br /&gt;
&lt;br /&gt;
Die Aufgabe besteht nun darin, aus der dargestellten Pareto-Menge eine günstige Kompromisslösung auszuwählen:&lt;br /&gt;
* Jeden einzelnen Lösungspunkt in einem 2D-Diagramm kann man mit dem Cursor auswählen.&lt;br /&gt;
* Die ausgewählte Lösung erscheint dann in allen 2D- und 3D-Diagrammen als markiert.&lt;br /&gt;
* Um einzelne Lösungen analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_verteilungsdichten.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
Man kann auf Grundlage der Pareto-Menge entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:&lt;br /&gt;
* Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im zugehörigen 2D-Diagramm deutlich erkennbar. Je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule. &lt;br /&gt;
* Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt. Im Beispiel fällt die Entscheidung leicht:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge30_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Obige Verteilungsdichten gehören zu der markierten Lösung. Die Stichprobe prägt stabil und die Teilversagenswahrscheinlichkeiten für die Zykluszeit und Drahterwärmung sind praktisch Null.&lt;br /&gt;
* Im Beispiel sollte einem diese Lösung bekannt vorkommen. Es handelt sich um den Bestwert aus der Ausschuss-Minimierung! Diese Lösung hatten wir als Startwert für die multikriterielle Robustoptimierung benutzt. Es konnte keine Verbesserung im Sinne &amp;quot;möglichst schnell bei minimaler Erwärmung&amp;quot; gefunden werden&lt;br /&gt;
* Die Streuung der Zykluszeit im Sinne einer robusteren Lösung konnte ebenfalls nicht verringert werden. Es gibt praktisch keine Lösungen, deren Zykluszeit weniger streut.&lt;br /&gt;
* Da wir im Rahmen dieser Übung nur eine relative geringe Zahl (300) an Optimierungsschritten genutzt haben, sind die Lösungen noch nicht vollständig bis zur &amp;quot;richtigen&amp;quot; Paretomenge konvergiert. Man erkennt das daran, dass die Anfangslösung als beste Kompromisslösung noch etwas außerhalb der berechneten Paretomenge liegt.&lt;br /&gt;
* Im Beispiel kommt man nach ca. 2000 Optimierungsschritten der realen Pareto-Menge schon recht nahe (für Teilnehmer der Übung nicht erforderlich!):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge2000_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* In obigen Diagrammen erkennt man einen &#039;&#039;&#039;Ausreißer mit Streuung_tZyklus=0&#039;&#039;&#039;. Hierbei kam es zu numerischen Problemen bei der Simulation der Stichprobe, welche anscheinend vom OptiY nicht erkannt wurden.&lt;br /&gt;
* Interessant an dieser genauer berechneten Pareto-Menge ist die Existenz mehrerer in Hinblick auf die Zykluszeit gleichberechtigte Lösungen. Diese führen jedoch teilweise z.B. auf Grund dickeren Drahtes und größerer Magnetlänge zu bedeutend geringerer Erwärmung! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Im Beispiel wurde bereits bei der Ausschuss-Minimierung eine robuste Lösung gefunden, weil die Zeit-Forderung nur durch Ausschöpfung aller anderen Grenzwerte erfüllbar war. Die gesamte Stichprobe kann dabei im Rahmen der Parameterstreuung nur dann innerhalb der zulässigen Grenzen bleiben, wenn die Streuung des Verhaltens ebenfalls minimiert wird. Die anschließende multikriterielle Robustoptimierung hat dann dieses Ergebnis bestätigt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem des Drahtdurchmessers:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Bei der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen. Da die damit erreichte Optimal-Lösung im Beispiel beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr. Die sich im Beispiel mit &#039;&#039;d_Draht=0.6&amp;amp;nbsp;mm&#039;&#039; ergebende Magnetlänge erfüllt sogar die ursprüngliche Vorgabe für die Magnetlänge. Eine eventuell erforderliche Vergrößerung des Magneten wird sich praktisch immer realisieren lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_kein_normdraht.gif| ]]&amp;lt;/div&amp;gt;Falls sich wider Erwarten eine andere Lösung als optimale Kompromisslösung erweist, so wird der benötigte Drahtdurchmesser wahrscheinlich keinem Normdraht entsprechen:&lt;br /&gt;
* Infolge der zusätzlich erforderlichen, sehr engen Draht-Restriktion scheitert dann die co-evolutionäre Strategie mit großer Wahrscheinlichkeit. Eine Oszillation der Lösung entlang der Pareto-Menge kommt nicht zustande!&lt;br /&gt;
* In diesem Fall hilft nur unter Einbeziehung der gewonnenen Erkenntnisse zur Robust-Optimierung eine erneute Ausschuss-Minimierung. Im Rahmen der Übung soll dies jedoch nicht mehr durchgeführt werden!&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Ergebnisse (Robust-Optimierung) ===&lt;br /&gt;
Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Mit welchen &#039;&#039;&#039;technisch sinnvollen&#039;&#039;&#039; Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine möglichst robuste und trotzdem schnelle Antriebslösung mit der Ausschuss-Quote Null:&lt;br /&gt;
* &#039;&#039;&#039;Mittel_tZyklus&#039;&#039;&#039; (mittlere Zykluszeit) &lt;br /&gt;
* &#039;&#039;&#039;Streuung_tZyklus&#039;&#039;&#039; (um die mittlere Zykluszeit)&lt;br /&gt;
* &#039;&#039;&#039;Mittel_dT_Draht&#039;&#039;&#039; (mittlere Spulen-Erwärmung)&lt;br /&gt;
* &#039;&#039;&#039;d_Anker&#039;&#039;&#039; (Ankerdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; (Magnetlänge ohne Restriktion!)&lt;br /&gt;
* &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; (Widerstand der Spule bei 20°C) &lt;br /&gt;
* &#039;&#039;&#039;w_Spule&#039;&#039;&#039; (Windungszahl) &lt;br /&gt;
* &#039;&#039;&#039;d_Draht&#039;&#039;&#039; (Drahtdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;Feder.k&#039;&#039;&#039; (Elastizitätskonstante) &lt;br /&gt;
* &#039;&#039;&#039;Feder.s0&#039;&#039;&#039; (Vorspannweg) &lt;br /&gt;
* &#039;&#039;&#039;Widerstand.R&#039;&#039;&#039; (Abschaltwiderstand)&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15350</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Ergebnisse</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15350"/>
		<updated>2014-05-27T13:48:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Hinweis auf Menüpunkt für 3D-Darstellung ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Robust-Optimierung (Experiment-Ergebnisse) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Durchführung === &lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_3d-kriterien.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Um die Zeit zu nutzen, sollten wir bereits vor der Konfiguration der Diagramm-Fenster die Optimierung starten. &lt;br /&gt;
&lt;br /&gt;
Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als &amp;quot;Kriterien-Raum&amp;quot; visualisieren (&#039;&#039;&#039;&#039;&#039;Analyse&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Darstellung&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;3D-Darstellung&#039;&#039;&#039;&#039;&#039;). Die Achsen belegen wir mit unseren Gütekriterien, wobei es sinnvoll ist, die mittlere Zykluszeit als funktionelle Größe auf die Z-Achse zu legen. Zusätzlich ist es sinnvoll, möglichst alle Abhängigkeiten zwischen den Gütekriterien als 2D-Darstellung im Sinne von Projektionen des mehrdimensionalen Kriterien-Raumes abzubilden:&lt;br /&gt;
* Dazu stellt man jeweils zwei Kriterien in einem Nennwert-Fenster dar und schaltet danach unter &#039;&#039;&#039;&#039;&#039;Analyse&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Darstellung&#039;&#039;&#039;&#039;&#039; auf 2D-Darstellung um (ein Kriterium muss dabei zuvor im Nennwert-Fenster als X-Achse selektiert sein!).&lt;br /&gt;
* Die 2D-Diagramme muss man dann auch noch so konfigurieren, dass nur die Lösungspunkte dargestellt werden.&lt;br /&gt;
* Im Beispiel ergibt das drei Projektionen der Lösungsmenge entsprechend der Anzahl möglicher Paar-Kombinationen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_2d-diagramme.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Lösungspunkte repräsentieren jeweils eine Stichprobe, die im Rahmen der co-evolutionären Optimierungsstrategie berechnet wird. Der Verlauf der Co-Evolution widerspiegelt sich in den Nennwert-Diagrammen der variablen Entwurfsparameter und der Bewertungsgrößen des Experiments:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_nennwert-verlauf_optimierungsmenge.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Beispiel entsprechen 15 Stichproben (Kinder) jeweils einer Generation innerhalb der Evolutionsstrategie.[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_paretomenge2.gif|right]]&lt;br /&gt;
* Die Nennwert-Verläufe erinnern stark an [http://de.wikipedia.org/wiki/1/f-Rauschen &#039;&#039;&#039;Rosa Rauschen&#039;&#039;&#039;]. Der längerfristigen evolutionären Entwicklung der Population sind die Mutationen der einzelnen Individuen überlagert.&lt;br /&gt;
* Die Population bewegt sich infolge der Evolutionsstrategie zuerst in den Bereich zulässiger Nennwert-Lösungen (Strafe=0).&lt;br /&gt;
* Danach entwickelt sich die Population weiter in Richtung minimalen Versagens innerhalb der Streuungen um die Nennwertlösungen (Versagen&amp;amp;rarr;0).&lt;br /&gt;
* Bildlich gesehen bewegt sich die Population zum Bereich der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population danach bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Durch die Mutationen entstehen auch einzelne &amp;quot;Ausreißer&amp;quot;, welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer &amp;quot;ökologischer Nischen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Auswertung ===&lt;br /&gt;
&lt;br /&gt;
Bisher werden in den 2D/3D-Diagrammen alle berechneten &amp;quot;Kinder&amp;quot; (=probabilistische Simulationsläufe) dargestellt. Uns interessieren aber nur die Mitglieder der Pareto-Menge:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_mengewahl-pareto.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Es bleiben nur die zulässigen Lösungen der &amp;quot;Seifenhaut&amp;quot; in den Diagrammen erhalten. Leider können einzelne Ausreißer (im Beispiel &#039;&#039;Streuung_tZyklus&#039;&#039; sehr groß) eine automatische Skalierung verhindern, welche nur die eigentlich interessierende Pareto-Menge umfasst:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Falls dieser Ausreißer-Effekt störend in Erscheinung tritt (was im Beispiel noch nicht der Fall ist), gelangt man über einen Zwischenschritt zu einer sinnvoll skalierten Darstellung:[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_gefilterte_pareto_anzahl_20.gif|right]]&lt;br /&gt;
* Man wählt &#039;&#039;&#039;Analyse &amp;gt; Menge-Auswahl &amp;gt; Gefilterte Pareto-Menge&#039;&#039;&#039;. &lt;br /&gt;
* Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen. &lt;br /&gt;
* Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Danach schalten wir in allen 2D/3D-Diagrammen die Autoskalierung ab und wählen in der Menge-Auswahl wieder die vollständige Pareto-Menge:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_skaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Im 3D-Diagramm können nun Lösungen außerhalb der Grenzen liegen (im Beispiel nicht). Das würde nicht stören, weil es sich hierbei im Sinne der Robust-Optimierung um ungünstige Lösungen handelt.&lt;br /&gt;
&lt;br /&gt;
Die Aufgabe besteht nun darin, aus der dargestellten Pareto-Menge eine günstige Kompromisslösung auszuwählen:&lt;br /&gt;
* Jeden einzelnen Lösungspunkt in einem 2D-Diagramm kann man mit dem Cursor auswählen.&lt;br /&gt;
* Die ausgewählte Lösung erscheint dann in allen 2D- und 3D-Diagrammen als markiert.&lt;br /&gt;
* Um einzelne Lösungen analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_verteilungsdichten.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
Man kann auf Grundlage der Pareto-Menge entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:&lt;br /&gt;
* Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im zugehörigen 2D-Diagramm deutlich erkennbar. Je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule. &lt;br /&gt;
* Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt. Im Beispiel fehlt die Entscheidung leicht:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge30_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Obige Verteilungsdichten gehören zu der markierten Lösung. Die Stichprobe prägt stabil und die Teilversagenswahrscheinlichkeiten für die Zykluszeit und Drahterwärmung sind praktisch Null.&lt;br /&gt;
* Im Beispiel sollte einem diese Lösung bekannt vorkommen. Es handelt sich um den Bestwert aus der Ausschuss-Minimierung! Diese Lösung hatten wir als Startwert für die multikriterielle Robustoptimierung benutzt. Es konnte keine Verbesserung im Sinne &amp;quot;möglichst schnell bei minimaler Erwärmung&amp;quot; gefunden werden&lt;br /&gt;
* Die Streuung der Zykluszeit im Sinne einer robusteren Lösung konnte ebenfalls nicht verringert werden. Es gibt praktisch keine Lösungen, deren Zykluszeit weniger streut.&lt;br /&gt;
* Da wir im Rahmen dieser Übung nur eine relative geringe Zahl (300) an Optimierungsschritten genutzt haben, sind die Lösungen noch nicht vollständig bis zur &amp;quot;richtigen&amp;quot; Paretomenge konvergiert. Man erkennt das daran, dass die Anfangslösung als beste Kompromisslösung noch etwas außerhalb der berechneten Paretomenge liegt.&lt;br /&gt;
* Im Beispiel kommt man nach ca. 2000 Optimierungsschritten der realen Pareto-Menge schon recht nahe (für Teilnehmer der Übung nicht erforderlich!):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge2000_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* In obigen Diagrammen erkennt man einen &#039;&#039;&#039;Ausreißer mit Streuung_tZyklus=0&#039;&#039;&#039;. Hierbei kam es zu numerischen Problemen bei der Simulation der Stichprobe, welche anscheinend vom OptiY nicht erkannt wurden.&lt;br /&gt;
* Interessant an dieser genauer berechneten Pareto-Menge ist die Existenz mehrerer in Hinblick auf die Zykluszeit gleichberechtigte Lösungen. Diese führen jedoch teilweise z.B. auf Grund dickeren Drahtes und größerer Magnetlänge zu bedeutend geringerer Erwärmung! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Im Beispiel wurde bereits bei der Ausschuss-Minimierung eine robuste Lösung gefunden, weil die Zeit-Forderung nur durch Ausschöpfung aller anderen Grenzwerte erfüllbar war. Die gesamte Stichprobe kann dabei im Rahmen der Parameterstreuung nur dann innerhalb der zulässigen Grenzen bleiben, wenn die Streuung des Verhaltens ebenfalls minimiert wird. Die anschließende multikriterielle Robustoptimierung hat dann dieses Ergebnis bestätigt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem des Drahtdurchmessers:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Bei der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen. Da die damit erreichte Optimal-Lösung im Beispiel beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr. Die sich im Beispiel mit &#039;&#039;d_Draht=0.6&amp;amp;nbsp;mm&#039;&#039; ergebende Magnetlänge erfüllt sogar die ursprüngliche Vorgabe für die Magnetlänge. Eine eventuell erforderliche Vergrößerung des Magneten wird sich praktisch immer realisieren lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_kein_normdraht.gif| ]]&amp;lt;/div&amp;gt;Falls sich wider Erwarten eine andere Lösung als optimale Kompromisslösung erweist, so wird der benötigte Drahtdurchmesser wahrscheinlich keinem Normdraht entsprechen:&lt;br /&gt;
* Infolge der zusätzlich erforderlichen, sehr engen Draht-Restriktion scheitert dann die co-evolutionäre Strategie mit großer Wahrscheinlichkeit. Eine Oszillation der Lösung entlang der Pareto-Menge kommt nicht zustande!&lt;br /&gt;
* In diesem Fall hilft nur unter Einbeziehung der gewonnenen Erkenntnisse zur Robust-Optimierung eine erneute Ausschuss-Minimierung. Im Rahmen der Übung soll dies jedoch nicht mehr durchgeführt werden!&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Ergebnisse (Robust-Optimierung) ===&lt;br /&gt;
Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Mit welchen &#039;&#039;&#039;technisch sinnvollen&#039;&#039;&#039; Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine möglichst robuste und trotzdem schnelle Antriebslösung mit der Ausschuss-Quote Null:&lt;br /&gt;
* &#039;&#039;&#039;Mittel_tZyklus&#039;&#039;&#039; (mittlere Zykluszeit) &lt;br /&gt;
* &#039;&#039;&#039;Streuung_tZyklus&#039;&#039;&#039; (um die mittlere Zykluszeit)&lt;br /&gt;
* &#039;&#039;&#039;Mittel_dT_Draht&#039;&#039;&#039; (mittlere Spulen-Erwärmung)&lt;br /&gt;
* &#039;&#039;&#039;d_Anker&#039;&#039;&#039; (Ankerdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; (Magnetlänge ohne Restriktion!)&lt;br /&gt;
* &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; (Widerstand der Spule bei 20°C) &lt;br /&gt;
* &#039;&#039;&#039;w_Spule&#039;&#039;&#039; (Windungszahl) &lt;br /&gt;
* &#039;&#039;&#039;d_Draht&#039;&#039;&#039; (Drahtdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;Feder.k&#039;&#039;&#039; (Elastizitätskonstante) &lt;br /&gt;
* &#039;&#039;&#039;Feder.s0&#039;&#039;&#039; (Vorspannweg) &lt;br /&gt;
* &#039;&#039;&#039;Widerstand.R&#039;&#039;&#039; (Abschaltwiderstand)&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung&amp;diff=15349</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Nennwert-Optimierung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung&amp;diff=15349"/>
		<updated>2014-05-27T13:23:19Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Dateiname der .opy korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Nennwert-Optimierung  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Nennwert-Optimierung brauchen wir im Experiment-Workflow des OptiY-Versuchsstands &#039;&#039;&#039;Etappe5_xx_Nennwert.opy&#039;&#039;&#039; nur noch vier Entwurfsparameter berücksichtigen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_workflow_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Am schnellsten gelangt man zu diesem Versuchsstand, wenn man eine Datei-Kopie von der Datei &#039;&#039;&#039;Etappe3_xx.opy&#039;&#039;&#039; erzeugt und im OptiY öffnet: &lt;br /&gt;
# Schutzwiderstand im Workflow löschen. &lt;br /&gt;
# Anstatt Etappe3_xx.isx im Workflow die Datei &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; öffnen.&lt;br /&gt;
# Eingang &#039;&#039;&#039;k_Feder&#039;&#039;&#039; mit &#039;&#039;&#039;Toleranz.kF_Mitte&#039;&#039;&#039; verbinden.&lt;br /&gt;
# Datei &#039;&#039;&#039;Etappe5_xx_Nennwert.opy&#039;&#039;&#039; speichern.&lt;br /&gt;
# OptiY und SimulationX beenden.&lt;br /&gt;
Die Nennwert-Optimierung erfolgt einschließlich der Berücksichtigung der Draht-Normreihe wie in &#039;&#039;Etappe3&#039;&#039; beschrieben:&lt;br /&gt;
* Die Restriktionsgrößen &#039;&#039;&#039;iMax&#039;&#039;&#039; und &#039;&#039;&#039;vMax&#039;&#039;&#039; werden zu Kontrollzwecken angezeigt. Die geringfügige Überschreitung von &#039;&#039;&#039;iMax&#039;&#039;&#039; resultiert aus der nicht ganz idealen Wirkung des Begrenzungselements und hat praktisch keine Bedeutung. Damit daraus kein Anteil in der Straffunktion resultiert, sollte man den zulässigen Grenzwert für die Restriktionsgröße im Experiment etwas erhöhen (z.B. auf &#039;&#039;&#039;1.51&amp;amp;nbsp;A&#039;&#039;&#039;).&lt;br /&gt;
* Hat man aus Gründen der numerischen Stabilität die Schutzdiode entfernt, so fließt nicht der komplette Strom durch die Spule, sondern ein Teil fließt durch den parallel liegenden Widerstand. Der Wert von &#039;&#039;&#039;vMax&#039;&#039;&#039; ist dann infolge dieser Modellvereinfachung immer kleiner als der zulässige Grenzwert. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Da der vorgegebene Wert des Schutzwiderstandes viel kleiner ist, als bei der Nennwert-Optimierung in der &#039;&#039;Etappe3&#039;&#039;, ermöglicht dies eine qualitativ andere Lösung. Der Magnetkreis kann nun so dimensioniert werden, dass das Abschalten immer beim zulässigen Maximalstrom erfolgt. &lt;br /&gt;
* Da eine aktive Strombegrenzung existiert, kann ein möglichst schneller Stromanstieg angestrebt werden. So gelangt z.B. das Eisen mit einem kleineren Eisenquerschnitt schneller in die magnetische Sättigung, was zum günstigen schnelleren Stromanstieg führt.&lt;br /&gt;
* Der geringere Ankerdurchmesser ermöglicht im Wickelraum einen größeren Drahtdurchmesser mit geringeren ohmschen Verlusten, was günstig für die Erwärmung ist.&lt;br /&gt;
* Die neue Verhaltensqualität kann man deutlich in den Signalverläufen des Nennwert-Optimums erkennen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_signale_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;Übernahme des Nennwert-Optimums in das SimulationX-Modell durch Speichern des Modells nach dem durchgeführten Simulationslauf nicht vergessen!&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld_als_Modelica-Implantat_im_Systemmodell&amp;diff=15348</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kennfeld als Modelica-Implantat im Systemmodell</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld_als_Modelica-Implantat_im_Systemmodell&amp;diff=15348"/>
		<updated>2014-05-26T13:23:56Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|↑]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_zur_System-Simulation|→]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Kennfeld als Modelica-Implantat im Systemmodell &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039; (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] ) &#039;&#039;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_neu.gif|right]]&lt;br /&gt;
Bevor wir die Kennfelder des elektromagneto-mechanischen Wandlers in ein kompliziertes Antriebsmodell einbinden, werden wir das Wandlermodell in einem separaten Testmodell aufbauen und überprüfen: &lt;br /&gt;
* Wir beginnen im SimulationX mit einer neuen Datei, welche wir als &#039;&#039;&#039;WandlerTest_xx.ism&#039;&#039;&#039; speichern (Teilnehmer-Nr. &#039;&#039;&#039;xx=00...99&#039;&#039;&#039;).&lt;br /&gt;
* Darin definieren wir einen neuen lokalen Element-Type. &lt;br /&gt;
* Wir ersetzen mit dem SimulationX-TypeDesigner sofort den Modelica Code des neuen Elements durch den syntaktisch korrigierten Modelica-Code aus dem OptiY, der die Kennfelder enthält. Dazu nutzen wir den Weg über die Zwischenablage (&#039;&#039;Copy &amp;amp; Paste&#039;&#039;):&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_Modelica_edit.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Danach ist der Element-Typ prinzipiell lauffähig. Im Verhaltensabschnitt beschreibt der Algorithmus den Aufruf der beiden Kennfeld-Funktionen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_verhalten.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Als Anschlüsse sind jedoch nur Signal-Anschlüsse vorgesehen, da beim Modellexport im OptiY die physikalischen Eigenschaften der Input-/Output-Größen nicht berücksichtigt werden. Außerdem wird ein &amp;quot;universelles&amp;quot; Symbol verwendet:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_Modelica_anschluss-signale.gif| ]] &amp;lt;/div&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_rsm-magnet_symbol.gif|right]]&lt;br /&gt;
* Unter dem Register &#039;&#039;&#039;Allgemein&#039;&#039;&#039; kann man dieses Symbol z.B. durch das nebenstehende Bild ersetzen (&#039;&#039;&#039;Symbol &amp;gt; Bitmap öffnen&#039;&#039;&#039;). Zusätzlich ist es sinnvoll, das Element z.B. &#039;&#039;&#039;&#039;&#039;Kennfeldwandler&#039;&#039;&#039;&#039;&#039; zu nennen: &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_allgemein.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wir löschen die vier Signal-Anschlüsse.&lt;br /&gt;
* Der elektromagneto-mechanische Wandler als 4-Pol erhält zwei elektrische und zwei mechanisch-translatorische Anschlüsse, welche man mittels Cursor beliebig am Symbol platzieren kann:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_anschluesse.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die nun fehlenden Modellgrößen für Strom, Luftspalt, Kraft und Koppelfluss definieren wir als neue Variable im Komponenten-Abschnitt mit den richtigen physikalischen Dimensionen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_modell_komponenten.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Danach sollte man das Modell-Element vorläufig &#039;&#039;&#039;&#039;&#039;Fertigstellen&#039;&#039;&#039;&#039;&#039;, das Modell &#039;&#039;&#039;&#039;&#039;Speichern&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Schließen&#039;&#039;&#039;&#039;&#039;! Beim Ersetzen der Signal-Anschlüsse durch Variablen gleichen Namens kam es zumindest in älteren Versionen von SimulationX sporadisch zu Fehlern im TypeDesigner. Durch das erneute Öffnen des Modells wird in jedem Fall wieder eine in sich konsistente Datenstruktur aufgebaut!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Verbindung der physikalischen Anschlüsse mit den Kennfeldern erfolgt im Verhaltensabschnitt des Type-Designers:&lt;br /&gt;
* Da an der mechanischen Seite des Wandlers die Potentialgrößen der Bewegung (x, v, a) als Werte eingespeist werden, können wir im Algorithmus den Luftspalt &#039;&#039;&#039;s&#039;&#039;&#039; als Differenz der Anschluss-Positionen berechnen. &lt;br /&gt;
* Die über die Response Surface im Algorithmus berechnete Kraft F=f(s,i) kann danach als Wert an beide mechanische Anschlüsse übergeben werden. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_verhalten_mechanik.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Wegen der Übersichtlichkeit wird der komplette elektrische Teil des Wandlers in einem Gleichungsabschnitt definiert.&lt;br /&gt;
* Der Spannungsabfall &#039;&#039;&#039;u&#039;&#039;&#039; zwischen den beiden Anschlüssen ergibt sich aus der Summe von Induktionsspannung &#039;&#039;&#039;u_ind&#039;&#039;&#039; und dem Spannungsabfall &#039;&#039;&#039;uR&#039;&#039;&#039; über dem ohmschen Widerstand &#039;&#039;&#039;R_Spule&#039;&#039;&#039; des Spulendrahtes. Das kann man nur durch eine Gleichung erzwingen.&lt;br /&gt;
* Der Strom &#039;&#039;&#039;i&#039;&#039;&#039; ist ebenfalls innerhalb des Element-Typs algorithmisch nicht berechenbar. Auch dafür benötigen wir eine Gleichung.&lt;br /&gt;
* Alle verwendeten physikalischen Größen müssen im Komponenten-Abschnitt als Variablen bzw. Parameter definiert werden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_verhalten_elektrik.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* In der beschriebenen Form würde das Wandler-Modell funktionieren, wenn die Kennfelder nicht mit Luftspaltwerten &#039;&#039;&#039;s&#039;&#039;&#039; [mm] generiert worden wären. Da an den mechanischen Anschlüssen des Elements die Positionen in der SI-Einheit [m] anliegen, muss eine Umrechnung in [mm] erfolgen, bevor die Kennfeld-Funktionen aufgerufen werden. Der Luftspalt wird deshalb über die zusätzliche Variable &#039;&#039;&#039;x&#039;&#039;&#039; aus den Anschlusswerten gebildet. Die bisherige Luftspalt-Variable &#039;&#039;&#039;s&#039;&#039;&#039; muss nun dimensionslos sein und erhält den aktuellen Wert in [mm]:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_s_in_mm.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Ein weiteres Problem ist die Richtung des Stromflusses:&lt;br /&gt;
* Die Antwortfläche wurde nur mit positiven Stromwerten gebildet. Die Extrapolation der Antwortfläche in negative Bereiche des Stromes ist falsch und ergibt falsche Kraft- und Koppelfluss-Werte.&lt;br /&gt;
* Aufgrund der Symmetrie-Beziehungen des Übertragungsverhaltens ist die Magnetkraft unabhängig von der Stromrichtung nur eine Funktion des Betrags des Spulenstroms.&lt;br /&gt;
* Dies gilt analog für den Koppelfluss. Jedoch entspricht das Vorzeichen des Koppelflusses dem Vorzeichen des Spulenstroms.&lt;br /&gt;
* Das kann man im Wandler-Element durch eine zusätzliche Variable &#039;&#039;&#039;i&#039;&#039;&#039; für den Betrag des Spulenstroms im Algorithmus sehr einfach berücksichtigen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_-_Wandler_abs_strom.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;===&amp;gt;&amp;gt;&amp;gt; Hier geht es bald weiter !!!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|←]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Modelica-Kennfeld_zur_System-Simulation|→]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Nutzung_zur_System-Simulation&amp;diff=15347</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kennfeld-Nutzung zur System-Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Nutzung_zur_System-Simulation&amp;diff=15347"/>
		<updated>2014-05-26T13:22:12Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Kennfeld-Nutzung zur System-Simulation &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039; (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] ) &#039;&#039;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Elektromagneto-mechanischer Wandler (C-Code) ==&lt;br /&gt;
&lt;br /&gt;
Beide Kennfelder dienen zusammen zur Nachbildung des mittels FE-Modell simulierten konkreten Elektro-Magneten in einem dynamischen Systemmodell des kompletten elektromagnetischen Antriebs. Zur Demonstration wird dafür im Folgenden das Beispiel des Blindenschrift-Prägers aus dem [[Software:_System-Simulation_-_SimulationX|&#039;&#039;&#039;Tutorial zur System-Simulation&#039;&#039;&#039;]] verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;Wer nicht über dieses &#039;&#039;&#039;SimulationX-Modell&#039;&#039;&#039; verfügt, kann es (mit bereits gelöschten Magnetkreis-Elementen) als [http://www.optiyummy.de/images/Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfelder_-_magnet_xx.zip &#039;&#039;&#039;ZIP-Archiv&#039;&#039;&#039;] laden. Den RSM_Wandler als neuen lokalen Element-Typ definiert man dann wie im Folgenden beschrieben.&lt;br /&gt;
&lt;br /&gt;
* Wir öffnen das verifizierte SimX-Modells der Etappe3(&#039;&#039;mit Wirbelstrom und Magnet-Hysterese&#039;&#039;) und speichern es unter dem neuen Bezeichner &#039;&#039;&#039;&#039;&#039;Magnet_xx.ism&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_basis-netzmodell.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Der markierte farbige Bereich entspricht dem elektromagneto-mechanischem Wandler (E-Magnet ohne Ankermasse).&lt;br /&gt;
* Nachdem wir für den elektromagneto-mechanischen Wandler einen neuen lokalen Element-Type &#039;&#039;&#039;&#039;&#039;RSM_Wandler&#039;&#039;&#039;&#039;&#039; definiert haben, können wir die beiden externen Funktionen mittels &#039;&#039;Drag&amp;amp;Drop&#039;&#039; in diesen lokalen Type hinein kopieren (mit gedrückter Strg-Taste):&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_copy_ext-fkt.gif| ]] &amp;lt;/div&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_rsm-magnet_symbol.gif|right]]&lt;br /&gt;
* Als Symbol für den RSM_Wandler kann man nebenstehendes Bild verwenden.&lt;br /&gt;
* Alle Netzwerk-Elemente innerhalb des farbig markierten Wandler-Bereiches können gelöscht werden.&lt;br /&gt;
* An Stelle der Magnetkreis-Elemente platzieren wir in der Modellstruktur den &#039;&#039;RSM_Wandler&#039;&#039; als &#039;&#039;Magnet_RSM&#039;&#039;:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_magnet_rsm0.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Nun bleibt uns nur noch die Aufgabe diesen Element-Typ zum richtigen Verhalten zu führen. Die mechanische Seite des Wandlers realisiert man durch die Definition zweier mechanisch-translatorischer Anschlüsse (&#039;&#039;ctr1&#039;&#039; und &#039;&#039;ctr2&#039;&#039;):&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_mech.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Da am mechanischen Anschluss die Potentialgrößen der Bewegung (x, v, a) als Werte eingespeist werden, können wir in einem Algorithmus den Luftspalt &#039;&#039;&#039;s&#039;&#039;&#039; als Differenz der Anschluss-Positionen berechnen.&lt;br /&gt;
* Die aus der externen Funktion berechnete Kraft &#039;&#039;&#039;F&#039;&#039;&#039;=f(s,i) muss als Wert an beide Anschlüsse übergeben werden.&lt;br /&gt;
* Der Wert des Stromes &#039;&#039;&#039;i&#039;&#039;&#039; entstammt der elektrischen Seite des Wandlers.&lt;br /&gt;
&lt;br /&gt;
Die elektrische Seite des Wandlers realisiert man durch die Definition zweier elektrischer Anschlüsse. Diese erhielten standardmäßig die Bezeichnung &#039;&#039;ctr3&#039;&#039; und &#039;&#039;ctr4&#039;&#039;:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_wandler_elektr.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Spannungsabfall &#039;&#039;&#039;u&#039;&#039;&#039; zwischen den beiden Anschlüssen ergibt sich aus der Summe von Induktionsspannung &#039;&#039;&#039;u_ind&#039;&#039;&#039; und dem Spannungsabfall &#039;&#039;&#039;uR&#039;&#039;&#039; über dem ohmschen Widerstand &#039;&#039;&#039;R_Spule&#039;&#039;&#039; des Spulendrahtes. Das kann man nur durch eine Gleichung erzwingen.&lt;br /&gt;
* Der Strom &#039;&#039;&#039;i&#039;&#039;&#039; ist ebenfalls innerhalb des Element-Typs algorithmisch nicht berechenbar. Auch dafür benötigen wir eine Gleichung.&lt;br /&gt;
* Deshalb wurde wegen der Übersichtlichkeit der komplette elektrische Teil des Wandlers in einem Gleichungsabschnitt definiert. Der Wert des Luftspalts &#039;&#039;&#039;s&#039;&#039;&#039; entstammt dem mechanischen Teil des Wandlers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Hier soll auf eine Schwachstelle unseres Demo-Beispiels hingewiesen werden:&lt;br /&gt;
# Die identifizierten Kennfelder sind nur für eine konkrete Geometrie und Windungszahl (&#039;&#039;&#039;wSpule=400&#039;&#039;&#039;) gültig. &lt;br /&gt;
# Der im Wandlermodell benötigte Wert des Spulenwiderstandes muss aus den konkreten Werten von Geometrie und Windungszahl berechnet werden. Deshalb muss man im SimulationX-Modell die gleichen Geometriebeziehungen und -werte verwenden wie im FE-Modell (&#039;&#039;&#039;Magnet_RSM.R_Spule=Geometrie.R_Spule&#039;&#039;&#039;).&lt;br /&gt;
# Damit hat man innerhalb des SimulationX.Modells leider keine Freiheitsgrade zur Optimierung der Wicklungsdaten für einen konkreten Eisenkreis! Die Optimierungsschleife müsste sich immer über die Kennfeld-Identifikation erstrecken, was zurzeit nicht praktikabel ist!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Wahrscheinlich hat der Solver numerische Probleme, den Abschaltvorgang zu berechnen. Dieses Problem lösen wir pragmatisch, indem wir die Diode in der Schutzbeschaltung entfernen und durch einen Leiter ersetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_Modelica-Code|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit&amp;diff=15346</id>
		<title>Software: FEM - Tutorial - Magnetfeld - C-Kennfeld Differentierbarkeit</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit&amp;diff=15346"/>
		<updated>2014-05-26T13:20:43Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert, &amp;quot;Differenzierbarkeit&amp;quot; schreibt sich auch nach alter Rechtschreibung mit &amp;#039;z&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Nutzung_zur_System-Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Differenzierbarkeit von Antwortflächen &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039; (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] ) &#039;&#039;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Hinweise zur Wahl der Polynomordnung und einer geeigneten Covarianz-Funktion führen in der Systemsimulation nur dann zu nutzbaren Ersatzmodellen, wenn keine numerischen Ableitungen von den identifizierten Kennfeldern benötigt werden:&lt;br /&gt;
* Die Differenzierbarkeit der Funktion &#039;&#039;&#039;F(i,s)&#039;&#039;&#039; ist in diesem Sinne unkritisch. Die Beschleunigung &#039;&#039;&#039;a~F&#039;&#039;&#039; stellt die physikalische Größe mit der höchsten Ableitung in der mechanischen Domäne dar. Alle anderen mechanischen Größen ergeben sich durch numerische Integration, welche eventuelle Knicke und Welligkeiten des Kraft-Kennfeldes glättet.&lt;br /&gt;
* Dies trifft für den Koppelfluss &#039;&#039;&#039;Psi(i,s)&#039;&#039;&#039; leider nicht zu. Knicke und Welligkeiten dieses Kennfeldes führen zu undefinierten Sprüngen und Richtungsänderungen der an der Spule berechneten induzierten Spannung &#039;&#039;&#039;&#039;&#039;u&amp;lt;sub&amp;gt;ind&amp;lt;/sub&amp;gt;=dPsi/dt&#039;&#039;&#039;&#039;&#039;. Eine Bewertung der Differenzierbarkeit der Antwortflächen im OptiY ist &#039;&#039;(zurzeit)&#039;&#039; nur visuell und damit nur sehr eingeschränkt möglich. Es soll deshalb im Folgenden gezeigt werden, wie man das Kennfeld-Testmodell um solch eine Bewertung mit geringem Aufwand ergänzen kann.&lt;br /&gt;
&lt;br /&gt;
Die Differenzierbarkeit einer Funktion mit mehreren Variablen wird am besten durch die Bildung des [http://de.wikipedia.org/wiki/Totales_Differential &#039;&#039;&#039;totalen Differentials&#039;&#039;&#039;] erfasst:&lt;br /&gt;
* Im Beispiel benötigen wir in der Systemsimulation nur die zeitliche Ableitung &#039;&#039;&#039;&#039;&#039;dPsi/dt&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* In unserem Testmodell durchlaufen wir für einen vorgegebenen Luftspalt &#039;&#039;&#039;s&#039;&#039;&#039; den Strombereich, indem wir &#039;&#039;&#039;i=t&#039;&#039;&#039; setzen (t=0..10&amp;amp;nbsp;s).&lt;br /&gt;
* Die numerische zeitliche Ableitung &#039;&#039;&#039;u_ind = der(Psi)&#039;&#039;&#039; entspricht demzufolge im Testmodell der partiellen Ableitung dPsi/di.&lt;br /&gt;
* Es ist zwar relativ einfach, durch Benutzung von Differenzenquotienten die vorhandene Kennfeld-Funktion abzutasten und daraus das totale Differential zu bilden. Im Rahmen der Übung begnügen wir uns jedoch aus Aufwandsgründen mit der Berechnung von &#039;&#039;&#039;u_ind&#039;&#039;&#039; als zeitliche Ableitung von &#039;&#039;&#039;Psi&#039;&#039;&#039; (im Bild des Type-Designers farblich markiert):&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-differential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Berechnung des totalen Differentials wurde für Interessenten mit dargestellt. Außerdem sollte damit hier im Vergleich gezeigt werden, dass im Beispiel die zeitliche Ableitung bereits die gewünschten Informationen liefert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-30mikrom.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-4mm.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Diagramme (&#039;&#039;&#039;links s=30&amp;amp;nbsp;µm&#039;&#039;&#039; / &#039;&#039;&#039;rechts s=4&amp;amp;nbsp;mm&#039;&#039;&#039;) zeigen für die &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039; und Covarianz-Funktion &#039;&#039;&#039;Exponential&#039;&#039;&#039; starke Sprünge. Diese entstehen infolge der Kennfeld-Knicke an den Stützstellen.&lt;br /&gt;
* Teilweise können dadurch auch negative Werte für die induzierte Spannung resultieren.&lt;br /&gt;
* Die mangelnde Qualität dieser Kennfeld-Funktion widerspiegelt sich in der vereinfachten zeitlichen Ableitung ähnlich wie im totalen Differential.&lt;br /&gt;
* Im Beispiel wurde mit dieser Kennfeldfunktion physikalischer Unsinn in einem SimulationX-Magnetmodell berechnet bzw. der Solver verweigerte den Dienst!&lt;br /&gt;
&lt;br /&gt;
Belässt man die &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039; und ändert die Covarianz-Funktion z.B. zu &#039;&#039;&#039;Square Exponential&#039;&#039;&#039;, so erhält man stetige Ableitungen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-30mikrom_0_sqr.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-4mm_0_sqr.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Jedoch könnten die Welligkeiten insbesondere bei kleineren Luftspalten noch zu negativen Induktionsspannungen führen.&lt;br /&gt;
* Die Frequenz der Welligkeit wird durch die Abstände zwischen den berechneten Stützstellen bestimmt und ist physikalisch nicht korrekt.&lt;br /&gt;
* Mittels &amp;quot;Durchprobieren&amp;quot; der unterschiedlichen Covarianz-Funktionen kann man versuchen, eine Variante mit minimaler Welligkeit zu finden.&lt;br /&gt;
* Ein Psi-Kennfeld ähnlicher Qualität liefert z.B. auch die Covarianz-Funktion &#039;&#039;&#039;Gamma Exponential&#039;&#039;&#039; mit der &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-30mikrom_0_gamma.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-4mm_0_gamma.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welche Covarianz-Funktion im Zusammenspiel mit welcher Polynomordnung ein Optimum darstellt, muss individuell für jede zu identifizierende Antwortfläche erprobt werden:&lt;br /&gt;
* Im Beispiel erwiesen sich nach vielen Versuchen folgende Kombinationen als günstig: &lt;br /&gt;
# &#039;&#039;&#039;F-Kennfeld&#039;&#039;&#039;: Polynomordnung=2 / Covarianz=&#039;&#039;Exponential&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Psi-Kennfeld&#039;&#039;&#039;: Polynomordnung=2 / Covarianz=&#039;&#039;Gamma Exponential&#039;&#039;&lt;br /&gt;
* Die Anwendung des adaptiven Gauss-Prozesses ist meist erforderlich, weil ein gleichmäßiges Grundraster die kritischen Stellen mit großer Wahrscheinlichkeit nicht hinreichend dicht abtastet. &lt;br /&gt;
* Durch automatisches Hinzufügen weiterer Abtastpunkte (Berechnungen des FE-Modells), gelang es die folgende Psi-Kennfeldgüte zu erreichen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-30mikrom_0_gamma_adapt.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_dpsi-4mm_0_gamma_adapt.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Auswirkung der unterschiedlichen Psi-Kennfelder auf das Verhalten eines dynamischen Magnetmodells wird im folgenden Bild durch die Anwendung zweier Kennfelder demonstriert:&lt;br /&gt;
* Der eingefrorene (blasse) Signalverlauf wurde mit dem Kennfeld des adaptiven Gauss-Prozesses simuliert.&lt;br /&gt;
* Darüber liegt das Verhalten, welches aus dem einfachen Gauss-Prozess mit Covarianz-Funktion &#039;&#039;&#039;Square Exponential&#039;&#039;&#039; resultiert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-differential_einfluss_auf_verhalten.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Ergebnisse unterscheiden sich in Hinblick auf das Zeitverhalten um ca. 20%, was nicht vernachlässigbar ist!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schlussfolgerung&#039;&#039;&#039;:&lt;br /&gt;
* Es ist praktisch nicht möglich, von einer mittels Gaussprozess gebildeten Ersatzfunktion hinreichend genau die partielle Ableitung nach einem der Funktionsparameter zu bilden. Aufgrund von Knicken und Welligkeiten in der Ersatzfunktion entstehen Sprünge und falsche Tendenzen in den Ableitungen.&lt;br /&gt;
* Eine praktikable Lösung ist die Bildung des totalen Differentials (z.B. von &#039;&#039;&#039;Psi&#039;&#039;&#039;) direkt im bei der Abtastung des Modells durch Bildung der Differenzenquotienten (im Beispiel &#039;&#039;&#039;dPsi/di&#039;&#039;&#039; und &#039;&#039;&#039;dPsi/ds&#039;&#039;&#039;).&lt;br /&gt;
* In der Systemsimulation gewinnt man dann aus dem totalen Differential die benötigte zeitliche Ableitung zurück.   &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Nutzung_zur_System-Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell&amp;diff=15345</id>
		<title>Software: FEM - Tutorial - Magnetfeld - C-Kennfeld-Testmodell</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell&amp;diff=15345"/>
		<updated>2014-05-26T13:17:11Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Kennfeld-Testmodell (C-Code) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039; (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] ) &#039;&#039;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bevor man die Kennfelder in ein kompliziertes Antriebsmodell einbindet, sollte man unbedingt ein Testmodell aufbauen, um das richtige Funktionieren zu überprüfen:[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_neuer_elementtyp.gif|right]] &lt;br /&gt;
* Wir beginnen im SimulationX mit einer neuen Datei, welche wir als &#039;&#039;&#039;Kennfeld_xx.ism&#039;&#039;&#039; speichern (Teilnehmer-Nr. &#039;&#039;&#039;xx=00...99&#039;&#039;&#039;).&lt;br /&gt;
* 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.&lt;br /&gt;
* Wir beginnen im SimX-Modell mit dem Elementtyp &#039;&#039;&#039;F_RSM&#039;&#039;&#039; für das Kraft-Kennfeld. Im &#039;&#039;&#039;&#039;&#039;Modellexplorer &amp;gt; Karte Typen &amp;gt; Wurzeleintrag &amp;gt; Kontextmenü&#039;&#039;&#039;&#039;&#039; wählen wir &#039;&#039;&#039;&#039;&#039;Neu &amp;gt; Model&#039;&#039;&#039;&#039;&#039;.[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_f-symbol_61x61.gif|right]] &lt;br /&gt;
* Als Symbol wird ein 61x61-Pixel-Bild verwendet (nebenstehende Bild-Datei laden), welches eine modifizierte Kopie des 2D-Kennfeld-Symbols aus der SimX-Bibliothek darstellt (&#039;&#039;&#039;&#039;&#039;Symbol &amp;gt; Bitmap öffnen&#039;&#039;&#039;&#039;&#039;):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_f-type_allgemein.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Zum Testen speisen wir die Funktionsvariablen Strom &#039;&#039;&#039;i&#039;&#039;&#039; und Luftspalt &#039;&#039;&#039;s&#039;&#039;&#039; als Parameter in das Element ein und führen den Funktionswert der Kraft &#039;&#039;&#039;F&#039;&#039;&#039; als Variable nach außen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_anschluesse_f-test.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; 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 &#039;&#039;&#039;mm&#039;&#039;&#039; 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.&lt;br /&gt;
* Das F-Kennfeld wird im Element-Typ unter &#039;&#039;Lokale Typen&#039;&#039; als externe Funktion definiert:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_external_f-fct.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Durch &#039;&#039;&#039;Bearbeiten&#039;&#039;&#039; der Funktionseigenschaften definiert man die Schnittstelle zwischen dem SimX-Modell und der externen Funktion innerhalb der .dll-Datei: &lt;br /&gt;
* Für die allgemeinen Einträge genügen die Standard-Vorgaben.&lt;br /&gt;
* Als Argumente der Funktion definieren wir zwei Eingabe- und einen Ausgabeparameter:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_ext_f-fct-argumente.gif| ]] &amp;lt;/div&amp;gt;  &lt;br /&gt;
* Dabei müssen wir ebenfalls die Maßeinheiten der Funktionsargumente berücksichtigen (z.B. Luftspalt in mm).&lt;br /&gt;
* 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]).&lt;br /&gt;
* Die &#039;&#039;&#039;Attribute&#039;&#039;&#039; der Argumente belassen wir auf den Standard-Einträgen.&lt;br /&gt;
* Unter den Aufrufkonventionen ist die Liste der Argumente bereits eingetragen. Wir definieren noch den Namen der benutzten .dll-Datei und den Typ der Schnittstelle:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_ext_f-fct-aufruf.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Man muss die Reihenfolge der Parameter für den Funktionsaufruf beachten!&lt;br /&gt;
* Beim &#039;&#039;&#039;Fertigstellen&#039;&#039;&#039; der Funktionsdefinition erfolgt eventuell eine Warnung, dass keine grafische Darstellung definiert wurde. Diese Warnung können wir ignorieren. &lt;br /&gt;
* Für das Verhalten des Element-Typs definieren wir abschließend den Funktionsaufruf unter Berücksichtigung der physikalischen Einheiten (Luftspalt in mm):&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_verhalten_f-test.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Die Umrechnung &#039;m-&amp;gt;mm&#039; ist unbedingt erforderlich, da die Kennfeld-Funktion auf der Einheit &#039;&#039;&#039;mm&#039;&#039;&#039; 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.&lt;br /&gt;
* Der lokale Element-Typ &#039;&#039;&#039;F_RSM&#039;&#039;&#039; wird als Element &#039;&#039;&#039;F_Kennfeld&#039;&#039;&#039; innerhalb des SimX-Modells verwendet.&lt;br /&gt;
* Für einen ersten Test wurde der Stromeingang i mit der Simulationszeit t belegt, die von 0 bis 10&amp;amp;nbsp;s läuft.&lt;br /&gt;
* Sowohl für den Luftspalt s=0&amp;amp;nbsp;mm, als auch für s=4&amp;amp;nbsp;mm ergeben sich korrekte Funktionsverläufe. Man erkennt hier deutlich die Knicke im Funktionsverlauf an den ursprünglichen Abtastpunkten des Original-FE-Modells:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_verlaeufe.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_rasterfunktion.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_rastersuche.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-symbol_61x61.gif|right]]&lt;br /&gt;
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 &#039;&#039;&#039;F&#039;&#039;&#039; durch den Koppelfluss &#039;&#039;&#039;Psi&#039;&#039;&#039; ersetzt wird:&lt;br /&gt;
* Man kopiert den lokalen Typ &#039;&#039;F_RSM&#039;&#039; in den Bibliotheksordner &#039;&#039;ExternalTypes&#039;&#039; (mit &amp;lt;Strg&amp;gt;-Taste beim Drag&amp;amp;Drop).&lt;br /&gt;
* Unter &#039;&#039;ExternalTypes&#039;&#039; benennt man &#039;&#039;F_RSM&#039;&#039; in &#039;&#039;&#039;&#039;&#039;Psi_RSM&#039;&#039;&#039;&#039;&#039; um. Dazu muss man zusätzlich den external Type im Type-Designer öffnen und unter &amp;quot;Allgemein&amp;quot; auch den Namen ändern.&lt;br /&gt;
* Danach kopiert man den external Type &#039;&#039;Psi_RSM&#039;&#039; zu den lokalen Typen des Modells und ersetzt systematisch die Kraft durch den Koppelfluss.&lt;br /&gt;
* Es kann das nebenstehende Symbol für &#039;&#039;Psi_RSM&#039;&#039; verwendet werden.&lt;br /&gt;
* 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 &#039;&#039;&#039;&#039;&#039;Function&#039;&#039;&#039;&#039;&#039;-Signalglieder:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfelder_-_parameter1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* In die Parameter &#039;&#039;&#039;F&#039;&#039;&#039; dieser Funktionsglieder müssen dann im OptiY-Workflow die Werte von Strom und Luftspalt eingespeist werden.&lt;br /&gt;
* Im SimulationX-Modell belegen wir die Parameter der Kennfeld-Elemente mit den Ergebnisgrößen der Funktionselemente:&lt;br /&gt;
 &#039;&#039;&#039;s = 0.001*s.y&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;i = i.y&#039;&#039;&#039;&lt;br /&gt;
* Der Umrechnungsfaktor für den Luftspalt ist erforderlich, damit der Parameterwert s.F in Millimeter eingegeben werden kann.&lt;br /&gt;
* Im OptiY-Workflow ergänzen wir die Größen für den Koppelfluss und verbinden &#039;&#039;&#039;i&#039;&#039;&#039; und &#039;&#039;&#039;s&#039;&#039;&#039; mit den Funktionsglieder des SimulationX-Modells:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfelder_-_rastersuche.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Im Ergebnis der Rastersuche erhält man im OptiY damit das Psi-Kennfeld in Form eines 3D-Diagramms:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_SimX-Kennfeld_-_psi-feld.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* Die Arbeitskopie von &#039;&#039;Psi_RSM&#039;&#039; in der &#039;&#039;ExternalTypes&#039;&#039;-Bibliothek sollte man löschen, um eine spätere fehlerhafte Anwendung zu vermeiden!&lt;br /&gt;
* Sind beide lokalen Element-Typen verifiziert, erzeugt man Kopien im Bibliotheksordner &#039;&#039;ExternalTypes&#039;&#039;. Damit stehen die verifizierten externen Funktionen auch für die Implementierung in das eigentliche Antriebsmodell zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Differentierbarkeit|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code&amp;diff=15344</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kennfeld-Export als C-Code</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code&amp;diff=15344"/>
		<updated>2014-05-26T13:15:05Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Kennfeld-Export als C-Code &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039; (Kein Bestandteil der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html FEM] -&amp;gt; nur zur Info!)&#039;&#039;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modell-Export als C-Code ==&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon, nach welchem Verfahren die Antwortflächen des Modells approximiert wurden, kann man die identifizierten mathematischen Funktionen als Programm-Code exportieren (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Antwortflächen &amp;gt; Modell Export&#039;&#039;&#039;&#039;&#039;):&lt;br /&gt;
* Zurzeit kann in OptiY ein Quelltext als &#039;&#039;C-&#039;&#039;, &#039;&#039;Modelica-&#039;&#039;, &#039;&#039;VisualBasic-Code&#039;&#039; oder als &#039;&#039;m-Matlab&#039;&#039; erzeugt werden.&lt;br /&gt;
* C-Code kann man auf praktisch jeder verfügbaren Rechner-Hardware abarbeiten lassen. Damit stellt C-Code zurzeit die universellste Form des Code-Exports für Ersatzmodelle dar.&lt;br /&gt;
* Wir speichern unser Ersatzmodell als &#039;&#039;&#039;C-Code&#039;&#039;&#039; in die Datei &#039;&#039;&#039;Magnet_xx.c&#039;&#039;&#039;. (&#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nummer in der Lehrveranstaltung).&lt;br /&gt;
* Dieser Quelltext enthält unter Benutzung der gewählten Covariance-Funktion die identifizierten Gauß-Ketten für alle Kriterien/Restriktionen (im Folgenden gekürzt):&lt;br /&gt;
         &lt;br /&gt;
 double Covar_F(double x1[],double x2[],double p[])&lt;br /&gt;
 {&lt;br /&gt;
 double Co, W;&lt;br /&gt;
 W = 0;&lt;br /&gt;
 for(int i = 0; i&amp;lt;2; i++) {&lt;br /&gt;
    W = W + fabs((x1[i]-x2[i])*p[i]);&lt;br /&gt;
 }&lt;br /&gt;
 Co = exp(-W);&lt;br /&gt;
 return Co;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 double F(double i_, double s_)&lt;br /&gt;
 {&lt;br /&gt;
 double p[2];&lt;br /&gt;
 double x1[2];&lt;br /&gt;
 double x2[2];&lt;br /&gt;
 double y = 29.6033584;&lt;br /&gt;
 p[0] = 0.0953874971;&lt;br /&gt;
 p[1] = 0.639066599;&lt;br /&gt;
 x1[0] = i_;&lt;br /&gt;
 x1[1] = s_;&lt;br /&gt;
 x2[0] = 5.01;&lt;br /&gt;
 x2[1] = 2.03;&lt;br /&gt;
 y = y-3.56544484*Covar_F(x1,x2,p);&lt;br /&gt;
 x2[0] = 0.01;&lt;br /&gt;
 x2[1] = 0.03;&lt;br /&gt;
 y = y-234.552394*Covar_F(x1,x2,p);&lt;br /&gt;
 x2[0] = 2.01;&lt;br /&gt;
 x2[1] = 0.03;&lt;br /&gt;
 y = y+232.803719*Covar_F(x1,x2,p);&lt;br /&gt;
    :&lt;br /&gt;
    :&lt;br /&gt;
 x2[0] = 10.01;&lt;br /&gt;
 x2[1] = 4.03;&lt;br /&gt;
 y = y-1.36321395*Covar_F(x1,x2,p);&lt;br /&gt;
 return y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 double Covar_Psi(double x1[],double x2[],double p[])&lt;br /&gt;
 {&lt;br /&gt;
 double Co, W;&lt;br /&gt;
 W = 0;&lt;br /&gt;
 for(int i = 0; i&amp;lt;2; i++) {&lt;br /&gt;
   W = W + fabs((x1[i]-x2[i])*p[i]);&lt;br /&gt;
 }&lt;br /&gt;
 Co = exp(-W);&lt;br /&gt;
 return Co;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 double Psi(double i_, double s_)&lt;br /&gt;
 {&lt;br /&gt;
 double p[2];&lt;br /&gt;
 double x1[2];&lt;br /&gt;
 double x2[2];&lt;br /&gt;
 double y = 0.0426131121;&lt;br /&gt;
 p[0] = 0.332335577;&lt;br /&gt;
 p[1] = 0.640793101;&lt;br /&gt;
 x1[0] = i_;&lt;br /&gt;
 x1[1] = s_;&lt;br /&gt;
 x2[0] = 5.01;&lt;br /&gt;
 x2[1] = 2.03;&lt;br /&gt;
 y = y+0.0020486711*Covar_Psi(x1,x2,p);&lt;br /&gt;
 x2[0] = 0.01;&lt;br /&gt;
 x2[1] = 0.03;&lt;br /&gt;
 y = y-0.0457279401*Covar_Psi(x1,x2,p);&lt;br /&gt;
 x2[0] = 2.01;&lt;br /&gt;
 x2[1] = 0.03;&lt;br /&gt;
 y = y+0.0346149278*Covar_Psi(x1,x2,p);&lt;br /&gt;
    :&lt;br /&gt;
    :&lt;br /&gt;
 x2[0] = 10.01;&lt;br /&gt;
 x2[1] = 4.03;&lt;br /&gt;
 y = y+0.0100595855*Covar_Psi(x1,x2,p);&lt;br /&gt;
 return y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Verwendete Compiler-Software ==&lt;br /&gt;
&lt;br /&gt;
Es soll am Beispiel des Programms &#039;&#039;&#039;SimulationX&#039;&#039;&#039; gezeigt werden, wie der exportierte C-Code mit geringem Aufwand zur System-Simulation eines Magnet-Antriebs genutzt werden kann. Dank gebührt Herrn [http://www.tn-home.de/Tobias/home.html Tobias Zawada] (Mitarbeiter der Firma [http://www.iti.de ITI GmbH]) für seine wertvollen Tipps zum Einbinden externer Funktionen in SimulationX-Modelle.&lt;br /&gt;
&lt;br /&gt;
Wir verwenden den freien &#039;&#039;Gnu-C-Compiler&#039;&#039; &#039;&#039;&#039;gcc&#039;&#039;&#039;, der Bestandteil der [http://de.wikipedia.org/wiki/GNU_Compiler_Collection GNU-Compiler Collection] ist. Eine Portierung dieser Compiler Collection für Windows läuft unter [http://de.wikipedia.org/wiki/Cygwin Cygwin]. Von &#039;&#039;&#039;http://www.cygwin.com/&#039;&#039;&#039; kann man eine aktuelle &#039;&#039;&#039;setup.exe&#039;&#039;&#039; für die Cygwin-Installation kostenlos herunterladen.&lt;br /&gt;
&lt;br /&gt;
Ausführliche Hinweise zur Installation enthält die [http://www.hs-owl.de/fb5/person/hoffmann/Installation_Cygwin.pdf &#039;&#039;&#039;Installation_Cygwin.pdf&#039;&#039;&#039;] von Herrn [http://www.hs-owl.de/fb5/person/hoffmann/ Sönke Hoffmann] (Hochschule Ostwestfalen-Lippe). Von den darin angegebenen Komponenten der Development-Umgebung genügt für unsere Zwecke:&lt;br /&gt;
* &#039;&#039;gcc-core&#039;&#039;, der C-Compiler,&lt;br /&gt;
* &#039;&#039;make&#039;&#039;, ein Hilfsprogramm (dass man sicher benötigt)&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Im Beispiel konnte bei der Benutzung der Download-Seite der TU-Dresden die Installation nicht vollendet werden, weil etwas fehlte. Ein Wechsel auf die Ruhr-Uni-Bochum führte zum Erfolg!&lt;br /&gt;
&lt;br /&gt;
Die Windows-Systemvariable PATH wird, wie in der Anleitung beschrieben, durch den Verweis auf den &#039;&#039;cygwin\bin&#039;&#039;-Ordner erweitert. Damit ist gewährleistet, dass man den C-Compiler im Konsolen-Fenster von Windows direkt aufrufen kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Man muss in diesem Verzeichnis nachschauen, welche Version des Compilers installiert ist. In der Beispiel-Installation war es &#039;&#039;&#039;gcc-3.exe&#039;&#039;&#039;, deshalb ist dann der Compiler in der Konsole mit &#039;&#039;&#039;gcc-3&#039;&#039;&#039; aufzurufen!&lt;br /&gt;
&lt;br /&gt;
== Erzeugen einer Windows-DLL ==&lt;br /&gt;
&lt;br /&gt;
SimulationX bietet die Möglichkeit, externe Funktionen einzubinden, welche sich in einer [http://de.wikipedia.org/wiki/Dynamic_Link_Library Windows-DLL] befinden. Deshalb erzeugen wir aus dem vorliegenden C-Quelltext durch Kompilieren mit dem &#039;&#039;gcc&#039;&#039; eine solche DLL-Datei:&lt;br /&gt;
* Man startet die Windows-Konsole (&#039;&#039;&#039;&#039;&#039;Start &amp;gt; Ausführen &amp;gt; cmd&#039;&#039;&#039;&#039;&#039;) und wählt als aktuelles Verzeichnis das, worin sich die C-Quelltext-Datei (hier &#039;&#039;Magnet_xx.c&#039;&#039;) befindet.&lt;br /&gt;
* Mittels der Kommandozeile (im Beispiel für die Compiler-Version &#039;&#039;gcc-3&#039;&#039;):&lt;br /&gt;
 gcc-3 -mno-cygwin -shared -o Magnet_xx.dll Magnet_xx.c&lt;br /&gt;
: sollte ohne Fehlermeldung die Datei &#039;&#039;&#039;Magnet_xx.dll&#039;&#039;&#039; im gleichen Verzeichnis erzeugt werden.&lt;br /&gt;
Das Verzeichnis, in dem Magnet_xx.dll abgelegt wird, muss in die Liste der Verzeichnisse fuer die externen Funktionen von SimulationX eingetragen werden: &lt;br /&gt;
* Diese Liste findet man in SimulationX unter &#039;&#039;&#039;&#039;&#039;Extras &amp;gt; Optionen &amp;gt; Verzeichnisse &amp;gt; Externe Funktionen&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Entweder man kopiert die .dll-Datei in eines der Standard-Verzeichnisse oder man ergänzt die Liste dieser Verzeichnisse um den aktuell genutzten Ordner.&lt;br /&gt;
* Im Prinzip könnte man in der obigen Kommandozeile die .dll-Datei in eines der Standard-Verzeichnisse von SimulationX lenken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld-Testmodell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess&amp;diff=15343</id>
		<title>Software: FEM - Tutorial - Magnetfeld - C-Kennfeld Adaptiver Gauss-Prozess</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess&amp;diff=15343"/>
		<updated>2014-05-26T13:13:53Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Adaptiver Gauss-Prozess &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Der adaptive Gauss-Prozess soll genutzt werden, um ausgehend von einer vorhandenen Stichprobe mit möglichst wenigen zusätzlichen Stützstellen ein hochwertiges Ersatzmodell zu gewinnen. Dabei werden ausgehend von den vorhandenen Abtastpunkten nach Identifikation der Antwortflächen die Positionen der maximalen Unsicherheit und der maximal zu erwartenden Verbesserung ermittelt. Dort werden mit dem Modell zwei neue Stützstellen berechnet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Dieser Prozess wird iterativ ausgeführt (bis max. Stützstellen-Zahl oder Genauigkeit erreicht):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess2.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
# Basis ist das 6-stufige &#039;&#039;Full Factorial Design&#039;&#039;, welches wir für die bisherige Kennfeld-Identifikation verwendeten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess_basis.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
# Wir aktivieren in der Versuchsplanung des adaptive Design mit höchster Abbruchgenauigkeit:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_konfig_adaptives_design.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
# Als günstig sollte man die &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039; mit der &#039;&#039;&#039;Co-Varianzfunktion=Exponential&#039;&#039;&#039; für den Gauss-Prozess verwenden. &lt;br /&gt;
# Durchführung des adaptiven Prozesses durch Neuberechnen der Antwortfläche [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif|middle]], bis keine Verbesserung der Antwortflächen mehr erkennbar ist.&lt;br /&gt;
&lt;br /&gt;
=== Fortschritt ===&lt;br /&gt;
&lt;br /&gt;
* Die zusätzlichen 100 Abtaststellen befinden sich überwiegend im Bereich kleiner Ströme bei großem Luftspalt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess_anthill.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Das 95%-Erwartungsintervall verringerte sich für beide Ersatzfunktionen beträchtlich:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess_ord0_expo_plus100.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Leider wurde das Ersatzmodell physikalisch dadurch nicht sinnvoller:&lt;br /&gt;
:# Es treten durch Welligkeiten zwischen den Stützstellen bei sehr kleinen Strömen auch negative Kräfte von bis zu ‑0,5&amp;amp;nbsp;N auf.&lt;br /&gt;
:# Insbesondere die Psi-Funktion besitzt relativ große Welligkeit.&lt;br /&gt;
* Der Abbruch des adaptiven Gaussprozesses erfolgte, weil die vorgegebene Anzahl von Modellberechnungen erreicht wurde.&lt;br /&gt;
* Die geforderte Genauigkeit der Anpassung wurde noch nicht erreicht.&lt;br /&gt;
* Bei unserem schnellen FEM-Modell können wir den adaptiven Gaussprozess mit den gleichen Parametern erneut anstoßen  [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif|middle]]:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess_anthill_OK.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diesmal erfolgte der Abbruch infolge des Einhaltens der geforderten Genauigkeit nach 80 weiteren Modellberechnungen:&lt;br /&gt;
:# Die Größe der unzulässigen negativen Kraftwirkung verringert sich auf ca. 1/3 (‑0,15&amp;amp;nbsp;N).&lt;br /&gt;
:# Die Welligkeit der Psi-Funktion ist kaum noch erkennbar und negative Werte treten nicht mehr auf.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_adaptiver_gaussprozess_ord0_expo_OK.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fazit ===&lt;br /&gt;
&lt;br /&gt;
Insgesamt waren im Beispiel 217 Modellberechnungen erforderlich, um das Ersatzmodell mittels Gaussprozess zu gewinnen:&lt;br /&gt;
* Dies entspricht einem globalen Raster von ungefähr 12x12 Abtastungen.&lt;br /&gt;
* Das engere Raster an kritischen Stellen wird vom adaptiven Verfahren automatisch ermittelt.&lt;br /&gt;
* Man muss davon ausgehen, dass mit wesentlich weniger Modellberechnungen ein hochwertiges Ersatzmodell im aufgespannten Wertebereich nicht gebildet werden kann.&lt;br /&gt;
* &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039; und &#039;&#039;&#039;Co-Varianzfunktion=Exponential&#039;&#039;&#039; führen anscheinend zu einem relativ stabilen Gaussprozess. Der adaptive Prozess könnte mit diesen Parametern weitestgehend automatisch ablaufen. &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfeld-Export_als_C-Code|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation&amp;diff=15342</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Probabilistik - Kennfeld-Identifikation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Kennfeld-Identifikation&amp;diff=15342"/>
		<updated>2014-05-26T13:13:03Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Momenten-Methode|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Identifikation von Ersatzmodellen&#039;&#039;&#039;&amp;lt;/div&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_feld-ident_gauss1.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Kraft- und Koppelfluss-Kennfelder eines E-Magneten kann man in Modellen der [[Software:_System-Simulation|System-Simulation]] als Ersatzmodell für eine konkrete Wandler-Geometrie benutzen:&lt;br /&gt;
# Die Ergebnisse einer FEM-Rastersuche kann man als Daten exportieren und die berechneten Abtaststellen des FEM-Modells als Stützstellen von 3D-Funktionsflächen in der System-Simulation verwenden. Aus diesen Stützstellen werden in der System-Simulation dann die Funktionswerte der Zwischenräume interpoliert.&lt;br /&gt;
# Die für die Durchführung der virtuellen Stichprobe von OptiY generierten mathematischen Funktionen der Antwortflächen kann man aber auch direkt als Modell-Code in Modelle der System-Simulation implementieren. Die Gewinnung von Ersatzmodellen nach diesem Prinzip wollen wir abschließend in diesem Übungskomplex durchführen. &lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Raster-Experiment &#039;&#039;&#039;Kennfeld-Berechnung&#039;&#039;&#039; konfigurieren wir nach dem Duplizieren ein Experiment &#039;&#039;&#039;Kennfeld-Identifikation&#039;&#039;&#039;. &lt;br /&gt;
== Workflow ==&lt;br /&gt;
* Wir werden die probabilistische Simulation benutzen, um über den gesamten Arbeitsbereich unseres E-Magneten die Antwortflächen für &#039;&#039;F(i,s)&#039;&#039; und &#039;&#039;Psi(i,s)&#039;&#039; bilden zu lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_feld-ident-workflow.gif| ]] &amp;lt;/div&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_feld-ident-streuung_i.gif|right]]&lt;br /&gt;
* Die &#039;&#039;&#039;Nennwerte&#039;&#039;&#039; von Strom und Arbeitsluftspalt sind nun konstante Größen. Diese &#039;&#039;&#039;Streuungsmittenwerte&#039;&#039;&#039; sind so zu wählen, dass über den gesamten Streubereich numerisch instabile Werte nahe Null vermieden werden:&lt;br /&gt;
** i.Wert=5.01 A  (i&amp;amp;ge;0.01&amp;amp;nbsp;A)&lt;br /&gt;
** s.Wert=2.03 mm (s&amp;amp;ge;30&amp;amp;nbsp;µm)&lt;br /&gt;
* Die &#039;&#039;&#039;Streuungen&#039;&#039;&#039; von Strom und Arbeitsluftspalt umfassen den gesamten Arbeitsbereich des E-Magneten:&lt;br /&gt;
** i_.Toleranz=10&amp;amp;nbsp;A&lt;br /&gt;
** s_.Toleranz= 4&amp;amp;nbsp;mm&lt;br /&gt;
** i_.Nennwert und s_.Nennwert Null (Toleranzmittenabstand=0)&lt;br /&gt;
* Die &#039;&#039;&#039;Gleichverteilung&#039;&#039;&#039; innerhalb der Streu-Bereiche gewährleistet eine gleichmäßige Abtastung, falls man eine Sample Methode verwendet.&lt;br /&gt;
&lt;br /&gt;
== Versuchsplanung ==&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_feld-ident-planung_polynom.gif|right]]&lt;br /&gt;
Wir werden dieses Simulationsexperiment (&#039;&#039;&#039;Optimierungsverfahren=Simulation&#039;&#039;&#039;) so konfigurieren, dass wir möglichst anschaulich erkennen, wie genau die approximierten Antwortflächen die wirklichen Übertragungsfunktionen des Modells abbilden:&lt;br /&gt;
* Grundlage für die Berechnung der Antwortfläche soll das [http://de.wikipedia.org/wiki/Vollständiger_Versuchsplan &#039;&#039;&#039;Full Factorial Design&#039;&#039;&#039;] sein, welches praktisch einer Rastersuche entspricht. Wir wählen dafür &#039;&#039;&#039; 6 Stufen&#039;&#039;&#039;, um die Anzahl der Modellberechnungen mit 37 gering zu halten. Die Anzahl 37 ergibt sich aus dem Raster 6x6 plus einer Stützstelle in der Mitte.&lt;br /&gt;
* Wir setzen den &#039;&#039;&#039;virtuellen Stichprobenumfang=0&#039;&#039;&#039;, da wir in diesem Experiment nur die Antwortflächen gewinnen.&lt;br /&gt;
&lt;br /&gt;
== Approximation mit Polynom-Ansatz == &lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_f-ident-polynom_ordnung1.gif|right]]&lt;br /&gt;
* Wir verwenden zuerst die bereits für die Sample Methode genutzte &#039;&#039;&#039;polynomiale Approximation&#039;&#039;&#039; für die Gütekriterien und beginnen mit der &#039;&#039;&#039;Polynomordnung=1&#039;&#039;&#039;.&lt;br /&gt;
* Nach Abschluss der Simulation liegen die Antwortflächen als Funktionen im (i,s)-Raum vor.&lt;br /&gt;
* In die Diagramme der 3D-Antwortflächen blenden wir die Punkte der berechneten Stützstellen ein.&lt;br /&gt;
* Schrittweises Erhöhen der Polynomordnung mit anschließendem Neuberechnen der Antwortflächen [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif| ]] führt zu einer optimalen Anpassung der Antwortflächen. Aus einem zu großem Wert für die Polynomordnung resultiert dann wieder eine Verschlechterung der Approximation, z.B. durch starke Welligkeit der Fläche.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Ein Rücksetzen des Experiments mit erneuter Berechnung der realen Stichprobe ist dabei nicht erforderlich!&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_f-ident-polynom_flaeche.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Ein Drehen des Diagramms der 3D-Antwortfläche zeigt deutlich die Lage der realen Modellwerte abseits der Antwortfläche. Besonders stark sind die Abweichungen bei der Kombination von minimalem Luftspalt mit minimalem Strom.&lt;br /&gt;
* Das Residuum-Plot zeigt quantitativ die Abweichungen der realen Modellberechnungen von den identifizierten Antwortflächen. Bei der Magnetkraft liegt diese Abweichung überwiegend im Bereich von ca. 10%, was für ein Ersatzmodell häufig noch akzeptiert werden kann.&lt;br /&gt;
* Nicht akzeptabel ist jedoch, dass die Ersatzfunktion im Bereich kleiner Ströme zu negativen Kraftwerten führt, was physikalisch nicht korrekt ist!&lt;br /&gt;
* Ähnlich ungenau sehen die Ergebnisse für das Psi-Kennfeld aus:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_psi-ident-polynom_flaeche.gif| ]]  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Schlussfolgerung:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;Polynom-Ansätze sind für die Bildung von globalen Ersatzmodellen bei nichtlinearem Übertragungsverhalten nicht besonders gut geeignet.&lt;br /&gt;
&lt;br /&gt;
== Approximation mit Gauss-Prozess ==&lt;br /&gt;
&lt;br /&gt;
Der [http://de.wikipedia.org/wiki/Gauß-Prozess &#039;&#039;&#039;Gauß-Prozess&#039;&#039;&#039;], angewandt in der Geostatistik auch als [http://de.wikipedia.org/wiki/Kriging Kriging] bekannt, ist ein statistisches Verfahren, mit dem man Werte an Orten, für die keine Probe vorliegt, durch umliegende Messwerte interpolieren oder auch annähern kann.&lt;br /&gt;
&lt;br /&gt;
Der Gauß-Prozess besteht aus einem globalen Modell &#039;&#039;&#039;f(x)&#039;&#039;&#039; und einem stochastischen Prozess &#039;&#039;&#039;Z(x)&#039;&#039;&#039;, welcher die mögliche Abweichung von dem globalen Modell beschreibt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_formel_gauss-prozess.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;x&#039;&#039;&#039; ist ein m-dimensionaler Parametervektor.&lt;br /&gt;
* &#039;&#039;&#039;Y(x)&#039;&#039;&#039; ist der Ergebnisvektor für den Punkt &#039;&#039;&#039;x&#039;&#039;&#039; im Parameterraum. &lt;br /&gt;
* &#039;&#039;&#039;f(x)&#039;&#039;&#039; sind Polynome beliebiger Ordnung, welche zusammen mit den unbekannten Regressionskoeffizienten &#039;&#039;&#039;β&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039;&#039; die [http://de.wikipedia.org/wiki/Regressionsfunktion &#039;&#039;&#039;Regressionsfunktion&#039;&#039;&#039;] bilden.&lt;br /&gt;
*  &#039;&#039;&#039;Z(x)&#039;&#039;&#039; ist ein stationärer [http://de.wikipedia.org/wiki/Stochastischer_Prozess &#039;&#039;&#039;stochastischer Prozess&#039;&#039;&#039;] mit dem &#039;&#039;Mittelwert&#039;&#039; Null, der &#039;&#039;Varianz&#039;&#039; &#039;&#039;&#039;σ&#039;&#039;&#039; und der &#039;&#039;Covarianz&#039;&#039; &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039;. Dieser Anteil des Gauß-Prozesses beschreibt das 95% Erwartungsintervall für jeden Punkt &#039;&#039;&#039;x&#039;&#039;&#039; des Parameterraumes.&lt;br /&gt;
&lt;br /&gt;
In dem englischen Wikipedia-Artikel zum [http://en.wikipedia.org/wiki/Kriging Kriging] wird das für die Interpolation einer eindimensionalen Funktion sehr anschaulich dargestellt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kriging-interpolation.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Die berechneten Grenzverläufe des Erwartungsintervalls werden wesentlich bestimmt durch das Erfahrungswissen in Hinblick auf den erwartenden Verlauf der zu interpolierenden Funktion zwischen den bekannten Werten der Stichproben-Exemplare. Diese Erwartung wird durch die Wahl einer geeigneten [http://de.wikipedia.org/wiki/Kovarianz_(Stochastik) Covarianz-Funktion] &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; beschrieben.&lt;br /&gt;
* In OptiY sind unterschiedlichste Covarianz-Funktionen &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; implementiert. Diese beschreiben den Verlauf des 95% Erwartungsintervalls zwischen den Stützstellen in Abhängigkeit von der Stützstellendichte. Die folgende Notation bezieht sich auf zwei Stützstellen x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; und x&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; im Abstand (x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;−x&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;):&lt;br /&gt;
# &#039;&#039;&#039;Square Exponential&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_square_exponential.gif| ]]&lt;br /&gt;
# &#039;&#039;&#039;Exponential&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_exponential.gif| ]]&lt;br /&gt;
# &#039;&#039;&#039;Gamma-Exponential&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_gamma_exponential.gif| ]]&lt;br /&gt;
# &#039;&#039;&#039;Matern Class 3/2&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_matern_class_3_2.gif| ]]&lt;br /&gt;
# &#039;&#039;&#039;Matern Class 5/2&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_matern_class_5_2.gif| ]]&lt;br /&gt;
# &#039;&#039;&#039;Rational Quadratic&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_rational_quadratic.gif| ]]&lt;br /&gt;
* Der allgemeine Fall für Exponential-Funktionen ist &#039;&#039;Gamma-Exponential&#039;&#039;, die anderen beiden Exponentialfunktionen sind die Spezialfälle für γ=1 bzw. γ=2.&lt;br /&gt;
* Die &#039;&#039;Matern Class&#039;&#039; Funktionen sind Erweiterungen der Exponential-Funktion. &lt;br /&gt;
* Die Hyper-Parameter &#039;&#039;&#039;w&#039;&#039;&#039;, &#039;&#039;&#039;γ&#039;&#039;&#039; and &#039;&#039;&#039;α&#039;&#039;&#039; werden mittels der Maximierung der [http://de.wikipedia.org/wiki/Maximum-Likelihood-Methode Likelihood-Funktion] der [http://de.wikipedia.org/wiki/Multivariate_Normalverteilung multivariaten Normalverteilung] ermittelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Über die Polynomordnung des globalen Modells kann man einen Kompromiss finden zwischen bester Anpassung der interpolierten Regressionsfunktion an vorhandene Stützstellen und optimalem Verlauf zwischen diesen Stützstellen:&lt;br /&gt;
* Wie im vorherigen Abschnitt &amp;quot;Approximation mit Polynom-Ansatz&amp;quot; beschrieben, bestimmt die Polynomordnung des globalen Modells &#039;&#039;&#039;f(x)&#039;&#039;&#039; die allgemeine Richtung (&#039;&#039;&#039;globale Anpassung&#039;&#039;&#039;) der Regressionsfunktion. Die dabei verbleibenden Residuen sind noch sehr groß. &lt;br /&gt;
* Der stochastische Prozess &#039;&#039;&#039;Z(x)&#039;&#039;&#039; hat dann die Aufgabe, diese verbleibenden Residuen mittels der Covarianz-Funktion (Normal-Verteilung) zu eliminieren (&#039;&#039;&#039;lokale Anpassung&#039;&#039;&#039;).&lt;br /&gt;
* Wenn die Anzahl der Stützstellen bzw. der Daten hinreichend groß ist und man die verbleibenden Residuen statistisch auswertet, entsteht eine [http://de.wikipedia.org/wiki/Normalverteilung Normal-Verteilung] (auch Gauss-Verteilung genannt) mit dem Mittelwert=0. Das ist die ursprüngliche Idee des Gauß-Prozesses.&lt;br /&gt;
* Wenn man die globale Anpassung mit einer zu hohen Ordnungen der Polynome durchführt, besitzt die Kurve mehr Freiheitsgrade als nötig. Das führt dann zu Welligkeiten zwischen den Stützstellen, weil dies durch keine Zwangsbedingungen verhindert wird.&lt;br /&gt;
&lt;br /&gt;
Dieses Prinzip der Bildung von Ersatzmodellen (Antwortflächen) werden wir nun auf unser Kennfeld-Problem anwenden. Wir nutzen dafür das bereits konfigurierte Experiment &#039;&#039;Kennfeld-Identifikation&#039;&#039; ohne erneute Berechnung der Stichprobe:&lt;br /&gt;
* Wir wählen für die beiden Ergebnisgrößen &#039;&#039;&#039;F&#039;&#039;&#039; und &#039;&#039;&#039;Psi&#039;&#039;&#039; zur Approximation den &#039;&#039;&#039;Gauss Prozess&#039;&#039;&#039; und beginnen mit der kleinsten &#039;&#039;&#039;Polynomordnung=0&#039;&#039;&#039;. Als Covarianz-Funktion beginnen wir mit &#039;&#039;&#039;Exponential&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_covarianz_wahl_exponential.gif|top]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_process_polynomordnung_0.gif|top]]&amp;lt;/div&amp;gt; &lt;br /&gt;
* Zusätzlich zu den Residuen und der 3D-Antwortfläche öffnen wir für jede Ergebnisgröße auch die Schnittdiagramm. Innerhalb der Schnittdiagramme aktivieren wir die Darstellung des Vertrauensintervalls.&lt;br /&gt;
* Nach dem Neuberechnen der Antwortflächen [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif|middle]] ergibt sich eine gute Approximation für beide Kennfelder: &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_ord0_exponential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Positiv&#039;&#039;&#039; fällt auf, dass im Unterschied zum Polynom-Ansatz:&lt;br /&gt;
# physikalisch korrekt keine negativen Kräfte oder Koppelflüsse berechnet werden!&lt;br /&gt;
# die Residuen zeigen, dass sämtliche Punkte der echten Stichprobe exakt (max. 2E-13) in die identifizierte Ersatzfunktionen F=f(s,i) bzw. Psi=f(s,i) eingebettet sind: &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_residuen_ord0_exponential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Negativ&#039;&#039;&#039; fällt auf, dass:&lt;br /&gt;
# die identifizierten Kennfelder auf Grund der Polynomordnung=0 für die globale Anpassung schwache Knicke an den Stützstellen besitzen. Hier würde man physikalisch eine stetige Ableitung der Kennfelder erwarten.&lt;br /&gt;
# die 95% Vertrauensintervalle zwischen den Stützstellen mit ca. ±20% des Maximalwertes &amp;quot;riesig&amp;quot; sind:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_vertrauen_ord0_exponential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Insbesondere den Aspekt des Vertrauensintervalls wollen wir näher betrachten:&lt;br /&gt;
* Um die obige Darstellung der Vertrauensintervalle zu erhalten, müssen wir:&lt;br /&gt;
# die Anzeige der Stützpunkte für die Schnittdiagramme aktivieren.&lt;br /&gt;
# die aktuellen Werte der Streugrößen (&#039;&#039;Virtueller Entwurf - Nennwert&#039;&#039;) auf eine Stützstellen-Reihe setzen (z.B. i_=6.01&amp;amp;nbsp;A und s_=2.43&amp;amp;nbsp;mm).&lt;br /&gt;
* An den Stützstellen selbst ist die Breite des Vertrauensintervalls immer Null, da der Wert bekannt ist. &lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Die berechneten Vertrauensintervalle resultieren nur aus den benutzten mathematischen Ansätzen. Am Beispiel können wir dem interpolierten Kraftverlauf wesentlich stärker vertrauen! Wir wissen (im Unterschied zum mathematischen Formalismus), dass sich die Kraft zwischen den Stützstellen monoton ändert (ohne &amp;quot;Welligkeit&amp;quot;).&lt;br /&gt;
* Die Vertrauensintervalle markieren den &#039;&#039;Worst Case&#039;&#039; der Unsicherheit bei fehlenden Kenntnissen zu den abgebildeten physikalischen Zusammenhängen.&lt;br /&gt;
&lt;br /&gt;
Um ein Gefühl für die Wirkung der Polynomordnung und der unterschiedlichen Covarianz-Funktionen auf die Qualität der Antwortflächen zu erhalten, werden diese Parameter im Folgenden systematisch verändert:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Polynomordnung&#039;&#039;&#039;&lt;br /&gt;
* Wir erhöhen die Polynomordnung für beide Ergebnisgrößen schrittweise um 1.&lt;br /&gt;
* Nach dem Neuberechnen der Antwortflächen [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif|middle]] ergibt sich im Beispiel eine Verschlechterung des Ersatzmodells in Hinblick auf das physikalische Verständnis:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_kennfelder_ord1_exponential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
# Für die Magnetkraft entstehen wie beim Polynomansatz negative Werte.&lt;br /&gt;
# Die Welligkeit beider Antwortflächen nimmt mit steigender Ordnungszahl zu.&lt;br /&gt;
&lt;br /&gt;
Man sollte die kleinste Polynomordnung verwenden, welche zu physikalisch plausiblen Ersatzmodellen führt! Das wird meist die Polynomordnung=0 sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Covarianz-Funktion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wir setzen die Polynomordnung auf den mit dem einfachen Exponential-Ansatz ermittelten optimalen Wert, bevor wir mit den unterschiedlichen Covarianz-Funktionen experimentieren:&lt;br /&gt;
* Höherwertige Covarianz-Funktionen führen bei unseren monotonen, stetigen Kennfeldern zu minderwertigen Ergebnissen im Vergleich zum einfachen Exponential-Ansatz:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_kraft_ord0_square_exponential.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
# Es wird zwar ein schmaleres Vertrauensintervall berechnet, was aber nicht mit dem physikalischen Verständnis des Magnetmodells korreliert!&lt;br /&gt;
# Die Kennfelder erhalten eine verstärkte Welligkeit, welche z.B. bei der Magnetkraft zu physikalisch sinnlosen negativen Kraftwerten führen kann.&lt;br /&gt;
* Je komplizierter die gewählte Covarianz-Funktion ist, desto größer ist die Wahrscheinlichkeit, dass die globale Approximation für den Gauß-Prozess misslingt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_psi_ord0_matern_class_5_2.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Identifikation der Parameter für die optimale globale und lokale Anpassung erfolgt im OptiY mittels numerischer Optimierung (Evolutionsstrategie). Besitzt die Zielfunktion infolge ihrer Komplexität viele lokale Extremwerte, wird unter Umständen das globale Optimum nicht gefunden.&lt;br /&gt;
* Im Beispiel führt die Covarianz-Funktion &#039;&#039;Matern Class 5/2&#039;&#039; für das Psi-Kennfeld bei &#039;&#039;Polynomordnung&#039;&#039;=0 zu obiger unsinniger Lösung.&lt;br /&gt;
* Erst eine Erhöhung auf &#039;&#039;Polynomordnung&#039;&#039;=2 führt mit dieser Covarianz-Funktion zu einer Kennfeld-Qualität, die wir bereits mit &#039;&#039;Polynomordnung&#039;&#039;=0 und einfachem &#039;&#039;Exponential&#039;&#039;-Ansatz erreichten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_gauss_psi_ord2_matern_class_5_2.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Das enge 95% Vertrauensintervall bei diesem komplexeren Ersatzmodell hat auch hier keine Bedeutung in Hinblick auf die physikalische Korrektheit der identifizierten Antwortfläche!&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
&lt;br /&gt;
Die beschriebene Vorgehensweise für die Identifikation von Ersatzmodellen als Antwortflächen mittels Gauß-Prozess ist nur unter den folgenden Randbedingungen durchführbar:&lt;br /&gt;
# Es existieren bereits hinreichend viele Stützstellen für das zu identifizierende Modell innerhalb des vorgesehenen Wertebereiches der freien Parameter.&lt;br /&gt;
# Die Anzahl der freien Parameter ist überschaubar (z.B. maximal drei).&lt;br /&gt;
# Man besitzt bereits qualitative Vorstellungen zu den Eigenschaften der Antwortflächen.&lt;br /&gt;
&lt;br /&gt;
Trifft dies nicht zu, muss man angepasste Strategien verwenden, um mit erträglichem Aufwand hinreichend genaue Ersatzmodelle zu identifizieren. Die Nutzung des adaptiven Gauß-Prozesses zur Beschränkung der Stützstellen auf das unbedingt notwendige Maß wird in einem noch folgendem Abschnitt des Übungskomplexes beschrieben.&lt;br /&gt;
&lt;br /&gt;
Die Identifikation von Kennfeldern für einen elektro-magnetischen Wandler ist nicht ganz einfach:&lt;br /&gt;
* Entscheidend für die Genauigkeit des damit aufzubauenden Dynamik-Modells ist die hinreichend genaue zeitliche Ableitung des Psi-Kennfeldes. Die damit berechnete Induktionsspannung bestimmt die zeitliche Entwicklung des Stromes in der Spule.&lt;br /&gt;
* Der Gauss-Prozess berücksichtigt nur, wie exakt die berechneten Stützstellen in die Antwortfläche passen und wie breit das Vertrauensintervall der identifizierten Antwortfläche zwischen den berechneten Stützstellen ist. Knicke und Welligkeiten der Antwortfläche fließen nicht in die Bewertung der Antwortflächen-Güte ein, sind aber entscheidend für die Güte der benötigten Ableitung!&lt;br /&gt;
* Die Güte der Ableitung eines Kennfeldes kann man mittels OptiY zurzeit nur iterativ durch die Wahl einer geeigneten Covarianz-Funktion in Kombination mit einer günstigen Polynomordnung beeinflussen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qualität der Ableitung:&#039;&#039;&#039;&lt;br /&gt;
* Benötigt man innerhalb der Systemsimulation partielle Ableitungen der identifizierten Funktionen, so muss man dies als zusätzliches Qualitätsmerkmal berücksichtigen. Im Beispiel trifft dies für &#039;&#039;&#039;psi(i,s)&#039;&#039;&#039; zu, denn die zeitliche Ableitung des Koppelflusses entspricht im Netzwerkmodell der induzierten Spannung in der Spule.&lt;br /&gt;
* Leider kann man die Qualität partieller Ableitungen der identifizierten Antwortflächen innerhalb des OptiY nur sehr grob beurteilen:&lt;br /&gt;
# Knicke bewirken Sprünge der Ableitung&lt;br /&gt;
# Welligkeit kann zu Vorzeichenwechsel der Ableitung führen&lt;br /&gt;
* Um die physikalische Sinnfälligkeit der Ableitung zu beurteilen, muss man zurzeit diese Ableitung auf Basis des exportierten Modell-Codes berechnen und Darstellen! &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Momenten-Methode|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_C-Kennfeld_Adaptiver_Gauss-Prozess|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Monte-Carlo&amp;diff=15341</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Probabilistik - Monte-Carlo</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Monte-Carlo&amp;diff=15341"/>
		<updated>2014-05-26T13:10:35Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Momenten-Methode|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Probabilistische Simulation - Verfahren mit Zufallszahlen (Monte Carlo)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_verfahren_simulation.gif|right]]&lt;br /&gt;
Es existieren verschiedene Verfahren, wie man durch &amp;quot;Würfeln&amp;quot; Verteilungsdichten über die Streubreite der Parameter nachbilden kann. Man spricht hierbei auch von &#039;&#039;&#039;&#039;&#039;Sampling-Verfahren&#039;&#039;&#039;&#039;&#039; oder &#039;&#039;&#039;&#039;&#039;Monte-Carlo-Verfahren&#039;&#039;&#039;&#039;&#039;. (Siehe &amp;quot;OptiY-Hilfe: Theoretische Grundlagen &amp;gt; Statistische Versuchsplanung &amp;gt; Sampling Verfahren).  Wir werden uns hier auf das Rechenzeit-optimale Verfahren des &#039;&#039;&#039;&#039;&#039;Latin Hypercube Sampling&#039;&#039;&#039;&#039;&#039; beschränken.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;Falls es noch nicht geschehen ist - man muss &amp;quot;Simulation&amp;quot; als Optimierungsverfahren wählen! Damit wird nur &#039;&#039;&#039;eine&#039;&#039;&#039; Stichprobe simuliert.  &lt;br /&gt;
&lt;br /&gt;
== Versuchsplanung ==&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_versuchsplanung_sampling_methods.gif|right]]&lt;br /&gt;
Das &#039;&#039;Latin Hypercube Sampling&#039;&#039; ist eine geeignete Sampling-Methode, um in unserem Beispiel mit akzeptablem Berechnungsaufwand hinreichend genaue und anschauliche Ergebnisse zu erhalten. Bei diesem Verfahren wird der gesamte Streubereich jedes Parameters in Intervalle unterteilt. Innerhalb dieser Intervalle werden entsprechend der Verteilungsdichte Werte &amp;quot;erwürfelt&amp;quot;:&lt;br /&gt;
* Der gewählte Stichprobenumfang von 50 ist ein guter Kompromiss um einen Eindruck von dieser Methode zu erhalten. &lt;br /&gt;
* Der Zufallsgenerator soll im Beispiel Zufallszahlen in Abhängigkeit von der aktuellen Computer-Zeit liefern, d.h. bei jedem Experiment werden, wie in der Realität, etwas andere Ergebnisse entstehen! &lt;br /&gt;
&lt;br /&gt;
Die Analyse-Diagramme zur Bewertung der probabilistischen Simulationsergebnisse werden bei den Sampling-Methoden nur teilweise auf Basis der wirklich berechneten Stichprobe generiert: &lt;br /&gt;
* Aus den mit dem Stichprobenumfang (im Beispiel =50) &amp;quot;erwürfelten&amp;quot; Werten der streuenden Parametern (hier die Luftspalte) und jeder daraus berechneten Bewertungsgröße des Modells (hier Magnetkraft und Koppelfluss) wird nach der Methode der kleinsten Fehlerquadrate eine Übertragungsfunktion approximiert. &lt;br /&gt;
* Für jede Bewertungsgröße (im Beispiel die Gütekriterien &#039;&#039;&#039;F&#039;&#039;&#039; und &#039;&#039;&#039;Psi&#039;&#039;&#039;) kann man unabhängig voneinander eine geeignete Funktion für die Approximation des Übertragungsverhaltens wählen. Wir verwenden hier die Standardvorgabe &amp;quot;Polynom 2.&amp;amp;nbsp;Ordnung&amp;quot; für beide Größen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_polynomapproximation.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Eine virtuelle Stichprobe (im Beispiel &#039;&#039;Stichprobenumfang=100000&#039;&#039;) wird auf Grundlage der zuvor approximierten Übertragungsfunktionen (=&amp;amp;nbsp;Ersatzmodell für das originale Simulationsmodell) generiert.&lt;br /&gt;
* Welche Punkte dieses Ersatzmodells für eine virtuelle Stichprobe benutzt werden, wird gleichfalls mit der für die reale Stichprobe gewählten Sampling-Methode &amp;quot;erwürfelt&amp;quot; (im Beispiel &#039;&#039;Latin Hypercube&#039;&#039;). &lt;br /&gt;
* Mit virtuellen Stichproben erhält man anschaulichere, &amp;quot;geglättete&amp;quot; Darstellungen auch bei einem kleinen realen Stichprobenumfang. Die Anzahl der &#039;&#039;Verteilungspunkte&#039;&#039; entspricht der Anzahl der Intervalle, in welche jeder Streubereich gleichmäßig geteilt wird, um stetige Verteilungsdichtefunktionen aus den diskreten Werten zu ermitteln.&lt;br /&gt;
&lt;br /&gt;
== Analyse ==&lt;br /&gt;
&lt;br /&gt;
=== Reale Stichprobe ===&lt;br /&gt;
&lt;br /&gt;
Alle Exemplare der realen Stichprobe werden auf Grundlage des Experiment-Workflows berechnet:&lt;br /&gt;
* Jedes Exemplar der Stichprobe ist gekennzeichnet durch seine konkreten Parameter-Werte (Nennwerte und Istwerte der Streugrößen) und die daraus resultierenden konkreten Bewertungsgrößen (Gütekriterien / Restriktionen).&lt;br /&gt;
* Bei der Abarbeitung des Workflows werden die in den Workflow eingebundenen Simulationsmodelle berechnet, was sehr zeitaufwändig sein kann.  &lt;br /&gt;
* Die reale Stichprobe wird nur berechnet nach einem Start des Experiments [[Bild:Software_OptiY_-_Button_-_Exp_starten.gif|middle]] bzw. dessen Weiter-Führung [[Bild:Software_OptiY_-_Button_-_Exp_fortsetzen.gif|middle]] nach Stopp [[Bild:Software_OptiY_-_Button_-_Exp_stoppen.gif|middle]].&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_analyse_reale_probe.gif|right]]&lt;br /&gt;
Bei der Nutzung von Sampling-Verfahren kann man bereits während der Simulation den Verlauf des Experiments beobachten:&lt;br /&gt;
* Wie in der Realität wird aus der gesamten Stichprobe ein Modell-Exemplar nach dem nächsten untersucht.&lt;br /&gt;
* Die generierten Werte der streuenden Parameter und die Ergebnisgrößen (Gütekriterien und Restriktionen) können für jede einzelne Modellrechnung mittels der bereitgestellten &#039;&#039;Analyse&#039;&#039;-Funktionen dargestellt werden. &lt;br /&gt;
* Die Darstellmöglichkeiten, welche sich nur auf die Ergebnisse der realen Stichprobe beziehen, findet man im Menü &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Statistische Versuchsplanung&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Wir werden im Folgenden die einzelnen Darstellungen einzeln aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== DOE-Tabelle ====&lt;br /&gt;
&lt;br /&gt;
Wir beginnen mit der DOE-Tabelle. In dieser werden alle Werte der realen Stichproben-Exemplare in der Reihenfolge ihrer Berechnung aufgelistet:&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Statistische_Versuchsplanung DOE=&amp;quot;Design of Experiments&amp;quot; (Versuchsplanung)].&lt;br /&gt;
* Listet für jede Modellrechnung der echten Stichprobe (=1 Zeile) in den Spalten eine Auswahl von allen im Workflow definierten Größen auf.&lt;br /&gt;
* Über die Menü-Funktion &#039;&#039;&#039;&#039;&#039;Datei - Daten Export&#039;&#039;&#039;&#039;&#039; kann man diese umfangreichen Datensätze der DOE-Tabelle bei Bedarf in einer Excel-Datei weiter verarbeiten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_doe-tabelle.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Histogramme ====&lt;br /&gt;
&lt;br /&gt;
[http://de.wikipedia.org/wiki/Histogramm Histogramme] stellen die Häufigkeitsverteilung der abgebildeten Größen innerhalb des Streubereiches dar. Die Streugrößen der Luftspalte, die Kraft &#039;&#039;&#039;F&#039;&#039;&#039; und den Koppelfluss &#039;&#039;&#039;Psi&#039;&#039;&#039; ziehen wir mit &#039;&#039;Drag&amp;amp;nbsp;&amp;amp;&amp;amp;nbsp; Drop&#039;&#039; in das anfangs leere Histogramm-Fenster:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_histogramm_original.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Korrelationsmatrix ====&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_korrelationsmatrix.gif|right]]&lt;br /&gt;
Es wird für die reale Stichprobe die [http://de.wikipedia.org/wiki/Korrelation Korrelation] zwischen allen Parameter-Streuungen und Bewertungsgrößen in Form von linearen Spearman Korrelationskoeffizienten dargestellt. Der Koeffizient &#039;&#039;&#039;K&#039;&#039;&#039; mit einem Bereich von -1 bis +1 wird durch die Farbe gekennzeichnet:&lt;br /&gt;
* |K|=0 &amp;amp;rarr; keine Korrelation mit der Toleranzgröße&lt;br /&gt;
* |K|=1 &amp;amp;rarr; starke Korrelation mit der Toleranzgröße.&lt;br /&gt;
&#039;&#039;&#039;Interpretation:&#039;&#039;&#039;&lt;br /&gt;
* Entlang der Diagonalen ist K=1 (Jede Größe bildet mit sich selbst eine Gerade y=x).&lt;br /&gt;
* Falls die Bildung der Zufallszahlen gut funktioniert, darf keine Korrelation zwischen unterschiedlichen Parameter-Streuungen existieren (K=0). Auf Grund der kleinen Stichprobe ist ca. K&amp;lt;0.2. Die Korrelation zwischen streuenden Parametern hat insbesondere Bedeutung bei der Benutzung von Messwerten.&lt;br /&gt;
* Die Korrelation zwischen streuenden Parametern und Bewertungsgrößen ist abhängig vom Übertragungsverhalten des Modells.&lt;br /&gt;
&lt;br /&gt;
==== Korrelationstabelle ====&lt;br /&gt;
* Diese entspricht unmittelbar nach ihrem Öffnen in ihrer Struktur der Korrelationsmatrix. [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_korrelationstabelle.gif|right]]&lt;br /&gt;
* Dargestellt werden die konkreten Korrelationskoeffizienten.&lt;br /&gt;
* Damit erhält man für die echte Stichprobe nicht nur eine qualitative Orientierung zur Stärke der Korrelation, sondern auch die zugehörigen Korrelationswerte.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Korrelation bedeutet nicht &amp;quot;kausale Abhängigkeit&amp;quot;! In technischen Anwendungen verbirgt sich dahinter aber meist eine Ursache-Wirkungs-Beziehung.&lt;br /&gt;
&lt;br /&gt;
==== Anthill-Plot ====&lt;br /&gt;
&lt;br /&gt;
Der &amp;quot;Ameisenhaufen&amp;quot; stand Pate für die Bezeichnung dieser Darstellform (Punktdiagramm), welche auch als [http://de.wikipedia.org/wiki/Streudiagramm Streudiagramm] (engl. Scatterplot) bekannt ist. In OptiY existieren zwei Formen von Anthill-Plots:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2D-Anthill-Plot:&#039;&#039;&#039;&lt;br /&gt;
* Die X- und Y-Achse sind frei belegbar mit den im Workflow definierten Größen.&lt;br /&gt;
* Jedes Exemplar der realen Stichprobe wird durch einen Punkt repräsentiert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_anthillplot_2d.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Je mehr die Punktwolke in einem dieser Scatter-Plots sich der Form einer Geraden annähert, desto stärker korrelieren die Werte der beiden dargestellten Größen. Im Beispiel korreliert die Magnetkraft &#039;&#039;&#039;F&#039;&#039;&#039; am stärksten mit dem Arbeitsluftspalt &#039;&#039;&#039;sAnker&#039;&#039;&#039;.&lt;br /&gt;
* Wenn man innerhalb der DOE-Tabelle eine Zeile mit Doppelklick auswählt (= Exemplar der Stichprobe), so wird der zugehörige Punkt in allen Anthill-Plots hervorgehoben und es werden daneben die &amp;quot;Koordinatenwerte&amp;quot; eingeblendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3D-Anthill-Plot:&#039;&#039;&#039;&lt;br /&gt;
* Es besteht auch die Möglichkeit, die Abhängigkeit einer Ergebnis-Größe (z.B. der Magnetkraft) von zwei Streu-Größen darzustellen.&lt;br /&gt;
* Jedes Exemplar der virtuellen Stichprobe wird ebenfalls durch einen Punkt repräsentiert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_anthillplot_3d.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die X-, Y- und Z-Achsen dieses 3D-Scatter-Plot sind frei belegbar mit den im Workflow definierten Größen.&lt;br /&gt;
* Im obigen Beispiel wurde die Kraft als Funktion des Ankerluftspalts und des Führungsspalts dargestellt.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Virtuelle Stichprobe ===&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_analyse_virtuelle_probe.gif|right]]&lt;br /&gt;
* Für die Simulation einer virtuellen Stichprobe wird das Ersatzmodell genutzt, welches auf Basis der realen Stichprobe gebildet wird. Die Details der Ersatzmodell-Bildung betrachten wir später.&lt;br /&gt;
* Der Umfang einer virtuellen Stichprobe kann sehr groß gewählt werden, da die Ersatzmodelle um Größenordnungen schneller rechnen als die Originalmodelle. &lt;br /&gt;
* Damit können statistischen Aussagen zu den Ersatzfunktionen praktisch mit beliebiger Genauigkeit gewonnen werden. Die statistischen Ergebnisse zu den &#039;&#039;&#039;Verteilungen&#039;&#039;&#039; und &#039;&#039;&#039;Sensitivitäten&#039;&#039;&#039; können über &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Probabilistik&#039;&#039;&#039;&#039;&#039; bzw. &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Sensitivität&#039;&#039;&#039;&#039;&#039; abgerufen werden.&lt;br /&gt;
* Die Anzahl der virtuellen Exemplare wird vorgegeben durch den &amp;quot;Virtuellen Stichprobenumfang&amp;quot; in der Versuchsplanung:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_versuchsplanung_virtuell_sampling.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Der virtuelle Nennwert (=Toleranzmittenwert) und die virtuelle Toleranz können unabhängig vom Toleranzmittenwert und Streubreite der realen Stichprobe gewählt werden. Da uns das Verhalten für die aktuelle Magnetgeometrie interessiert, benutzen wir die gleichen Werte, wie in der realen Stichprobe. &lt;br /&gt;
* Mit dem Ersatzmodell kann man auch eine Optimierung der Streugrößen durchführen, dann müsste man &#039;&#039;Entwurfsparameter=True&#039;&#039; setzen. Wir untersuchen jedoch nur den Einfluss der Streuung bei konstantem virtuellen Nennwert:[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_lokal_sanker.gif|right]] &lt;br /&gt;
** &#039;&#039;&#039;(virtueller) Nennwert:&#039;&#039;&#039; Ist der aktuelle Toleranzmittenwert, der unabhängig vom Nennwert und dem Toleranzmittenabstand des realen Modells geändert werden kann.&lt;br /&gt;
** &#039;&#039;&#039;(virtuelle) Toleranz:&#039;&#039;&#039; Bestimmt die wirksame Streubreite bei der Berechnung der virtuellen Stichprobe.&lt;br /&gt;
* Unabhängig von den Werten der realen Stichprobe kann man mit virtuellen Stichproben die Auswirkungen von Toleranz- und Mittenwert-Änderungen auf das Verhalten analysieren, ohne erneut aufwändige Modellberechnungen durchführen zu müssen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;Der Streubereich der virtuellen Stichprobe sollte den Streubereich der realen Stichprobe nicht verlassen. Da das Ersatzmodell nur für den Streubereich der realen Stichprobe ermittelt wurde, käme das einer (meist unzulässigen) Extrapolation des Modellverhaltens gleich! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Berechnung der virtuellen Stichprobe erfolgt automatisch nach Abschluss der Berechnung der realen Stichprobe oder nach [[Bild:Software_OptiY_-_Button_-_probabilistik_neu.gif|middle]] (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Probabilistik &amp;gt; Neu Berechnen&#039;&#039;&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
==== Verteilungen ====&lt;br /&gt;
&lt;br /&gt;
Die Verläufe der Verteilungsdichten und der Verteilungsfunktionen der Ergebnisgrößen werden auf Basis der virtuellen Stichprobe ermittelt. Dabei wird der betrachtete Streu-Bereich der jeweiligen Ergebnisgröße standardmäßig in 50 Stützstellen unterteilt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_verteilung_sampling.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Die Verteilungstabelle enthält für alle Ergebnisgrößen die Werte der Verteilungsdichte und -funktion für alle Intervalle entsprechend der Zahl der Verteilungspunkte in der Versuchsplanung. Sie dient vor allem für den Datenexport, um diese Daten mit anderen Programmen weiter verarbeiten zu können.&lt;br /&gt;
&lt;br /&gt;
Der Verlauf der Verteilungsdichte ist im Beispiel etwas unstetig. Dafür gibt es zwei Ursachen:&lt;br /&gt;
# Mit steigender Anzahl der Verteilungspunkte (=Intervalle) wird dir Kurve unstetiger. Ändert man im Beispiel die Anzahl auf 100 und berechnet die Probabilistik neu [[Bild:Software_OptiY_-_Button_-_probabilistik_neu.gif|middle]], so ergibt sich der folgende Verlauf:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_verteilungspunkte100_planung.gif|middle]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_verteilungsdichte100_sampling.gif|middle]] &amp;lt;/div&amp;gt;&lt;br /&gt;
# Mit steigendem Umfang der virtuellen Stichprobe wird die vom Ersatzmodell bewirkte Verteilungsdichte exakter berechnet. Verringert man den Umfang der virtuellen Stichprobe temporär um den Faktor 10 auf 10000, so ergibt sich mit 100 Intervallen der folgende Verlauf:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_verteilungsdichte_samplingx10.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sensitivitäten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sensitivität-Chart:&#039;&#039;&#039;&lt;br /&gt;
* Es erscheint zuerst ein leeres Fenster, in das man die gewünschten Ausgangsgrößen (Restriktionen bzw. Gütekriterien) per &#039;&#039;Drag&amp;amp;Drop&#039;&#039; aus dem Explorer hineinziehen kann. Für jede dieser Ausgangsgrößen wird dann ein Pareto-Chart in Bezug auf alle Streuungen generiert:&lt;br /&gt;
* Unter [http://de.wikipedia.org/wiki/Paretodiagramm Pareto-Chart] versteht man ein Balkendiagramm (Histogramm), das anzeigt, in welchem Maße ein bestimmtes Ergebnis (Effekt) durch eine bestimmte Ursache (Streuung) hervorgerufen wurde. Die Balken sind nach der Größe des Effektes geordnet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_sensitivitaet_chart.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Den Pareto-Charts kann man zwei wesentliche Informationen entnehmen:&lt;br /&gt;
# &#039;&#039;&#039;Welche Streu-Größen haben einen vernachlässigbaren Einfluss auf die betrachteten Bewertungsgrößen?&#039;&#039;&#039; &amp;lt;br&amp;gt;Im Beispiel hat der Restluftspalt des Deckels nur einen sehr geringen Einfluss auf die Magnetkraft.&amp;lt;br&amp;gt;Damit könnte man z.B. für die Optimierung die Streuung dieses Luftspalts unberücksichtigt lassen. Das spart Rechenzeit!&lt;br /&gt;
# &#039;&#039;&#039;Existieren merkliche Interaktionen zwischen den Toleranzgrößen?&#039;&#039;&#039; &amp;lt;br&amp;gt;Wenn die aktuellen Ist-Werte der anderen Streuungen den Einfluss der zu betrachtenden Streugröße auf das Verhalten der Bewertungsgrößen merklich verändern, so gibt es Wechselwirkungen zwischen den Streugrößen. &amp;lt;br&amp;gt;In den Pareto-Charts erkennt man das an dem Unterschied zwischen den Werten von &#039;&#039;Total- und Haupteffekt&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
Existieren (wie im Beispiel) keine merklichen Wechselwirkungen zwischen den Streugrößen, so kann man bei Verwendung der im nächsten Abschnitt beschriebenen Momenten-Methode die probabilistische Simulation mit vereinfachten Ansätzen durchführen. Das spart Rechenzeit!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Haupteffekt:&#039;&#039;&#039;&amp;lt;br&amp;gt;Er repräsentiert den Haupteinfluss der betrachteten Streugröße Xi auf die Ausgangsgröße Y. Definiert ist er als Quotient aus der Varianz der durch Xi verursachten Streuung der Ausgangsgröße Var(Y|Xi) und der Varianz der durch alle Streugrößen &#039;&#039;&#039;X&#039;&#039;&#039; verursachten Streuung Var(Y|&#039;&#039;&#039;X&#039;&#039;&#039;)&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &amp;lt;big&amp;gt;SH  = Var(Y|Xi) / Var(Y|&#039;&#039;&#039;X&#039;&#039;&#039;) &amp;lt;/big&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Totaleffekt:&#039;&#039;&#039;&amp;lt;br&amp;gt;Er setzt sich zusammen aus dem Haupteffekt und den Interaktionen zwischen den einzelnen Streugrößen (Xi, Xj)&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &amp;lt;big&amp;gt;ST  = Var(Y|Xi) / Var(Y|&#039;&#039;&#039;X&#039;&#039;&#039;) + Var(Y|Xi,Xj)/Var(Y|&#039;&#039;&#039;X&#039;&#039;&#039;)&amp;lt;/big&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
:In OptiY wird die Interaktion durch paarweise Kombination aller Streugrößen berücksichtigt, da die gleichzeitige Berücksichtigung sämtlicher Streugrößen zu einem nicht beherrschbaren Berechnungsaufwand führt. Jedes Paar (Xi, Xj) wird als ein Glied dieser Summenformel berücksichtigt. Der Wert dieses Gliedes ist jeweils Null, wenn es keine Interaktion innerhalb des Streugrößen-Paares gibt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sensitivität-Tabelle:&#039;&#039;&#039;&lt;br /&gt;
* Diese Tabelle zeigt einen kompletten Überblick über die Werte von Haupt- und Totaleffekt der Streuungen auf alle Ergebnisgrößen.&lt;br /&gt;
* Über den Kopf der Tabelle kann man die Zeilen nach den unterschiedlichsten Kriterien sortieren:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_sensitivitaetentabelle.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Zusätzlich zu den Effekten der Streuungen auf die Ausgangsgrößen wird in der Tabelle auch der Effekt der Interaktionen zwischen den Streugrößen auf die Ausgangsgrößen dargestellt.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Antwortflächen (Response Surface) ===&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_analyse_antwortflaechen.gif|right]]In OptiY finden die probabilistischen Analysen auf Grundlage der approximierten Ersatzmodelle (Übertragungsfunktionen der Ausgangsgrößen) statt. Anhand dieser Übertragungsfunktionen, welche praktisch Flächen im n-Dimensionalen Parameter-Raum darstellen, wird die System-Antwort auf eingespeiste Parameter berechnet. Daraus resultiert die Bezeichnung &#039;&#039;&#039;&#039;&#039;Response Surface Method&#039;&#039;&#039;&#039;&#039; (&#039;&#039;&#039;RSM&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
Neben verschiedenen Darstellungen dieser Übertragungsfunktionen besteht die Möglichkeit, diese Funktionen z.B. als C-Quelltext zu exportieren. Damit wäre es z.B. möglich, eine Reglerdimensionierung mit einem vereinfachten, schnell rechnenden Ersatzmodell vorzunehmen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_residual-diagramm.gif |right]]&lt;br /&gt;
==== Residuum Plot ====&lt;br /&gt;
&lt;br /&gt;
* Eigentlich interessieren den Anwender nicht die Aussagen zur Ersatzfunktion, sondern die Eigenschaften des zu untersuchenden Originals. Die Genauigkeit der statistischen Aussagen in Bezug auf das Originalmodell wird überwiegend durch die Genauigkeit der Approximationsfunktionen bestimmt. &lt;br /&gt;
* Die Residuen der Ausgleichsrechnung für eine vorliegende reale Stichprobe zeigen nur, wie genau die Ausgleichsfläche in die vorhandene &amp;quot;Punktwolke&amp;quot; berechneten realen Exemplare passt (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Antwortflächen &amp;gt; Residuum‑Plot&#039;&#039;&#039;&#039;&#039; mit &#039;&#039;Drag&amp;amp;Drop&#039;&#039; von Kriterium/Restriktion). &lt;br /&gt;
* Residuen sind absolute Differenzen zwischen den &amp;quot;echten&amp;quot; Modellberechnungen und den aus dem Ersatzmodell berechneten Punkten. Im Diagramm kann man den Betrag der maximalen Differenz erkennen. Die Residuen geben damit die Qualität der Approximation an die berechnete Punktwolke wieder. Bei einem Mittelwert der Magnetkraft von 6.3&amp;amp;nbsp;N sind im Beispiel Abweichungen von max. ca. 0.02&amp;amp;nbsp;N wahrscheinlich vernachlässigbar! &lt;br /&gt;
* Informationen zur Genauigkeit bzw. Sinnfälligkeit der Ausgleichsfläche in den Zwischenräumen der Punktwolke sind damit nicht zu gewinnen.&lt;br /&gt;
&lt;br /&gt;
==== Schnittdiagramm ====&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_schnittdiagramm_nennwerte.gif|right]] &lt;br /&gt;
* In einem Schnittdiagramm kann man für die ausgewählten Ergebnisgrößen (im Beispiel die Kraft) den Einfluss ausgewählter Streugrößen (hier der Luftspalte) analysieren.&lt;br /&gt;
* Betrachtet man die Abhängigkeit der Magnetkraft &#039;&#039;&#039;&#039;&#039;F(sAnker_)&#039;&#039;&#039;&#039;&#039;, so gilt die eingezeichnete Kurve nur für die aktuellen Werte aller anderen Streugrößen (roter Strich).&lt;br /&gt;
* Ändert man im OptiY-Explorer z.B. den aktuellen Wert des Deckelspalts auf 30&amp;amp;nbsp;µm, so ändern sich die Kurvenverläufe in den anderen Schnittdiagrammen zu kleineren Kraftwerten:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_schnitt-istwert.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_schnittdiagramm_istwert.gif| ]]&amp;lt;/div&amp;gt; &lt;br /&gt;
* [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kontextmenue_schnittdiagramm.gif|right]]Das Kontext-Menü des Schnittdiagramms (Rechtsklick auf ein Schnittdiagramm) bietet zahlreiche Möglichkeiten zur Arbeit mit diesen approximierten Ersatzfunktionen:&lt;br /&gt;
** Damit man nicht den Überblick verliert, welche Istwerte aktuell für alle Streugrößen eingestellt sind, kann man diese z.B. in einer Tabelle als &#039;&#039;&#039;&#039;&#039;Parameter anzeigen&#039;&#039;&#039;&#039;&#039; lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_parameter_anzeigen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
** Sinnvoll ist auch das &#039;&#039;&#039;&#039;&#039;Parameter zurücksetzen&#039;&#039;&#039;&#039;&#039; auf ihre ursprünglichen Werte.&lt;br /&gt;
** Für die aktuellen Werte kann man eine &#039;&#039;&#039;&#039;&#039;Simulation durchführen&#039;&#039;&#039;&#039;&#039; mit dem &amp;quot;echten&amp;quot; Workflow-Modell.&lt;br /&gt;
&lt;br /&gt;
==== Neu Berechnen ====&lt;br /&gt;
&lt;br /&gt;
Falls man nicht sicher ist, ob der für die Ergebnisgrößen gewählte Funktionsansatz bzw. die Ordnung der Approximation hinreichend sind, kann man z.B. eine höhere Polynom-Ordnung wählen und die Antwortfläche neu berechnen [[Bild:Software_OptiY_-_Button_-_response_surface_neu.gif|middle]]:&lt;br /&gt;
* Dabei wird ohne erneute Modell-Berechnung wieder die echte Stichprobe benutzt.&lt;br /&gt;
* Im Beispiel verbessert für die Magnetkraft &#039;&#039;&#039;F&#039;&#039;&#039; eine &#039;&#039;&#039;Erhöhung der Polynom-Ordnung von 2 auf 3&#039;&#039;&#039; die Anpassung der Ersatzfunktion, was man auch an kleineren Werten im &#039;&#039;Residuum Plot&#039;&#039; erkennt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_schnittdiagramm_polynom_3.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Nachträglich muss man dann die Neuberechnung [[Bild:Software_OptiY_-_Button_-_probabilistik_neu.gif|middle]] der virtuellen Stichprobe veranlassen. Erst danach werden die Verteilungen und Sensitivitäten in den Probabilistik-Diagrammen aktualisiert!&lt;br /&gt;
&lt;br /&gt;
==== 3D-Antwortfläche ====&lt;br /&gt;
&lt;br /&gt;
* Hier handelt es sich praktisch auch um ein Schnitt-Diagramm. Allerdings wird die ausgewählte Ergebnisgröße hier in Abhängigkeit von 2 Streugrößen dargestellt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_3d_antwortflaeche.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die dargestellte Übertragungsfunktion ist nur gültig für die aktuellen Werte aller Streu-Größen. Ändert man die aktuellen Werte, so wird die 3D-Antwortfläche aktualisiert. Verringert man z.B. den aktuellen Wert des Luftspalts &#039;&#039;&#039;sDeckel_&#039;&#039;&#039; von &#039;&#039;&#039;20&amp;amp;nbsp;µm&#039;&#039;&#039; auf &#039;&#039;&#039;10&amp;amp;nbsp;µm&#039;&#039;&#039;, so entsteht insgesamt eine etwas höhere Magnetkraft:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_3d_antwortflaeche_neu.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Koeffizienten der Ersatzfunktionen ====&lt;br /&gt;
&lt;br /&gt;
* Für jede Ergebnisgröße wird eine individuelle Ersatzfunktion approximiert (z.B. Polynom), welche die Abhängigkeit von allen Streugrößen beschreibt. Auf die Koeffizienten jeder dieser Ersatzfunktionen kann man zugreifen (&#039;&#039;&#039;&#039;&#039;Koeffizient-Chart&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Koeffizient-Tabelle&#039;&#039;&#039;&#039;&#039;). Damit könnte man sich bei Bedarf das approximierte Ersatzmodell in einer anderen Umgebung aufbauen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_koeffizienten_RSM.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Koeffizient-Tabelle kann man, wie jede andere Tabelle auch, bei Bedarf z.B. als Excel-Tabelle exportieren (&#039;&#039;&#039;&#039;&#039;Datei &amp;gt; Daten&amp;amp;nbsp;Export&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
* Im Beispiel erkennt man die unterschiedliche Polynom-Ordnung für die Ergebnisgrößen &#039;&#039;&#039;F&#039;&#039;&#039; und &#039;&#039;&#039;Psi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Modell-Export ====&lt;br /&gt;
&lt;br /&gt;
Einfacher als mit dem Daten-Export der Koeffizienten-Tabelle erhält man durch &#039;&#039;&#039;&#039;&#039;Modell-Export&#039;&#039;&#039;&#039;&#039; sofort einen C-, Modelica- oder Matlab-Quelltext des approximierten Ersatzmodells.&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Der Vorteil der Sampling-Methode besteht darin, dass mit hinreichend großem Stichprobenumfang beliebige nichtlineare Zusammenhänge zwischen den Streu- und Ergebnisgrößen statistisch erfasst werden können. Von Nachteil ist, dass ein &amp;quot;hinreichend&amp;quot; großer Stichprobenumfang eine sehr große Anzahl vom Exemplaren umfasst (&amp;gt;&amp;gt;1000). Diesen Nachteil kann man durch die &#039;&#039;Response Surface Methode&#039;&#039; mildern:&lt;br /&gt;
* Im OptiY können z.B. [http://de.wikipedia.org/wiki/Polynom Polynome] beliebiger Ordnung als Approximationsfunktion für jede Ergebnisgröße verwendet werden:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &amp;lt;math&amp;gt;P(x) = \sum_{i=0}^n a_ix^i = a_nx^n + a_{n-1}x^{n-1} + \cdots + a_2x^2 + a_1x + a_0&amp;lt;/math&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
* Durch Anwendung der [http://de.wikipedia.org/wiki/Methode_der_kleinsten_Fehlerquadrate Methode der kleinsten Fehlerquadrate] werden die Parameter der Polynome so bestimmt, dass die Approximationsfunktionen möglichst gut in die Punktwolke der &amp;quot;gesampelten&amp;quot; Stichprobe passen.&lt;br /&gt;
* Die minimal erforderliche Anzahl der &amp;quot;echten&amp;quot; Modellberechnungen &#039;&#039;&#039;M&#039;&#039;&#039; (=Stichprobengröße) für die Bildung der Ersatzfunktionen ergibt sich aus der Anzahl &#039;&#039;&#039;n&#039;&#039;&#039; der stochastischen Variablen und der gewählten Ordnung &#039;&#039;&#039;O&#039;&#039;&#039; der Polynom-Funktion zu &#039;&#039;&#039;M=(n²-n)/2+O*n+1&#039;&#039;&#039;.&amp;lt;br&amp;gt;Im Beispiel ist M=10 bei n=3 und O=2, was auch mit umfangreichen Modellen noch akzeptable Rechenzeiten ergeben kann.&lt;br /&gt;
* Die minimale Stichprobengröße führt jedoch auf Grund der geringen Stützstellendichte nur dann zu einer hinreichend genauen Ersatzfunktion zwischen den Stützstellen, wenn mit dem gewählten Funktionsansatz überhaupt eine sinnvolle Nachbildung des Modellverhaltens möglich ist. &lt;br /&gt;
* Die eigentliche statistische Analyse wird mit einer virtuellen Stichprobe sehr großen Umfangs auf Basis des zuvor approximierten Ersatzmodells durchgeführt. Die erreichbare Genauigkeit ist demzufolge nur noch von der Genauigkeit des Ersatzmodelles abhängig!&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Momenten-Methode|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit&amp;diff=15340</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Probabilistik - Modell-Robustheit</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit&amp;diff=15340"/>
		<updated>2014-05-26T13:07:17Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos und Schreibweise korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Konfiguration|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Monte-Carlo|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Probabilistische Simulation - Numerische Stabilität des Modells&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unser FEM-Modell des Magneten funktioniert stabil nur in einem bestimmten Parameterbereich:&lt;br /&gt;
* Es dürfen sich keine negativen Bereichsabmessungen (Luftspalte, Luft- bzw. Eisenbereiche) ergeben, sonst existiert keine Lösung.&lt;br /&gt;
* Sehr kleine Luftspalte führen im Beispiel zu sehr großen Netzen mit mehreren Millionen Elementen. Eine Berechnung im Rahmen einer Stichproben-Simulation ist aus Zeitgründen praktisch nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Man kann für die Streuungen die Verteilungsfunktion mit Bereichsgrenzen festlegen: &lt;br /&gt;
* Leider besitzt aber z.B. eine Normalverteilung keine echten Grenzen, sondern es gibt immer Ausreißer. Diese werden vom OptiY bei der probabilistischen Simulation ebenfalls berücksichtigt.&lt;br /&gt;
* Man muss davon ausgehen, dass es bei der Nutzung eines Modells innerhalb eines Tools wie OptiY immer zu &amp;quot;unzulässigen&amp;quot; Parameter-Kombinationen kommen kann.&lt;br /&gt;
* Die Kunst besteht darin, innerhalb der Modelle solche unzulässigen Parameter-Kombinationen so zu behandeln, dass für die berechneten Ergebnisgrößen im Sinne einer Funktionsbewertung sinnvolle Werte entstehen.&lt;br /&gt;
&lt;br /&gt;
Unter dem Aspekt unzulässiger Parameter müssen wir unser Modell im Folgenden untersuchen und die erforderliche numerische Stabilität realisieren. Wir beschränken uns dabei auf die Parameter, welche zurzeit vom OptiY in den aktuellen Experimenten verändert werden können. Die Fehlerbehandlung fügen wir unmittelbar nach dem Einlesen der Parameter aus dem Input-File in das Lua-Script ein:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Unzulässige Eingabe-Parameter von OptiY begrenzen                         --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    if 1*sAnker  &amp;lt; 0.03  then sAnker=0.03;  end;&lt;br /&gt;
    if 1*sAnker  &amp;gt; 5     then sAnker=5;     end;&lt;br /&gt;
    if 1*sGleit  &amp;lt; 0.05  then sGleit=0.05;  end;&lt;br /&gt;
    if 1*sGleit  &amp;gt; 1     then sGleit=1;     end;&lt;br /&gt;
    if 1*sDeckel &amp;lt; 0.01  then sDeckel=0.01; end;&lt;br /&gt;
    if 1*sDeckel &amp;gt; 1     then sDeckel=1;    end;&lt;br /&gt;
    if 1*iSpule &amp;lt;= 1E-10 then iSpule=1E-10; end; -- damit R und L berechenbar!&lt;br /&gt;
Dazu einige Erläuterungen:&lt;br /&gt;
* Die zu testenden Parameter mussten mit dem Faktor 1 multipliziert werden, da es ansonsten zu einer Fehlermeldung kam. Wahrscheinlich entsteht erst nach Ausführen der Rechenoperation der Variablen-Typ &amp;quot;number&amp;quot;, der in einer Vergleichsoperation benutzt werden kann.&lt;br /&gt;
* Der Ankerluftspalt musste auf 30&amp;amp;nbsp;µm begrenzt werden, obwohl wir im vorherigen Experiment die Kennfelder bis zu einem Wert von 10&amp;amp;nbsp;µm berechnen konnten.&amp;lt;br&amp;gt;Leider kommt es in Kombination mit der Änderung der anderen Luftspalte jedoch zu einem eigenartigen Effekt. Die Kugelsphäre wird mit extrem kleinen Elementen vernetzt. Wahrscheinlich kann FEMM durch Rundungsfehler die Blocklabel nicht mehr exakt in der Mitte schmaler Bereich platzieren. Sie rutschen damit unter Umständen z.B. in die Kugelsphäre und führten damit zu riesigen Netzen.&lt;br /&gt;
* Es wurde vorsichtshalber eine obere Begrenzung für die Luftspalte eingeführt, damit in jedem Fall eine gültige Geometrie erhalten bleibt.&lt;br /&gt;
* Der Spulenstrom wurde auf einen extrem kleinen Wert größer Null begrenzt, damit die Werte des Widerstands und der Induktivität berechnet werden können. Wie wir bei der Raster-Suche gesehen haben, führt eine Division durch Null im Parameter der print-Funktion jedoch nicht zum abnormalen Ende der Lua-Scriptabarbeitung!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Bei der Fehlerbehandlung sollte man sich auf das aktuell Notwendige beschränken. Nur offensichtliche und leicht zu behebende Probleme (z.B. Divisionen durch Null, unzulässige negative Zahlen) sollte man zusätzlich zum aktuell Notwendigen behandeln:&lt;br /&gt;
* Fehlerbehandlung kostet Zeit und damit Geld und&lt;br /&gt;
* führt mit großer Wahrscheinlichkeit zu neuen Fehlern!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Konfiguration|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Monte-Carlo|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Konfiguration&amp;diff=15339</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Probabilistik - Konfiguration</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Konfiguration&amp;diff=15339"/>
		<updated>2014-05-26T13:05:56Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirkung_kleiner_Luftspalte|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Probabilistische Simulation - Experimentkonfiguration&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nennwert-Simulation:&#039;&#039;&#039;&amp;lt;br&amp;gt;Modelle, mit denen der Konstrukteur heutzutage arbeitet, benutzen fast ausschließlich konkrete Werte als Parameter. Die berechneten Simulationsergebnisse entsprechen demzufolge einem Ist-Zustand des modellierten Objektes. Man spricht auch von einer Nennwert-Simulation.&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;konkreten&amp;quot; Werte für die Modellparameter können dabei unterschiedlichster Natur sein (ganze Zahlen,  reelle Zahlen, komplexe Zahlen, Vektoren, Matrizen, Funktionsverläufe). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probabilistische Simulation:&#039;&#039;&#039;&amp;lt;br&amp;gt;Leider sind alle physikalisch-technischen Größen, welche durch die Modellparameter repräsentiert werden, in der Realität mit Streuungen behaftet. Ihre Werte streuen bedingt durch die Fertigung und die Betriebsbedingungen von Exemplar zu Exemplar, aber auch bei mehrmaliger Nutzung eines Exemplars des modellierten Objektes.&lt;br /&gt;
&lt;br /&gt;
Auch gibt es Unsicherheiten in Hinblick auf die Simulationsergebnisse durch die Idealisierung bei der Modellbildung und numerische Ungenauigkeiten bei der Modellberechnung.&lt;br /&gt;
&lt;br /&gt;
Die probabilistische Simulation bietet die Möglichkeit, diese Streuungen physikalisch-technischer Größen und des Objektverhaltens in Form von Verteilungsdichtefunktionen zu berücksichtigen. Die Simulation erfolgt nicht mehr mit &amp;quot;konkreten&amp;quot; Werten, sondern berücksichtigt die Streuung der Werte. Wir betrachten damit nicht nur ein konkretes Exemplar des modellierten Objekts unter konkreten Betriebsbedingungen. &lt;br /&gt;
&lt;br /&gt;
Es wird praktisch eine Stichprobe von allen möglichen Exemplaren und von allen möglichen Betriebsbedingungen simuliert. Die Ergebnisse dieser Simulation erlauben auf Basis der statistischen Versuchsplanung Aussagen zu statistischen Eigenschaften des modellierten Objekts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiment-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
OptiY bietet die Möglichkeit, innerhalb eines Projektes mehrere Experimente zu verwalten. Ein vorhandenes Experiment mit seiner aktuellen Konfiguration kann man nach Anwahl im OptiY-Explorer mittels der rechten Maustaste einfach Duplizieren:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_exp_duplizieren.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Nach dem &#039;&#039;&#039;&#039;&#039;Duplizieren&#039;&#039;&#039;&#039;&#039; des Experiments erscheint im OptiY-Explorer die Kopie als &#039;&#039;&#039;&#039;&#039;Experiment2&#039;&#039;&#039;&#039;&#039;.[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_exp_umbenannt.gif|right ]]&lt;br /&gt;
* Dieses weitere Experiment besitzt am Anfang die gleiche Konfiguration wie das Original. Nur die Anzeigefenster muss man neu definieren.&lt;br /&gt;
* Verwaltet man mehrere Experimente in einem Projekt, so sollte man mittels &#039;&#039;&#039;&#039;&#039;Umbenennen&#039;&#039;&#039;&#039;&#039; dafür sinnvolle Namen vergeben:&lt;br /&gt;
** Das bisherige Experiment könnte man z.B. &#039;&#039;&#039;&#039;&#039;Kennfeld-Berechnung&#039;&#039;&#039;&#039;&#039; nennen.&lt;br /&gt;
** Das neue Experiment soll mittels Monte-Carlo-Methode die Streuung simulieren: &#039;&#039;&#039;&#039;&#039;Monte&amp;amp;nbsp;Carlo&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Für jedes Experiment wird von OptiY ein separater Workflow verwaltet, so dass darin unabhängig voneinander Änderungen vorgenommen werden können.&lt;br /&gt;
* Die Befehle des Projekt-Menüs (&#039;&#039;&#039;Start / Stopp / Weiter / Rücksetzen&#039;&#039;&#039;) wirken nur auf das &#039;&#039;&#039;Startup-Experiment&#039;&#039;&#039;. Deshalb sollte man das aktuell zu bearbeitende Experiment als Startup-Experiment auswählen, damit man nicht aus Versehen z.B. durch Rücksetzen die Ergebnisse eines anderen Experiments zurücksetzt.   &lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Beachte:&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* Die &#039;&#039;OptiY Trial Edition&#039;&#039; ist beschränkt auf die Verwendung von jeweils 3 Nennwerten und Streuungen.&lt;br /&gt;
* Um Platz zu schaffen für die 3 Nennwerte der Luftspalt-Größen, löschen wir im Workflow des Monte-Carlo-Experiments den Nennwert &#039;&#039;&#039;i&#039;&#039;&#039; des Stroms.&lt;br /&gt;
Wir ergänzen im Workflow die Streugrößen für die drei Luftspalte (&#039;&#039;&#039;&#039;&#039;Einfügen &amp;gt; Entwurfsparameter &amp;gt; Streuungen&#039;&#039;&#039;&#039;&#039;) und vergeben dafür eindeutige Namen und sinnvolle Kommentare. Bei der Wahl der Namen müssen Syntax-Anforderungen von Programmiersprachen (z.B. &#039;&#039;C&#039;&#039; und &#039;&#039;Modelica&#039;&#039;) berücksichtigt werden:&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;sAnker_&#039;&#039;&#039;&#039;&#039; = Streuung Anker-Restspalt&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;sGleit_&#039;&#039;&#039;&#039;&#039; = Streuung Gleitspalt&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;sDeckel_&#039;&#039;&#039;&#039;&#039; = Streuung Deckelspalt&lt;br /&gt;
Für &#039;&#039;&#039;&#039;&#039;sAnker&#039;&#039;&#039;&#039;&#039; wurde bereit der Nennwert &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; definiert. Wir ergänzen die zwei zusätzlichen Luftspalte:&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;sGleit&#039;&#039;&#039;&#039;&#039; = Nennwert Gleitspalt&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;sDeckel&#039;&#039;&#039;&#039;&#039; = Nennwert Deckelspalt&lt;br /&gt;
Die Zuordnung der Streuungen zum Input-File &#039;&#039;&#039;&#039;&#039;Eingabe.txt&#039;&#039;&#039;&#039;&#039; erfolgt analog zu den Nennwerten:&lt;br /&gt;
* Doppelklick auf das Symbol des Input-Files öffnet den Verbindungsdialog:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_fuer_input.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_verbinden.gif|right]]In der &#039;&#039;&#039;Input&amp;amp;nbsp;File&#039;&#039;&#039; - Registerkarte wählt man die jeweilige Input-Variable, markiert im ASCII-File den zugehörigen Zahlenwert und veranlasst über die rechte Maustaste &#039;&#039;&#039;&#039;&#039;Variable einfügen&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Bereits einem Nennwert zugeordnete Eingabe-Werte muss man zusätzlich der zugehörigen Streugröße zuordnen, wie dies am Beispiel des Arbeitsluftspalts &#039;&#039;&#039;&#039;&#039;sAnker&#039;&#039;&#039;&#039;&#039; deutlich wird. Damit &amp;quot;erkennt&amp;quot; OptiY, dass Nennwert und Streuung zusammengehören.&lt;br /&gt;
* Die Verbindungen im Workflow werden auch gezeichnet, wenn man die Zuordnungen im &#039;&#039;Input File&#039;&#039; mittels &#039;&#039;&#039;&#039;&#039;Variable einfügen&#039;&#039;&#039;&#039;&#039; nicht korrekt durchgeführt hat. Deshalb sollte man die Zuordnung aller Input-Variablen in dieser Registerkarte sorgfältig überprüfen! &lt;br /&gt;
Die Streu-Breiten beziehen sich immer auf die zugehörigen Nennwerte (=Toleranzmittenwerte), welche für die zu untersuchende Lösung einen aktuellen Wert besitzen: &lt;br /&gt;
* sAnker = 50 µm ±20 µm&lt;br /&gt;
* sDeckel = 20 µm ±10 µm&lt;br /&gt;
* sGleit = 80 µm ±20 µm&lt;br /&gt;
Im Beispiel weichen diese Nennwerte von den ursprünglichen Werten des Input-Files ab:&lt;br /&gt;
* Da sich die Nennwerte der streuenden Parameter während dieser Untersuchung nicht ändern sollen, wird ihr &#039;&#039;&#039;&#039;&#039;Typ=Konstante&#039;&#039;&#039;&#039;&#039; gesetzt.&lt;br /&gt;
* Wir setzen die Nennwerte &#039;&#039;&#039;&#039;&#039;s=50&amp;amp;nbsp;µm&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;sDeckel=20&amp;amp;nbsp;µm&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;sGleit=80&amp;amp;nbsp;µm&#039;&#039;&#039;&#039;&#039;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_nennwert_sanker.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_nennwert_sdeckel.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_nennwert_sgleit.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Nach dem Einstellen der erforderlichen Nennwerte konfigurieren wir die zugehörigen Streuungen:&lt;br /&gt;
* Auch hier achten wir auf die korrekten Einheiten und auf sinnvolle Kommentare.&lt;br /&gt;
* Da sich die Toleranzen (=Streubreiten) der Luftspalte während dieser Untersuchung nicht ändern sollen, wird hier ebenfalls &#039;&#039;&#039;&#039;&#039;Typ=Konstante&#039;&#039;&#039;&#039;&#039; gesetzt.&lt;br /&gt;
* Wir nehmen als Form die [http://de.wikipedia.org/wiki/Normalverteilung Normalverteilung] für alle drei Streu-Größen an. &lt;br /&gt;
* Der Wert &#039;&#039;&#039;&#039;&#039;T&#039;&#039;&#039;&#039;&#039; von &#039;&#039;&#039;&#039;&#039;Toleranz&#039;&#039;&#039;&#039;&#039; beschreibt die Breite des Variationsbereiches um den &#039;&#039;&#039;&#039;&#039;aktuellen Wert&#039;&#039;&#039;&#039;&#039;, der standardmäßig dem zugehörigen Nennwert &#039;&#039;&#039;&#039;&#039;N&#039;&#039;&#039;&#039;&#039; entspricht: &#039;&#039;&#039;&#039;&#039;(N-T/2)&#039;&#039;&#039;&#039;&#039; bis &#039;&#039;&#039;&#039;&#039;(N+T/2)&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Für die Normalverteilung ergibt sich &#039;&#039;&#039;&#039;&#039;T&#039;&#039;&#039;&#039;&#039; aus der Standardabweichung &#039;&#039;&#039;&#039;&#039;σ&#039;&#039;&#039;&#039;&#039; (&#039;&#039;&#039;&#039;&#039;T&amp;amp;nbsp;=&amp;amp;nbsp;6&amp;amp;nbsp;·&amp;amp;nbsp;σ&#039;&#039;&#039;&#039;&#039;). &lt;br /&gt;
* Für die Normalverteilung umfasst die Toleranzbreite &#039;&#039;&#039;&#039;&#039;T&#039;&#039;&#039;&#039;&#039; 99,73 % aller &amp;quot;Messwerte&amp;quot; einer Stichprobe:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_sanker.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_sdeckel.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_sgleit.gif| ]] &amp;lt;/div&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_streuung_mit_versuchsplanung.gif|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;Nennwert&amp;quot; einer Streuung&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
: Der Begriff &#039;&#039;Nennwert&#039;&#039; als Parameter der Streuung ist ungünstig gewählt. In der OptiY-Hilfe steht dazu:&lt;br /&gt;
:: &amp;quot;Das ist der Nennwert der Streuung. Wenn noch ein Nennwert des Experiments zusammen mit dieser Streuung demselben Modellparameter zugeordnet wird, ist der gesamte Nennwert für den Modellparameter die Summe aus den beiden Nennwerten.&amp;quot;&lt;br /&gt;
: Es handelt sich hier also um den &#039;&#039;Toleranzmittenabstand&#039;&#039; als algebraische Differenz zwischen dem &#039;&#039;Toleranzmittenwer&#039;&#039;t und dem &#039;&#039;Nennwert&#039;&#039;.&lt;br /&gt;
: Da unsere Streuung symmetrisch zum eigentlichen Nennmaß liegt, müssen wir diesen &#039;&#039;&#039;Toleranzmittenabstand=0&#039;&#039;&#039; setzen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Werte des virtuellen Entwurfs:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Auf Basis der laut Versuchsplanung durchgeführten Modellberechnungen wird im OptiY immer ein Ersatzmodell in Form mathematischer Funktionen gewonnen.&lt;br /&gt;
* Auf Grundlage dieses Ersatzmodells können ohne erneute Modelldurchrechnungen Analysen und Optimierungen durchgeführt werden (&#039;&#039;virtueller Entwurf&#039;&#039;).&lt;br /&gt;
* &#039;&#039;&#039;Entwurfsparameter=False&#039;&#039;&#039; bedeutet, dass beim &amp;quot;virtuellen Entwurf&amp;quot; die Toleranzbreite und Nennwert einer Streugröße als gegeben angenommen werden. Der Nennwert dieser Streuung wird bei einer &amp;quot;virtuellen Optimierung&amp;quot; also nicht verändert.&lt;br /&gt;
* &#039;&#039;&#039;Nennwert&#039;&#039;&#039; beschreibt den aktuellen Arbeitspunkt auf dem Ersatzmodell. Wir benutzen vorläufig den &amp;quot;echten&amp;quot; Toleranzmittenwert.&lt;br /&gt;
* &#039;&#039;&#039;Toleranz&#039;&#039;&#039; beschreibt die Toleranzbreite für die Simulation einer virtuellen Stichprobe. Wir benutzen dafür den &amp;quot;echten&amp;quot; Toleranzwert. Damit sollten die Eigenschaften der virtuellen Stichprobe denen einer realen Stichprobe mit dem &amp;quot;echten&amp;quot; Modell entsprechen.&lt;br /&gt;
* Die Bedeutung dieser Werte wird später bei der Durchführung der Analyse-Experimente noch erläutert.   &lt;br /&gt;
&lt;br /&gt;
Wenn man Streuungen als Entwurfsparameter im Experiment verwendet, so ist das ein Kennzeichen dafür, dass man das Niveau der Nennwert-Simulation verlässt. Im Rahmen der statistischen Versuchsplanung muss man nun spezifizieren, mit welchen Methoden man das Verhalten einer Stichprobe nachbilden möchte. Probabilistische Simulation kann nach verschiedenen Verfahren durchgeführt werden: &lt;br /&gt;
# Streuung der Eingangsgrößen durch Generierung von Zufallszahlen. &lt;br /&gt;
# Ermittlung von Übertragungsfunktionen zwischen den streuenden Inputgrößen und den Outputgrößen. Analytische Berechnung der Output-Streuung anhand der Eingangsstreuungen und der ermittelten Übertragungsfunktionen. &lt;br /&gt;
&lt;br /&gt;
Die Anwendung dieser beiden grundlegenden Verfahren der probabilistischen Simulation wird in den folgenden Abschnitten am Beispiel des E-Magneten behandelt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirkung_kleiner_Luftspalte|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Probabilistik_-_Modell-Robustheit|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_-_Parallelisierung&amp;diff=15338</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kennfelder - Parallelisierung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_-_Parallelisierung&amp;diff=15338"/>
		<updated>2014-05-26T13:04:06Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos und Schreibweise korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_mit_OptiY-Rastersuche|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirkung_kleiner_Luftspalte|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kennfeldberechnung mit parallelisierter Rastersuche&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bisher haben wir für die Durchführung der Rastersuche den &#039;&#039;&#039;seriellen Prozess&#039;&#039;&#039; gewählt:&lt;br /&gt;
* Die nächste Modellberechnung für die Rastersuche wird erst gestartet, wenn die vorherige Modellberechnung beendet ist.&lt;br /&gt;
* Damit kann es zu keinen Ressourcenkonflikten zwischen den einzelnen Modellberechnungen kommen. Deshalb sind auch keine besonderen Maßnahmen zur Vermeidung solcher Konflikte erforderlich. Alle Dateien, welche während einer Modellberechnung nötig sind, können im aktuellen Arbeitsverzeichnis des Experiments verwaltet werden.&lt;br /&gt;
&lt;br /&gt;
Bei der Rastersuche können alle Stützstellen völlig unabhängig voneinander berechnet werden. Deshalb kann nach Wahl von &#039;&#039;&#039;paralleler Prozess&#039;&#039;&#039; der gleichzeitige Start aller erforderlichen Modellberechnungen erfolgen. Dazu sind zuvor jedoch Maßnahmen zur Vermeidung von Ressourcenkonflikten zwischen den Modellberechnungen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird eine Lösung für die Parallelisierung der FEMM-Aufrufe im OptiY-Workflow entwickelt, welche auch für den seriellen Prozess funktioniert. Es wird dabei auf die Vermeidung von absoluten Pfadangaben geachtet, damit die Modelle und Prozesse portierbar bleiben. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Individuelle Script-Ordner pro Modell-Aufruf:&#039;&#039;&#039;[[Datei:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_Ordnerstruktur_parallel.gif|right]]&lt;br /&gt;
* Für jeden einzelnen Script-Aufruf innerhalb des parallelen Prozesses wird vom OptiY im aktuellen Script-Arbeitsverzeichnis ein individueller Script-Ordner angelegt (Ordner-Name = Script-Name + Nummer).&lt;br /&gt;
* In jedem dieser Ordner wird die Input-Datei mit den zum Aufruf gehörenden Modell-Parametern gespeichert.&lt;br /&gt;
* Eine Kopie des Scriptes (hier .BAT) wird ebenfalls in jedem Ordner gespeichert und aufgerufen.&lt;br /&gt;
* Nach Ausführen dieses Scriptes erwartet OptiY die Output-Datei mit den Berechnungsergebnissen im zugehörigen Ordner.&lt;br /&gt;
* Die Ordnerstruktur für eine 4x4-Rastersuche (16 Schritte) wird im nebenstehenden Bild gezeigt. &lt;br /&gt;
* Für den Ordner &amp;quot;0&amp;quot; sind beispielhaft die enthaltenen Dateien angedeutet.&lt;br /&gt;
* &amp;quot;OptiScript4&amp;quot; enthält die Befehle des BAT-Files.&lt;br /&gt;
* Nach erfolgreicher Abarbeitung aller parallel gestarteten Script-Aufrufe werden die generierten Ordner vom OptiY wieder gelöscht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Zuordnung des Lua-Scripts zu den Modell-Aufrufen&#039;&#039;&#039;&lt;br /&gt;
* Das Modell in Form des Lua-Scripts existiert in einem Exemplar nur im Script-Arbeitsverzeichnis. Es wird vom OptiY keine Kopie in den generierten Unterordnern erzeugt.&lt;br /&gt;
* &#039;&#039;&#039;Die serielle Abarbeitung&#039;&#039;&#039; ist relativ einfach, weil man die Lua-Datei aus dem aktuellen Ordner des BAT-Scriptes ohne Angabe eines Pfad-Namens verwenden kann:&lt;br /&gt;
 cd /D %~dp0&lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA&lt;br /&gt;
* &#039;&#039;&#039;Die parallele Abarbeitung&#039;&#039;&#039; muss die Lua-Datei aus dem übergeordneten Ordner des BAT-Scriptes benutzen. Für jedes BAT-Script wird ja ein individueller Unterordner generiert, der damit zum aktuellen Ordner wird: &lt;br /&gt;
 cd /D %~dp0&lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA&lt;br /&gt;
* &#039;&#039;&#039;Wahlfreie serielle oder parallele Abarbeitung&#039;&#039;&#039; eines Scripts kann man nur durch Testen und Umschalten der Aufruf-Methode gewährleisten:&lt;br /&gt;
 :: Ordner des Batch-Skripts wird zum aktuellen Ordner:&lt;br /&gt;
 cd /D %~dp0&lt;br /&gt;
 :: Test, ob Lua-Datei im aktuellen Ordner existiert:&lt;br /&gt;
 if exist Magnet_xx.LUA goto seriell&lt;br /&gt;
 :parallel&lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA&lt;br /&gt;
 goto Ende&lt;br /&gt;
 :seriell &lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA&lt;br /&gt;
 :Ende&lt;br /&gt;
* Die Möglichkeit der wahlfreien seriellen oder parallelen Abarbeitung sollte man anstreben. Dabei wird man zum Testen des Prozesses immer mit der Realisierung des seriellen Modellaufrufes beginnen. Die erforderlichen Anpassungen an den parallelen Prozess erfolgen dann abschließend.&lt;br /&gt;
&#039;&#039;&#039;3. Zuordnung der Input-/Outputdateien zum Lua-Script&#039;&#039;&#039;&lt;br /&gt;
* Das Lua-Script benutzt für seine Daten immer den aktuellen Script-Ordner (gewährleistet durch cd-Befehl im BAT-Script).&lt;br /&gt;
* Damit kann im Lua-Script die Angabe eines Absolutpfades entfallen. Die entsprechende &#039;&#039;&#039;mydir&#039;&#039;&#039;-Zuweisung wird dafür durch eine Zeichenkette der Länge 0 ersetzt: &lt;br /&gt;
 mydir=&amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&lt;br /&gt;
* Die Anzahl der gleichzeitig möglichen FEMM-Aufrufe wird überwiegend durch das verwendete Betriebssystem bestimmt.&lt;br /&gt;
* Unter Windows 7/8 - 64 Bit funktioniert noch eine Rastersuche mit 81 Schritten (9x9).&lt;br /&gt;
* Unter Windows XP - 32 Bit kann man nur das Prinzip der parallelisierten Rastersuche mit 16 Schritten (4x4) testen.&lt;br /&gt;
* Erfahrungen mit Windows 7/8 - 32 Bit liegen noch nicht vor.&lt;br /&gt;
* Ein Überschreiten der möglichen Anzahl führt zu Fehlermeldungen und Abstürzen der &amp;quot;überzähligen&amp;quot; FEMM-Aufrufe, welche man manuell quittieren muss.&lt;br /&gt;
* Geschickt eingesetzt führt die Prozess-Parallelisierung zu eine enormen Steigerung der Berechnungsgeschwindigkeit.&lt;br /&gt;
* Die Grenzen der Parallelisierung unter Windows überwindet man durch Verlagerung der Modellaufrufe in eine Netzwerk-Umgebung. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_mit_OptiY-Rastersuche|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirkung_kleiner_Luftspalte|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_mit_OptiY-Rastersuche&amp;diff=15337</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kennfelder mit OptiY-Rastersuche</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_mit_OptiY-Rastersuche&amp;diff=15337"/>
		<updated>2014-05-26T13:02:12Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos und Schreibweise korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_OptiY-Datenschnittstellen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_-_Parallelisierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kennfeldberechnung mit OptiY-Rastersuche&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_experiment-tree.gif|right]]&lt;br /&gt;
Parallel zur Erstellung der Workflow-Grafik entstand in Form einer Baumstruktur die Grundlage für die Konfiguration eines Experiments innerhalb des OptiY-Versuchsstandes. Nach Wahl einer Komponente in der Baumstruktur erscheinen die zugehörigen Parameter im Eigenschaft-Fenster:&lt;br /&gt;
&lt;br /&gt;
==== Optimierungsverfahren ====&lt;br /&gt;
* Wir nutzen das globale Suchverfahren der Rastersuche, um die Kennfelder durch Abtastung zu berechnen.&lt;br /&gt;
* Wir wählen vorläufig 121 Simulationsläufe (11 Gleichverteilte Abtastpunkte in jeder Richtung ergeben eine Teilung in 10 Intervalle). Bei einer Rechenzeit von ca. einer Sekunde für eine Stützstelle bleibt man dabei im Bereich von wenigen Minuten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_optverfahren.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Entwurfsparameter (Nennwerte) ====&lt;br /&gt;
* Wir nutzen die Entwurfsparameter als Variablen der Kennfeldfunktionen &#039;&#039;&#039;&#039;&#039;F&amp;amp;nbsp;=&amp;amp;nbsp;f&amp;amp;nbsp;(i,s)&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Psi&amp;amp;nbsp;=&amp;amp;nbsp;f&amp;amp;nbsp;(i,s)&#039;&#039;&#039;&#039;&#039;: &lt;br /&gt;
 &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nennwerte.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nennwerte2.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der &#039;&#039;&#039;&#039;&#039;Spulenstrom&amp;amp;nbsp;i&#039;&#039;&#039;&#039;&#039; soll im Bereich von &#039;&#039;&#039;0&amp;amp;nbsp;bis&amp;amp;nbsp;10 A&#039;&#039;&#039; berücksichtigt werden.&lt;br /&gt;
* Die Maßeinheit &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039; sollte man als Einheit eintragen, auch wenn OptiY Maßeinheiten bei der Berechnung nirgendwo berücksichtigt. Das gleiche gilt für einen sinnvollen Kommentar.  &lt;br /&gt;
* Analog dazu ergänzen wir für den Arbeitsluftspalt &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; die Maßeinheit &#039;&#039;&#039;mm&#039;&#039;&#039; und einen Kommentar.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Eigentlich soll der Arbeitsluftspalt &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; im Bereich von &#039;&#039;&#039;0&amp;amp;nbsp;bis&amp;amp;nbsp;4&amp;amp;nbsp;mm&#039;&#039;&#039; variiert werden. Man muss jedoch beachten, dass die entstehende Geometrie im FE-Modell vernetzbar bleiben muss! Das ist bei &#039;&#039;&#039;&#039;&#039;s&#039;&#039;=0&amp;amp;nbsp;mm&#039;&#039;&#039; nicht mehr der Fall. Zum Glück existiert auch in der Praxis auf Grund von Oberflächen-Rauigkeit oder Fremdschichten immer ein Restluftspalt von mehr als &#039;&#039;&#039;10&amp;amp;nbsp;µm&#039;&#039;&#039;. Diesen wollen wir als unteren Grenzwert angeben.&lt;br /&gt;
&lt;br /&gt;
==== Gütekriterien ====&lt;br /&gt;
* Die Gütekriterien &#039;&#039;&#039;&#039;&#039;F&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Psi&#039;&#039;&#039;&#039;&#039; verwenden wir als Funktionswerte für die zu berechnenden Kennfelder. Auch hier sollte man die Maßeinheiten ergänzen und auf sinnvolle Kommentierung achten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kriterium1.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kriterium2.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Gewichtsfaktor=1 hat hier keine Bedeutung. Auch wird kein Optimierungsziel verfolgt, wir nutzen die Rastersuche nur zur Berechnung der Kennfelder.&lt;br /&gt;
&lt;br /&gt;
==== Visualisierung der Experiment-Ergebnisse ====&lt;br /&gt;
* [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_3d_achsenauswahl.gif|right]]Bisher wird der Grafikbereich von OptiY durch das Fenster des Workflows belegt. Dieses kann man nun schließen (&#039;&#039;&#039;&#039;&#039;Ansicht &amp;gt; Workflow&#039;&#039;&#039;&#039;&#039;). &lt;br /&gt;
* Wir wollen die beiden Kennfelder als 3D-Diagramme visualisieren (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Darstellung &amp;gt; 3D-Darstellung&#039;&#039;&#039;&#039;&#039;). &lt;br /&gt;
* Im rechten Bild gezeigt für &#039;&#039;&#039;&#039;&#039;F&amp;amp;nbsp;=&amp;amp;nbsp;f&amp;amp;nbsp;(i,s)&#039;&#039;&#039;&#039;&#039; erfolgt die Zuweisung der Achsen bei &#039;&#039;&#039;&#039;&#039;Psi&amp;amp;nbsp;=&amp;amp;nbsp;f&amp;amp;nbsp;(i,s)&#039;&#039;&#039;&#039;&#039; analog.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fenster &amp;gt; Nebeneinander&#039;&#039;&#039;&#039;&#039; führt meist zu einer übersichtlichen Anordnung.&lt;br /&gt;
* Nach Auswahl eines 3D-Diagramm-Fensters durch Anklicken mit der Maus, kann man die Darstellung im Eigenschaftsfeld konfigurieren:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_eigenschaft_3d-diagramm.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Beispiel sollte man die Auto-Skalierung der Achsen nutzen.&lt;br /&gt;
&lt;br /&gt;
==== Start des Experiments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Spätestens vor Beginn des Experiments sollte man die aktuelle Konfiguration speichern!&lt;br /&gt;
&lt;br /&gt;
* Die Berechnung des durch die Nennwerte aufgespannten Lösungsraums beginnt nach dem Starten [[Bild:Software_OptiY_-_Button_-_Exp_starten.gif| ]] der Optimierung (&#039;&#039;&#039;&#039;&#039;Projekt - Start&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&amp;lt;F5&amp;gt;&#039;&#039;&#039;).&lt;br /&gt;
* Falls die Verbindungen zu den Input-/Output-Dateien richtig hergestellt wurden, sollten sich die Kennfelder zeilenweise abbilden:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_f-kennfeld.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_psi-kennfeld.gif|Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_psi-kennfeld.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* Mit gedrückter linker Maustaste kann man die 3D-Darstellungen frei drehen.&lt;br /&gt;
* Eventuelle fehlerhafte Modellberechnungen erscheinen als &amp;quot;Zacken&amp;quot; in der ansonsten stetigen Fläche der Kennfelder. Bei FE-Simulationen ist die Gefahr z.B. von Vernetzungsfehlern in engen Bereichen relativ groß, wenn man eine freie Variation von Geometrieparametern gestattet. In der nachfolgend beschriebenen Nennwert-Tabelle sind fehlerhafte Simulationsläufe mit &#039;&#039;&#039;Status=False&#039;&#039;&#039; gekennzeichnet. Wie bei der Experiment-Auswertung beschrieben, kann man die Ursache der fehlerhaften Simulationsläufe durch Aufruf des Simulationsprogramms analysieren.&lt;br /&gt;
&lt;br /&gt;
==== Auswertung des Experiments ====&lt;br /&gt;
&lt;br /&gt;
Alle Abtaststellen der Rastersuche sind in der Nennwert-Tabelle aufgelistet (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Nennwert-Optimierung &amp;gt; Nennwert-Tabelle&#039;&#039;&#039;&#039;&#039;):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nennwert-tabelle.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Mit diesen Werten kann man jeweils einen einzelnen Aufruf des Simulationsprogramms starten (&#039;&#039;&#039;Kontextmenü rechte Maus&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Simulation durchführen&#039;&#039;&#039;&#039;&#039;). Damit könnte man z.B. das Magnetfeld für den Worstcase (kleinster Luftspalt und größter Strom) analysieren. Leider wird in unserem speziellen Fall das FEMM-Programm nach der Abarbeitung des Scripts sofort wieder beendet:&lt;br /&gt;
* Die Werte des Optimums stehen jetzt aber in der Datei &#039;&#039;&#039;&#039;&#039;Eingabe_xx.txt&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Wir starten das FEMM-Programm danach im Windows-Betriebssystem und öffnen darin unser Lua-Script zur Ausführung.&lt;br /&gt;
* Es stehen uns nun die aktuellen Parameter der letzten Simulation im FEMM-Programm zur Verfügung:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_femm_mit_worstcase.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Für das obige Bild wurde die Zahl der Flusslinien auf 9 reduziert und die Grenzen für den Density-Plot der Flussdichte wurden auf den Bereich von 1 bis 2 T gesetzt. Man erkennt nun deutlich die Bereiche der größten Flussdichte, welche an der markierten Stelle ca. 2 T erreicht (links Unten an der Innenkante).&lt;br /&gt;
* Damit der Klick mit der linken Maustaste die zur Cursorposition gehörenden Ergebnisgrößen im Ausgabefenster anzeigt, muss man dieses zuvor mit &#039;&#039;&#039;&#039;&#039;View &amp;gt; Output Window&#039;&#039;&#039;&#039;&#039; aktivieren und &#039;&#039;&#039;&#039;&#039;Operation &amp;gt; Point properties&#039;&#039;&#039;&#039;&#039; wählen.&lt;br /&gt;
&lt;br /&gt;
==== Beschleunigung der Modellberechnung ====&lt;br /&gt;
Eine einzelne FEM-Simulation verläuft angenehm schnell. Sind jedoch hunderte Simulationsläufe innerhalb eines Optimierungstools erforderlich, so muss man mehrere Minuten auf das Ergebnis warten. Es lohnt sich dann eine Analyse zum Einsparpotential an Berechnungszeit:&lt;br /&gt;
* Die Kontur-Darstellung der Feldverläufe erfolgt im FEMM-Programm nicht sehr effektiv. Teilweise kann man zuschauen, wie die Flächen mehrmals ausgemalt werden.&lt;br /&gt;
* Nach der Validierung des Modells kann man überflüssige Grafikausgaben im Postprocessing abschalten (auskommentiert durch &amp;quot;&#039;&#039;&#039;--#&#039;&#039;&#039;&amp;quot;). Auf einem &amp;quot;normalen&amp;quot; PC beschleunigte dies die Berechnung um ca. 25%:&lt;br /&gt;
 -- Kontrollausgabe auf der Lua-Konsole:&lt;br /&gt;
 --#   showconsole();                  -- Lua-Konsole öffnen, falls nicht offen&lt;br /&gt;
 --#   mo_zoom(0,-rKugel/3,rKugel/3,rKugel/3); -- Rechteck um Magnet in Kugelsphäre&lt;br /&gt;
 --#   mo_showcontourplot (-1); -- Feldlinien normiert auf Bereich (lt.Preferences)&lt;br /&gt;
 -- mo_showdensityplot(legend,gscale,upper_B,lower_B,type);&lt;br /&gt;
 --#   mo_showdensityplot(   1  ,   0  ,   1   ,    0  ,&amp;quot;bmag&amp;quot;);&lt;br /&gt;
    mo_seteditmode(&amp;quot;areas&amp;quot;);&lt;br /&gt;
    mo_groupselectblock(1);         -- Auswahl Anker-Block -&amp;gt; Group=1 bei Def.!&lt;br /&gt;
    Fz_Anker=mo_blockintegral(19);  -- (19): z-Komponente der statischen Kraft&lt;br /&gt;
 --#   print (&amp;quot;F=&amp;quot;, Fz_Anker, &amp;quot;[N]&amp;quot;)   -- Kraft in Outputfeld der Lua-Konsole&lt;br /&gt;
    iSpule, vOhm, Psi = mo_getcircuitproperties(&amp;quot;Spule&amp;quot;); -- statische Größen&lt;br /&gt;
    Phi=Psi/wSpule;&lt;br /&gt;
 --#   print (&amp;quot;i=&amp;quot;, iSpule   , &amp;quot;[A]&amp;quot;); -- Strom&lt;br /&gt;
 --#   print (&amp;quot;w=&amp;quot;, wSpule   , &amp;quot;[-]&amp;quot;); -- Windungszahl&lt;br /&gt;
 --#   print (&amp;quot;v=&amp;quot;, vOhm     , &amp;quot;[V]&amp;quot;); -- Spannungsabfall&lt;br /&gt;
 --#   print (&amp;quot;R=&amp;quot;,vOhm/iSpule,&amp;quot;[Ohm]&amp;quot;); -- Drahtwiderstand&lt;br /&gt;
 --#   print (&amp;quot;L=&amp;quot;,Psi/iSpule ,&amp;quot;[H]&amp;quot;); -- Induktivität&lt;br /&gt;
 --#   print (&amp;quot;Psi=&amp;quot;, Psi    , &amp;quot;[Wb]&amp;quot;);-- Koppelfluss&lt;br /&gt;
 --#   print (&amp;quot;Phi=&amp;quot;, Phi    , &amp;quot;[Wb]&amp;quot;);-- Wirkfluss durch 1 Windung&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_OptiY-Datenschnittstellen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kennfelder_-_Parallelisierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow&amp;diff=15336</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Einbindung in OptiY-Workflow</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow&amp;diff=15336"/>
		<updated>2014-05-26T12:59:51Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_OptiY-Datenschnittstellen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Einbindung in OptiY-Workflow&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ermittlung einer Kraft-Weg-Kennlinie wird im FEMM-Beispiel http://www.femm.info/wiki/CoilGun behandelt. Dieses [http://www.femm.info/wiki/CoilGun Beispiel] sollte man sich einmal anschauen. Die zugehörige [http://www.femm.info/examples/coilgun/coilgun.fem Modell-Datei] und [http://www.femm.info/examples/coilgun/coilgun.lua Lua-Scriptdatei] kann man von dort laden und erspart sich damit das Eintippen:&lt;br /&gt;
* Kennlinien oder auch höherdimensionale Kennfelder werden durch systematisches Abtasten der abzubildenden Funktion gebildet. &lt;br /&gt;
* Jeder Abtastpunkt entspricht einer vollständigen FEM-Berechnung, meist einschließlich des kompletten Pre-Prozesses. &lt;br /&gt;
* Innerhalb von Script-Dateien realisiert man das systematische Abtasten, indem man die Funktionsvariablen in  (geschachtelten) Schleifen-Anweisungen zwischen vorgegebenen Grenzen variiert. &lt;br /&gt;
* Im &amp;quot;coilgun&amp;quot;-Beispiel wird ein Block des Modells Schritt für Schritt verschoben. &lt;br /&gt;
* Nach der Berechnung steht man dann noch vor dem Problem, die Ergebnisse in eine Form zu konvertieren, welche für die weitere Verarbeitung (z.B. zur Dynamik-Simulation) nutzbar ist. &lt;br /&gt;
&lt;br /&gt;
Wir gehen in dieser Übung einen einfacheren Weg, indem wir die Möglichkeiten eines Optimierungstools zur Rastersuche verwenden. Die erhaltenen Ergebnisse stellen wir anschaulich als 3D-Diagramme dar. Als Optimierungstool nutzen wir &#039;&#039;&#039;OptiY&#039;&#039;&#039;. Die &#039;&#039;Trial Edition&#039;&#039; ist ausreichend, welche unter [http://www.optiy.de/Download.html &#039;&#039;&#039;www.optiy.de/Download.html&#039;&#039;&#039;] bereitgestellt wird. Im Rahmen der Übung wird die Konfiguration der erforderlichen Optimierungsexperimente für den Einsteiger beschrieben. Vorkenntnisse zum Programm OptiY sind also nicht erforderlich:&lt;br /&gt;
* Nach der wahrscheinlich problemlosen Installation kann das Programm OptiY gestartet werden: &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_gestartet.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem &#039;&#039;&#039;&#039;&#039;Workflow-Editor&#039;&#039;&#039;&#039;&#039; (Menü &#039;&#039;&#039;&#039;&#039;Einfügen&#039;&#039;&#039;&#039;&#039;) von OptiY fügen wir unser Lua-Script des FEMM-Modells als &#039;&#039;&#039;&#039;&#039;Externes Script-Modell&#039;&#039;&#039;&#039;&#039; an zentraler Stelle in den Workflow des Experiments ein:&lt;br /&gt;
* Über dieses Script muss das FEMM-Programm gestartet werden, welches dann seinerseits das LUA-Script ausführt. &lt;br /&gt;
* Die Ausführung des Lua-Scripts im FEMM kann man über das vom FEMM-Programm bereitgestellte ActiveX-Interface veranlassen. &lt;br /&gt;
* Ein Doppelklick auf das platzierte Symbol [[Bild:Software_FEMM_button_external_script.gif| ]] öffnet den erforderlichen Konfigurationsdialog. &lt;br /&gt;
&lt;br /&gt;
Im OptiY werden mehrere Script-Sprachen unterstützt. Beispielhaft soll dies im Folgenden für zwei Script-Typen demonstriert werden:&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Visual Basic Script&#039;&#039;&#039; &#039;&#039;(nur zur Information - in dieser Übung nicht anwenden!)&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Zur Aktivierung der Schnittstelle und Aufruf des FEMM-Programms werden wir im Rahmen dieser Übung &#039;&#039;VBScript&#039;&#039; &#039;&#039;&#039;nicht&#039;&#039;&#039; als Scriptsprache benutzen, weil über die COM-Schnittstelle keine Parallelisierung der Berechnung möglich ist.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_script-konfig.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Script-Editor muss der komplette Pfad der Lua-Datei angegeben werden, wobei unbedingt doppelte Backslash \\ zu verwenden sind:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_script-edit.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
 Set femm = CreateObject(&amp;quot;femm.ActiveFEMM&amp;quot;)&lt;br /&gt;
 femm.call2femm (&amp;quot;dofile (&amp;quot;&amp;quot;E:\\femm\\Magnet_xx.LUA&amp;quot;&amp;quot;)&amp;quot;)&lt;br /&gt;
* Für dieses im Script-Editor von OptiY eingetragene Script generiert OptiY bei der Experiment-Durchführung eine Script-Datei und startet sie.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Wichtig&#039;&#039;&#039;&#039;&#039;: Damit der FEMM-Aufruf mittels VBScript funktioniert, muss das FEMM-Programm richtig als COM-Objekt registriert sein. Dazu muss FEMM zuvor mindestens einmal mit Administrator-Rechten gestartet werden.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. DOS-Batch Script:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Im fast in Vergessenheit geratenem Betriebssystem [http://de.wikipedia.org/wiki/MS-DOS &#039;&#039;&#039;MS-DOS&#039;&#039;&#039;] konnte man mit [http://de.wikibooks.org/wiki/Batch-Programmierung &#039;&#039;&#039;BAT-Dateien&#039;&#039;&#039;] automatisiert eine Folge von [http://de.wikibooks.org/wiki/Batch-Programmierung:_Wichtige_DOS-Kommandos &#039;&#039;&#039;MS-DOS-Kommandos&#039;&#039;&#039;] ausführen. Das funktioniert auch noch unter Microsoft Windows und ermöglicht die parallele Abarbeitung der Modellberechnungen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_bat-script-konfig.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; vorläufig konfigurieren wir den Prozess als seriell, weil zur Realisierung einer parallelen Abarbeitung der Batch-Scripte noch weitere Maßnahmen erforderlich sind.&lt;br /&gt;
* Im DOS-Batch-Script nur einfache Backslash \ im Pfadbezeichner zu verwenden.&lt;br /&gt;
* Ist das FEMM-Programmverzeichnis nicht Bestandteil des Suchpfades (PATH), so kann die &#039;&#039;femm.exe&#039;&#039; nur mit der vollständigen Pfad-Angabe aufgerufen werden.&lt;br /&gt;
* Der komplette Pfad der Lua-Datei muss nicht angegeben werden, wenn sich die Lua-Datei im aktuellen Ordner befindet. Dies realisieren wir mit &#039;&#039;&#039;cd&#039;&#039;&#039;-Kommando (Change Directory): &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_bat-script-edit.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
 :: Ordner des Batch-Skripts wird zum aktuellen Ordner:&lt;br /&gt;
 cd /D %~dp0&lt;br /&gt;
 :: Aufruf von FEMM mit Lua-Datei im aktuellen Ordner:&lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Achtung&#039;&#039;&#039;&#039;&#039;: &amp;lt;br&amp;gt;Enthält ein Dateiname Leer- oder Sonderzeichen, so muss er in Anführungsstrichen notiert werden, z.B.:&lt;br /&gt;
 &amp;quot;c:\Program Files (x86)\femm42\bin\femm.exe&amp;quot; -lua-script=Magnet_xx.LUA&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Hinweis&#039;&#039;&#039;&#039;&#039;: &amp;lt;br&amp;gt;Wird die Abarbeitung des Lua-Scripts über &#039;&#039;DOS-Batch&#039;&#039; veranlasst, so endet das FEMM-Programm nicht selbstständig. Das Lua-Script muss deshalb abschließend um den &#039;&#039;exit&#039;&#039;-Befehl erweitert werden:&lt;br /&gt;
    exit();&lt;br /&gt;
: Möchte man das gleiche Lua-Script ohne OptiY autonom im FEMM benutzen, so muss man natürlich diesen &#039;&#039;exit&#039;&#039;-Befehl &amp;quot;auskommentieren&amp;quot;, damit das FEMM nach Script-Abarbeitung nicht sofort endet!&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, im OptiY-Workflow die Verbindung mit allen Eingabe-Parametern des Modells herzustellen. Für die Ermittlung der Kennfelder beschränken wir uns auf die zwei zu variierenden Parameter &#039;&#039;&#039;&#039;&#039;Spulenstrom i&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Arbeitsluftspalt s&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Für jeden dieser Parameter ist im Workflow ein Nennwert einzufügen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nennwerte_einfuegen.gif| ]]&amp;lt;/div&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nennwert_dialog.gif|right]]&lt;br /&gt;
* Ein Doppelklick auf das generierte Symbol öffnet den Konfigurationsdialog für den Nennwert. Hier sollte man einen sinnvollen Namen und Kommentar vergeben. Der Name muss nicht, sollte aber mit dem Parameter-Namen im Modell übereinstimmen. &lt;br /&gt;
* Mit den noch fehlenden Verbindungen zwischen dem FEMM-Modell und den beiden im Workflow definierten Nennwerten beschäftigen wir uns später!&lt;br /&gt;
* Im OptiY-Workflow müssen die berechneten Werte für die &#039;&#039;&#039;&#039;&#039;Magnetkraft F&#039;&#039;&#039;&#039;&#039; und den &#039;&#039;&#039;&#039;&#039;Koppelfluss Psi&#039;&#039;&#039;&#039;&#039; eingefügt werden. Nur dann kann man die beiden Kennfelder als 3D-Diagramm darstellen. Wir definieren beide Größen als Gütekriterien  (&#039;&#039;&#039;&#039;&#039;Einfügen &amp;gt; Gütekriterien&#039;&#039;&#039;&#039;&#039;):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kriterium_eingefuegt.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Den Gütekriterien kann man nicht direkt die Ergebnisgrößen eines Modells zuweisen. Deshalb benötigt man zusätzliche Ausgangsgrößen, welche die Ergebnisse des Modells repräsentieren (&#039;&#039;&#039;&#039;&#039;Einfügen &amp;gt; Ausgangsgrößen&#039;&#039;&#039;&#039;&#039;). Da gleiche Namen für unterschiedliche Variablen im Workflow nicht zulässig sind, stellen wir bei den Ausgangsgrößen einen Unterstrich voran, welche den gleichen Wert besitzen, wie das zugeordnete Gütekriterium:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_kriterium_ausdruck_bearbeiten.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Verknüpfung zwischen Ausgangsgröße und Güterkriterium stellt man her, indem man den &amp;quot;Ausdruck&amp;quot; des Gütekriteriums mit dem Wert der Ausgangsgröße belegt. Nach Doppelklick auf das Kriterium aktiviert man mit &#039;&#039;&#039;Editieren&#039;&#039;&#039; eine Art &amp;quot;Taschenrechner&amp;quot;. Mit diesem klickt man die erforderliche Formel zusammen (Doppelklick zum Einfügen einer der aufgelisteten Workflow-Größen):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_rechner.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Für die Kraft &#039;&#039;&#039;&#039;&#039;F&#039;&#039;&#039;&#039;&#039; nehmen wir aus Gründen der Anschaulichkeit &#039;&#039;&#039;&#039;&#039;abs(_F)&#039;&#039;&#039;&#039;&#039;, da im FEMM-Modell negative Kraftwerte berechnet werden. Die Verknüpfung zwischen den Gütekriterien und den Ausgangsgrößen widerspiegelt sich danach im Workflow:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_optiy_nach_bearbeiten_guete.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Den aktuellen Zustand des OptiY-Versuchsstandes speichern wir als Datei &#039;&#039;&#039;Magnet_xx.opy&#039;&#039;&#039;  mit &#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nummer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun fehlt nur noch die Ankopplung der Nennwerte und der Ausgangsgrößen an das FEMM-Modell. Diesem Problem widmen wir uns auf der nächsten Seite. Dazu verlassen wir OptiY und arbeiten wieder mit dem FEMM-Programm samt zugehörigem Script-Editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_OptiY-Datenschnittstellen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script&amp;diff=15335</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kraft und Koppelfluss - Script</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script&amp;diff=15335"/>
		<updated>2014-05-26T12:57:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kraft und Koppelfluss (Lua-Script)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachdem wir nun das relativ einfache Verfahren (gewichtetes &amp;quot;Stress-Tensor-Volumenintegral&amp;quot;) zur Ermittlung der Magnetkraft kennen gelernt haben, werden wir es in unser Lua-Script einfügen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Magnetkraft ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wir öffnen zu Beginn des Postprozesses die Lua-Konsole mittels &amp;quot;showconsole();&amp;quot;:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Beginn des Postprozesses                                                  --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Kontrollausgaben auf der Lua-Konsole:&lt;br /&gt;
    showconsole();                 -- Lua-Konsole öffnen, falls nicht offen&lt;br /&gt;
    mo_zoom(0,-rKugel/3,rKugel/3,rKugel/3); -- Rechteck um Magnet in Kugelsphäre&lt;br /&gt;
    mo_showcontourplot (-1); -- Feldlinien normiert auf Bereich (lt.Preferences)&lt;br /&gt;
 -- mo_showdensityplot(legend,gscale,upper_B,lower_B,type);&lt;br /&gt;
    mo_showdensityplot(   1  ,   0  ,   1   ,   0   ,&amp;quot;bmag&amp;quot;);&lt;br /&gt;
    mo_seteditmode(&amp;quot;areas&amp;quot;);&lt;br /&gt;
    mo_groupselectblock(1);        -- Auswahl Anker-Block -&amp;gt; Group=1 bei Def.!&lt;br /&gt;
    Fz_Anker=mo_blockintegral(19); -- (19): z-Komponente der statischen Kraft&lt;br /&gt;
    print (&amp;quot;F=&amp;quot;, Fz_Anker, &amp;quot;[N]&amp;quot;)  -- Kraft in Outputfeld der LUA-Konsole&lt;br /&gt;
&lt;br /&gt;
Die Berechnung des Blockintegrals bezieht sich immer auf den aktuell ausgewählten Block:&lt;br /&gt;
&lt;br /&gt;
* Einen Block wählt man am einfachsten mit &#039;&#039;&#039;&#039;&#039;groupselectblock(Gruppennummer)&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Bereiche des Modells, mit welchen später gemeinsame Operationen ausgeführt werden, sollten deshalb bereits bei der Definition einer gemeinsamen Gruppen-Nummer zugeordnet werden. &lt;br /&gt;
* Neben der Berechnung des Blockintegrals sind solche Operationen z.B. auch geometrische Transformation (Verschieben, Drehen). &lt;br /&gt;
* Im Beispiel muss deshalb im LUA-Script bei der Definition des Ankers in den Block-Properties statt der Gruppe &#039;&#039;&#039;0&#039;&#039;&#039; die Gruppe &#039;&#039;&#039;1&#039;&#039;&#039; verwendet werden: &lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
                                -- *********************************************&lt;br /&gt;
    mi_seteditmode (&amp;quot;nodes&amp;quot;);   -- A=Eisenkreis (Anker) ************************&lt;br /&gt;
                                -- *********************************************&lt;br /&gt;
    :&lt;br /&gt;
    mi_setblockprop (&amp;quot;Stahl&amp;quot;,1,0,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,&#039;&#039;&#039;1&#039;&#039;&#039;,0);            mi_clearselected();&lt;br /&gt;
Anscheinend gibt es kein LUA-Kommando, um die Linien der Stress-Tensor-Maske sichtbar zu machen. Man muss das Einblenden auf der grafischen Oberfläche veranlassen:&lt;br /&gt;
* Man kann unter &#039;&#039;&#039;&#039;&#039;View &amp;gt; Contour Plot&#039;&#039;&#039;&#039;&#039; die Anzeige der &#039;&#039;&#039;Stress Tensor Mask&#039;&#039;&#039; aktivieren! &lt;br /&gt;
* Das Einblenden des Integrationspfades erfolgt erst mit einiger Verzögerung bei einer Aktualisierung des Grafikfensters.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Koppelfluss ===&lt;br /&gt;
 &lt;br /&gt;
Zu Testzwecken sollte man die berechneten Ergebnisse auf der LUA-Konsole darstellen:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Beginn des Postprozesses                                                  --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    :&lt;br /&gt;
    iSpule, vOhm, Psi = mo_getcircuitproperties(&amp;quot;Spule&amp;quot;); -- statische Größen&lt;br /&gt;
    print (&amp;quot;i=&amp;quot;, iSpule   , &amp;quot;[A]&amp;quot;);-- Strom&lt;br /&gt;
    print (&amp;quot;v=&amp;quot;, vOhm     , &amp;quot;[V]&amp;quot;);-- Spannungsabfall&lt;br /&gt;
    print (&amp;quot;R=&amp;quot;,vOhm/iSpule,&amp;quot;[Ohm]&amp;quot;);-- Drahtwiderstand&lt;br /&gt;
    print (&amp;quot;L=&amp;quot;,Psi/iSpule ,&amp;quot;[H]&amp;quot;);-- Induktivität&lt;br /&gt;
    print (&amp;quot;Psi=&amp;quot;, Psi    ,&amp;quot;[Wb]&amp;quot;);-- Koppelfluss&lt;br /&gt;
&lt;br /&gt;
Den Koppelfluss &#039;&#039;&#039;&#039;&#039;Ψ&#039;&#039;&#039;&#039;&#039; der Spule erhält man als Bestandteil der Circuit-Properties nur gemeinsam mit dem statischen Spannungsabfall am ohmschen Widerstand des Spulendrahtes und dem aktuellen Strom:&lt;br /&gt;
* Als Variable für den Strom wurde der Parameter &#039;&#039;&#039;&#039;&#039;iSpule&#039;&#039;&#039;&#039;&#039; verwendet, da im statischen Fall der Strom konstant bleibt. &lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;vOhm&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Psi&#039;&#039;&#039;&#039;&#039; werden im LUA-Script automatisch als Variablen angelegt (bei erstmaliger Benutzung). &lt;br /&gt;
* Aus Strom und Spannung kann man den ohmschen Widerstand &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; des Spulendrahtes berechnen. &lt;br /&gt;
* Analog erhält man aus dem Koppelfluss &#039;&#039;&#039;&#039;&#039;Ψ=f(s,i)&#039;&#039;&#039;&#039;&#039; und dem Strom &#039;&#039;&#039;&#039;&#039;ispule&#039;&#039;&#039;&#039;&#039; die aktuelle Induktivität &#039;&#039;&#039;&#039;&#039;L=f(s,i)&#039;&#039;&#039;&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einbindung_in_OptiY-Workflow|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss&amp;diff=15334</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Kraft und Koppelfluss</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss&amp;diff=15334"/>
		<updated>2014-05-26T12:55:59Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos und Schreibweise korrigiert, doppeltes Wort entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Kraft und Koppelfluss (Einführung)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Magnetkraft ==&lt;br /&gt;
&lt;br /&gt;
Die im Arbeitsluftspalt &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; eines Elektromagneten erzeugte Kraft ist abhängig von der Stärke des Spulenstroms &#039;&#039;&#039;&#039;&#039;i&#039;&#039;&#039;&#039;&#039;. Aber noch stärker hängt diese Kraft von der Größe des Arbeitsluftspalts ab. Bei konstantem Spulenstrom steigt die Kraft mit kleiner werdendem Luftspalt sehr stark an:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_kraft-weg-qualitativ.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Eine statische FEM-Simulation ergibt bei einem vorgegebenen Spulenstrom nur den Kraftwert für den aktuell eingestellten Arbeitsluftspalt. Interessiert man sich für das Kennfeld &#039;&#039;&#039;&#039;&#039;F=f(s,i)&#039;&#039;&#039;&#039;&#039;, so kann man dieses nur über eine Abfolge von FEM-Simulationen mit systematisch geänderten Werten für &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;i&#039;&#039;&#039;&#039;&#039;  ermitteln:&lt;br /&gt;
* Für diese systematische Variation der Parameterwerte &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;i&#039;&#039;&#039;&#039;&#039; werden wir die Rastersuche das OptiY-Programms nutzen. Dieses Programm bietet uns auch die Möglichkeit, das gewonnene Kennfeld als 3D-Diagramm zu visualisieren. Wir können uns im Lua-Script also auf die Berechnung der Magnetkraft beschränken.&lt;br /&gt;
* Bevor wir das Lua-Script um die Berechnung der Magnetkraft erweitern, wollen wir das Prinzip der Kraftberechnung auf dem Niveau der grafischen Oberfläche erkunden. Voraussetzung ist die vorherige Abarbeitung unseres bisherigen Lua-Scripts.&lt;br /&gt;
* Wir betrachten hier 3 unterschiedliche Methoden für die Ermittlung der Magnetkraft.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kraft auf Trennflächen ===&lt;br /&gt;
&lt;br /&gt;
* Eine Abschätzung der Magnetkraft ermöglicht bereits die mittlere Flussdichte im Luftspalt zusammen mit der wirksamen Luftspaltfläche über die Maxwellsche Zugkraft-Formel:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;big&amp;gt; &#039;&#039;&#039;F&amp;amp;nbsp;=&amp;amp;nbsp;A·B&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;amp;nbsp;/&amp;amp;nbsp;(2·µ&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;)&#039;&#039;&#039; &amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei einem Luftspalt &#039;&#039;&#039;sAnker&amp;amp;nbsp;=&amp;amp;nbsp;1&amp;amp;nbsp;mm&#039;&#039;&#039; ergibt sich mit dem Ankerquerschnitt &#039;&#039;&#039;A&amp;amp;nbsp;=&amp;amp;nbsp;77,7&amp;amp;nbsp;mm²&#039;&#039;&#039; und der Flussdichte &#039;&#039;&#039;B&amp;amp;nbsp;≈&amp;amp;nbsp;0,4&amp;amp;nbsp;T&#039;&#039;&#039; eine Kraft &#039;&#039;&#039;F&amp;amp;nbsp;≈&amp;amp;nbsp;5&amp;amp;nbsp;N&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gewichtetes &amp;quot;Stress-Tensor-Volumenintegral&amp;quot; ===&lt;br /&gt;
 &lt;br /&gt;
Im Vergleich zur fehlerträchtigen Berechnung nach obiger Formel, ist die im FEMM-Postprocessor implementierte Methode ein Kinderspiel. Unter der Voraussetzung, dass der Magnet-Anker überall an Luft grenzt, braucht man das zugehörige Geometrie-Objekt des Ankers nur markieren und die resultierenden Kräfte aufintegrieren lassen:&lt;br /&gt;
* Die Analysen werden in der geöffneten &#039;&#039;&#039;.ans&#039;&#039;&#039;-Datei vorgenommen. &lt;br /&gt;
* Man aktiviert den Areas-Operation-Modus [[Bild:Software_FEMM_button_area.gif| ]]. &lt;br /&gt;
* Man wählt die Region des Ankers durch Anklicken mit der linken Maustaste (Anker wird &amp;quot;grün&amp;quot;). &lt;br /&gt;
* Nach Aufruf der Integration [[Bild:Software_FEMM_button_integral.gif| ]] wählt man die Ermittlung der Kraft mittels &amp;quot;Gewichtetem Stress-Tensor&amp;quot; und erhält sofort das Ergebnis der Integration in einem extra Ausgabefenster:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_block-integrals.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_integral-result.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_show_stress_tensor_mask.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Der erhaltene Wert ist unter gleichen Bedingungen ca. 10% größer als der vorherige &amp;quot;Schätzwert&amp;quot;, der nur die Kraftwirkung im Luftspalt selbst berücksichtigte. &lt;br /&gt;
* FEMM legt um die gewählte Region automatisch eine Stress-Tensor-Maske. Diese beschreibt den Weg für die Integration. Um die Maske darzustellen, muss man über den Contour-Plot-Dialog [[Bild:Software_FEMM_button_contour-plot.gif| ]] diese Anzeige aktivieren. Die roten Linien repräsentieren die Pfade für die Integration:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_anker_mit_stress-tensor-mask.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Obiges Ergebnis für die Magnetkraft wurde mit &#039;&#039;&#039;&#039;&#039;nLuft=3&#039;&#039;&#039;&#039;&#039; zur Steuerung der Netzdichte in den Luftspalten ermittelt. Das Gesamtnetz umfasst damit ca. 12500 Knoten und erfordert schon eine merkliche Berechnungszeit. &lt;br /&gt;
* Für die systematische Abtastung des Kennfeldes müssen wir sehr viele Modellberechnungen durchführen. Deshalb ist es wichtig, eine hinreichend genaue Kraftberechnung mit einem möglichst groben Netz zu erhalten. Wir testen deshalb im Folgenden für &#039;&#039;&#039;&#039;&#039;sAnker=1&amp;amp;nbsp;mm&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;iSpule=1&amp;amp;nbsp;A&#039;&#039;&#039;&#039;&#039; den Einfluss der Vernetzungsfeinheit für &#039;&#039;&#039;&#039;&#039;nLuft=1..5&#039;&#039;&#039;&#039;&#039;, indem wir &#039;&#039;&#039;&#039;&#039;nLuft&#039;&#039;&#039;&#039;&#039; im Lua-Script manuell ändern und das Script erneut abarbeiten lassen. Dabei schätzen wir auch die Abarbeitungszeit &#039;&#039;&#039;&#039;&#039;t&#039;&#039;&#039;&#039;&#039; für das Script. Dafür ergeben sich beispielhaft folgende Werte:&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;nLuft&#039;&#039;&#039; | &#039;&#039;&#039;F/N&#039;&#039;&#039; | &#039;&#039;&#039;t/s&#039;&#039;&#039; &lt;br /&gt;
 -------------------&lt;br /&gt;
   1    |5,30 |  1 &lt;br /&gt;
   2    |5,37 |  3 &lt;br /&gt;
   3    |5,43 | 12 &lt;br /&gt;
   4    |5,44 | 21 &lt;br /&gt;
   5    |5,44 | 30 &lt;br /&gt;
Man kann aus diesen Ergebnissen zwei wesentliche Erkenntnisse ableiten:&lt;br /&gt;
# Die Kraftberechnung reagiert relativ unempfindlich auf die Vernetzung in den Luftspalten (Fehler max. 2%). Da das Modell auch bei exakter Berechnung infolge der Unbestimmtheit vieler Parameter (insbesondere Material und Restluftspalte) um einige Prozent ungenauer ist, spielt dieser Vernetzungsfehler nur eine untergeordnete Rolle.&lt;br /&gt;
# Die Berechnungszeit für das Modell steigt dramatisch. Man benötigt mindestens die 10-fache Zeit, wenn man Berechnungsungenauigkeiten im Promille-Bereich anstrebt (z.B. &#039;&#039;nLuft=3&#039;&#039;). Für die einzelne Modell-Berechnung ist das im Beispiel noch unkritisch. Da für das systematische Abrastern des gewünschten Kennfeldes mindestens 100 bis 400 Modell-Berechnungen erforderlich sind, ist der Unterschied jedoch gewaltig! &lt;br /&gt;
&lt;br /&gt;
Wir setzen deshalb für die weitere Modell-Nutzung im Lua-Script &#039;&#039;&#039;&#039;&#039;nLuft=1&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Maxwellscher Stress Tensor ===&lt;br /&gt;
&lt;br /&gt;
Leider ist die soeben beschriebene Methode der Magnetkraft-Bestimmung nicht in allen FEM-Systemen implementiert. Deshalb ist man häufig darauf angewiesen, manuell den Integrationsweg für die Kraftberechnung vorzugeben. Darin liegt jedoch gerade für unerfahrene Nutzer eine nicht zu unterschätzende Fehlerquelle:&lt;br /&gt;
* Ursächlich sind numerische Probleme bei der im Hintergrund erforderlichen Ermittlung von &#039;&#039;&#039;&#039;&#039;B&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;H&#039;&#039;&#039;&#039;&#039; mittels numerischer Differentiation aus dem Primärergebnis &amp;quot;Vektorpotential &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
* Besonders falsch werden &#039;&#039;&#039;&#039;&#039;B&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;H&#039;&#039;&#039;&#039;&#039; an der Grenze zwischen Materialien unterschiedlicher Permeabilität berechnet (z.B. Luft / Eisen).&lt;br /&gt;
&lt;br /&gt;
Daraus resultieren folgende Regeln:&lt;br /&gt;
# Der Integrationsweg darf nie direkt an der Grenze zwischen verschiedenen Materialien verlaufen. &lt;br /&gt;
# Es sollten mindestens 2 Elemente zwischen dem Integrationspfad und der Grenze des interessierenden Objekts (hier der Anker) liegen. &lt;br /&gt;
# An den kritischen Stellen rings um das interessierende Objekt sollte man eine möglichst feine Vernetzung verwenden, um &amp;quot;stochastische&amp;quot; Sprünge bei der numerischen Differentiation des Vektorpotentials zu minimieren. &lt;br /&gt;
&lt;br /&gt;
* Wenn man unser Beispiel betrachtet, so sieht man, dass mit der aktuellen Vernetzung obige Regeln nicht befolgt werden können. &lt;br /&gt;
* Auf Grund des Aufwandes soll diese allgemeine Methode in dieser Übung nicht praktisch erprobt werden! &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Koppelfluss ==&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_koppelfluss_circuit_property.gif|right]]&lt;br /&gt;
* Für die Berechnung des Koppelflusses &#039;&#039;&#039;Ψ&#039;&#039;&#039; (auch &#039;&#039;Verkettungsfluss&#039;&#039; genannt) werden die magnetischen Flüsse über alle Windungen &#039;&#039;&#039;w&#039;&#039;&#039; aufsummiert. Handelt es sich um eine einlagige Zylinderspule im homogenen Feld, so gilt für diesen Spezialfall &#039;&#039;&#039;Ψ=w·Ф&#039;&#039;&#039;.&lt;br /&gt;
* Man benötigt den Koppelfluss &#039;&#039;&#039;Ψ&#039;&#039;&#039; für die Berechnung der in der Spule infolge von Flussänderungen induzierten Spannung &#039;&#039;&#039;v_ind=dΨ/dt&#039;&#039;&#039;. &lt;br /&gt;
* Daraus resultiert auch die Bezeichnung &#039;&#039;&#039;&#039;&#039;Koppelfluss&#039;&#039;&#039;&#039;&#039;, weil er als integrale Größe die Wechselwirkung (die Kopplung mit dem Magnetfeld) auf der elektrischen Seite des elektro-mechanischen Wandlers repräsentiert.&lt;br /&gt;
* Der Wert des Koppelflusses (Flux Linkage) einer Spule wird im magnetischen Postprozessor des FEMM-Programms als Bestandteil der &#039;&#039;&#039;&#039;&#039;Circuit Properties&#039;&#039;&#039;&#039;&#039; [[Bild:Software_FEMM_button_circuit_prop.gif| ]] berechnet. Der Einfluss der groben Vernetzung mit &#039;&#039;&#039;&#039;&#039;nLuft=1&#039;&#039;&#039;&#039;&#039; beträgt wie bei der Kraftberechnung ca. 2%.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss_-_Script|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung&amp;diff=15333</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Vernetzung und Berechnung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung&amp;diff=15333"/>
		<updated>2014-05-26T12:54:02Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Lua wird laut den Entwicklern nicht komplett groß geschrieben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Vernetzung und Berechnung&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Globale Pfad-Variable ===&lt;br /&gt;
* Spätestens jetzt muss man das Speichern des FEM-Modells veranlassen, da erst danach die Vernetzung durchgeführt werden kann. &lt;br /&gt;
* Im Sinne der Portabilität definieren wir dafür eine globale Pfad-Variable in der ersten Script-Zeile, bevor wir das Script fortschreiben:[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_netz_automatisch.gif|right]]&lt;br /&gt;
    mydir=&amp;quot;E:\\femm\\&amp;quot;;&lt;br /&gt;
    :&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Vernetzung und Feld-Berechnung  (nach Speichern des Modells)              --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    mi_saveas(mydir .. &amp;quot;Magnet_xx.fem&amp;quot;); -- Speichern in vorhandenen Ordner&lt;br /&gt;
    :&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Loeschen nicht mehr benoetigter Dateien am Ende des Lua-Scripts           --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    remove(mydir .. &amp;quot;Magnet_xx.fem&amp;quot;); -- Loeschen der Modelldatei   &lt;br /&gt;
    remove(mydir .. &amp;quot;Magnet_xx.ans&amp;quot;); -- Loeschen der Grafikdatei&lt;br /&gt;
* Leider kann es unter der 32-Bit-Version von Windows&amp;amp;nbsp;7 zu ganz gemeinen Blockierungsproblemen mit derart erzeugten &#039;&#039;&#039;.fem&#039;&#039;&#039;-Dateien kommen (&#039;&#039;Siehe:&#039;&#039; [[Software:_Workaround#Blockierte_FEM-Datei_unter_Win7-32Bit|&#039;&#039;&#039;&#039;&#039;Workaround&#039;&#039;&#039;&#039;&#039;]]).&lt;br /&gt;
* Wir müssen deshalb darauf achten, dass wir diese Datei am Ende des Lua-Scripts wieder löschen! Das gleiche gilt für die grafische &#039;&#039;&#039;.ans&#039;&#039;&#039;-Ergebnisdatei, welche wir im Folgenden noch erzeugen&lt;br /&gt;
&lt;br /&gt;
=== Automatische Vernetzung ===&lt;br /&gt;
Wir hatten für alle Bereiche des Modells eingestellt, dass der Vernetzungsgenerator &amp;quot;Triangle&amp;quot; selbst die erforderliche Maschengröße ermitteln soll:&lt;br /&gt;
    mi_createmesh(); -- Erzeugen des Netzes&lt;br /&gt;
* 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!). &lt;br /&gt;
* Schaut man sich die Vernetzung in den Luftspalten jedoch genauer an, erkennt man, dass grundsätzlich nur eine Element-Schicht benutzt wird. Das betrifft:&lt;br /&gt;
:# Führungsspalt zwischen Anker und Deckel &lt;br /&gt;
:# Wicklungsspalt zwischen Spule und Eisenkreis &lt;br /&gt;
:# Bohrungsbereich &lt;br /&gt;
:# Arbeitsluftspalt zwischen Anker und Topf &lt;br /&gt;
:# Restspalt zwischen Topf und Deckel &lt;br /&gt;
* 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. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Vernetzungssteuerung ===&lt;br /&gt;
&lt;br /&gt;
* Um den Vernetzungsgrad beeinflussen zu können, definieren wir dafür eine globale Variable &#039;&#039;&#039;&#039;&#039;nLuft&#039;&#039;&#039;&#039;&#039; im Parameterabschnitt des Lua-Scripts. &lt;br /&gt;
* Dazu notieren wir einen separaten Abschnitt für numerische Parameter vor den Entwurfsparametern:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Numerische Parameter zur Steuerung der Simulationsgenauigkeit             --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    nLuft=3;                     -- Zahl von Elementlagen in kleinen Luftspalten&lt;br /&gt;
* Da eine feinere Vernetzung sehr schnell zu sehr langen Rechenzeiten führt, können wir über den Parameter &#039;&#039;&#039;&#039;&#039;nLuft&#039;&#039;&#039;&#039;&#039; sehr einfach einen günstigen Kompromiss zwischen Genauigkeit und Rechenzeit finden. &lt;br /&gt;
* Für jeden Luftspalt existiert ein Parameterwert (z.B. &#039;&#039;&#039;&#039;&#039;sGleit&#039;&#039;&#039;&#039;&#039;). So kann man problemlos beim Setzen der Blockproperties die automatische Vernetzung durch die Angabe einer spaltabhängigen Maschengröße ersetzen (z.B. &#039;&#039;&#039;&#039;&#039;sGleit/nLuft&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
==== Führungsspalt ====&lt;br /&gt;
 -- mi_setblockprop (&amp;quot;Luft&amp;quot;,1,      0     ,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0); ersetzen durch:&lt;br /&gt;
    mi_setblockprop (&amp;quot;Luft&amp;quot;,0,sGleit/nLuft,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0);&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_netz_gleitspalt_grob.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
==== Wickelspalt ====&lt;br /&gt;
 -- mi_setblockprop (&amp;quot;Luft&amp;quot;,1,       0     ,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0); ersetzen durch:&lt;br /&gt;
    mi_setblockprop (&amp;quot;Luft&amp;quot;,0,sWickel/nLuft,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0);&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_netz_arbeitsspalt_grob.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
==== Bohrung ====&lt;br /&gt;
 -- mi_setblockprop (&amp;quot;Luft&amp;quot;,1,       0      ,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0); ersetzen durch:&lt;br /&gt;
    mi_setblockprop (&amp;quot;Luft&amp;quot;,0,dStift/2/nLuft,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0);&lt;br /&gt;
&lt;br /&gt;
==== Arbeitsluftspalt ====&lt;br /&gt;
 -- mi_setblockprop (&amp;quot;Luft&amp;quot;,1,     0      ,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0); ersetzen durch:&lt;br /&gt;
    mi_setblockprop (&amp;quot;Luft&amp;quot;,0,sAnker/nLuft,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0);&lt;br /&gt;
==== Restspalt ====&lt;br /&gt;
 -- mi_setblockprop (&amp;quot;Luft&amp;quot;,1,      0      ,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0); ersetzen durch:&lt;br /&gt;
    mi_setblockprop (&amp;quot;Luft&amp;quot;,0,sDeckel/nLuft,&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,0,0,0);&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_netz_restspalt_grob.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feldberechnung und Darstellung ===&lt;br /&gt;
&lt;br /&gt;
Nachdem die Vernetzung in den Luftspalten wunschgemäß über den Parameter &#039;&#039;&#039;&#039;&#039;nLuft&#039;&#039;&#039;&#039;&#039; gesteuert werden kann, können wir unser Script fortschreiben. Dazu ergänzen wir die Anweisungen für die Berechnung und das Öffnen des Ergebnisfensters:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Vernetzung und Feld-Berechnung  (nach Speichern des Modells)              --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    :&lt;br /&gt;
    mi_analyze(0);     -- Solverfenster 0=minimiert / 1=sichtbar&lt;br /&gt;
    mi_loadsolution(); -- öffnet Ergebnisfenster für Postprozess&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Beginn des Postprozesses                                                  --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    mo_zoom(0,-rKugel/3,rKugel/3,rKugel/3); -- Rechteckausschnitt in der Kugel&lt;br /&gt;
    mo_showcontourplot (-1); -- Feldlinien normiert auf Bereich (Preferences)&lt;br /&gt;
 -- mo_showdensityplot(legend,gscale,upper_B,lower_B,type);&lt;br /&gt;
    mo_showdensityplot(   1  ,   0  ,   1   ,   0   ,&amp;quot;bmag&amp;quot;);&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_contour_plot_default.gif|right]]&lt;br /&gt;
* Die gebräuchlichste Methode, um ein Gefühl für das berechnete magnetische Feld zu erhalten, ist die Darstellung der &amp;quot;Flusslinien&amp;quot;. Diese repräsentieren die Flusswege, auf denen der magnetische Fluss innerhalb der abgebildeten Geometrie fließt. Je dichter diese Flusslinien liegen, desto größer ist die Flussdichte. Ausgehend vom berechneten Vektor-Potential &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039;, sind die Flusslinien einfach Isolinien von &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039;. Das gilt jedoch nur für den planaren Fall. In axial-symmetrischen Problemen sind es die Isolinien von &#039;&#039;&#039;2·π·r·&#039;&#039;A&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
* Die Feldlinien-Darstellung könnte man im Lua-Script mit &#039;&#039;&#039;&#039;&#039;mo_showcontourplot&#039;&#039;&#039;&#039;&#039; individuell konfigurieren. Wir nutzen im Beispiel mit dem Parameter (-1) die unter &#039;&#039;&#039;&#039;&#039;Edit - Preferences - Magnetics Output&#039;&#039;&#039;&#039;&#039; eingestellte Default-Konfiguration. Die Default-Einstellung für die Feldlinien hat hier den Vorteil, dass die Grenzen automatisch auf den aktuellen Min- und Max-Wert des Feldes gesetzt werden:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_preferences_magnout_default.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_bh-kurve.gif|right]]Der Wert der Flussdichte &#039;&#039;&#039;&#039;&#039;B&#039;&#039;&#039;&#039;&#039; zeigt, in welchem Maße das Eisenmaterial auf der BH-Kurve ausgesteuert wird.  Standardmäßig ist im FEMM-Programm der Density-Plot ausgeschalten. &lt;br /&gt;
* Man könnte die Darstellung von &#039;&#039;&#039;|&#039;&#039;B&#039;&#039;|&#039;&#039;&#039; in den Default-Einstellungen für den Density Plot aktivieren. Wir werden aber die farbige Darstellung des B-Feldes über den Script-Befehl &#039;&#039;&#039;&#039;&#039;mo_showdensityplot&#039;&#039;&#039;&#039;&#039; steuern. Die Wahl geeigneter Grenz-Werte für die Darstellung ist unproblematisch, da der Wert von &#039;&#039;B&#039;&#039; auf Grund der BH-Kennlinie auf ca. &#039;&#039;&#039;2&amp;amp;nbsp;T&#039;&#039;&#039; begrenzt ist. Im Script-Beispiel wurde der obere Grenzwert vorläufig auf &#039;&#039;&#039;1&amp;amp;nbsp;T&#039;&#039;&#039; gesetzt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_density_plot_b.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_femm-output.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Man erkennt nach der Berechnung und Ergebnisdarstellung, dass der Raum außerhalb des Magnetkreises weitestgehend feldfrei ist. &lt;br /&gt;
* Von jedem Punkt des Modells erhält man nach Klick mit der linken Maustaste die wesentlichen magnetischen Größen in einem Ausgabefenster aufgelistet. Im Beispiel ist dies der Punkt im Bereich der höchsten Aussteuerung des Eisenmaterials. Die Größen werden jeweils mit ihrem Betrag und den Komponenten in die entsprechende Koordinaten-Richtung dargestellt.&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Kraft_und_Koppelfluss|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen&amp;diff=15332</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Randbedingungen</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Randbedingungen&amp;diff=15332"/>
		<updated>2014-05-26T12:51:45Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos und Schreibweise korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Geometrie|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Randbedingungen&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Überblick ==&lt;br /&gt;
* Über Zwangsbedingungen kann man definieren, wie sich das Feld über den Rand des Modells hinaus ausbreiten soll. Die richtigen Randbedingungen sind entscheidend für die Modell-Genauigkeit. &lt;br /&gt;
* Das ist abhängig von der Art des Materials, welches an den Modellrand grenzt und der Form des Modellrandes. Die [http://en.wikipedia.org/wiki/Boundary_condition Formulierung der Randbedingungen] ist oft kein triviales Problem! &lt;br /&gt;
* Im Beispiel des magnetischen Wirbelfeldes muss man den unendlichen Luftraum nachbilden, in den sich das Streufeld des Magneten erstreckt (&amp;quot;Open Boundary Problem&amp;quot;). &lt;br /&gt;
Für das elektrostatische Problem der Leiter-Kapazität hatten wir solch ein &amp;quot;Open Boundary Problem&amp;quot; bereits definiert. An dieser Stelle sollen die verschiedenen Ansätze für diese Art von Randbedingungen insbesondere unter dem Aspekt des Magnetfeldes näher betrachtet werden. Für &amp;quot;Open Boundary Problems&amp;quot; kann man drei grundsätzliche Ansätze unterscheiden, welche nach Mathematikern benannt sind:&lt;br /&gt;
# &#039;&#039;&#039;Dirichlet&#039;&#039;&#039; ([http://de.wikipedia.org/wiki/Peter_Gustav_Lejeune_Dirichlet Mathematiker 1805-1859])&amp;lt;br&amp;gt;Wird die abhängige Variable auf dem Rand direkt vorgegeben, liegt eine &amp;quot;[http://de.wikipedia.org/wiki/Dirichlet-Randbedingung &#039;&#039;Dirichlet Randbedingung&#039;&#039;]&amp;quot; vor. Im Wirbelfeld erhält das Vektorpotential am Rand des Modells einen festen Wert. Für magnetische Probleme wird dabei das Vektorpotential entlang der Grenzlinie meist &#039;&#039;&#039;&#039;&#039;A&#039;&#039;=&#039;&#039;0&#039;&#039;&#039;&#039;&#039; gesetzt. Damit verhindert man den magnetischen Fluss über diese Grenzlinie hinweg.&amp;lt;br&amp;gt;Diese Art der Randbedingung setzt voraus, dass um den betrachteten Magnetkreis sich möglichst wenig Streufeld in den Luftraum erstreckt. Bei dem betrachteten Topfmagneten wäre dies der Fall. Wenn man hier einen hinreichend großen Luftraum modelliert (ca. 5x so groß wie der Magnet selbst), so könnte man den äußeren Rand dieses Bereiches mit dem Vektorpotential &#039;&#039;&#039;&#039;&#039;A&#039;&#039;=&#039;&#039;0&#039;&#039;&#039;&#039;&#039; belegen.&amp;lt;br&amp;gt;&#039;&#039;Hinweis:&#039;&#039; Für axialsymmetrische Probleme wird die Symmetrieachse (&#039;&#039;&#039;r=0&#039;&#039;&#039;) automatisch mit &#039;&#039;&#039;&#039;&#039;A&#039;&#039;=&#039;&#039;0&#039;&#039;&#039;&#039;&#039; belegt.&lt;br /&gt;
# &#039;&#039;&#039;Neumann&#039;&#039;&#039; ([http://de.wikipedia.org/wiki/Carl_Gottfried_Neumann Mathematiker 1832-1925])&amp;lt;br&amp;gt;Wird nicht der Wert selbst, sondern seine örtliche Ableitung senkrecht zur Grenzlinie vorgegeben, liegt eine &amp;quot;[http://de.wikipedia.org/wiki/Neumann-Randbedingung &#039;&#039;Neumann Randbedingung&#039;&#039;]&amp;quot; vor. Für magnetische Probleme (mit  &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039;=Normalenvektor zur Grenze) setzt man &#039;&#039;&#039;&#039;&#039;δA/δn&#039;&#039;&amp;amp;nbsp;=&amp;amp;nbsp;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;Diese Randbedingung zwingt den magnetischen Fluss, exakt im Winkel von 90° die Grenze zu durchdringen. Dies beschreibt einen Übergang zwischen einem Material geringer Permeabilität im Modell (z.B. µo für Luft) und einem Material hoher Permeabilität außerhalb des Modells (z.B. Eisen).&amp;lt;br&amp;gt; &#039;&#039;Hinweise:&#039;&#039; &lt;br /&gt;
## Wird im FEMM-Modell keine Randbedingung definiert, so wird standardmäßig die &amp;quot;&#039;&#039;Neumann Randbedingung&#039;&#039;&amp;quot; verwendet. Das widerspiegelt aber selten die Realität (Luft um den Magneten)! &lt;br /&gt;
## Zusätzlich zur &amp;quot;&#039;&#039;Neumann Randbedingung&#039;&#039;&amp;quot; muss mindestens eine ableitungsfreie Randbedingung existieren, um eine eindeutige Lösung zu erhalten! Für axialsymmetrische Magnetprobleme ist dies durch die Belegung der Symmetrieachse gesichert. Ansonsten muss für mindestens einen Punkt (Knoten des Netzes) der Wert des Vektorpotentials vorgegeben werden.&lt;br /&gt;
# &#039;&#039;&#039;Robin&#039;&#039;&#039; ([http://en.wikipedia.org/wiki/Victor_Gustave_Robin Mathematiker 1855-1897])&amp;lt;br&amp;gt;Bei der &amp;quot;[http://en.wikipedia.org/wiki/Robin_boundary_condition &#039;&#039;Robin Randbedingung&#039;&#039;]&amp;quot; handelt es sich um einen Mix aus obigen beiden Formen. Beschrieben wird eine Abhängigkeit zwischen dem Wert von &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039; und seiner &amp;quot;Normalen-Ableitung&amp;quot; an der Grenze. Ein Beispiel für solch eine Randbedingung ist &#039;&#039;&#039;&#039;&#039;δA/δn&#039;&#039;+&#039;&#039;c·A&#039;&#039; = &#039;&#039;0&#039;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;Durch diese Randbedingung ist es möglich, mit einem begrenzten Modellbereich das Verhalten einer unbegrenzten (unendlich großen) Region nachzubilden.&amp;lt;br&amp;gt;&#039;&#039;Hinweis&#039;&#039;: Auch hier ist zusätzlich eine ableitungsfreie Randbedingung für eine eindeutige Lösung erforderlich!&lt;br /&gt;
&lt;br /&gt;
== Modellierung ==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel soll der unendliche Luftraum durch eine Kugelgrenzfläche mit dem Radius R=&#039;&#039;&#039;&#039;&#039;rKugel&#039;&#039;&#039;&#039;&#039;&amp;amp;nbsp;[mm] nachgebildet werden. Dafür ist eine geeignete Robin-Randbedingung zu definieren. Die &amp;quot;asymptotische Randbedingung&amp;quot; beschreibt den Verlauf der Feldlinien an der betrachteten Grenze. Die folgende Gleichung setzt voraus, dass auf beiden Seiten der Grenze die gleiche relative Permeabilität existiert und die Grenze selbst eine Kugelfläche darstellt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_formel_asymptotic_bc.gif| ]] mit [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_formel_asymptotic_bc_c0.gif| ]] und [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_formel_asymptotic_bc_c1.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Da unsere Grenze in Luft verläuft, ist &#039;&#039;&#039;µ&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt;=1&#039;&#039;&#039;. Der Radius &#039;&#039;&#039;R&#039;&#039;&#039; ist in Meter anzugeben, unabhängig von der gewählten Maßeinheit des Problems! &#039;&#039;&#039;&#039;&#039;A&#039;&#039;&#039;&#039;&#039; ist das magnetische Vektorpotential und &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039; repräsentiert den Normalenvektor zur Grenzfläche, in unserem Beispiel der Kugeloberfläche.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis&#039;&#039;&#039;&#039;&#039;: Der Zählerwert=&#039;&#039;&#039;1&#039;&#039;&#039; im Bruch für die Berechnung von &#039;&#039;&#039;c&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&#039;&#039;&#039; ist der problemabhängige Wert für &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039; und gilt nur für den speziellen Fall des magnetischen Dipols im achsensymmetrischen Problem! Falls man z.B. statt einer Dipolspule mehrpolige Permanentmagnet-Anordnungen berechnen möchte, muss man für &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039; einen anderen Wert einsetzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Robin-Randbedingung (Mixed-Type):&#039;&#039;&#039;&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Randbedingungen für die Kugelsphäre als &amp;quot;Open Boundary Conditions&amp;quot;        --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- mi_addboundprop(&amp;quot;name&amp;quot;, A0, A1, A2, Phi, Mu, Sig, c0, c1, BdryFormat);&lt;br /&gt;
 -- BC-Type Mixed: DdryFormat=2, c0 und c1 wie berechnet, alle anderen Parm=0&lt;br /&gt;
    c0=1/(uo*rKugel*mm); c1=0; &lt;br /&gt;
    mi_addboundprop(&amp;quot;RobinBC&amp;quot;, 0, 0, 0, 0, 0, 0, c0, c1, 2);&lt;br /&gt;
 &lt;br /&gt;
* &#039;&#039;&#039;c&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&#039;&#039;&#039; wird abhängig von der aktuellen Magnetgröße berechnet: &#039;&#039;&#039;1/(uo*rKugel*mm)&#039;&#039;&#039;. &lt;br /&gt;
* In der Lua Scriptsprache von FEMM ist &#039;&#039;&#039;uo=µ&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&#039;&#039;&#039; . Das trotz Angabe von &#039;&#039;&#039;&#039;&#039;rKugel&#039;&#039;&#039;&#039;&#039; in [mm] der Radius in Metern benutzt wird, ist Aufgabe des Faktors &#039;&#039;&#039;mm=0.001&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Den Erfolg der Definition sollte man wieder überprüfen:&lt;br /&gt;
* Über &#039;&#039;&#039;&#039;&#039;Properties - Boundary - Modify Property&#039;&#039;&#039;&#039;&#039; erscheint der Parameter-Dialog für die Randbedingung:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_boundary_property.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diese Randbedingung muss nun der Kugeloberfläche zugewiesen werden:&lt;br /&gt;
    mi_seteditmode (&amp;quot;arcsegments&amp;quot;);&lt;br /&gt;
 -- mi_selectarcsegment (  r   ,z); -- Select the arc segment closest to (r,z)&lt;br /&gt;
    mi_selectarcsegment (rKugel,0); --&amp;gt; Mittelpunkt des Bogens&lt;br /&gt;
 -- mi_setarcsegmentprop(maxsegdeg,&amp;quot;propname&amp;quot;,hide,group);&lt;br /&gt;
    mi_setarcsegmentprop(   3     ,&amp;quot;RobinBC&amp;quot; ,  0 , 0   );&lt;br /&gt;
    mi_clearselected();&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_arc_segm_bound_cond.gif|right]]&lt;br /&gt;
Den Erfolg der Zuweisung sollte man nach Abarbeitung des Lua-Scripts wieder über die grafische Oberfläche überprüfen:&lt;br /&gt;
* Im Kreissegment-Modus [[Bild:Software_FEMM_button_arcsegment.gif| ]] und wählt man den Halbkreis durch Anklicken mit der rechten Maustaste. &lt;br /&gt;
* Nach Betätigen der Leertaste oder [[Bild:Software_FEMM_button_properties_dialog.gif| ]] gelangt man in den Dialog, der die Zuordnung der Randbedingung anzeigt.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Geometrie|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Vernetzung_und_Berechnung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Material_und_Stromkreis&amp;diff=15331</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Material und Stromkreis</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Material_und_Stromkreis&amp;diff=15331"/>
		<updated>2014-05-26T12:48:03Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Geometrie|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Material und Stromkreis&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Material ==&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, die Geometrie nicht losgelöst von den stofflich-physikalischen Eigenschaften zu beschreiben. Deshalb sollte man vor der Geometrie alle benötigten Modell-Materialien definieren. Als zusätzliche physikalische Eigenschaften sind z.B. in Magnetkreisen die Eigenschaften der Wicklungsstromkreise zu beschreiben.&lt;br /&gt;
&lt;br /&gt;
Die benötigten Materialien (Luft, Kupferdraht, Eisen) müssen innerhalb des Modells als &amp;quot;Model Materials&amp;quot; definiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Draht ===&lt;br /&gt;
&lt;br /&gt;
* Für den Kupfer-Draht wurde die spezifische Leitfähigkeit von &#039;&#039;&#039;58&amp;amp;nbsp;MS/m&#039;&#039;&#039; benutzt.  &lt;br /&gt;
* Zur richtigen Modellierung des Wickelraums ist die benutzte Cu-Drahtstärke anzugeben:&lt;br /&gt;
** Dafür gilt näherungsweise: &#039;&#039;&#039;d=√&#039;&#039;&#039; &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;(h·b)/w&#039;&#039;&#039;&amp;lt;/span&amp;gt;&#039;&#039;&#039; - dLack&#039;&#039;&#039;.&lt;br /&gt;
** Je nach vorgegebener Windungszahl und Magnet-Geometrie wird eine andere Drahtstärke gewählt. Dabei müsste man eigentlich berücksichtigen, dass nur eine bestimmte Reihe von [http://www.powercroco.de/draht_daten.html Drahtdurchmessern] verfügbar ist. Aus Aufwandsgründen nutzen wir hier nur obige Näherungsformel!&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Materialien (Luft, Kupfer, Eisen)                                         --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- mux, muy     : rel. Permeabilitaet in x- bzw. y-Richtung (hier r bzw. z)&lt;br /&gt;
 -- Hc           : Koerzitivfeldstärke [A/m] -&amp;gt; hier Null&lt;br /&gt;
 -- J            : aktuelle Stromdichte [A/mm²] -&amp;gt; hier Null&lt;br /&gt;
 -- Cduct        : spez. Leitfähigkeit [MS/m] -&amp;gt; nur bei Kupferdraht&lt;br /&gt;
 -- LamD         : Schichtdicke [mm] -&amp;gt; falls Laminat-Type&amp;lt;&amp;gt;0&lt;br /&gt;
 -- PhiHmax      : Hysterese-Verlustwinkel [deg] -&amp;gt; genutzt für BH-Kurve&lt;br /&gt;
 -- LamFill      : Material-Fuellgrad des Volumens -&amp;gt; 1=komplett gefüllt&lt;br /&gt;
 -- LamTyp       : Laminierungstype, z.B. 0=massiv oder in Ebene / 3=Magnetspule&lt;br /&gt;
 -- PhiHx, PhiHy : Hysterese-Verlustwinkel [deg] -&amp;gt; genutzt fuer µ=konst.&lt;br /&gt;
 -- nStr         : Zahl der Einzeldrähte in Spule -&amp;gt; 1 in der Magnetspule&lt;br /&gt;
 -- dWire        : Durchmesser Cu im Spulendraht [mm]&lt;br /&gt;
    bSpule       = 0.5*(dMagnet-dAnker)-dWand-2*sWickel; -- Breite Wickelfenster&lt;br /&gt;
    hSpule       = hTopf-hDeckel-2*sWickel; -- Höhe Wickelfenster&lt;br /&gt;
    dWire        = sqrt(hSpule*bSpule/wSpule)-dLack;&lt;br /&gt;
    mue          = 400; -- nicht mehr wirksam, wenn B-H-Kennlinie definiert!&lt;br /&gt;
 -- mi_addmaterial(’name’ ,mux,muy,Hc,J,Cduct,LamD,PhiHmax,LamFill,LamTyp,PhiHx,PhiHy,nStr,dWire);&lt;br /&gt;
    mi_addmaterial(&amp;quot;Luft&amp;quot; ,  1,  1, 0,0,    0,   0,      0,      1,     0,    0,    0,   0,  0  );&lt;br /&gt;
    mi_addmaterial(&amp;quot;Draht&amp;quot;,  1,  1, 0,0,   58,   0,      0,      1,     3,    0,    0,   1,dWire);&lt;br /&gt;
    mi_addmaterial(&amp;quot;Stahl&amp;quot;,mue,mue, 0,0,    0,   0,      0,      1,     0,    0,    0,   0,  0  );&lt;br /&gt;
&lt;br /&gt;
 -- B-H-Kennlinie Stahl (Vielzahl der Ziffern aus Umrechnung der µ(B)-Funktion)&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 0       ,      0      );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 0.2004  ,    318.31   );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 0.6008  ,    636.62   );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.102   ,   1591.55   );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.386   ,   4774.65   );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.465   ,   7957.75   );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.667548,  32902.23251);&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.789509,  92585.3973 );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 1.878209, 160685.3549 );&lt;br /&gt;
    mi_addbhpoint(&amp;quot;Stahl&amp;quot;, 2.08    , 318310      );&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_myrel_kurve_fem.gif|left]]&lt;br /&gt;
Die BH-Kurve muss in FE-Modellen so gestaltet werden, dass die daraus resultierende µ(B)-Funktion monoton fällt. Ansonsten entstehen numerische Probleme mit dem Gleichungslöser infolge von Mehrdeutigkeiten.&amp;lt;br&amp;gt; &lt;br /&gt;
Die originale µ(B)-Kurve wird deshalb für kleine Flussdichten nicht nachgebildet, sondern die µ(B)-Kurve beginnt mit einem µ, welches etwas größer als der eigentliche Maximalwert von µ ist!&amp;lt;br&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_bh-kurve.gif|right]]&lt;br /&gt;
Das FEMM-System benötigt die zugehörige BH-Kennlinie, die in Form von Stützstellen einzugeben ist. Über diese Stützstellen interpoliert der Solver mittels einer Spline-Funktion. Da für die Berechnung der Haltekraft die Sättigung des Eisens bei hohen Flussdichten entscheidend ist, muss viel Sorgfalt auf die Nachbildung des µ-Wertes für hohe Flussdichten aufgewandt werden. Dieser Wert entspricht dem Anstieg der BH-Kennlinie am Ende. Hier muss (wie im Beispiel) meist noch eine &amp;quot;künstliche&amp;quot; Stützstelle für sehr hohe Feldstärken ergänzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachdem im FEMM obige LUA-Script-Anweisungen abgearbeitet wurden, kann man die daraus resultierenden Material-Definitionen überprüfen (Menü-Punkt &#039;&#039;&#039;&#039;&#039;Properties - Material&#039;&#039;&#039;&#039;&#039;):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_material_draht.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stahl ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_material_stahl.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Nach dem Selektieren von Stahl gelangt man über den Button &#039;&#039;&#039;Modify Property&#039;&#039;&#039; zu den Stahl-Parametern.&lt;br /&gt;
* Die elektrische Leitfähigkeit des Eisenmaterials wurde Null gesetzt, weil sie für statische Berechnungen keine Rolle spielt (keine Wirbelströme)! &lt;br /&gt;
* Der Button &#039;&#039;&#039;Edit B-H-Curve&#039;&#039;&#039; führt zur Liste der Kennlinien-Punkte. &lt;br /&gt;
* Mittels &#039;&#039;&#039;Plot B-H-Curve&#039;&#039;&#039; erhält man die Grafik des zugehörigen Funktionsverlaufs:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_material_stahl_bh_plot.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Luft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_material_luft.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromkreis ==&lt;br /&gt;
&lt;br /&gt;
* Der Bereich der Spulenwicklung muss noch näher spezifiziert werden. Es handelt sich um einen elektrischen Kreis mit eingeprägtem Strom. &lt;br /&gt;
* Eigenschaften solcher elektrischen Kreise werden im FEMM als &amp;quot;Circuit Property&amp;quot; beschrieben:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Circuit Property für die Wicklung definieren (Strom und Wicklungstyp      --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- mi_addcircprop(&amp;quot;circuitname&amp;quot;, i, type) i: Strom / type: 0=parallel 1=seriell&lt;br /&gt;
    mi_addcircprop(&amp;quot;Spule&amp;quot;, iSpule, 1);&lt;br /&gt;
&lt;br /&gt;
* Nach Abarbeitung des LUA-Scripts kann man die erfolgreiche Definition dieses Spulen-Stromkreises auf der grafischen Oberfläche unter &#039;&#039;&#039;&#039;&#039;Properties - Circuits - Modify Property&#039;&#039;&#039;&#039;&#039; überprüfen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_spule_circuit_property.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Geometrie|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition&amp;diff=15330</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Problemdefinition</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition&amp;diff=15330"/>
		<updated>2014-05-26T12:46:41Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Material_und_Stromkreis|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Problemdefinition&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_topfmagnet_glaskoerper_isosicht.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_topfmagnet-schnittansicht.gif| ]]&amp;lt;/div&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bauform des Elektro-Magneten ====&lt;br /&gt;
&lt;br /&gt;
Untersucht werden soll in diesem Übungskomplex der im [[Software:_System-Simulation_-_SimulationX|Simulationspraktikum]] zur Lehrveranstaltung [http://www.ifte.de/lehre/optimierung/uebung.html &amp;quot;Optimierung&amp;quot;] intensiv behandelte Topfmagnet für den Antrieb einer Präge-Nadel:&lt;br /&gt;
* Axial im Eisenkreis befindet sich eine Bohrung für den Stift der Präge-Nadel. &lt;br /&gt;
* Der bewegliche &#039;&#039;&#039;&#039;&#039;Anker&#039;&#039;&#039;&#039;&#039; erfordert im &#039;&#039;&#039;&#039;&#039;Deckel&#039;&#039;&#039;&#039;&#039; des Eisentopfes einen Führungsspalt von 0,1&amp;amp;nbsp;mm. &lt;br /&gt;
* Zwischen &#039;&#039;&#039;&#039;&#039;Deckel&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Topf&#039;&#039;&#039;&#039;&#039; existiert infolge unvermeidlicher Toleranzen und Oberflächen-Rauhigkeiten ein luftgefüllter Restspalt &#039;&#039;&#039;&#039;&#039;sDeckel&#039;&#039;&#039;&#039;&#039; im µm-Bereich &lt;br /&gt;
* Die Kraft im Arbeitsluftspalt &#039;&#039;&#039;&#039;&#039;s&#039;&#039;&#039;&#039;&#039; soll für einen Wertebereich von &#039;&#039;&#039;&#039;&#039;sMin&#039;&#039;≈0&amp;amp;nbsp;mm&#039;&#039;&#039;  bis &#039;&#039;&#039;&#039;&#039;sMax&#039;&#039;=4&amp;amp;nbsp;mm&#039;&#039;&#039; untersucht werden. &lt;br /&gt;
* Die Spule besitzt eine Windungszahl &#039;&#039;&#039;&#039;&#039;wSpule&#039;&#039;=400&#039;&#039;&#039;.&lt;br /&gt;
* Die im Bild nicht dargestellte Spule füllt den Wickelraum fast vollständig aus. Zwischen den Drähten und dem Eisenkreis ist ein &#039;&#039;&#039;&#039;&#039;Spalt&#039;&#039;=0,5&amp;amp;nbsp;mm&#039;&#039;&#039;. &lt;br /&gt;
* Die Gesamtdicke der Lackbeschichtung des Spulendrahtes wird zu &#039;&#039;&#039;&#039;&#039;dLack&#039;&#039;=60&amp;amp;nbsp;µm&#039;&#039;&#039; angenommen. &lt;br /&gt;
* Es wird die nichtlineare Magnetisierungskurve des verwendeten Eisenwerkstoffes benutzt. Die Hysterese der BH-Kurve wird vernachlässigt. &lt;br /&gt;
* Die Wirbelströme im Eisenkreis werden nicht berücksichtigt&lt;br /&gt;
&lt;br /&gt;
==== Experiment-Ziele ====&lt;br /&gt;
&lt;br /&gt;
* Mittels der FEM-Simulation soll die Kraft &#039;&#039;&#039;F&#039;&#039;&#039; im Arbeitsluftspalt in Abhängigkeit von der Ankerposition &#039;&#039;&#039;s&#039;&#039;&#039; und dem aktuellen Strom &#039;&#039;&#039;i&#039;&#039;&#039; berechnet werden. &lt;br /&gt;
* Die Einflüsse von wesentlichen Fertigungstoleranzen auf die Haltekraft des Magneten sind zu untersuchen.&lt;br /&gt;
&lt;br /&gt;
Wir entwickeln das erforderliche Modell sofort als LUA-Script unter Nutzung z.B. des Crimson-Editors. Die Verwendung der  LUA-Konsole von FEMM ist auf Grund des großen Script-Umfangs und unserer bereits vorhandenen Erfahrungen für die Script-Entwicklung nicht mehr empfehlenswert!&lt;br /&gt;
&lt;br /&gt;
==== Definition des Problem-Typs ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Mit der Version &#039;&#039;&#039;FEMM 4.2&#039;&#039;&#039; vom &#039;&#039;&#039;11.&amp;amp;nbsp;April&amp;amp;nbsp;2012&#039;&#039;&#039; wurde unter &#039;&#039;&#039;&#039;&#039;Edit &amp;gt; Preferences&#039;&#039;&#039;&#039;&#039; als Neuerung das abschaltbare &#039;&#039;&#039;&#039;&#039;Smart Meshing&#039;&#039;&#039;&#039;&#039; eingeführt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Elektrostatik_-_Netz_und_Berechnung_preferences_use_smart_meshing.gif| ]]&amp;lt;/div&amp;gt; &lt;br /&gt;
Wir werden im Folgenden das standardmäßig aktivierte &#039;&#039;Smart Meshing&#039;&#039; abschalten. Durch die geplante Einbindung des FEMM-Modells in eine Analyse-/Optimierungsumgebung ergeben sich sehr viele Modellberechnungen. Dazu ist im Sinne der Berechnungszeit ein Kompromiss zwischen Vernetzungsdichte und Berechnungsgenauigkeit erforderlich. Diesen erreicht man nur durch eigene Intelligenz bei der Vernetzung!&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Windows 7-Problem:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;Das Ein-/Ausschalten des &#039;&#039;Smart Meshing&#039;&#039; funktioniert nur, wenn man das Programm als Administrator gestartet hat (&#039;&#039;&#039;&#039;&#039;Kontextmenü FEMM-Startsymbol &amp;gt; Als Administrator ausführen&#039;&#039;&#039;&#039;&#039;). Nach dem Abschalten des &#039;&#039;Smart Meshing&#039;&#039; sollte das FEMM-Programm nicht mehr im Administrator-Modus laufen lassen.&lt;br /&gt;
&lt;br /&gt;
Ein FEM-Script-Modell sollte grundsätzlich mit der Problem-Definition beginnen. Damit werden die Weichen für die eigentliche Modellbildung gestellt:&lt;br /&gt;
* Das &#039;&#039;&#039;&#039;&#039;Magnetic Problem&#039;&#039;&#039;&#039;&#039; konfigurieren wir als &#039;&#039;&#039;&#039;&#039;statisch&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;axialsymmetrisch&#039;&#039;&#039;&#039;&#039; mit der Längeneinheit &#039;&#039;&#039;&#039;&#039;Millimeter&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Im FEMM-Programm werden zusätzlich grundlegende Eigenschaften der späteren Vernetzung und Berechnung festgelegt:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Definition des Problem-Typs                                               --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    create(0);        -- 0=magnetic|1=electrostatic|2=heatflow|3=currentflow&lt;br /&gt;
 -- mi_probdef(frequency,units,type,precision,(depth),(minangle))&lt;br /&gt;
    mi_probdef(0,&amp;quot;millimeters&amp;quot;,&amp;quot;axi&amp;quot;,1e-8,0,30);&lt;br /&gt;
                      -- 1e-8=Max.Fehler für Solver&lt;br /&gt;
                      -- 30° =Min.Winkel für Netz&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis&#039;&#039;&#039;&#039;&#039;: Eine Frequenz=0&amp;amp;nbsp;Hz beschreibt ein statisches Problem. Bei einem Wert&amp;gt;0&amp;amp;nbsp;Hz würde eine harmonische Berechnung mit komplexen Zahlen durchgeführt, bei der alle Feldgrößen mit der gewählten Frequenz schwingen.&lt;br /&gt;
&lt;br /&gt;
==== Parameter ====&lt;br /&gt;
&lt;br /&gt;
Die geplanten Simulationsexperimente sind die Grundlage für die Definition einer Liste von Modellparametern. Durch Änderungen an diesen Modell-Parametern gewinnt der Modell-Anwender Erkenntnisse für die Lösung seines Entwurfsproblems. Man unterscheidet zwei Klassen von Modellparametern:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Entwurfsparameter&#039;&#039;&#039; (Objektbezogen)&lt;br /&gt;
* Konstruktive Parameter (Abmessungen und geometrische Form, Material und Zustandsgrößen: z.B. Vorspannung, Magnetisierung) &lt;br /&gt;
* Technologische Parameter (Streuungen und Grenzwerte konstruktiver Parameter) &lt;br /&gt;
* Betriebsparameter (aktuelle Werte veränderlicher Zustandsgrößen: z.B. Strom, Positionen) &lt;br /&gt;
&#039;&#039;&#039;2. Numerische Parameter&#039;&#039;&#039; (Modellbezogen)&lt;br /&gt;
* Vernetzungsvorgaben (Elementgröße und -form) &lt;br /&gt;
* Solver-Parameter (Verfahren, Genauigkeit) &lt;br /&gt;
&lt;br /&gt;
Da wir Millimeter als günstige Längeneinheit bei der Problem-Definition wählten, müssen Abmessungen konsequent in der Maßeinheit mm angeben werden:&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
 -- Konstruktive, technologische und Betriebs-Parameter                       --&lt;br /&gt;
 -------------------------------------------------------------------------------&lt;br /&gt;
    dMagnet=40;   -- Topf-Durchmesser [mm]&lt;br /&gt;
    hTopf=27.5;   -- Topf-Höhe [mm]&lt;br /&gt;
    dAnker=10;    -- Anker-Durchmesser [mm]&lt;br /&gt;
    lAnker=10;    -- Anker-Länge [mm]&lt;br /&gt;
    hDeckel=2.5;  -- Dicke des Deckels bzw. Topfbodens [mm]&lt;br /&gt;
    dStift=1;     -- Durchmesser der Bohrung [mm]&lt;br /&gt;
    dWand=1;      -- Wandstärke des Topfes [mm]&lt;br /&gt;
    wSpule=400;   -- Windungen in der Spule&lt;br /&gt;
    dLack=0.06;   -- Gesamtdicke der Drahtbeschichtung [mm]&lt;br /&gt;
    sWickel=0.5;  -- Spalt zw. Spulendraht und Eisen [mm]&lt;br /&gt;
    sAnker=1;     -- Arbeitsluftspalt [mm]&lt;br /&gt;
    sDeckel=0.01; -- Restspalt zw. Deckel und Topf [mm]&lt;br /&gt;
    sGleit=0.1;   -- Führungsluftspalt für Anker [mm]&lt;br /&gt;
    iSpule=1;     -- Spulenstrom [A]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Material_und_Stromkreis|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel&amp;diff=15329</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Einfuehrungsbeispiel</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel&amp;diff=15329"/>
		<updated>2014-05-26T12:45:51Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Schreibweise geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Einführungsbeispiel&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_luftspule_feldbild.gif| ]]&amp;lt;/div&amp;gt;  &lt;br /&gt;
Die magnetische Domäne wird als &amp;quot;Magnetics Problem&amp;quot; im Programmsystem FEMM behandelt. Der zugehörige Programm-Modul ermöglicht die Berechnung von 2D- und axialsymmetrischen Problemen für niederfrequente magnetische Felder basierend auf dem Wirbelfeld-Ansatz. &amp;quot;Niederfrequent&amp;quot; bedeutet, dass die Stromverdrängung im elektrischen Leiter infolge hochfrequenter magnetischer Felder nicht im Gleichungssystem berücksichtigt wird.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In Hinblick auf die Einarbeitung in die Magnetfeld-Simulation sollte man unbedingt zuerst das Beispiel &amp;quot;Luftspule&amp;quot; bearbeiten. Die Arbeit mit der grafischen Oberfläche wird Schritt für Schritt in der Datei [http://www.femm.info/Archives/doc/tutorial-magnetic.pdf &#039;&#039;&#039;tutorial-magnetic.pdf&#039;&#039;&#039;] erläutert, welche man zusätzlich zum [http://www.femm.info/Archives/doc/manual42.pdf &#039;&#039;&#039;manual.pdf&#039;&#039;&#039;] auch im FEMM-Programmordner findet. Folgt man den Anweisungen im Tutorial, so kann man kaum etwas falsch machen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle erfolgen deshalb nur einige Hinweise in Bezug auf die Interpretation der Simulationsergebnisse.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_luftspule_density.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;Vektorpotential&#039;&#039;&#039; [[Bild:Software_FEMM_button_contour-plot.gif| ]] &#039;&#039;&#039;(Contour Plot)&#039;&#039;&#039;&lt;br /&gt;
* Das nach der Berechnung im Postprocessing standardmäßig generierte Feldlinienbild repräsentiert Iso-Potentiallinien des Vektorpotentials&lt;br /&gt;
* Die Anzahl der dargestellten Linien sowie den Darstellbereich kann man über den Dialog des Contour-Plot-Buttons ändern.&lt;br /&gt;
* Die Symmetrieachse von axialsymmetrischen Problemen besitzt immer das Vektorpotential 0&amp;amp;nbsp;V·s/m.&lt;br /&gt;
* Das höchste Vektorpotential existiert in der Nähe des äußeren Spulenrandes (&amp;quot;Bergkuppe&amp;quot;).&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Beachte:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt; Nur für planare 2D-Probleme handelt es sich bei den dargestellten Linien um Äquipotentiallinien des Vektorpotentialfeldes A (d.h. gleiche Potentialdifferenzen zwischen benachbarten Linien). Bei axialsymmetrischen 2D-Problemen wird stattdessen die Funktion &#039;&#039;&#039;2·π·r·&#039;&#039;&#039;&amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; mit Äquipotentiallinien abgebildet!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flussdichte&#039;&#039;&#039; [[Bild:Software_FEMM_button_density-plot.gif| ]] &#039;&#039;&#039;(Density Plot)&#039;&#039;&#039;&lt;br /&gt;
* Der Dialog des Density Plot bietet die Möglichkeit, die magn. Flussdichte im Sinne einer farbigen Contour-Darstellung abzubilden (cyan=kleine Werte ... magenta=große Werte).&lt;br /&gt;
* Im oberen Bild erkennt man deutlich, dass es sich bei den dargestellten Feldlinien nicht um Äquipotentiallinien von &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; handelt, denn trotz größerer Linienabstände ist die Induktion &#039;&#039;&#039;B&#039;&#039;&#039; im Spulenzentrum (magenta) größer als in den unteren Wicklungslagen (rot bzw. gelb).&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_luftspule_b-vektoren.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;Feldstärke/Induktion&#039;&#039;&#039; [[Bild:Software_FEMM_button_vector-plot.gif| ]] &#039;&#039;&#039;(Vector Plot)&#039;&#039;&#039;&lt;br /&gt;
* In Form von skalierten Vektoren kann man entweder die magnetische Induktion oder die Feldstärke darstellen lassen.&lt;br /&gt;
* Wählt man die Induktion &#039;&#039;&#039;B&#039;&#039;&#039; (Bildausschnitt der rechten Spulenseite), so erkennt man, dass der Betrag von &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt; vom Anstieg des Vektorpotentialfeldes abhängt.  Die Richtung von &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt; steht in jedem Punkt senkrecht auf dem Gradientenvektor des steilsten Abstiegs.&lt;br /&gt;
* Wählt man die Feldstärke &#039;&#039;&#039;H&#039;&#039;&#039; (unteres Bild), so ist der Betrag der Feldstärke der Induktion proportional (H=B/µ&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;) und besitzt die gleiche Richtung. Die Wicklung der Spule wirkt magnetisch wie Luft.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_luftspule_h-vektoren.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Problemdefinition|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz&amp;diff=15328</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Wirbelfeld-Ansatz</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz&amp;diff=15328"/>
		<updated>2014-05-26T12:44:20Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Schreibweise geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Potentialfeld-Analogie|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Wirbelfeld-Ansatz&#039;&#039;&#039;&amp;lt;/div&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Am Beispiel einer 2D-Magnetfeld-Berechnung soll verdeutlicht werden, was sich hinter der Begriffs- und Formelwelt verbirgt, mit welcher man bei der FEM-Simulation konfrontiert wird. &lt;br /&gt;
&lt;br /&gt;
==== Gewünschte Simulationsergebnisse ====&lt;br /&gt;
&lt;br /&gt;
In einem abgegrenzten Gebiet der x,y-Ebene sollen die magnetische Induktion &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;&#039;&#039;&#039;(x,y)&#039;&#039;&#039; und die elektrische Feldstärke &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&amp;lt;/span&amp;gt;&#039;&#039;&#039;(x,y)&#039;&#039;&#039; als grundlegende Größen berechnet werden:&lt;br /&gt;
* Die magnetische Induktion &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;&#039;&#039;&#039;(x,y)&#039;&#039;&#039; ist ein Vektor in der x,y-Ebene&lt;br /&gt;
* Die elektrische Feldstärke &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&amp;lt;/span&amp;gt;&#039;&#039;&#039;(x,y)&#039;&#039;&#039; ist ein Vektor in z-Richtung (Senkrecht zur Induktion!)&lt;br /&gt;
* Alle anderen elektrischen und magnetischen Größen lassen sich über Abhängigkeiten aus &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt; und &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&amp;lt;/span&amp;gt; berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Maxwellsche Gleichungen ====&lt;br /&gt;
&lt;br /&gt;
Der Wirbelfeld-Ansatz berücksichtigt die Verkopplung zwischen dem elektrischen und dem magnetischen Feld über die ersten beiden [http://de.wikipedia.org/wiki/Maxwellsche_Gleichungen Maxwellschen Gleichungen] sowie die Quelleneigenschaften von magn. und elektrischem Feld:&lt;br /&gt;
# &#039;&#039;&#039;Durchflutungsgesetz&#039;&#039;&#039; (rot &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&amp;lt;/span&amp;gt; = &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&amp;lt;/span&amp;gt; + δ&amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&amp;lt;/span&amp;gt; / δt) &amp;lt;br /&amp;gt;Das Umlaufintegral der magn. Feldstärke (MMK) ist gleich der Summe der von diesem Umlauf umfassten Ströme, dies verdeutlicht die Integralform (Gesetz von Stokes).&lt;br /&gt;
# &#039;&#039;&#039;Induktionsgesetz&#039;&#039;&#039; (rot &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&amp;lt;/span&amp;gt; = -δ&amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt; / δt) &amp;lt;br /&amp;gt;Das Umlaufintegral der elektrischen Feldstärke ist gleich der von diesem Umlauf umfassten Flussänderungsgeschwindigkeit (EMK)&lt;br /&gt;
# &#039;&#039;&#039;Quellenfreiheit des Magnetfeldes&#039;&#039;&#039; (div &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;=0) &amp;lt;br /&amp;gt;Der in eine Hülle &amp;quot;hineinströmende&amp;quot; Fluss ist gleich dem aus dieser Hülle &amp;quot;herausströmenden&amp;quot; Fluss.&lt;br /&gt;
# &#039;&#039;&#039;Elektrische Ladungsquelle&#039;&#039;&#039; (div &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&amp;lt;/span&amp;gt;=ρ) &amp;lt;br /&amp;gt;Die Differenz aus der in eine Hülle hineinströmenden Ladung und der herausströmenden Ladung entspricht der Ladungsänderung des umhüllten Volumens.&lt;br /&gt;
&lt;br /&gt;
==== Magnetisches Vektorpotential ====&lt;br /&gt;
&lt;br /&gt;
Das Berechnungsproblem lässt sich numerisch vereinfachen, wenn man es auf die Berechnung des so genannten [http://de.wikipedia.org/wiki/Vektorpotential magnetischen Vektorpotentials] reduziert:&lt;br /&gt;
* Für beliebige Wirbelfelder (die immer quellenfrei sind!) lässt sich ein &amp;quot;allgemeines&amp;quot; Vektorpotential &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; definieren (div rot &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;=0).&lt;br /&gt;
* Für magnetische Felder gilt wegen der Quellenfreiheit div &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;=0.&lt;br /&gt;
* Daraus schlussfolgerte Maxwell &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;=rot &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;, womit der Zusammenhang zwischen &amp;quot;konkreter&amp;quot; Induktion und &amp;quot;abstraktem&amp;quot; Vektorpotential hergestellt ist.&lt;br /&gt;
* Da &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; als zu berechnende Unbekannte in unserem 2D-Beispiel nur eine Komponente in z-Richtung besitzt, reduziert sich der Rechenaufwand für das Gleichungssystem gewaltig.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y) kann man sich als Lösungsfläche über der betrachteten x,y-Ebene vorstellen, wenn man die Länge &#039;&#039;&#039;z&#039;&#039;&#039; des Vektors &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y) als Höhenwert über dem Punkt (x,y) aufträgt.&lt;br /&gt;
* Die Neigung dieser Fläche entspricht in jedem Punkt (x,y) der dort vorhandenen Induktion &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;big&amp;gt; &#039;&#039;&#039;B&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;&#039;&#039;&#039; = &#039;&#039;δ&#039;&#039;&amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; / &#039;&#039;δy&#039;&#039;  und  &#039;&#039;&#039;B&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt;&#039;&#039;&#039; = -&#039;&#039;δ&#039;&#039;&amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; / &#039;&#039;δx&#039;&#039; &amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Das ergibt sich aus der vollständigen Koordinaten-Darstellung des Differential-Operators &#039;&#039;&#039;rot&#039;&#039;&#039;. Weil &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y,z) nur ein Vektor in z-Richtung ist, sind die partiellen Ableitungen von A&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; und A&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; in alle 3 Koordinatenrichtungen gleich Null:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;big&amp;gt; &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y,z) = rot &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt;(x,y,z)  &amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_formel_rot-gleichung.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_vektor-pot_homogenes_feld.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Das Bild soll den Zusammenhang zwischen dem Vektorpotential &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&amp;lt;/span&amp;gt; und der Induktion &amp;lt;span style=&amp;quot;text-decoration: overline&amp;quot;&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&amp;lt;/span&amp;gt; am Beispiel eines homogenen Magnetfeldes verdeutlichen. Die grüne Fläche repräsentiert das berechnete Vektorpotential. Der negative Anstieg an der Fläche entspricht im Beispiel dem Wert der Induktion in y-Richtung.&lt;br /&gt;
* Stellt man das Vektorfeld durch Äquipotentiallinien dar, indem man Punkte gleichen Vektorpotentials (gleicher Höhe) verbindet, so entsteht das Feldlinienbild des Magnetfeldes:&lt;br /&gt;
** Zwischen benachbarten Äquipotentiallinien existieren gleiche Potentialdifferenzen.&lt;br /&gt;
** Starke Anstiege des Vektorfeldes entsprechen großen Induktionswerten und widerspiegeln sich in dicht beieinander liegenden Feldlinien.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Potentialfeld-Analogie|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Einfuehrungsbeispiel|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Potentialfeld-Analogie&amp;diff=15327</id>
		<title>Software: FEM - Tutorial - Magnetfeld - Potentialfeld-Analogie</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Magnetfeld_-_Potentialfeld-Analogie&amp;diff=15327"/>
		<updated>2014-05-26T12:43:22Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Magnetfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Physik|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Potentialfeld-Analogie&#039;&#039;&#039;&amp;lt;/div&amp;gt;  &lt;br /&gt;
In den bisherigen Übungen haben wir zur FEM-Simulation elektrischer Felder in FEMAP die Analogien zum Temperatur-Feld benutzt. Nur so konnte man mit den Mitteln dieses FEM-System die elektrische Domäne behandeln. Zur Erinnerung werden diese Analogien hier noch einmal dargestellt:&lt;br /&gt;
              |&#039;&#039;&#039;Temperatur-Feld&#039;&#039;&#039;     |&#039;&#039;&#039;Elektr. (Fluss-)Feld&#039;&#039;&#039;  |&#039;&#039;&#039;Elektrostatisches Feld&#039;&#039;&#039; &lt;br /&gt;
 ---------------------------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Potential&#039;&#039;&#039;    |Temperatur          |elektrische Spannung  |el.statisches Potential&lt;br /&gt;
 .            |[K]                 |[V]                   |[V]&lt;br /&gt;
 ---------------------------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Pot.Gradient&#039;&#039;&#039; |Temperatur-Gradient |el. Spannungsabfall   |Feldstärke&lt;br /&gt;
 .            |[K/m]               |[V/m]                 |[V/m]&lt;br /&gt;
 ---------------------------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Material-&#039;&#039;&#039;    |Wärmeleitfähigkeit  |spez. el. Leitfähigk. |Dielektrizitätskonst.&lt;br /&gt;
 &#039;&#039;&#039;eigenschaft&#039;&#039;&#039;  |[W/(K·m)]           |[1/(Ohm·m)]           |[(A·s)/(V·m)]&lt;br /&gt;
 ---------------------------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Flussgröße&#039;&#039;&#039;   |Wärmestrom          |Elektrischer Strom    |Verschiebung (Ladung)&lt;br /&gt;
 .            |[W]                 |[A]                   |[A·s]&lt;br /&gt;
 ---------------------------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Flussdichte&#039;&#039;&#039;  |Wärmestromdichte    |Stromdichte           |Ladungsdichte&lt;br /&gt;
 &amp;quot;Flächenlast&amp;quot;|[W/m²]              |[A/m²]                |[(A·s)/m²]&lt;br /&gt;
Auch für die magnetische Domäne kann man solche Analogien definieren, wobei sich je nach Zielstellung unterschiedliche Varianten von Analogiebeziehungen bewährt haben. Problematisch bei der Analogie zum Temperaturfeld ist der Wirbelfeld-Charakter des Magnetfeldes (Quellenfreiheit)!&lt;br /&gt;
&lt;br /&gt;
Für Wärmefelder gilt: [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_formel_temperaturfeld.gif| ]]&lt;br /&gt;
 &#039;&#039;&#039;{C}&#039;&#039;&#039;    Wärmekapazitätsmatrix &lt;br /&gt;
 &#039;&#039;&#039;{T&#039;}&#039;&#039;&#039;   Vektor der Temperaturänderungsgeschwindigkeit &lt;br /&gt;
 &#039;&#039;&#039;{K}&#039;&#039;&#039;    Leitfähigkeitsmatrix &lt;br /&gt;
 &#039;&#039;&#039;{T}&#039;&#039;&#039;    Temperaturvektor &lt;br /&gt;
 &#039;&#039;&#039;{Q(t)}&#039;&#039;&#039; Wärmestromvektor &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_ersatzschaltung_thermisch.gif|right]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Wärmegleichung beschreibt die Leistungsbilanz für jeden Knoten:&lt;br /&gt;
:&#039;&#039;&#039;Q(t)&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;Energiefluss zur Netzumgebung (Last) &lt;br /&gt;
:&#039;&#039;&#039;C·T&#039;&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;Energiefluss in Wärmespeicher des Knoten &lt;br /&gt;
:&#039;&#039;&#039;K·T&#039;&#039;&#039; &amp;amp;nbsp;&amp;amp;nbsp;Energiefluss über die Wärmeübergangswiderstände zu den Nachbarknoten &lt;br /&gt;
Analogien zum Magnetfeld lassen sich nur für den statischen Fall aufstellen, d.h., wenn Speicherelemente nicht berücksichtigt werden (&#039;&#039;&#039;{C}={0}&#039;&#039;&#039;). Dann gelten die bekannten Analogien:&lt;br /&gt;
 &#039;&#039;&#039;{K}&#039;&#039;&#039;    Permeabiltätsmatrix &#039;&#039;&#039;{µ}&#039;&#039;&#039; &lt;br /&gt;
 &#039;&#039;&#039;{T}&#039;&#039;&#039;    Vektor der magnetischen Potentiale &#039;&#039;&#039;{Vm}&#039;&#039;&#039; &lt;br /&gt;
 &#039;&#039;&#039;{Q(t)}&#039;&#039;&#039; Vektor der magnetischen Flüsse &#039;&#039;&#039;{Φ}&#039;&#039;&#039; &lt;br /&gt;
Diese Analogien zwischen dem Temperatur- und dem Magnetfeld nun vollständig in tabellarischer Form:&lt;br /&gt;
              |&#039;&#039;&#039;Temperatur-Feld&#039;&#039;&#039;     |&#039;&#039;&#039;Magnetfeld&#039;&#039;&#039; &lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Potential&#039;&#039;&#039;    |Temperatur          |magnetische Spannung &lt;br /&gt;
 .            |[K]                 |[A] &lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Pot.Gradient&#039;&#039;&#039; |Temperatur-Gradient |magnetische Feldstärke&lt;br /&gt;
 .            |[K/m]               |[A/m]&lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Material-&#039;&#039;&#039;    |Wärmeleitfähigkeit  |Permeabilität&lt;br /&gt;
 &#039;&#039;&#039;eigenschaft&#039;&#039;&#039;  |[J/(K·m)]           |[V·s/(A·m)] &lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Flussgröße&#039;&#039;&#039;   |Wärmestrom          |magnetischer Fluss&lt;br /&gt;
 .            |[W]                 |[V·s=Wb] &lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
 &#039;&#039;&#039;Flussdichte&#039;&#039;&#039;  |Wärmestromdichte    |magn. Flussdichte (Induktion)&lt;br /&gt;
 &amp;quot;Flächenlast&amp;quot;|[W/m²]              |[(V·s)/m²=T]&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_spulen-mmk.gif|right]]&lt;br /&gt;
Damit diese Analogien funktionieren, muss man im räumlichen Bereich der MMK (=Spule) einen magnetischen &amp;quot;Isolator&amp;quot; (magn. Leitwert=0&amp;amp;nbsp;H) vorsehen: &lt;br /&gt;
* Es genügt ein hinreichend großes &amp;quot;Loch&amp;quot; an der Spulen-Position im Netz. &lt;br /&gt;
* Wenn man an einer Seite des MMK-Loches eine Flussdichte in den magnetischen Kreis speist und die andere Seite mittels &amp;quot;Konvektion&amp;quot; auf Nullpotential zieht, stellt sich eine magn. Spannung über der MMK ein. &lt;br /&gt;
* Aus dem eingespeisten magnetischen Fluss und dem berechneten MMK-Wert kann man den magnetischen Widerstand des gesamten Magnetkreises (aus &amp;quot;Sicht&amp;quot; der MMK) berechnen.&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_topfmagnet-schnittansicht.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Magnetfeld_-_topfmagnet-potentialfeld.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Anwendung dieser Potentialfeld-Analogie für magnetische Kreise weist Schwächen auf:&lt;br /&gt;
* Magnetische Durchflutungen (Spulen) können nur eingeschränkt berücksichtigt werden, da es nicht möglich ist, den elektrischen Strom als Ursache des Magnetfeldes im Modell direkt zu berücksichtigen. &lt;br /&gt;
* Komplette Magnetkreise sind nur eingeschränkt modellierbar, da das Wirbelfeld &amp;quot;aufgeschnitten&amp;quot; und als Potentialfeld zwischen 2 magnetischen Polen betrachtet werden muss. &lt;br /&gt;
* Deshalb werden wir im Folgenden nur das FEMM-Programm benutzen, welches den Wirbelfeld-Charakter des Magnetfeldes behandeln kann!&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Physik|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Magnetfeld_-_Wirbelfeld-Ansatz|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Waerme-induzierte_Verformung&amp;diff=15326</id>
		<title>Software: FEM - Tutorial - Feldkopplung - MP - Thermo-Bimetall - Waerme-induzierte Verformung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Waerme-induzierte_Verformung&amp;diff=15326"/>
		<updated>2014-05-26T12:41:29Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo und Interpunktion korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Transiente_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_waermeinduzierte_Verformung_-_Ergebniskontur.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Wärme-induzierte Verformung (unidirektional) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kopplung zwischen Wärme und Mechanik werden wir in dieser Übung nur für den stationären Fall durchführen. Dafür nutzen wir als Grundlage eine Kopie des mechanischen Szenarios &#039;&#039;&#039;&amp;quot;Konstante Temperatur 100°C&amp;quot;&#039;&#039;&#039; unter der Bezeichnung &#039;&#039;&#039;&amp;quot;Waermeinduzierte Verformung&#039;&#039;&#039;&amp;quot;:&lt;br /&gt;
* Als thermische Körperlast hatten wir im mechanischen Modell eine konstante Temperatur von 100°C vorgegeben (&#039;&#039;&#039;Standardkontentemperatur=100°C&#039;&#039;&#039;). Diese Temperatur wirkte, weil als Quelle für die &#039;&#039;&#039;Knotentemperatur=Modelldatei&#039;&#039;&#039; eingestellt war. &lt;br /&gt;
* Wir wählen nun als Quelle für die Knotentemperatur eine vorherige &#039;&#039;&#039;Stationäre Analyse&#039;&#039;&#039;.&lt;br /&gt;
* Als Standardknotentemperatur wurden 20°C eingestellt (entspricht dem unverformten Zustand).&lt;br /&gt;
* Die zugehörigen Temperaturdaten aller Knoten übernehmen wir aus der Datei der &#039;&#039;Thermal Analysis Results&#039;&#039; &#039;&#039;&#039;(*.to)&#039;&#039;&#039; aus dem Datenordner des zugehörigen Szenarios (2=Staionaere Erwaermung). Damit werden die Standardknotentemperatur der Knoten überschrieben:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_waermeinduzierte_Verformung_-_Eingabedatei.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Szenario &#039;&#039;&#039;&amp;quot;Stationaere Erwaermung&amp;quot;&#039;&#039;&#039; wählen wir im &#039;&#039;&#039;Setup&#039;&#039;&#039; der &#039;&#039;&#039;Modellparamter&#039;&#039;&#039; die Knotentemperaturen als Bestandteil der Ausgabedatei:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_waermeinduzierte_Verformung_-_Ausgabedatei_fuer_T.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Die Datei &#039;&#039;&#039;ds.to&#039;&#039;&#039; wird unabhängig von den gewählten Ausgabeergebnissen im Datenordner des Szenarios angelegt. Auch von uns benötigten Knotentemperaturen werden darin nach der Simulation gespeichert (ohne dass man diese zuvor als Ergebnis wählen muss!)&lt;br /&gt;
* Damit die abgespeicherten Ergebnisse in einem anderen Szenario wieder richtig eingelesen werden können, müssen die beiden Netze exakt die gleiche Knoten-Struktur aufweisen.&lt;br /&gt;
&lt;br /&gt;
Nur der mittlere Teil des Bimetallstreifens erwärmt sich auf eine Temperatur von ca. 100°C, während die Ränder wesentlich kühler bleiben. Deshalb ist die resultierende Verbiegung geringer, als bei einer homogenen Temperatur von 100°C.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frage 4&#039;&#039;&#039;:&amp;lt;br&amp;gt;Wie groß ist der Auslenkung des Bimetallstreifens in Z-Richtung nach der stationären Erwärmung unter den angegebenen Bedingungen, wenn der unverformte Zustand bei 20°C vorliegt?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Transiente_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Transiente_Simulation&amp;diff=15325</id>
		<title>Software: FEM - Tutorial - Feldkopplung - MP - Thermo-Bimetall - FEMM-Transiente Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Transiente_Simulation&amp;diff=15325"/>
		<updated>2014-05-26T12:40:27Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Transiente_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Waerme-induzierte_Verformung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Transiente Simulation (FEMM - Heat Flow Problem)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-temperaturverteilung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-problem-def.gif|right]]&lt;br /&gt;
Das Programm &#039;&#039;FEMM&#039;&#039; ermöglichte ursprünglich nur die stationäre Berechnung von Wärmestrom-Problemen unter Berücksichtigung der Wärmeleitung, Konvektion und Strahlung. Inzwischen sind auch transiente thermische Berechnungen mit diesem Programm möglich.&lt;br /&gt;
&lt;br /&gt;
In dem Eingabefeld &amp;quot;Previous Solution File Name&amp;quot; kann man beschreiben, von welcher Lösung ausgehend der aktuelle Zeitschritt durchgeführt werden soll. Gibt man einen File-Namen an (&#039;&#039;&#039;.anh&#039;&#039;&#039;-Datei mit Ergebnissen der Wärmeberechnung), so wird das Eingabefeld für den &amp;quot;Time Step&amp;quot; aktiviert. Man kann dann angeben, wieviel Zeit von der vorherigen Lösung bis zur neu zu berechnenden Lösung vergehen soll:&lt;br /&gt;
* Auf dem Niveau der grafischen Oberfläche kann man damit nur extrem umständlich Schritt für Schritt durch den Zeitbereich bewegen!&lt;br /&gt;
* Praktikabel ist nur ein Script, welches diesen Prozess automatisiert.&lt;br /&gt;
* [http://www.femm.info/wiki/TransientHeat David Meeker hat ein Beispiel zur Verfügung gestellt]. In diesem LUA-Script zeigt er, wie man sich ausgehend von einem Anfangszustand Schritt für Schritt durch eine Folge von Berechnungen bewegt, indem man den &amp;quot;Previous Solution File Name&amp;quot; ändert, während man in einer Schleife die gewünschte Zahl von Zeitschritten abarbeitet.&lt;br /&gt;
&lt;br /&gt;
Mit diesem Wissen können wir die transiente Erwärmung unseres Bimetallstreifens ebenfalls auf Basis eines LUA-Scripts simulieren:&lt;br /&gt;
* Wir benutzen das mittels der grafischen Oberfläche bereits erstellte Modell &#039;&#039;&#039;Bimetall_xx.FEH&#039;&#039;&#039;.&lt;br /&gt;
* Das LUA-Script soll nur die Ablaufsteuerung im Zeitbereich übernehmen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Berücksichtigung der Wärmekapazitäten&#039;&#039;&#039;&lt;br /&gt;
* Für die stationäre Berechnung des Endzustandes der Erwärmung waren die Werte für die [http://de.wikipedia.org/wiki/Spezifische_Wärmekapazität &#039;&#039;&#039;spezifische Wärmekapazität&#039;&#039;&#039;] der Materialien ohne Bedeutung, da sie im Gleichungssystem nicht benutzt wurden.&lt;br /&gt;
* Für die Materialien sind folgende massenbezogene Werte der spezifischen Wärmekapazität bekannt:&lt;br /&gt;
** spez. Wärmekapazität (Kupfer) = &#039;&#039;&#039;385&amp;amp;nbsp;J/(kg·K)&#039;&#039;&#039; &lt;br /&gt;
** spez. Wärmekapazität (Invar) = &#039;&#039;&#039;514&amp;amp;nbsp;J/(kg·K)&#039;&#039;&#039; &lt;br /&gt;
* Leider erwartet FEMM die Eingabe volumenbezogen in MJ/(m³·K). Wir müssen die Werte unter Berücksichtigung der Massedichten also erst umrechnen:&lt;br /&gt;
** Massedichte (Kupfer) = &#039;&#039;&#039;8960&amp;amp;nbsp;kg/m³&#039;&#039;&#039; &lt;br /&gt;
** Massedichte (Invar) = &#039;&#039;&#039;8130&amp;amp;nbsp;kg/m³&#039;&#039;&#039;&lt;br /&gt;
* Der volumenbezogene Wert in &#039;&#039;&#039;J/(m³·K)&#039;&#039;&#039; ergibt sich, indem man den massebezogenen Wert mit der Massedichte multipliziert. Die Umrechnung in &#039;&#039;&#039;MJ/(m³·K)&#039;&#039;&#039; ist dann einfach. &lt;br /&gt;
* Die Eintragung der korrekten Werte in die Material-Eigenschaften sollte man gründlich überprüfen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-material-invar.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&#039;&#039;&#039;2. Berechnung des Anfangszustandes für t=0&amp;amp;nbsp;s&#039;&#039;&#039;&lt;br /&gt;
* Eigentlich kennen wir den Anfangszustand vor dem Einspeisen der Wärmeenergie in den Kupferstreifen. Der gesamte Bimetallstreifen besitzt die Umgebungstemperatur von 40°C.&lt;br /&gt;
* Mit diesem Zustand müssen wir jedoch eine Ergebnisdatei erzeugen, welche als Eingabedatei für den ersten Zeitschritt benötigt wird.&lt;br /&gt;
* Dazu erzeugen wir eine Kopie &#039;&#039;&#039;Bimetall0_xx.FEH&#039;&#039;&#039; unseres FEMM-Modells.&lt;br /&gt;
* In dieser Kopie setzen wir die Wärmeerzeugung im Kupfermaterial auf Null und führen eine normale stationäre Simulation durch. Infolge der automatischen Normierung der Farbskale wird das numerische Rauschen sichtbar:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_transient_Anfangszustand.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Es entsteht damit eine Ergebnisdatei &#039;&#039;&#039;Bimetall0_xx.anh&#039;&#039;&#039;, welche wir als &#039;&#039;&#039;Previous Solution File&#039;&#039;&#039; in der Problem-Definition für den ersten Zeitschritt der transienten Simulation nutzen können.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Verifizierung des transienten Modells für den ersten Zeitschritt&#039;&#039;&#039;&lt;br /&gt;
* Um unser stationäres Modell nicht zu zerstören, erzeugen wir daraus eine weitere Kopie &#039;&#039;&#039;Bimetall1_xx.FEH&#039;&#039;&#039;.&lt;br /&gt;
* Dieses Modell benutzen wir testweise zur Simulation des ersten Zeitschrittes von &#039;&#039;&#039;0.2&amp;amp;nbsp;s&#039;&#039;&#039;. Dazu müssen wir den kompletten Pfad für die zu verwendende Ergebnisdatei angeben:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_transient_Problem_erster_Schritt.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Nach 0.2&amp;amp;nbsp;s hat sich der Kupferstreifen in der Mitte bereits um ca. 3&amp;amp;nbsp;K erwärmt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_transient_Ergebnis_erster_Schritt.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Ablaufsteuerung der transienten Simulation mittels LUA-Script&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wenn der transiente Simulationsprozess mit unserem Modell funktioniert, können wir mit dem Aufbau der Ablaufsteuerung mittels LUA-Script &#039;&#039;&#039;Bimetall_xx.LUA&#039;&#039;&#039; beginnen:&lt;br /&gt;
* Man kann für jeden Zeitschritt komfortabel die Ergebnisse der Modellrechnung mit den Funktionen des Postprozesses aufbereiten.&lt;br /&gt;
* Es gibt jedoch keine direkte Möglichkeit im FEMM, über die Zeitschritte hinweg den zeitlichen Verlauf von physikalischen Größen darzustellen.&lt;br /&gt;
* Um dies zu erreichen, muss man die benötigten Ergebnisse jedes Zeitschrittes in Dateien schreiben und nach der gesamten transienten Simulation mit separater Software diese Daten aufbereiten.&lt;br /&gt;
* Wir beschränken uns hier beispielhaft auf eine qualitative grafische Animation des zeitlichen Verlaufes der Erwärmung im Bimetall. Dazu erzeugen wir von jedem Zeitschritt eine Bitmap-Hardcopy des FEMM-Grafikfensters mit der als Farb-Kontur dargestellten Temperaturverteilung.&lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Die Größe des Bitmap-Bildes ergibt sich aus der Größe des FEMM-Fensters beim Aufruf des LUA-Scripts. &lt;br /&gt;
* Die nicht mehr benötigten Modell- und Ergebnisdateien werden automatisch gelöscht, weil das nachträgliche manuelle Löschen sehr aufwändig ist.&lt;br /&gt;
 &lt;br /&gt;
 -- aktuelle Teilnehmer-Nummer xx als Zeichenkette 00..99 verwenden!&lt;br /&gt;
 -- myDir ist nicht erforderlich, da LUA-Script direkt im FEMM geöffnet wird&lt;br /&gt;
 -- Zeitsteuerung&lt;br /&gt;
    Step  = 0.2; -- in [s]&lt;br /&gt;
    Steps = 100; -- entspricht 20s  &lt;br /&gt;
 -- Berechnung der Knotentemperaturen für t=0 -&amp;gt; Ergebnisse in &amp;quot;Bimetall0_xx.anh&amp;quot;&lt;br /&gt;
    open(&amp;quot;Bimetall0_xx.FEH&amp;quot;);&lt;br /&gt;
    hi_analyze();&lt;br /&gt;
 -- Hardcopy der aktuellen Temperaturverteilung als .BMP-Datei&lt;br /&gt;
    hi_loadsolution();&lt;br /&gt;
    hi_close();&lt;br /&gt;
 -- ho_showdensityplot(legend,gscale,type,upper,lower)&lt;br /&gt;
    ho_showdensityplot(1,0,0,373.15,313.15,0);&lt;br /&gt;
    ho_savebitmap(&amp;quot;Bimetall0_xx.bmp&amp;quot;);&lt;br /&gt;
    ho_close();&lt;br /&gt;
 -- Öffnen des transienten Modells    &lt;br /&gt;
    open(&amp;quot;Bimetall1_xx.FEH&amp;quot;);&lt;br /&gt;
    for n=1,Steps do&lt;br /&gt;
    -- Im aktuellen Modell wird &lt;br /&gt;
    -- &amp;quot;Previous Solution File Name&amp;quot; auf die vorherige Ergebnisdatei gelenkt.&lt;br /&gt;
    -- &amp;quot;Time Step&amp;quot; auf Step gesetzt&lt;br /&gt;
    -- die übrigen Parameter müssen dem Modell des Anfangszustands entsprechen (gleiches Netz!):&lt;br /&gt;
       hi_probdef(&amp;quot;millimeters&amp;quot;,&amp;quot;planar&amp;quot;,1.e-8,8,30,&amp;quot;Bimetall&amp;quot;..(n-1)..&amp;quot;_xx.anh&amp;quot;,Step);&lt;br /&gt;
       hi_saveas(&amp;quot;Bimetall&amp;quot;..n..&amp;quot;_xx.feh&amp;quot;); -- Speichern des modifizierten Modells&lt;br /&gt;
       hi_analyze();                        -- Berechnung mit dem aktuell gespeichertem Modell&lt;br /&gt;
    -- Hardcopy der aktuellen Temperaturverteilung als .BMP-Datei&lt;br /&gt;
       hi_loadsolution();                   	&lt;br /&gt;
    -- ho_showdensityplot(legend,gscale,type,upper,lower)&lt;br /&gt;
       ho_showdensityplot(1,0,0,373.15,313.15,0); -- Grenzen: 40°C-100°C&lt;br /&gt;
       ho_savebitmap(&amp;quot;Bimetall&amp;quot;..n..&amp;quot;_xx.bmp&amp;quot;);&lt;br /&gt;
    -- Löschen nicht mehr benötigter Dateien&lt;br /&gt;
       if n&amp;gt;1      then remove (&amp;quot;Bimetall&amp;quot;..n..&amp;quot;_xx.feh&amp;quot;); end;&lt;br /&gt;
       if n&amp;gt;1      then remove (&amp;quot;Bimetall&amp;quot;..(n-1)..&amp;quot;_xx.anh&amp;quot;); end;&lt;br /&gt;
       if n==Steps then remove (&amp;quot;Bimetall&amp;quot;..(n)..&amp;quot;_xx.anh&amp;quot;); end;&lt;br /&gt;
       ho_close();&lt;br /&gt;
    end;&lt;br /&gt;
Aus den Einzelbildern kann man nachträglich mit geeigneter Grafiksoftware z.B. eine animierte GIF-Datei erstellen, im Beispiel sieht man die Erwärmung ungefähr in Echtzeit:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_transient_Ergebnis-Animation.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Transiente_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Waerme-induzierte_Verformung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Stationaere_Simulation&amp;diff=15324</id>
		<title>Software: FEM - Tutorial - Feldkopplung - MP - Thermo-Bimetall - FEMM-Stationaere Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_FEMM-Stationaere_Simulation&amp;diff=15324"/>
		<updated>2014-05-26T12:38:35Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Formulierung geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Stationaere_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Transiente_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Stationäre Simulation (FEMM - Heat Flow Problem)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-temperaturverteilung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-problem-def.gif|right]]&lt;br /&gt;
Wir konfigurieren unser neues Modell in &#039;&#039;FEMM&#039;&#039; als planares &#039;&#039;&#039;Heat Flow Problem&#039;&#039;&#039;:&lt;br /&gt;
* Die &#039;&#039;&#039;Maßeinheit&#039;&#039;&#039; Millimeter besitzt eine günstige Größenordnung.&lt;br /&gt;
* Die &#039;&#039;&#039;Geometrie&#039;&#039;&#039; der beiden verbundenen Metallstreifen kann man damit im geeignet konfigurierten Raster oder auch manuell sehr einfach eingeben.&lt;br /&gt;
Die &#039;&#039;&#039;Materialien&#039;&#039;&#039; definieren wir selbst, um exakt die gleichen Werte wie im Simulation-Multiphysics-Modell zu verwenden:&lt;br /&gt;
* Für die transiente Berechnung von thermischen Problemen in &#039;&#039;FEMM&#039;&#039; kann man die dafür benötigte Wärmekapazität [MJ/(m³*K) der Materialien angeben. Dieser Wert wird jedoch in der stationären Simulation nicht benutzt.&lt;br /&gt;
* &#039;&#039;&#039;Invar&#039;&#039;&#039; besitzt eine spezifische Wärmeleitfähigkeit von 10,5&amp;amp;nbsp;W/(m·K) &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-material-invar.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Kupfer&#039;&#039;&#039; mit 402&amp;amp;nbsp;W/(m·K) dient hier gleichzeitig als Wärmequelle mit einer Wärmeleistung von (20+x,x)&amp;amp;nbsp;W. Dafür muss man wie in &#039;&#039;FEMM&#039;&#039; die erforderliche Wärmeleistung pro m³ angeben.&lt;br /&gt;
* Für die Materialbereiche innerhalb der Geometrie wählen wir eine geeignete kleine Maschengröße für die Vernetzung.&lt;br /&gt;
Zur Vorgabe der Zwangstemperatur von 40°C an der linken und rechten Stirnseite des Bimetalls verwenden wir zwei separate Conductor-Properties:&lt;br /&gt;
* Dabei müssen wir beachten, dass alle Temperaturen in Kelvin anzugeben sind:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-conductor40.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diese Conductor-Randbedingungen weisen wir den Kanten an den beiden Stirnseiten zu:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-einspannung40.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Auf die Konvektion an der Ober- und Unterseite verzichten wir vorläufig, um unsere bisherigen Annahmen zu verifizieren:&lt;br /&gt;
* Es wird je nach Teilnehmer-Nummer eine Wärmeleistung von (20+x,x)&amp;amp;nbsp;W im Kupfer erzeugt. &lt;br /&gt;
* Die erzeugte Wärmeleistung muss zu gleichen Teilen über die beiden thermischen Einspannungen abfließen. &lt;br /&gt;
&lt;br /&gt;
Wir erhalten die folgenden Ergebnisse:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-density-fehler.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Insgesamt werden im Beispiel 20&amp;amp;nbsp;W Wärmeleistung in den Bimetall-Streifen eingespeist. Soviel muss in der Summe in gleichen Teilen über beide thermische Einspannungen abfließen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-einspann_ok-links.gif| ]]  [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-einspann_ok-rechts.gif| ]]&amp;lt;/div&amp;gt; &lt;br /&gt;
Die Konvektion zur Umgebungstemperatur von 40°C definieren wir als getrennte &#039;&#039;Boundary Property&#039;&#039; für die Ober- und Unterseite:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_femm-konvektion-oben.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Wie zu erwarten war, besitzt die Konvektion auf Grund der kleinen Oberfläche kaum Einfluss auf die Temperatur des Bimetalls - die Maximaltemperatur verringert sich nur um ca. 1/2 K!&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Stationaere_Simulation|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Transiente_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Temperaturvorgabe&amp;diff=15323</id>
		<title>Software: FEM - Tutorial - Feldkopplung - MP - Thermo-Bimetall - Temperaturvorgabe</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Temperaturvorgabe&amp;diff=15323"/>
		<updated>2014-05-26T12:36:30Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Interpunktion korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Modell|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Stationaere_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Biegung bei konstanter Temperatur &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_abmessungen.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abhaengigkeiten und Lasten ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die mechanische Einspannung&#039;&#039;&#039; auf der linken Seite sollte die wirklichen Verhältnisse einigermaßen nachbilden:&lt;br /&gt;
* Der linke obere Eck-Knoten ist in Y- und Z-Richtung fest (verschweißt). Dabei muss man sich bewusst sein, dass diese Knoten-Abhängigkeit bei einer Änderung des Netzes verlorengeht!&lt;br /&gt;
* Die übrigen linken Rand-Knoten können sich in Z-Richtung frei bewegen (wegen der Nachgiebigkeit der verwendeten Klemmverbindung). Eine Bewegung der Kanten-Knoten in Y-Richtung ist unzulässig. Infolge der Zuweisung der Abhängigkeit zu Kanten bleibt diese Abhängigkeit bei einer Neuvernetzung erhalten:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Temperaturvorgabe_mech_Einspannung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Verformung des Bimetalls (&#039;&#039;&#039;Achtung&#039;&#039;&#039;: die im Folgenden abgebildeten Ergebnisse sind falsch!):&lt;br /&gt;
* Bei 20°C ist der Bimetall-Streifen unverformt gerade.&lt;br /&gt;
* Wir simulieren die Verformung bei einer einheitlichen Metall-Temperatur von 100°C.&lt;br /&gt;
* Es ergibt sich eine Verformung von etwas unter 1,5&amp;amp;nbsp;mm:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Temperaturvorgabe_Verformung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Scherspannung Y-Y zeigt am freien Ende des Bimetalls folgenden Verlauf:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Temperaturvorgabe_Scherspannung_Y-Y.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modell-Verifizierung ===&lt;br /&gt;
&lt;br /&gt;
Qualitativ erscheinen die Simulationsergebnis physikalisch plausibel. Ob die Werte auch quantitativ richtig sind, ist nicht auf den ersten Blick zu entscheiden. Dafür sollte man Kriterien benutzen, welche man unabhängig vom benutzten Modell möglichst einfach analytisch berechnen kann. Das setzt jedoch vertieftes Wissen über das modellierte Objekt voraus, z.B.:&lt;br /&gt;
* Das Verhältnis der Scherspannungen Y-Y entlang der Materialgrenze muss ungefähr dem Verhältnis der E-Module von &#039;&#039;&#039;1,16&#039;&#039;&#039; entsprechen.&lt;br /&gt;
* Das Verhältnis der Scherspannungen Y-Y an der Materialgrenze (mit Prüf-Sonde abgefragt) ergibt sich im Beispiel zu &#039;&#039;&#039;1,12&#039;&#039;&#039; und liegt damit sehr nahe an dem theoretischen Wert von 1,16.&lt;br /&gt;
* Damit sollte das Modell hinreichend genau die darin berücksichtigten physikalischen Effekte im Ergebnis der Simulation abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Merke:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Verifizierung&#039;&#039;&#039; = werden die Modell implementierten Zusammenhänge richtig berechnet?&lt;br /&gt;
* &#039;&#039;&#039;Validierung&#039;&#039;&#039; = bildet das Modell die Realität für den beabsichtigten Verwendungszweck hinreichend genau ab?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme der Validierung&#039;&#039;&#039; können wir im Rahmen dieser FEM-Übung nur qualitativ beantworten:&lt;br /&gt;
* Ob lineare Materialmodelle hinreichend genau sind, könnte man durch ein Studium der Fachliteratur klären.&lt;br /&gt;
* Bei unseren ebenen Modellen wird nur die Biegung des Bimetalls um die Z-Achse berücksichtigt! Welchen Einfluss die real auftretende Biegung um die Y-Achse auf die Auslenkung in Z-Richtung besitzt, könnte nur die Simulation mit einem geeigneten 3D-Modell klären! Man kann annehmen, dass durch die resultierende Versteifung des &amp;quot;Biegebalkens&amp;quot; sich die Auslenkung in Z-Richtung verringert. &lt;br /&gt;
* Im Zweifelsfall helfen nur Vergleiche zwischen Simulationen und Messungen an konkreten Beispielen.&lt;br /&gt;
&#039;&#039;&#039;Frage 1&#039;&#039;&#039;:&amp;lt;br&amp;gt;Wie groß ist der Auslenkung des Bimetallstreifens in Z-Richtung bei einer konstanten Metalltemperatur von 100°C, wenn der unverformte Zustand bei 20°C vorliegt?&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Modell|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Stationaere_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall&amp;diff=15322</id>
		<title>Software: FEM - Tutorial - Feldkopplung - MP - Thermo-Bimetall</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall&amp;diff=15322"/>
		<updated>2014-05-26T12:35:12Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Nichtlineare_Probleme|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Modell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Thermo-Bimetall&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_feni-legierungen.gif|right]]&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Bimetallstreifen Thermobimetall-Streifen] besteht in der Regel aus zwei Metallschichten, welche fest miteinander verbunden sind. Der temperaturabhängige Ausdehnungskoeffizient ist in beiden Schichten unterschiedlich groß. Das führt bei einer Temperaturänderung zu einer Krümmung des Streifens. Dieser Verformungseffekt ist umso größer, je stärker sich der Ausdehnungskoeffizient der Materialien unterscheidet.&lt;br /&gt;
&lt;br /&gt;
Die Schicht mit dem geringeren Ausdehnungskoeffizienten bezeichnet man auch als passive Komponente eines Thermobimetalls. Für die passive Komponente wird häufig eine Nickel-Eisen-Legierung eingesetzt. Am bekanntesten ist sicher &#039;&#039;&#039;FeNi36&#039;&#039;&#039; (Handelsname [http://de.wikipedia.org/wiki/Invar &#039;&#039;&#039;Invar&#039;&#039;&#039;]), das im Temperaturbereich bis 100°C den geringsten Ausdehnungskoeffizienten aller Metalle aufweist. Für höhere Temperaturen nutzbar sind z.B. FeNi42 bzw. FeNi48, mit ziemlich konstanten Ausdehnungskoeffizienten bis 300°C bzw. 400°C (Bild rechts - &#039;&#039;Quelle:&#039;&#039; [http://www.burde-metall.at/FeNi.htm &#039;&#039;www.burde-metall.at&#039;&#039;]).&lt;br /&gt;
&lt;br /&gt;
Wir werden im Übungsbeispiel eine Kombination aus Kupfer und Invar benutzen. Trotz der Temperaturabhängigkeit der Ausdehnungskoeffizienten soll von konstanten Materialkennwerten ausgegangen werden (Lineares Modell!).&lt;br /&gt;
&lt;br /&gt;
Der von allen Seiten gut gekühlte bewegliche Teil des Bimetallstreifens hat Abmessungen von &#039;&#039;&#039;40x8x1&amp;amp;nbsp;mm³&#039;&#039;&#039; mit einer Schichtdicke von jeweils &#039;&#039;&#039;0,5&amp;amp;nbsp;mm&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_bimetall_-_abmessungen.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Bimetall-Streifen ist auf der linken Seite mittels einer Klemmvorrichtung eingespannt. Zusätzlich wurde die linke obere &amp;quot;Kante&amp;quot; des beweglichen Teiles mittels Laser-Punktschweißen  an der Klemmvorrichtung befestigt. &lt;br /&gt;
* Das hat folgende Konsequenzen für die Freiheitsgrade an der Befestigungsstelle:&lt;br /&gt;
** Die Nachgiebigkeit der Schweißnaht gegenüber der Klemmvorrichtung ist sehr gering (praktisch fixiert in X- und Y-Richtung. &lt;br /&gt;
** Unterhalb der Schweißnaht kann sich das Material nur in Y-Richtung bewegen. &lt;br /&gt;
* Der Bimetall-Streifen wird von einem elektrischen Strom durchflossen, der infolge der Verlustleistung eine Eigenerwärmung induziert:&lt;br /&gt;
** Der ohmsche Widerstand des Invar-Metallstreifens ist ca. 50x so hoch, wie der des Kupferstreifens. &lt;br /&gt;
** Der elektrische Strom fließt deshalb praktisch nur durch das Kupfer. &lt;br /&gt;
** Die Eigenerwärmung des Invar-Streifens kann vernachlässigt werden. &lt;br /&gt;
* Zur Gewährleistung des Stromflusses existiert auf der rechten Stirnseite eine elektrisch und thermisch gut leitende Verbindung, welche die Biegung jedoch nicht beeinträchtigt. &lt;br /&gt;
* Auf der linken und rechten Stirnseite kann man infolge der thermischen Kopplung zur Umgebung von einer konstanten Temperatur=40°C ausgehen. &lt;br /&gt;
* Die Konvektion führt auf der Ober- und Unterseite die Wärme mit einem Konvektionskoeffizienten=5W/(K·m²) zur Umgebung ab (Temperatur=40°C).&lt;br /&gt;
&lt;br /&gt;
Teilnehmer der Lehrveranstaltung [http://www.ifte.de/lehre/fem/index.html &amp;quot;Praktische Einführung in die FEM&amp;quot;]  ermitteln mit &#039;&#039;&#039;x,x&#039;&#039;&#039; entsprechend ihrer Teilnehmer-Nummer = &#039;&#039;&#039;0,1 bis 9,9&#039;&#039;&#039; für eine Wärmeleistung von (&#039;&#039;&#039;20+x,x)&amp;amp;nbsp;W&#039;&#039;&#039;: &lt;br /&gt;
# die Wärmeverteilung. &lt;br /&gt;
# den zeitlichen Verlauf der Erwärmung bis zum Endzustand. &lt;br /&gt;
# die Durchbiegung für den Endzustand. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Nichtlineare_Probleme|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall_-_Modell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_Nichtlineare_Probleme&amp;diff=15321</id>
		<title>Software: FEM - Tutorial - Feldkopplung - Nichtlineare Probleme</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_Nichtlineare_Probleme&amp;diff=15321"/>
		<updated>2014-05-26T12:34:37Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Typen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Nichtlineare Probleme&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In den Übungsbeispielen dieser Lehrveranstaltung wurden bisher nur lineare Probleme behandelt. Das bedeutet, die Matrizen der Modellgleichung {M}, {C} und {K} und die äußere Einwirkung {F} sind unabhängig von den berechneten Größen {u}:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_formel_mehr-massen-schwinger.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inhaltlich bedeutet dies: &lt;br /&gt;
* die Materialkennwerte sind unabhängig von der Beanspruchung der Materialien; &lt;br /&gt;
* keine Rückwirkung auf die äußere Last; &lt;br /&gt;
* keine Rückwirkung auf Einspannungen (z.B. schließende / öffnende Kontakte). &lt;br /&gt;
* die Geometrie des Bauteils ändert sich durch die Beanspruchung nur unwesentlich (keine Instabilitäten wie z.B. Verbeulen,  Wegknicken, Einschnüren von Energieflusswegen); &lt;br /&gt;
* ein n-facher Wert für eine äußere Last bewirkt einen n-fache Größe der Modell-Reaktion (z.B. Auslenkungen, Spannungen). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numerisch bedeutet der lineare Fall:&lt;br /&gt;
* es existieren sehr effiziente Algorithmen auch für transiente Berechnungen des Modellverhaltens. &lt;br /&gt;
* es gilt der Überlagerungssatz, d.h. man kann die Lösungen getrennt berechneter Lastfälle additiv zusammenfassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Annahme eines linearen Verhaltens ist oft eine unzulässige Vereinfachung, da in der Realität:&lt;br /&gt;
* die Materialkennwerte abhängig sind von der Beanspruchung der Materialien. &lt;br /&gt;
* das Modell auf die Quelle der äußeren Last zurückwirkt. &lt;br /&gt;
* ein n-facher Wert für eine äußere Last nicht eine n-fache Größe der Modell-Reaktion bewirkt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numerische Behandlung nichtlinearer Modelle:&lt;br /&gt;
* iterative Verfahren, die sich dem &amp;quot;Gleichgewichtszustand&amp;quot; der Lösung schrittweise nähern. &lt;br /&gt;
* die Konvergenz der Gleichungslösung ist nicht garantiert. &lt;br /&gt;
* die Berechnungen sind bedeutend zeitaufwändiger als für lineare Probleme. &lt;br /&gt;
* schwierige Validierung des berechneten Verhaltens, da der gesunde Menschenverstand durch die Nichtlinearitäten meist überfordert ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für die Modellbildung bedeutet das:&lt;br /&gt;
* Man sollte grundsätzlich überlegen, ob ein lineares Modell für das Problem in Hinblick auf die Genauigkeit der Ergebnisse ausreichend ist:&lt;br /&gt;
:# zuerst lineares Modell bilden (wenn nicht sofort klar ist, dass die nichtlinearen Effekte das Verhalten entscheidend beeinflussen werden) &lt;br /&gt;
:# mit dem linearen Modell analysieren, wie groß der Einfluss der Änderung von Werkstoffkenngrößen und äußerer Einwirkung ist (auch Abschätzung der Verformungsrückwirkung) &lt;br /&gt;
* Die Nutzung nichtlinearer Modelle erfordert viel Erfahrung (sonst sind die Fehler größer, als mit den linearen Vereinfachungen), kostet Zeit und damit letztendlich Geld.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die magnetische Domäne ist bei Verwendung von ferromagnetischen Werkstoffen ein typischer Bereich für die Notwendigkeit nichtlinearer Modelle. Im Rahmen dieses Tutorials wird das im letzten Übungskomplex behandelt. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Typen|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_MP_-_Thermo-Bimetall|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_Zeitaspekt&amp;diff=15320</id>
		<title>Software: FEM - Tutorial - Feldkopplung - Zeitaspekt</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Feldkopplung_-_Zeitaspekt&amp;diff=15320"/>
		<updated>2014-05-26T12:33:53Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Gekoppelte_Feldprobleme|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Strukturmechanik_und_Potentialprobleme|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Typen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Zeitaspekt: stationär / transient / dynamisch&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit den vollständigen Gleichungen für die mechanische bzw. thermische Domäne ist eine Simulation der wechselwirkenden Bewegung jedes Knoten im Zeitbereich möglich (=dynamischer Modellansatz). Aus Gründen des Berechnungsaufwandes begnügt man sich meist mit Vereinfachungen, die im Folgenden beschrieben werden:&lt;br /&gt;
&lt;br /&gt;
=== Stationäre (statische) Berechnung ===&lt;br /&gt;
&lt;br /&gt;
* Modellansatz ohne Speicher-Elemente (Massen, Wärmekapazitäten usw.). &lt;br /&gt;
* Elemente, die nur bei zeitlichen Änderungen der Primär-Ergebnisse wirksam sind, werden nicht berücksichtigt (z.B. Dämpfer in der Mechanik). &lt;br /&gt;
* Die Last auf das Netz ist konstant. &lt;br /&gt;
* Berechnet wird der Endzustand (eingeschwungener Zustand) nach Aufbringen der Last. &lt;br /&gt;
* Die Ersatzschaltung reduziert sich für die Strukturmechanik auf ein Netz von Steifigkeiten. Zwischen dem Knoten mit der angedeuteten Krafteinleitung und dem eingespannten Knoten ergibt sich dabei eine Ersatzsteifigkeit. Dies gilt prinzipiell auch bei mehreren belasteten bzw. gelagerten Knoten. &lt;br /&gt;
* Für Potentialfelder (am Beispiel des Wärmefeldes) reduziert sich die Ersatzschaltung auf ein Netz von Wärmewiderständen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_ersatzschaltung_mechanik_statisch.gif| ]] [[Bild:Software_FEM_-_Tutorial_-_Feldkopplung_-_ersatzschaltung_thermisch_statisch.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Transiente (instationäre) Berechnung ===&lt;br /&gt;
&lt;br /&gt;
Bei Anwendung der FEM bedeutet &amp;quot;transient&amp;quot; (=vorübergehend) bzw. &amp;quot;instationär&amp;quot; (=schwankend, nicht gleich bleibend):&lt;br /&gt;
# dass das Modellverhalten im Zeitbereich berechnet (simuliert) wird. &lt;br /&gt;
# dass dabei eine beliebige, im Allgemeinen nichtperiodische Erregung als Last auf das Modell einwirkt. &lt;br /&gt;
&lt;br /&gt;
Welcher Modellansatz dafür verwendet wird, ist für die Zuordnung zur Klasse der &amp;quot;transienten Berechnungen&amp;quot; nicht entscheidend:&lt;br /&gt;
# Im einfachsten Fall nutzt man einen statischen Modell-Ansatz und verwendet jedoch eine zeitlich veränderliche Last. Die zeitliche Änderung der Last muss zur Erzielung sinnvoller Ergebnisse langsam im Vergleich zu den Eigenfrequenzen des modellierten Systems verlaufen. &lt;br /&gt;
# Man benutzt einen dynamischen Modellansatz und führt eine Simulationsrechnung im Zeitbereich durch. Dies ist typisch für Potentialprobleme, z.B. für die Wärmeausbreitung in Körpern. In der Strukturmechanik ist die transiente Berechnung nicht so verbreitet (außer z.B. für Crash-Simulationen).&lt;br /&gt;
&lt;br /&gt;
=== Dynamische Berechnungen ===&lt;br /&gt;
&lt;br /&gt;
Dynamische Berechnungen beruhen immer auf dynamischen Modell-Ansätzen (unter Berücksichtigung der Speicherkapazität der Knoten sowie in der Mechanik auch unter Berücksichtigung der Dämpfung). Man unterscheidet je nach Problemstellung:&lt;br /&gt;
* &#039;&#039;&#039;Berechnungen im Frequenzbereich&#039;&#039;&#039; (Bildbereich &amp;quot;komplexe Zahlen&amp;quot; / Sinus-Erregung)&lt;br /&gt;
:# [http://de.wikipedia.org/wiki/Modalanalyse &#039;&#039;Modale Analysen&#039;&#039;]: Aussagen zur &amp;quot;Antwort&amp;quot; des Modells auf einen äußeren Impuls durch Berechnung der &amp;quot;Eigenfrequenzen&amp;quot; und zugehörigen &amp;quot;Eigenschwingformen&amp;quot;. &lt;br /&gt;
:# [http://de.wikipedia.org/wiki/Eingeschwungener_Zustand &#039;&#039;Erzwungene Schwingungen&#039;&#039;]: Nach Einwirken einer Sinusförmigen, äußeren Erregung stellt sich nach einer gewissen Zeit ein eingeschwungener Zustand im System ein. Für diesen eingeschwungenen Zustand wird die periodische Schwingung aller Knoten des Netzes berechnet.&lt;br /&gt;
* &#039;&#039;&#039;Berechnungen im Zeitbereich&#039;&#039;&#039; (= transiente Berechnung mit dynamischen Modell)&lt;br /&gt;
:# Für große Netze und viele Zeitpunkte auf der Zeitskala sind transiente Dynamik-Simulationen auf Grund der benötigten Rechenzeit nicht mehr sinnvoll durchführbar. &lt;br /&gt;
:# Auf Basis von Modal-Analysen bildet man für solche &amp;quot;großen&amp;quot; Probleme Ersatzmodelle, welche hohe Eigenfrequenzen nicht mehr berücksichtigen und mit entsprechend kleineren Netzen auskommen. Falls die hohen Eigenfrequenzen für das Gesamtverhalten von untergeordneter Bedeutung waren, widerspiegeln die Ersatzmodelle das Objektverhalten nicht wesentlich schlechter als die ursprünglichen vollständigen FE-Modelle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Strukturmechanik_und_Potentialprobleme|&amp;amp;larr;]] [[Software:_FEM_-_Tutorial_-_Feldkopplung_-_Typen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_OptiY-Modellinterface&amp;diff=15319</id>
		<title>Software: FEMM - Stromfluss - OptiY-Modellinterface</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_OptiY-Modellinterface&amp;diff=15319"/>
		<updated>2014-05-26T12:32:22Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEMM_-_Stromfluss|&amp;amp;uarr;]]&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_OptiY-Workflow|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_OptiY-Experimentkonfiguration|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;Simulation des Trimmens&#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039; - Modell-Interface: Input-/Output-Files - &#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_input-output-files.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun fehlt noch die Ankopplung der Nennwerte und der Ausgangsgröße an das FEMM-Modell. Dazu verlassen wir das OptiY und arbeiten wieder mit dem FEMM-Programm samt zugehörigem Script-Editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es existieren unterschiedliche Varianten, wie ein Optimierungstool die Parameterwerte (&#039;&#039;Input&#039;&#039;) eines Modells modifizieren und auf die damit berechneten Ergebniswerte (&#039;&#039;Output&#039;&#039;) zugreifen kann. Eine sehr allgemeine und übersichtliche Methode ist die Benutzung von ASCII-Textdateien für den Input/Output eines Modells:&lt;br /&gt;
* Das Optimierungstool schreibt die aktuellen Parameterwerte an die dafür vorgesehenen Stellen in eine Textdatei.&lt;br /&gt;
* Aus dieser Textdatei erhält das Modell seine Werte für eine Simulationsrechnung.&lt;br /&gt;
* Die berechneten Ergebnisgrößen stehen nach der Simulationsrechnung wieder an definierter Stelle in einer Textdatei.&lt;br /&gt;
* Das Optimierungstool liest diese Ergebniswerte aus der Textdatei und berechnet daraus die erforderlichen Änderungen der Parameterwerte für eine weitere Verbesserung des Modellverhaltens.&lt;br /&gt;
* Der Zyklus beginnt dann von vorn, bis keine weitere Verbesserung mehr erreichbar ist.&lt;br /&gt;
Es ist im Allgemeinen besser, eine strikte Trennung zwischen Parametern (&#039;&#039;Input-File&#039;&#039;), Modell (&#039;&#039;LUA-Script&#039;&#039;) und Ergebnisgrößen (&#039;&#039;Output-File&#039;&#039;) vorzunehmen. In diesem Sinne soll das LUA-Script nun umgestaltet werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;1. Input-Datei für Vorgabe-Parameter&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bisher sind die Input-Parameter Bestandteil des Modell-Scripts. Die Input-Parameter sollen als separate Textdatei gestaltet. Für diese Übung nennen wir die ASCII-Textdatei &#039;&#039;&#039;&#039;&#039;Input_xx.txt&#039;&#039;&#039;&#039;&#039; (mit &#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nummer). Die Datenwerte in dieser Textdatei müssen so strukturiert werden, dass sowohl das Optimierungsprogramm als auch das Modellscript problemlos darauf zugreifen können:&lt;br /&gt;
&lt;br /&gt;
 s&lt;br /&gt;
 25&lt;br /&gt;
 Ls&lt;br /&gt;
 500&lt;br /&gt;
 bz&lt;br /&gt;
 200&lt;br /&gt;
 d&lt;br /&gt;
 20 &lt;br /&gt;
 RF&lt;br /&gt;
 100 &lt;br /&gt;
 Pmax&lt;br /&gt;
 6.2&lt;br /&gt;
 RN&lt;br /&gt;
 240&lt;br /&gt;
 Szul&lt;br /&gt;
 0.02&lt;br /&gt;
 PV&lt;br /&gt;
 0.2 &lt;br /&gt;
 SF&lt;br /&gt;
 0.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Die Teilnehmer-Nummer &#039;&#039;&#039;xx&#039;&#039;&#039; kommt hier nicht in die Input-Datei, sondern bleibt Bestandteil des Modells!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;2. Einlesen der Daten im LUA-Script&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die ursprünglichen Parameterwerte sollte man mit Standardwerten versehen und auskommentieren. Damit weiß man auch später noch, um welche Parameter es sich handelt.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Die Teilnehmer-Nummer xx darf nicht auskommentiert werden!&lt;br /&gt;
 &lt;br /&gt;
 -- Funktionelle und technologische Parameter (Standardwerte)&lt;br /&gt;
    xx=00; -- Teilnehmer-Nr. 00 bis 30&lt;br /&gt;
 -- s=25; -- Schnittbreite des Laser-Strahls [µm]&lt;br /&gt;
 -- Ls=500; -- aktuelle Länge L-Schnitt [µm]&lt;br /&gt;
 -- bz=200; -- Breite eines Zuschlags für Fertigung [µm]&lt;br /&gt;
 -- d=20; -- Schichtdicke in µm = Dicke 2D-Elemente&lt;br /&gt;
 -- RF=100; -- Nennwert Flächenwiderstand der Paste [Ohm/Quadrat]&lt;br /&gt;
 -- Pmax=6.2; -- max. zul. Leistungsdichte in Paste [W/cm²]&lt;br /&gt;
 -- RN=240; -- Nennwert nach Trimmen [Ohm]&lt;br /&gt;
 -- Szul=0.02; -- zulässige relative Toleranz von RN&lt;br /&gt;
 -- PV=0.2; -- max. Verlustleistung im Betrieb [W]&lt;br /&gt;
 -- SF=0.3; -- Fertigungsstreuung ungetrimmter Widerstand (rel.)&lt;br /&gt;
 -- Parameter aus Textdatei einlesen mit Fehlertest&lt;br /&gt;
    in = openfile(&amp;quot;e:\\_FEM\\Input_xx.txt&amp;quot;,&amp;quot;r&amp;quot;); -- Datei öffnen zum Lesen&lt;br /&gt;
    if in then -- wenn Datei geöffnet, dann Werte einlesen&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    s = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    Ls = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    bz = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    d = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    RF = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    Pmax = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    RN = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    Szul = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    PV = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    read(in, &amp;quot;*l&amp;quot;);&lt;br /&gt;
    SF = read(in, &amp;quot;*l&amp;quot;, &amp;quot;*n&amp;quot;);&lt;br /&gt;
    else print(&amp;quot;Could not open Input_xx.txt&amp;quot;); end;&lt;br /&gt;
    closefile(in);&lt;br /&gt;
 -- Berechnete Geometrie- und Material-Parameter&lt;br /&gt;
    :&lt;br /&gt;
&lt;br /&gt;
Die Input-Zeilen mit den Parameter-Namen werden jeweils überlesen. Der auf der nächsten Zeile folgende Wert wird dem im Script definierten Parameter-Bezeichner zugewiesen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Es ist unbedingt zu überprüfen, ob nach der Verwendung einer Input-Datei mit den gleichen Parameter-Werten wirklich die gleichen Ergebnisse berechnet werden!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;3. Output-Datei für Simulationsergebnisse&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die für die Bewertung der Simulation relevanten Ergebnisgrößen müssen ebenfalls in eine Textdatei geschrieben werden. In unserem Beispiel ist das nur der aus der aktuellen Parameterbelegung berechnete Widerstand der Anordnung:&lt;br /&gt;
&lt;br /&gt;
    :&lt;br /&gt;
    print (&amp;quot;R=&amp;quot;, R, &amp;quot;[Ohm]&amp;quot;) -- Werte in Outputfeld der LUA-Konsole&lt;br /&gt;
    print (&amp;quot; mit v=&amp;quot;, v, &amp;quot;[V]&amp;quot;);&lt;br /&gt;
    print (&amp;quot; und i=&amp;quot;, i, &amp;quot;[A]&amp;quot;);&lt;br /&gt;
    out = openfile(&amp;quot;e:\\_FEM\\Output_xx.txt&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
    write(out, &amp;quot;R=&amp;quot;, R, &amp;quot;\n&amp;quot;);&lt;br /&gt;
    closefile(out);&lt;br /&gt;
 &lt;br /&gt;
Die erforderlichen File-Operationen werden an das Ende des LUA-Scripts platziert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;4. Portabilität des Modells&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bisher ist es erforderlich, an verschiedenen Stellen des LUA-Scripts das aktuell benutzte Arbeitsverzeichnis einzutragen (im Beispiel: &#039;&#039;&#039;&#039;&#039;e:\_FEM\&#039;&#039;&#039;&#039;&#039;). Die erforderliche Script-Anpassung wird im Folgenden auf eine Stelle konzentriert. Dazu wird in der ersten Scriptzeile eine Variable &#039;&#039;&#039;&#039;&#039;mydir&#039;&#039;&#039;&#039;&#039; mit dem konkreten Pfad-Bezeichner belegt. Durch Verwendung von &#039;&#039;&#039;&#039;&#039;mydir&#039;&#039;&#039;&#039;&#039; wird dann an allen anderen Stellen der aktuelle Datei-Name generiert:&lt;br /&gt;
&lt;br /&gt;
    mydir=&amp;quot;E:\\_FEM\\&amp;quot;;&lt;br /&gt;
    :&lt;br /&gt;
    in = openfile(mydir .. &amp;quot;Input_xx.txt&amp;quot;,&amp;quot;r&amp;quot;); -- Datei öffnen zum Lesen&lt;br /&gt;
    :&lt;br /&gt;
    ci_saveas(mydir .. &amp;quot;LaserTrimm.fec&amp;quot;); -- Speichern in vorh. Ordner&lt;br /&gt;
    :&lt;br /&gt;
    out = openfile(mydir .. &amp;quot;Output_xx.txt&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
    :&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Wenn man &#039;&#039;&#039;&#039;&#039;mydir=&amp;quot;&amp;quot;&#039;&#039;&#039;&#039;&#039; setzt, so müssen sich alle Daten-Files im gleichen Ordner befinden, wie das LUA-Script. Das wäre eine günstige Lösung des Portabilitätsproblems. Leider funktioniert das nur, wenn der Aufruf des LUA-Scripts im OptiY-Workflow mittels &#039;&#039;&#039;DOS-BAT&#039;&#039;&#039; erfolgt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;5. Verifizierung des Modells&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nach diesen Änderungen muss nach Ausführung des kompletten LUA-Scripts im FEMM in der Datei &#039;&#039;&#039;&#039;&#039;Output_xx.txt&#039;&#039;&#039;&#039;&#039; der richtige Wert für den aktuellen Widerstand stehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;6. Einbindung in den OptiY-Workflow&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Falls es nicht mehr geöffnet ist, so öffnen wir erneut OptiY mit der Datei &#039;&#039;&#039;&#039;&#039;LaserTrimm_xx.opy&#039;&#039;&#039;&#039;&#039; und ergänzen nun die fehlende Einbindung des Modells.&lt;br /&gt;
* Einfügen der Symbole von Input- und Output-File auf dem Workflow, Benennung und Zuordnung der konkreten ASCII-Textdatei:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Outputfile_zuordnen.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Bevor wir die Nennwerte des Workflows mit der Input-Datei verbinden, beginnen wir mit der Zuordnung der einen Output-Verbindung zur Output-Datei. Wir markieren dazu im Dialogfenster des Outputfiles die zu verbindende Größe &#039;&#039;&#039;&#039;&#039;R_ist&#039;&#039;&#039;&#039;&#039; und aktivieren das &amp;quot;Zuordnen&amp;quot;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_output_keystring.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Nach Wahl der zuzuordnenden Output-Variablen &#039;&#039;&#039;&#039;&#039;R_ist&#039;&#039;&#039;&#039;&#039; definieren wir &amp;quot;&#039;&#039;&#039;R=&#039;&#039;&#039;&amp;quot; als &#039;&#039;&#039;Key-String&#039;&#039;&#039;, welcher vor dem eigentlichen Wert steht:&lt;br /&gt;
** Nach dem Markieren des Strings führt der Klick mit der rechten Maustaste zum Definitionsmenü.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Wegen eines Problems in der Version OptiY 4.0 nur &#039;&#039;&#039;R&#039;&#039;&#039; markieren!&lt;br /&gt;
** Wird ein Key-String definiert, so wird der Zahlenwert erst nach diesem Schlüsselwort erwartet.&lt;br /&gt;
* Die zuzuordnende Output-Variable sollte immer noch ausgewählt sein. Wir definieren nun die Position des Zahlenwertes relativ zum Key-String:&lt;br /&gt;
** Wir markieren dazu die gesamte Zahl (ohne Key-String). Der Klick mit der rechten Maustaste führt wieder zum Definitionsmenü.&lt;br /&gt;
** Die Zahl wird als &#039;&#039;&#039;Relative Variable&#039;&#039;&#039; in Bezug zum Key-String erwartet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Output_wert.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Mit dieser Art der Definition findet OptiY den Wert für &#039;&#039;&#039;&#039;&#039;R_ist&#039;&#039;&#039;&#039;&#039; auch, wenn sich durch weitere Ergebnisgrößen die Struktur der Output-Datei ändert. Allerdings muss vor dem Zahlenwert der Key-String &amp;quot;&#039;&#039;&#039;R=&#039;&#039;&#039;&amp;quot; stehen!&lt;br /&gt;
* Die Zuordnung der Workflow-Ausgangsgröße &#039;&#039;&#039;&#039;&#039;R_ist&#039;&#039;&#039;&#039;&#039; zur Output-Datei widerspiegelt sich im Workflow: &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Ausgang_zugeordnet.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die im Workflow noch fehlende Anbindung der In- und Outputdateien an das Modell wollen wir nun nachholen. Dazu öffnen wir durch Doppelklick den Script-Dialog zu &#039;&#039;&#039;&#039;&#039;LaserTrimm.LUA&#039;&#039;&#039;&#039;&#039; und markieren die entsprechenden Input-/Output-Verbindungen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Inout-Verbindungen.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Es fehlt noch die Zuordnung der Schnittlänge &#039;&#039;&#039;&#039;&#039;Ls&#039;&#039;&#039;&#039;&#039; und des Nennwiderstands &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039; zur Input-Datei. Nach Doppelklick auf &#039;&#039;&#039;&#039;&#039;Input.txt&#039;&#039;&#039;&#039;&#039; markiert man diese Input-Verbindungen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Inputparm_verbinden.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Danach muss über den Button der &#039;&#039;&#039;Zuordnen&#039;&#039;&#039;-Dialog aufgerufen werden. Hier erhält OptiY die Information, wo die beiden Parameter-Werte in die Input-Datei einzutragen sind. Die Zuordnung innerhalb der Input-Datei funktioniert nach dem gleichen Schema, wie in der Output-Datei (Input-Variable wählen und zugehörigen Wert markieren). Jedoch existiert im Menü der rechten Maustaste nur die Funktion &amp;quot;Variable einfügen&amp;quot;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Input-zuordnung.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Leider führt die automatische Trassierung der &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039;-Verbindungen zu einem falschen Eindruck vom Datenfluss. Das kann man manuell korrigieren, indem man eine Verbindungslinie auswählt und die Marker sinnvoll verschiebt. Im Beispiel erkennt man danach auch im Workflow, dass &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039; sowohl in die Input-Datei geschrieben, als auch für die Berechnung der &#039;&#039;&#039;&#039;&#039;Abweichung&#039;&#039;&#039;&#039;&#039; verwendet wird:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Connect-edit.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Damit ist der Workflow für das Optimierungsexperiment fertig. Im nächsten Schritt werden wir das Experiment konfigurieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_OptiY-Workflow|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_OptiY-Experimentkonfiguration|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_OptiY-Workflow&amp;diff=15318</id>
		<title>Software: FEMM - Stromfluss - OptiY-Workflow</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_OptiY-Workflow&amp;diff=15318"/>
		<updated>2014-05-26T12:31:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEMM_-_Stromfluss|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_Schnittmodell|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_OptiY-Modellinterface|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;Simulation des Trimmens&#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039; - OptiY-Workflow mit Modell - &#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Verfahren der numerischen Optimierung sind in der Lage, Extremwerte auf einer Zielfunktion zu finden. Kann man eine Zielfunktion für ein zu lösendes Problem definieren, so ist es möglich die Lösung dieser Problemstellung an ein Optimierungstool delegieren:&lt;br /&gt;
* Unser Problem ist sehr simpel - wir suchen die Schnittlänge &#039;&#039;&#039;&#039;&#039;Ls&#039;&#039;&#039;&#039;&#039; für die Erreichung eines vorgegebenen Widerstandswertes &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Eine Zielfunktion sollte man als Distanz zur idealen Lösung definieren. D.h., der Zielfunktionswert &#039;&#039;&#039;&#039;&#039;Abweichung&#039;&#039;&#039;&#039;&#039; sollte im Beispiel Null werden, wenn &#039;&#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039;&#039; den Sollwert &#039;&#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039;&#039; erreicht.&lt;br /&gt;
* Die &amp;quot;Fehlerquadrat-Summe&amp;quot; ist günstig (Positives Vorzeichen, Wichtung des Abstands und stetige Ableitung).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;&#039;&#039;Abweichung=sqr(R-RN)&#039;&#039;&#039;&#039;&#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wir nutzen als Optimierungstool [http://www.optiy.de/ &#039;&#039;&#039;&#039;&#039;OptiY&#039;&#039;&#039;&#039;&#039;], welches als &#039;&#039;&#039;&#039;&#039;Trial Edition&#039;&#039;&#039;&#039;&#039; zum [http://www.optiy.de/Download.html Download] bereitgestellt wird. Im Rahmen der Übung wird die Konfiguration des erforderlichen Optimierungsexperiments für den Einsteiger beschrieben. Vorkenntnisse zum Programm OptiY sind also nicht erforderlich.&lt;br /&gt;
* Nach der wahrscheinlich problemlosen Installation unter Windows kann das Programm OptiY gestartet werden: &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_gestartet.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem &#039;&#039;&#039;&#039;&#039;Workflow-Editor&#039;&#039;&#039;&#039;&#039; (Menü &#039;&#039;&#039;&#039;&#039;Einfügen&#039;&#039;&#039;&#039;&#039;) von OptiY fügen wir unser LUA-Script des FEMM-&#039;&#039;&#039;&#039;&#039;Simulationsmodells&#039;&#039;&#039;&#039;&#039; als &#039;&#039;&#039;&#039;&#039;Externes Script&#039;&#039;&#039;&#039;&#039; an zentraler Stelle in den Workflow des Experiments ein:&lt;br /&gt;
* Über dieses Script muss das FEMM-Programm gestartet werden, welches dann seinerseits das LUA-Script ausführt. &lt;br /&gt;
* Die Ausführung des LUA-Scripts im FEMM kann man über das vom FEMM-Programm bereitgestellte ActiveX-Interface veranlassen. &lt;br /&gt;
* Ein Doppelklick auf das platzierte Symbol [[Bild:Software_FEMM_button_external_script.gif| ]] öffnet den erforderlichen Konfigurationsdialog.&lt;br /&gt;
* &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Als Arbeitsverzeichnis sollte man grundsätzlich nur \ (Backslash) anstatt einer absoluten Pfadangabe benutzen. Dann wird der Ordner benutzt, in dem die .OPY-Datei gespeichert ist. &lt;br /&gt;
&lt;br /&gt;
Im OptiY werden mehrere Script-Sprachen unterstützt. Beispielhaft soll dies im Folgenden für zwei Script-Typen demonstriert werden:&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Visual Basic Script&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Zur Aktivierung der Schnittstelle und Aufruf des FEMM-Programms werden wir im Rahmen dieser Übung &#039;&#039;VBScript&#039;&#039; als Scriptsprache benutzen.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_script-konfig.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_script-edit.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
 Set femm = CreateObject(&amp;quot;femm.ActiveFEMM&amp;quot;)&lt;br /&gt;
 femm.call2femm (&amp;quot;dofile (&amp;quot;&amp;quot;E:\\_FEM\\LaserTrimm_xx.LUA&amp;quot;&amp;quot;)&amp;quot;)&lt;br /&gt;
* Es muss der komplette Pfad der LUA-Datei angegeben werden, wobei unbedingt doppelte Backslash \\ zu verwenden sind.&lt;br /&gt;
* Für dieses im Script-Editor von OptiY eingetragene Script generiert OptiY bei der Experiment-Durchführung eine Script-Datei und startet sie.&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis&#039;&#039;&#039;&#039;&#039;: &amp;lt;br&amp;gt;Manchmal funktioniert in der konkreten Windows-Umgebung diese Script-Form nicht richtig. Falls es trotz korrekter Schreibweise der Pfad- und Datei-Namen bzw. der Scriptzeilen nicht gelingt, das FEMM-Programm im OptiY bei der [[Software:_FEMM_-_Stromfluss_-_OptiY-Experimentdurchfuehrung|Experiment-Durchführung]] zu starten, ist unter Umständen FEMM als COM-Objekt nicht richtig im Windows registriert. Dazu muss man &#039;&#039;&#039;FEMM einmalig als Administrator starten&#039;&#039;&#039;. Das Prinzip ist als [http://www.optiyummy.de/index.php/Software:_Workaround#Transfer_vom_Script-Editor_zum_OptiY_deaktiviert &#039;&#039;&#039;OptiY-Workaround&#039;&#039;&#039;] beschrieben (hier für FEMM anwenden). Hilft dies nicht, dann müssen wir ein &#039;&#039;DOS-Batch Script&#039;&#039; verwenden! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. DOS-Batch Script:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Im fast in Vergessenheit geratenen MS-DOS konnte man mit BAT-Dateien automatisiert eine Folge von MS-DOS-Kommandos ausführen. Das funktioniert auch noch unter Microsoft Windows:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_bat-script-konfig.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_bat-script-edit.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
 F:\Programme\femm42\bin\femm.exe -lua-script=E:\_FEM\LaserTrimm_xx.LUA&lt;br /&gt;
* Ist das FEMM-Programmverzeichnis nicht Bestandteil des Suchpfades (PATH), so kann die &#039;&#039;femm.exe&#039;&#039; nur mit der vollständigen Pfad-Angabe aufgerufen werden!&lt;br /&gt;
* Es muss der komplette Pfad der LUA-Datei angegeben werden, wobei hier nur einfache Backslash \ zu verwenden sind.&lt;br /&gt;
: &#039;&#039;&#039;&#039;&#039;Hinweis&#039;&#039;&#039;&#039;&#039;: &amp;lt;br&amp;gt;Wird die Abarbeitung des LUA-Scripts über &#039;&#039;DOS-Batch&#039;&#039; veranlasst, so endet das FEMM-Programm nicht selbstständig. Das LUA-Script muss deshalb abschließend um den &#039;&#039;exit&#039;&#039;-Befehl erweitert werden:&lt;br /&gt;
    exit();&lt;br /&gt;
: Möchte man das gleiche LUA-Script ohne OptiY autonom im FEMM benutzen, so muss man natürlich diesen &#039;&#039;exit&#039;&#039;-Befehl &amp;quot;auskommentieren&amp;quot;, damit das FEMM nach Script-Abarbeitung nicht sofort endet!&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, im OptiY-Workflow die Verbindung mit allen Eingabe-Parametern des Modells herzustellen. Innerhalb dieser Übung beschränken wir uns aus Aufwandsgründen auf die zwei wesentlichen Parameter &#039;&#039;&#039;&#039;&#039;Schnittlänge Ls&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;Sollwert RN&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
* Für jeden dieser Parameter ist im Workflow ein Nennwert einzufügen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Nennwerte_einfuegen.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Ein Doppelklick auf das generierte Symbol öffnet den Konfigurationsdialog für den Nennwert. Hier sollte man einen sinnvolle Namen und Kommentare vergeben. Der Name muss nicht, sollte aber mit dem Parameter-Namen im Modell übereinstimmen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Nennwert-Dialog.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Mit den noch fehlenden Verbindungen zwischen dem FEMM-Modell und den beiden im Workflow definierten Nennwerten beschäftigen wir uns später!&lt;br /&gt;
* Im OptiY-Workflow muss das Gütekriterium &#039;&#039;&#039;&#039;&#039;Abweichung&#039;&#039;&#039;&#039;&#039; als berechneter Wert der Zielfunktion zur Verfügung stehen (Einfügen: Gütekriterien):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Kriterium_eingefuegt.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Den Wert dieses quadratischen Restfehlers könnten wir auf dem Niveau des Workflows noch nicht berechnen. Dort steht bisher nur der Wert des Sollwerts &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039; zur Verfügung.&lt;br /&gt;
* Im OptiY-Workflow müssen alle in den Modellen berechneten Ausgangsgrößen zur Verfügung gestellt werden, die man für die Berechnung der Gütekriterien benötigt (Einfügen: Ausgangsgrößen):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Ausgang_einfuegen.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Nun kann man die &#039;&#039;&#039;&#039;&#039;Abweichung&#039;&#039;&#039;&#039;&#039; aus &#039;&#039;&#039;&#039;&#039;RN&#039;&#039;&#039;&#039;&#039; und &#039;&#039;&#039;&#039;&#039;R_ist&#039;&#039;&#039;&#039;&#039; berechnen. Nach erneutem Doppelklick auf das Kriterium &#039;&#039;Abweichung&#039;&#039; aktiviert man mit &#039;&#039;&#039;Editieren&#039;&#039;&#039; eine Art &amp;quot;Taschenrechner&amp;quot;. Mit diesem klickt man die erforderliche Formel zusammen (Doppelklick zum Einfügen einer Workflow-Größe):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Rechner.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Abhängigkeiten zwischen dem Gütekriterium und den zugrunde gelegten Größen widerspiegelt sich danach im Workflow. Man kann die Verbindungslinien mit dem Cursor noch an anschaulichere Positionen schieben:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_Optiy_nach_bearbeiten_guete.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Den aktuellen Zustand des OptiY-Versuchsstands speichern die Teilnehmer der Lehrveranstaltung als Datei &#039;&#039;&#039;LaserTrimm_xx.OPY&#039;&#039;&#039;  mit &#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nummer.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_Schnittmodell|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_OptiY-Modellinterface|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_LUA-Script&amp;diff=15317</id>
		<title>Software: FEMM - Stromfluss - LUA-Script</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEMM_-_Stromfluss_-_LUA-Script&amp;diff=15317"/>
		<updated>2014-05-26T12:30:11Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEMM_-_Stromfluss|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_Current-Flow-Problem|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_Schnittmodell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Elektrisches_Flussfeld_-_MP_-_Dimensionierung|&#039;&#039;FEM-Tutorial&#039;&#039; &amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;Simulation des ungetrimmten Widerstands&#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039; - LUA-Script - &#039;&#039;&#039;&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In der Übung [[Software:_FEMM_-_Elektrostatik|(elektrostatischen Feld)]] haben wir Erfahrung mit der Entwicklung von LUA-Scripten gewonnen. Die vollständige Parametrisierung mit allen konstruktiv und technologisch relevanten Parametern soll auch diesmal das Ziel für den Aufbau eines scriptbasierten FEM-Modells darstellen. Die Prozess-Schritte, welche wir soeben auf dem Niveau der grafischen Bedienoberfläche ausführten, werden wir unter diesem Aspekt als LUA-Script entwickeln.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Infolge der knappen Übungszeit beschränkt sich die Script-Entwicklung wieder auf das Nachvollziehen der vorgegebenen Script-Abschnitte (&#039;&#039;Copy &amp;amp; Paste&#039;&#039;). Dazu öffnen wir einen geeigneten Script-Editor (z.B. Crimson-Editor) und die LUA-Konsole des FEMM-Programms:&lt;br /&gt;
* Teilnehmer der Lehrveranstaltung speichern die neue Textdatei als &#039;&#039;&#039;LaserTrimm_xx.LUA&#039;&#039;&#039; (mit &#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer-Nr.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Script-Entwicklung ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;1. Parameter:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wir werden weitestgehend die kompletten Dimensionierungsrechnungen in den Parameter-Abschnitt integrieren. Dabei berücksichtigen wir sofort die Abmessungen der Trimmkerbe, obwohl sie erst später im FEM-Modell benötigt werden. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_L-Schnittt.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann die &amp;quot;Parameter&amp;quot; in zwei Gruppen einteilen:&lt;br /&gt;
:&#039;&#039;&#039;a) Funktionelle und technologische Parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::Hier kann der Modell-Nutzer seine speziellen Anforderungen an den Widerstand und die technologischen Prozessgrößen in Form von Werten vorgeben:&lt;br /&gt;
 -- Funktionelle und technologische Parameter&lt;br /&gt;
    xx=00;     -- Teilnehmer-Nr. 00 bis 30&lt;br /&gt;
    s=25;      -- Schnittbreite des Laser-Strahls [µm]&lt;br /&gt;
    Ls=500;    -- aktuelle Länge L-Schnitt [µm]&lt;br /&gt;
    bz=200;    -- Breite eines Zuschlags für Fertigung [µm]&lt;br /&gt;
    d=20;      -- Schichtdicke in µm = Dicke 2D-Elemente&lt;br /&gt;
    RF=100;    -- Nennwert Flächenwiderstand der Paste [Ohm/Quadrat]&lt;br /&gt;
    Pmax=6.2;  -- max. zul. Leistungsdichte in Paste [W/cm²]&lt;br /&gt;
    RN=240;    -- Nennwert nach Trimmen [Ohm]&lt;br /&gt;
    Szul=0.02; -- zulässige relative Toleranz von RN&lt;br /&gt;
    PV=0.2;    -- max. Verlustleistung im Betrieb [W]&lt;br /&gt;
    SF=0.3;    -- Fertigungsstreuung ungetrimmter Widerstand (rel.)&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;b) Berechnete Geometrie- und Material-Parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::Im Unterschied zur manuellen Dimensionierung werden im Folgenden die berechneten geometrischen Größen nicht gerundet. Da dies für die Fertigung keine Bedeutung hat, werden die berechneten &amp;quot;krummen&amp;quot; Werte verwendet:&lt;br /&gt;
 -- Berechnete Geometrie- und Material-Parameter&lt;br /&gt;
    Ru=RN*(1-SF)*(1+Szul);       -- notw. Nennwert ungetrimmter Widerstand [Ohm]&lt;br /&gt;
    PWCR=Pmax*0.5;               -- Leistungsdichte Worst-Case-Resistor [W/cm²]&lt;br /&gt;
    Bu= sqrt(PV*RF/(PWCR*Ru))*cm/um; -- Breite Widerstand [cm] -&amp;gt; [µm]&lt;br /&gt;
    L=Bu*Ru/RF;                  -- Länge des Widerstands [µm]&lt;br /&gt;
    BgetrWCR=0.5*Bu;             -- Breite des Reststegs bei max. Trimmkerbe&lt;br /&gt;
    R0=(1-xx/100)*Ru;            -- konkreter Wert ungetrimmter Widerstand [Ohm]&lt;br /&gt;
    bk=Bu*(0.05+1.05*(1-R0/RN))+bz; -- Breite der Trimmkerbe für P-Schnitt [µm]&lt;br /&gt;
                                 -- mit 5% Druck- und Pos.-Toleranz und Zuschlag&lt;br /&gt;
    Kappa=1/((1-xx/100)*RF*d*um);-- spez. Leitfähigkeit (konkr.Teilnehmer) [S/m]&lt;br /&gt;
 -- Kontrollausgabe auf die LUA-Konsole:&lt;br /&gt;
    showconsole(); -- LUA-Konsole öffnen, falls Script als Datei ausgeführt&lt;br /&gt;
    print (&amp;quot;Ru    =&amp;quot;,Ru,&amp;quot;[Ohm]&amp;quot;);&lt;br /&gt;
    print (&amp;quot;Bu    =&amp;quot;,Bu,&amp;quot;[µm]&amp;quot;);&lt;br /&gt;
    print (&amp;quot;L     =&amp;quot;,L,&amp;quot;[µm]&amp;quot;);&lt;br /&gt;
    print (&amp;quot;bk    =&amp;quot;,bk,&amp;quot;[µm]&amp;quot;);&lt;br /&gt;
    print (&amp;quot;Kappa =&amp;quot;,Kappa,&amp;quot;[S/m]&amp;quot;);&lt;br /&gt;
    print (&amp;quot;R0    =&amp;quot;,R0,&amp;quot;[Ohm] -&amp;gt; &#039;Sollwert&#039; vor dem Trimmen in FEM-Rechnung!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;2. Definition des Problem-Typs&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 -- Definition des Problem-Typs ================================================&lt;br /&gt;
    create(3);        -- 0=magnetic|1=electrostatic|2=heatflow|3=currentflow&lt;br /&gt;
    ci_probdef(&amp;quot;micrometers&amp;quot;,&amp;quot;planar&amp;quot;,0,1e-8,d,30);&lt;br /&gt;
                      -- 1e-8=Max.Fehler für Solver&lt;br /&gt;
                      -- 30° =Min.Winkel für Netz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;3. Geometrie&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die markanten Punkte der Geometrie sind laut folgender Skizze durchnummeriert:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_LUA-Script_ungetrimmt_nodes.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 -- Geometrie (alle Abmessungen in µm!)=========================================&lt;br /&gt;
    ci_seteditmode (&amp;quot;nodes&amp;quot;) -- ungetrimmtes Rechteck *************************&lt;br /&gt;
    x01= 0; y01= 0; ci_addnode (x01,y01);&lt;br /&gt;
    x02= 0; y02= Bu; ci_addnode (x02,y02);&lt;br /&gt;
    x03= L; y03= Bu; ci_addnode (x03,y03);&lt;br /&gt;
    x04= L; y04= 0; ci_addnode (x04,y04);&lt;br /&gt;
    ci_zoomnatural(); ci_zoomout(); -- Zoom einschließlich Kanten im Bild&lt;br /&gt;
    ci_seteditmode (&amp;quot;segments&amp;quot;)&lt;br /&gt;
    ci_addsegment ( x01,y01 , x02,y02 );&lt;br /&gt;
    ci_addsegment ( x02,y02 , x03,y03 );&lt;br /&gt;
    ci_addsegment ( x03,y03 , x04,y04 );&lt;br /&gt;
    ci_addsegment ( x04,y04 , x01,y01 );&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;4. Material der Paste&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Block-Label für die Definition des Pasten-Bereiches muss unabhängig von den Abmessungen immer innerhalb des Rechtecks liegen. Außerdem darf dieses Label nicht mit dem späteren L-Schnitt kollidieren. Deshalb wird das Label unterhalb des oberen Rechteck-Randes mittig platziert. Global soll eine automatische Vernetzung des gesamten Bereiches erfolgen. Nur an kritischen Stellen wird die Maschengröße an den Segmenten des Randes individuell angepasst:&lt;br /&gt;
&lt;br /&gt;
 -- Material fuer Widerstand (Mesh Size=Auto) ==================================&lt;br /&gt;
 -- ci_addmaterial (&amp;quot;name&amp;quot;, ox, oy, ex, ey, ltx, lty)&lt;br /&gt;
                   -- ox,oy = el.Leistfähigkeit [S/m]&lt;br /&gt;
                   -- ex,ey = rel. el. Dielektrizitätskonst.&lt;br /&gt;
                   -- ltx,lty= Umpolarisierungsverluste&lt;br /&gt;
    ci_addmaterial (&amp;quot;Paste&amp;quot;, Kappa, Kappa, 1, 1, 0, 0); -- Paste&lt;br /&gt;
    ci_seteditmode (&amp;quot;blocks&amp;quot;) -- Label wegen L-Schnitt mittig 1/10 vom oberem Rand&lt;br /&gt;
    x0_Paste= 0.5*L; y0_Paste= 0.9*Bu;&lt;br /&gt;
    ci_addblocklabel(x0_Paste, y0_Paste); ci_selectlabel (x0_Paste,y0_Paste); &lt;br /&gt;
 -- ci_setblockprop(&amp;quot;blockname&amp;quot;, automesh, meshsize, group);&lt;br /&gt;
    ci_setblockprop (&amp;quot;Paste&amp;quot;   , 1       , 0       , 0);   ci_clearselected();&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;5. Randbedingungen (Conductor Property)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Segmente, welche mit Randbedingungen versehen sind, sollten hinreichend fein vernetzt werden. Unabhängig von den konkreten Abmessungen wird im Beispiel eine Maschengröße von 1/50 der Segmentlänge definiert:&lt;br /&gt;
&lt;br /&gt;
 -- Randbedingungen über Conductor Property mit Vorgabe Maschengröße ===========&lt;br /&gt;
 -- &lt;br /&gt;
 -- ci_addconductorprop (&amp;quot;name&amp;quot;,    v,     c,      type: 1=v/0=c)&lt;br /&gt;
    ci_addconductorprop (&amp;quot;Null&amp;quot;,    0,     0        ,    1 );--voltage&lt;br /&gt;
    ci_addconductorprop (&amp;quot;Strom&amp;quot;,   0,     0.01     ,    0 );--current&lt;br /&gt;
    ci_seteditmode (&amp;quot;segments&amp;quot;) &lt;br /&gt;
 -- ci_selectsegment(x,y) -&amp;gt; Mitte xs,ys des Segments P1,P2 nutzen:&lt;br /&gt;
 --                          xs=x1+(x2-x1)/2;   ys=y1+(y2-y1)/2;&lt;br /&gt;
 -- Links mit Nullpotential (SegL= 01...02) &lt;br /&gt;
    xs_L=x01+(x01-x02)/2;   ys_L=y01+(y02-y01)/2;&lt;br /&gt;
    ci_selectsegment(xs_L,ys_L);&lt;br /&gt;
 -- ci_setsegmentprop(&amp;quot;bound.&amp;quot;,elem.size,automesh,hide,group,&amp;quot;cond.name&amp;quot;)&lt;br /&gt;
    ci_setsegmentprop(&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,Bu/50    , 0      , 0  , 0   , &amp;quot;Null&amp;quot;);&lt;br /&gt;
    ci_clearselected();&lt;br /&gt;
 -- Rechts mit Stromeinspeisung (SegR= 03...04)&lt;br /&gt;
    xs_R=x03+(x04-x03)/2; ys_R=y03+(y04-y03)/2;&lt;br /&gt;
    ci_selectsegment(xs_R,ys_R);&lt;br /&gt;
    ci_setsegmentprop(&amp;quot;&amp;lt;None&amp;gt;&amp;quot;,Bu/50    , 0      , 0  , 0   , &amp;quot;Strom&amp;quot;);&lt;br /&gt;
    ci_clearselected();&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;6. Vernetzung und Berechnung&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_LUA-Script_ungetrimmt_netz.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
 -- Vernetzung und Berechnung ==================================================&lt;br /&gt;
    ci_saveas(&amp;quot;e:\\femm\\LaserTrimm.fec&amp;quot;); -- Speichern in vorh. Ordner&lt;br /&gt;
    ci_createmesh(); --&amp;gt; nur gespeichertes Modell wird vernetzt!&lt;br /&gt;
    ci_analyze(0); -- Solverfenster 0=minimiert / 1=sichtbar&lt;br /&gt;
    ci_loadsolution(); -- öffnet Ergebnisfenster für Postprozess&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;7. Ergebnisse (Postprcessing)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEMM_-_Stromfluss_-_LUA-Script_ungetrimmt_ergebnisfeld.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
 -- Felddarstellung (normiert) und Widerstandsberechnung =======================&lt;br /&gt;
    v,i = co_getconductorproperties(&amp;quot;Strom&amp;quot;);&lt;br /&gt;
    R = v/i; &lt;br /&gt;
    co_showmesh();&lt;br /&gt;
    co_zoomnatural(); co_zoomout(); -- Zoom einschließlich Kanten im Bild&lt;br /&gt;
 -- co_showdensityplot(legend,gscale,upper_D,lower_D,type);&lt;br /&gt;
 -- 0|1 0=color, min , max , 0=V|1=D|2=E&lt;br /&gt;
    co_showdensityplot( 1 , 0 , 0 , v , 0 );&lt;br /&gt;
    co_showcontourplot(20,0,v);     -- blendet 20 Aequipotentiallinien ein &lt;br /&gt;
    print (&amp;quot;R=&amp;quot;, R, &amp;quot;[Ohm]&amp;quot;)        -- Werte in Outputfeld der LUA-Konsole&lt;br /&gt;
    print (&amp;quot; mit v=&amp;quot;, v, &amp;quot;[V]&amp;quot;);&lt;br /&gt;
    print (&amp;quot; und i=&amp;quot;, i, &amp;quot;[A]&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_Current-Flow-Problem|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_Schnittmodell|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEM_-_Tutorial_-_Elektrisches_Flussfeld_-_MP_-_Dimensionierung|&#039;&#039;FEM-Tutorial&#039;&#039; &amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Elektrisches_Flussfeld_-_MP&amp;diff=15316</id>
		<title>Software: FEM - Tutorial - Elektrisches Flussfeld - MP</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_FEM_-_Tutorial_-_Elektrisches_Flussfeld_-_MP&amp;diff=15316"/>
		<updated>2014-05-26T12:26:20Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_FEM_-_Tutorial_-_Elektrisches_Flussfeld|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_L-Schnitt|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_Current-Flow-Problem|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_FEM_-_Tutorial_-_Elektrofluss_-_ungetrimmt_MP.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Elektrisches Flussfeld in Autodesk Simulation &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; (Simulation des ungetrimmten Widerstands) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Modellbildung===&lt;br /&gt;
&lt;br /&gt;
Die Berechnung des elektrischen Widerstands einer Leiter-Isolator-Geometrie gehört als Potentialproblem zur Domäne des elektrischen Fluss-Feldes:&lt;br /&gt;
* In &#039;&#039;Autodesk Simulation&#039;&#039; ist dies die &#039;&#039;&#039;Berechnungsart = Elektrostatischer Strom und Spannung&#039;&#039;&#039;.&lt;br /&gt;
* Wir speichern die neue FEM-Datei unter dem Namen &#039;&#039;&#039;Widerstand_xx.fem&#039;&#039;&#039; (mit &#039;&#039;&#039;xx=00..99&#039;&#039;&#039;).&lt;br /&gt;
* Da es sich um eine sehr flache, ebene Anordnung handelt, werden wir &#039;&#039;&#039;2D-Elemente&#039;&#039;&#039; verwenden.&lt;br /&gt;
 &lt;br /&gt;
Für die Verifizierung eines Finite-Elemente-Modells ist es sehr günstig, wenn man einer Konfiguration des Modells beginnt, welche man analytisch nachrechnen kann. Dies ist mittels der Dimensionierungsgleichung für das &#039;&#039;&#039;Rechteck des ungetrimmten Widerstands&#039;&#039;&#039; problemlos möglich (entspricht hier einem Quader der &#039;&#039;&#039;Dicke=20&amp;amp;nbsp;µm&#039;&#039;&#039;):&lt;br /&gt;
* &#039;&#039;&#039;R&amp;lt;sub&amp;gt;u&amp;lt;/sub&amp;gt; = 171&amp;amp;nbsp;Ω&#039;&#039;&#039; &#039;&#039;(Ungetrimmter Widerstandswert)&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;B&amp;lt;sub&amp;gt;u&amp;lt;/sub&amp;gt; = 2,0&amp;amp;nbsp;mm&#039;&#039;&#039; &#039;&#039;(Breite ungetrimmter Widerstand)&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;L  = 3,42&amp;amp;nbsp;mm&#039;&#039;&#039; &#039;&#039;(Länge ungetrimmter Widerstand)&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;R&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;=100&amp;amp;nbsp;Ω/&#039;&#039;&#039;□ &#039;&#039;(Flächenwiderstand der Paste)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Leitfähigkeit der Paste:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Der zu realisierende ungetrimmte Widerstand von &#039;&#039;&#039;R&amp;lt;sub&amp;gt;u&amp;lt;/sub&amp;gt;=171&amp;amp;nbsp;Ω&#039;&#039;&#039; besitzt eine Fertigungstoleranz &#039;&#039;&#039;σ&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;=±30%&#039;&#039;&#039;. Wir arbeiten im Folgenden entsprechend der individuellen Teilnehmer-Nummer (&#039;&#039;&#039;xx&#039;&#039;&#039;) mit einem &amp;quot;konkreten&amp;quot; Widerstand &#039;&#039;&#039;R&amp;lt;sub&amp;gt;u&amp;lt;/sub&amp;gt;=171&amp;amp;nbsp;Ω mit einer Abweichung von ‑xx%&#039;&#039;&#039;.&lt;br /&gt;
[[Bild:Software_FEM_-_Tutorial_-_Elektrofluss_-_formel-leitfaehigkeit.gif|right]]&lt;br /&gt;
Für die Definition des Pasten-Materials im Finite-Elemente-Modell benötigen wir die spezifische Leitfähigkeit &#039;&#039;&#039;&#039;&#039;χ&#039;&#039;&#039;&#039;&#039;. Diese kann man über die Dimensionierungsgleichung aus dem Flächenwiderstand berechnen:&lt;br /&gt;
* Angenommen wird ein Quadrat mit der Kantenlänge &#039;&#039;&#039;B&#039;&#039;&#039; und der Dicke &#039;&#039;&#039;d&#039;&#039;&#039; (bei uns &#039;&#039;&#039;d=20&amp;amp;nbsp;µm&#039;&#039;&#039;). &lt;br /&gt;
* Dieses Quadrat besitzt den Flächenwiderstand der gewählten Paste. &lt;br /&gt;
* Wir müssen bei der Berechnung der konkreten spezifischen Leitfähigkeit &#039;&#039;&#039;&#039;&#039;χ&#039;&#039;&#039;&#039;&#039; die &#039;&#039;&#039;&#039;&#039;Verringerung von R&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt; um xx%&#039;&#039;&#039;&#039;&#039; berücksichtigen!&lt;br /&gt;
&lt;br /&gt;
=== Szenario Spannungsvorgabe ===&lt;br /&gt;
&lt;br /&gt;
Den Widerstand zwischen den Kontakten kann man aus dem ohmschen Gesetz berechnen, indem man eine Spannungsdifferenz anlegt (z.B. &#039;&#039;&#039;1&amp;amp;nbsp;V&#039;&#039;&#039;) und den Stromfluss aus der FEM-Simulation ermittelt:&lt;br /&gt;
* Die Kupfer-Kontakte an den Seitenkanten des Widerstandes muss man nicht modellieren, wenn man die Spannungen direkt an den Kontaktflächen als Last anlegen kann.&lt;br /&gt;
* Infolge der &amp;quot;Schwächen&amp;quot; des verwendeten FEM-Programms können wir die Seitenkanten nur als Flächen auswählen und mit einer Last versehen, wenn wir das 2D-Netz mit dem implementierten &#039;&#039;&#039;2D-Freemesher&#039;&#039;&#039; erzeugen. Bei einer strukturierten Vernetzung könnten wir nur die Knoten mit einer Spannung belegen!&lt;br /&gt;
* Im Beispiel sind &#039;&#039;&#039;vierseitige Elemente&#039;&#039;&#039; optimal.&lt;br /&gt;
* An der linken Kontaktfläche setzen wir das Potential=&#039;&#039;&#039;0&amp;amp;nbsp;V&#039;&#039;&#039; und belegen die andere Kontaktfläche mit einer Spannung von &#039;&#039;&#039;1&amp;amp;nbsp;V&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Die Auswahl der Netzkanten als &amp;quot;Flächen&amp;quot; gelingt nur, wenn man zuvor unter &#039;&#039;&#039;&#039;&#039;MFL &amp;gt; Ansicht &amp;gt; Konstruktionsobjekte&#039;&#039;&#039;&#039;&#039; ausblendet!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resultierender Strom und berechneter Widerstand:&#039;&#039;&#039;&lt;br /&gt;
* Leider kann man den Strom durch die elektrischen Kontakte im verwendeten FEM-Programm nicht direkt ablesen.&lt;br /&gt;
* Zur Verfügung stehen nur die Stromdichte-Werte aller Knoten in [&#039;&#039;&#039;A/m²&#039;&#039;&#039;].&lt;br /&gt;
* Da im Beispiel ein homogenes Feld zwischen den Kontakten entsteht, kann man mit dem überall einheitlichen Stromdichtewert und der bekannten Querschnittsfläche den fließenden Strom berechnen.&lt;br /&gt;
* Der anhand des ohmschen Gesetzes aus Spannung und Strom berechnete Widerstandswert muss &#039;&#039;&#039;exakt&#039;&#039;&#039; dem aus der Dimensionierungsgleichung resultierenden Widerstandswert entsprechen. Anderenfalls ist das aufgebaute Modell fehlerhaft!&lt;br /&gt;
&lt;br /&gt;
=== Szenario Stromvorgabe ===&lt;br /&gt;
&lt;br /&gt;
Den Widerstand zwischen den Kontakten kann man ebenfalls aus dem ohmschen Gesetz berechnen, wenn man einen Strom hindurch leitet (wir benutzen &#039;&#039;&#039;1&amp;amp;nbsp;A&#039;&#039;&#039;) und den Spannungsabfall aus der FEM-Simulation ermittelt. Dafür konfigurieren wir ein neues &#039;&#039;&#039;Szenario Stromvorgabe&#039;&#039;&#039; als Kopie des Szenarios &amp;quot;Spannungsvorgabe&amp;quot;:&lt;br /&gt;
* Wir belegen die linke Kontaktfläche der Paste weiterhin mit einer Spannung von 0 V (Nullpotential) und entfernen die Spannungsvorgabe von 1 V auf der anderen Seite.&lt;br /&gt;
* Stattdessen muss man in die rechte Kontaktfläche einen Strom einspeisen. Da wir einen Strom von &#039;&#039;&#039;1&amp;amp;nbsp;A&#039;&#039;&#039; benutzen, entspricht der zwischen den Kontaktflächen auftretende Spannungswert dem Wert des ohmschen Widerstandes:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Elektrofluss_-_ungetrimmt_MP_Stromvorgabe.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Leider existiert in &#039;&#039;Autodesk Simulation&#039;&#039; keine Möglichkeit, direkt einen Stromwert in einen Kontakt einzuspeisen. Man hat nur die Möglichkeit, dem gesamten Volumen eines Bauteils eine Volumenstromdichte [A/m³] zuzuweisen. Damit kann man sich in Form eines Kupferkontaktes auf der rechten Seite des Widerstandes eine &amp;quot;Stromquelle&amp;quot; für einen Wert von &#039;&#039;&#039;1&amp;amp;nbsp;A&#039;&#039;&#039; definieren:&lt;br /&gt;
* Wir ergänzen auf der gesamten rechten Seite der Widerstandspaste ein neues Bauteil &amp;quot;&#039;&#039;&#039;Kupferkontakt&#039;&#039;&#039;&amp;quot; mit der gleichen &#039;&#039;&#039;Dicke=20&amp;amp;nbsp;µm&#039;&#039;&#039; und einer &#039;&#039;&#039;Breite=0,2&amp;amp;nbsp;mm&#039;&#039;&#039;.&lt;br /&gt;
* Die Leitfähigkeit von Kupfer beträgt  &#039;&#039;&#039;χ&amp;lt;sub&amp;gt;Cu&amp;lt;/sub&amp;gt;=60E6&amp;amp;nbsp;/&amp;amp;nbsp;(Ω·m)&#039;&#039;&#039;.&lt;br /&gt;
* Um den Freemesher verwenden zu können, müssen die einzelnen Bauteile komplett mit Linien umrandet sein. Der Kupferkontakt könnte z.B. als Rechteck gezeichnet werden.&lt;br /&gt;
* Die übereinander liegenden Linien zwischen den beiden Bauteilen müssen die gleiche 2D-Netzteilung erhalten.&lt;br /&gt;
* Für den Kupferkontakt ist es günstig, an allen Rechtecklinien die 2D-Netzteilung zu aktivieren. So dass z.B. Netz aus 60x6 Viereck-Elementen entsteht (Teilungswerte müssen geradzahlig sein!). Man müsste im Beispiel Netzdichte=360 als gewünschte Elementzahl angeben:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Datei:Software_FEM_-_Tutorial_-_Elektrofluss_-_ungetrimmt_MP_Netz_mit_Cu.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Im Beispiel wurden für alle Kanten der Widerstandspaste die 2D-Netzteilungen aktiviert.&lt;br /&gt;
* Aus dem Volumen &#039;&#039;&#039;V&amp;lt;sub&amp;gt;Cu&amp;lt;/sub&amp;gt;&#039;&#039;&#039; des Kupferkontaktes soll ein &#039;&#039;&#039;Strom=1&amp;amp;nbsp;A&#039;&#039;&#039; &amp;quot;herausfließen&amp;quot;. Der Wert für die Volumenstromdichte ist damit &#039;&#039;&#039;1&amp;amp;nbsp;A/V&amp;lt;sub&amp;gt;Cu&amp;lt;/sub&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_FEMM_-_Stromfluss_-_L-Schnitt|&amp;amp;larr;]] [[Software:_FEMM_-_Stromfluss_-_Current-Flow-Problem|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15315</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Ergebnisse</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse&amp;diff=15315"/>
		<updated>2014-05-26T12:18:59Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert, doppeltes Wort entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Robust-Optimierung (Experiment-Ergebnisse) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Durchführung === &lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_3d-kriterien.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Um die Zeit zu nutzen, sollten wir bereits vor der Konfiguration der Diagramm-Fenster die Optimierung starten. &lt;br /&gt;
&lt;br /&gt;
Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als &amp;quot;Kriterien-Raum&amp;quot; visualisieren. Die Achsen belegen wir mit unseren Gütekriterien, wobei es sinnvoll ist, die mittlere Zykluszeit als funktionelle Größe auf die Z-Achse zu legen. Zusätzlich ist es sinnvoll, möglichst alle Abhängigkeiten zwischen den Gütekriterien als 2D-Darstellung im Sinne von Projektionen des mehrdimensionalen Kriterien-Raumes abzubilden:&lt;br /&gt;
* Dazu stellt man jeweils zwei Kriterien in einem Nennwert-Fenster dar und schaltet danach unter &#039;&#039;&#039;&#039;&#039;Analyse&#039;&#039;&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;&#039;&#039;Darstellung&#039;&#039;&#039;&#039;&#039; auf 2D-Darstellung um (ein Kriterium muss dabei zuvor im Nennwert-Fenster als X-Achse selektiert sein!).&lt;br /&gt;
* Die 2D-Diagramme muss man dann auch noch so konfigurieren, dass nur die Lösungspunkte dargestellt werden.&lt;br /&gt;
* Im Beispiel ergibt das drei Projektionen der Lösungsmenge entsprechend der Anzahl möglicher Paar-Kombinationen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_2d-diagramme.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Lösungspunkte repräsentieren jeweils eine Stichprobe, die im Rahmen der co-evolutionären Optimierungsstrategie berechnet wird. Der Verlauf der Co-Evolution widerspiegelt sich in den Nennwert-Diagrammen der variablen Entwurfsparameter und der Bewertungsgrößen des Experiments:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_nennwert-verlauf_optimierungsmenge.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Beispiel entsprechen 15 Stichproben (Kinder) jeweils einer Generation innerhalb der Evolutionsstrategie.[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_paretomenge2.gif|right]]&lt;br /&gt;
* Die Nennwert-Verläufe erinnern stark an [http://de.wikipedia.org/wiki/1/f-Rauschen &#039;&#039;&#039;Rosa Rauschen&#039;&#039;&#039;]. Der längerfristigen evolutionären Entwicklung der Population sind die Mutationen der einzelnen Individuen überlagert.&lt;br /&gt;
* Die Population bewegt sich infolge der Evolutionsstrategie zuerst in den Bereich zulässiger Nennwert-Lösungen (Strafe=0).&lt;br /&gt;
* Danach entwickelt sich die Population weiter in Richtung minimalen Versagens innerhalb der Streuungen um die Nennwertlösungen (Versagen&amp;amp;rarr;0).&lt;br /&gt;
* Bildlich gesehen bewegt sich die Population zum Bereich der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population danach bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.&lt;br /&gt;
* Durch die Mutationen entstehen auch einzelne &amp;quot;Ausreißer&amp;quot;, welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer &amp;quot;ökologischer Nischen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Auswertung ===&lt;br /&gt;
&lt;br /&gt;
Bisher werden in den 2D/3D-Diagrammen alle berechneten &amp;quot;Kinder&amp;quot; (=probabilistische Simulationsläufe) dargestellt. Uns interessieren aber nur die Mitglieder der Pareto-Menge:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_mengewahl-pareto.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Es bleiben nur die zulässigen Lösungen der &amp;quot;Seifenhaut&amp;quot; in den Diagrammen erhalten. Leider können einzelne Ausreißer (im Beispiel &#039;&#039;Streuung_tZyklus&#039;&#039; sehr groß) eine automatische Skalierung verhindern, welche nur die eigentlich interessierende Pareto-Menge umfasst:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Falls dieser Ausreißer-Effekt störend in Erscheinung tritt (was im Beispiel noch nicht der Fall ist), gelangt man über einen Zwischenschritt zu einer sinnvoll skalierten Darstellung:[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_gefilterte_pareto_anzahl_20.gif|right]]&lt;br /&gt;
* Man wählt &#039;&#039;&#039;Analyse &amp;gt; Menge-Auswahl &amp;gt; Gefilterte Pareto-Menge&#039;&#039;&#039;. &lt;br /&gt;
* Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen. &lt;br /&gt;
* Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Danach schalten wir in allen 2D/3D-Diagrammen die Autoskalierung ab und wählen in der Menge-Auswahl wieder die vollständige Pareto-Menge:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_skaliert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Im 3D-Diagramm können nun Lösungen außerhalb der Grenzen liegen (im Beispiel nicht). Das würde nicht stören, weil es sich hierbei im Sinne der Robust-Optimierung um ungünstige Lösungen handelt.&lt;br /&gt;
&lt;br /&gt;
Die Aufgabe besteht nun darin, aus der dargestellten Pareto-Menge eine günstige Kompromisslösung auszuwählen:&lt;br /&gt;
* Jeden einzelnen Lösungspunkt in einem 2D-Diagramm kann man mit dem Cursor auswählen.&lt;br /&gt;
* Die ausgewählte Lösung erscheint dann in allen 2D- und 3D-Diagrammen als markiert.&lt;br /&gt;
* Um einzelne Lösungen analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_verteilungsdichten.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039; Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
Man kann auf Grundlage der Pareto-Menge entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:&lt;br /&gt;
* Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im zugehörigen 2D-Diagramm deutlich erkennbar. Je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule. &lt;br /&gt;
* Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt. Im Beispiel fehlt die Entscheidung leicht:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge30_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Obige Verteilungsdichten gehören zu der markierten Lösung. Die Stichprobe prägt stabil und die Teilversagenswahrscheinlichkeiten für die Zykluszeit und Drahterwärmung sind praktisch Null.&lt;br /&gt;
* Im Beispiel sollte einem diese Lösung bekannt vorkommen. Es handelt sich um den Bestwert aus der Ausschuss-Minimierung! Diese Lösung hatten wir als Startwert für die multikriterielle Robustoptimierung benutzt. Es konnte keine Verbesserung im Sinne &amp;quot;möglichst schnell bei minimaler Erwärmung&amp;quot; gefunden werden&lt;br /&gt;
* Die Streuung der Zykluszeit im Sinne einer robusteren Lösung konnte ebenfalls nicht verringert werden. Es gibt praktisch keine Lösungen, deren Zykluszeit weniger streut.&lt;br /&gt;
* Da wir im Rahmen dieser Übung nur eine relative geringe Zahl (300) an Optimierungsschritten genutzt haben, sind die Lösungen noch nicht vollständig bis zur &amp;quot;richtigen&amp;quot; Paretomenge konvergiert. Man erkennt das daran, dass die Anfangslösung als beste Kompromisslösung noch etwas außerhalb der berechneten Paretomenge liegt.&lt;br /&gt;
* Im Beispiel kommt man nach ca. 2000 Optimierungsschritten der realen Pareto-Menge schon recht nahe (für Teilnehmer der Übung nicht erforderlich!):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge2000_optimum.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* In obigen Diagrammen erkennt man einen &#039;&#039;&#039;Ausreißer mit Streuung_tZyklus=0&#039;&#039;&#039;. Hierbei kam es zu numerischen Problemen bei der Simulation der Stichprobe, welche anscheinend vom OptiY nicht erkannt wurden.&lt;br /&gt;
* Interessant an dieser genauer berechneten Pareto-Menge ist die Existenz mehrerer in Hinblick auf die Zykluszeit gleichberechtigte Lösungen. Diese führen jedoch teilweise z.B. auf Grund dickeren Drahtes und größerer Magnetlänge zu bedeutend geringerer Erwärmung! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Im Beispiel wurde bereits bei der Ausschuss-Minimierung eine robuste Lösung gefunden, weil die Zeit-Forderung nur durch Ausschöpfung aller anderen Grenzwerte erfüllbar war. Die gesamte Stichprobe kann dabei im Rahmen der Parameterstreuung nur dann innerhalb der zulässigen Grenzen bleiben, wenn die Streuung des Verhaltens ebenfalls minimiert wird. Die anschließende multikriterielle Robustoptimierung hat dann dieses Ergebnis bestätigt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem des Drahtdurchmessers:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Bei der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen. Da die damit erreichte Optimal-Lösung im Beispiel beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr. Die sich im Beispiel mit &#039;&#039;d_Draht=0.6&amp;amp;nbsp;mm&#039;&#039; ergebende Magnetlänge erfüllt sogar die ursprüngliche Vorgabe für die Magnetlänge. Eine eventuell erforderliche Vergrößerung des Magneten wird sich praktisch immer realisieren lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_kein_normdraht.gif| ]]&amp;lt;/div&amp;gt;Falls sich wider Erwarten eine andere Lösung als optimale Kompromisslösung erweist, so wird der benötigte Drahtdurchmesser wahrscheinlich keinem Normdraht entsprechen:&lt;br /&gt;
* Infolge der zusätzlich erforderlichen, sehr engen Draht-Restriktion scheitert dann die co-evolutionäre Strategie mit großer Wahrscheinlichkeit. Eine Oszillation der Lösung entlang der Pareto-Menge kommt nicht zustande!&lt;br /&gt;
* In diesem Fall hilft nur unter Einbeziehung der gewonnenen Erkenntnisse zur Robust-Optimierung eine erneute Ausschuss-Minimierung. Im Rahmen der Übung soll dies jedoch nicht mehr durchgeführt werden!&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Ergebnisse (Robust-Optimierung) ===&lt;br /&gt;
Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Mit welchen &#039;&#039;&#039;technisch sinnvollen&#039;&#039;&#039; Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine möglichst robuste und trotzdem schnelle Antriebslösung mit der Ausschuss-Quote Null:&lt;br /&gt;
* &#039;&#039;&#039;Mittel_tZyklus&#039;&#039;&#039; (mittlere Zykluszeit) &lt;br /&gt;
* &#039;&#039;&#039;Streuung_tZyklus&#039;&#039;&#039; (um die mittlere Zykluszeit)&lt;br /&gt;
* &#039;&#039;&#039;Mittel_dT_Draht&#039;&#039;&#039; (mittlere Spulen-Erwärmung)&lt;br /&gt;
* &#039;&#039;&#039;d_Anker&#039;&#039;&#039; (Ankerdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; (Magnetlänge ohne Restriktion!)&lt;br /&gt;
* &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; (Widerstand der Spule bei 20°C) &lt;br /&gt;
* &#039;&#039;&#039;w_Spule&#039;&#039;&#039; (Windungszahl) &lt;br /&gt;
* &#039;&#039;&#039;d_Draht&#039;&#039;&#039; (Drahtdurchmesser) &lt;br /&gt;
* &#039;&#039;&#039;Feder.k&#039;&#039;&#039; (Elastizitätskonstante) &lt;br /&gt;
* &#039;&#039;&#039;Feder.s0&#039;&#039;&#039; (Vorspannweg) &lt;br /&gt;
* &#039;&#039;&#039;Widerstand.R&#039;&#039;&#039; (Abschaltwiderstand)&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration&amp;diff=15314</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Experimentkonfiguration</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration&amp;diff=15314"/>
		<updated>2014-05-26T12:16:36Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert, doppelte Formulierung entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Robust-Optimierung (Experiment-Konfiguration) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mehrkriterielle Robust-Optimierung ===&lt;br /&gt;
Wir wollen nun &#039;&#039;&#039;ausgehend vom Bestwert der Ausschuss-Minimierung&#039;&#039;&#039; eine robuste Lösung für unseren Antrieb suchen, die folgenden Kriterien möglichst gut genügt:&lt;br /&gt;
* Die Streubreite der Zykluszeit ist zu minimieren (&#039;&#039;&#039;Robustoptimierung&#039;&#039;&#039;).  &lt;br /&gt;
* Ein Prägezyklus soll dabei möglichst schnell erfolgen (Mittelwert über eine Stichprobe).&lt;br /&gt;
* Die Spulenerwärmung soll möglichst gering sein (Mittelwert über eine Stichprobe).&lt;br /&gt;
* Die Streubreite der Spulenerwärmung ist funktionell von geringerer Bedeutung, solange die max. Erwärmung nicht markant überschritten wird. Deshalb streben wir im Rahmen dieser Robust-Optimierung keine Minimierung dieser Streuung an.&lt;br /&gt;
* Wir wollen drei unterschiedlichen Gütekriterien möglichst gut genügen (&#039;&#039;&#039;Mehrkriterien-Optimierung&#039;&#039;&#039;). Zumindest die Ziele der Verringerung der Zykluszeit und der Spulenerwärmung widersprechen sich!  &lt;br /&gt;
&lt;br /&gt;
Als unmittelbares Ergebnis einer Mehrkriterien-Optimierung wird eine Pareto-Menge der optimalen Kompromisslösungen ermittelt:&lt;br /&gt;
* Wir erhalten als Entscheidungsgrundlage für die endgültige Lösungswahl einen Zusammenhang, in welchem Maße die Verbesserung einer Teilgüte zur Verschlechterung der anderen Teilgüten führt.&lt;br /&gt;
* Anhand dieser Pareto-Menge können wir bewerten, in welchem Maße die bisherige Ausschuss-minimierte Lösung noch im Sinne einer robusteren Lösung verbessert werden kann bzw. ob für den Einsatzzweck ein anderer Kompromiss zwischen sich widersprechenden Gütekriterien sinnvoll ist.&lt;br /&gt;
* Die gewählte endgültige Lösung muss dann alle aktuellen Forderungen (Restriktionen) innerhalb des Streubereichs der berücksichtigten Parameter-Streuungen einhalten. &lt;br /&gt;
&lt;br /&gt;
Als wesentliche Streuungen berücksichtigen wir wie bei der Ausschuss-Minimierung:&lt;br /&gt;
* Unsicherheit des Wirbelstromwiderstands &lt;br /&gt;
* Fertigungstoleranzen der Rückholfeder &lt;br /&gt;
* Unterschiedliche Papiersorten &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Wir nutzen weiterhin das SimulationX-Modell &#039;&#039;&#039;&#039;&#039;Etappe6_xx.isx&#039;&#039;&#039;&#039;&#039;. Da die multikriterielle Optimierung mittels Evolutionsstrategie (Co-evolutionäres Verfahren) zu &amp;quot;wilden&amp;quot; Schwingungen im Suchraum entlang der Pareto-Menge führt, erhöhen wir im Simulationsmodell &#039;&#039;&#039;tStop=20&amp;amp;nbsp;ms&#039;&#039;&#039;. Damit können auch extrem langsame Antriebsexemplare vollständig simuliert werden. &lt;br /&gt;
* Wir verwenden einen neuen OptiY-Versuchsstand &#039;&#039;&#039;Etappe6_xx_Robust.opy&#039;&#039;&#039;. Diese Datei erzeugen wir als Kopie aus der Datei &#039;&#039;&#039;Etappe6_xx_Ausschuss.opy&#039;&#039;&#039;. &lt;br /&gt;
* In dieser neuen Datei übernehmen wir den bei der Ausschuss-Optimierung erreichten &#039;&#039;&#039;Bestwert als Parameter&#039;&#039;&#039; und somit als Ausgangslösung für die Robust-Optimierung.&lt;br /&gt;
  &lt;br /&gt;
Für die Minimierung der Streuung von &#039;&#039;tZyklus&#039;&#039; benutzen wir im OptiY-Workflow die [http://de.wikipedia.org/wiki/Standardabweichung Standardabweichung]. Ihr Wert repräsentiert direkt die Streubreite in der verwendeten Maßeinheit. Deshalb ist die Standardabweichung physikalisch einfacher zu interpretieren als der zugehörige Varianz-Wert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_workflow_robustopt.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Zur Berechnung von Mittelwert bzw. Standardabweichung (Streuung) der Gütekriterien nutzen wir die Möglichkeiten des für das Bearbeiten der Eigenschaften bereitgestellten &amp;quot;Rechners&amp;quot;, z.B.:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_rechner_mit_mittelwert.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Statistische Versuchsplanung ===&lt;br /&gt;
In Hinblick auf die Wechselwirkungen zwischen den Parameter-Streuungen kann man im Beispiel annehmen, dass die gleichen Bedingungen gelten, wie bei der vorherigen Ausschuss-Minimierung. Wir können deshalb für die probabilistische Simulation der Stichproben wieder das Moment-Verfahren mit dem Polynomansatz 2.&amp;amp;nbsp;Ordnung ohne Berücksichtigung von Interaktionen verwenden.&lt;br /&gt;
&lt;br /&gt;
=== Optimierungsverfahren ===&lt;br /&gt;
Im Vergleich zu unseren bisherigen Optimierungsexperimenten haben wir nun ganz andere Bedingungen in Hinblick auf die Gütekriterien: [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_guetekriterien.gif|right]]&lt;br /&gt;
* Bei &#039;&#039;Strafe&#039;&#039; und &#039;&#039;Versagen&#039;&#039; handelt es sich, wie bereits bekannt, um interne Gütekriterien innerhalb der hierarchischen Optimierungsstrategie. &lt;br /&gt;
* Jedoch sollen insgesamt drei &amp;quot;echte&amp;quot; Gütekriterien möglichst gleichzeitig in Hinblick auf ihre Werte minimiert werden! &lt;br /&gt;
* Es ist sehr wahrscheinlich, dass es dabei zu Widersprüchen kommt und man sich letztendlich für eine Kompromisslösung entscheiden muss. &lt;br /&gt;
* Grundlage für diese Entscheidungsfindung ist die Pareto-Menge. Diese Lösungsmenge kann in OptiY nur bei Verwendung &#039;&#039;Evolutionärer Algorithmen&#039;&#039; ([http://www.evocomp.de/themen/evolutionsstrategien/evostrat.html &#039;&#039;&#039;Evolutionsstrategie&#039;&#039;&#039;]) generiert werden: &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_evolutionsstrategie.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Für das Optimierungsproblem werden wir die Werte aus den Standardeinstellungen etwas modifizieren. Dazu müssen wir eine Umschaltung von &amp;quot;Standard&amp;quot; auf &amp;quot;Experte&amp;quot; vornehmen:&lt;br /&gt;
** Wir arbeiten mit 3 Eltern, die gemeinsam in jeder Generation 15 Kinder durch Multirekombination erzeugen. Die Erhöhung der Elternzahl soll eine gewisse Glättung auf der etwas verrauschten Zielfunktion bewirken. Um den Selektionsdruck zu erhalten, musste die Kinderzahl entsprechend erhöht werden. &lt;br /&gt;
** Die Eltern konkurrieren gemeinsam mit ihren Kindern darum, in der nächsten Generation wieder zu den 3 Eltern zu gehören (&#039;&#039;Selektion=Plus&#039;&#039;). &lt;br /&gt;
** Die Anpassung der Mutationsschrittweite an die Zielfunktion erfolgt getrennt für jede Entwurfsgröße (&#039;&#039;Schrittweitenregelung=Multischritt&#039;&#039;). &lt;br /&gt;
** Die Anzahl der &#039;&#039;Optimierungsschritte=300&#039;&#039; beschreibt für das Optimierungsverfahren die Gesamtzahl der zu berechnenden Kinder. Man beachte, dass bei der zuverlässigkeitsbasierten Optimierung jedes &amp;quot;Kind&amp;quot; eine probabilistische Simulation einer Stichprobe darstellt, die mehrere (hier 7) Modell-Läufe benötigt! &lt;br /&gt;
** Die &#039;&#039;Anzahl der Pareto-Lösungen&#039;&#039; ist eine interne Steuergröße für die Co-evolutionären Prinzipien bei der Mehrkriterien-Optimierung. Dieser Wert=20 ist unabhängig von der Größe der Pareto-Menge, welche man für die Darstellung in Diagrammen festlegen kann!&lt;br /&gt;
&lt;br /&gt;
=== Entwurfsparameter (Nennwerte und Streuungen) ===&lt;br /&gt;
Die Lösung der Robust-Optimierung kann sich von dem Ergebnis der Ausschuss-Minimierung unterscheiden. Das wird jedoch durch die zusätzlichen Gütekriterien gesteuert. Die Einstellungen für die Entwurfsparameter können wir unverändert von der Ausschuss-Minimierung übernehmen:&lt;br /&gt;
* Die Startwerte der Nennwerte sollten dem Bestwert aus der Ausschuss-Minimierung entsprechen.&lt;br /&gt;
* Die Startschrittweiten dienen nun als Maß für die Mutation.&lt;br /&gt;
* Als Grenzen für den Suchraum haben sich folgende Werte als günstig erwiesen, um z.B. negative Parameterwerte infolge &amp;quot;wilder&amp;quot; Schwingungen zu erschweren:&lt;br /&gt;
 &#039;&#039;&#039;d_Anker&#039;&#039;&#039;   : 6...15 mm &lt;br /&gt;
 &#039;&#039;&#039;w_Spule&#039;&#039;&#039;   : 200...1000 &lt;br /&gt;
 &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; : 0.1...10 Ohm&lt;br /&gt;
 &#039;&#039;&#039;k_Feder&#039;&#039;&#039;   : 10...100 N/mm (Toleranz.kF_Mitte)&lt;br /&gt;
Die Streuungen besitzen die gleichen vorgegebenen, konstanten Werte, wie bei der Ausschuss-Minimierung:&lt;br /&gt;
 &#039;&#039;&#039;RW_relTol&#039;&#039;&#039; : 1    (Toleranz.RW_relTol)&lt;br /&gt;
 &#039;&#039;&#039;kP_relTol&#039;&#039;&#039; : 1    (Toleranz.kP_relTol)&lt;br /&gt;
 &#039;&#039;&#039;kF_relTol&#039;&#039;&#039; : 0.6  (Toleranz.kF_relTol)&lt;br /&gt;
&lt;br /&gt;
=== Restriktionen ===&lt;br /&gt;
In Hinblick auf die Benutzung von Restriktionen müssen wir bei der mehrkriteriellen Optimierung umdenken, denn es wirkt nun eine erweiterte Zielfunktionshierarchie:&lt;br /&gt;
# Einhaltung des Suchraums (Grenzen der variablen Entwurfsparameter)&lt;br /&gt;
# Einhaltung aller Forderungen (Restriktionen) für die Nennwerte der Stichprobe (&#039;&#039;&#039;Strafe=0&#039;&#039;&#039;)&lt;br /&gt;
# Einhaltung aller Forderungen (Restriktionen) für die gesamte Streuung der Stichprobe (&#039;&#039;&#039;Versagen=0&#039;&#039;&#039;)&lt;br /&gt;
# Erfüllung der Wünsche (benutzereigene Gütekriterien)&lt;br /&gt;
Wenn wir alle Forderungen der Aufgabenstellung weiterhin als wirksame Restriktionen definieren, kommt die Optimierung mit Sicherheit kaum zur Bearbeitung der eigentlich interessierenden letzten Zielfunktion:&lt;br /&gt;
* Bereits bei der Ausschuss-Minimierung mussten wir uns Bemühen, Restriktionsverletzungen für die Nennwerte der Stichproben weitestgehend zu reduzieren. Als besonders kritisch erwies sich hier eine Konvergenz der Lösung entlang von Restriktionsgrenzen. Durch geschicktes &amp;quot;Ansteuern&amp;quot; eines verfügbaren Drahtdurchmessers und eventueller Freigabe der Magnetlänge konnten wir mit viel Kreativität diese Hürde (hoffentlich) überwinden.&lt;br /&gt;
* Nun müssen wir dafür Sorge tragen, ein &#039;&#039;Versagen&amp;gt;0&#039;&#039; von Stichproben bei der Ermittlung der pareto-optimalen Lösungsmenge möglichst zu vermeiden:&lt;br /&gt;
# Die Gütekriterien sind so zu definieren, dass sie tendenziell die zugehörigen Forderungen der Aufgabenstellungen übererfüllen. Dies gilt im Beispiel für das Minimieren der Zykluszeit genauso, wie für das Minimieren der Drahterwärmung. Restriktionen, für welche solche Gütekriterien definiert wurden, müssen deshalb durch Aufweiten ihrer Grenzen unwirksam gemacht werden (&#039;&#039;&#039;unwirksame Grenzen&#039;&#039;&#039; für &#039;&#039;&#039;tZyklus&#039;&#039;&#039; und &#039;&#039;&#039;dT_Draht&#039;&#039;&#039;).&lt;br /&gt;
# Falls im Sinne von &#039;&#039;Versagen&amp;gt;0&#039;&#039; noch kritische Restriktionen im existieren, sollte man überlegen, ob diese durch Definition geeigneter Gütekriterien eliminiert werden können. Im Beispiel betrifft dies die unstetige Größe &#039;&#039;Praegung&#039;&#039;, welche zu einem Teilversagen einer Stichprobe führen kann. Da dies jedoch nur sporadisch auftritt, wird dadurch die Pareto-Optimierung nur unwesentlich behindert. Wir benötigen dafür kein weiteres Gütekriterium, müssen die Restriktion aber beibehalten (&#039;&#039;&#039;Praegung=0.85...1.3&#039;&#039;&#039;).&lt;br /&gt;
# Forderungen der Aufgabenstellung, welche kritisch im Sinne von &#039;&#039;Strafe&amp;gt;0&#039;&#039; sind, behandeln wir wie bei der Ausschuss-Minimierung. Die Magnet-Länge begrenzen wir nun nicht mehr, da ein eventuell etwas größerer Bauraum realisierbar ist. Den Drahtdurchmesser berücksichtigen wir vorläufig nicht (&#039;&#039;&#039;unwirksame Grenzen&#039;&#039;&#039; für &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; und &#039;&#039;&#039;d_Draht&#039;&#039;&#039;).&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Minimierung&amp;diff=15313</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Ausschuss-Minimierung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Minimierung&amp;diff=15313"/>
		<updated>2014-05-26T12:12:27Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Ausschuss-Minimierung (Experiment-Ergebnisse) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die für den Optimierungsverlauf wichtigen Kenngrößen wollen wir in Diagrammen darstellen:&lt;br /&gt;
* &#039;&#039;&#039;Nennwert-Verläufe&#039;&#039;&#039;&lt;br /&gt;
** Strafe (= Versagen für aktuelle Nennwerte)&lt;br /&gt;
** Versagen (= Maß für Ausschuss-Quote der Stichprobe)&lt;br /&gt;
** Diagramme der variablen Entwurfsparameter (Nennwerte)&lt;br /&gt;
** Nennwert-Verläufe der Restriktionen &#039;&#039;tZyklus&#039;&#039;, &#039;&#039;L_Magnet&#039;&#039; und &#039;&#039;d_Draht&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;Verteilungsdichten&#039;&#039;&#039;&lt;br /&gt;
** Die geometrisch determinierten Restriktionen &#039;&#039;d_Draht&#039;&#039; und &#039;&#039;L_Magnet&#039;&#039; sind im Experiment nicht von den berücksichtigten Streuungen abhängig und brauchen deshalb auch nicht als Verteilungsdichten dargestellt werden.&lt;br /&gt;
** Dafür kommen nur die streuenden Restriktionen &#039;&#039;tZyklus&#039;&#039;, &#039;&#039;Praegung&#039;&#039; und &#039;&#039;dT_Draht&#039;&#039; in Frage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ausschuss-Minimierung&#039;&#039;&#039; ist ein zweistufiger Prozess:&lt;br /&gt;
# Das Finden einer zulässigen Lösung für die Nennwerte der Entwurfsparameter besitzt höchste Priorität (&#039;&#039;&#039;Strafe&#039;&#039;&#039; als Zielfunktion). Wenn das vorherige Nennwert-Optimum Restriktionen noch geringfügig verletzte, dauert es einige Schritte, bis &#039;&#039;&#039;Strafe=0&#039;&#039;&#039; erreicht wird. Sollte dies nicht gelingen, so muss man sich Gedanken zu einer Abmilderung der Forderungen machen!&lt;br /&gt;
# Erst wenn Strafe=0 erreicht ist, benutzt die Optimierung das &#039;&#039;&#039;Versagen&#039;&#039;&#039; als Zielfunktion. Die weitere Optimierung hat das Ziel, &#039;&#039;&#039;Versagen=0&#039;&#039;&#039; zu erreichen.&lt;br /&gt;
&lt;br /&gt;
* Das ursprüngliche Nennwert-Optimum kann durch teilweises Nichtprägen gekennzeichnet sein. Daraus resultiert dann im Modell eine scheinbare Temperaturerhöhung, welche durch die vereinfachte Temperaturermittlung bedingt ist. Die sehr kleinen Werte für &#039;&#039;tZyklus&#039;&#039; resultieren ebenfalls aus den &amp;quot;nichtprägenden&amp;quot; Simulationsläufen und haben nichts mit der Realität zu tun:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Leider ist die unstetige Restriktionsgröße &#039;&#039;&#039;Praegung&#039;&#039;&#039; für die probabilistische Optimierung ziemlich anspruchsvoll.&lt;br /&gt;
* Ist die Startlösung bereits durch teilweisen Nichtprägen gekennzeichnet, so kann der Bereich des vollständigen Prägens durch die Optimierung nicht zielgerichtet angestrebt werden. Ursache ist die Unstetigkeit des Übergangs zwischen Prägen und Nichtprägen. Man kann die Entwurfsparameter in weiten Bereichen ändern, ohne dass sich das Verhalten in Bezug auf das Prägen ändert. Am Übergang genügt dann eine winzige Änderung der Parameter. Deshalb sollte man grundsätzlich die Startlösung so modifizieren, dass man ein stabiles Prägen innerhalb der gesamten Streuung erreicht!&lt;br /&gt;
* Für dieses Umkonfigurieren gibt es zwei einfache Varianten:&lt;br /&gt;
# Verringerung des Nennwertes &#039;&#039;&#039;k_Feder&#039;&#039;&#039; um 30 bis 50%. Damit steht mehr Kraft für das Prägen zur Verfügung. Die davon ausgehende Optimierung vermeidet Bereiche des unvollständigen Prägens und führt wahrscheinlich zum minimalen Versagen.&lt;br /&gt;
# Falls die erste Variante nicht hilft, kann man zusätzlich &#039;&#039;&#039;d_Anker&#039;&#039;&#039; um ca. 10% vergrößern.&lt;br /&gt;
* Zur Überprüfung des kompletten Prägens muss man nur die probabilistische Simulation für die modifizierte Ausgangslösung durchführen und sich die Verteilungsdichte der Prägung anschauen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kritisch bei der Ausschuss-Minimierung ist im Einzelfall der ständige Wechsel zwischen den beiden Zielfunktionen &#039;&#039;Strafe&#039;&#039; und &#039;&#039;Versagen&#039;&#039; an Restriktionsgrenzen:&lt;br /&gt;
# Nennwerte des Magnetkreises der jeweils aktuellen Lösung führen zu einem Ausschöpfen vorgegebener Grenzwerte.&lt;br /&gt;
# Tendiert die Versagensverringerung zu einem Überschreiten solcher Grenzwerte, so hangelt sich das Optimierungsverfahren an der zugehörigen Restriktionsgrenze entlang. Das behindert die Konvergenz zum globalen Ausschuss-Minimum, wie dies im folgenden Bild gezeigt wird:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_nicht_null.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Im obigen Beispiel kommt man trotz der Konvergenzbehinderung an der Begrenzung L_Magnet=30&amp;amp;nbsp;mm zu einer Ausschuss-Quote von praktisch Null.&lt;br /&gt;
* Es ergibt sich zufällig ein optimaler Drahtdurchmesser von 0.6&amp;amp;nbsp;mm, so dass man sich eine weitere Optimierung in Hinblick auf zulässige Drahtdurchmesser sparen kann.&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
* Falls die Forderung nach max. 30&amp;amp;nbsp;mm Magnetlänge die Konvergenz der Lösungssuche zum Optimum behindert, sollte man diese Forderung zumindest temporär aufweichen.&lt;br /&gt;
* Im Sinne einer kurzen Zykluszeit tendiert der Antrieb insgesamt zu einer kurzen Magnetlänge. Das globale Optimum wird wahrscheinlich nur eine geringfügige Vergrößerung der Magnetlänge erfordern.&lt;br /&gt;
* Falls dies der Fall ist, lässt sich dieser zusätzliche Bauraum nach Abstimmung mit den Bearbeitern anderer Drucker-Komponenten sicher realisieren. &lt;br /&gt;
&lt;br /&gt;
* Wenn wie im Beispiel keine Restriktionsverletzung für die Nennwerte mehr auftritt, kann das Versagen ungestört minimiert werden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_null.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Nach der Ausschuss-Minimierung wird mit großer Wahrscheinlichkeit innerhalb des Streubereiches ein stabiles Prägen erreicht:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_end1.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Der veränderte Drahtdurchmesser wird wahrscheinlich keinem Normdraht entsprechen (0.3 / 0.32 / 0.35 / 0.37 / 0.40 / 0.45 / 0.50/ 0.55 / 0.60 / 0.65 / 0.70 / 0.75 / 0.80 / 0.90 / 1.00 / 1,20 / 1,50 / 1,80 / 2,00&amp;amp;nbsp;mm):&lt;br /&gt;
* Im Beispiel vergrößerte sich der optimale Drahtdurchmesser von 0.55&amp;amp;nbsp;mm auf etwas über 0.6&amp;amp;nbsp;mm. &lt;br /&gt;
* Der anzustrebende Wert beträgt also 0.60&amp;amp;nbsp;mm.&lt;br /&gt;
&lt;br /&gt;
Das Einhalten der erforderlichen Draht-Restriktion wird die Minimierung des Versagens infolge von Strafe&amp;gt;0 stören. Man sollte versuchen, diese Störungen möglichst gering zu halten. Eine erfolgreiche Vorgehensweise soll am Beispiel erläutert werden: &lt;br /&gt;
* Ohne Drahtrestriktion wurde ausgehend von 0.55&amp;amp;nbsp;mm der Drahtdurchmesser durch das Optimierungsverfahren stetig erhöht. Am Ende erfolgte eine geringe Reduktion des Drahtdurchmessers auf das Optimum von 0.61&amp;amp;nbsp;mm.&lt;br /&gt;
* Die &#039;&#039;&#039;untere Grenze&#039;&#039;&#039; des Drahtdurchmessers setzt man deshalb unterhalb des Startwertes (z.B. d_Draht≥0.54&amp;amp;nbsp;mm). So kann die Minimierung des Versagens am Anfang ungestört von Restriktionsverletzungen beginnen.[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_versagen_mit_drahtwichte1.gif|right]]&lt;br /&gt;
* Die &#039;&#039;&#039;obere Grenze&#039;&#039;&#039; setzt man auf den zu erreichenden Drahtdurchmesser (d_Draht≤0.6&amp;amp;nbsp;mm). Die Lösung müsste sich dieser oberen Grenze annähern, weil das eigentliche Optimum oberhalb dieser Grenze liegt.&lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039;  &lt;br /&gt;
** Der &#039;&#039;&#039;Gewichtsfaktor=1&#039;&#039;&#039; für die Restriktion &#039;&#039;&#039;d_Draht&#039;&#039;&#039; äußert sich im Versagen durch jeweilige Überhöhungen um den Wert=1, wenn Strafe&amp;gt;0 infolge unzulässigem Drahtdurchmessers (Beispiel im Bild rechts).&lt;br /&gt;
** Damit man die tendenzielle Änderung des Versagens im Diagramm besser erkennen kann, sollte man &#039;&#039;&#039;Gewichtsfaktor=0.001&#039;&#039;&#039; setzen. Das Ergebnis der Optimierung wird dadurch nicht verändert.&lt;br /&gt;
&amp;lt;center&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_mit_draht1.gif| ]] &amp;lt;/center&amp;gt;&lt;br /&gt;
Mit &#039;&#039;&#039;d_Draht=0.60&amp;amp;nbsp;mm&#039;&#039;&#039; gelangen wir im Beispiel zu einem etwas längeren Magneten im Vergleich zur ursprünglichen Lösung mit L_Magnet=30&amp;amp;nbsp;mm:&lt;br /&gt;
* In der Ausschussquote gibt es praktisch keinen Unterschied zwischen der längeren und der kürzeren Lösung.&lt;br /&gt;
* Da eine weitere Verkürzung der Zykluszeit mit dem größeren Magneten kaum möglich sein wird, kann man sich im Beispiel für den kleineren Magneten als optimale, ausschussminimierte Lösung entscheiden. &lt;br /&gt;
 &lt;br /&gt;
=== Experiment-Ergebnisse (Ausschuss-Minimierung) ===&lt;br /&gt;
&lt;br /&gt;
Mit welchen technisch sinnvollen Nennwerten ergibt sich bei Berücksichtigung von Normdrähten und einer zulässigen Spulen-Erwärmung von &#039;&#039;&#039;40&amp;amp;nbsp;K&#039;&#039;&#039; eine möglichst schnelle Antriebslösung mit einer Ausschuss-Quote von &amp;quot;praktisch&amp;quot; Null:&lt;br /&gt;
* &#039;&#039;&#039;d_Anker&#039;&#039;&#039; (Ankerdurchmesser)&lt;br /&gt;
* &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; (Magnetlänge ohne Restriktion!)&lt;br /&gt;
* &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; (Widerstand der Spule bei 20°C) &lt;br /&gt;
* &#039;&#039;&#039;w_Spule&#039;&#039;&#039; (Windungszahl) &lt;br /&gt;
* &#039;&#039;&#039;d_Draht&#039;&#039;&#039; (aus Normreihe) &lt;br /&gt;
* &#039;&#039;&#039;Feder.k&#039;&#039;&#039; (Elastizitätskonstante) &lt;br /&gt;
* &#039;&#039;&#039;Feder.s0&#039;&#039;&#039; (Vorspannweg) &lt;br /&gt;
* &#039;&#039;&#039;Widerstand.R&#039;&#039;&#039; (Abschaltwiderstand) &lt;br /&gt;
* &#039;&#039;&#039;t_Zyklus&#039;&#039;&#039; (Mittelwert und unterer/oberer Grenzwert)&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Zu technisch sinnvollen Werten gehört auch die Wahl einer vernünftigen Anzahl von Ziffernstellen!&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem&amp;diff=15312</id>
		<title>Software: SimX - Nadelantrieb - Robust-Optimierung - Ausschuss-Problem</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem&amp;diff=15312"/>
		<updated>2014-05-26T12:11:29Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Minimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Ausschuss-Minimierung (Experiment-Konfiguration) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:memo_stempel.gif|right]]&lt;br /&gt;
* Innerhalb des vorhandenen Streubereiches der Parameter-Streuungen muss der Antrieb sicher funktionieren. &lt;br /&gt;
* In diesem Streubereich müssen alle in Form der Restriktionen beschriebenen Forderungen eingehalten werden. &lt;br /&gt;
* Wir streben eine Versagenswahrscheinlichkeit von Null an.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Um die Ergebnisse der vorherigen Etappe nicht zu zerstören, erzeugen wir das Modell &#039;&#039;&#039;Etappe6_xx.isx&#039;&#039;&#039; als Kopie von &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039;.&lt;br /&gt;
* Teilnehmer der Lehrveranstaltung [http://www.ifte.de/lehre/optimierung/uebung.html &amp;quot;Optimierung&amp;quot;] benutzen wegen der Vergleichbarkeit der Ergebnisse weiterhin einheitlich einen Wirbelstromwiderstand &#039;&#039;&#039;1.5&amp;amp;nbsp;mOhm&#039;&#039;&#039;.&lt;br /&gt;
* Als Temperatur der Spule benutzen wir im SimX-Modell die maximal zulässige Temperatur &#039;&#039;&#039;T_Spule=90°C&#039;&#039;&#039;.&lt;br /&gt;
* Wir bauen einen neuen Versuchsstand &#039;&#039;&#039;Etappe6_xx_Ausschuss.opy&#039;&#039;&#039; auf.&lt;br /&gt;
&lt;br /&gt;
=== Statistische Versuchsplanung ===&lt;br /&gt;
&lt;br /&gt;
Bei der zuverlässigkeitsbasierten Optimierung wird als Basis für die Bewertung nicht der einzelne Modell-Lauf, sondern die Berechnung einer kompletten Stichprobe benutzt:&lt;br /&gt;
* In der vorherigen Übungsetappe haben wir festgestellt, dass die Interaktionen zwischen den betrachteten Parameter-Streuungen praktisch vernachlässigbar sind. &lt;br /&gt;
* Wir werden deshalb für die probabilistische Simulation die Momentenmethode mit einem Polynomansatz 2.&amp;amp;nbsp;Ordnung ohne Berücksichtigung von Interaktionen verwenden. &lt;br /&gt;
* Das bedeutet eine wesentliche Reduzierung der benötigten Simulationszeit in Abhängigkeit von der Anzahl der berücksichtigten Streuungen: &lt;br /&gt;
 Anzahl der | Polynom 2.Ordnung | ohne Interaktionen&lt;br /&gt;
 Streuungen | &#039;&#039;&#039;Läufe=2&amp;amp;middot;n²+1&#039;&#039;&#039;      | &#039;&#039;&#039;Läufe=2&amp;amp;middot;n+1&#039;&#039;&#039;&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
   &#039;&#039;&#039;n=2&#039;&#039;&#039;      |         &#039;&#039;&#039;9&#039;&#039;&#039;         |        &#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;n=3&#039;&#039;&#039;      |        &#039;&#039;&#039;19&#039;&#039;&#039;         |        &#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;n=4&#039;&#039;&#039;      |        &#039;&#039;&#039;33&#039;&#039;&#039;         |        &#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;n=5&#039;&#039;&#039;      |        &#039;&#039;&#039;51&#039;&#039;&#039;         |       &#039;&#039;&#039;11&#039;&#039;&#039;&lt;br /&gt;
* Man erkennt deutlich, dass die Kenntnis über existierende Interaktionen zwischen den streuenden Parametern von grundsätzlicher Bedeutung für die Einsparung von Berechnungszeit ist.&lt;br /&gt;
* Im Beispiel können wir die Anzahl der Streuungen auf 3 reduzieren, da die Streuungen der Betriebsspannung und der Spulentemperatur kaum Auswirkung auf das Verhalten hatte.&lt;br /&gt;
&lt;br /&gt;
=== Optimierungsverfahren ===&lt;br /&gt;
&lt;br /&gt;
Im Unterschied zu den Sample-Verfahren ist bei den Momenten-Verfahren das &amp;quot;numerische Rauschen&amp;quot; bei der Simulation einer Stichprobe gering: &lt;br /&gt;
* Der entscheidende Unterschied der Momenten- zu den Antwortflächenverfahren liegt in der Berechnung der statistischen Verteilungen der Ausgangsgrößen. Nach der Ermittlung des Metamodells werden hier die statistischen Zentralmomente &#039;&#039;&#039;µ&#039;&#039;&#039; (Mittelwert, Varianz, Schiefe und Überhöhung) der Ausgangsgrößen aus den vorgegebenen Momenten der Eingangsgrößen auf der Basis der Ersatzfunktionen y(x) berechnet. Dadurch gibt es dabei keinen stochastischen Anteil infolge der virtuellen Stichprobe.&lt;br /&gt;
* Die unbekannten Koeffizienten der Ersatzfunktionen y(x) des Metamodells werden mittels partieller Ableitungen durch definierte Abtastung des echten Modells berechnet. Dabei entstehen nur geringe Zufallsfehler durch die unterschiedliche Ordnung von echtem Modell und verwendeter Ersatzfunktion. Das äußert sich darin, dass kleine Änderungen der Nennwerte durch die Verschiebung der Abtaststellen zu geringen Sprüngen in den Stichproben-Ergebnissen führen.&lt;br /&gt;
* Die Streuungen der Ausgangsgrößen werden bei der Momenten-Methode als allgemeine Lambda-Verteilung durch den Vergleich mit einer bekannten Momenttabelle approximiert. Diese Berechnung erfolgt also vollkommen analytisch und deterministisch ohne Zufallszahlen.&lt;br /&gt;
* Eine Lambda-Verteilung besitzt immer definierte Grenzwerte. Die [http://de.wikipedia.org/wiki/Quantilfunktion &#039;&#039;&#039;Quantilfunktion&#039;&#039;&#039;] &#039;&#039;&#039;&#039;&#039;x&#039;&#039;&#039;&#039;&#039; und [http://de.wikipedia.org/wiki/Dichtefunktion &#039;&#039;&#039;Dichtefunktion&#039;&#039;&#039;] &#039;&#039;&#039;&#039;&#039;f(x)&#039;&#039;&#039;&#039;&#039; lauten:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_quantil_u_dichte_lambda.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Dabei ist 0&amp;lt;&#039;&#039;u&#039;&#039;&amp;lt;1. Durch die Parameter &#039;&#039;Lambda1&#039;&#039;, &#039;&#039;Lambda2&#039;&#039;, &#039;&#039;Lambda3&#039;&#039; und &#039;&#039;Lambda4&#039;&#039; kann man eine beliebige Verteilungsfunktion abbilden. Dabei ist &#039;&#039;Lambda1&#039;&#039; der Mittelpunkt und &#039;&#039;Lambda2&#039;&#039; die Skalierung der Verteilung. &#039;&#039;Lamda3&#039;&#039; und &#039;&#039;Lambda4&#039;&#039; sind die Formfaktoren. Bei symmetrischer Verteilung ergibt sich &#039;&#039;Lambda3&#039;&#039;=&#039;&#039;Lambda4&#039;&#039;. Vertauschen von &#039;&#039;Lambda3&#039;&#039; und &#039;&#039;Lambda4&#039;&#039; bedeutet eine Spiegelung der Verteilung um den Mittelpunkt. Der Toleranzwert ist intern festgesetzt auf &#039;&#039;T=2/Lambda2&#039;&#039; und der Mittelwert ist dabei immer der zugehörige Nennwert der Streugröße (Toleranzmittenwert). &lt;br /&gt;
* Im folgenden Bild sind beispielhaft einige Verteilungsdichtefunktionen dargestellt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_beispiele_lambdaverteilung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Zusätzlich zum Fehler des Ersatzmodells (z.B. Polynomansatz 2.&amp;amp;nbsp;Ordnung) resultiert ein weiterer Fehler des Moment-Verfahrens daraus, dass mit dieser allgemeinen Lambdafunktion die wirkliche Streuung der Ausgangsgrößen natürlich nie exakt abgebildet werden kann. Der relative Fehler der Approximation steigt an den Rändern der Toleranzbreite. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schlussfolgerung:&#039;&#039;&#039; &lt;br /&gt;
* Da die auf Basis der Momenten-Methode gebildete Zielfunktion hinreichend glatt ist, können wir das Hooke-Jeeves-Verfahren verwenden. &lt;br /&gt;
* Eine Anzahl von 300 Optimierungsschritten könnte ausreichend sein und kann nachträglich problemlos verändert werden.&lt;br /&gt;
&lt;br /&gt;
=== Entwurfsparameter (Nennwerte) ===&lt;br /&gt;
&lt;br /&gt;
Die mittels Nennwert-Optimierung ermittelten &amp;quot;optimalen&amp;quot; Nennwerte sollen so verändert werden, dass trotz aller Streuungen eine Versagenswahrscheinlichkeit=0 entsteht:&lt;br /&gt;
* Beim Hooke-Jeeves-Verfahren steigt die Anzahl der erforderlichen Tastschritte proportional mit der Anzahl der Entwurfsgrößen. &lt;br /&gt;
* Jeder Tastschritt des Optimierungsverfahrens besteht aber jetzt aus den &#039;&#039;&#039;n&#039;&#039;&#039; Tastschritten der probabilistischen Simulation (Stichprobenberechnung).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Reduzierung des Suchraumes hat deshalb bei der zuverlässigkeitsbasierten Optimierung eine wesentlich größere Bedeutung als bei der bisherigen Nennwert-Optimierung: &lt;br /&gt;
* Da wir nur noch 4 Entwurfsgrößen in die Nennwert-Optimierung einbeziehen, kann man im Beispiel den Suchraum nicht mehr wesentlich reduzieren.&lt;br /&gt;
* Wir benötigen somit für dieses Experiment nur 4 variable Nennwerte:&lt;br /&gt;
 &#039;&#039;&#039;d_Anker&#039;&#039;&#039;   : 5...15 mm &lt;br /&gt;
 &#039;&#039;&#039;w_Spule&#039;&#039;&#039;   : 100...1000 &lt;br /&gt;
 &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; : 0.1...10 Ohm&lt;br /&gt;
 &#039;&#039;&#039;k_Feder&#039;&#039;&#039;   : 1...100 N/mm (Toleranz.kF_Mitte)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Achtung:&#039;&#039;&#039;&#039;&#039; Nutzt man den Workflow zur Optimierung, so muss zu jeder Streuung für den zugeordneten Modell-Parameter ein Nennwert definiert werden. Ansonsten kann es nach abnormalen Simulationsläufen zu undefinierten Verschiebungen der Streubereiche kommen:&lt;br /&gt;
* Im Beispiel sind die variablen Nennwerte mit anderen Modell-Parametern verknüpft als die Streuungen. Das gilt auch für die Federsteife.&lt;br /&gt;
* Deshalb müssen wir für alle Streuungen zusätzliche konstante Nennwerte definieren, deren Wert dem Toleranz-Mittenwert der zugehörigen Streuung entspricht:&lt;br /&gt;
 &#039;&#039;&#039;RW_rel&#039;&#039;&#039;    : 1  (Toleranz.RW_relTol)&lt;br /&gt;
 &#039;&#039;&#039;kPapier&#039;&#039;&#039;   : 1  (Toleranz.kP_relTol)&lt;br /&gt;
 &#039;&#039;&#039;kFeder_rel&#039;&#039;&#039;: 1  (Toleranz.kF_relTol)&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Im Workflow für die probabilistische Simulation haben wir diesen Aufwand mit den zusätzlichen Nennwerten nicht getrieben und es funktionierte trotzdem! Probleme gibt es nur bei der probabilistischen Optimierung - im Fehlerfall würden die Mittenwerte der Streuungen undefiniert verändert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit diesen Entwurfsparametern beginnen wir den Aufbau des Workflows:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_workflow_ausschuss-min.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Folgende Startschrittweiten für die Abtastung der Zielfunktion haben sich als günstig erwiesen:&lt;br /&gt;
 &#039;&#039;&#039;d_Anker&#039;&#039;&#039;   : 0.01 mm &lt;br /&gt;
 &#039;&#039;&#039;w_Spule&#039;&#039;&#039;   : 1 (zusätzlich Genauigkeit=1) &lt;br /&gt;
 &#039;&#039;&#039;R20_Spule&#039;&#039;&#039; : 0.001 Ohm&lt;br /&gt;
 &#039;&#039;&#039;k_Feder&#039;&#039;&#039;   : 0.1 N/mm&lt;br /&gt;
&lt;br /&gt;
=== Entwurfsparameter (Streuungen) ===&lt;br /&gt;
&lt;br /&gt;
Die Streuungen bleiben weiterhin vorgegebene &amp;quot;konstante&amp;quot; Größen (Werte aus der vorherigen Etappe benutzen!). Um die Bearbeitungszeit für diese Übungsaufgabe in Grenzen zu halten, beschränken wir uns auf 3 Streuungen. Diese erfordern nur 7 Abtastschritte pro Stichprobe. &lt;br /&gt;
&lt;br /&gt;
Die Beschränkung auf die folgenden 3 Streuungen erfolgte anhand der ermittelten globalen Sensitivitäten (Effekte):&lt;br /&gt;
 &#039;&#039;&#039;RW_relTol&#039;&#039;&#039;: Wirbelstromwiderstand normalverteilt um aktuellen Wert=1 mit Toleranzbreite=1.&lt;br /&gt;
 &#039;&#039;&#039;kP_relTol&#039;&#039;&#039;: Papiersteife normalverteilt um aktuellen Wert=1 mit Toleranzbreite=1. &lt;br /&gt;
 &#039;&#039;&#039;kF_relTol&#039;&#039;&#039;: relative Federsteife normalverteilt um aktuellen Wert=1 mit Toleranzbreite=0.6&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_streuungskonfig.gif|right]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Unabhängig von den individuellen Ergebnissen sollten alle Teilnehmer der Lehrveranstaltung [http://www.ifte.de/lehre/optimierung/uebung.html &amp;quot;Optimierung&amp;quot;] ebenfalls diese 3 Streuungen benutzen!&lt;br /&gt;
* Der zugehörige Toleranzmittenwert jeder Streuung ist nun zusätzlich als &#039;&#039;Entwurfsparameter.Nennwert&#039;&#039; mit dem streuenden Modellparameter verbunden. Die Größe &#039;&#039;Nennwert&#039;&#039; in den Eigenschaften der Streuung ist deshalb jetzt als &#039;&#039;Toleranzmitten-Abstand&#039;&#039; zu interpretieren. Da unsere Parameter-Streuungen symmetrisch sind, ist &#039;&#039;&#039;&#039;&#039;Streuung.Nennwert=0&#039;&#039;&#039;&#039;&#039; zu setzen (&#039;&#039;Toleranzmitten-Abstand&#039;&#039;).&lt;br /&gt;
* Für den virtuellen Entwurf wird der Nennwert der Streuung vom OptiY automatisch auf die Summe aus Toleranzmittenwert und Toleranzmittenabstand gesetzt.&lt;br /&gt;
&lt;br /&gt;
=== Restriktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Workflow muss folgende Restriktionen enthalten:&lt;br /&gt;
 &#039;&#039;&#039;Praegung&#039;&#039;&#039; = 1 (Prägungsmaß)&lt;br /&gt;
 &#039;&#039;&#039;tZyklus&#039;&#039;&#039;  &amp;amp;le; 0.0034 s (Zykluszeit)&lt;br /&gt;
 &#039;&#039;&#039;L_Magnet&#039;&#039;&#039; &amp;amp;le; 30 mm (Magnetlänge)&lt;br /&gt;
 &#039;&#039;&#039;dT_Draht&#039;&#039;&#039; &amp;amp;le; 40 K (Erwärmung) -&amp;gt; deshalb &#039;&#039;&#039;T_Spule=90°C&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;d_Draht&#039;&#039;&#039;  = Norm-Drahtdurchmesser &lt;br /&gt;
Eine kritische Größe bei dieser Optimierung ist wieder der Drahtdurchmesser:&lt;br /&gt;
* Die Veränderung von Ankerdurchmesser, Windungszahl und Spulenwiderstand führt zu einer Veränderung des daraus resultierenden Drahtdurchmessers. &lt;br /&gt;
* Bisher wurde mittels der Restriktionsgröße &#039;&#039;d_Draht&#039;&#039; die Optimierung gezwungen, hinreichend genau einen Normdraht-Durchmesser anzustreben. &lt;br /&gt;
* Es könnte sein, dass die Ausschuss-Minimierung einen anderen Normdrahtdurchmesser erfordert. &lt;br /&gt;
* Deshalb sollte man zuerst die Grenzen für den zulässigen Drahtdurchmesser sehr groß wählen (z.B. 0.1&amp;amp;nbsp;mm bis 1&amp;amp;nbsp;mm - &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Einheit &#039;&#039;&#039;m&#039;&#039;&#039; verwenden!). Bei der Ausschuss-Minimierung erkennt man dann die Tendenz der erforderlichen Veränderung. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_restriktionskonfig.gif|right]]Im Unterschied zur Nennwert-Optimierung muss man bei der zuverlässigkeitsbasierten Optimierung wesentlich mehr Sorgfalt auf die Konfiguration der Restriktionsgrößen legen:&lt;br /&gt;
* Bei der Nennwert-Optimierung wird nur überprüft, ob der aktuelle Wert der Restriktionsgröße im zulässigen Bereich liegt. Der zulässige Wertebereich wird durch Unter- und Obergrenze beschrieben.&lt;br /&gt;
* Bei der zuverlässigkeitsbasierten Optimierung muss jedoch überprüft werden, ob der gesamte aktuelle Streubereich der Restriktionsgröße im zulässigen Bereich liegt. &lt;br /&gt;
&lt;br /&gt;
Für jede Restriktionsgröße kann bei der probabilistischen Simulation ein zulässiger Ausschuss angegeben werden:&lt;br /&gt;
# Das kann sinnvoll sein, wenn man z.B. bei der Fertigung anhand dieser Prüfgröße unzulässige Exemplare aussortiert. Das kann durchaus weniger Kosten verursachen, als eine extrem genauere Fertigung.&lt;br /&gt;
# Strebt man bei der Ausschuss-Minimierung eine Gesamtversagenswahrscheinlichkeit von Null an, so erlangen bei sehr kleinen Teilversagenswahrscheinlichkeiten die numerischen Fehler bei der Simulation der Ausgangsstreuungen eine wachsende Bedeutung. Um dieses &amp;quot;numerische Rauschen&amp;quot; zu eliminieren, ist es günstig, einen sehr kleinen zulässigen Ausschusswert angeben, z.B. 0.3%. Das entspricht dann praktisch einem Ausschuss=0.&lt;br /&gt;
&lt;br /&gt;
Dieses Problem des numerischen Rauschens bei sehr kleinen Teilversagenswahrscheinlichkeiten soll nun näher betrachtet werden:&lt;br /&gt;
* Im Allgemeinen besitzt eine Streuung keine scharfen Grenzen. In OptiY ist die Toleranzbreite &#039;&#039;&#039;T&#039;&#039;&#039; als der 6-fache Wert der Standard-Abweichung &#039;&#039;&#039;σ&#039;&#039;&#039; definiert. Damit erfasst man z.B. bei einer Normalverteilung 99,7% aller möglichen Werte der streuenden Restriktionsgröße.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_streugrenzen.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* An den Diagrammen der Verteilungsdichte und der Verteilungsfunktion werden für die X-Achsen unterschiedliche Grenzwerte eingetragen. Bei genauerem Hinschauen erkennt man, dass die Funktionswerte auch außerhalb dieser Grenzen z.B. noch nicht Null sind. &lt;br /&gt;
* Die Funktionen werden bei der Darstellung abgeschnitten, wenn ihr Funktionswert den Wert=Ymax*0.0067 unterschreitet (Ymax = maximaler Funktionswert).&lt;br /&gt;
&lt;br /&gt;
Für das sichere Konvergieren des Gesamtversagens gegen den Wert=0 hat sich folgende Vorgehensweise bewährt:&lt;br /&gt;
* Für alle Restriktionsgrößen trägt man &#039;&#039;&#039;zulässiger Ausschuss = 0.003&#039;&#039;&#039; ein. Das entspricht mit 0,3% dem Anteil der Lösungen, der bei einer Normalverteilung außerhalb der Toleranz &#039;&#039;&#039;T=6&amp;amp;middot;σ&#039;&#039;&#039; liegt.&lt;br /&gt;
* Ein Ausschuss kleiner 0.3% ist praktisch irrelevant, weil er nur statistische Rechen- und Approximationsfehler beinhaltet. Deshalb sollten kleinere Teilversagenswahrscheinlichkeiten bei der Berechnung des Gesamtversagens nicht berücksichtigt werden. &lt;br /&gt;
* Diesen Wert von 0.003 kann man durch Beobachtung der Teilversagenswahrscheinlichkeiten während der Ausschuss-Minimierung bei Bedarf noch präzisieren. Unter Umständen ist ein etwas höherer Wert dafür erforderlich.&lt;br /&gt;
* Das Gütekriterium &amp;quot;Versagen&amp;quot; ist nur ein Maß für das Gesamtversagen der Lösung. Der Wert ergibt sich als Summe der gewichteten Teilversagenswahrscheinlichkeiten. Im Normalfall sollte man für alle Restriktionen &#039;&#039;&#039;Gewichtsfaktor=1&#039;&#039;&#039; setzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unstetig streuende Restriktionsgrößen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Praegung&#039;&#039; ist ein Maß für das erfolgreiche Prägen des Papiers. Infolge des im Modell eingebauten Anschlages für die Nadelbewegung ist im Erfolgsfall &#039;&#039;&#039;Praegung=1&#039;&#039;&#039;. Es existiert dabei keine Streuung! Wir hatten ursprünglich für die Grenzen der &#039;&#039;Praegung&#039;&#039; bereits ein Intervall von 1 bis 1.1 angegeben, um eine stabile Konvergenz für die Nennwert-Optimierung zu erreichen. Leider gibt es bei der probabilistischen Simulation (von Stichproben) erneut Probleme mit diesen Grenzen:&lt;br /&gt;
* Auch für die Abhängigkeit der &#039;&#039;Praegung&#039;&#039; von Streugrößen wird mittels Polynomansatz ein Metamodell gebildet. Auf Basis dieses Metamodells wird eine Lambda-Verteilung für die Streuung der &#039;&#039;Praegung&#039;&#039; berechnet.&lt;br /&gt;
* Dabei wird natürlich nur numerisches Rauschen als Streuung interpretiert. Das erkennt man daran, dass z.B. auch für fast identische Nennwerte sich die Kurvenform für die Verteilungsdichte der Praegung &amp;quot;unmotiviert&amp;quot; stark ändert:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_praege-streuung.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* In jedem Fall ist jedoch der &#039;&#039;Mittelwert&#039;&#039;=1. Deshalb kommt es zu einem größeren Teilversagen, weil die untere Grenze von 1 durch die approximierte Verteilungsfunktion um ca. 1e-10 unterschritten wird!&lt;br /&gt;
* Wenn während der probabilistischen Simulation ein stabiles Prägen in allen Stichproben gewährleistet wäre, könnten wir den &#039;&#039;&#039;unteren Grenzwert=0.99&#039;&#039;&#039; setzen, was die Überprüfung des wirklichen Prägevorgangs nicht stören dürfte!&lt;br /&gt;
* Leider ist ein störender Nebeneffekt der vorangegangenen Strukturoptimierung, dass diese Prägung nicht mehr in der gesamten Stichprobe gewährleistet ist. &lt;br /&gt;
* Ungefähr bei Praegung=0.8 erfolgt der Riss des Papiers. Dieser Wert markiert die Unstetigkeitsstelle, denn alle Exemplare, bei denen die Nadel diese Rissposition überschreiten konnte, führen die Praegung auch aus!&lt;br /&gt;
* Deshalb sollte man den unteren Grenzwert einer unstetigen und begrenzten Restriktionsgröße sinnvoll zwischen Unstetigkeitsstelle und Begrenzungswert setzen. Im Beispiel hat sich für &#039;&#039;&#039;Praegung&#039;&#039;&#039; ein &#039;&#039;&#039;unterer Grenzwert=0.85&#039;&#039;&#039; als günstig erwiesen, um die tatsächliche Teilversagenswahrscheinlichkeit hinreichend abzubilden:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_praege-versagen.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Da bei entsprechend vielen &amp;quot;nichtprägenden&amp;quot; Exemplaren die approximierte Verteilungsdichte nach oben flach auslaufen kann, sollte ein etwas höherer &#039;&#039;&#039;oberer Grenzwert=1.3&#039;&#039;&#039; benutzt werden.&lt;br /&gt;
&lt;br /&gt;
=== Gütekriterien ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strafe:&#039;&#039;&#039; &lt;br /&gt;
* Wird automatisch als Gütekriterium ergänzt, weil Restriktionen definiert sind. &lt;br /&gt;
* Die &amp;quot;Hierarchische Optimierung&amp;quot; wirkt dann wie folgt:&lt;br /&gt;
** Zuerst werden &#039;&#039;Entwurfsparameter.Nennwerte&#039;&#039; (=Toleranzmittenwerte) gesucht, welche ohne Berücksichtigung der Streuungen alle Forderungen erfüllen (&#039;&#039;Strafe&#039;&#039;=0). &lt;br /&gt;
** Erst dann werden unter Berücksichtigung der Versagenswahrscheinlichkeit die &#039;&#039;Entwurfsparameter.Nennwerte&#039;&#039; so verändert, dass das Versagen kleiner wird. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Versagen:&#039;&#039;&#039;&lt;br /&gt;
* Wird automatisch ergänzt, weil Streuungen als Entwurfsparameter definiert sind. &lt;br /&gt;
* Es handelt sich um ein Maß für die Gesamt-Versagenswahrscheinlichkeit einer Stichprobe:&lt;br /&gt;
** Für jede Restriktionsgröße werden Teilversagenswahrscheinlichkeiten ermittelt. &lt;br /&gt;
** Der Wert für das &amp;quot;Versagen&amp;quot; ergibt sich bei der Momenten-Methode als Summe der gewichteten Teilversagenswahrscheinlichkeiten. Damit ist bei einer Ausschussquote=0 auch &#039;&#039;Versagen&#039;&#039;=0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimale Zykluszeit:&#039;&#039;&#039; &lt;br /&gt;
* Wir wünschen uns weiterhin, dass nach der Ausschuss-Minimierung der Nadelantrieb auch für den schlechtesten Fall noch möglichst schnell funktioniert.&lt;br /&gt;
* Diesen Wunsch formulieren wir wie gewohnt durch Vorgabe einer oberen Grenze für die &#039;&#039;&#039;&#039;&#039;Restriktion tZyklus&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Ausgehend von einem Anfangswert können wir uns dann iterativ einem möglichst kleinen Maximalwert für die Zykluszeit nähern, bei dem noch &#039;&#039;Versagen&#039;&#039;=0 erreicht wird.&lt;br /&gt;
* Die vorherige Analyse ergab, dass wir die Forderung aus der Aufgabenstellung von 3.4&amp;amp;nbsp;ms in Stichprobe teilweise überschreiten. Deshalb sollte man zuerst diesen Grenzwert eintragen, da diese Forderung in jedem Fall einzuhalten ist. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Minimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung&amp;diff=15311</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Bewertung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung&amp;diff=15311"/>
		<updated>2014-05-26T12:08:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Bewertung der Struktur-Modifikation  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die am Magnetantrieb vorgenommene Änderung der Schutzbeschaltung führte zu einer qualitativ veränderten Lösung. Daraus resultieren sowohl die gewünschten positiven Auswirkungen, als auch unerwünschte negative Nebeneffekte:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Positiv&#039;&#039;&#039;&lt;br /&gt;
# Die Überschreitung von vorgegebenen Maximalströmen und -spannungen kann zuverlässig verhindert werden.&lt;br /&gt;
# Die Zeit für einen Prägezyklus hat sich im Vergleich zur vorherigen Lösung verbessert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Negativ&#039;&#039;&#039;&lt;br /&gt;
# Für die Nennwert-optimierte Lösung kann es anteilig zu einem Versagen des Antriebs infolge &amp;quot;Nichtprägens&amp;quot; des Papiers kommen. Diese Schwachstelle existierte in der ursprünglichen Antriebsstruktur nicht, da mit &amp;quot;beliebig viel Strom&amp;quot; immer ein Prägen erzwungen werden konnte.&lt;br /&gt;
# Für den Fall des Nichtprägens müsste jetzt eine Sicherheitsabschaltung des Magneten erfolgen, um eine zu starke Erwärmung durch permanenten Stromfluss zu verhindern.&lt;br /&gt;
&lt;br /&gt;
Es liegt nun in unserer Verantwortung zu entscheiden, ob wir mit der neuen Schwachstelle besser umgehen können, als mit der elektrischen Überlastung. Dazu muss man überlegen, ob man durch Optimierung von Entwurfsparametern eine Lösung erreichen kann, die innerhalb des Streubereiches stabil funktioniert:&lt;br /&gt;
* Es existieren zur Zeit Konfigurationen, bei denen die Energie des Ankers nicht ausreicht, dass Papier zu prägen.&lt;br /&gt;
* Infolge der Strombegrenzungsschaltung liegt das neue Nennwert-Optimum im Sättigungsbereich des Eisenkreises.&lt;br /&gt;
* Um in die magnetische Sättigung zu gelangen, wurde der Ankerdurchmesser verringert. Dies führte zu einer geringeren Ankermasse und damit zu einer geringeren kinetischen Energie der prägenden Masse. &lt;br /&gt;
* Wahrscheinlich muss für ein sicheres Prägen die Masse des Ankers vergrößert werden. Das hat jedoch ungünstige Auswirkungen auf die Bewegungsdynamik.&lt;br /&gt;
* Es besteht die Hoffnung, dass eine akzeptable Kompromisslösung existiert, die innerhalb des Streubereiches eine sichere Prägung erreicht und trotzdem hinreichend schnell arbeitet.&lt;br /&gt;
&lt;br /&gt;
Da jede Strukturänderungen meist zu unerwarteten negativen Nebenwirkungen führt, sollte man im Zweifelsfall Veränderungen an einem funktionierenden System vermeiden:&lt;br /&gt;
* Wir verschieben unsere endgültige Entscheidung auf die nächste Entwurfsetappe, in der wir mit der neuen Struktur unter Einbeziehung der probabilistischen Simulation eine Parameter-Optimierung im Sinne einer Ausschussminimierung und Robustheitsmaximierung durchführen.&lt;br /&gt;
* Erst wenn damit die Hoffnung auf eine befriedigende Lösung nicht erfüllt werden kann, werden wir über eine weitere Struktur-Optimierung nachdenken!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ergebnisse der Struktur-Optimierung:&#039;&#039;&#039;&lt;br /&gt;
* Wie groß ist Gesamtversagenswahrscheinlichkeit des Nennwert-optimierten Antriebs?&lt;br /&gt;
* Wie groß sind die Teilversagenswahrscheinlichkeiten (Zykluszeit, Prägen, Erwärmung)?&lt;br /&gt;
* Welche drei streuungsbehafteten Parameter besitzen den größten Einfluss auf das Verhalten des Prägenadel-Antriebs? &lt;br /&gt;
* Kann man die Interaktionen zwischen den streuungsbehafteten Parametern vernachlässigen? (Mit Begründung der Entscheidung!)&lt;br /&gt;
Die Antworten auf diese Fragen sind als Bestandteil der Lösung einzusenden.&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15310</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Probabilistische Simulation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation&amp;diff=15310"/>
		<updated>2014-05-26T12:07:15Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Probabilistische Simulation  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Experiment-Planung ===&lt;br /&gt;
&lt;br /&gt;
Die Funktionalität unseres Antriebs hat sich für die exakten Nennwerte durch die Struktur-Änderung nicht verschlechtert. In Hinblick auf die Zykluszeit erreicht man durch Ausschöpfen aller Restriktionen und den schnelleren Stromanstieg wahrscheinlich sogar bessere Werte:&lt;br /&gt;
* Erst die probabilistische Simulation kann zeigen, in welchem Maße wir durch die Struktur-Änderung eine akzeptable Verbesserung unserer Antriebslösung in Hinblick auf die Robustheit gegen Parameter-Streuungen erreichen konnten.&lt;br /&gt;
* Wir benutzen dafür einen neuen OptiY-Versuchsstand &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039;:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_workflow_probabilistik.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Diesen kann man wie für die Nennwert-Optimierung aus einer Kopie von &#039;&#039;Etappe4_xx.opy&#039;&#039;  gewinnen:&lt;br /&gt;
*# Anstatt Etappe4_xx.isx im Workflow beider Experimente die Datei &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; öffnen (Experiment zuvor als &#039;&#039;&#039;Startup-Experiment&#039;&#039;&#039;!) &lt;br /&gt;
*# &#039;&#039;&#039;iMax&#039;&#039;&#039; und &#039;&#039;&#039;vMax&#039;&#039;&#039; aus beiden Experiment-Workflows entfernen, da die Streuung dieser Größen nicht mehr relevant ist.&lt;br /&gt;
*# Datei &#039;&#039;&#039;Etappe5_xx_Streuung.opy&#039;&#039;&#039; speichern.&lt;br /&gt;
*# OptiY und SimulationX beenden.&lt;br /&gt;
* Sowohl mit der Sample-Methode als auch mit der Moment-Methode soll in Anlehnung an die &#039;&#039;Etappe4&#039;&#039; eine probabilistische Simulation der neuen Nennwert-optimalen Lösung vorgenommen werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweise zur Modell- und Lösungsstabilität:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Unter Umständen werden während der probabilistischen Simulation Lösungsexemplare generiert, deren Magnet zu schwach ist, um das Papier zu Prägen. Dabei ergibt sich eine Zykluszeit nahe Null.&lt;br /&gt;
* Ohne &#039;&#039;Praegung&#039;&#039; des Papiers erfolgt im Modell kein Abschalten des Elektro-Magneten, der nun komplett in die Sättigung gelangt. Dabei kann sich der Solver in einer Rechenschleife verfangen und die Modellrechnung endet nicht selbständig. Deshalb sollte man den Term für die Abbruchbedingung im Simulationsmodell wie folgt umformulieren:&lt;br /&gt;
 ((Praegung.y&amp;gt;=1)and(tZyklus.y&amp;gt;1e-3)and((t-tZyklus.y)&amp;gt;1e-5))or((Riss.y==0)and(Nadel.v&amp;gt;0)and(Nadel.x&amp;lt;Nadel.x0))&lt;br /&gt;
* Wenn das Papier noch nicht gerissen ist und die Nadel trotzdem zurückfliegt, dann federte die Nadelspitze nur auf der Papieroberfläche ab und es wird kein Prägevorgang erfolgen. In diesem Fall soll die Simulation enden.&lt;br /&gt;
* Bevor die Nadel durch die Magnetkraft in das Papier gedrückt wird, erfolgt durch die Feder-Vorspannung ein Zurückziehen in den Anschlag. Das wird als ein tZyklus-Ereignis interpretiert. Es entsteht ein Wert für tZyklus nahe Null. Mit dem bisherigen Spulenmodell wird beim Nichtprägen damit eine Erwärmung im Bereich von 1000 K berechnet! &lt;br /&gt;
* Da wir die Simulation unmittelbar nach vollendetem Prägezyklus abschalten, können wir anstatt der Zykluszeit die Simulationszeit selbst für die Berechnung der Spulentemperatur benutzen.&lt;br /&gt;
* Wir ändern mit dem Typedesigner das Verhalten des Spulenelements wie folgt, wobei wir eine Division durch Null vermeiden müssen:&lt;br /&gt;
 PW:=Rel*i*i;&lt;br /&gt;
 EW:=integral(PW,0);&lt;br /&gt;
 &#039;&#039;&#039;PW_mittel:=EW/(time+1e-6);&#039;&#039;&#039;&lt;br /&gt;
 dT_Spule:=Rth_Kuehl*PW_mittel;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sample-Methode ===&lt;br /&gt;
&lt;br /&gt;
Hier soll das Augenmerk darauf gerichtet werden, dass eine Normalverteilung laut Definition keine Grenzen besitzt! Das erkennt man an einzelnen &amp;quot;Ausreißern&amp;quot; bei der Generierung der Stichprobe:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_inputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Solche &amp;quot;Ausreißer&amp;quot; bewirken bei grenzwertigen Lösungen häufig ein unzulässiges Verhalten.&lt;br /&gt;
* Alle nicht normalverteilten Streuungen (im Beispiel die Spulentemperatur) bewegen sich nur innerhalb der vorgegebenen Grenzwerte.&lt;br /&gt;
&lt;br /&gt;
==== Robustes Praegen ====&lt;br /&gt;
&lt;br /&gt;
Falls die gesamte berechnete Stichprobe zu einer vollständigen Praegung des Papiers führt, so ist die Interpretation der Ergebnisse relativ einfach:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Sensitivität-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample_praegung1.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei vollständigem Prägen der Stichprobe zeigt der Sensitivity-Chart für die Praegung nur das Rauschen um den Wert 1. Die Ergebnisse des Praegung-Charts können also ignoriert werden.   &lt;br /&gt;
* Die Charts der anderen Bewertungsgrößen zeigen jedoch deutlich den unterschiedlichen Einfluss der einzelnen Streuungen.&lt;br /&gt;
&lt;br /&gt;
==== Teilweises Nichtpraegen ====&lt;br /&gt;
&lt;br /&gt;
Kritisch wird die Interpretation der Ergebnisse, wenn man im Histogramm der &#039;&#039;Praegung&#039;&#039; sieht, dass ein Teil der Stichprobe zu einem Nichtprägen des Papiers führte (im Beispiel 17%): &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_histogramm_outputs.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die &amp;quot;nichtprägenden&amp;quot; Antriebe widerspiegeln sich auch im Histogramm der Zykluszeit, wo sie mit einer sehr kleinen Zykluszeit von ca. 0,18&amp;amp;nbsp;ms vermerkt sind. &lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Falls &amp;quot;nichtprägende&amp;quot; Lösungen im Histogramm nicht dargestellt werden, obwohl dafür eine Versagenswahrscheinlichkeit&amp;gt;0 angezeigt wird, kann man die Anzahl der Balken im Histogramm verringern (z.B auf 10). Das muss aber nicht zum Erfolg führen, denn in den Histogrammen werden nur Balken ab einer gewissen prozentualen Höhe berücksichtigt! In der DOE-Tabelle erhält man die Werte der kompletten realen Stichprobe.&lt;br /&gt;
Die Sensitivität-Charts zeigen den Einfluss der einzelnen Streuungen auf die Bewertungsgrößen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_real-sample.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Effekt (=Einfluss) der einzelnen Streuung auf das Verhalten (abgebildet durch die Bewertungsgrößen) wird für den aktuellen Arbeitspunkt bestimmt (=aktuelle Nennwerte).&lt;br /&gt;
* Für die Effekt-Berechnung wird nicht das Original-Modell benutzt. Verwendet werden dafür die Antwortflächen (=Ersatzfunktionen) der einzelnen Bewertungsgrößen.&lt;br /&gt;
* Die gebildeten Ersatzfunktionen (im Beispiel Gauß-Prozess mit Polynomordnung=2) sind nur für stetige Verhaltensänderungen hinreichend genau.&lt;br /&gt;
* Wir haben hier jedoch den typischen Fall, dass zulässige und unzulässige Lösungen nicht stetig ineinander übergehen:[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_anthillplot.gif|right]]&lt;br /&gt;
* Es entstehen im Beispiel zwei Teilmengen in der Stichprobe, welche sich in Ihren Eigenschaften markant voneinander unterscheiden.&lt;br /&gt;
* Dieser Fall ist typisch bei Totalversagen von Lösungen (&amp;quot;Sein oder Nichtsein&amp;quot;), was sich im Beispiel in &amp;quot;Prägen oder Nichtprägen&amp;quot; äußert.&lt;br /&gt;
* In der realen Monte-Carlo-Stichprobe wird dieses Verhalten exakt abgebildet. Man kann die &amp;quot;räumlich&amp;quot; getrennten Lösungsmengen sehr gut über Anthill-Plots visualisieren (Bild rechts).&lt;br /&gt;
* Der Wert von tZyklus=0,19&amp;amp;nbsp;ms beim &amp;quot;Nichtprägen&amp;quot; repräsentiert keinen besonders schnellen Antrieb. Es handelt sich um einen Zufallswert, der aus dem Hineinziehen der Prägenadel in den Anschlag durch die Federvorspannung vor dem Wirken einen ausreichenden Magnetkraft resultiert.&lt;br /&gt;
* Für unstetige Bewertungsgrößen (z.B. Praegung) ist es kaum möglich sein, die Streuung der Bewertungsgrößen mittels eines Polynom-Ansatzes befriedigend abzubilden, wie man anhand der virtuellen Stichprobe auf einem Gauß-Prozess mit Polynomordnung=2 erkennt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten.gif| ]] &amp;lt;/div&amp;gt; &lt;br /&gt;
* Benutzt man für den Gauß-Prozess die Polynomordnung=3 (Antwortfläche, Sensitivitäten und Probabilistik neu berechnen!), so sind die verteilungsdichte zwar stetiger, aber an der grundsätzlich fehlerhaften Ersatzfunktion ändert sich nichts:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichten_po3.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_praegung_korrigiert.gif|right]]&lt;br /&gt;
* Die Teilversagenswahrscheinlichkeit für das Prägen wird im Beispiel extrem verfälscht. Das hat auch Auswirkung auf die angebliche Gesamtversagenswahrscheinlichkeit (im Beispiel ca. 60%). Hier kann man sich mit einem Trick behelfen, indem man die Grenzen des zulässigen Bereichs z.B. auf 0.8 bis 1.3 setzt. Erreicht die Nadelspitze den unteren Grenzwert, dann erfolgt in jedem Fall ein Prägen. Im realen Modell können keine Werte über 1 vorkommen (außer Ungenauigkeiten im Promille-Bereich).&lt;br /&gt;
* Nach &#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Probabilistik &amp;gt; Neu berechnen&#039;&#039;&#039;&#039;&#039; ergeben sich sinnvollere Werte für das Gesamtversagen von ca. 20% (Bild rechts).&lt;br /&gt;
&lt;br /&gt;
=== Moment-Methode ===&lt;br /&gt;
&lt;br /&gt;
Es ist zu erwarten, dass die Genauigkeit der Moment-Methode einer unstetigen Lösungsmenge ebenfalls nicht befriedigen kann. Wenn man den Trick mit der korrigierten unteren Grenze für die &#039;&#039;Praegung&#039;&#039; auch in diesem Experiment anwendet, so erhält man ähnliche Ergebnisse, wie mit der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Auch die Rangfolge der Effekte ist ähnlich wie bei der Sample-Methode:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modellreduktion bei unstetigem Modellverhalten ===&lt;br /&gt;
&lt;br /&gt;
Ein wichtiges Ziel der probabilistischen Analyse dürfen wir nicht aus den Augen verlieren - die Minimierung der erforderlichen Modellberechnungen durch Vernachlässigung unwesentlicher Streu-Effekte:&lt;br /&gt;
* Bei Existenz von Verhaltensunstetigkeiten im Streu-Bereich sind die Ergebnisse in Hinblick auf die Rangfolge der Effekte und das Maß ihrer Interaktionen mit großen Unsicherheiten behaftet, weil die Ersatzfunktionen in den Unstetigkeitsbereichen sehr ungenau sind.&lt;br /&gt;
* Der Pfad einer späteren Optimierung soll sich möglichst von unstetigem Verhalten fernhalten. Es ist deshalb ausreichend, die Sensitivitäten des Verhaltens in einem engeren Streubereich zu untersuchen. Die ermittelten Sensitivitäten werden sich während der Optimierung nicht total verändern.&lt;br /&gt;
* Wir verringern deshalb bei vorhandener Unstetigkeit des Verhaltens die Toleranzen der Streuungen proportional temporär soweit, dass kein unstetiges Verhalten für die simulierte Stichprobe mehr auftritt. Im Beispiel war dies bei einer Verringerung aller Streuungen auf 10% gewährleistet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode_zehntel.gif| ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Ergebnisse für die Praegung können wir weiterhin ignorieren, da diese nur das Rauschen der Zahl 1 abbilden. &lt;br /&gt;
* Die restlichen Sensitivity-Charts zeigen das Fehlen von Interaktionen zwischen den Streuungen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_effekte_moment-methode_zehntel.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Außerdem kann man im Beispiel auf die Streuungen der Betriebsspannung und der Spulentemperatur für die probabilistische Simulation verzichten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Sensitivitäten bei unstetigem Verhalten:&#039;&#039;&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Kommt es innerhalb der Stichprobe zu unstetigem Modellverhalten (z.B. Nichtprägen), so verringert man die Toleranzen aller Streuungen proportional, bis stetiges Verhalten erreicht wird. Bei Verwendung einer Sample-Methode muss man dabei auch die Toleranzen für den &amp;quot;virtuellen Entwurf&amp;quot; mit ändern.&lt;br /&gt;
* Konfiguriert man dafür kein separates Experiment, so sollte man nach Ermittlung der globalen Sensitivitäten und Festlegung der Modellreduktion die Änderung wieder rückgängig machen. Nur so ist gewährleistet, dass man später wieder das Verhalten der realen Stichprobe simuliert. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Bewertung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung&amp;diff=15309</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Nennwert-Optimierung</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung&amp;diff=15309"/>
		<updated>2014-05-26T12:05:53Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Nennwert-Optimierung  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Nennwert-Optimierung brauchen wir im Experiment-Workflow des OptiY-Versuchsstands &#039;&#039;&#039;Etappe5_xx_Nennwert.opy&#039;&#039;&#039; nur noch vier Entwurfsparameter berücksichtigen:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_workflow_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Am schnellsten gelangt man zu diesem Versuchsstand, wenn man eine Datei-Kopie von der Datei &#039;&#039;&#039;Etappe3_xx.opy&#039;&#039;&#039; erzeugt und im OptiY öffnet: &lt;br /&gt;
# Schutzwiderstand im Workflow löschen. &lt;br /&gt;
# Anstatt Etappe3_xx.isx im Workflow die Datei &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; öffnen.&lt;br /&gt;
# Eingang &#039;&#039;&#039;k_Feder&#039;&#039;&#039; mit &#039;&#039;&#039;Toleranz.kF_Mitte&#039;&#039;&#039; verbinden.&lt;br /&gt;
# Datei &#039;&#039;&#039;Etappe5_xx.opy&#039;&#039;&#039; speichern.&lt;br /&gt;
# OptiY und SimulationX beenden.&lt;br /&gt;
Die Nennwert-Optimierung erfolgt einschließlich der Berücksichtigung der Draht-Normreihe wie in &#039;&#039;Etappe3&#039;&#039; beschrieben:&lt;br /&gt;
* Die Restriktionsgrößen &#039;&#039;&#039;iMax&#039;&#039;&#039; und &#039;&#039;&#039;vMax&#039;&#039;&#039; werden zu Kontrollzwecken angezeigt. Die geringfügige Überschreitung von &#039;&#039;&#039;iMax&#039;&#039;&#039; resultiert aus der nicht ganz idealen Wirkung des Begrenzungselements und hat praktisch keine Bedeutung. Damit daraus kein Anteil in der Straffunktion resultiert, sollte man den zulässigen Grenzwert für die Restriktionsgröße im Experiment etwas erhöhen (z.B. auf &#039;&#039;&#039;1.51&amp;amp;nbsp;A&#039;&#039;&#039;).&lt;br /&gt;
* Hat man aus Gründen der numerischen Stabilität die Schutzdiode entfernt, so fließt nicht der komplette Strom durch die Spule, sondern ein Teil fließt durch den parallel liegenden Widerstand. Der Wert von &#039;&#039;&#039;vMax&#039;&#039;&#039; ist dann infolge dieser Modellvereinfachung immer kleiner als der zulässige Grenzwert. &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Da der vorgegebene Wert des Schutzwiderstandes viel kleiner ist, als bei der Nennwert-Optimierung in der &#039;&#039;Etappe3&#039;&#039;, ermöglicht dies eine qualitativ andere Lösung. Der Magnetkreis kann nun so dimensioniert werden, dass das Abschalten immer beim zulässigen Maximalstrom erfolgt. &lt;br /&gt;
* Da eine aktive Strombegrenzung existiert, kann ein möglichst schneller Stromanstieg angestrebt werden. So gelangt z.B. das Eisen mit einem kleineren Eisenquerschnitt schneller in die magnetische Sättigung, was zum günstigen schnelleren Stromanstieg führt.&lt;br /&gt;
* Der geringere Ankerdurchmesser ermöglicht im Wickelraum einen größeren Drahtdurchmesser mit geringeren ohmschen Verlusten, was günstig für die Erwärmung ist.&lt;br /&gt;
* Die neue Verhaltensqualität kann man deutlich in den Signalverläufen des Nennwert-Optimums erkennen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_signale_nennwert-optimum.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;Übernahme des Nennwert-Optimums in das SimulationX-Modell durch Speichern des Modells nach dem durchgeführten Simulationslauf nicht vergessen!&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation&amp;diff=15308</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Struktur-Modifikation</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation&amp;diff=15308"/>
		<updated>2014-05-26T12:05:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Struktur-Modifikation (Modell)  &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ausgehend vom Nennwert-optimierten Modell, welches wir in der &#039;&#039;Etappe4&#039;&#039; probabilistisch untersucht haben, erstellen wir als Kopie ein Modell &#039;&#039;&#039;Etappe5_xx.isx&#039;&#039;&#039; (mit &#039;&#039;&#039;xx&#039;&#039;&#039;=Teilnehmer 00..99). An diesem Modell nehmen wir kleine Struktur-Änderungen vor, um die Schwachstellen unserer bisherigen Lösung zu beheben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Hinweis zur SimulationX-Studentenversion:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Die Anzahl zulässiger Zustandsgrößen beträgt im Simulationsmodell nur 17. Um die zusätzlichen Elemente zur Strom-/Spannungsbegrenzung ergänzen zu können, muss man anderweitig im Modell Zustandsgrößen einsparen:&lt;br /&gt;
*# Die Diode ist als &amp;quot;&#039;&#039;&#039;Ideale Diode&#039;&#039;&#039;&amp;quot; zu konfigurieren.&lt;br /&gt;
*# Der Wirbelstrom für den kurzen Eisenabschnitt im Spuleninnern kann vernachlässigt werden (&#039;&#039;&#039;Wirbel_Innen löschen!&#039;&#039;&#039;).&amp;lt;br&amp;gt;Wenn man den kompletten ohmschen Eisenwiderstand dem äußeren Eisenabschnitt zuweist, ergeben sich praktisch deckungsgleiche Signalverläufe:&amp;lt;center&amp;gt;&#039;&#039;Wirbel_Aussen.Reddy&#039;&#039; = &#039;&#039;&#039;Geometrie.Re_Eisen&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Strombegrenzung ===&lt;br /&gt;
&lt;br /&gt;
Wir werden die naheliegende Idee aufgreifen und das Netzteil mit einem Strombegrenzungselement &#039;&#039;&#039;&#039;&#039;iGrenz&#039;&#039;&#039;&#039;&#039; versehen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_elektroschaltung.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Leider enthält die Modell-Bibliothek keinen Strombegrenzer als Elementtyp, so dass wir selbst ein solches Element entwickeln müssen.&lt;br /&gt;
* Wir benutzten dafür direkt einen normalen elektrischen Widerstand, dessen Widerstandswert &#039;&#039;&#039;R&#039;&#039;&#039; sich in Abhängigkeit vom durchfließenden Strom ändern soll:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;R=| i / i&amp;lt;sub&amp;gt;Grenz&amp;lt;/sub&amp;gt; |&amp;lt;sup&amp;gt;512&amp;lt;/sup&amp;gt;&#039;&#039;&#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Wert für den Maximalstrom &#039;&#039;&#039;iGrenz&#039;&#039;&#039; wird im &#039;&#039;&#039;Geometrie&#039;&#039;&#039;-Element als zusätzlicher Parameter definiert.&lt;br /&gt;
:# Für i&amp;lt;i&amp;lt;sub&amp;gt;Grenz&amp;lt;/sub&amp;gt; geht der Widerstandswert gegen Null.&lt;br /&gt;
:# Für i&amp;gt;i&amp;lt;sub&amp;gt;Grenz&amp;lt;/sub&amp;gt; nimmt der Widerstandswert große Werte an, um den Strom zu begrenzen.&lt;br /&gt;
* Der &#039;&#039;&#039;Exponent=512&#039;&#039;&#039; hat sich als numerisch günstiger Kompromiss zwischen numerischer Stabilität und Begrenzungsfunktion erwiesen.&lt;br /&gt;
* Insbesondere der 2. Fall führt infolge der Exponentialfunktion im Zusammenspiel mit den Eigenarten der numerischen Simulation schnell zu numerischen Problemen. Deshalb erfolgt für den Widerstandsparameter &#039;&#039;&#039;iGrenz.R&#039;&#039;&#039; eine Begrenzung der Exponentialfunktion unter Berücksichtigung der Ereignisbehandlung:&lt;br /&gt;
 if noEvent(abs(self.i/Geometrie.iGrenz)&amp;lt;1.1)then pow(abs(self.i/Geometrie.iGrenz), 512)else pow(1.1,512)&lt;br /&gt;
=== Spannungsbegrenzung ===&lt;br /&gt;
Würde man den Schutz-Widerstand wie bisher in die Nennwert-Optimierung einbeziehen, so wird das Abschalten der Spule wahrscheinlich nicht beim Maximalstrom erfolgen:&lt;br /&gt;
* Damit kann weiterhin eine zu hohe Abschaltspannung auftreten (z.B. bei Behinderung des Prägens).&lt;br /&gt;
* Diese Abschaltspannung ist dann ca. doppelt so groß wie zulässig und würde wahrscheinlich zur Zerstörung der Spule führen.&lt;br /&gt;
Falls man ein zusätzliches Begrenzer-Element für die Spannung vermeiden will, so muss man den Abschaltwiderstand so dimensionieren, dass bei max. zulässigem Strom höchstens die max. zulässige Spannung anliegt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; &#039;&#039;&#039;Widerstand.R = v&amp;lt;sub&amp;gt;Grenz&amp;lt;/sub&amp;gt;/i&amp;lt;sub&amp;gt;Grenz&amp;lt;/sub&amp;gt; &#039;&#039;&#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
* Der Wert für die Maximalspannung &#039;&#039;&#039;vGrenz&#039;&#039;&#039; wird ebenfalls im &#039;&#039;&#039;Geometrie&#039;&#039;&#039;-Element als zusätzlicher Parameter definiert.&lt;br /&gt;
* Der Wert des Schutz-Widerstandes ist nun durch die laut Anforderungsliste gegebenen elektrischen Grenzwerte vollständig bestimmbar. Deshalb muss er nicht mehr als Entwurfsparameter in den folgenden Optimierungsschritten berücksichtigt werden. Liegt der berechnete Wert außerhalb z.B. der [http://de.wikipedia.org/wiki/Widerstandsreihe &#039;&#039;&#039;E24-Widerstandsreihe&#039;&#039;&#039;], so könnte man ihn technisch z.B. durch Parallelschaltung zweier E24-Widerstände kostengünstig realisieren!&lt;br /&gt;
&lt;br /&gt;
=== Numerische Stabilität ===&lt;br /&gt;
&lt;br /&gt;
* Bei Berücksichtigung der Hinweise zur Simulationssteuerung aus den vorherigen Etappen erfolgt die Simulation stabil.&lt;br /&gt;
* Falls es Probleme beim Abschaltvorgang auftreten, muss man jedoch die Schutzdiode aus dem Modell entfernen. Dies ist der Fall, wenn bei der Optimierung gehäuft die Meldung auftritt: &#039;&#039;&amp;quot;Kann nach einer Unstetigkeit keinen konsistenten Zustand herstellen.&amp;quot;&#039;&#039; &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Nennwert-Optimierung|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse&amp;diff=15307</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Schwachstellen-Analyse</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse&amp;diff=15307"/>
		<updated>2014-05-26T12:04:16Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Grundlagen|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Schwachstellen-Analyse (Optimierungsziele) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Nennwert-Optimierung führte zu einer idealen Lösung, welche alle Forderungen erfüllte. Erst durch die anschließende probabilistische Simulation wurden die Schwächen dieser Lösung sichtbar:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilungsdichte_restriktionen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Infolge der Verhaltensstreuung arbeitet der Antrieb in über 50% der Fälle außerhalb der Spezifikation. Kritisch sind dabei die sehr selten auftretenden Maximalströme von ca. 4&amp;amp;nbsp;A und vor allem die Spannungsspitzen von ca. 1&amp;amp;nbsp;kV.&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_sensitivity-chart_sec-ord.gif| ]] &amp;lt;/div&amp;gt;Das Optimierungsziel einer Struktur-Optimierung sollte darin bestehen, eine sichere Begrenzung von Maximalstrom und ‑Spannung unter allen Umständen zu gewährleisten. Auch hier helfen uns die Ergebnisse der probabilistischen Simulation, einen Ansatz für eine Strukturänderung in unserem Magnetantrieb zu finden:&lt;br /&gt;
* Den größten Effekt (= größte Auswirkung) auf Maximalstrom und ‑Spannung besitzt die Streuung der Papiersteife. &lt;br /&gt;
* Die Schnittdiagramme zeigen, dass insbesondere steiferes Papier (kP_relTol&amp;gt;1) zu ungünstigeren elektrischen Maximalwerten führt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_schnittdiagramm_moment-methode.gif| ]] &amp;lt;/div&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_2d_i-v.gif|right]]&lt;br /&gt;
* Im Extremfall des Verklemmens der Präge-Nadel infolge eines harten Fremdkörpers, der das Prägen verhindert, würde der Maximalstrom nur durch den ohmschen Widerstand der Spule begrenzt. &lt;br /&gt;
* In diesem Extremfall führt das Abschalten der Spule zu einer Abschaltspannung von mehreren kV, da dann dieser hohe Strom durch den Schutzwiderstand fließt!&lt;br /&gt;
* Der Abschaltstrom liegt bei der optimierten Lösung meist zwischen dem halben und vollständigen Maximalstrom. &lt;br /&gt;
* Oberhalb des zulässigen maximalen Abschaltstroms erkennt man einen fast linearen Zusammenhang zwischen Maximalstrom und ‑Spannung im Anthill-Plot der Sample-Methode.&lt;br /&gt;
* Da die Abschaltspannung ursächlich vom Maximalstrom abhängt, können wir uns auf die Beseitigung der Schwachstelle &amp;quot;Maximalstrom&amp;quot; konzentrieren. Wenn der Maximalstrom nie überschritten wird, können zumindest keine extremen Abschaltspannungen auftreten!&lt;br /&gt;
&#039;&#039;&#039;Ziele der Struktur-Optimierung:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
# Sichere Begrenzung des Spulenstroms auf den zulässigen Wert.&lt;br /&gt;
# Sichere Begrenzung der Spulenspannung auf den zulässigen Wert.&lt;br /&gt;
# Trotzdem Erreichen eines möglichst kurzen Prägezyklusses.&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Grundlagen|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Struktur-Modifikation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Grundlagen&amp;diff=15306</id>
		<title>Software: SimX - Nadelantrieb - Struktur-Optimierung - Grundlagen</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Grundlagen&amp;diff=15306"/>
		<updated>2014-05-26T12:03:01Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039; Grundlagen (Struktur-Optimierung) &#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Struktur-Optimierung wird im Folgenden unter dem Aspekt der ganzheitlichen Optimierung eines Gerätes (bzw. einer gerätetechnischen Baugruppe) betrachtet:&lt;br /&gt;
* Die Struktur eines Gerätes ergibt sich aus der wechselwirkenden Verbindung seiner Komponenten.&lt;br /&gt;
* Bisher haben wir mittels Parameter-Optimierung versucht, für eine vorhandene Struktur im Sinne der Bewertungskriterien optimale Lösungen zu finden. Die Struktur des Gerätes wurde dabei nicht verändert.&lt;br /&gt;
Es existiert ein qualitativer Unterschied zwischen den Optimierungstypen:&lt;br /&gt;
* &#039;&#039;&#039;Parameter-Optimierung&#039;&#039;&#039; befasst sich in diesem Sinne nur mit der &#039;&#039;Dimensionierung&#039;&#039; der zum Gerät verbundenen Komponenten. Das wird in der Literatur nicht einheitlich betrachtet. In der unten angegebenen Literatur-Empfehlung wird z.B. die &#039;&#039;Dimensionierung&#039;&#039; als ein Typ der Struktur-Optimierung behandelt.&lt;br /&gt;
* &#039;&#039;&#039;Struktur-Optimierung&#039;&#039;&#039; im Sinne einer ganzheitlichen Geräte-Optimierung bezieht sich auf die zielgerichtete Veränderung der Geräte-Struktur durch Änderung von Komponenten und ihrer wechselwirkenden Verbindungen. Veranschaulicht am Beispiel einer elektronischen Schaltung werden dabei Bauelemente oder Verbindungen entfernt bzw. hinzugefügt. &lt;br /&gt;
Industriell nutzbare Software-Pakete zur Struktur-Optimierung beschränken sich auf [http://www.fe-design.de/produkte/tosca-structure/ Topologie-Optimierung] unter Nutzung von Finite Element Modellen:&lt;br /&gt;
* Damit kann man die räumlich-stofflichen Struktur einzelne Geräte-Komponenten (Bauteile) optimieren. &lt;br /&gt;
* Dies ist meist beschränkt auf die Berücksichtigung einer physikalischen Domäne (Strukturmechanik bzw. diverse Potential- und Strömungsprobleme).&lt;br /&gt;
* Das &amp;quot;Erfinden&amp;quot; einer neuen Geräte-Struktur durch freie Kombination und Verbindung unterschiedlichster Komponenten ist mit heutiger Software praktisch nicht möglich!&lt;br /&gt;
Favorisierte Lösungsvarianten für ein Gerät werden trotz optimaler Dimensionierung aller Komponenten noch Schwächen aufweisen. In der Praxis wird man versuchen, durch möglichst geringe Änderungen der Funktions- oder auch der Wirkstruktur diese Schwachstellen zu beseitigen:&lt;br /&gt;
* Der Austausch bzw. die Ergänzung einzelner Gerätekomponenten erfordert die Modifikation der vorhandenen Simulationsmodelle. Der Prozess der Modellbildung einschließlich der Modellvalidierung muss für jede Strukturänderung erneut durchlaufen werden!&lt;br /&gt;
* Jede Änderung einzelner Komponenten erfordert infolge der starken Wechselwirkung zwischen den Gerätekomponenten eine erneute ganzheitliche parametrische Optimierung des Gerätes.&lt;br /&gt;
* Die Analyse und Bewertung in Hinblick auf vorhandene Schwachstellen muss für die veränderten optimalen Lösungen erneut vorgenommen werden.&lt;br /&gt;
* Die Optimierung struktureller Details einer Lösungsvariante gestaltet sich zu einem iterativen Prozess. Infolge des hohen Anteils kreativer Ingenieurtätigkeit ist dieser Prozess der Struktur-Optimierung noch nicht vollständig automatisierbar! &lt;br /&gt;
Im Rahmen dieser Übung werden wir einen derartigen Prozess der gerätetechnischen Struktur-Optimierung gestalten. Damit werden wir die mittels Probabilistischer Simulation aufgedeckten Schwachstellen unseres Magnet-Antriebs beseitigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Literatur-Empfehlung:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://books.google.de/books?id=oJ9VGAMd_TYC&amp;amp;lpg=PP1&amp;amp;ots=yC9fTwyVj1&amp;amp;dq=strukturoptimierung%20harzheim&amp;amp;pg=PP1#v=onepage&amp;amp;q=&amp;amp;f=false Harzheim, Lothar: &#039;&#039;&#039;Strukturoptimierung: Grundlagen und Anwendungen&#039;&#039;&#039; (ISBN 978-3-8171-1809-0) ]&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_Schwachstellen-Analyse|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
	<entry>
		<id>http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Second-Order&amp;diff=15305</id>
		<title>Software: SimX - Nadelantrieb - Probabilistik - Second-Order</title>
		<link rel="alternate" type="text/html" href="http://optiyummy.de/index.php?title=Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Second-Order&amp;diff=15305"/>
		<updated>2014-05-26T12:02:14Z</updated>

		<summary type="html">&lt;p&gt;Thomas Wolfgramm: Typos korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software:_SimX_-_Nadelantrieb_-_Probabilistische_Simulation|&amp;amp;uarr;]] &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Moment-Methoden|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&#039;&#039;&#039;Second Order (Experimente)&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Im Prinzip stehen bei der Nutzung der Moment-Methode die gleichen Analyse-Werkzeuge zur Verfügung, wie bei den Sample-Verfahren. Nur im Detail existieren Unterschiede in Hinblick auf die Verfügbarkeit und Genauigkeit einzelner statistischer Kenngrößen.&lt;br /&gt;
== Versuchsplanung ==&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_versuchsplanung_second-order.gif|right]]&lt;br /&gt;
Wir nutzen die Moment-Methode mit einer Taylorreihe 2.&amp;amp;nbsp;Ordnung zur Approximation und berücksichtigen Interaktionen zwischen den Streugrößen:&lt;br /&gt;
* Ob Taylorreihen 2.&amp;amp;nbsp;Ordnung die tatsächlichen Zusammenhänge zwischen Streu- und Ausgangsgrößen hinreichend widerspiegeln, kann man nur im Vergleich mit Ersatzfunktionen höherer Ordnung erkennen.&lt;br /&gt;
* Aus unseren Erfahrungen mit der Sampling-Methode wissen wir bereits, dass die Zusammenhänge zwischen den Streu- und Ausgangsgrößen teilweise nichtlinear sind. Das konnte man in den Schnittdiagrammen des Gauß-Prozesses deutlich erkennen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_rsm-schnittdiagramm.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei der &#039;&#039;Moment-Methode&#039;&#039; können höchsten Taylorreihen 2.&amp;amp;nbsp;Ordnung als Approximationsfunktion benutzt werden. Über Taylorreihen höherer Ordnung lassen sich die Verteilungen der Ausgangsgrößen durch die statistischen Momente mathematisch nicht mehr genau approximieren, weil sie (die Verteilungen) auch die Momente höherer Ordnungen enthalten müssten.&lt;br /&gt;
&lt;br /&gt;
== Visualisierung und Interpretation ==&lt;br /&gt;
* Die reale &amp;quot;Stichprobe&amp;quot; beschränkt sich bei der Moment-Methode auf das kombinatorische Abtasten der Toleranzgrenzen bzw. der Toleranzmitten aller Streugrößen. Eine komplette Übersicht über alle diese Modellberechnungen erhält man in &amp;quot;Echtzeit&amp;quot; mittels der DOE-Tabelle:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_Second-Order_DOE-Tabelle.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Untermengen aus dieser DOE-Tabelle kann man (ebenfalls in Echtzeit) in Anthil-Plots darstellen, z.B.:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_Second-Order_Anthill-Plot.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei der Nutzung der Moment-Methode stehen Histogramme und Korrelationen nicht zur Verfügung (im Analyse-Menü inaktiv).&lt;br /&gt;
* Die Verteilungsdichten der Ergebnisgrößen des Simulationsmodells werden auf Grundlage der approximierten Taylorreihen 2. Ordnung und der darüber transformierten statistischen Momente nur für die Restriktionen/Gütekriterien des Workflows berechnet:&lt;br /&gt;
* Für die &amp;quot;Hilfsgrößen&amp;quot; im Workflow (Ausgangsgrößen und Transfervariablen) werden keine Ersatzfunktionen approximiert. Deshalb erfolgt für diese Hilfsgrößen auch keine Probabilistik-Berechnung. In unserem Beispiel konnten wir mittels der zuvor angewandten Sample-Methode die Histogramme von Ausgangsgrößen bereits zur Verifizierung des Toleranz-Modells nutzen.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Streuungen ===&lt;br /&gt;
&lt;br /&gt;
* Hier erhält man die gewählten &amp;quot;perfekten&amp;quot; [http://de.wikipedia.org/wiki/Verteilungsdichte Verteilungsdichtefunktionen] der Streugrößen angezeigt:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilungsdichte_rel-tol.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Die Fläche unter einer Verteilungsdichtefunktion besitzt immer den Wert 1.&lt;br /&gt;
* Die Verteilungsdichtefunktionen sind die Ableitungen der zugehörigen Verteilungsfunktionen nach ihrer Streugröße:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilung_rel-tol.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Das erkennt man noch deutlicher am Beispiel der Gleichverteilten Spulentemperatur:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilung_abs-tol.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Man kann die Werte der Verteilungsdichtefunktionen nicht direkt mit den Y-Werten der zugehörigen Histogramme vergleichen, welche mittels Sample-Methode gewonnen wurden:&lt;br /&gt;
* Bei den Histogrammen kann man an der Y-Achse ablesen, wie groß die relative Häufigkeit (0..1) innerhalb eines Rechteck-Balkens ist. Diese Werte sind abhängig von der gewählten Balkenzahl.&lt;br /&gt;
* &#039;&#039;&#039;Achtung:&#039;&#039;&#039; Die statistischen Momente beider Diagramm-Typen kann man direkt miteinander vergleichen. Da für die Moment-Methode keine Histogramme existieren, werden im Folgenden die mit Sample-Methode gewonnenen Histogramme abgebildet:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_histogramme_rel_toleranzen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Man erkennt, dass die nach beiden Methoden berechneten statistischen Momente gut übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
=== Restriktionsgrößen ===&lt;br /&gt;
&lt;br /&gt;
Bei den Restriktionsgrößen interessiert vor allem, in welchem Maße infolge der Streuungen unzulässige Werte auftreten: &lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilungsdichte_restriktionen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Im Beispiel wurden bei der Nennwert-Optimierung die maximale Abschaltspannung und der Maximalstrom ausgereizt. Das äußert sich in einer Teilversagenswahrscheinlichkeit von mehr als 50% für beide Restriktionsgrößen.&lt;br /&gt;
* Der Grenzwert von 40&amp;amp;nbsp;K für die Drahterwärmung wird praktisch nicht überschritten.&lt;br /&gt;
* &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Leider kann man anhand der dargestellten Grenzwerte nur näherungsweise die tatsächlichen Grenzen der Streubereiche abschätzen. OptiY schneidet Werte der Dichtefunktion ab, die kleiner als 1/100 ihres Maximalwertes sind.&lt;br /&gt;
&lt;br /&gt;
Dazu im Vergleich die Simulationsergebnisse des Latin-Hypercube-Sampling:&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_verteilungsdichten_restriktionen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Qualitativ und in Hinblick auf die Teilversagenswahrscheinlichkeiten stimmen die Ergebnisse recht gut überein.&lt;br /&gt;
* Im Unterschied zur Sampling-Methode wird bei der Momenten-Methode nicht die Gesamtversagenswahrscheinlichkeit in die Legende der Diagramme eingeblendet.&lt;br /&gt;
&lt;br /&gt;
=== Versagenswahrscheinlichkeit ===&lt;br /&gt;
 &lt;br /&gt;
Die Teilversagenswahrscheinlichkeiten der einzelnen Restriktionen &#039;&#039;&#039;F&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039;&#039; können mit der Moment-Methode sehr genau berechnet werden, weil die Verteilungsdichten der Restriktionen bekannt sind. Aber die gesamte Systemversagenswahrscheinlichkeit &#039;&#039;&#039;F&#039;&#039;&#039; kann man damit nicht analytisch ermitteln: &lt;br /&gt;
* Es wird eine Hilfsgröße &#039;&#039;&#039;F&#039;&#039;&#039; berechnet, die sich aus den Teilversagenswahrscheinlichkeiten &#039;&#039;&#039;F&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039;&#039; mit den Gewichtsfaktoren &#039;&#039;&#039;w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039;&#039; der einzelnen Restriktionen summiert:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_gesamtversagen.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_versagen_in_explorer.gif|right]]&lt;br /&gt;
* Diese Hilfsgröße &#039;&#039;&#039;F&#039;&#039;&#039; wird als Maß für das Versagen im OptiY-Explorer als Bestandteil der Gütekriterien aufgelistet. Den Wert kann man sich z.B. in einem &amp;quot;Nennwert-Verlauf&amp;quot;-Fenster anzeigen lassen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_versagensmasz_moment-methode.gif| ]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* Bei einem &#039;&#039;Versagen&amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;1&#039;&#039; wird spätestens klar, dass dieser Wert &#039;&#039;&#039;F&#039;&#039;&#039; nur ein &amp;quot;Maß&amp;quot; für die Gesamtversagenswahrscheinlichkeit ist:&lt;br /&gt;
** Damit erhält man für die Minimierung der Versagenswahrscheinlichkeit mittels numerischer Optimierung ein stetiges und eindeutiges Maß für die vergleichende Bewertung von Lösungen.&lt;br /&gt;
** &amp;quot;Versagen=0&amp;quot; als Zielstellung einer Ausschuss-Minimierung bedeutend dann im Rahmen der Modellgenauigkeit &amp;quot;kein Ausschuss&amp;quot;.&lt;br /&gt;
** Die Gewichtsfaktoren &#039;&#039;&#039;w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039;&#039; der Restriktionen lassen wir vorläufig unverändert auf dem Wert=1.&lt;br /&gt;
&lt;br /&gt;
=== Sensitivitäten ===&lt;br /&gt;
&lt;br /&gt;
Die Korrelationskoeffizienten stehen bei der Moment-Methode nicht als Ergebniswerte zur Verfügung. Auf Grundlage der Sensitivitäten kann man jedoch viel besser die Auswirkung der einzelnen Streuungen auf das Modellverhalten abschätzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lokale Sensitivität&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auch für die Moment-Methode werden die lokalen Sensitivitäten als Schnittdiagramm bereitgestellt (&#039;&#039;&#039;&#039;&#039;Analyse &amp;gt; Antwortflächen &amp;gt; Schnittdiagramm&#039;&#039;&#039;&#039;&#039;):&lt;br /&gt;
* Die Antwortflächen werden in diesem Falle durch die approximierten Taylorreihen 2. Ordnung gebildet.&lt;br /&gt;
* Der Unterschied zur Sample-Methode ist die Gewinnung dieser Ersatzfunktion durch systematische Abtastung des Modells an einer minimalen Anzahl definierter Stützstellen:&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_schnittdiagramm_moment-methode.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&#039;&#039; Anhand der Krümmungen der Schnittfunktionen kann man schlussfolgern, dass die Wahl einer linearen Ersatzfunktion (&#039;&#039;First Order&#039;&#039;) wahrscheinlich eine unzulässige Vereinfachung darstellen würde.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Globale Sensitivitäten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_sensitivity-chart_sec-ord.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Den Sensitivität-Charts kann man, wie vom Sampling-Experiment bereits bekannt, zwei wesentliche Informationen entnehmen: &lt;br /&gt;
# Welche Streuungen haben einen vernachlässigbaren Einfluss auf die betrachteten Bewertungsgrößen? &lt;br /&gt;
# Existieren merkliche Interaktionen zwischen den Streuungen?&lt;br /&gt;
&lt;br /&gt;
[[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_versuchsplanung_sec-ord-reduziert.gif|right]]&lt;br /&gt;
Sind Haupt- und Totaleffekt wertmäßig ungefähr gleich, so kann man die Interaktionen zwischen den Streugrößen vernachlässigen:&lt;br /&gt;
* Damit entfallen die Modellberechnungen für die Gewinnung der Interaktionsinformationen. &lt;br /&gt;
* Für 5 Streugrößen reduziert sich damit der Berechnungsaufwand von &#039;&#039;2n²+1=51&#039;&#039; auf &#039;&#039;2n+1=11&#039;&#039; auf fast ein Fünftel!&lt;br /&gt;
Im Beispiel weichen die Werte für einige Haupt- und Totaleffekte insbesondere für den Maximalstrom und die Erwärmung merklich voneinander ab. Ob man dabei noch von &amp;quot;ungefähr gleich&amp;quot; sprechen kann, ist schwer zu entscheiden, solange man die Auswirkungen auf die Genauigkeit der probabilistischen Simulation nicht kennt:&lt;br /&gt;
* Man sollte in diesem Fall die Ergebnisse der probabilistischen Simulation mit und ohne Berücksichtigung der Interaktionen vergleichen.&lt;br /&gt;
* Nach erneuter Simulation (&#039;&#039;Interaktion=false&#039;&#039;) werden in den Sensitivitäts-Charts nur die Haupteffekte angezeigt (&#039;&#039;Hinweis: Infolge eines OptiY-Darstellfehlers fehlt jeweils der kleinste Effekt&#039;&#039;):&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Bild:Software_SimX_-_Nadelantrieb_-_Probabilistische_Simulation_-_sensitivity-chart_haupteffekte.gif]] &amp;lt;/div&amp;gt;&lt;br /&gt;
Kann man nach gründlicher Analyse der globalen Sensitivitäten z.B. noch 2 Streuungen vernachlässigen und aus dem Experiment-Workflow entfernen, so ergibt das eine weitere Verringerung des Berechnungsaufwandes auf &#039;&#039;2n+1=7&#039;&#039;:&lt;br /&gt;
* Insbesondere in Vorbereitung einer geplanten probabilistischen Optimierung ist eine tiefgründige Analyse der Modelleigenschaften unbedingt erforderlich.&lt;br /&gt;
* Ausgehend von genaueren, aber auch zeitaufwändigeren Simulationen sollte man die &amp;quot;Stichproben-Simulation&amp;quot; soweit es geht &amp;quot;abrüsten&amp;quot;, ohne dabei wesentlich an Genauigkeit einzubüßen.&lt;br /&gt;
&lt;br /&gt;
== Experiment-Ergebnisse ==&lt;br /&gt;
&lt;br /&gt;
Wir gewinnen aus den mit der Moment-Methode durchgeführten Experimenten folgende Informationen:&lt;br /&gt;
* Welche drei streuungsbehafteten Parameter besitzen den größten Einfluss auf das Verhalten des Prägenadel-Antriebs? &lt;br /&gt;
* Um wieviel Prozent ändern sich Standard-Abweichungen und Mittelwerte sowie die Versagenswahrscheinlichkeiten der relevanten Bewertungsgrößen (Restriktionen), wenn man die zwei Streuungen mit dem geringsten Effekt bei der probabilistischen Simulation vernachlässigt? (&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Wir setzen dazu die Toleranz der zu vernachlässigenden Streuungen auf einen sehr kleinen Wert, z.B. 0.001):&lt;br /&gt;
*# unter Berücksichtigung von Interaktionen&lt;br /&gt;
*# bei Vernachlässigung von Interaktionen &lt;br /&gt;
* Wie groß ist Gesamtversagenswahrscheinlichkeit (in %) des Nennwert-optimierten Antriebs? &lt;br /&gt;
  &lt;br /&gt;
Diese Ergebnisse sind als Bestandteil der Lösung einzusenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt; [[Software:_SimX_-_Nadelantrieb_-_Probabilistik_-_Moment-Methoden|&amp;amp;larr;]] [[Software:_SimX_-_Nadelantrieb_-_Probabilistische_Simulation|&amp;amp;rarr;]] &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas Wolfgramm</name></author>
	</entry>
</feed>