Multiple regions with a porous zone
3 Attachment(s)
Having read this thread (and the links), I cannot figure out how to mesh two domains. In the image below you can see I have a cube shaped domain (orange), with a black duct. The duct has a wall thickness, so air can pass through the duct or around it. Inside the duct is a "radiator," which to use porousZones, must be a separate cell zone.I have inlet (green), outlet (blue), and walls (red) for this separate zone.
the duct and the domain (and the inlet/outlet) are written to flow.stl, and the radiator inlet/outlet and walls (red) are written to rad.stl. Then I use the following snappyhexmeshdict: Code:
// Which of the steps to run |
Greetings Robert,
I've moved your post from the other thread http://www.cfd-online.com/Forums/ope...e-regions.html, because this is a topic that deserves its own thread! Tobi is trying to meld several regions into a single one, while you are trying to generate a multi-region mesh with porous regions, which is a whole other problem ;) A few suggestions, ideas and questions:
Bruno |
Quote:
Fair enough on the thread move. 1.) The problem is already a simplification! The real problem is [going to be] a full vehicle, where a duct within the bodywork carries air to and from a porous zone. I know a non-aligned mesh is bad for the solution, but I am not going to solve this - I'm just testing the meshing strategy. 2-3.) In the end I want a fluid zone that encloses the actual radiator (where I will apply porous zones), and another region which does both upstream and downstream to connect with thee external flow domain around the vehicle. So two cellZones total: external flow, and porous zone. Basically, the only way I can mesh this correctly is for the mesh to stop at the inlets and outlets (and not mesh inside the radiator). What I am looking for is a way to tell snappyhexmesh that the inlet and outlet faces are just faceZones that I want included in the mesh, not walls where the mesh should end! Any ideas? I know I would just mesh the outside first, the inside separately, and then merge them - with a non conformal interface set on the shared inlet/outlet faces. But doing it in one step would be quicker and easier! |
From what I saw now in the tutorial "incompressible/porousSimpleFoam/angledDuctExplicit", you do need the mesh to be generated the way that you've described, namely to have both cell zones: one for the radiator and another for the external air.
Having just the face zones won't be enough. When snappyHexMesh handles cell zones, it has to mesh all sides of the surfaces, which can lead to some problems if mesh resolution and mesh orientation aren't well adjusted locally. It's not a solution issue, it's a meshing issue! This is why I was suggesting that you align the base mesh as much as possible with the radiator surfaces. |
Hi Robert,
I've been playing around with snappyHexMesh since yesterday and the best I got is here: https://www.dropbox.com/s/m3mnh3js6x...tSnappy.tar.gz ... at least while doing things without the assistance of SwiftBlock and SwiftSnap. It is based on the tutorial "incompressible/porousSimpleFoam/angledDuctImplicit", where I replaced using blockMesh+m4 with blockMesh+snappyHexMesh. The scripts Allrun and Allclean do all of the necessary steps for running and cleaning the case. Best regards, Bruno |
4 Attachment(s)
Quote:
When I run snappyhex, I get two cellZones, just as I hoped! However, I need a faceZone in between them (to measure mass flow rate), and this zone doesn't exist! In paraview I can see the radiator inlet/outlet patch, but it is empty! The third photo shows the resulting two-cellZone mesh read into paraview. You can see the radiator in the middle, but there is clearly non a conformal interface between the radiator cellzone and the external cellZone. This means (if I understand correctly) that there should be a patch in between the two, but the patch that would define this surface (OUTLET_to_flow) is empty (0 faces)! I noticed the following statements in the log about this zone, which are curious.... I am attaching my files, so anyone interested can have a better look.... just run blockmesh and snappyhexmesh to reproduce the case. Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Code:
Introducing zones for interfaces Code:
Morphing phase |
Quick answer: I can't look into this any time soon, but my suggestion is that you search for information on how to use "topoSetDict", because I vaguely remember it's possible to make a selection of faces (a "faceSet") by using an STL file as a reference. Then you can convert that "faceSet" to a "faceZone" with topoSet or setSet.
|
1 Attachment(s)
Hi,
I want to do something very similar to angledDuctImplicitSnappy, but with a circular pipe. I used the files of wyldckat but I have a problem: the background mesh isn't being deleted (look the image). I created different .slt for the pipe and for the porous region. I divided the .stl of the whole pipe in inlet, outlet, porouswall and wall region. (files attached) http://i.imgur.com/6BEGLvB.png What I'm doing wrong? Could please someone help? Please please please Code:
/*--------------------------------*- C++ -*----------------------------------*\ |
Check after loading the mesh for final time. It appears that the mesh is at 0 time, which will be block in your case.
|
Hello everyone,
I am facing a similar problem. I have a mesh (msh file from ansys) constituted by several zones: fluid-gas, fluid-porous, fluid-outlet, solid-1, solid-2, etc .... Using the following utilities I convert the mesh to openfoam format: fluentMeshToFoam file.msh -writeZones -writeSets setToZones -noFlipMap splitMeshRegion -cellZones -overwrite In this way, the original mesh is split into several regions, one for each zones. What I would like to obtain instead, they are only two regions (solid and fluid) each characterized by own multi cellZones. For instance -region fluid with cellZones fluid-gas, fluid-porous, fluid-outlet -region solid with cellZones solid-1, etc .. Could you kindly provide me any advice to solve this problem? Thank you in advance for your availability Tiziano |
All times are GMT -4. The time now is 00:59. |