Autor
|
Thema: changeDictonaryDict, sHM (2809 mal gelesen)
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 15. Okt. 2011 18:07 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich arbeite mich gerade in ein paar UTILITYS von OF ein. Unter anderem habe ich zwei Fragen. Zuerst zu sHM (interesserhalber). Ich generiere mir einen Würfel in Salome. Auf einer Seite habe ich noch ein rundes outlet-"Loch". Als Flächen definiere ich nun folgendes: Fläche 1 -> Fläche vom Outlet Fläche 2 -> Alle restlichen Flächen Diese habe ich als STL gespeichert und habe jetz in sHM zwei Möglichkeiten die Vernetzung zu erzeugen. Type #1
Code:
wall.stl { type triSurfaceMesh; name wall; } outlet.stl { type triSurfaceMesh; name outlet; }
Funktioniert und ich hab mein gewünschtes Ergebnis. Type #2 - ich setze die zwei STL in eine STL und arbeite mit Regionen Code:
main.stl { type triSurfaceMesh; name main; regions { wall { name wall; } outlet { name outlet; } } }
exakt das gleiche Ergebnis. Kann es sein das man mit den Regionen dann arbeitet, wenn man mehrere Einzelparts (Assembly like) hat, diese dann vernetzen will aber zusätzlich in jeder Hauptregion einzelne Flächen anderst für die Vernetzung definieren will? Die Frage ist wann man diese oder jene Variante verwendet - kann es sein das dies auch USER abhängig ist? Dann zu changeDictonaryDict und dessen Befehl.
Bislang hab ich es nur geschaft die Dateien zu ändern. Die Frage die offen bleibt ist, ob es möglich ist auch Einträge zu löschen: Beispiel boundary: Code:
3 // ändern auf 2 { defaultFaces // soll gelöscht werden { // soll gelöscht werden type wall; // soll gelöscht werden nFaces 0; // soll gelöscht werden startFace 52166; // soll gelöscht werden } // soll gelöscht werden wall_wall { type wall; nFaces 8806; startFace 52166; } outlet_outlet { type wall; nFaces 179; startFace 60972; } }
wird zu
Code:
2 { wall_wall { type wall; nFaces 8806; startFace 52166; } outlet_outlet { type patch; nFaces 179; startFace 60972; } }
BUG bei SHM und DECOMPOSEPARTDICT Ich arbeite mit 2.0.x und muss immer wenn ich sHM verwende die methode scotch auf ptscotch ändern. Beim Solving jedoch will er wieder den Eintrag scotch. Ist irgendwo bei der neuen Version wohl in einer Stelle des Codes noch nicht von scotch auf ptscotch geändert worden. Würd mich interessieren wie ich das beheben kann - nervt nämlich.
Grüße Tobi [Diese Nachricht wurde von Shor-ty am 15. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 18. Okt. 2011 20:14 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
Hallo Shorty, leere Patches im boundary file werden von createPatch aufgeräumt. Mit changeDictionary geht es meines Wissens nicht. Den Ansatz bei Flächen bei SHM über Regions zu beschreiben finde ich etwas ungewöhnlich. Muss aber nicht heißen, dass es es falsch ist. Regions würde ich eigentlich im wesentlichen bei Volumenregionen verwenden, d.h. um eine Region zu definieren, in der ich ein Volumenrefinement machen möchte oder wo eine cellZone erstellt werden soll, die ich später verwenden möchte (porous/MRF). Gruß Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 18. Okt. 2011 21:10 <-- editieren / zitieren --> Unities abgeben:
Hey Ulrich, danke für deine Antwort. Werde mir das Tool createPatch mal anschauen und mit sHM hab ich 's nun verstanden Muss ich die STL (Region) dann in RegionRefinement unterbringen (klingt logisch). Wenn wir gerade dabei sind. Kann man irgendwie mit setFields STL (Volumenkörper) anstellen anstelle von Boxen vordefinieren? Grüße Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 19. Okt. 2011 18:01 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
Hallo Tobi, in SetFields nicht, aber ein Weg wäre so: Man verwendet in SnappyHexMesh den Bereich, den man später intialisieren als eigene stl-Region und läßt sich hierzu eine cellZone (eventuell + faceZone) erstellen. Dann erhält man von Snappy die entsprechende Zone (zumindest meistens) und kann die cellZone zur Initialisierung verwenden. Gruß Ulrich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Okt. 2011 18:11 <-- editieren / zitieren --> Unities abgeben:
Erstellt sHM selber die cellZone für die Region bzw. wie komm ich an diese? Beispiel: wenn cih jetzt eine Flasche als STL habe und diese später komplett mit Wasser füllen will, stell ich das wie an? Gibts ein Tool cellZones? Ich finde nur cellSets oder gibts bei sHM diverse Einstellungen? Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 25. Okt. 2011 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 25. Okt. 2011 10:29 <-- editieren / zitieren --> Unities abgeben:
Hey ... joa ich weiß wie du das meinst - wie beim chtMultiRegion snappyHexMesh Tutorial Code:
flasche_initialisierung { // Surface-wise min and max refinement level level (1 1); faceZone flasche_initialisierung; cellZone flasche_initialisierung; cellZoneInside inside; }
Und ich muss die Flasche - wenn ich diese halb füllen möchte - in zwei geschlossene STL zerlegen (seh ich das richtig?). Oder kann ich auch eine offene STL verwenden (muss ich mal versuchen was er mir dann rausschreibt).
Aber ich weiß wie du das meintest In SetFields kann ich dann wohl die cellZones angeben oder? Grüße Tobi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 25. Okt. 2011 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
Hallo Tobi, meines Wissens muss die cellZone aus SHM in ein cellSet umgewandelt werden, damit man sie in setFields verwenden kann. Ich habe ein Beispiel mal hochgeladen. Ich hoffe es funktioniert, die Datei ist etwas größer als zulässig. Nach dem Entpacken einfache "sh foam_mesh.sh" ausführen, dann "sh foam_pre.sh". Die CellZone (MRF-Zone) wird mit setSet in ein cellSet umgewandelt mit cellToCell { set MRF_PARA; } in setFields verwendet werden kann (s. foam_pre.sh und setFields_sn). Vielleicht geht es noch einfacher, aber der Weg sollte sicher (und automatisierbar) sein, worauf es mir vor allem ankommt. Gruß Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |