| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | | | Wie Baumann Springs komplexe Wellringfedern mit einem individualisierten Workflow zielgenau auslegt , ein Anwenderbericht
|
Autor
|
Thema: APDL Schleife/ Probleme mit vwrite (5069 mal gelesen)
|
Victor Thorn Mitglied Student
Beiträge: 9 Registriert: 13.12.2012
|
erstellt am: 13. Dez. 2012 19:18 <-- editieren / zitieren --> Unities abgeben:
Ehrenwerte Menschen von CAD.de, als blutiger Anfänger in Ansys habe ich hier eine Frage zu einer do-Schleife und ich hoffe ihr könnt mir weiterhelfen. Ich möchte Knotenverschiebungen in einer externen Datei speichern. Auf grundlage anderen Beitragen in diesen Forum, habe ich folgende Befehlsfolge erstellt. . . solve finish /post1 !Macro zum Ausführen der Schleife in GUI *create,Schleife,mac nsel,all *get,nanz,node,,count *get,nmin,node,,num,min narb=nmin *dim,nkraft,array,nanz,4 ! Schleifenbeginn *do,i,1,nanz !Knotenverschiebungen in alle Richtungen *get,krx,node,narb,u,x *get,kry,node,narb,u,y *get,krz,node,narb,u,z nkraft(i,1)=narb nkraft(i,2)=krx nkraft(i,3)=kry nkraft(i,4)=krz narb=ndnext(narb) *cycle *enddo !Speichern der Datei *cfopen,Ergebnis,txt *vwrite,nkraft(1),nkraft(2),nkraft(3),nkraft(4) (5F20.1) *cfclos *end Schleife In meiner Ergebnisdatei werden nun nur Knotenzahlen nach folgenden Schema eingetragen. 1 2 3 2 3 4 3 4 5 und eben nicht meine gewünschten Spalten Wie bekomme ich meine gewünschten Verschiebungen in die Datei? Ich bin um jede Hilfe dankbar Mit freundlichen Gruß Victor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deepblue Mitglied Simulationsingenieur
Beiträge: 912 Registriert: 17.04.2003 ANSYS v19.1, Mechanical, Fluent, ICEM CFD NX 12.0.1 TC 10, TCeasy Win7 64bit HP Z400; 3,3GHz; 12GB RAM NVIDIA Quadro FX2000
|
erstellt am: 14. Dez. 2012 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für Victor Thorn
|
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: 14. Dez. 2012 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für Victor Thorn
|
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Dez. 2012 12:57 <-- editieren / zitieren --> Unities abgeben: Nur für Victor Thorn
Klappt es vielleicht so? Code: *create,Schleife,mac nsel,all *get,nanz,node,,count *get,nmin,node,,num,min narb=nmin *dim,nnr,array,nanz *dim,nux,array,nanz *dim,nuy,array,nanz *dim,nuz,array,nanz ! Schleifenbeginn *do,i,1,nanz !Knotenverschiebungen in alle Richtungen *get,krx,node,narb,u,x *get,kry,node,narb,u,y *get,krz,node,narb,u,z nnr(i)=narb nux(i)=krx nuy(i)=kry nuz(i)=krz narb=ndnext(narb) *cycle *enddo !Speichern der Datei *cfopen,Ergebnis,txt *vwrite,nnr(1),nux(1),nuy(1),nuz(1) (4F20.1) *cfclos *end
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Victor Thorn Mitglied Student
Beiträge: 9 Registriert: 13.12.2012
|
erstellt am: 14. Dez. 2012 16:51 <-- editieren / zitieren --> Unities abgeben:
Erstmal vielen Dank für die schnelle Antworten ! Ich hab die Befehlsfolge von ChristophN eingegeben, erhalte dann aber folgende Fehlermeldung: "Subscript range error.Parameter NUX is dimensioned as 1281x1, but location 1281x2 is being requested" Ist dies jetzt ein Formatfehler und wenn ja welches Format muss ich wählen? @deepblue: Ich dachte das Inkrement bestimmt meine Schrittlänge also ob ich jeden oder nur jeden fünften,zehnten Knoten auslesen möchte. Weil dies default=1 ist hab ich es nicht extra eingegeben, aber selbst wenn ich es mache ändert sich leider nichts. Oder hab ich das mit dem Inkrement falsch verstanden? Ändere ich die ürsprüngliche Befehlsfolge ab: *create,Schleife,mac nsel,all *get,nanz,node,,count *get,nmin,node,,num,min narb=nmin *dim,nkraft,array,nanz,4 *do,i,1,nanz *get,krx,node,narb,u,x *get,kry,node,narb,u,y *get,krz,node,narb,u,z nkraft(i)=narb nkraft(i)=krx nkraft(i)=kry nkraft(i)=krz narb=ndnext(narb) *cycle *enddo *cfopen,Ergebnis,txt *vwrite,nkraft(1),nkraft(2),nkraft(3),nkraft(4) (5F20.1) *cfclos *end Erhalte ich eine Tabelle wo links auch die Knotenwerte stehen, rechts in den Spalten aber nur 0. Bevor jemand fraft, die Werte existieren. Ich kann sie mir über das GUI anzeigen lassen. Ich hab nur keine andere Idee wie ich sie in eine separate Datei schreiben kann. ich bin um jede Hilfe dankbar Gruß Victor
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Dez. 2012 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für Victor Thorn
Zitat: Original erstellt von Victor Thorn: Ich hab die Befehlsfolge von ChristophN eingegeben, erhalte dann aber folgende Fehlermeldung: "Subscript range error.Parameter NUX is dimensioned as 1281x1, but location 1281x2 is being requested"
Der Fehler sagt, dass du auf das Element nux(1281, 2) zugreifst, das Feld aber nur zu 1281x1 dimensioniert ist. In meiner Befehlsfolge kann ich nicht erkennen, dass außerhalb der Grenzen zugegriffen wird. Benutzt du denn das Feld auch außerhalb des Macros? 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: 14. Dez. 2012 17:50 <-- editieren / zitieren --> Unities abgeben: Nur für Victor Thorn
Vielleicht muss doch mal mein Diskussionsbeitrag gelesen werden, oder irre ich mich hier? Es ist zu empfehlen: *vwrite,nkraft(1),nkraft(2),nkraft(3),nkraft(4) (5F20.1' ',E10.5,' ',E10.5,' ',E10.5) (Und lass doch mal das *cycle weg)
------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|