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>