Maxwell - Zugriff auf dem Linux-Cluster

Maxwell ist eine Simulationssoftware für die zwei- und dreidimensionale Berechnung und Visualisierung von niederfrequenten elektrischen und magnetischen Feldern. Anwendungsgebiete für den Einsatz der ANSYS Maxwell-Software sind, elektrische Maschinen, magnetische Bauelemente, elektrische Bauelemente und Leistungselektronik.

Die ANSYS Academic ELectronics enthält folgende Module:

  • Maxwell 2D/3D
  • Simplorer: Simulator für die Entwicklung und Optimierung von Systemen, die aus elektrischen, mechanischen, thermischen und hydraulischen Komponenten bestehen.
  • RMxprt: Zur effizienten Auslegung rotierender Maschinen
  • PExprt: Software-Werkzeug für die effiziente Vorauslegung und Analyse von magnetischen Bauelementen
  • Optimetrics: Zur Durchführung von Parameteranalysen, Sensitivitätsanalysen, Optimierungen und statistischen Analysen im Elektromagnetik-Bereich.

Nutzungsformen

Im Allgemeinen kann Maxwell auf verschiedene Art und Weise verwendet werden:

interaktiv (Dialogbetrieb) oder im Batch, seriell oder parallel oder mit
einer grafischen NutzerSchnittstelle (GUI). Auf dem Clustersystem sind
folgende Kombinationen möglich:

Interaktiv:
 nur auf einem der LoginKnoten; alle Schnittstellen; seriell

Batchbetrieb: auf den ComputeserverKnoten; seriell oder parallel

Die Initialisierung erfolgt in der Module-Technik.
Wichtig: Lmod ist seit Dezember 2016 das Software Modulsystem und automatisch nach jeder Anmeldung aktiv. Weitere Information finden Sie im „Handbuch zum Clustersystem".

Unter Lmod in der neuen Modulumgebung:

module load ANSYSEM/[version]


Maxwell im interaktiven Aufruf

maxwell

Ab Ansys (2016) 17.0 - Maxwell wird durch 'Ansys Electronics Desktop' ersetzt.

ansysedt


Aufruf von Maxwell im Batch


Für größere Berechnung ist dagegen die Nutzung des Solvers auf den Rechenknoten
der Batch-Server erforderlich. Zur Abgabe von Batch-Jobs steht auf den Computeservern
das Batchsystem Torque/PBS zur Verfügung.

Der Aufruf von Maxwell muss in eine Skriptdatei integriert werden. Details zur
Skriptdatei findet man im Abschnitt  Batchbetrieb

Die Lizenz ermöglicht auch den Aufruf von Maxwell im parallelen Modus mit gemeinsam adressierbarem Speicher auf einem Rechenknoten (nodes=1). Knotenübergreifende MPI-basierte Parallelisierung ist mit dieser Version im Moment nicht möglich.

Batchbetrieb

Ausführung von Maxwell im Batchbetrieb

Die Programmausführung von Maxwell auf den Computeservern erfolgt durch ein
PBS-Batchscript. Das Batchskript auf dem Login Knoten wird mit dem Kommando qsub
abgeschickt.

Das folgende Batchscript ist ein Beispiel für einen seriellen Maxwell Aufruf:

#!/bin/bash -start
#PBS -N maxwell
#PBS -l nodes=1:ppn=1,walltime=03:30:00
#  Ressourcenanforderung: 1 Knoten, 1 Prozessor, 3 Std., 30 Min. Rechenzeit, 4gb Speicher 
#PBS -l mem=4gb
#PBS -o maxwell.log
#PBS -e maxwell.out
#PBS -m e
#PBS -M ......@.....uni-hannover.de
#PBS -q all

#  Wechsel in das Working Directory
cd $PBS_O_WORKDIR
#
# setzen der alten Module Software
source /sw/modules.sh
module load ansysem

maxwell -ng -logfile job.log -batchsolve batch.cfg input.mxwl

# Modulefile ab Release 18.0
module load ANSYSEM/[version]

------- Aufruf ab Ansys 18.0 - Ansys Electronics Desktop  --------

ansysedt -ng -logfile job.log -batchsolve batch.cfg input.aedt


Das Laufzeitverhalten eines im non-graphical (-ng) batchsolve ausgeführten Batchjobs wird mit einer hohen Speicherbelegung begünstigt, weil weniger I/O Zugriffe ausgeführt werden. Der maximale Speicher kann für den Batchlauf mit der Variable 'Maxwell 2D/DesiredRAMLimitInGB', bzw. 'Maxwell 3D/DesiredRAMLimitInGB' angefordert werden.

Die Verwendung der batchoption erfolgt aus der folgenden Textdatei batch.cfg.

$begin 'Config'
'Maxwell 2D/DesiredRAMLimitInGB'=4
$end 'Config


Aufruf von Maxwell im parallelen Modus (Shared Memory Modus)

Ab Maxwell 15.0 wurde der Aufruf zur parallelen Berechung von der Lizenzseite geändert. Das Feature  m2dfs_mp bzw. m3dfs_mp für die parallele Berechnung ist nicht mehr verfügbar. Mit Version Maxwell 15.0 wurde der Lizenztyp hfsshpc_pack durch hfsshpc ersetzt. In der Version Maxwell 15.0 kann es im parallelen Modus zu Problemen kommen. Daher wird im parallelen Modus die Version Maxwell ab 16.0 empfohlen.

Unsere Campuslizenz beinhaltet das HPC Lizenzmodell. Über den Parameter 'pool' kann die hfsshpc Lizenz verwendet werden. Standard ist der Wert 'pack', was der Lizenz hfsshpc_pack entspricht und nicht den parallelen Modus enthält.

 

Aktivierung paralleler Modus

Der parallele Modus von hfsshpc wird über den Lizenztype=pool aktiviert.

      'Maxwell 2D/HPCLicenseType'='pool'   bzw.   'Maxwell 3D/HPCLicenseType'='pool'


Das folgende Batchscript ist ein 2D-Beispiel für einen parallelen Maxwell Aufruf:

#!/bin/bash -start
#PBS -N maxwell
#PBS -l nodes=1:ppn=4,walltime=03:30:00
#  Ressourcenanforderung: 1 Knoten, 4 Prozessoren, 3 Std., 30 Min. Rechenzeit 
#PBS -l mem=12gb
#PBS -o maxwell.log
#PBS -e maxwell.out
#PBS -m e
#PBS -M ......@.....uni-hannover.de
#PBS -q all

#  Wechsel in das Working Directory
cd $PBS_O_WORKDIR
#
# setzen der alten Module Software
source /sw/modules.sh
module load ansysem

# parallele Ausführung, 4 Prozesse, RAM Limit 12gb, Option aus maxwell und Maxwell Input

maxwell -ng -logfile job.log -batchsolve -distributed -machinelist num=1 -batchoptions batch.cfg input.mxwl

# Modulefile ab Release 18.0
module load ANSYSEM/[version]

 

------- Aufruf ab Ansys 18.0 - Ansys Electronics Desktop  --------

ansysedt -ng -logfile job.log -batchsolve -distributed -machinelist num=1 -batchoptions batch.cfg input.aedt


Die Batchoptionen erfolgen wieder aus der folgenden Textdatei batch.cfg. Die Anzahl der Prozessoren wird über 'Maxwell 2D/NumCoresPerDistributedTask'=4 festgelegt.

$begin 'Config'
'Maxwell 2D/NumCoresPerDistributedTask'=4
'Maxwell 2D/SolveAdaptiveOnly'=0
'Maxwell 2D/HPCLicenseType'='pool'
'Maxwell 2D/DesiredRAMLimitInGB'=12
$end 'Config'

Bei einem 3D-Modell werden die Optionen  'Maxwell 2D/..' durch 'Maxwell 3D/..' ersetzt.

Nach setzen der Umgebungsvariablen liefert folgendes Kommando eine Übersicht über die Batchoptionen von Maxwell:

ansysedt -help
ansysedt
 -batchoptionhelp
     über die Optionen in der Datei.cfg

Beispieldateien von ANSYSEDT (Maxwell) (auf Clusterlogin) findet man auf den LoginKnoten

im Verzeichnis:
/sw/aws/eng/AnsysEM/AnsysEM16.1/Linux64/Examples
/sw/aws/eng/AnsysEM/AnsysEM17.0/Linux64/Examples
/sw/aws/eng/AnsysEM/AnsysEM17.2/Linux64/Examples

Das Verzeichnis für die Beispiele ist ab Version 17.2 von der Architektur des Login-Rechners abhängig.
echo $ARCH   # zeigt die Architektur an
haswell

/sw-eb/apps/software/sandy_bridge/Core/ANSYSEM/17.2/AnsysEM17.2/Linux64/Examples/
/sw-eb/apps/software/haswell/Core/ANSYSEM/18.0/AnsysEM18.0/Linux64/Examples/