| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Daten jedes face/cell aus Set ausgeben (1027 mal gelesen)
|
CF-D Mitglied Student
 Beiträge: 5 Registriert: 11.02.2015 Betriebssystem: Win7 CentOS
|
erstellt am: 19. Aug. 2015 15:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe OpenFOAM-Gemeinde, ich simuliere derzeit eine Strömung in einem stark vereinfachten Büroraum (3D). Die CFD-Simulation sieht ganz gut aus und funktioniert soweit auch. Für die Auswertung und Weiterverarbeitung der Ergebnisse benötige ich die Volumen-/Massenströme aus und in definierte Luftzonen - sprich die Volumenströme über die Berandungsflächen der Luftzonen. Diese Berandungsflächen (FaceSets) erstelle ich mithilfe von TopoSet. Die Volumenströme berechne ich mir mittels der Toolbox Swak4FOAM. Code:
Volumenstrom durch die Fläche F1 (FaceSet) flow_F1 { type swakExpression; valueType faceSet; setName valveFaceSet_F1; expression "phi*flip()"; accumulations ( sum ); verbose true; autoInterpolate true; } //----------------------------------------------------------------- gemittelte Temperatur der Fläche F1 (FaceSet)
temp_F1 { type swakExpression; valueType faceSet; setName valveFaceSet_F1; expression "T"; accumulations ( weightedAverage ); verbose true; autoInterpolate true; }
Für die Weiterverarbeitung mit Matlab hat sich aber gezeigt, dass es für mich besser wäre wenn ich anstatt der summierten bzw. gemittelten Werte der FaceSets eine Tabelle/Liste/Datei ect. hätte in welcher die einzelnen Werte der Face für Temperatur, Fläche und Volumenstrom enthalten sind. Gibt es eine Möglichkeit sich die Zustände der einzelnen Faces bzw Zellen eines Sets ausgeben zu lassen? ------------------ ------------------------------------------------------ Vielen Dank und viele Grüße Christopher
[Diese Nachricht wurde von CF-D am 19. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 19. Aug. 2015 15:56 <-- editieren / zitieren --> Unities abgeben:          Nur für CF-D
Hallo Christopher, auf die schnelle kann ich dir nur zwei Sachen empfehlen: [list] [*] die erste ist gerade aus m Bauch raus und zwar könntest du ggf. debug flags in swak4Foam setzen, damit du die Werte bekommst. Weiß aber nicht ob das funktioniert. Heißt also den Output in ne Logfile und mit grep / awk oder sonst was die Datei bearbeiten. [*] die zweite ist einfach und maximal n paar Zeilen Code [/code] Du machst ne neue Applikation und liest deine Sets (am besten via Argumente), danach iterierst du lediglich über die CellSets / faceSets und lässt dir das ausgeben. Genau das gleiche habe ich am Sonntag in nen Code implementiert, den ich etwas überarbeitet habe. Anregungen findest du hier: https://bitbucket.org/shor-ty/comfortfoam/
Code:
//- Include cell ID's of cell set List<scalar> cellSetList; if (args.optionReadIfPresent("cellSet", cellSetName)) { Info<< "Reading cell set from " << cellSetName << endl; cellSet tmp(mesh, cellSetName); //- Add all cells that are in the cellSet to cellList forAll(mesh.C(), cellI) { if (tmp[cellI]) { cellSetList.append(cellI); } } } //- If no cell set is used, all cells are used for calculation else { forAll(mesh.C(), cellI) { cellSetList.append(cellI); } } . . . forAll (cellSetList, labelI) { const int cellI = cellSetList[labelI]; Info<< "Cell: " << cellI << "\t T: " << T.internalField()[cellI] << "\n"; }
Das ist natürlich nur ein Beispiel. Wie du das machst überlass ich dir. Wahrscheinlich gehts noch einfacher aber da ich nicht immer alle Funktionen von FOAM kenne ist das die Lösung die ich am Sonntag gemacht habe. Hoff das es dir hilft. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Technischer Produktdesigner (m/w/d) | STÜBBE ist am Standort in Vlotho im Kreis Herford, in Nordrhein-Westfalen, zuhause. Hier ist unsere Zentrale mit der Verwaltung, Entwicklung und einer unserer Produktionsstätten. Zudem ist STÜBBE in mehreren Ländern Europas wie auch in China vertreten. Um unserem hohen Anspruch und den stetig wachsenden Marktanforderungen gerecht zu werden, sind wir auf der Suche nach Mitarbeitern, die mutig sind, die Ärmel hochkrempeln, Neues ausprobieren und so unser Team langfristig bereichern.... | Anzeige ansehen | Feste Anstellung |
|
CF-D Mitglied Student
 Beiträge: 5 Registriert: 11.02.2015 Betriebssystem: Win7 CentOS
|
erstellt am: 19. Aug. 2015 17:19 <-- editieren / zitieren --> Unities abgeben:         
Hallo Tobias, vielen Dank für die beiden Hinweise und die Anregungen in deinem Link. Ich werde mich an den beiden Methoden versuchen auch wenn beides für mich noch neu ist. ------------------ ------------------------------------------------------ Vielen Dank und viele Grüße Christopher Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |