Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Knotenwerte in Array schreiben und exportieren für Excel

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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



Sehen Sie sich das Profil von Chris8k an!   Senden Sie eine Private Message an Chris8k  Schreiben Sie einen Gästebucheintrag für Chris8k

Beiträge: 18
Registriert: 27.04.2017

Ansys Mechanical APDL 18

erstellt am: 19. Jun. 2017 13:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Chris8k an!   Senden Sie eine Private Message an Chris8k  Schreiben Sie einen Gästebucheintrag für Chris8k

Beiträge: 18
Registriert: 27.04.2017

Ansys Mechanical APDL 18

erstellt am: 19. Jun. 2017 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Chris8k an!   Senden Sie eine Private Message an Chris8k  Schreiben Sie einen Gästebucheintrag für Chris8k

Beiträge: 18
Registriert: 27.04.2017

Ansys Mechanical APDL 18

erstellt am: 19. Jun. 2017 15:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Der Export funktioniert inzwischen auch:
Code:
/POST1
nsubst=90
*DIM,lastverformung,array,nsubst,2 !Array initialisieren

set,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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz