| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Temperaturausgabe in .txt bei thermisch transienter Analyse (1099 / mal gelesen)
|
Simon1993 Mitglied Student
Beiträge: 8 Registriert: 16.02.2016
|
erstellt am: 22. Mrz. 2016 11:25 <-- editieren / zitieren --> Unities abgeben:
Hallo alle zusammen. Ich bin gerade dabei ein Laserschweißvorgang zu simulieren. Das funktioniert auch alles soweit ganz gut, nur komme ich an einem Punkt nicht weiter. Zur Erklärung: Es ist ein 2D-Modell, das in Ansys Workbench erstellt und gerechnet wurde. Allerdings bekomme ich als Ausgabe in der Lösung nur die globale maximale bzw. minimale Temperatur. Ich hätte aber gerne, dass ich mittels Befehl in der Lösung einen bestimmten Bereich auswählen kann auf meinem Modell und ich eine Ausgabe in eine .txt habe mit folgenden Werten: "Zeit, Temperatur" Auswählen kann ich den Bereich über ein lokales Koordinatensystem und NSEL,S,LOC,X,0,Radius. Dann die Temperatur jedes einzeln selektierten Knoten auslesen (mit *get,...) und damit ein Mittelwert bilden, der dann in einer Variable gespeichert wird. (Das alles in einer *do-Schleife) Aber wie schaffe ich es, dass ich diese Variable dann mit der Zeit des jeweiligen Substebs in eine .txt speichern kann. Vielen Dank schon mal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cgebhardt Moderator Maschinenbauingenieur
Beiträge: 1449 Registriert: 20.11.2000
|
erstellt am: 22. Mrz. 2016 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Simon1993
Mit *CFOPEN ein File anlegen. Mit *CFWRITE die Daten reinschreiben. Mit *CFCLOSE das File schließen. Man kann aber auch in der Workbench ein lokales Ergebnis erzeugen (Temperatur auf Fläche, Kante, Punkt, Position) und dann bekommt man in der Workbench eine Tabelle mit Zeit und Temperatur. Braucht keine einzige Zeile Code. Per Cut und Paste kann man das nach Excel übertragen, vielleicht auch per rechter Maustaste per Export (weiß ich nicht aus dem Kopf). Lokale Ergebnisse: Fläche/Kante/Punkt selektieren, Ergebnis erzeugen. Bei Positionen geht das über die Probe-Funktion. Viele Grüße CG
------------------ Christof Gebhardt CADFEM GmbH Marktplatz 2 85567 Grafing Tel. +49 (0) 8092 7005 65 cgebhardt(at)cadfem.de www.cadfem.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Simon1993 Mitglied Student
Beiträge: 8 Registriert: 16.02.2016
|
erstellt am: 22. Mrz. 2016 16:32 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Das mit dem lokalen Ergebnis ist mir bekannt. Ich will es aber so gestalten, dass man meine Berechnungen mit jeder beliebiger Geometrie etc. benutzen kann und nur die Initialparameter ändern muss in dem ganzen Code, den ich schon geschrieben habe. (In Hinblick auf Nutzer, die sich gar nicht mit Ansys auskennen) Ich will es quasi so verallgemeinert gestalten, wie ich nur kann, auch wenn das deutlich mehr Arbeit für mich bedeutet. Hier mal mein Code, den ich mir überlegt habe mit dem Vorschlag. Denke, dass das so funktionieren würde. (Kann ich leider erst morgen früh testen..)
Code:
*cfopen,test,txt *do,i,1,n . . . . local,11,1,X-Wert,Y-Wert csys,11 nsel,s,loc,X,0,Radius *get,z,node,0,count *get,n_min,node,0,num,min *do,i,1,z n_min=s_node nsol,c_temp,s_node,temp o_temp=o_temp+c_temp *get,n_min,NODE,s_node,NXTH *endo a_temp=c_temp/z *get,a_zeit,active,0,time *cfwrite,a_zeit,a_temp . . . . *endo *cfclose
Kurze Erklärung: Erst wird das lokale Koordinatensystem definiert und in dieses gewechselt, dann die Knoten ausgewählt und dann in der *do-Schleife die mittlere Temperatur gebebildet und in die Textdatei geschrieben. Und eine Frage noch. Ich könnte das ganze doch auch eigentlich in mein Commandblock, in dem ich eh alles mache, einfügen. Also nicht extra einen bei den Ergebnissen erstellen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cgebhardt Moderator Maschinenbauingenieur
Beiträge: 1449 Registriert: 20.11.2000
|
erstellt am: 24. Mrz. 2016 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für Simon1993
Zwei Hinweise: Die Knotentemperatur wird hier gemittelt durch Aufsummieren und Teilen. Das ist nur bei gleichmäßigen Knotenabständen zulässig. Eine Alternative wäre, die zugehörige Elementfläche mit *get auszulesen, um die Temperatur flächengewichtet zu mitteln (nur für den Fall dass die Netzdichte variiert). Die Kommandos für die Analyse und die Ergebnisauswertung können nicht gemeinsam in ein Command Snippet. Das Command Snippet bei den Randbedingungen wird vor/während der Analyse ausgeführt, das bei den Ergebnissen danach. Deshalb kann man sie nicht zusammenwerfen. Es ist aber möglich, den ganzen Prozess so "unsichtbar" zu machen, dass der Anwender lediglich den fertigen Baum oder sogar nur eine Eingabemaske zu sehen bekommt, während alles andere im Hintergrund ausgeführt wird. Das Tool dafür ist ANSYS ACT (damit kann man auch individuelle Masken und Wizards bauen). Im Customer Portal gibt es viele kostenfreie ACT Extensions (die meist Zusatzfunktionen darstellen, deren APDL Code "nett verpackt" ist, die aber z. T. auch einzelne Arbeitsschritte bis hin zu kompletten Arbeitsabläufen automatisieren, siehe auch http://www.cadfem.de/wissen/info-veranstaltungen/info-webinare/s/13436.html) Viele Grüße CG ------------------ Christof Gebhardt CADFEM GmbH Marktplatz 2 85567 Grafing Tel. +49 (0) 8092 7005 65 cgebhardt(at)cadfem.de www.cadfem.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Simon1993 Mitglied Student
Beiträge: 8 Registriert: 16.02.2016
|
erstellt am: 24. Mrz. 2016 09:45 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Das Netzt ist natürlich regelmäßig! Habe meine Idee getestet und es funktioniert auch soweit. Denke aber nicht, dass es sehr sinvoll im Allgemeinen ist, da sich der Rechenaufwand spürbar erhöht. (teilweise 3000+ Wiederholungen der Schleife pro Iteration der Hauptschleife). Da ist das mit Komponenten auf der Fläche sinvoller. Danke für den Hinweis! [Diese Nachricht wurde von Simon1993 am 24. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|