HFSS - Zugriff auf dem Linux-Cluster

HFSS (High-Frequency Structure Simulator) ist für die Berechnung von Hochfrequenz- und Hochgeschwindigkeits-Elektronikkomponenten, für elektromagnetisches Design und Optimierung von Strukturen. Dazu gehört die Abstrahlung von elektromagnetischen Wellen sowie das Übertragungsverhalten von passiven Bauteilen.

Die ANSYS Academic Electronics enthält folgende Module:

  • HFSS
  • Q3D Extractor: Software für 3-D und 2-D parasitäre Extraktion Werkzeug für Konstrukteure von Electronic Packaging und Leistungselektronik.
  • Designer: Design-Plattform zum entwerfen verschiedene Signal Architekturen
  • NExxIM: Lineare und nichtlineare Frequenzbasierte Analysen aus der Nexxim Kreis-Engine
  • SIwave: Design-Plattform für Energie Integrität, Signalintegrität und EMV-Analyse von elektronischen Baugruppen und Leiterplatten.
  • Optimetrics: Zur Durchführung von Parameteranalysen, Sensitivitätsanalysen, Optimierungen und statistischen Analysen im Elektromagnetik-Bereich.
  • ECAD- und MCAD-Interface: Importiert ECAD und MCAD Daten aus vielen  Quellen.

Nutzungsformen

Im Allgemeinen kann HFSS 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]

Das alte Modulsystem „Environment Modules“ steht noch für die installierte Software zur Verfügung. Mit folgendem Befehl wird die alte Modulumgebung aktiviert
source /sw/ modules .sh

Die Benutzung der Modulumgebung erfolgt mit folgenden Kommandos:

module load ansysem/[version]


HFSS im interaktiven Aufruf


Ab Ansys (2015) 16.0 - HFSS wird durch 'Ansys Electronics Desktop' ersetzt.

ansysedt 



Aufruf von HFSS 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 HFSS muss in eine Skriptdatei integriert werden. Details zur
Skriptdatei findet man im Abschnitt  Batchbetrieb

Die Lizenz ermöglicht auch den Aufruf von HFSS 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 HFSS im Batchbetrieb

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

Bei Verwendung des HFSS Integralgleichung (HFSS-IE) Solver werden die Optionen
'HFSS/..' durch 'HFSS-IE/..' ersetzt. Eine Übersicht über die Batchoptionen von HFSS liefert der Aufruf:

hfss -Batchoptionhelp    nach setzen der Umgebungsvariablen.

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


#!/bin/bash -start
#PBS -N hfss
#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 hfss.log
#PBS -e hfss.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

hfss -ng -logfile job.log -batchsolve batch.cfg input.hfss

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

------- Aufruf ab Ansys 16.0 - Ansys Electronics Desktop  --------
ansysedt -ng -logfile job.log -batchsolve 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.

Die Verwendung der HFSS-Batchoption erfolgt aus der folgenden Textdatei hfss.cfg.

$begin 'Config'
'HFSS/DesiredRAMLimitInGB'=4
$end 'Config


Aufruf von HFSS im parallelen Modus (Shared Memory Modus)

Ab HFSS 15.0 wurde der Aufruf zur parallelen Berechung von der Lizenzseite geändert. Das Feature für die parallele Berechnung ist nicht mehr verfügbar. Mit Version HFSS 15.0 wurde der Lizenztyp hfsshpc_pack durch hfsshpc ersetzt. In der Version HFSS 15.0 kann es im parallelen Modus zu Problemen kommen. Daher wird im parallelen Modus die Version HFSS 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 keinen parallelen Modus enthält.

Aktivierung paralleler Modus

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

'HFSS/HPCLicenseType'='pool'   bzw.   'HFSS-IE/HPCLicenseType'='pool'

Die Verwendung der HFSS-Batchoption erfolgt im Beispiel aus der Textdatei hfss.cfg.

$begin 'Config'
'HFSS/HPCLicenseType'='pool'
$end 'Config

 

Das folgende Batchscript ist ein Beispiel für einen parallelen HFSS Aufruf:

#!/bin/bash -start
#PBS -N hfss
#PBS -l nodes=1:ppn=4,walltime=03:30:00
#  Ressourcenanforderung: 1 Knoten, 4 Prozessoren, 3 Std., 30 Min. Rechenzeit 
#PBS -l mem=8gb
#PBS -o hfss.log
#PBS -e hfss.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

hfss -ng -batchsolve -distributed -machinelist num=1 -batchoptions hfss.cfg input.aedt

# Modulefile für das Release 18.0
module load ANSYSEM/18.0

------- Aufruf ab Ansys 16.0 - Ansys Electronics Desktop  --------
# parallele Ausführung, 4 Prozesse und Option aus HFSS bzw. HFSS-IE

ansysedt
 -ng -batchsolve -distributed -machinelist num=1 -batchoptions hfss.cfg input.aedt


Die Batchoptionen werden in der folgenden Textdatei hfss.cfg festgelegt. Die Anzahl der Prozessoren wird über 'HFSS/NumCoresPerDistributedTask'=4 festgelegt.

$begin 'Config'
'HFSS/NumCoresPerDistributedTask'=4
'HFSS-IE/NumCoresPerDistributedTask'=4
'HFSS/SolveAdaptiveOnly'=0
'HFSS/HPCLicenseType'='pool'
'HFSS-IE/HPCLicenseType'='pool'
$end 'Config'


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

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

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

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

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/