| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Export der Lösung einer definierten Komponente mit Ansys WB 14 (3591 mal gelesen)
|
Telesto Mitglied Student
Beiträge: 9 Registriert: 15.06.2011 Ansys WB V14
|
erstellt am: 12. Apr. 2013 10:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe anhand eines Testbeispiels einen Kragbalkenmodell(3D-Modell) unter der Workbench erstellt. Zusätzlich habe ich auch zwei Komponenten: 1.Komponente:Fläche der Fixierung --> Name: "Fixierung" 2.Komponente: Fläche am Balkenende--> Name: "Ende" definiert. Unter dem Solution Modul habe ich die zuintressierende Lösung durch die Gesamtverformung an der Komponente "Ende" definiert. Soweit so gut. Nun möchte ich aber die Lösungen der Verformung an den entsprechenden Knoten der Komponente "Ende" als Textdatei exportieren über das hinzufügen eines Command Objects in der WB. Leider habe ich noch keinerlei Erfahrung unter der Programmiersprache APDL. Ich verlange keine Musterlösung für das Problem Will es ja selber lernen, jedoch hab ich keinerlei Ansatz für die entsprechenden Befehle und wo ich das Object einfügen soll. Ich würde von der Durchführung theoretisch folgendermaßen vorgehen: 1.) Komponente aufrufen 2.) Einlesen der Knotenergebnisse, die ja irgendwo versteckt sein müssen 3.) Das Abfragen bzw. Aufrufen der intressierenden Lösung (hier: Gesamtverformung der Komponente "Ende") 4.) Vielleicht die Struktur der Ergebnisse/Ausgabe definieren (am besten Tabellenform: Knotennr., u-Verschiebung) 5.) Speicher der Ergebnisse in einem bestimmten Format (am Besten Textdatei *.txt) 6.) Exportieren der Datei in einem definierten Pfad Vielleicht denk ich einfach zu kompliziert und mach es mir nur umständlich, über Anregungen würde ich mich echt freuen. Das man unter WB durch Rechtsklick der Ergebnisse die Datei exportieren kann weiss ich und das funktioniert auch, jedoch ist das für die weiteren Untersuchungen sehr unpraktisch. Vielen Dank schonmal, LG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Telesto Mitglied Student
Beiträge: 9 Registriert: 15.06.2011 Ansys WB V14
|
erstellt am: 14. Apr. 2013 17:28 <-- editieren / zitieren --> Unities abgeben:
Hi, ich hab mittlerweile einen einigermaßen funktionierenden Ansatz erstellt (siehe angehängte input.txt - Datei): Das funktioniert soweit, jedoch ist dier Form der Ausgabe noch nicht so wie ich die haben wollte. Bisher erhalte ich die in der ergebnisse.txt - Datei dargestellte Form, Knotennummer, ux-Verschiebung, uy-Verschiebung, uz-Verschiebung ..... Knotennummer, x-Koord., y-Koord., z-Koord. ..... Knoten 1, Knoten 2, ..., Knoten 8, Attributte ... , Elementnummer, Knoten 9, Knoten 10 .... diese Form kann ich als Notlösung nehmen, aber wie schon gesagt sehr unpraktisch. Das Zielformat meiner ergebniss.txt - Datei sollte so aussehen:
Knotenummer, x-Koord., y-Koord., z-Koord., ux-Verschiebung, uy-Verschiebung, uz-Verschiebung ... Elementnummer, Knoten 1, Knoten 2, ... !Die entsprechenden Knotennummern des Elements .... Meine Fragen:
1.) Wie kann ich das Format für einen Integer definieren für meine Knotennummern, habe bis jetzt als Ersatz das Format F8.1 verwendet. 2.) Wie kann ich die Knotenkoordinaten mit der *get Funktion auslesen, um diese noch in mein gewünschtes Format umzusetzen (s. oben) ? 3.) Wie kann man die Elementnummer auslesen, sowie die entsprechenden Knotennummern, um auch hier das gewünschte Form zu erhalten (s. oben) ? Ich hoffe nun, das mir jetzt wenigstens jemand paar Tipps geben kann. Das wär sehr nett und hilfreich.
Danke schonmal im Vorraus. LG [Diese Nachricht wurde von Telesto am 14. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Achim007 Mitglied Dipl. Ing. (FH)
Beiträge: 734 Registriert: 23.09.2008 Workbench 2.0 ANSYS15.0 Mechanical DesignModeler
|
erstellt am: 14. Apr. 2013 20:48 <-- editieren / zitieren --> Unities abgeben: Nur für Telesto
Hallo, anbei ein Auszug aus der *get-Hilfe 2.) Wie kann ich die Knotenkoordinaten mit der *get Funktion auslesen, um diese noch in mein gewünschtes Format umzusetzen (s. oben) ? Knotenkoordinaten NX_123=NX(123) NY_123=NY(123) NZ_123=NZ(123) 3.) Wie kann man die Elementnummer auslesen, sowie die entsprechenden Knotennummern, um auch hier das gewünschte Form zu erhalten (s. oben) ? siehe Anhang es stehen noch mehr Möglichkeiten in der Hilfe. Einfach mal nachschauen ------------------ Viele Grüße Achim PS: Als Anerkennung für einen Beitrag freu' nicht nur ich mich über Unities Was ist der Unterschied zwischen Theorie und Praxis? Theorie ist, wenn man alles weiß und nichts funktioniert - Praxis ist, wenn alles funktioniert und keiner weiß warum (Autor unbekannt) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MESHPARTS Mitglied
Beiträge: 411 Registriert: 08.03.2013 Meshparts Software (https://www.meshparts.de/products) Ansys SolidWorks
|
erstellt am: 14. Apr. 2013 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für Telesto
Hallo, deine Teillösung habe ich noch ein wenig geändert und mit der Ausgabe der Elemente erweitert. Die Selektion der Elemente und der Nodes musst du in den unteren Code an die kommentierten Stellen einfügen. Viele Grüße Alex Code:
set,1,1 nsel,all ! select your nodes first *get,nanz,node,,count !Knotenanzahl: "nanz" *del,ergebnisse *dim,ergebnisse,ARRAY,nanz,7 ! nanz(Zeilen) x 4(Spalten) Array-Feld erzeugt: "ergebnisse" *set,nd,ndnext(0) *do,i,1,nanz *set,ergebnisse(i,1),nd *set,ergebnisse(i,2),nx(nd) *set,ergebnisse(i,3),ny(nd) *set,ergebnisse(i,4),nz(nd) *set,ergebnisse(i,5),ux(nd) *set,ergebnisse(i,6),uy(nd) *set,ergebnisse(i,7),uz(nd) *set,nd,ndnext(nd) *enddo *mwrite,ergebnisse,export,txt (1F8.0,7E20.10) !(1i8,7E20.10) ! is not allowed...nsel,all esel,all ! select your elements first *get,eanz,elem,,count *del,elements *dim,elements,ARRAY,eanz,20 ! an element can have up to 20 nodes *set,el,elnext(0) *do,i,1,eanz *set,elements(i,1),el *do,j,1,20 *set,elnode,nelem(el,j) ! get node on position j of element el *if,elnode,eq,0,exit ! break loop if no more nodes available on this element *set,elements(i,1+j),elnode *enddo *set,el,elnext(el) *enddo *mwrite,elements,elements,txt (21F8.0) !(21i8) ! is not allowed...
------------------ MESHPARTS Tuning Your Simulation www.meshparts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Telesto Mitglied Student
Beiträge: 9 Registriert: 15.06.2011 Ansys WB V14
|
erstellt am: 14. Apr. 2013 21:23 <-- editieren / zitieren --> Unities abgeben:
|
Telesto Mitglied Student
Beiträge: 9 Registriert: 15.06.2011 Ansys WB V14
|
erstellt am: 14. Apr. 2013 22:31 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, also ich hab das nun mit eurer Hilfe hingekriegt Danke. Hab noch eine kurze Frage. Ist es möglich, dass man in den exportierten Dateien einen Kommentar voranstellen kann und dann erst die Daten in das Array gefüllt werden. Also sowas wie einen Header, wo ich dann bspw. die Namen der Spalten reinschreiben kann und für einen Benutzer somit die Datenstruktur ersichtilich wird? LG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gregg Mitglied
Beiträge: 59 Registriert: 18.01.2013 Catia V5R16 Creo 1.0 Parametrics Ansys Workbench 14.0 Win 7 Prof. 64 bit
|
erstellt am: 27. Nov. 2013 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für Telesto
Also ich mach das so (sehr unsauber, aber ich weiß nix besseres) /output, Knotennummern, txt *vwrite ### Tool Center Point ### nlist ! Selektion Motorknoten *vwrite ### Strebe 1, Stator ### nsel,a,node,, Motor1_Ref ! Strebe 1, Stator *vwrite ### Strebe 1, Rotor ### nsel,a,node,, Motor1_mob ! Strebe 1, Rotor *vwrite ### Strebe 2, Stator ### nsel,a,node,, Motor2_Ref ! Strebe 2, Stator Dabei ist es wichtig, *vwrite und den zu schreibenden Text per Zeilenumbruch voneinander zu trennen. Sogar Kommentare werden ignoriert und mitgeschrieben. Der nächste Zeilenumbruch beendet dann *vwrite
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|