| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Substeps auslesen bei Berechnungsabbruch (1422 mal gelesen)
|
Kaest Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 35 Registriert: 13.08.2015 ANSYS Mechanical APDL 14.5
|
erstellt am: 29. Sep. 2016 14:24 <-- editieren / zitieren --> Unities abgeben:
Hallo alle miteinander, ich arbeite zur Zeit an Zugversuchen und habe mir für deren Auswertung das untenstehende Makro geschrieben, mit dem ich die maximale Verschiebung, eine lokale Verschiebung, sowie die Strukturkraft in Y-Richtung für jeden Substep auslese. Das Problem besteht darin, dass wenn die Lösung der Berechnung nicht konvergiert, die automatisierte Auswertung nicht funktioniert, da die substep-Anzahl zu 999999 gesetzt wird. Kann man den letzten "tatsächlichen" Substep auch anders auslesen? Ein Gedanke meinerseits wäre eine IF-Bedingungen einzufügen, welche zu hohe substep-Zahlen abfängt, allerdings bin ich mir nicht sicher, was ich dann als maximalen substep zur Auswertung wählen sollte. Wähle ich den substep nämlich zu groß, erhalte ich die Fehlermeldung, dass das Load set nicht gefunden wurde. Vielen Dank für eure Hilfe. Viele Grüße Begin Code: *create,Auswertung_DY_45,mac set,1,,,,,,, *get,subst,active,0,solu,ncmss *DO,n,1,subst,1 SET,1,n,,,,,, nsort,u,y,0,0 *get,iy,sort,,imax nsel,s,node,,iy *GET,uy_glob,node,iy,u,y nsel,s,node,,5633 *GET,uy_lok,node,5633,u,y asel,s,area,,29 asel,a,area,,30 nsla,s,1 fsum *GET,FY,FSUM,0,ITEM,FY *cfopen,Ergebnisse_SKV_DY_69_100_alpha_45,txt,,append *vwrite,n,FY,uy_glob,uy_lok %10.5f,%14.5f,%14.5f,%14.5f *cfclos *ENDDO *end Auswertung_DY_45 ENDE CODE Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 01. Okt. 2016 18:53 <-- editieren / zitieren --> Unities abgeben: Nur für Kaest
|
Kaest Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 35 Registriert: 13.08.2015 ANSYS Mechanical APDL 14.5
|
erstellt am: 04. Okt. 2016 17:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, also der Vorschlag hat leider nicht zur Behebung des Problems beigetragen. Den Ansatz den ich verfolgen wollte besteht darin, abzufragen, ob eine Konvergenz vorhanden ist oder nicht und den letzten Substep, bei dem Konvergenz gegeben ist über die unten aufgeführte Schleife zu ermitteln. Allerdings liefert diese noch nicht das gewünschte Ergebnis. Kann mir an dieser Stelle jemand weiterhelfen? Vielen Dank Beginn Code:
*DO,n,1,1000,1 set,1,n,,,,,, *get,k,active,0,solu,cnvg *if,k,eq,0,then subst = n *elseif,k,eq,1,exit *endif *enddo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1320 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 04. Okt. 2016 23:17 <-- editieren / zitieren --> Unities abgeben: Nur für Kaest
|
Kaest Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 35 Registriert: 13.08.2015 ANSYS Mechanical APDL 14.5
|
erstellt am: 05. Okt. 2016 08:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, ja es werden alle Zwischenergebnisse der Berechnung gespeichert. Aus diesem Grund dachte ich es wäre eine Möglichkeit für jeden Substep zu schauen, ob Konvergenz gegeben ist oder nicht und dann meinen Zähler "subst" für meine Auswertung zu erhöhen oder die Schleife abzubrechen. Dabei scheint mir allerdings ein Fehler unterlaufen zu sein, den ich nicht finde.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 05. Okt. 2016 18:43 <-- editieren / zitieren --> Unities abgeben: Nur für Kaest
Die letzte konvergierende Lösung erhält man mit: Code: set,last *get,nummer,active,,set,sbst *if,nummer,ge,999999,then set,prev *endif
------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kaest Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 35 Registriert: 13.08.2015 ANSYS Mechanical APDL 14.5
|
erstellt am: 06. Okt. 2016 10:33 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für den Hinweis. Der vorgeschlagene Code passt leider nicht für meine Problemstellung. Eine Vergleichsrechnung lieferte die folgende Fehlermeldung: "Load set found on result file" Aus meiner Sicht bezieht sich der Befehl "set,prev" auch auf die Loadsteps und nicht auf die Substeps, welche ich eigentlich auswerten möchte.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 06. Okt. 2016 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für Kaest
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|