| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | Erfolgreich unterwegs mit der KISTERS 3DViewStation, ein Whitepaper
|
Autor
|
Thema: Abbruchkriterium (2665 mal gelesen)
|
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 27. Nov. 2013 09:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo alle zusammen! Ich arbeite erst seit kurzem mit Abaqus. Derzeit simuliere ich verschiedene Probengeometrien im Nakajima Versuch. Die Versagenszeitpunkte unterscheiden sich je nach Probe sehr stark, daher muss ich immer eine relativ hohe "Time period" einstellen. Nach dem Versagenszeitpunkt verformen sich die Elemente im mittleren Bereich dann sehr stark, was zu einer hohen Rechenzeit führt. Dies möchte ich aber vermeiden, da mich nur die Simulation bis zum Versagenszeitpunkt interessiert! Gibt es eine Möglichkeit ein Abbruchkriterium der Form "Breche ab, wenn die Elementkantenlänge eines Elements das x-fache seines Ausgangswerts erreicht hat"? Wäre für eure Tipps wirklich dankbar! Viele Grüße yorki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
slein89 Mitglied
 
 Beiträge: 139 Registriert: 30.04.2012
|
erstellt am: 27. Nov. 2013 13:00 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
Mein Tip (selber noch nicht probiert): Schau dir den Befehl *EXTREME ELEMENT VALUE an (steht nur bei Explizit zur Verfügung). Damit kannst du eine Rechnung abbrechen, sobald ein bestimmter Grenzwert in einem Element überschritten wird. Mögliche Größen, die als Grenzwert dienen, findest du unter: http://abaqus.ethz.ch:2080/v6.11/books/usb/default.htm?startat=pt02ch04s02xbv01.html#usb-out-hfileoutputvar So eine Größe wie die Streckung der Elementkanten müsstest du dir selber definieren. Als Möglichkeiten sehe ich dafür eine Solution Dependent Variable (SDV) oder eine Feld Variable (FV) zu definieren. Die SDV wirst du wohl nur über die Userroutine VUMAT und die FV über VUFIELD bestimmen können. Das sind aber nur Ideen und ich habe das selber noch nie gemacht. Der Vefehl *EXTREME ELEMENT VALUE funktioniert aber. Das habe ich schon getestet. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 27. Nov. 2013 15:29 <-- editieren / zitieren --> Unities abgeben:         
Erstmal vielen Dank Slein89 für die schnelle Antwort. Deinen Link konnte ich leider nicht öffnen. Daher habe ich selbst mal im Abaqus Manual nach *EXTREME ELEMENT VALUE gesucht. Bisher habe ich nun folgende Zeilen erstellt: *EXTREME VALUE, HALT=YES *EXTREME ELEMENT VALUE, ELSET monitor, MAX PE11, 1 Aufgrund der ersten Zeile sollte Abaqus die Simulation beenden, sobald das nachfolgende Kriterium erfüllt ist. Nun habe ich im Set "monitor" die Elemente zusammengefasst, welche überwacht werden sollen. Wenn in einem dieser Elemente PE11 den Wert 1 überschreitet soll die Simulation abbrechen. Kann mir jemand sagen ob ich mir das soweit richtig gedacht habe? Außerdem bin ich mir nicht sicher an welcher Stelle ich die zwei Zeilen in die Input Datei einfügen muss. Im Manual ist nur "Level: Step" vermerkt! Vorab vielen Dank! yorki
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 3585 Registriert: 04.08.2005 Abaqus
|
erstellt am: 27. Nov. 2013 15:32 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
In A/Standard ist wohl die UAMP der einfachste Weg eine Analyse zu stoppen. Wenn dabei eine Elementkantenlänge verwendet werden soll, könnte man einfach einen Connector an die zwei Knoten hängen und dessen Länge oder Relativverschiebung als Sensorwert durch die UAMP schleifen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 27. Nov. 2013 16:36 <-- editieren / zitieren --> Unities abgeben:         
|
Mustaine Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 3585 Registriert: 04.08.2005 Abaqus
|
erstellt am: 27. Nov. 2013 17:11 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
|
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 28. Nov. 2013 11:23 <-- editieren / zitieren --> Unities abgeben:         
Mir ist leider auch noch nicht klar an welcher Stelle im Input File ich die zwei Zeilen einfügen muss. Bin CAE User und benötige daher euren Rat! Im Anhang ist ein Screenshot meiner Input-Datei zu sehen. Habe den Befehl an diese Stelle kopiert, da im User Manual "Level: Step" steht. Mach ich hier was falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
slein89 Mitglied
 
 Beiträge: 139 Registriert: 30.04.2012
|
erstellt am: 29. Nov. 2013 07:56 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
Das sollte passen. Ich habe es bei mir damals einfach vor "*END STEP" geschrieben, aber das läuft aufs gleiche hinaus. Du sagst du bist CAE User. Wie trägst du diese zwei Zeilen ins INPUT File ein? Richtig wäre entweder die *.INP datei zu öffnen und den Job anschließend über die Konsole zu starten ODER in CAE Rechtsklick auf dein Modell--> Edit Keywords und dort die zwei Zeilen hinzufügen. Anschließend kannst du normal von CAE aus den Job starten. Solltest du die *.INP Datei manipulieren und den Job von CAE aus starten, wird ja jedes mal eine neue *.INP erzeugt, welche dann nicht die Befehle enthält. Hast du den Job schon mal abgefeuert? Kommt eine Warnung oder Fehlermeldung oder rechnet ABAQUS einfach durch? Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 29. Nov. 2013 10:25 <-- editieren / zitieren --> Unities abgeben:         
Ich lasse mir die .INP Datei von CAE erzeugen, öffne diese dann im Editor und ergänze die zwei Zeilen manuell. Danach starte ich die Simulation über eine .bat Datei mit folgendem Befehl: call abaqus j=Streifenm_Abbruchk_EndStep CPUS=4 interactive Dann bricht die Rechnung aber direkt zu Beginn ab. Habe die zwei Zeilen auch schon an verschiedenen Stellen in das Input File eingefügt, komme jedoch zu keiner Lösung.... Hat jemand von euch eine Idee wie ich die Simulation gangbar bekomme? Vielen Dank vorab! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
slein89 Mitglied
 
 Beiträge: 139 Registriert: 30.04.2012
|
erstellt am: 29. Nov. 2013 11:24 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
Du schreibst glaube ich auch eine Zeile zu wenig. Probier mal: Code:
*EXTREME VALUE, HALT = YES *EXTREME NODE VALUE, NSET = monitor, MAX PE11, 1
Ansonsten bitte mal ins *.log und *.dat file schauen und die Fehlermeldung hier schreiben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 02. Dez. 2013 15:01 <-- editieren / zitieren --> Unities abgeben:         
Ich habe deine Variante ausprobiert. Leider läuft die Simulation immernoch nicht. Eine *.log bzw *.dat Datei erzeugt mir Abaqus nicht. Der Solver bricht immer direkt nach dem Start ab. Wenn ich die drei Zeilen aus dem Input File raus nehme funktioniert alles wunderbar! Habe im Anhang mal meine Input Datei hinzugefügt. Hier habe ich zu Testzwecken die Verschiebung eines Knotens in 1-Richtung als Abbruchkriterium benutzt. Wäre euch super dankbar wenn ihr euch das mal anschauen könntet! Viele Grüße yorki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hempres Mitglied

 Beiträge: 84 Registriert: 30.06.2008
|
erstellt am: 02. Dez. 2013 17:58 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
Schau doch mal ins *.dat file. Kann ja auch gar nicht funktionieren. Das Nset für monitor an die korrekte Stelle und schon läuft es. Sowas kommt dann raus: ODB Field Frame Number 14 of 100 requested intervals at 1.400008E+00 12892 1.500E+00 1.500E+00 00:01:17 1.007E-04 1698 2.024E+01 1.534E-01 4.631E+07 INSTANCE WITH CRITICAL ELEMENT: PROBE-1 ODB Field Frame Number 15 of 100 requested intervals at 1.500036E+00 13886 1.600E+00 1.600E+00 00:01:22 1.006E-04 1576 2.179E+01 -1.190E-01 4.631E+07 INSTANCE WITH CRITICAL ELEMENT: PROBE-1 ODB Field Frame Number 16 of 100 requested intervals at 1.600045E+00 14880 1.700E+00 1.700E+00 00:01:26 1.006E-04 407 2.193E+01 -2.947E-01 4.631E+07 INSTANCE WITH CRITICAL ELEMENT: PROBE-1 ODB Field Frame Number 17 of 100 requested intervals at 1.700054E+00 Variable U1 violated the extreme value criterion at node 1 at the end of increment 14935. The current value of the variable is 1.0001 in nset ASSEMBLY_MONITOR EXTREME VALUE MONITORING INFORMATION FOR STEP 1 ------------------------------------------------------------------------------ VARIABLE ELEMENT SET/ ELEMENT/NODE EXTREME GLOBAL TIME NODE SET LABEL VALUE OCCURRED(STEP) ------------------------------------------------------------------------------
U1 ASSEMBLY_MONITO 1 1.0002 1.706E+00( 1) ------------------------------------------------------------------------------ 14936 1.706E+00 1.706E+00 00:01:26 1.006E-04 1545 2.206E+01 -3.014E-01 4.631E+07 INSTANCE WITH CRITICAL ELEMENT: PROBE-1 Restart Number 1 at 1.7057 A special ODB Field Frame for extreme value output was written at 1.705688E+00 THE ANALYSIS HAS COMPLETED SUCCESSFULLY Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
slein89 Mitglied
 
 Beiträge: 139 Registriert: 30.04.2012
|
erstellt am: 03. Dez. 2013 08:29 <-- editieren / zitieren --> Unities abgeben:          Nur für yorki
Um es noch mal klar festzuhalten . . . wenn Abaqus "einfach abbricht" wird in der Regel immer in einer der zahlreichen Dateien ein Fehler ausgegeben. In deinem Fall kannst du der *.dat entnehmen, dass das Knotenset Assembly_Monitor nicht definiert wurde. Du hast dieses Knotenset nur auf der Partebene eingeführt. Also definierst du entweder in der Assembly Ebene: Code:
*Nset, nset=monitor, instance=Probe-1 1,
oder schreibst stattdessen bei dem Abbruchbefehl: Code:
*EXTREME NODE VALUE, NSET=Probe-1.monitor, MAX
Beides läuft auf das gleiche hinaus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 03. Dez. 2013 10:41 <-- editieren / zitieren --> Unities abgeben:         
Super jetzt funktioniert es! Vielen Dank für eure Geduld! Hab jetzt schon wieder einiges dazu gelernt! Leider habe ich festgestellt, dass man die Simulationen mit diesem Befehl nicht auf mehreren CPUS gleichzeitig laufen lassen kann, zumindest bricht die Simulation sonst ab.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yorki Mitglied

 Beiträge: 10 Registriert: 08.11.2013
|
erstellt am: 10. Dez. 2013 11:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen! Ich habe doch nochmal eine Frage zu der Funktion *Extreme Element. Bisher funktionierte Dank eurer Hilfe alles super. Wenn ich jedoch die Simulation auf 4 Prozessoren laufen lassen will bricht der Solver kurz nach dem Start ab. Stelle ich diese Funktion aus läuft alles wunderbar. Gibt es eine Möglichkeit dieses Problem zu beheben? ich wäre euch sehr Dankbar wenn ihr mir weiter helfen könnet!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |