| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Nodes (2376 mal gelesen)
|
Ansysman Mitglied
Beiträge: 42 Registriert: 09.03.2005
|
erstellt am: 21. Apr. 2005 08:20 <-- editieren / zitieren --> Unities abgeben:
Habe ein Problem: Möchte entlang einer Linie alle Knoten selektieren und ihre Spannungen in ein Array schreiben. Lsel,S,,,12 NSLL,S,1 Damit kann man die Nodes zwar selektieren, aber ich bekomme nicht die Werte und/oder die Koordinaten von ihnen. Vielen Dank im Vorraus 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: 21. Apr. 2005 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Code: lsel,s,,,12 nsll,s,1 *get,nanz,node,,count !Knoten-Anzahl *get,nmin,node,,num,min !niedrigste Knotennummer *dim,feld,array,nanz,7 !Array mit dem Namen "feld" narb=nmin !Knoten in Arbeit *do,i,1,nanz feld(i,1)=narb !Knotennummer feld(i,2)=nx(narb) !x-Koordinate feld(i,3)=ny(narb) !y-Koordinate feld(i,4)=nz(narb) !z-Koordinate *get,sx,node,narb,s,x !beispielhaft feld(i,5)=sx *get,sy,node,narb,s,y feld(i,6)=sy *get,sz,node,narb,s,z feld(i,7)=sz narb=ndnext(narb) !Nächster Knoten *enddo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ansysman Mitglied
Beiträge: 42 Registriert: 09.03.2005
|
erstellt am: 21. Apr. 2005 10:11 <-- editieren / zitieren --> Unities abgeben:
Viiiiiiiiiiielen Dank!!! Hat super geklappt. Eine Frage hätte ich allerdings noch: Ich möchte die Tabelle in dieser Form haben.Sie haben geschrieben, dass sowas nur mit der Fortran Programmierung geht.Habe mir die Onlinehilfe angeschaut, aber dies hat mich auch nicht schlauer gemacht.Haben Sie vielleicht ein kurzes Beispiel für mich? NODE SX SY SZ SXY SYZ SXZ 1 -0.12876E+08 -0.12817E+08 -0.30304E+08 -0.41676E+06 41 -0.70465E+06 -0.66576E+06 0.22181E+08 0.11317E+07 0.24012E+07 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: 21. Apr. 2005 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
|
Ansysman Mitglied
Beiträge: 42 Registriert: 09.03.2005
|
erstellt am: 21. Apr. 2005 13:12 <-- editieren / zitieren --> Unities abgeben:
Irgendwie verstehe ich das nicht so ganz, aber da ich die Werte nach Excel kopiere macht das eh nichts.Sollte nur etwas übersichtlicher sein.Habe aber ein anderes PRoblem: *Do,K,1,20 .... lsel,s,,,12 nsll,s,1 *get,nanz,node,,count !Knoten-Anzahl *get,nmin,node,,num,min !niedrigste Knotennummer *dim,feld,array,nanz,7 !Array mit dem Namen "feld" narb=nmin !Knoten in Arbeit *do,i,1,nanz feld(i,1)=narb !Knotennummer feld(i,2)=nx(narb) !x-Koordinate feld(i,3)=ny(narb) !y-Koordinate feld(i,4)=nz(narb) !z-Koordinate *get,sx,node,narb,s,x !beispielhaft feld(i,5)=sx *get,sy,node,narb,s,y feld(i,6)=sy *get,sz,node,narb,s,z feld(i,7)=sz narb=ndnext(narb) !Nächster Knoten *enddo *Enddo Die Schleife wird 20 mal durchlaufen und ich möchte die Ergebnisse, dim Feld stehen automatisch speichern! Außerdem besteht noch das Problem, dass manche Knoten, keinen Wert haben.Gibts da eventuell auch einen Befehl? Vielen Dank schonmal! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ansysman Mitglied
Beiträge: 42 Registriert: 09.03.2005
|
erstellt am: 22. Apr. 2005 08:38 <-- editieren / zitieren --> Unities abgeben:
|
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: 26. Apr. 2005 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
|
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: 27. Apr. 2005 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Zitat: Original erstellt von Ansysman: Ich verwende ein Solid95 Element und habe daher auch Midside Nodes. Mit lsel,s,,,12 nsll,s,1 wähle ich diese ja leider auch aus. Kann man das irgendwie unterdrücken?
Mit lsel,s,,,12 nsll,s,1 esln nsle,r,corner oder auch nsle,u,mid werden die Seitenmittenknoten wegselektiert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Crossover03 Mitglied Student
Beiträge: 5 Registriert: 06.08.2012
|
erstellt am: 09. Aug. 2012 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Guten Tag, Community Ich bin ein absoluter ANSYS-Anfänger. Nun besteht meine Aufgabe nach einer Temperaturfeldberechnung die Knotentemperaturen in eine Datei zu schreiben. Ich möchte also alle Knotennummern und dazugehörige Temperaturen in eine Datei als Array schreiben, sodass die Knotentemperaturen wieder vernunftig eingelesen werde können (mit *vread) soll ungefähr so aussehen: Node Temp 1 100 2 95 3 90 ...... usw. Ich hab mir das so vorgestellt: esel,all,mat,,1 nsel,all *get,nanz,node,,count *get,nmin,node,,num,max *set,narb,nmin *dim,dtemp,array,nanz,2 *do,i,1,nanz *get,param,node,i,temp dtemp(i,1)=narb dtemp(i,2)=param narb=ndnext(narb) *enddo *create,nodetemp *cfopen,nodetemp *vwrite,dtemp(i,1),dtemp(i,2) *cfclos In meine nodetemp Datei sind bloß nur 0 0 zu finden. Ich hab wohl irgendein Fehler in der Schleife und auf jeden Fall ist mein *vwrite Befehl falsch. Ich werde für die Korrekturen oder vielleicht bessere Vorschläge sehr dankbar. Anbei hab ich den Code angehängt:eine sehr einfache 2-D Tempfeldberechnung. 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: 10. Aug. 2012 18:57 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Doch, so geht das. Neben kleineren Unzulänglichkeiten fehlte lediglich die Formatierung für *vwrite und die Berücksichtigung der Tatsache, dass das alles nicht im Direktmodus funktioniert. ------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Crossover03 Mitglied Student
Beiträge: 5 Registriert: 06.08.2012
|
erstellt am: 12. Aug. 2012 19:13 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
|
Crossover03 Mitglied Student
Beiträge: 5 Registriert: 06.08.2012
|
erstellt am: 14. Aug. 2012 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Für weiteres Vorgehen benötige ich doch noch Hilfe. Jetzt möchte ich eine separate Struktur-mechanische Berechnung durchführen und als Lasten sollen die Temperaturen aus der erstellten Datei(angehängt) mit Knotennummern und zugehörigen Temperaturen den Knoten zugewiesen werden. Irgendwoher muss ja Ansys wissen, dass die Zahlen in der Datei die Knotennummern und die Temperaturen sind und besonders darin liegt mein Problem. Es ist alles gleich wie bei der thermischen Berechnung zuvor. Danke voraus! 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: 14. Aug. 2012 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Hi, Du könntest entweder Deine Knoten/Temperaturen Datei in ein Array einlesen und dann auf dieses Array zugreifen, oder Du veränderst die Datei so, dass sie das Format: d,1,temp,100 d,2,temp,100 d,3,temp,100 d,4,temp,100 d,5,temp,100 d,6,temp,100 d,7,temp,100 ... hat. Diese Datei dann einfach mit /input einlesen. ------------------ Gruß, A. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Crossover03 Mitglied Student
Beiträge: 5 Registriert: 06.08.2012
|
erstellt am: 14. Aug. 2012 17:07 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Zitat: Original erstellt von arnd13: Hi, oder Du veränderst die Datei so, dass sie das Format: d,1,temp,100 d,2,temp,100 d,3,temp,100 d,4,temp,100 d,5,temp,100 d,6,temp,100 d,7,temp,100 ... hat.Diese Datei dann einfach mit /input einlesen.
Einfach und gut, danke für den Tipp! Ich wusste aber auch nicht dass man das im Format für die *VWRITE-Befehl einfach so eingeben kann. 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. Aug. 2012 18:34 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
Für solche und ähnliche Aufgaben hat der Erfinder von ANSYS die Anweisung ldread,..,.... eingebaut. Damit lassen sich Ergebniswerte einer Berechnung sehr einfach in eine zweite Berechnung mit gleichem Netz übernehmen. ------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Crossover03 Mitglied Student
Beiträge: 5 Registriert: 06.08.2012
|
erstellt am: 14. Aug. 2012 19:43 <-- editieren / zitieren --> Unities abgeben: Nur für Ansysman
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|