FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine...

Post on 29-Aug-2019

221 views 1 download

Transcript of FE-Berechnungen in der Geotechnik (SS 2012)aniem/dyd-zips/ABAQUS-CAE.pdf · ABAQUS/CAE ist eine...

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)

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

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.

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).

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

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

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

8Institut fürBodenmechanikund Felsmechanik

ABAQUS/CAE Hauptfenster

8

Hier kann ein Modulgewählt werden

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).

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']

11Institut fürBodenmechanikund Felsmechanik

Abaqus Scripting Interface

11

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

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):

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:

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.

16Institut fürBodenmechanikund Felsmechanik

Datentypen in Python

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

Float>>> pi = 3.14159

SequencesStringsListsTuplesArrays

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]

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.

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‘ ]

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

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

22Institut fürBodenmechanikund Felsmechanik

Steuerblöcke in Python

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

print i

01 2 34

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")

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.

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.