Autor
|
Thema: Daten-output während der Rechnung mit UDF? (1770 mal gelesen)
|
fliegding Mitglied
Beiträge: 3 Registriert: 15.05.2006
|
erstellt am: 15. Mai. 2006 12:55 <-- editieren / zitieren --> Unities abgeben:
Hallo, Mein Problem ist folgendes: Ich lasse eine instationäre Rechnung (Fagottrohr 2d) laufen und würde gern mittels einer UDF alle 5 Zeitschritte Daten (z.B. Druck, Dichte, ...) an ausgewählten Punkten ausgeben und in Dateien speichern lassen. Im Grunde sollte das doch kein Problem sein! Ich finde bloß kein Beispiel für sowas und komme selbst nicht auf einen funktionierenden C-Code. Ich habe nur eine Reihe von Ideen: Die Punkte an denen ich die Werte brauche habe ich schon in 2 thread-Gruppen eingeteilt, es wird sicher irgendwas mit "DEFINE_ON_DEMAND" zu tun haben und ich hätte gern pro Zeitschritt eine Datei. Hat jemand das schon mal gemacht? Vielen Dank Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pmax Mitglied
Beiträge: 161 Registriert: 16.08.2004
|
erstellt am: 15. Mai. 2006 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
hallo, Also du musst eine subroutine erzeugen: hier eine Beispiel ------------------------ static void write_data_file (real time, real loc, real velo, real force) { FILE *fp = fopen(UDF_DATA, "a+"); fprintf (fp, "%e %e %e %e \n", time, loc, velo, force); fclose (fp); } -------------------------------- und dann in deinem UDF wo du Daten schreiben willst, einfach: write_data_file (time,loc,velo,force); that's it! aber hier kriegst alle Daten für alle Timestep. wenn dein File zu gross ist, um Kurve zu kriegen (im Excel z.B.) dann musst ein bischen basteln... aber mit Excel kannst du bis etwa 400 000 Punkten bearbeiten... sonst Gnuplot! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fliegding Mitglied
Beiträge: 3 Registriert: 15.05.2006
|
erstellt am: 18. Mai. 2006 02:56 <-- editieren / zitieren --> Unities abgeben:
|
pmax Mitglied
Beiträge: 161 Registriert: 16.08.2004
|
erstellt am: 18. Mai. 2006 06:09 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
Hallo, es fonktionniert bei mir und perfekt. Diese subroutine (klein subroutine) musst du in dein UDF (global) schreiben. Dein UDF (global) ist einfach eine Liste von viel subroutine (klein UDF) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fliegding Mitglied
Beiträge: 3 Registriert: 15.05.2006
|
erstellt am: 22. Mai. 2006 15:31 <-- editieren / zitieren --> Unities abgeben:
Hi pmax Wenn ich "static void .... fclose (fp); }" in den globalen Teil meiner UDF schreibe, kommt beim compilieren ein Syntax-Error. Welche Headerfiles verwendest du? Ich verwende bis jetzt nur die udf.h. Grüße Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pmax Mitglied
Beiträge: 161 Registriert: 16.08.2004
|
erstellt am: 22. Mai. 2006 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
|
kippo Mitglied Vetriebsingenieur
Beiträge: 25 Registriert: 02.06.2005
|
erstellt am: 25. Aug. 2006 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
ACHTUNG: Daten rausschreiben funktioniert aber nur bei einem Prozessor :-)) ich schreibe zb. nach jedem zeitschritt daten heraus. habe es mal versucht bei einer berechnung mit 2 prozessoren, da kann man leider keine ascii-daten rausschreiben. nur zur ergänzung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pmax Mitglied
Beiträge: 161 Registriert: 16.08.2004
|
erstellt am: 25. Aug. 2006 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
|
lokm Mitglied
Beiträge: 17 Registriert: 23.09.2008
|
erstellt am: 27. Sep. 2009 22:12 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
Hallo, ich habe genau das Problem, dass ich be Mehrkernnutzung von Fluent 5/6 bzw. Ansys12-Workbench auch Ascii-Dateien heraus schreiben möchte und mir bisher gesagt wurde das dies nur bei 1-Kern-Prozessen möglich ist. Die Frage geht jetzt speziel an pmax: wie habe ich vorzugehen, um bei z.b. 4 Kernnutzung Ascii-Dateien zu erstellen? In meinem Fall ist es ne 3-D-Rechnchnung. [Diese Nachricht wurde von lokm am 27. Sep. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
iorga Mitglied Konstrukteur, Dipl.-Ing. Maschinenbau
Beiträge: 95 Registriert: 21.02.2004
|
erstellt am: 15. Mrz. 2019 20:30 <-- editieren / zitieren --> Unities abgeben: Nur für fliegding
Hallo, Ich gehe davon daß nicht die Nummer der Kerne ist schuldig, sondern das Betriebsystem des Computers. Bei Windows XP habe ich daten als Datei.txt von Fluent bekommen. Mit deselbe Fall bei Windows 7, 8.1,und 10 nix bekommen, ohne Fehlermeldung. Ich denke das die Virtualisierung oder Verschachtelung in letzte Betriebsysteme macht daß Fluent erkennt nicht die Austritt als ASCII von Daten in Datei. Kann jemanden von Ansys etwas zu sagen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |