25
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Institut für Bodenmechanik und Felsmechanik Kurzeinführung zu ABAQUS/CAE (Computer- Aided Engineering) C. Grandas and A. Niemunis FE-Berechnungen in der Geotechnik (SS 2012)

FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

Embed Size (px)

Citation preview

Page 1: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Institut fürBodenmechanik

und Felsmechanik

Kurzeinführung zu ABAQUS/CAE (Computer-Aided Engineering)C. Grandas and A. Niemunis

FE-Berechnungen in der Geotechnik (SS 2012)

Page 2: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

2Institut fürBodenmechanikund Felsmechanik

Motivation

Für komplizierte FE Modelle kann das manuelle Erzeugen einer Eingabedai (z.B. durch Texteditor) extrem mühsam sein.

2

Page 3: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

3Institut fürBodenmechanikund Felsmechanik

3

Einleitung

ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.:

FE-Modelle für ABAQUS definiertJobs zum ABAQUS/Standard abschicktSimulationergebnisse darstellt

ABAQUS/CAE ist in Module aufgeteilt. Jedes Modul dient einem Aspekt der Modellierung.Modul ist ein Teil des CAE-Programms und nicht des FE-Modells.

Page 4: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

4Institut fürBodenmechanikund Felsmechanik

Einleitung

ABAQUS/CAE kann auch eine Eingabedatei (*.inp) erzeugen, die mit einem Text-Editor nachgearbeitet werden kann.ABAQUS/CAE ermöglicht auch die Ausgabedatei (*.odb) zu öffnen und die Ergebnisse darzustellen (wie ABAQUS/Viewer).

Page 5: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

5Institut fürBodenmechanikund Felsmechanik

CAE-Module*:

Part: Erstellen eines Modellteils (wie bei Maschinenbau, nützlich für Kontakte, evtl. für das Kopieren)

Part = Muster, z.B. Part-1Instanz = Kopie eines Parts, z.B.

Part-1-1Part-1-2

Property: zum Definieren vom Material and QuerschnittAssembly: um die Instanzen zusammen zu setzen

5

Module* = Sammlung von Tools für eine bestimmte Aufgabe innerhalb des gleichen Programms

Page 6: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

6Institut fürBodenmechanikund Felsmechanik

CAE-Module Part und Assembly in Aktion:

6

Reife

Karosserie

Definition der Modellteile (=mit Parts)

Zusammensetzung der Instanzen von Modellteilen(=mit Assembly)

Karosserie-Instanz-1

Reife-Instanz-1 Reife-Instanz-2

Page 7: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

7Institut fürBodenmechanikund Felsmechanik

Weitere CAE-Module:

Step: Definition des Belastugsschritts inkl. der Ausgabe Interaction: Definition von Kontakten zwischen InstanzenLoad: Definition von Lasten und Randbedingungen. Sie werden auf geometrische Objekte (z.B. Flächen, Seiten einer Instanz) und nicht auf das Netz bezogen! Mesh: Definition des FE-NetzesJob:

Erstellung einer Eingabedatei für evtl. manuelle Nachbearbeitung Einbindung von User-Subroutinen (z.B. UMAT) Einreichen des Jobs zum ABAQUS-Standard

Visualization: Darstellung der ErgebnisseSketch: Erstellung von Skizzen für die Nachbearbeitung von Parts

7

Page 8: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

8Institut fürBodenmechanikund Felsmechanik

ABAQUS/CAE Hauptfenster

8

Hier kann ein Modulgewählt werden

Page 9: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

9Institut fürBodenmechanikund Felsmechanik

Aufgabe 1: axiale Kompression (Triaxialversuch)

Die axiale Kompression einer Probe wird simuliert. Die Probe wird mit einem axialsymmetrischen Modell repräsentiert. Das Modell soll mit Hilfe von ABAQUS/CAE erstellt werden. Das Materialverhalten sei zunächst linear-elastisch mit E = 2.1e+08 und ν = 0.29. Die Anfangsspannung sei isotrop σ1= σ2 = -100 kPa. Die Inkrementierung der vorgegebenen axialen Verschiebung von ε2= 10 % soll automatisch erfolgen: das Anfangsinkrement sei 0.01, das größte bzw. kleinste Inkrement betrage 0.001 bzw. 0.5. Die Endplatten sind rau (keine relative Verschiebung zwischen Probe und Platten möglich).

Page 10: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

10Institut fürBodenmechanikund Felsmechanik

Abaqus-Skriptsprache

Jedes „Klicken“ in CAE wird in Form eines Python-Befehls in einer Replay-Datei (*.rpy) intern gespeichert. Die Replay-Datei kann entweder neu eingelesen werden (z.B. nach einem Abbruch des CAE-Programms) oder mit einem externen Texteditor bearbeitet und für ein anderes Modell verwendet werden.Z.B. ein Ausschnitt aus Replay-Datei von Aufgabe 1 ist:

s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))s.FixedConstraint(entity=g[2])s.rectangle(point1=(0.0, 0.0), point2=(0.05, 0.1))p = mdb.models['Model-1'].Part(name='Part-1',

dimensionality=AXISYMMETRIC, type=DEFORMABLE_BODY)p = mdb.models['Model-1'].parts['Part-1']

Page 11: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

11Institut fürBodenmechanikund Felsmechanik

Abaqus Scripting Interface

11

Page 12: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

12Institut fürBodenmechanikund Felsmechanik

Abaqus-Skriptsprache

Man kann die rpy-Datei mit einem Text-Editor parametrisieren.Damit kann man den Einfluss von Geometrie der Probe (r und h) auf die Verformung des Materiales in einem Triaxialversuch leicht testen.

h

r

Page 13: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

13Institut fürBodenmechanikund Felsmechanik

So wird rpy-Datei parametrisiert:

s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))s.FixedConstraint(entity=g[2])s.rectangle(point1=(0.0, 0.0), point2=(0.05, 0.1))p = mdb.models['Model-1'].Part(name='Part-1',

dimensionality=AXISYMMETRIC, type=DEFORMABLE_BODY)p = mdb.models['Model-1'].parts['Part-1']

r = 0.05 # Radius (Parameter)h = 0.1 # Höhe der Probe (Parameter)s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))s.FixedConstraint(entity=g[2])s.rectangle(point1=(0.0, 0.0), point2=(r, h))p = mdb.models['Model-1'].Part(name='Part-1',

dimensionality=AXISYMMETRIC, type=DEFORMABLE_BODY)p = mdb.models['Model-1'].parts['Part-1']

Die Koordinaten des Eckpunkts der Probe (0.05, 0.1) in der ursprünglichen rpy-Datei

werden mit den Variablen r und h ausgedrückt (=parametrisiert):

Page 14: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

14Institut fürBodenmechanikund Felsmechanik

Einführung zu Python

Python ist eine Interpreter-Programmiersprache (keine Kompilierung möglich).Python ist eine objekt-orientierte (OO-) Sprache.

Objekt = verkapselte Daten (members, möglicherweise mit anderen Objekten) + Funktionen (methods)

Ein stand-alone Python-Interpreter (mit libraries and Dokumentation) ist unter www.python.org frei verfügbar ! CAE besitzt ein eigenes, integriertes Python-Interpreter:

Page 15: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

15Institut fürBodenmechanikund Felsmechanik

Syntax der Python-Sprache

Python unterscheidet zwischen Groß- und Kleinschreibweise (im Gegensatz zu Fortran).Variablen werden nicht deklariert (im Gegensatz zu C, Pascal, Java).Einrückungen trennen die Sprachstrukturen (statt begin…end oder { } ) Erweiterung der Python Skriptdateien ist *.py.end-of-line Kommentare fangen mit # an.

Page 16: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

16Institut fürBodenmechanikund Felsmechanik

Datentypen in Python

Integer>>> i = 20 >>> j = 64

Float>>> pi = 3.14159

SequencesStringsListsTuplesArrays

Page 17: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

17Institut fürBodenmechanikund Felsmechanik

Datentypen in Python (Sequences)

List: veränderbare heterogene Sequenz >>> myList = [7,6.0,‘Hallo‘,4]

Das Objekt ‚List‘ hat seine eigene Methoden, z.B.>>> myList [1, 9, 3] >>> myList.append(33) >>> myList [1, 9, 3, 33]

Page 18: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

18Institut fürBodenmechanikund Felsmechanik

Datentypen in Python (Sequences)

Tuple: unveränderbare heterogene Sequenz>>> myTuple = (7,6.0,‘Hallo‘,4)>>> myTuple = Tuple( [1, 9, 3] )

Das Objekt ‚Tuple‘ hat keine Methode.

Page 19: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

19Institut fürBodenmechanikund Felsmechanik

Datentypen in Python (Sequences)

String: unveränderbare homogene Sequenz>>> myString= ‘Hallo‘>>> myString = ‘Hallo‘ + ‘ Python‘

Das Objekt ‚String‘ hat eigene Methode, z.B.>>> myString.split() [‘Hallo‘, ‘Python‘ ]

Page 20: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

20Institut fürBodenmechanikund Felsmechanik

Datentypen in Python (Dictionary)

Veränderliche Tabelle mit Objectreferenz.>>> myPart = {} #Create an empty dictionary>>> myPart['height'] = 3.0 >>> myPart['width'] = 6.0 >>> myPart['color'] = 'Red'

In gegensatz zu Sequenzen erfolgt der Zugriff durch den Schlüssel und nicht über die Position.>>> aspect = myPart['height'] / myPart['width'] >>> aspect>>> 0.5

Page 21: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

21Institut fürBodenmechanikund Felsmechanik

Steuerblöcke in Python

Python verwendet Einrückung um Steuerblöcke zu begrenzen.If Blöcke>>> load = 10 >>> if load > 6.75:

print 'Reached critical load'

While Blöcke>>> load = 10 >>> length = 3 >>> while load < 1E4:

load = load * lengthprint load

Page 22: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

22Institut fürBodenmechanikund Felsmechanik

Steuerblöcke in Python

For Blöcke>>> for i in range(5):

print i

01 2 34

Page 23: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

23Institut fürBodenmechanikund Felsmechanik

Beispiel einer Python Skriptdatei (ohne Abaqus)

Das Skript kann mit einem Texteditor geschrieben werden und unter den Namen „bsp.py“ (in z.B „C:\Temp“) gespeichert.

Die Ausführung erfolgt in einem DOS-Fenster mit dem Befehl

import mathimport osvar = raw_input("Radius of the circle= ")area = math.pi*float(var)**2f = open('result.txt', 'w')line = "The area of the circle is " + str(area)f.write(line)f.close()os.system("C:\WINDOWS\system32\\notepad.exe result.txt")

Page 24: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

24Institut fürBodenmechanikund Felsmechanik

Struktur in der Input Information in Abaqus CAE

Abaqus verschafft Ordnung für die Input und Output Information.

Alle Input Information des Anfangs-Randwertproblems werden im Abaqus in einer gemeinsamen Struktur (database = model) aufbewahrt. Nur die Einträge werden sich unterscheiden (oder leer bleiben)

Durch die input (zB. via CAE) verändern wir den Inhalt der einzelnen Einträge/Felder (=Objekte=containers) des models.

Die containers können ebenfalls eine komplizierte baumartige Struktur haben.

Page 25: FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine grafische Oberfläche (GUI), mit der man u.a.: FE-Modelle für ABAQUS definiert Jobs

25Institut fürBodenmechanikund Felsmechanik

Struktur der Output Information in Abaqus CAE (View)

Ergebnisse aus Abaqus werden in einer fest definierten Struktur (output database= odb) geschrieben. Nur die Einträge (Inhalte) werden sich unterscheiden (oder leer bleiben), abhängig vom Output aus der Abaqus Berechnung.

Einige Einträge (=Objekte=containers) in der odb können evtl. vervielfacht werden(z.B. step, frame)

Die containers können ebenfalls eine komplizierte baumartige Struktur haben.