Hallo Leute,
ich habe ein Problem mit dem Auslesen von Knotenverschiebungen für bestimmte Node-Components. Anbei der Quelltext. Eine kurze Erklärung was hier eigentlich passieren soll.
Ich habe 3 verschiedene Knotensets (gekennzeichnet durch elements_rounded=3), die aus jeweils einer bestimmten Anzahl von Knoten bestehen (mit *GET,...,COUNT gezählt).
Dann soll ein neues Array eröffnet werden, dass mit 5 Spalten (Knotennummer, ux, uy, uz, usum) alle Knoten untereinander wiedergibt. Zunächst die Knoten des ersten Sets, dann darunter die des zweiten Sets usw.
Diese Daten sollen in eine txt.Datei geschrieben werden. Das geschieht auch, jedoch sehe ich dann nur Sternchen in der Ausgabe. Sie angehängt txt.Datei. Kann mir jemand sagen woran dies liegt?
Vielen Dank!!!
Gruß
David
elements_rounded=3
nsel,none
cmsel,s,inner_ring_1
*GET,ringnodes,NODE,,COUNT
*DIM,displ_inner_ring,array,elements_rounded*ringnodes,5
*DO,j,1,elements_rounded,1
nsel,none
cmsel,s,inner_ring_%j%
*VGET,displ_inner_ring(1+(j-1)*ringnodes,1),NODE,,NLIST
*DO,i,1,ringnodes,1
*GET,displ_inner_ring(i+(j-1)*ringnodes,2),NODE,displ_inner_ring(i+(j-1)*ringnodes,1),U,X
*GET,displ_inner_ring(i+(j-1)*ringnodes,3),NODE,displ_inner_ring(i+(j-1)*ringnodes,1),U,Y
*GET,displ_inner_ring(i+(j-1)*ringnodes,4),NODE,displ_inner_ring(i+(j-1)*ringnodes,1),U,Z
*GET,displ_inner_ring(i+(j-1)*ringnodes,5),NODE,displ_inner_ring(i+(j-1)*ringnodes,1),U,SUM
*ENDDO
*ENDDO
*CREATE,temporary6
*CFOPEN,'displacement_inner_ring_nodes','txt',' '
*DO,j,1,elements_rounded,1
*vwrite,displ_inner_ring(1+(j-1)*ringnodes,1),displ_inner_ring(1+(j-1)*ringnodes,2),displ_inner_ring(1+(j-1)*ringnodes,3),displ_inner_ring(1+(j-1)*ringnodes,4),displ_inner_ring(1+( j-1)*ringnodes,5)
(F5.6,F5.6,F5.6,F5.6,F5.6)
*ENDDO
*CFCLOSE
*END
/INPUT,temporary6
*Edit: Es muss am Format liegen. Der erste Teil funktioniert. Die Daten werden richtig in dem Array gespeichert. Das kann man der GUI entnehmen.
*Edit2: Wie dumm von mir. Ja es lag natürlich am Format. Für alle die es interessiert: Im Fortran Format wird bei z.B.
F10.3
ausgesagt, dass insgesamt 10 Stellen zur Verfügung stellen und dabei 3 Nachkommastellen beinhaltet sind.
Wenn man F5.6 eingibt, existieren mehr Nachkommastellen als überhaupt zur Verfügung stehen. Daher sieht man nur Sternchen =)
Hier ist es richtig:
*CREATE,temporary6
*CFOPEN,'displacement_inner_ring_nodes','txt',' '
*VWRITE,displ_inner_ring(1,1),displ_inner_ring(1,2),displ_inner_ring(1,3),displ_inner_ring(1,4),displ_inner_ring(1,5)
(F9.2, F9.6, F9.6, F9.6, F9.6)
*CFCLOSE
*END
/INPUT,temporary6
[Diese Nachricht wurde von Dave1987 am 05. Sep. 2013 editiert.]
[Diese Nachricht wurde von Dave1987 am 05. Sep. 2013 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP