| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Knotenwerte in Array schreiben und exportieren für Excel (809 / mal gelesen)
|
Chris8k Mitglied
Beiträge: 18 Registriert: 27.04.2017 Ansys Mechanical APDL 18
|
erstellt am: 19. Jun. 2017 13:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte eine Lastverschiebungskurve in Excel erstellen. Dazu möchte ich die Verschiebung und die Reaktionskraft in z-Richtung eines einzelnen Knotens in ein Array mit zwei Spalten für Excel exportieren. Die Daten dazu sollen aus sämtlichen Substeps eines Lastschritts kommen. Leider sehe ich vor lauter Bäumen den Wald nicht mehr. Zunächst lege ich also ein Array mit 2 Spalten und so vielen Zeilen wie ich substeps habe
Code: /POST1 *DIM,lastverformung,array,nsubst,2 !nsubs = Anzahl der Substeps
Dazu die erste Frage, wie komme ich auf die Anzahl der konvergierten Substeps? Ich habe es hiermit versucht: (etwas abgewandelt von http://forum.cad.de/foren/ubb/Forum101/HTML/009221.shtml)
Code: set,first *DO,n,1,1000,1 *get,k,active,0,solu,cnvg *if,k,eq,1,then nsubst = n *elseif,k,eq,1,exit *endif set,next *enddo
Allerdings fängt er dabei leider nach dem letzten Substeps wieder bei dem ersten an, nsubst wird also immer zu 1000. Außerdem ist dauert die Schleife sehr lang, da jeder Substep geladen wird. Für den Export des Arrays habe ich schon folgende Lösung gefunden (als macro ausgeführt):
Code: *mwrite,lastverformung,lastverformung,txt (30F10.0)
Die nächste Frage zielt darauf ab, wie ich die Knotenwerte aus den einzelnen Substeps in mein Array bekomme? Ich schätze es geht irgendwie über *get, aber bin da von der Hilfe ziemlich erschlagen. Bin für jedwede Hinweise dankbar! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris8k Mitglied
Beiträge: 18 Registriert: 27.04.2017 Ansys Mechanical APDL 18
|
erstellt am: 19. Jun. 2017 14:10 <-- editieren / zitieren --> Unities abgeben:
Die letzte Frage hat sich schon mal geklärt Code: set,first *do,i,1,nsubst *get,lastverformung(i,1),node,pilot_1,RF,FZ *get,lastverformung(i,2),node,pilot_1,U,Z set,next *enddo
Bleibt nur noch die Frage, wie ich die Anzahl der Substeps bei nicht-konvergierter Lösung auslese. Außerdem funktioniert der export in die Datei mit *mwrite noch nicht wie gewünscht [Diese Nachricht wurde von Chris8k am 19. Jun. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris8k Mitglied
Beiträge: 18 Registriert: 27.04.2017 Ansys Mechanical APDL 18
|
erstellt am: 19. Jun. 2017 15:01 <-- editieren / zitieren --> Unities abgeben:
Der Export funktioniert inzwischen auch: Code: /POST1 nsubst=90 *DIM,lastverformung,array,nsubst,2 !Array initialisierenset,first !1.Substep laden *do,i,1,nsubst *get,lastverformung(i,1),node,pilot_1,RF,FZ !Reaktionskraft am Pilot-Knoten auslesen *get,lastverformung(i,2),node,pilot_1,U,Z !Verschiebung in z-Richtung am Pilot-Knoten auslesen set,next *enddo *mwrite,lastverformung,lastverformung,txt (F10.0,F10.3) !FORTRAN Format für Ausgabedatei
Der Code für das Fortran-Format war mehr oder weniger geraten. Ist der so korrekt, bzw. gibt es da noch etwas zu beachten? Zur Lösung der letzten verbliebenen Frage: Gibt es einen Befehl, mit dem man sich den aktuell geladenen Substep ausgeben lassen kann? Und noch eine eher allgemeine Frage. Ist mein bisheriges Vorgehen so üblich? Schließlich dauert das auslesen der ganzen Werte hier um ein vielfaches länger, als wenn ich mir ein entsprechendes Digramm der gleichen Daten im /POST26 ausgeben lasse.
[Diese Nachricht wurde von Chris8k am 19. Jun. 2017 editiert.] [Diese Nachricht wurde von Chris8k am 19. Jun. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|