| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | | | CADFEM Conference im April 2024 in Darmstadt: Vorläufiges Tagungsprogramm liegt vor, eine Pressemitteilung
|
Autor
|
Thema: Ungemittelte Knotenpunktergebnisse (Elementergebnisse)verarbeiten (307 / mal gelesen)
|
Thomas1989 Mitglied
Beiträge: 4 Registriert: 25.08.2024 Ansys APDL / WB 2021
|
erstellt am: 25. Aug. 2024 16:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte für jeden Knotenpunkt die entsprechenden ungemittelten Ergebnisse auslesen. mit PRESOL bekommt man diese je Element mit den Knotennummer aufgelistet. Ich möchte genau das, aber in einem Array zur Weiterverarbeitung.
Mit einer Schleifenverschachtelung kann ich über alle Elemente Loopen, und mir jeweils zu den Knoten die entsprechenden Werte ausgeben lassen. Leider wird dies bereits ab 1000 Elementen extrem zeitaufwändig in APDL (ich habe deutlich mehr ELemente). Gibt es irgendeinen weg über eine *V Funktion für jedes Element alle Knotennummern und entsprechende Ergebnisse zu erhalten? Ich komme mit meinen Recherchen und hier im Forum nicht weiter. Ziel wäre ein Arrray der ungefähr so aussieht (dabei tauchen natürlich Knoten mehrfach auf):
Element|Knotennummer|Spannung 1 1 Spannungswert 1 2 Spannungswert 1 3 Spannungswert 1 4 Spannungswert 2 1 Spannungswert 2 2 Spannungswert 2 5 Spannungswert 2 6 Spannungswert ....
EDIT: Dabei scheint das Problem nciht das ausführen der Mehrfachschleife zu sein, ich sehe im Fenster das die *enddo Indizes erreicht werden, aber danach hängt sich Ansys auf. Wenn ich Abbreche erhalte ich hier jedesmal diesen Fehler: "An unexpected error ( SIG$BREAK ) has occurred... ANSYS internal data has been corrupted. ANSYS is unable to recover and will terminate. " [Diese Nachricht wurde von Thomas1989 am 25. Aug. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JoergNeumeyer Moderator Berechnungsingenieur
Beiträge: 30 Registriert: 11.09.2019
|
erstellt am: 26. Aug. 2024 07:56 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas1989
Hallo, ich habe zumindest einige Gedanken dazu: Zumindest habe ich die Erfahrung gemacht, dass die "verkapselten" Schleifen robuster funktionieren. Das wären die Formulierungen mit einem Doppelpunkt... weiß nicht, ob Du die kennst. Sicher gibt es auch *v-Befehle, die hier helfen könnten, aber wenn das stimmt, was Du sagst und die Schleife durchläuft, müsste man sich hier ggf. keine Gedanken machen. Hast Du mal (trotz des quittierten *enddo) verifiziert, ob die Schleife auch durchgelaufen ist? Ich würde über "/com" mal den letzten Zahlenwert aus Deiner Tabelle rausgeben lassen. Wenn dieser tatsächlich mit einer Zahl gefüllt ist, wäre das ja positiv :-) Dieser fatale Error kann leider mehrere Ursachen haben: Arbeitest Du komplett in der Classic-Oberfläche oder nimmst Du APDL-Snippets im Workbench-Mechanical? Vielleicht braucht es nur ein "Issue Solve Command = No" oder ein "ALLS" am Ende oder so... Viele Grüße Jörg ------------------ ********************************************** CADFEM Germany GmbH Dr.-Ing. Jörg Neumeyer Engineering Services Tel: +49 (0)8092-7005-766 E-Mail: jneumeyer@cadfem.de ********************************************** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas1989 Mitglied
Beiträge: 4 Registriert: 25.08.2024 Ansys APDL / WB 2021
|
erstellt am: 29. Aug. 2024 14:41 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die schnelle Nachricht, Jörg! Ich habe die letzten Tage versucht einige Sachen davon umzusetzen und kann mich erst jetzt zurück melden. 1. Ich nutze Classic zum Aufbau der Scripte und werde diese dann später in WB integrieren. 2. Tatsächlich interessiert mich - jetzt, als auch für zukünftige Arbeiten - eine Variante mit der ich mit *v-Befehlen die Lösungen für Elemente an den jeweiligen Elementknoten erhalte ohne das hier gemittelt wird (Dh ich wünsche (!) teilweise mehrere Ergebnisse je Knoten). Wenn Du - oder andere Mitlesende - einen Hinweis haben, wie das gehen würde wäre ich dankbar. Mit ETAB erhalte ich leider nur einen Wert je Element, ich möchte Ergebnisse wie sie mir PRESOL liefert, aber in einem Array zur Weiterverarbeitung.
3. Ich habe mit /COM die Werte nach der Schleife ausgeben lassen. Danke für die Idee. Durch Leertaste/Eingabetaste im Command Window konnte ich die letzte Ausgabe (zufällig) erreichen. Ich habe den Fehler dann durch verschiedenen ALLS Befehle in und nach der Schleife irgendwie behoben, scheint ein Allheilmittel. Den Befehl "Issue Solve Command = No" kenne ich nicht. Kannst du mir kurz erklären wie dieser zu verwenden ist, Google konnte mir hier nicht helfen. Während die anschließende Verarbeitung des schlussendlich erstellten Arrays (Multiplikationen; Additionen etc). innerhalb von wenigen Sekunden erfolgt, dauert das itterative Füllen des Arrays mit den Werten pro Element ~20 Minuten, da ich dies für mehrere Lastschritte mache, dauert das Postprocessing nur für diesen Schritt ca. 1.5 h; das ist bei einer Rechendauer von 2h nicht zu vertreten. Darum würde ich mich weiterhin über eine Lösung freuen, bei der ich nicht durch alle Elemente iterieren muss sondern die oben beschriebenen Ergebnisse aus PRESOL direkt in ein Array schreiben kann. Vielen Dank und viele Grße Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JoergNeumeyer Moderator Berechnungsingenieur
Beiträge: 30 Registriert: 11.09.2019
|
erstellt am: 02. Sep. 2024 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas1989
Hallo, Thomas, danke für die Rückmeldung. Der "Issue Solve Command" ist ein "Schalter", den man einem APDL-Script in der Workbench beifügt über ein Dropdown-Menü. Es geht darum, ob das "Solve", welches durch den Klick auf den gelben Blitz auch in die ds.dat geschrieben werden soll oder eben nicht. Häufig baut man ja ein "Solve" im eigenen APDL-Script ein und deshalb sollte man ggf. das "Solve" aus dem Gelber-Blitz-Klick unterdrücken, da sonst ggf. die gewünschten Ergebnisse überschrieben werden. Zum fettgedruckten, zweiten Punkt muss ich leider passen, da ich auch vornehmlich elektromagnetisch unterwegs bin und mich mit den Element- und Knotenergebnisse bei der Strukturmechanik nicht auskenne. Ich spreche mal meinen Kollegen an... Viele Grüße Jörg ------------------ ********************************************** CADFEM Germany GmbH Dr.-Ing. Jörg Neumeyer Engineering Services Tel: +49 (0)8092-7005-766 E-Mail: jneumeyer@cadfem.de ********************************************** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas1989 Mitglied
Beiträge: 4 Registriert: 25.08.2024 Ansys APDL / WB 2021
|
erstellt am: 16. Sep. 2024 10:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Jörg, vielen Dank für die Aufklärung - dieser Schalter ist mir noch nie aufgefallen - aber gut zu wissen; ich arbeite immer mit eigenen Solve befehlen. Ich freue mich, wenn du von einem Kollegen noch Infos erhältst - sollte mir eine andere Lösung unterkommen werde ich sie hier auch nochmal posten. Leider bin ich bis jetzt noch nicht weiter. Vielen Dank Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cjensch Moderator Berechnungsingenieur
Beiträge: 150 Registriert: 09.05.2019
|
erstellt am: 16. Sep. 2024 17:19 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas1989
Hallo Thomas, ich konnte bei uns einen Kollegen finden der eine alternative Lösung hat, Herr Klaus Graf. Er geht nicht über eine Schleife sondern selektiert bestimmte Elementnamen, hier das 186 Element: ! Schreibt ungemittelte Elementspannungen per PRESOL und liest diese per *vread /nopr /page,2e9,9999,2e9,9999 /format,10,E,15,8 esel,,enam,,186 nsle *get,ecnt,elem,,count /outp,mystress,txt presol,s /outp,term ! mytress= *dim,mystress,array,ecnt,1+8*7 ! Element-IDs lesen *vread,mystress(1,1),mystress,txt,,jik,1,ecnt,,9 (10X,F8.0,10/) ! Knoten und Spannungen lesen *vread,mystress(1,2),mystress,txt,,jik,8*7,ecnt,,11 (8(F11.0,1x,6E15.8,/),1x,2/) ! /eof Beim *vread besteht die Herausforderung das Format richtig einzustellen, per trial and error. ! Beispielausgabe von presol: ***** POST1 ELEMENT NODAL STRESS LISTING ***** LOAD STEP= 1 SUBSTEP= 1 TIME= 1.0000 LOAD CASE= 0 THE FOLLOWING X,Y,Z VALUES ARE IN GLOBAL COORDINATES ELEMENT= 1 SOLID186 NODE SX SY SZ SXY SYZ SXZ 1423 -0.34380618E+00-0.96712589E+00-0.33597365E+00-0.35776880E-01 0.38662124E-02-0.24788142E-02 2191 -0.34416071E+00-0.97097367E+00-0.33584979E+00-0.37717115E-01 0.53617796E-02-0.34605879E-02 2212 -0.34263501E+00-0.97695863E+00-0.32697976E+00-0.44249848E-01 0.81793070E-02 0.23448130E-02 1424 -0.34095916E+00-0.97416300E+00-0.32557434E+00-0.47997933E-01 0.68110293E-02 0.29628843E-02 1899 -0.41425097E+00-0.94366932E+00-0.41533858E+00-0.45790192E-01 0.25791043E-01 0.42786500E-02 2213 -0.41365722E+00-0.94098312E+00-0.41566995E+00-0.45984626E-01 0.26329074E-01 0.52536200E-02 2211 -0.41728181E+00-0.93636507E+00-0.42785913E+00-0.46575494E-01 0.20530974E-01-0.92352508E-03 1898 -0.41802040E+00-0.93737650E+00-0.42808539E+00-0.47684506E-01 0.21700710E-01-0.80326735E-03 ELEMENT= 2 SOLID186 NODE SX SY SZ SXY SYZ SXZ 450 -0.28690770E+00-0.88481957E+00-0.29932031E+00 0.13839319E-01 0.24951482E-01 0.10229676E-01 451 -0.28190422E+00-0.87691027E+00-0.29442272E+00-0.77460911E-02 0.31384930E-01 0.43412144E-02 290 -0.28223085E+00-0.87998414E+00-0.29585168E+00 0.30052699E-02 0.30771518E-01 0.30587201E-02 291 -0.29018840E+00-0.88989711E+00-0.30074775E+00 0.65378118E-02 0.27934041E-01 0.12497269E-01 2191 -0.37961280E+00-0.10085818E+01-0.39317349E+00-0.41894659E-01 0.21084158E-01-0.57399953E-02 2212 -0.36563927E+00-0.10079324E+01-0.40103036E+00-0.34829248E-01 0.66562761E-02-0.46233782E-02 1424 -0.36486635E+00-0.10117402E+01-0.40211636E+00-0.38662188E-01 0.10951479E-01-0.44142473E-02 1423 -0.37844756E+00-0.10120060E+01-0.39134079E+00-0.39082691E-01 0.21508152E-01-0.78055798E-02 Dieses Vorgehen sollte deutlich schneller sein. Viele Grüße Christian ------------------ ********************************************** CADFEM Germany GmbH Christian Jensch Berechnungsingenieur Tel: +49 (0) 8092 7005 728 E-Mail: cjensch@cadfem.de ********************************************** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas1989 Mitglied
Beiträge: 4 Registriert: 25.08.2024 Ansys APDL / WB 2021
|
erstellt am: 18. Sep. 2024 14:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, vielen Dank für diesen Post! Ich habe - angelehnt an das Beispiel - mein Problem gelöst. Das Erstellen der Ergebnisse dauert nun erwartungsgemäß <1 min statt >1h. Warum der Umweg über das Rausschreiben und Wiedereinlesen so viel schneller ist, als die Schleifen bleibt mir ein Rätsel. Vielen Dank auch noch einmal an Jörg, und gerne auch an den Kollegen Klaus Graf. Schöne Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|