fe-berechnungen in der geotechnik (ss 2012)aniem/dyd-zips/abaqus-cae.pdf · abaqus/cae ist eine...
TRANSCRIPT
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.