Die Erstellung eines neuen Berechnungsmodells in Abaqus/CAE erfordert in der Regel wiederkehrende Definitionen, wie etwa die Definition eines Materials mit entsprechender Section, wie die Anforderung von Field- und History-Output, wie Step-Definitionen, Reibungseigenschaften und vieles mehr.
Um nicht bei jedem neuen Modell wiederkehrende Definitionen durchführen zu müssen, kann man sich mit Hilfe dieses Beitrags auf einfache Weise ein Plugin erzeugen, welches entsprechende Definitionen per Knopfdruck durchführt. Somit kann langweilige und langwierige Arbeit eingespart werden.
Das folgende Beispiel zeigt exemplarisch, wie ein solches Plugin mit Hilfe des RSG Dialog Builders erstellt wird.
Der RSG Dialog Builder stellt ein einfaches Mittel zur Erzeugung von Plugins in Abaqus/CAE dar. Hierbei besteht der RSG Builder aus zwei Teilen, das GUI und das ausführende Script im Kernel von Abaqus/CAE. In diesem Beispiel wird das GUI manuell erzeugt. Für die Erstellung des Scriptes verwenden wir zum großen Teil den Macro Recorder. Zum RSG Dialog Builder haben wir noch einen Beitrag zur automatischen Erzeugung von Schrauben-Parts .
Will man mit dem QuickStart Plugin Namen oder Werte definieren, so benötigt man eine Liste der möglichen Variablen. In dem vorliegenden Beispiel sollen 2 Materialien mit Sections, sowie 2 Steps mit entsprechendem Anfangs-Zeitinkrementen sowie Ausgaben für einen Field und einen History Plot definiert werden.
Es ergibt sich folgende Liste an Variablen
- SN = Materialname Stahl
- ES = E-Modul Stahl
- NueS = Querkontraktionszahl Stahl
- DS = Dichte Stahl
- AS = Dehnungskoeffizient Stahl
- SSt = Sectionname Stahl
- AN = Materialname Alu
- EA = E-Modul Alu
- NueA = Querkontraktionszahl Alu
- DA = Dichte Alu
- AA = Dehnungskoeffizient Alu
- SAL = Sectionname Alu
- SN1 = Name Step 1
- IncS1 = Inkrement Step1
- SN2 = Name Step 2
- IncS2 = Inkrement Step 2
- IP1 = Interaction Property Name
- FR = Reibwert für Interaction
- FO = Name für Field Output
- HO = Name für History Output
bzw. alle Variablen in einer Zeile
- SN,ES,NueS,DS,AS,SSt,AN,EA,NueA,DA,AA,SAL,SN1,IncS1,SN2,IncS2,IP1,FR,FO,HO
Die Liste dient hier nur als Beispiel.
Der RSG Dialog Builder besteht aus 2 Teilen – das GUI und das auszuführende Script. Nach dem Öffnen des RSG Dialog Builders, siehe Bild unten links, wird das GUI unter dem Reiter GUI angeboten, siehe Bild unten rechts, die Definitions des Scriptes unter dem Reiter Kernel. In diesem Abschnitt erstellen wir das GUI.
Für die Dialog Box sollte man einen Titel definieren. Der aktivierte Show dialog in test mode liefert eine Live-Ansicht des GUIs.
In diesem Beispiel arbeiten wir nur mit dem Tab Book, dem Tab und dem Text Field.
Bei der Erstellung des GUI starten wir mit einem Tab Book, in welchem wir alle Definitionen über Tabs sortieren wollen. Innerhalb eines Tabs arbeiten wir nur mit Text Feldern. Dabei entspricht der Text der oben definierten Beschreibung einer Variable, der Type hier einem String für einen Namen oder einem Float für einen Wert, das Keyword den oben vereinbarten Variablen und Default der Bezeichnung oder dem Wert beim Aufruf des Plugins. Hierbei sollte man direkt die korrekten Werte und Namen verwenden, da diese dauerhaft im Plugin gespeichert werden.
Das fertige GUI mit allen Eingaben sieht dann so aus. Die Tabs liefern eine bessere Übersichtlichkeit.
Bei der Erstellung des Scriptes wollen wir den Macro Recorder verwenden. So sparen wir uns das Studium der Handbücher zum Customization von Abaqus/CAE.
Folgende Arbeitsschritte werden durchgeführt:
- Starten von Abaqus/CAE mit der Auswahl des Create Model Database with Standard/Explicit Model
- Starten des Makrorecorders
- Erstellen der Materialdaten (hier Stahl und Aluminium) sowie die dazugehörigen Sections, Defintion der Steps, Kontakteinstellungen, Field- und History Output
- Schließen des Makrorecorders
Der Makrorecorder erzeugt im Arbeitsverzeichnis zwei Dateien mit den Namen abaqus1.rec und abaqusMacros.py. Der Inhalt wird akkumuliert, daher wird empfohlen, eine bereits bestehende Datei dieses Namens zu löschen, damit der Inhalt ausschließlich den für das Skript erforderlichen Python Code enthält.
Nun kann die Datei abaqusMacros.py mit dem Editor geöffnet werden. Hier wird der Editor Notepad++ zum Editieren und Bearbeiten verwendet, siehe [1]. Hier wird die Funktion QuickStart für das Skript definiert. Sie enthält noch keine Parameter/Keywords und muss nun gefüllt werden. Der Rest dieses Blocks wird übernommen, auch wenn er Module aufruft, die für das Skript nicht benötigt werden. Es wird empfohlen, diese Datei unter einem neuen Namen zu speichern, z.B. QuickStart.py.
Beim Editieren der Funktion sind ein paar Python, [2], Kenntnisse hilfreich. Sie können aber auch uns kontaktieren. Wir unterstützen gerne.
Es dient der Vereinfachung der Skripte, wenn man Platzhalter verwendet. Hier führen wir einen Platzhalter für das gerade verwendete Fenster in Abaqus/CAE (Viewport genannt) und dem Model ein. Bei Start von Abaqus/CAE ohne Aufruf einer bestehenden .cae-Datei sind das üblicherweise ‚Viewport: 1‘ und ‚Model-1‘.
Wenn Sie die beiden Zeilen
- VN = session.currentViewportName
- MN = session.sessionState[VN][‚modelName‘]
wie im Bild angezeigt dem Skript hinzufügen, dann können Sie alle weiteren Vorkommen von ‚Viewport: 1‘ durch VN und alle Vorkommen von ‚Model-1‘ durch MN ersetzen. Sollten Sie einen anderen Modellnamen verwendet oder einen weiteren Viewport geöffnet haben, bevor Sie den MacroRecorder gestartet hatten, so ersetzen Sie bitte entsprechend.
Nun sollten noch die Variablen ins Script eingebaut werden.
In einem ersten Schritt sollen beim Aufruf der Funktion alle Variablen übergeben werden. Dazu fügt man die obige Zeile mit den Variablen in die leere Klammer hinter def QuickStart() ein.
Dann werden alle Einträge der Variablen in dem Script durch die Variablen selbst ersetzt. So hier im Bild unten der Modellname ‚Model-1‘ durch MN, der Name ‚Stahl‘ durch SN, ‚Alu‘ durch AN, die Werte der E-Moduli durch die Variablen ES und EA, usw..
Nun wird das fertige Script im RSG Dialog Builder im Reiter Kernel über die Datei öffnen Funktion eingefügt. Hierbei wird das Feld Module automatisch ausgefüllt, es muss aber die Funktion ausgewählt werden, da Scripts grundsätzlich mehrere Funktionsträger-Definitionen enthalten können.
Es empfiehlt sich, während der Arbeit an dem eigenen QuickStart Plugins dieses in dem Arbeitsverzeichnis zu speichern. So wird das Plugin nur dann geladen, wenn Abaqus aus diesem Arbeitsverzeichnis heraus gestartet wird.
Erst das fertige Plugin sollte dann so gespeichert werden, daß es beim Aufruf von Abaqus immer geladen wird. Das ist an 2 Orten der Fall.
Speichern Sie das Plugin ins Home Verzeichnis eines Benutzers, so wird das Plugin für diesen Benutzer bei jedem Aufruf von Abaqus geladen.
Es gibt aber auch die Möglichkeit, das Plugin in einem zentralen Verzeichnis für mehrere Benutzer zu speichern. Dieses Zentralverzeichnis wird in der abaqus_v6.env Datei über den Eintrag
plugin_central_dir=“C:\\Simulia\\CAE\\plugins\\2020″
zu definieren. Hier wird das Verzeichnis verwendet, welches per Default während der Installation eingerichtet wird. Die abaqus_v6.env Datei liegt im Home-Verzeichnis eines Benutzers oder im Arbeitsverzeichnis. Der Eintrag kann bei zentralen Installationen für mehrere Benutzer auch zentral erfolgen. Hierzu aber mehr in einem eigenen Wiki.
Zwischenstände der Erstellung des eigenen QuickStart Plugins sollte man im Arbeitsverzeichnis speichern. Will man an einem Zwischenstand weiter arbeiten, so verwendet man den Datei Öffnen Dialog zum Laden des Zwischenstandes in den RSG Dialog Builder.
Im Handbuch sucht man vergeblich nach einer Einführung in den RSG Dialog Builder. Eine kurze Einführung findet sich im RSG Dialog Builder über den Wecker-Button, welcher direkt unter dem Reiter GUI liegt.
Der RSG Dialog Builder bietet im Zusammenspiel mit dem Macro Recorder die Möglichkeit, Dialoge zu erstellen, welche die Arbeit mit Abaqus/CAE effizienter gestalten. Hierzu sind weitreichende Kenntnisse des Customization und des Scriptings mit Python nicht notwendig.
Hier haben wir gezeigt, wie man mit wenig Aufwand ein Script erstellt, welches wiederkehrende Definitionen zu Beginn eines neuen Modells in Abaqus/CAE mit einem Click durchführen können.
Gerne unterstützen wir Sie bei der Erstellung Ihres QuickStart Plugins. Kontaktieren Sie uns.
Zum Teil basiert der vorliegende Text und gezeigter Abbildungen auf der Recherche ausgewerteter Literatur. Ist dies der Fall, so werden die Quellen im Text durch eine Zahl, z.B. [2], gekennzeichnet und die Quelle hier aufgeführt.
Zum Teil sollen die hier aufgeführten Quellen aber auch einfach nur als Empfehlung weiterführender Literatur verstanden werden.