Benutzung von ABAQUS im LUIS
Hier finden Sie Hinweise zur Nutzung von ABAQUS im LUIS und HLRN.
Es werden die folgenden Themen behandelt:
- Scientific Computing im Rechenzentrum
- Nutzungsbedingungen
- Aufruf von ABAQUS
- ABAQUS-Skript-Parameter
- ABAQUS-Environment-File
- Laufzeitverhalten großer FE-Modelle: Memory- und I/O-Probleme
- ABAQUS/CAE und ABAQUS/Viewer
- Beispiele für ABAQUS-Aufrufe
- Konventionen der ABAQUS-Dateinamen
- Nutzung von ABAQUS auf dem LUIS-Cluster
- Batch-Skript auf dem LUIS-Cluster
Scientific Computing im LUIS
Alle ABAQUS-Produkte sind auf dem Linux-Cluster ausführbar. Auf diesem System ist ABAQUS insbesondere für große FE-Modelle im Parallelbetrieb einsetzbar. Die Compute-Server führen die FE-Analyse im Batchbetrieb mittels PBS-Skript durch. Die gegenwärtig verfügbaren Versionen sind 2019, 2018, 2017 2016, 6.14-2, 6-13-3, 6.12-1 und 6.11-3.
Der Einsatz von ABAQUS auf dem Linux-Cluster wird im Kapitel Nutzung von ABAQUS auf dem LUIS-Cluster beschrieben.
Nutzungsbedingungen
Die Nutzung von ABAQUS im LUIS und HLRN ist streng begrenzt auf die Lehre und akademische Forschung für nur nichtindustriell finanzierte Projekte.
Aufruf von ABAQUS
Compute-Server im LUIS
Als Batchsystem wird auf dem LUIS-Cluster Torque verwendet. Der Aufruf des ABAQUS-Skript-Kommandos muss in eine Skriptdatei integriert werden. Details zur Skriptdatei findet man im Abschnitt PBS-Skripte.
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 spider ABAQUS (zeigt alle verfügbaren ABAQUS Module-Files an) Version:
ABAQUS/6.14-2
ABAQUS/2016
ABAQUS/2017
module load ABAQUS/2019 (für die Version). zurzeit 2019
module load ABAQUS/2018 (für die Version). zurzeit 2018 mit FixPack 1904
module load ABAQUS/2017 (für die Version). 2017 mit HotFix 5
module load ABAQUS/2016 (für die Version). 2016 mit HotFix 8
Skript Aufruf für Versionen 2019: abq2019 job= ........
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 ABAQUS/6.14-2 (für die Version 6.14). Release 6.14-2
Skript-Aufruf für die Srtandard-Version: abaqus job= ..........
Skript Aufruf für Versionen 6.14: abq6142 job= ........
ABAQUS-Skript-Parameter
ABAQUS wird gestartet, indem der Benutzer nach der Initialisierung von ABAQUS ( init_abaqus bzw. module load abaqus) die Ausführungsprozedur abaqus exekutiert. Diese sucht und wertet bis zu drei Environment-Files (ABAQUS Systeminstallationsverzeichnis, $HOME und $WORK des Benutzers) aus, in denen die Systemparameter gesetzt werden. Die ABAQUS-Ausführungsprozedur generiert das Skript job-name.com für den Python-Interpreter, der die einzelnen Schritte des ABAQUS-Jobs initiiert und ausführt. In diesem Abschnitt werden die wichtigsten Prozedurparameter beschrieben. Eine ausführliche Beschreibung der Prozedurparameter finden Sie im Analysis User's Manual, Volume I, Kapitel 3.2.2. Nur die für eine ABAQUS-Analyse relevanten Parameter müssen spezifiziert werden. Die jeweilige Skriptdatei initiiert die Batchanalyse auf den verschiedenen Systemen.
Für die Parallelausführung von ABAQUS sind die Parameter cpus, parallel, domains, mp_mode und standard_parallel relevant. Weitere Details zum Verständnis der Parallelausführung in ABAQUS/Standard und ABAQUS/Explicit finden Sie in der Online-Dokumentation im ABAQUS Analysis User's Manual im Kapitel 11.9.
Zusammenfassung der Kommandoparameter
abaqus
- job=job-name
[analysis | datacheck | parametercheck | syntaxcheck | continue |
convert={select | odb | state | all} | rocover |
information={environment | local | memory | release | support | system | all}]
[input=input-file]
[user={source-file | object-file}]
[oldjob=oldjob-name] [fil={append | new}]
[globalmodel=results file-name | output database file-name]
[cpus=number-of-cpus]
[parallel={domain | loop}]
[domains=number-of-domains]
[mp_mode={mpi | threads}]
[standard_parallel={all | solver}]
[memory=memory-size]
[interactive | background | queue=[queue-name] [after=time]]
[double] [scratch=scratch-dir]
[output_precision={single | full}] [convert_sdi={off | on}]
[active_topology={off | on}]
Parameterbeschreibung:
job
Kombination beliebiger alphanumerischer Zeichen. Jobs, die gleichzeitig im selben Verzeichnis rechnen, müssen unterschiedliche Job-Identifikationen haben. Alle Dateien, die durch ABAQUS erzeugt werden, enthalten in der Namensgebung diesen Job-Identifier gefolgt durch eine Namenserweiterung .ext. (Erläuterung hierzu siehe Konventionen der Datenamen).
analysis
Durchführung einer vollständigen ABAQUS-Analyse (oder einer Restart-Analyse).
datacheck
Es wird nur ein Datacheck-Lauf durchgeführt. Alle Dateien zur Fortsetzung einer ABAQUS-Analyse (mit der Option continue) werden abgespeichert.
parametercheck
Parameterprüfung (*PARAMETER Option) bei parametrischen Studien mit ABAQUS/Design. Es wird keine Analyse oder Datacheck durchgeführt.
continue
Fortsetzung der ABAQUS-Analyse nach einem Datacheck-Lauf.
syntaxcheck
Syntaxprüfung der Eingabedatei. Diese Option benötigt keine Netzwerklizenz. Keine Analyse wird durchgeführt und die Option continue kann nicht zur Fortsetzung einer Analyse verwendet werden. Nur die .dat und .odb Dateien werden generiert.
information
Hilfreiche Informationen über die Installation und die Anwendung von ABAQUS. Standardmäßig wird die Information auf den Bildschirm ausgegeben. Bei Angabe des job-Parameters läuft der Job im Background und die Ausgabe des Textes erfolgt in die Datei
- information=environment
Alle Optionen der Environment-Datei abaqus_v6.env im ABAQUS- Installationsverzeichnis werden aufgelistet.
information=local
Bemerkungen zur lokalen Installation werden aufgelistet (Empfehlungen, wichtige Hinweise, Fehler, usw.).
information=memory
Spezifikation der Memory-Parameter. Bei großen FE-Modellen ist eine Anpassung mittels einer Benutzer-Environment-Datei (abaqus_v6.env im $HOME- oder Arbeitsverzeichnis des Benutzers) unbedingt erforderlich. (siehe auch große FE-Modelle)
information=release
Release Notes zur aktuellen ABAQUS-Version.
information=support
Informationen zur Diagnoseunterstützung für den ABAQUS-Support.
information=system
Informationen über Systemsoftware und Hardware-Ressourcen .
information=all
Alle Informationen zu den hier aufgeführten Optionen werden ausgegeben.
input
Dateiname mit den Eingabedaten für ABAQUS. Ohne diese Option wird nach einer Datei job-name.inp im aktuellen Arbeitsverzeichnis gesucht.
user
Option zur Spezifikation einer FORTRAN-Quellcodedatei oder einer Objektcodedatei, die alle User Subroutinen für die Analyse enthält. Diese Datei job-name.f wird kompiliert und in das ABAQUS-Executable eingebunden oder die Datei job-name.o wird in das ABAQUS-Executable eingebunden. Bei häufiger Verwendung der User Subroutine kann mittels abaqus make eine Shared Library generiert werden; diese wird dann mit der Environment-Variable usub_lib_dir definiert und die user-Option ist nicht mehr erforderlich.
oldjob
Diese Option spezifiziert den Job-Identifier eines vorhergehenden Jobs (ohne File-Extension), mit Hilfe derer ein Restart-Job gestartet werden kann. Diese Option wird verlangt, falls die *RESTART, *POST OUTPUT, *SYMMETRIC MODEL GENERATION oder *IMPORT Option in der Eingabedatei (.inp) spezifiziert worden ist. Diese Optionen bewirken das Lesen der Restart- (.res) und/oder Result-Datei (.fil). Der oldjob-Identifier muss unterschiedlich zum aktuellen Job-Identifier sein.
fil
Option ausschließlich für Restart-Jobs. Die Angabe bewirkt, ob ein existierendes Result File ("oldjob-Identifier.fil") in einem Restart-Job erweitert werden soll oder ob ein neues Result File (fil=new) erzeugt werden soll. Für ABAQUS/Explicit ist fil=new nicht erlaubt. Spezifikation ist nur erforderlich bei einer *RESTART,READ-Analyse zur Erweiterung eines alten Result File bzw. zur Erzeugung einer neuen Ergebnisdatei.
cpus
Diese Option spezifiziert die Anzahl der Prozessoren, die während der Jobabarbeitung verwendet werden sollen, wenn Parallelverarbeitung spezifiziert worden ist. Die maximale Anzahl von Prozessoren beträgt für ABAQUS gegenwärtig 16 (auf dem HLRN-Rechner 32).
parallel
Parameter zur Spezifikation der Methode für die Parallelverarbeitung in ABAQUS/Explicit. Für ABAQUS/Explicit sind die Werte domain und loop anwendbar. Es ist eine Thread-basierte und MPI-basierte Methode implementiert. Auf Shared-Memory-Rechnern ist nur die Loop-Level-Implementierung verfügbar. Die parallele Implementierung der Gebietszerlegung ist sowohl auf Shared-Memory als auch auf Rechner-Cluster verfügbar.
- parallel=domain
Die Gebietszerlegungsmethode wird verwendet, um das Modell in geometrische Bereiche aufzuteilen (Thread- oder MPI-basierte Methode).
parallel=loop
Die Loop-Level-Methode wird verwendet, um Loops zu parallelisieren (Thread-basierte Methode).
domains
Spezifikation der Anzahl paralleler Domains in ABAQUS/Explicit. Ist der Wert größer als 1 wird die Gebietszerlegung durchgeführt ohne Rücksicht auf die Werte von parallel und cpus. Bei Angabe von parallel=domain muss die Anzahl der domains gleichmäßig auf die Anzahl der cpus verteilt werden. Es ist sowohl die Tread-basierte Methode als auch die MPI-basierte Methode für die Gebietszerlegung implementiert.
mp_mode
Bei mp_mode=mpi wird die MPI-basierte Parallelisierungsmethode verwendet, falls diese anwendbar ist. Wenn mp_mode=threads gesetzt wird, wird die Thread-basierte Parallelisierungsmethode angewendet. Standard ist mpi auf allen Plattformen außer Windows. Der iterative Gleichungslöser (*STEP,SOLVER=DDM) erzeugt automatisch eine Gebietszerlegung und unterstützt sowohl die MPI-basierte als auch die Thread-basierte Parallelisierung. Der direkte Gleichungslöser und der Lanczos-Solver nutzen nur die Thread-basierte Parallelisierung und laufen daher nur auf Shared-Memory-Rechnern.
standard_parallel
Diese Option spezifiziert die parallele Ausführungsweise in ABAQUS/Standard. Die möglichen Werte sind all und solver. Bei standard_parallel=all werden sowohl die Elementoperationen als auch der Solver parallel ausgeführt. Wenn standard_parallel=solver gesetzt ist, wird nur der Solver parallel ausgeführt. Der Standard ist standard_parallel=all auf allen Plattformen, wo die MPI-basierte Parallelisierung unterstützt wird. Die Parallelausführung der Elementoperationen wird nur von der MPI-basierten Methode unterstützt.
memory
Option zur Spezifikation des Memorybedarfs für den Input-Prozessor ABAQUS/Pre. Der Standard für diesen Parameter kann auch mit dem pre_memory-Parameter in der Environment-Datei gesetzt werden.
interactive
Diese Option startet einen Job, der interaktiv abläuft. Für ABAQUS/Standard wird die Log-Datei auf dem Bildschirm ausgegeben; für ABAQUS/Explicit werden die Status- und Log-Datei auf dem Bildschirm ausgegeben. Diese Anwendung ist nur für sehr kleine Testbeispiele sinnvoll anwendbar. Ungeignet für Analysen im Parallel-Mode, d. h. cpus muss immer auf 1 gesetzt werden.
background
Diese Option erlaubt die Analyse von kleinen FE-Modellen im Background. Ungeeignet für Analysen im Parallel-Mode, d. h. cpus muss immer auf 1 gesetzt werden.
queue
Diese Option wird zurzeit im RRZN und HLRN nicht mehr unterstützt.
Hinweise zum Einsatz von ABAQUS auf dem HLRN-System finden Sie im Kapitel Nutzung von ABAQUS auf dem HLRN-Rechner und unter ABAQUS im HLRN auf den Web-Seiten im HLRN.
double
Diese Option ist nur für ABAQUS/Explicit verfügbar; sie bewirkt, dass bei Verwendung einer expliziten dynamischen Prozedur die Analyse mit doppelter Genauigkeit (64-Bit) ausgeführt wird und zwar auf Systemen, wo die Standardlänge eines Gleitkommawortes in einfacher Genauigkeit 32-Bit beträgt. Mit Hilfe des ABAQUS-Environment- Parameters explicit_precision=DOUBLE_PRECISION kann die Ausführung in doppelter Genauigkeit ebenfalls aktiviert werden. Standardwert von explicit_precision ist SINGLE_PRECISON.
ABAQUS/CAE
ABAQUS/CAE
ABAQUS/CAE (Complete ABAQUS Environment) ist eine interaktive Umgebung zum Erzeugen, Starten, Überwachen und zur Ergebnisauswertung von ABAQUS-Simulationen. ABAQUS/CAE ist in verschiedene Module unterteilt, wobei jedes Modul einen logischen Aspekt des Modellierungsprozesses definiert; z. B., Definition der Geometrie, Definition der Materialeigenschaften, Netzgenerierung, Starten von Analyse-Jobs und Interpretation von Ergebnissen.
Beispiel: Aufruf
abaqus cae [database=database-file][replay=job-name.rpy]
[recover=job-name.jnl]
Beschreibung der Skript-Parameter
database
Diese Option spezifiziert die Modell-Database-Datei (job-name.cae) oder die Output-Database- Datei (job-name.odb).
replay
Der Name einer Datei, von der Eingabekommandos für CAE eingelesen werden können. Die Dateiextension lautet: .rpy
recover
Diese Option spezifiziert eine Datei, von der die Modell-Database-Datei wiederhergestellt werden kann. Das Journal-File hat die Dateiextension .jnl.
Job Manager
Dieses Module ermöglicht neben dem Start eines Interaktiven Jobs, auch die Erstellung einer Input-Datei. Im Module Job Manger wird mit "Write Input" eine Input-Datei geschrieben, ohne Start der Analyse. Die Input-Datei mit der Dateiextension .inp, kann für die Analyse im Batchbetrieb verwendet werden.
Installationshinweis für ABAQUS/CAE
a) Installation auf einem Unix-Rechner bei Zugriff vom PC unter Windows:
Das interaktive Programm ABAQUS/CAE verwenden die Grafik-Bibliothek OpenGL. Falls die grafische Leistung von OpenGL wegen des X-Servers X-Win32 nicht vollständig unterstützt wird, müssen Sie gegebenenfalls auf X11 umschalten.
Umschalten von OpenGL auf X11 ist wie folgt möglich:
Im Hauptmenue View auswählen und dort Graphics Option anklicken. In der dann dargestellten Dialogbox den Driver X11 aktivieren. Diese grafischen Parameter erlauben das Arbeiten mit dem gegenwärtigen Release von X-Win32. Eine gute Alternative ist die kostenlose NX Client Software.
b) Zugriff auf CAE oder Viewer vom PC unter Linux:
Ebenfalls problemlos laufen Viewer und CAE unter Linux bei folgender Hardware:
Linux Version: Red Hat 5 oder höher
X-Server: X2Go Client
Abhängig von der Grafikkarte müssen die neuesten Grafiktreiber verwendet werden, z.B., bei Grafikkarten von Nvidia müssen die Treiber von der Nvidia-Homepage geholt werden.
Beispiele für ABAQUS-Aufrufe
ABAQUS/Standard
Die Beispiele (c1,c4,c5) können wie folgt aus der Archivierungsdatei extrahiert werden:
module load abaqus
- abaqus fetch job=c1
abaqus fetch job=c4
abaqus fetch job=c5
Es folgen einige Aufrufbeispiele des ABAQUS-Skriptes:
- ABAQUS-Aufruf mit Erzeugung einer fil- und odb-Datei (c1.fil, c1.odb) und Ablauf im Background:
abaqus job=c1 analysis background
- ABAQUS-Aufruf einer nichtlinearen dynamischen Analyse mit Erzeugung einer Restart-Datei (c4.res) und einer fil-Datei (c4.fil):
abaqus job=c4 analysis background
- Fortsetzung der Analyse von Beispiel c4 mit Erzeugung einer neuen Restart-Datei (c5.res) und einer erweiterten fil-Datei (c5.fil) und Ablauf im Background:
abaqus job=c5 analysis oldjob=c4 fil=append background
Beschreibung der Beispiele c1,c4 und c5
c1
c1 is a small displacement structural analysis. For this case ABAQUS will create an output listing (c1.dat), a file output file (c1.fil) and the status, message and log files.
c4
This is a nonlinear dynamic analysis of an extended version of the model c1. The job will create an ouput listing (c4.dat), a file output file (c4.fil) and a restart file (c4.res). The job ends because the *STEP option does not provide enough increments to complete the simulation time requested. c5 is a restart job to finish the required simulation time.
c5
This job continues the analysis of example c4. The job needs the file output file (c4.fil) and the restart file (c4.res) from c4. It will create an output listing (c5.dat), a new restart file (c5.res) and a file output file (c5.fil) which includes the results from both the c4 and c5 run.
ABAQUS/Explicit
Das Beispiel beam1 kann wie folgt aus einer Archivierungsdatei extrahiert werden:
module load abaqus
- abaqus fetch job=beam1
Es folgen einige Aufrufbeispiele des ABAQUS-Skriptes:
- ABAQUS/Explicit-Analyse mit Konvertierung aller relevanten Dateien (State-, Package- und selected Results-Datei):
abaqus job=beam1 analysis convert=all background
- ABAQUS/Explicit-Analyse ohne Konvertierung aller relevanten Dateien jedoch Analyse mit doppelter Genauigkeit:
abaqus job=beam1 analysis double background
- Konvertierung der ABAQUS/Explicit selected Results-Datei nach einer wie im Beispiel zuvor bereits durchgeführten Analyse im Background:
abaqus job=beam1 convert=select background
Weitere Beispiele zur Verwendung des abaqus-Kommandos siehe auch Analysis User's Manual, Volume I, Kapitel 3.1.1.
Konventionen der ABAQUS-Dateinamen
Das abaqus-Skript generiert verschieden Dateien. Einige existieren nur während der ABAQUS- Analyse und werden nach Beendigung eines Laufes gelöscht. Andere Dateien enthalten Analyse-, Postprocessing- und Translationsergebnisse und bleiben für die Anwendung anderer Analyseoptionen (z. B. Restart, Postprocessing) erhalten. Dieses Kapitel beschreibt die Dateien, die durch ABAQUS generiert werden.
Jeder der folgenden Namen enthält vorangestellt den Namen des Job-Identifier job=job-name und eine Namenserweiterung (.ext), die von ABAQUS vergeben wird: job-name.ext
ABAQUS-Skript:
Name Beschreibung
.com Kommandodatei
ABAQUS/Standard und ABAQUS/Explicit:
.inp Analyse-Eingabedatei
.dat druckfähige Ausgabedatei
.f User Subroutine
.fil Ergebnisdatei (*FILE-Kommando)
.fin Ergebnisdatei nach Verwendung von abaqus ascfil
.fct Sparse Solver Factor File (temporär)
.opr Sparse Solver Operator File
.sol Sparse Solver Scratch File
.uft Scratch File für den unsymmetrischen Solver
.eig Lanczos-Eigenvektordatei (temporär)
.lnz Lanczos-Vektordatei (temporär)
.scr Lanczos Scratch File
.res Restart File
.odb Output Database für ABAQUS/CAE
.mdl Model File
.sup Substrukturdatei
.sta Status-Datei
.msg Message File
.log Job-Protokoll
.lck Lock File Output Database (temporär)
.023 Communications File
ABAQUS/Explicit:
.abq State File
.pac Package File: Modellinformationen
.sel Selected Results File
ABAQUS/CAE und (ABAQUS/Viewer):
.jnl Journal File (Wiederherstellung der Modell-Datenbank)
.cae Model Database
.odb Output Database
.rpy Kommandodatei
ABAQUS/Design:
.psf Python Skriptdatei zur Parametrisierung
.par modifizierte Version der parametrisierten Eingabe
.pmg Message File bei Parametrisierung
.var Eingabevariationen bei Parametrisierung
ASCFIL-Skript:
.fil Result File (*FILE-Kommando)
.fin Result File (ASCII)
Daneben gibt es noch eine Reihe von weiteren Dateien in ABAQUS/Standard und ABAQUS/Explicit sowie in den diversen ABAQUS-Prozeduren wie Append, Ascfil, Fetch, Fromnastran etc. (siehe Analysis User's Manual, Volume I, Kap. 3.5)
Nutzung von ABAQUS auf dem LUIS-Cluster
1. Allgemeines
Dieses Kapitel beschreibt die Besonderheiten der Installation und der Nutzung von ABAQUS auf dem LUIS-Cluster-Systemen.
Die Software-Pakete werden auf dem Linux-Cluster über die Module-Technik verfügbar gemacht. Mit dem module-Befehl werden Umgebungen für spezifische Software-Pakete eingerichtet oder auch wieder entfernt. Eine Übersicht gibt das Kommando module avail. Für weitere Informationen über das Module-Konzept auf dem Cluster wird auf die Seite Module verwiesen.
Das Programmsystem ABAQUS steht daher nach dem Kommando
module load ABAQUS/ (Vers. 201n)
zur Verfügung.
2. Benutzung von ABAQUS auf dem LUIS-Cluster
Im Allgemeinen kann ABAQUS auf verschiedene Art und Weise verwendet werden:
- interaktiv oder im Background (Dialogbetrieb)
- im Batch, seriell oder parallel
Der Prä- und Postprozessor ABAQUS/CAE bzw. der Postprozessor ABAQUS/Viewer können mit einer grafischen Nutzer-Schnittstelle (GUI) genutzt werden. Die nächsten Abschnitte beschreiben die Vorgehensweisen für den Zugriff auf ABAQUS unter X11.
2.1 Interaktive Nutzung des Prä-/Postprozessors ABAQUS/CAE
1. Setzen der Umgebung:
module load abaqus
Eventuell ist es zusätzlich nötig, auf Ihrer Workstation xhost auf Clusterlogin zu setzen und gegebenfalls auch auf dem Cluster selbst die DISPLAY-Variable auf die Adresse Ihrer Workstation zu setzen.
2. Aufruf von ABAQUS/CAE
abaqus cae [database=database-file] (default)
2.1 Aufruf von ABAQUS/CAE - Version 2018
module load ABAQUS/2018
abq2018 cae [database=database-file] (Vers. 2018)
2.2 Nutzung von ABAQUS im seriellen Modus im Dialogbetrieb
Die Nutzung von ABAQUS im Dialogbetrieb ist nur eingeschränkt sinnvoll unter Berücksichtigung der folgenden Randbedingungen:
- nur für (sehr) kleine FE-Modelle
- nur im seriellen Modus (cpus=1)
2.2.1 Interaktive Nutzung von ABAQUS im seriellen Modus
Die FE-Analyse wird durch den folgenden Aufruf von ABAQUS interaktiv und seriell auf dem Login-Knoten des Clusters ausgeführt:
abaqus job=job-name analysis cpus=1 interactive
Diese Vorgehensweise ist nur für ganz kleine FE-Modelle, die wenige Ausgabedaten und nur wenig Rechenzeit benötigen, sinnvoll. Für größere FE-Modelle ist die Nutzung der Rechenknoten im Batchbetrieb (siehe Abschnitte 3.4 ff.) erforderlich.
2.2.2 Nutzung von ABAQUS im seriellen Mode im Background
Die FE-Analyse wird durch den folgenden Aufruf von ABAQUS seriell auf dem Login-Knoten im Background ausgeführt:
abaqus job=job-name analysis cpus=1 background
Diese Vorgehensweise ist ebenfalls nur für kleine FE-Modelle, die nur wenig Rechenzeit benötigen, erlaubt. (Batch-Jobs siehe die nächsten Abschnitte).
2.3 Nutzung von ABAQUS im Batchbetrieb
Die FE-Analyse mit ABAQUS sollte nur für ganz kleine FE-Modelle im Dialogbetrieb (siehe Abschnitte 3.2 und 3.3) auf dem Login-Knoten des Clusters ausgeführt werden. Für größere FE-Modelle ist dagegen die Nutzung von ABAQUS auf den Rechnenknoten des Clusters unbedingt erforderlich. Diese Rechenknoten sind nicht direkt erreichbar, sondern nur im Batchbetrieb. Im Folgendem wird beschrieben, wie ABAQUS im seriellen oder parallelen Modus auf den Rechenknoten des Clusters durchgeführt werden kann. Die zur Verfügung stehenden Ressourcen pro Knoten auf den LUIS-Computeservern, finden Sie unter Rechnerressourcen.
Zur Abgabe von Batch-Jobs steht auf den LUIS-Computeservern das Batchsystem Torque/PBS zur Verfügung. Drei Schritte sind im Batchbetrieb auszuführen:
1. Ein ausführbares Shellskript (d.h. ein PBS-Batchskript), das PBS-Kommandos, den Aufruf von ABAQUS und das Setzen der Umgebung enthält, ist vorzubereiten.
2. Vom Login-Knoten wird das Batchskript (z.B. jobskript) abgeschickt:
qsub jobskript
b) Serieller Modus versus paralleler Modus:
Der serielle Modus sollte immer für alle mittelgroßen bis großen FE-Modelle verwendet werden. Dies sind FE-Modelle mit einer Anzahl von bis zu ca. 100000 Freiheitsgraden. Bei großen FE-Modellen (über 100000 Freiheitsgrade) ist häufig das Rechnen im parallelen Modus (d.h. auf mehreren Prozessoren gleichzeitig) besser geeignet, um schneller das Ergebnis der Analyse zu erhalten. Die Wallclock-Zeit verkürzt sich dabei im Idealfall proportional zur Anzahl der beteiligten Prozessoren.
Da bei Anwendungen mit ABAQUS/Explicit die Gebietszerlegungsmethode angewendet wird, ist hier der Einsatz des parallelen Modus schon bei mittelgroßen Modellen sinnvoll.
2.3.1 Nutzung von ABAQUS im Batchbetrieb im parallelen Modus
Die Parallelisierung in ABAQUS ist mittels zweier verschiedener Verfahren implementiert: Thread- und MPI-basierte Parallelisierung. ABAQUS kann sowohl auf Shared-Memory-Rechnern (Thread- und MPI-basiert) als auch auf Rechner-Cluster (MPI-basiert) parallel ausgeführt werden. Folgende Berechnungen werden in ABAQUS bei der Parallelverarbeitung unterstützt:
ABAQUS/Standard:
- direkter Gleichungslöser (SPARSE Solver)
- iterativer Gleichungslöser
- Lanczos-Eigenlöser
- Elementoperationen
ABAQUS/Explicit:
- alle Berechnungen, Ausnahme: Input-Präprozessor und Packager-Modul
- starke Laufzeitreduktion bei einer großer Anzahl von Knoten und Elementen
- starke Laufzeitreduktion bei einer großer Anzahl von Inkrementen
- verfügbar für Shared-Memory-Rechner und Rechner-Cluster
- Parallelisierung durch automatische Gebietszerlegung oder Loop-Level-Methode
Weitere Details zur Parallelausführung in ABAQUS/Standard und ABAQUS/Explicit insbesondere die jeweils unterstützte Parallelisierungsmethode für die verschiedenen Gleichungslöser und die Ausnahmen und Besonderheiten beim direkten Gleichungslöser mit unsymmetrischen Matrizen auf einem Rechner-Cluster (also knotenübergreifend) finden Sie in der Online-Dokumentation im Analysis User''s Manual unter "Parallelausführung in ABAQUS" im Abschnitt 11.9.
ABAQUS kann sowohl auf nur einem Rechenknoten des Clusters mit parallelen Prozessen als auch knotenübergreifend mit vielen parallelen Prozessen verwendet werden.
Batch-Skript auf dem LUIS-Cluster
Im Folgenden wird ein PBS-Jobskript für das Batchsystem Torque/PBS auf den LUIS-Computeservern beschrieben:
#!/bin/bash -login
#
#PBS -N abaqus
#PBS -l nodes=1:ppn=2,walltime=01:00:00
# Ressourcenanforderung: 1 Knoten, 2 Prozessoren, 1 Std. Rechenzeit
#PBS -l mem=4000mb
#PBS -o std_inst.log
#PBS -e std_inst.aus
#PBS -m e
#PBS -M ...........@.......uni-hannover.de
#PBS -q all
# Wechsel in das Working Directory
cd $PBS_O_WORKDIR
#
# Bestimmung der Anzahl der Prozessoren für den cpus-Parameter bei Parallelverarbeitung
#
np=`expr $(cat $PBS_NODEFILE | wc -l)`
#
# Modulefile für das Release 2019
module load ABAQUS/2019
abq2019 job=std_user analysis cpus=1 interactive
Erforderliches Modulefile bei Nutzung von User Subroutinen in Fortran
module load ifort
Aufruf für seriellen Job mit einer User Subroutine
abqxxxx job=std_user analysis user=sub_user.f cpus=1 interactive
Aufruf für parallelen Job
abqxxxx job=std_user analysis cpus=$np standard_parallel=all interactive
Aufruf von ABAQUS mit MPI im Distributed Memory Modus
Hier wird beschrieben, wie ABAQUS im parallelen Modus auf mehreren Knoten im Batch-Jobs aufgerufen werden kann.
Batchskript für Knotenübergreifende MPI-Jobs
#PBS -l nodes=2:ppn=4,walltime=10:00:00
# Ressourcenanforderung: 2 Knoten, 4 Prozessoren, 10 Std. Rechenzei
#PBS -q all
Skript zum erstellen einer hostliste für MPI-Jobs auf dem Server
create_abaqus_host_list
Aufruf für parallelen Job mit mpi
abqxxxx job=std_user analysis cpus=$np standard_parallel=all mp_mode=mpi interactive
Mit Abaqus / Explicit können bestimmte Funktionen nicht auf Domänen aufgeteilt werden. Der Domänenzerlegungsalgorithmus berücksichtigt dies automatisch und erzwingt, dass diese Features vollständig in einer Domäne enthalten sind. Weitere Information im Abaqus Manual unter "Parallel execution in Abaqus/Explicit".
Gestartet wird der Job interaktiv auf Clusterlogin
qsub <jobskript>