Software: FEMM - Stromfluss - OptiY-Modellinterface: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 89: Zeile 89:




'''''Achtung:'''''  
:'''''Achtung:''''' Es ist unbedingt zu überprüfen, ob nach der Verwendung einer Input-Datei mit den gleichen Parameter-Werten wirklich die gleichen Ergebnisse berechnet werden!
Es ist unbedingt zu überprüfen, ob nach der Verwendung einer Input-Datei mit den gleichen Parameter-Werten wirklich die gleichen Ergebnisse berechnet werden!




Zeile 106: Zeile 105:
   
   
Die erforderlichen File-Operationen werden an das Ende des LUA-Scripts platziert.
Die erforderlichen File-Operationen werden an das Ende des LUA-Scripts platziert.
'''''4. Portabilität des Modells'''''
Bisher ist es erforderlich, an verschiedenen Stellen des LUA-Scripts das aktuell benutzte Arbeitsverzeichnis einzutragen (im Beispiel: '''''e:\femm\'''''). Die erforderliche Script-Anpassung wird im Folgenden auf eine Stelle konzentriert. Dazu wird in der ersten Scriptzeile eine Variable '''''mydir''''' mit dem konkreten Pfad-Bezeichner belegt. Durch Verwendung von '''''mydir''''' wird dann an allen anderen Stellen der aktuelle Datei-Name generiert:
    mydir="E:\\femm\\";
    :
    in = openfile(mydir .. "Input_xx.txt","r"); -- Datei öffnen zum Lesen
    :
    ci_saveas(mydir .. "LaserTrimm.fec"); -- Speichern in vorh. Ordner
    :
    out = openfile(mydir .. "Output_xx.txt", "w");
    :
:'''''Hinweis:''''' Wenn man '''''mydir=""''''' setzt, so müssen sich alle Daten-Files im gleichen Ordner befinden, wie das LUA-Script.
'''''5. Verifizierung des Modells'''''
Nach diesen Änderungen muss nach Ausführung des kompletten LUA-Scripts im FEMM in der Datei '''''Output_xx.txt''''' der richtige Wert für den aktuellen Widerstand stehen.
'''''6. Einbindung in den OptiY-Workflow'''''
Falls es nicht mehr geöffnet ist, so öffnen wir erneut OptiY mit der Datei '''''LaserTrimm_xx.opy''''' und ergänzen nun die fehlende Einbindung des Modells.
* Einfügen der Symbole von Input- und Output-File auf dem Workflow, Benennung und Zuordnung der konkreten ASCII-Textdatei:<div align="center">[[Bild:Software_FEMM_-_Stromfluss_-_Optiy_Outputfile_zuordnen.gif]]</div>
* 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 '''''R_ist''''' und aktivieren das "Zuordnen":





Version vom 24. Juli 2008, 13:27 Uhr

Simulation des Trimmens - Datenschnittstelle zum Modell
Software FEMM - Stromfluss - Optiy input-output-files.gif

Es existieren unterschiedliche Varianten, wie ein Optimierungstool die Parameterwerte (Input) eines Modells modifizieren und auf die damit berechneten Ergebniswerte (Output) zugreifen kann. Eine sehr allgemeine und übersichtliche Methode ist die Benutzung von ASCII-Textdateien für den Input/Output eines Modells:

  • Das Optimierungstool schreibt die aktuellen Parameterwerte an die dafür vorgesehenen Stellen in eine Textdatei.
  • Aus dieser Textdatei erhält das Modell seine Werte für eine Simulationsrechnung.
  • Die berechneten Ergebnisgrößen stehen nach der Simulationsrechnung wieder an definierter Stelle in einer Textdatei.
  • Das Optimierungstool liest diese Ergebniswerte aus der Textdatei und berechnet daraus die erforderlichen Änderungen der Parameterwerte für eine weitere Verbesserung des Modellverhaltens.
  • Der Zyklus beginnt dann von vorn, bis keine weitere Verbesserung mehr erreichbar ist.

Es ist im Allgemeinen besser, eine strikte Trennung zwischen Parametern (Input-File), Modell (LUA-Script) und Ergebnisgrößen (Output-File) vorzunehmen. In diesem Sinne soll das LUA-Script nun umgestaltet werden:


1. Input-Datei für Vorgabe-Parameter

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 Input_xx.txt (mit xx=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:

s
25
Ls
500
bz
200
d
20 
RF
100 
Pmax
6.2
RN
240
Szul
0.02
PV
0.2 
SF
0.3

Achtung: Die Teilnehmer-Nummer xx kommt hier nicht in die Input-Datei, sondern bleibt Bestandteil des Modells!


2. Einlesen der Daten im LUA-Script

Die ursprünglichen Parameterwerte sollte man mit Standardwerten versehen und auskommentieren. Damit weiß man auch später noch, um welche Parameter es sich handelt.

Achtung: Die Teilnehmer-Nummer xx darf nicht auskommentiert werden!
-- Funktionelle und technologische Parameter (Standardwerte)
   xx=00; -- Teilnehmer-Nr. 00 bis 30
-- s=25; -- Schnittbreite des Laser-Strahls [µm]
-- Ls=500; -- aktuelle Länge L-Schnitt [µm]
-- bz=200; -- Breite eines Zuschlags für Fertigung [µm]
-- d=20; -- Schichtdicke in µm = Dicke 2D-Elemente
-- RF=100; -- Nennwert Flächenwiderstand der Paste [Ohm/Quadrat]
-- Pmax=6.2; -- max. zul. Leistungsdichte in Paste [W/cm²]
-- RN=240; -- Nennwert nach Trimmen [Ohm]
-- Szul=0.02; -- zulässige relative Toleranz von RN
-- PV=0.2; -- max. Verlustleistung im Betrieb [W]
-- SF=0.3; -- Fertigungsstreuung ungetrimmter Widerstand (rel.)
-- Parameter aus Textdatei einlesen mit Fehlertest
   in = openfile("e:\\femm\\Input_xx.txt","r"); -- Datei öffnen zum Lesen
   if in then -- wenn Datei geöffnet, dann Werte einlesen
   read(in, "*l");
   s = read(in, "*l", "*n");
   read(in, "*l");
   Ls = read(in, "*l", "*n");
   read(in, "*l");
   bz = read(in, "*l", "*n");
   read(in, "*l");
   d = read(in, "*l", "*n");
   read(in, "*l");
   RF = read(in, "*l", "*n");
   read(in, "*l");
   Pmax = read(in, "*l", "*n");
   read(in, "*l");
   RN = read(in, "*l", "*n");
   read(in, "*l");
   Szul = read(in, "*l", "*n");
   read(in, "*l");
   PV = read(in, "*l", "*n");
   read(in, "*l");
   SF = read(in, "*l", "*n");
   else print("Could not open Input_xx.txt"); end;
   closefile(in);
-- Berechnete Geometrie- und Material-Parameter
   :

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.


Achtung: Es ist unbedingt zu überprüfen, ob nach der Verwendung einer Input-Datei mit den gleichen Parameter-Werten wirklich die gleichen Ergebnisse berechnet werden!


3. Output-Datei für Simulationsergebnisse

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:

   :
   print ("R=", R, "[Ohm]") -- Werte in Outputfeld der LUA-Cosole
   print (" mit v=", v, "[V]");
   print (" und i=", i, "[A]");
   out = openfile("e:\\femm\\Output_xx.txt", "w");
   write(out, "R=", R, "\n");
   closefile(out);

Die erforderlichen File-Operationen werden an das Ende des LUA-Scripts platziert.


4. Portabilität des Modells

Bisher ist es erforderlich, an verschiedenen Stellen des LUA-Scripts das aktuell benutzte Arbeitsverzeichnis einzutragen (im Beispiel: e:\femm\). Die erforderliche Script-Anpassung wird im Folgenden auf eine Stelle konzentriert. Dazu wird in der ersten Scriptzeile eine Variable mydir mit dem konkreten Pfad-Bezeichner belegt. Durch Verwendung von mydir wird dann an allen anderen Stellen der aktuelle Datei-Name generiert:

   mydir="E:\\femm\\";
   :
   in = openfile(mydir .. "Input_xx.txt","r"); -- Datei öffnen zum Lesen
   :
   ci_saveas(mydir .. "LaserTrimm.fec"); -- Speichern in vorh. Ordner
   :
   out = openfile(mydir .. "Output_xx.txt", "w");
   :
Hinweis: Wenn man mydir="" setzt, so müssen sich alle Daten-Files im gleichen Ordner befinden, wie das LUA-Script.


5. Verifizierung des Modells

Nach diesen Änderungen muss nach Ausführung des kompletten LUA-Scripts im FEMM in der Datei Output_xx.txt der richtige Wert für den aktuellen Widerstand stehen.


6. Einbindung in den OptiY-Workflow

Falls es nicht mehr geöffnet ist, so öffnen wir erneut OptiY mit der Datei LaserTrimm_xx.opy und ergänzen nun die fehlende Einbindung des Modells.

  • Einfügen der Symbole von Input- und Output-File auf dem Workflow, Benennung und Zuordnung der konkreten ASCII-Textdatei:
    Software FEMM - Stromfluss - Optiy Outputfile zuordnen.gif
  • 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 R_ist und aktivieren das "Zuordnen":