FE-Berechnungen in der Geotechnik (SS 2012)

Werbung
Institut für
Bodenmechanik
und Felsmechanik
FE-Berechnungen in der Geotechnik (SS 2012)
Kurzeinführung zu ABAQUS/CAE (ComputerAided Engineering)
C. Grandas and A. Niemunis
KIT – Universität des Landes Baden-Württemberg und
nationales Forschungszentrum in der Helmholtz-Gemeinschaft
www.kit.edu
Motivation
Für komplizierte FE Modelle kann das manuelle Erzeugen
einer Eingabedai (z.B. durch Texteditor) extrem mühsam
sein.
Institut für
Bodenmechanik
und Felsmechanik
2
Einleitung
ABAQUS/CAE ist eine grafische Oberfläche (GUI),
mit der man u.a.:
FE-Modelle für ABAQUS definiert
Jobs zum ABAQUS/Standard abschickt
Simulationergebnisse 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.
Institut für
Bodenmechanik
und Felsmechanik
3
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).
Institut für
Bodenmechanik
und Felsmechanik
4
CAE-Module*:
Part: Erstellen eines Modellteils (wie bei Maschinenbau,
nützlich für Kontakte, evtl. für das Kopieren)
Part = Muster, z.B. Part-1
Instanz = Kopie eines Parts, z.B.
Part-1-1
Part-1-2
Property: zum Definieren vom Material and Querschnitt
Assembly: um die Instanzen zusammen zu setzen
Module* = Sammlung von Tools für eine bestimmte Aufgabe
innerhalb des gleichen Programms
Institut für
Bodenmechanik
und Felsmechanik
5
CAE-Module Part und Assembly in Aktion:
Definition der Modellteile
(=mit Parts)
Reife
Karosserie
Institut für
Bodenmechanik
und Felsmechanik
Zusammensetzung der
Instanzen von Modellteilen
(=mit Assembly)
Karosserie-Instanz-1
Reife-Instanz-1
Reife-Instanz-2
6
Weitere CAE-Module:
Step: Definition des Belastugsschritts inkl. der Ausgabe
Interaction: Definition von Kontakten zwischen Instanzen
Load: 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-Netzes
Job:
Erstellung einer Eingabedatei für evtl. manuelle Nachbearbeitung
Einbindung von User-Subroutinen (z.B. UMAT)
Einreichen des Jobs zum ABAQUS-Standard
Visualization: Darstellung der Ergebnisse
Sketch: Erstellung von Skizzen für die Nachbearbeitung
von Parts
Institut für
Bodenmechanik
und Felsmechanik
7
ABAQUS/CAE Hauptfenster
Hier kann ein Modul
gewählt werden
Institut für
Bodenmechanik
und Felsmechanik
8
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).
Institut für
Bodenmechanik
und Felsmechanik
9
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']
Institut für
Bodenmechanik
und Felsmechanik
10
Abaqus Scripting Interface
Institut für
Bodenmechanik
und Felsmechanik
11
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
Institut für
Bodenmechanik
und Felsmechanik
12
So wird rpy-Datei parametrisiert:
Die Koordinaten des Eckpunkts der Probe (0.05, 0.1)
in der ursprünglichen rpy-Datei
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']
werden mit den Variablen r und h ausgedrückt (=parametrisiert):
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']
Institut für
Bodenmechanik
und Felsmechanik
13
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:
Institut für
Bodenmechanik
und Felsmechanik
14
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.
Institut für
Bodenmechanik
und Felsmechanik
15
Datentypen in Python
Integer
>>> i = 20
>>> j = 64
Float
>>> pi = 3.14159
Sequences
Strings
Lists
Tuples
Arrays
Institut für
Bodenmechanik
und Felsmechanik
16
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]
Institut für
Bodenmechanik
und Felsmechanik
17
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.
Institut für
Bodenmechanik
und Felsmechanik
18
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‘ ]
Institut für
Bodenmechanik
und Felsmechanik
19
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
Institut für
Bodenmechanik
und Felsmechanik
20
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 * length
print load
Institut für
Bodenmechanik
und Felsmechanik
21
Steuerblöcke in Python
For Blöcke
>>> for i in range(5):
print i
0
1
2
3
4
Institut für
Bodenmechanik
und Felsmechanik
22
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.
import math
import os
var = raw_input("Radius of the circle= ")
area = math.pi*float(var)**2
f = 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")
Die Ausführung erfolgt in einem DOS-Fenster mit dem Befehl
Institut für
Bodenmechanik
und Felsmechanik
23
Struktur in der Input Information in Abaqus CAE
Abaqus verschafft Ordnung für die Input und
Output Information.
Alle Input Information des AnfangsRandwertproblems 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.
Institut für
Bodenmechanik
und Felsmechanik
24
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.
Institut für
Bodenmechanik
und Felsmechanik
25
Herunterladen