Autor
|
Thema: chtMultiRegionSimpleFoam (unterschiedliche Randbedingungen auf einem Interface) (1368 / mal gelesen)
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 19. Apr. 2016 10:14 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich habe folgende Geometrie wie im Bild zu sehen. Solid2 sind Wände, das Fluid ist Luft und Solid1 ist eine Wand die von der Luft umgeben ist. Ich würde gerne auf der roten Fläche eine andere Bedingung vorgeben als auf den grünen Flächen. Bei den grünen Flächen will ich compressible::turbulentTemperatureCoupledBaffleMixed vorgeben und für die rote Fläche möchte ich eine Temperatur oder einen Wärmestrom vorgeben. Ich weiß nicht wie ich die Flächen des Interface Solid1/Air aufteilen kann um unterschiedliche bedingungen vorzugeben! ich kann bei der Erstellung der stl von Solid1 zwar die Flächen aufteilen, die dann auch in constant/polyMesh/boundary stehen, aber nach splitMeshRegion wird das Interface Solid1/Air als eine zusammenhängende Fläche gebildet, was ja dann in constant/Solid1/polyMesh/boundary steht. Gibt es eine Möglichkeit die boundary des Interface im Vor-, Nachhinein zu ändern/splitten? Ich verwende snappyHexMesh um die cellZones zu erstellen (weil ich snappy für spätere Geometrien verwenden werde). Code: refinementSurfaces { Air { // Surface-wise min and max refinement level level (1 1); faceZone Air; cellZone Air; cellZoneInside inside; } Solid1 { // Surface-wise min and max refinement level level (1 1); faceZone Solid1; cellZone Solid1; cellZoneInside inside; } Solid2 { // Surface-wise min and max refinement level level (1 1); faceZone Solid2; cellZone Solid2; cellZoneInside inside; } // Resolve sharp angles resolveFeatureAngle 30;
Grüße Christof 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. Apr. 2016 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hi Christof, dieses Problem wurde hier schon öfter angesprochen. Habs aber selber noch nicht so gelöst wie ich das gerne hätte, da auch kaum Zeit da ist. Alternativ und sehr easy ist folgendes. Nachdem Befehl splitMesh -cellRegions hast du dann für Solid2 ja nur noch eine boundary. Du kannst jetzt entweder mit setSets deine Faces neu ordnen; heißt du machst ein faceSet das alle roten Faces enthält und konvertierst das mit createPatch in eine neue Boundary um oder du tippst einfach "autoPatch" ein. Dazu musst du aber das Polymesh von constant/solid2/polyMesh auf constant/polyMesh verschieben, dann autoPatch laufen lassen und danach den constant/polyMesh wieder in constant/solid2/polyMesh schieben. AutoPatch erstellt automatisch, anhand eines Alogrithmus, selbständig Patches. Vllt gehts, vllt auch nicht. Kann auch sein das er dir 20 neue Patches rausschreibt. Somit also Try and Error. Ich persönlich mach alles nur noch mit Sets. Ich glaube aber Micha hat hier auch eine Lösung gefunden. Ggf. sogar mit snappyHexMesh. ------------------ Viele Grüße, Tobias Holzmann 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. Apr. 2016 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 19. Apr. 2016 11:02 <-- editieren / zitieren --> Unities abgeben:
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 19. Apr. 2016 13:43 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, ich hätte noch eine andere Frage! Gibt es eine inlet/outlet BC bei der man keine Geschwindigkeit vorgeben muss, sondern die sich aufgrund, wie hier Konvektion, einstellt? Ich will die Luft nicht als geschlossenen Raum definieren (Bild große Pfeile), aber wenn ich inlets/outlets definiere, muss ich ja wie bei fixedValue i.d.R. eine Geschwindigkeit vorgeben. Ich hätte aber gerne, dass diese sich aufgrund der Konvektion einstellt. Wenn ich einen geschlossenen Raum verwende, dann erhitzt sich die Luft ins unermessliche, bei einem definierten Wärmestrom, da diese nicht entweichen kann. Vielen Dank [Diese Nachricht wurde von cristopf am 19. Apr. 2016 editiert.] [Diese Nachricht wurde von cristopf am 19. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Micha6982 Mitglied Akademischer Mitarbeiter
Beiträge: 130 Registriert: 20.01.2014 ubuntu 16.04 Salome 7.7.1 & 7.8.0 OpenFOAM 3.x & 4.x
|
erstellt am: 21. Apr. 2016 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 21. Apr. 2016 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Zitat: Original erstellt von Micha6982: Hallo cristopf,auch zu dieser Frage gibt es einige Beiträge hier im Forum. Einfach mal kurz durch die Übersichtsseite blättern.
Hey Micha, nur mal in den Raum gefragt. Was würdest du verwenden ? Und ja es gibt Randbedingungen die deinen Flux aufgrund von bspw. der Druckbedingung berechnen oder eben einfach die erste Ableitung zu Null setzen (vorsicht!). Ich hätte jetzt schon ein Randbedingungs-Satz im Kopf, würde aber bedeuten das du 3 Patches dafür benötigst. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |