- Akademische Forschung und Lehre
- Geräte des KIT
- Mitarbeiter des KIT
-
ADINA (abgekündigt)
-
ADINA ist ein Finite-Elemente-Programm für strukturmechanische Probleme, Strömungsprobleme und Wärmeausbreitung.
Multiphysikprobleme: Fluid-Struktur- und Wärme-Struktur-Kopplung
- Ansprechpartner:
- Dienste:
ADINA

*** Ankündigung (21.07.2021): Die Bereitstellung der ADINA Lizenz am SCC endet am 15.04.2022. ***
s. https://team.kit.edu/sites/it-expertenkreis/Protokolle/2021_06_16/Protokoll%20IT-EK%2020210616.pdf
ADINA ist ein Finite-Elemente-Programm zur Lösung strukturmechanischer, Strömungs-, Wärmeleit- und anderer Feldprobleme. Die Stärken des Programms liegen in der Berechnung geometrisch und physikalisch nichtlinearer Probleme, Fluid-Struktur-Kopplung Wärme-Struktur-Kopplung, Bruchmechanik und Kontaktprobleme. ADINA besitzt eigene Prä- und Postprozessoren (ADINA-IN und ADINA-PLOT), einen Volumenmodellierer auf Parasolidbasis (ADINA-M) und Lösungsmodule ADINA, ADINA-T und ADINA-F für strukturmechanische, strömungsmechanische bzw. thermische Probleme. Zentral steht ADINA auf den Linux-Clustern bwUniCluster zur Verfügung. Es gibt auch eine Version für Linux und Windows, die beim Betreuer ausgeliehen werden kann.
ADINA bietet eine grafische Oberfläche ADINA/AUI unter der die ADINA Module betrieben werden können.
Lizenzbeschränkungen
Das SCC hat eine "Special License for University Education Use Only"-Lizenz von ADINA erworben, die laut ADINA folgende Nutzung gestattet:
" ...
ADINA User License Conditions
1. Acceptance. The ordered computer programs on the reverse hereof and
such program(s) ordered separately, and any new versions, updates or
additions if provided, are hereafter called the “Program”. ADINA R & D,
Inc. (“ARD”) hereby grants and the undersigned (“User”) accepts a nontransferable
and non-exclusive license for the load modules of the Program
upon the agreements, prices, terms and conditions contained in the User
License Conditions on this side and in the information on the reverse hereof.
2. Restrictions. The Program shall only be used at the University by
University employees and students for the sole purpose of education
including teaching and non-industry sponsored research.
...
3. Installation. The User receives the material described in Section C on
the reverse hereof. Installation at the computer is to be performed by the
User.
4. Location and Use. The User agrees to only use the hereby ordered
Program on the computer(s) for which the license has been obtained at
Location: Karlsruher Institut fiir Technology (KIT)
The User agrees that the hereby obtained Program will only be used as
indicated in paragraph 2.
5. Assignment. This User License and the Program supplied hereunder can
not be transferred or assigned without the prior written consent of ARD.
6. Secrecy. The User understands that the Program supplied hereunder is
proprietary and the User will maintain its confidentiality for all times. The
User will take all reasonable precautions to prevent unauthorized use of the
Program. The User agrees not to disclose, distribute or make the Program
supplied hereunder or any part thereof available to any person (other than
employees of User utilizing the Program within the scope of their
employment), firm, corporation, university or other organization without the
prior written consent of ARD. The name of the Program can not be changed
and no part of the Program shall be made part of another Program.
..."
Den kompletten Vertrag finden Sie auf dem FTP-Server ftp://ftp.scc.kit.edu/pub/campus/ADINA/ .
Kurzanleitung
Inhaltsangabe
5. ADINA auf den Parallelcluster des SCC
6. Restarts und benutzerdefinierte Routinen
8. Literatur, Dokumentation und Beispiele
1. Einleitung
ADINA (Automatic Dynamic Incremental Nonlinear Analysis) ist ein Programmsystem für die Verschiebungs- und Spannungsanalyse von zwei- und dreidimensionalen, linearen und nichtlinearen Problemen, für Wärmeausbreitung und Feldprobleme. ADINA ist ein Produkt von ADINA R&D, Inc., 71 Elton Avenue, Watertown, MA 02472, USA.
ADINA besteht aus mehreren Modulen:
ADINA |
für die Verschiebungs- und Spannungsanalyse |
ADINA-T |
für Wärmeausbreitung und Feldprobleme |
ADINA-F |
für Strömungsberechnungen |
ADINA-IN |
Präprozessor für ADINA und ADINA-T |
ADINA-PLOT |
Postprozessor für ADINA und ADINA-T |
Alle Module werden unter der grafischen Oberfläche ADINA/AUI aufgerufen. Die Oberfläche enthält auch den auf Parasolid basierenden Volumenmodellierer ADINA-M.
Zur Elementebibliothek gehören (u.a.)
- Volumenelemente (Quader, Tetraeder, Prismen)
- Platten (ebener Spannungs- und Dehnungszustand)
- dicke und dünne Schalen
- rotationssymmetrische Schalen und Volumen
- Stäbe und Balken (zwei- und dreidimensional)
- Röhren
- Kontaktelemente
- zwei- und dreidimensionale Flüssigkeitselemente
Das Materialverhalten kann folgendermassen beschrieben werden:
- linear-elastisch
- nichtlinear-elastisch
- thermo-elastisch
- elastisch-plastisch
- thermo-elastisch-plastisch und Kriechen
- Kurvenbeschreibungsmodell
- Betonbruchgesetz
- elastisch-plastisch mit Fliessbedingung nach Drucker-Prager und v.Mises
- Mooney-Rivlin Modell
Die Materialeigenschaften können temperaturabhängig sein. Damit lassen sich u.a. folgende Probleme bearbeiten:
- kleine und grosse Deformationen und Dehnungen
- Stabilitätsuntersuchungen
- statische und dynamische Kontaktprobleme
- Eigenfrequenzen, Frequenzanalyse und Antwortspektren
- Wärme-Struktur-Kopplung
- Fluid-Struktur-Kopplung
- Bruchmechanik
- kompressible und inkompressible Fluide
- verschiedene Turbulenzmodelle
- nichtnewtonsche Fluide
- u.v.m.
Weitere Features in ADINA sind:
- automatische Zeitschrittsteuerung
- Substrukturen
- zyklische Symmetrien mit beliebiger Last
- direkter und iterativer Lösungsalgorithmus
- Benutzerschnittstelle für eigene Elemente, Materialien und Lasten
- Solid Modeler und Vernetzer ADINA-M
Die Möglichkeiten von ADINA-T umfassen u.a.:
- zwei- und dreidimensionale stationäre und transiente Wärmeübertragungsprobleme mit fester und variabler Schrittweite
- zeit- und temperaturabhängige Wärmeleitfähigkeit, temperaturabhängige spezifische Wärme
- Wärmestrom- und Temperaturbedingungen
- Konvektions- und Strahlungsrandbedingungen für Knoten, Randlinien und Randflächen
- Phasenübergänge
- Feldprobleme, die sich auf analoge Differentialgleichungen abbilden lassen, z.B. Sickerströmung, Torsion, Potentialströmung, elektrische Leitung und elektrostatische Feldprobleme
- Schnittstelle zwischen ADINA und ADINA-T zur Wärme-Struktur-Kopplung
Die Möglichkeiten von ADINA-F umfassen u.a.:
- kompressible und inkompressible viskose Strömung
- stationäre und instationäre, newtonsche und nicht-newtonsche Strömung
- Wärmeübertragung, auch durch Strahlung
- laminare und turbulente Strömung (k-e und k-w Modelle)
- Mehrphasenströmung, Massentransport
- Schnittstelle zwischen ADINA und ADINA-F zur Fluid-Struktur-Kopplung
- freie Oberflächen bei Fluiden
Der Präprozessor ADINA-IN dient zur Erzeugung der Eingabedaten für ADINA, ADINA-T und ADINA-F. Es unterstützt die Erzeugung der Netze, führt eine Optimierung der Systemmatrix durch und plottet die Geometrie und die Vernetzung. In ADINA-IN integriert ist der Modeller und Vernetzer ADINA-M.
ADINA-PLOT ist der Postprozessor von ADINA, ADINA-T und ADINA-F. Er setzt auf die Ergebnisdateien der ADINA-Module auf, erzeugt weitere, abgeleitete Resultate und stellt sie grafisch dar.
Wichtige Features sind:
- Zoneneinteilung des FE-Modells
- Beschränkung der Ausgabe auf bestimmte Zonen
- Darstellung von Knoten- und Elementvariablen entlang selbstdefinierter Linien
- Erzeugung von zusätzlichen Ergebnissen
- Ermittlung von Extremwerten der Knoten- und Elementvariablen
- Plotten der Original-Struktur, der deformierten Struktur sowie der Eigenschwingungsformen des gesamten Modells oder bestimmter Zonen des Modells aus jedem Blickwinkel,
- Plots der Hauptspannungen für zwei- und dreidimensionale Probleme (nur bei bestimmten Elementen),
- Plotten des Zeitverlaufs von Knotenpunktsvariablen, Element- Variablen oder zusätzlicher Ergebnisse,
- Plotten einer Ergebnisvariablen als Funktion einer anderen Ergebnisvariablen (XY-Plots)
- Kontur- bzw. Isolinienplots z.B. von Spannungen
- Konturplots auf Oberflächen von 3D- und Shell-Elementen
- Plots von aufgebrachten Lasten auf der Struktur
- Verdeckte Linien bei dreidimensionalen Strukturen
- zusätzliche Definition von Farben
- individuelle Zuweisung von Farben an Elemente
- Analyse von Antwortspektren
- u.v.m.
Das ADINA-System ist auf den Linux-Clustern bwUniCluster installiert.
2. ADINA/AUI
ADINA/AUI steht für ADINA User Interface und ist eine grafische Oberfläche unter der ADINA-IN und ADINA-PLOT ausgeführt werden können. Ausserdem lassen sich die Analyse-Module unter der Oberfläche ADINA/AUI starten.
Aufruf:
runaui
Anschließend die grafische Oberfläche. Hier ein Beispiel für den Postprozessor.
Der vollständige Aufruf sieht folgendermaßen aus:
runaui [optionen][identifier]
Die wichtigsten Optionen sind:
-m MTOT[K|M|G][[W]|B] |
Grösse des Arbeitsbereiches für ADINA |
-V |
Versionsnummer |
-in[A|T|F] |
Start des ADINA-IN - Fensters für Default : A |
-plot |
Start des ADINA-PLOT-Fensters |
-cmd |
Kommando-Modus |
-tmp DIR |
DIR bezeichnet das Scratchverzeichnis; |
-s Eingabedatei |
In der Eingabedatei stehen ADINA-IN oder ADINA-Plot |
-nses |
Es wird kein Session-File erzeugt |
-nogl |
OpenGL wird nicht benutzt |
-help |
alle runaui-Optionen |
Die verschiedenen ADINA-Module erzeugen bzw. benötigen unterschiedliche Dateien. Die Analyse-Module von ADINA benötigen immer eine Eingabedatei id.dat, die man z.B. über ADINA/AUI erhält. Aber auch viele andere FE-Präprozessoren, wie z.B. Patran oder HyperMesh, können ADINA-Eingabedaten erzeugen.
ADINA-IN |
Eingabe |
Tastatur, Maus |
Kommandos zur Modellerzeugung |
|
Ein/Ausgabe |
id.idb |
ADINA-IN Databasefile kann am Ende einer Sitzung gespeichert werden: und später wieder eingelesen werden: |
|
Ausgabe |
id.dat |
Eingabedatei für ADINA, ADINA-T und |
ADINA |
Eingabe |
id.dat |
Eingabedatei |
|
|
id.res |
altes Restart-File |
|
|
id.mod |
altes Modes-Files |
|
|
id.tem |
altes Temperatur-File (von ADINA-T) |
|
|
id.tgr |
altes Temperaturgradienten-File (von ADINA-T) |
|
Ausgabe |
id.out |
Ausgabedatei |
|
|
id.outex |
zusätzliche Ausgabedatei |
|
|
id.modes |
Modes-File |
|
|
id.restart |
Restart-File |
|
|
id.temp |
Temperatur-File |
|
|
id.tgrad |
Temperaturgradienten-File |
|
|
id.port |
Porthole-File |
|
|
id.exit |
Status-File |
ADINA-T |
Eingabe |
id.dat |
Eingabedatei |
|
|
id.res |
altes Restart-File |
|
|
id.tem |
altes Temperatur-File |
|
|
id.tgr |
altes Temperaturgradienten-File |
|
Ausgabe |
id.out |
Ausgabedatei |
|
|
id.res |
Restart-File |
|
|
id.tem |
Temperatur-File |
|
|
id.tgr |
Temperaturgradientenfile |
|
|
id.por |
Porthole-File |
|
|
id.map |
Mapping-File |
ADINA-F |
Eingabe |
id.dat |
Eingabedatei |
|
|
id.res |
altes Restart-File |
|
|
id.tem |
altes Temperatur-File |
|
Ausgabe |
id.out |
Ausgabedatei |
|
|
id.fsi |
File für Fluid-Struktur-Wechselwirkung |
|
|
id.res |
Restart-File |
|
|
id.por |
Porthole-File |
|
|
id.tem |
Temperatur-File |
|
|
id.map |
Mapping-File |
ADINA-PLOT |
Eingabe |
Tastatur, Maus id.plot |
Eingabe Session-File einer ADINA-PLOT Sitzung |
|
Ein/
Eingabe |
id.pdb
|
ADINA-PLOT Databasefile kann am Ende einer Sitzung gespeichert werden: und später wieder eingelesen werden: Porthole-File |
Darüberhinaus wird jede Sitzung in einem Session-File mitprotokolliert. Standardmäßig ist der Name
nnnnnnnn.ses
wobei der erste Namensteil aus 8 alphanumerischen Zeichen besteht. ADINA/AUI legt außerdem eine temporäre Datei tempnnnn.dtb an. Dazu kommen noch Scratchdateien, die am Ende des ADINA-Laufs wieder gelöscht werden:
4. Kommando-Modus von ADINA
Die Rechenmodule können auch direkt aufgerufen werden.
adina8.7 [optionen] id1 [id2]
id1 ist der Bezeichner für das Problem und ist der erste Namensbestandteil der permanenten Dateinen. id2 ist der Bezeichner eines weiteren .dat Files, wenn Fluid-Struktur- oder Wärme-Struktur-Probleme gerechnet werden sollen.
Eine genaue Beschreibung der Optionen erhält man , wenn man die Module mit der Option -help aufruft:
adina8.7 -help
Die wichtigsten Optionen sind:
-mm MMAX[M|G][[W]|B][%]
|
Grösse des Arbeitsbereiches für ADINA ; Memory für die Systemmatrix und die Elemente |
-xa |
starte nur die Strukturanalys in einem FSI-Lauf |
-V |
Versionsnummer |
-tmpdir tmpdir |
Scratchverzeichnis; |
-lib libdir |
Verzeichnis für die shared Libraries mit user-defined functions |
-restart Restartdatei |
Name einer Restartdatei auf die aufgesetzt werden soll |
- t threads |
Anzahl der CPUs |
-ulimit |
Entfernen aller Ressourcenbeschränkungen |
5. ADINA auf den Parallelclustern des SCC
Auf den SCC Parallelclustern wird ein Modulkonzept eingesetzt. Bevor Sie mit dem Produkt ADINA arbeiten können, müssen Sie zuerst das entsprechende Modul laden. Alle vorhandenen Software-Module erhalten Sie, indem Sie
module avail
eintippen. Um das Modul der aktuellen Version von ADINA zu laden, geben Sie z.B. auf bwUniCluster Folgendes ein:
module load cae/adina/9.2.4
Danach kann ADINA wie gewohnt gestartet werden.
Das Produkt ADINA steht auf dem Linux-Clustern bwUniCluster zur Verfügung und kann dort wie oben beschrieben aufgerufen und genutzt werden. Der Betrieb dieser Cluster unterliegt einem Job-Managementsystem, welches jedem Job optimal die Ressourcen zuordnet. Daher sollten große Rechenjobs unter diesem System gestartet werden. Damit der Benutzer sich nicht damit auseinandersetzen muss, gibt es zum Starten von ADINA die Prozedur adinajob. Die notwendigen und optionalen Parameter werden angezeigt, wenn adinajob ohne jeden weiteren Parameter eingegeben wird.
adinajob -j NAME -t CPU-Zeit -m MEMORY [-p THREADS][-i NAME2][-r RESTART][-e TMPDIR][-s STRING]
|
|
-i NAME2 -r RESTART -e TMPDIR
|
Name einer zweiten Eingabedatei bei FSI oder TMC Name einer Restartdatei Name eines Verzeichnis für temporäre Dateien; sinnvolle Eingaben sind in " " eingeschlossene weitere Optionen für ADINA |
6. Restarts und benutzerdefinierte Routinen
6.1. Restarts
Wann Restart-Läufe sinnvoll sind und wie sie modelliert werden, sollte in den Theory and Modeling Guides nachgelesen werden. Hier wird nur die Durchführung beschrieben. Wir gehen von folgendem Szenario aus:
- in einem ersten ADINA-Lauf mit dem Bezeichner id1 werden Ergebnisdaten erzeugt, unter anderem eine Restart-Datei id1.res
- ein zweiter ADINA-Lauf mit dem Bezeichner id2 ist ein Restart-Lauf und benötigt die Datei id2.res. Das dieser Lauf ein Restart-Lauf ist, teilt man ADINA dadurch mit, dass man z.B. unter AUI unter Control --> Solution Process den Button Restart Analysis aktiviert.
Wir unterscheiden zwischen einem ADINA-Lauf unter der Oberfläche AUI und einem Start im Kommandomodus bzw. unter dem LoadLeveler bzw. NQS.
- Startet man den Lauf mit id2 unter der grafischen Oberfläche, so wird nach einer Restart-Datei gepromptet und ein File-Browser öffnet sich. Die Datei id1.res wird nach id2.res umkopiert.
- Startet man den Lauf id2 mittels des ADINA-Kommandos adina8.6 oder adinajob, so muß
- man den Kopiervorgang von id1.res nach id2.res vorher selber durchführen oder
- oder den Namen der Restartdatei über die Option -restart bzw. -r spezifizieren
6.2. Benutzerdefinierte Routinen
Als ADINA-Anwender kann man auch selber Elemente, Materialverhalten, Lasten definieren. Im ADINA-Installationsverzeichnis
- /opt/bwhpc/kit/cae/adina auf dem bwUniCluster
- entsprechend auf den eigenen Rechnern, auf denen ADINA installiert ist
gibt es für jedes ADINA-Modul ein Unterverzeichnis, in dem die Quelldateien ovl*.f, die Objektcodes in ovl*.o, die shared Library lib*.so und das ausführbare Programm *.exe liegt. Außerdem findet man dort, wichtig für die Erzeugung einer neuen shared Library, das Makefile.
Will man ein eigene userdefinierte Spezifikationen verwenden, muß man Fortran-Unterprogramme modifizieren oder ergänzen, die in einer der Dateien ovl*.f liegen, z.B. für ein eigenes viskoplastisches Materialgesetz die beiden Dateien ovl30u_vp1.f und ovl40u_vp1.f. In welcher, entnimmt man den Theory and Modeling Guides. Weitere Hinweise findet man in den Command Reference Manuals und in den Kommentaren der Programme. Man kopiert die ovl*.f, sowie die folgenden Objektfiles
- ovl100u.o, ovl110u.o, ovl160u.o, ovl170u.o, ovl20u.o, ovl30u.o, ovl40u.o ovl50u.o, ovl60u.0, ovlusr.o
- die Library libguide.so und
- das Makefile
in ein eigenes Verzeichnis, modifiziert die entsprechene Fortran-Routine und das Makefile und ruft
make oder gmake
auf. Wenn alles richtig läuft, wird im selben Verzeichnis eine neue shared Library erzeugt, die beim ADINA-Aufruf über die Optionen -lib bzw. -l referiert wird. Startet man ADINA unter der grafischen Oberfläche, gibt man das Verzeichnis im Menü nach Solution --> Settings ein.
Bei den anderen ADINA-Modulen geht man analog vor. Man kann sich einfach an dem jeweiligen Makefile orientieren:
- hinter der Variablen OBJS stehen dort alle Objektdateien, die in das eigene Verzeichnis kopiert werden müssen
- hinter den Variablen, die die User-Routinen bezeichnen (in unserem Beispiel MAT2D, MAT3D) stehen die Namen der zu erzeugenden Objektdateien (ovl30u_vp1.o, ovl40u_vp1.o).
7. Parallelisierung
Die aktuelle Lizenz lässt die Parallelverarbeitung von ADINA-Jobs zu, allerdings nur im DMP-Mode, d.h. der Job kann nur über die Prozessoren verteilt werden die auf einem Knoten liegen. Auf den Clustern des SCC heißt das
- bwUniCluster: 28/40 Prozessoren
Bei der Modellerstellung unter der grafischen Oberfläche geht man folgendermaßen vor:
- im Menü Control --> Solution Process --> Element Subgroups ... legt man zunächst fest, in wieviele Subgroups jede der Elementgruppen im Modell unterteilt werden soll
- in Minimum spezifiziert man die minimale Anzahl an Elementen, die eine Element Group haben soll, damit sie überaupt in Subgroups zerlegt wird
- in Maximum legt man fest, wieviele Elemente eine Subgroup maximal enthalten soll#
- im Startfenster unter Solution --> Run ADINA... --> Start werden im Feld Number of Processors die Anzahl angegeben. Dies macht auf den Clustern des SCC keinen Sinn. Hier wird die Anzahl der Threads über die Option -t bzw. -p beim Aufruf von adina8.7 bzw. adinajob spezifiziert.
Weitere Informationen findet man im ADINA Theory and Modeling Guide, Kap. 11. Hier findet man auch Informationen, was parallelisiert wird.
8. Literatur, Dokumentation und Beispiele
Allgemeine Literatur über die Finite-Elemente-Methode
- Bathe, K.J.:
Finite Element Procedures in Engineering Analysis
Prentice-Hall, 1982
(in der Universitätsbibliothek vorhanden)
Es gibt auch eine deutsche Übersetzung:
- Bathe, K.J.:
Finite-Element-Methoden
Springer-Verlag, 1986
ADINA Dokumentation
- ADINA User Interface Primer
- ADINA User Interface Users Guide
- ADINA User Interface
Command Reference Manual, Volume I: ADINA Model Definition
Command Reference Manual, Volume II: ADINA-T Model Definition
Command Reference Manual, Volume III: ADINA-F Model Definition
Command Reference Manual, Volume IV: Display Processing - ADINA System Release Notes
- ADINA Theory and Modeling Guide
- ADINA-T Theory and Modeling Guide
- ADINA-F Theory and Modeling Guide
- ADINA Verification Manual
Die Handbücher liegen als PDF-Dateien im Unterverzeichnis docs des Installationsverzeichnisses vor und können auch über die Online Hilfe geöffnet werden.
Beispieldatensätze
Unter dem Unterverzeichnis samples des Installationsverzeichnisses findet man die Beispiele, wie sie in den Verification Manuals, im AUI Users Guide und den Release Notes beschrieben sind.