| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Elementdeath via APDL (805 / mal gelesen)
|
LS96 Mitglied Maschinenbaustudent
Beiträge: 7 Registriert: 27.01.2021 Ansys WB 2021 R1
|
erstellt am: 21. Mrz. 2021 22:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, Ich komme aktuell bei der Bearbeitung meiner Masterarbeit nicht weiter. Ich möchte das Versagen einer Klebschicht mit der Elementdeath-Technik simulieren (Vergleichsspannung als Kriterium). Dazu gibt es online auch einige Beispielskripte. Das Folgende wollte ich in der Ansys WB implementieren: https://simutechgroup.com/performing-ekill-element-death-in-ansys-workbench-mechanical-model/ Leider ignoriert das Programm die Zeile mit dem nsel-Befehl (siehe Bild). In der solve.out-Datei steht hierzu "The requested data S is not available". Woran liegt das? Ich habe in der WB unter Analyses Settings alle Outputcontrols auf Yes gestellt. Muss ich an irgendeiner Stelle noch den Befehl "Outres,all,all" einfügen, um sicherzustellen, dass die Knotenspannungen in der db gespeichert werden (Habe dies eigentlich auch schon ausprobiert)? Ich habe auch das Elementverhalten auf Linear umgestellt (da Ansys wohl keine Mittelknotenspannungen speichert -> Fehlermeldung), leider jedoch ohne Erfolg... Der /config-Befehl wird ebenfalls ignoriert, da "The /CONFIG,NOELDB command is not valid in a Distributed ANSYS solution." (siehe zweites Bild). Vielen Dank im voraus für eure Hilfe! Bin APDL-Neuling und auch mein Betreuer findet keine Lösung LG Leon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clockworker Mitglied Berechnungsingenieur
Beiträge: 72 Registriert: 23.04.2009 Ansys 2020 R1 Win10 Xeon W-2155 @ 3.3 GHz 10 Kerne
|
erstellt am: 22. Mrz. 2021 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für LS96
Hallo LS96, ich hab den Verdacht, das hier noch ein Wechsel in den Postprocessor erfolgen muss bevor du die Spannungen bekommst. Plazier mal vor deinen nsel-Befehl den Wechsel zum Postprocessor
Code: /post1 nsel,r,s,eqv,230,2000000 ! <<<
Nach dem Wechsel in den solution-Teil /solu fehlt dann auch ein solve-Befehl. Code: /solu solve
EDIT: Den solve Befehl brauchst du nur wenn du das APDL-Skript als Schleife umsetzen möchtest. Wenn du das Skript in jedem Loadstep ausführen möchtest musst du im Step selection mode auf Einzelschritt wechseln und das Skript für jeden Lastschritt einfügen. Grüße clockworker [Diese Nachricht wurde von clockworker am 22. Mrz. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LS96 Mitglied Maschinenbaustudent
Beiträge: 7 Registriert: 27.01.2021 Ansys WB 2021 R1
|
erstellt am: 22. Mrz. 2021 22:23 <-- editieren / zitieren --> Unities abgeben:
Hallo clockworker, Danke für deine rasche Antwort. Ich habe mich heute mal ran gesetzt und versucht deine Tipps umzusetzen. Bei einem Wechsel in den Postprozessor in Kombination mit dem Befehl "set,previous/last" (bin mir unsicher, welchen LStep ich nehmen muss), kommt es tatsächlich zur Ausführung des nsel-Befehls. Ein Wechsel in den /Solu muss schon etwas früher vorgenommen werden, da ansonsten Befehle wie ekill nicht ausgeführt werden (sind nur solu-Befehle). Die Verwendung des Solve-Ausdruckes ist mir noch schleierhaft, da doch eigentlich nach Durchführung des Skriptes automatisch "gesolvt" wird? (siehe Bild 1 oben) Es entsteht jedoch ein neues Problem: Der Berechnungsablauf scheint in irgendeiner Weise gestört (siehe 2. Bild - "komisches"Konvergenzverhalten). Im Solve.out bleibt der Zähler (Z. 13 im Skript) für den LS immer bei 1 hängen.. (ist beim Vergleich der CP im zweiten Bild zu erkennen) Zu deinem Edit: Ich dachte wenn man den Step Selection Mode auf All stellt, wird praktisch für jede erste lineare Analyse des LS das Skript durchgeführt, wodurch eine Aufteilung auf alle einzelnen LS überflüssig wird. Habs trotzdem mal ausprobiert für jeden LS separat ein Commandeinzufügen -hat leider nix gebracht.. Ich könnte mir vielleicht auch vorstellen, dass durch das Ignorieren des /Config-Befehls für den ersten LS Daten in der db fehlen? LG Leon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clockworker Mitglied Berechnungsingenieur
Beiträge: 72 Registriert: 23.04.2009 Ansys 2020 R1 Win10 Xeon W-2155 @ 3.3 GHz 10 Kerne
|
erstellt am: 23. Mrz. 2021 08:10 <-- editieren / zitieren --> Unities abgeben: Nur für LS96
Hallo Leon, du hattest Recht, wenn im Step Selection Mode "All" steht wird das Skript bei jedem Loadstep ausgeführt und der "Solve" Befehl ist hier immer mit an Bord. Denn aktiven Loadstep hast du dir ja schon in "myncmls" geholt, d.h. den würde ich auch so setzen:
Code: set,myncmls
Du kannst noch versuchen die Loadstepnummer in jedem /solu Teil explizit vorzugeben und schauen ob sich das Verhalten ändert: zB Code: currentLS = myncmls + 1 time, currentLS
Funktioniert der ekill erwartungsgemäß? Grüße clockworker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LS96 Mitglied Maschinenbaustudent
Beiträge: 7 Registriert: 27.01.2021 Ansys WB 2021 R1
|
erstellt am: 28. Mrz. 2021 19:10 <-- editieren / zitieren --> Unities abgeben:
Hallo clockworker, ich habe nochmal versucht deine Tipps umzusetzen, leider bringt auch die Einführung deiner Befehle nicht den erwünschten Effekt. Im solve.out springt "mycnmls" immer zwischen 0 und 1 und das Kraftkonvergenzverhalten sieht auch untypisch aus.. Der ekill-Befehl funktioniert grundsätzlich, Elemente werden in Abhängigkeit der Auswahl gelöscht. Jedoch stimmt entweder die Vorauswahl nicht (nsel wird ignoriert) oder über den Prozessorwechsel (post/solve) wird das Lösungsverhalten massiv beeinflusst.. Ich habs auch nochmal mit diversen Befehlen zum Rausschreiben von Daten, etc. probiert (cmwrite, antype etc.), jedoch auch ohne Erfolg. Ich würde jetzt nochmal am Institut in anderen Abteilungen rumfragen, ob es jemanden gibt der mit der Thematik näher vertraut ist. Trotzdem zunächst Danke für deine Hilfe! Sobald es Neuigkeiten gibt melde ich mich. LG Leon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clockworker Mitglied Berechnungsingenieur
Beiträge: 72 Registriert: 23.04.2009 Ansys 2020 R1 Win10 Xeon W-2155 @ 3.3 GHz 10 Kerne
|
erstellt am: 30. Mrz. 2021 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für LS96
Hallo Leon, komisch, dass die Anzahl der Loadsteps nicht ausgelesen wird. Kurz noch mein Senf zum Konvergenzverhalten: Dadurch, dass der ekill numerisch fast eine Unstetigkeit ist, muss die Konvergenz etwas ungewohnt aussehen. Wichtig ist, dass insgesamt das Systemverhalten plausibel ist. clockworker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|