Software: FEM - Tutorial - Magnetfeld - Kennfelder - Parallelisierung

Aus OptiYummy
Zur Navigation springenZur Suche springen

Paralleler Prozess

1. Individuelle Script-Ordner pro Modell-Aufruf:

  • Für jeden einzelnen Script-Aufruf wird vom OptiY im aktuellen Script-Arbeitsverzeichnis ein individueller Script-Ordner angelegt (Ordner-Name = Script-Name + Nummer).
  • In jedem dieser Ordner wird die Input-Datei mit den zum Aufruf gehörenden Modell-Parametern gespeichert.
  • Eine Kopie des Scriptes (hier .BAT) wird ebenfalls in jedem Ordner gespeichert und aufgerufen.
  • Nach Ausführen dieses Scriptes erwartet OptiY die Output-Datei mit den Berechnungsergebnissen im zugehörigen Ordner.
  • Die Ordnerstruktur für eine 4x4-Rastersucher (16 Schritte) wird im folgenden Bild gezeigt:
Software FEM - Tutorial - Magnetfeld - optiy Ordnerstruktur parallel.gif
  • Für den Ordner "0" sind beispielhaft die enthaltenen Dateien angedeutet.
  • "OptiScript4" enthält die Befehle des BAT-Files.
  • Nach erfolgreicher Abarbeitung aller parallel gestarteten Script-Aufrufe werden die generierten Ordner vom OptiY wieder gelöscht.

2. Zuordnung des LUA-Scripts zu den Modell-Aufrufen

  • Das Modell in Form des LUA-Scripts existiert nur in einem Exemplar im Script-Arbeitsverzeichnis.
  • Die serielle Abarbeitung ist relativ einfach, weil man die LUA-Datei aus dem aktuellen Ordner des BAT-Scriptes ohne Angabe eines Pfad-Namens verwenden kann:
cd /D %~dp0
F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
  • Die parallele Abarbeitung 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:
cd /D %~dp0
F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
  • Wahlfreie serielle oder parallele Abarbeitung eines Scripts kann man nur durch Testen und Umschalten der Aufruf-Methode gewährleisten:
:: Ordner des Batch-Skripts wird zum aktuellen Ordner:
cd /D %~dp0
:: Test, ob LUA-Datei im aktuellen Ordner existiert:
if exist Magnet_xx.LUA goto seriell
:parallel
F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
goto Ende
:seriell 
F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
:Ende
  • 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.

3. Zuordnung der Input-/Outputdateien zum LUA-Script

  • Das LUA-Script liest und schreibt seine Daten immer aus bzw. in den aktuellen Script-Ordner (gewährleistet durch cd-Befehl im BAT-Script).
  • Damit kann im LUA-Script die Angabe eines Absolutpfades entfallen. Die entsprechende mydir-Zuweisung wird dafür durch eine Zeichenkette der Länge 0 ersetzt:
mydir="";



===>>> Abschnitt wird zur Zeit erarbeitet <<<===