| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Hilfe bei *vwrite und *get (2426 mal gelesen)
|
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 25. Mai. 2011 15:52 <-- editieren / zitieren --> Unities abgeben:
Guten Tag zusammen, Ich habe vor in einer Text Datei die Spannungskomponenten einzelner Knoten im Zusammenhang mit deren Winkel zu schreiben. Hier erstmal mein Input: /post1 *create,test,mac b=0 *dim,Matrix,array,180,2 *do,winkel,0,180,5 csys,1 nsel,s,loc,x,0.3 nsel,r,loc,y,winkel b=b+1 *get,numb,node,0,num,max *get,st,node,numb,s,x matrix(b,1)=winkel matrix(b,2)=st *enddo *cfopen,Daten,txt *vwrite,matrix (2F6.4) *cfclos *end test.mac Ich bekomme bei jedem Knoten die Meldung:Requested data is not stored for node ... Line =*get,st,node,numb,s,x the get command is ignored. Es wäre nett wenn mir jemand sagen könnte was ich falsch mache. Ich arbeite erst seit 2 Wochen mit Ansys. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Avm1979 Mitglied
Beiträge: 157 Registriert: 21.11.2005
|
erstellt am: 25. Mai. 2011 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für bache88
1. Ist denn hinter numb eine nummer gespeichert oder fehlt die schon? 2.Wurde überhaubt ein knoten selekiert. Es muss ja nicht heissen das dieser befehl falsch ist sondern du einfach nur nichts selektiert hast. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 25. Mai. 2011 18:09 <-- editieren / zitieren --> Unities abgeben:
Also im ersten Schritt wird laut Output Window alles richtig gemacht. Er weist numb einen Knoten zu und findet dazu die Normalspannung. Daraufhin folgt dann im Output Window diese Fehlermeldung für die weiteren Knoten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arnd13 Mitglied Dipl. Ing.
Beiträge: 735 Registriert: 05.11.2008
|
erstellt am: 26. Mai. 2011 12:23 <-- editieren / zitieren --> Unities abgeben: Nur für bache88
Teste doch auch mal weitere Schritte händisch, oder lass Dir die gefundene Knotennummer ausgeben. (z.B. mit /com,numb = %numb% in der Schleife) Ist *afun,deg eingestellt? Ist das zylindrische Koordinatensystem csys,1 auch das richtige (Mittelpunkt, Rotationsachse)? ------------------ Gruß, A. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 26. Mai. 2011 12:49 <-- editieren / zitieren --> Unities abgeben:
Also der erste Knoten funktioniert immer sei es ob ich bei 0° anfange oder bei z.B.65°. Er listet mir wähend der Fehlermeldung ja jeden einzelnen Knoten auf, d.h er findet sie auch auf jedenfall. Mit *afun,deg oder ohne kommt der selbe Fehler. Nun habe ich eine andere Variante versucht bei der mir schonmal gelingt Knoten Nummer und dessen Winkel in eine Datei zu schreiben jedoch wieder die Spannungen nicht. Diesmal erhalte ich die Fehlermeldung: Some entities requested in the *vget were undefinded. In dieser Konfiguration schreibt und sortiert er mir auch die ersten beiden Spalten. Die dritte Spalte bleibt leer aufgrund dieses Fehlers. Vielleicht ist hier die Lösung des Problems einfacher? Hier der neue Input: /post1 *create,test,mac csys,1 nsel,s,loc,x,0.02 *get,nnum,node,0,count *dim,nds,array,nnum,3 *dim,ndss,array,nnum,1 *vget,nds(1,1),node,,nlist *do,i,1,nnum *VGET,nds(i,2),node,nds(i,1),loc, y *VGET,nds(i,3),node,nds(i,1),s, xy *enddo *moper,ndss,nds(1,1),sort,nds(1,2) *cfopen,knotennummer,txt *vwrite,nds(1,1) (F10.2) *cfclos *cfopen,Knotenwinkel,txt *vwrite,nds(1,2) (F10.2) *cfclos *cfopen,Knotenspannung,txt *vwrite,nds(1,3) (F10.2) *cfclos *end test.mac [Diese Nachricht wurde von bache88 am 26. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arnd13 Mitglied Dipl. Ing.
Beiträge: 735 Registriert: 05.11.2008
|
erstellt am: 26. Mai. 2011 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für bache88
Verwendest Du Elemente mit Mittelknoten? An den Mittelknoten werden im Allgemeinen keine Spannungen berechnet, da die Knotenspannungen nur eine Extra- und Interpolation aus den Elementlösungen ist. Am saubersten liest man sowieso für Spannungen immer nur die Elementlösung aus. ------------------ Gruß, A. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 26. Mai. 2011 14:13 <-- editieren / zitieren --> Unities abgeben:
Habe ich nun auch festgestellt als ich mir den Array angeschaut habe. Es werden nur für einige Knoten die Spannungen angegeben, die anderen sind null. Nun weiss ich aber nicht wie das Problem sonst lösen soll, da ich eine Spannungsanalyse über eine Materialgrenze hinweg die bei 90° liegt in Abhängigkeit vom Winkel haben möchte. Wenn ich mit esel,s,cent,x arbeite selektiert er keine Elemente bei dem Radius 0.02. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arnd13 Mitglied Dipl. Ing.
Beiträge: 735 Registriert: 05.11.2008
|
erstellt am: 26. Mai. 2011 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für bache88
|
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 26. Mai. 2011 14:34 <-- editieren / zitieren --> Unities abgeben:
Hilfe wäre dabei nett. Ich suche momentan nach einer Möglichkeit jede 2te Zeile in meinem Array zu löschen.Geht das überhaupt? Denn diese Zeilen entsprechen den Mittelknoten. Oder würden Sie eine andere Variante wählen? Vielen Dank für Ihre Mühe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arnd13 Mitglied Dipl. Ing.
Beiträge: 735 Registriert: 05.11.2008
|
erstellt am: 26. Mai. 2011 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für bache88
Eine Möglichkeit: csys,1 esel,all nsel,all nsle,u,mid !Mittelknoten deselektieren nsel,r,loc,x,0.02 !cm,auswahl,node !Ausgewählte Knoten in der Komponente Auswahl speichern *get,nnum,node,0,count *dim,nds,array,nnum,3 nodenum=0 *do,i,1,nnum nodenum=ndnext(nodenum) !Selektierten Knoten mit der nächsthöheren Knotennummer! nds(i,1)=nodenum GET,nds(i,2),node,nodenum,loc,y GET,nds(i,3),node,nodenum,s,x *enddo Es gibt schnellere und elegantere Lösungen mit Maskingvektor, aber auch noch etwas komplizierter. ------------------ Gruß, A. [Diese Nachricht wurde von arnd13 am 26. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bache88 Mitglied Student
Beiträge: 9 Registriert: 11.05.2011
|
erstellt am: 26. Mai. 2011 15:23 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|