CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [snappyHexMesh] Background Mesh in snappy with multi domain (CHT) (https://www.cfd-online.com/Forums/openfoam-meshing/96545-background-mesh-snappy-multi-domain-cht.html)

jackeyhust May 22, 2013 18:04

To post #16

Hello, Bruno,

as you said, after successful snappyhexmesh, I used surfaceToPatch to get the boundary. However, some of boundaries still have "nFaces 0", I change the tolerence from 1e-8 to 1e-5, a few faces still have "nFaces 0". Normally, boundary faces "nFaces number" will increase as the tolerence increases. Will this increase have impact on the final calculation? Some boundary faces have very low "nFaces number". I am not sure how high for this "nFaces number" is a suitable choice for the final calculation.

Do you have any experience and suggestions for this problem?

Thank you for your replies!

with best regards, good night!


Jackie

wyldckat May 22, 2013 18:48

Hi Jackie,

My guess is that the surface is inside the mesh, which leads to it not being associated to existing boundary faces... because inside the mesh there are no boundary faces.

If I remember correctly, you're trying to re-assign patch names back to the interfaces between regions. Have you split the mesh into the separate regions?

Best regards,
Bruno

jackeyhust May 23, 2013 02:05

Quote:

Originally Posted by wyldckat (Post 429382)
Hi Jackie,

My guess is that the surface is inside the mesh, which leads to it not being associated to existing boundary faces... because inside the mesh there are no boundary faces.

If I remember correctly, you're trying to re-assign patch names back to the interfaces between regions. Have you split the mesh into the separate regions?

Best regards,
Bruno

Hi, Bruno,

Thank you for the quick reply.You remember correctly. I have got the internal mesh and they are several regions, but i do not split them, I am going to re-assign patch names only for the outlets, like inlet and then outlet. It is just a box, flow in and then another outlet out. Because of some porous zones inside of the box, I have to make them several regions. But I do not split them up.

Actually, I tried to get back the internal boundary, some of them succeeds. If I only do for outlets and inlet, it is also not totally getting back the boundary .
do you think I should increase the tolerance ? Or must I split them up firstly?

Another strange thing is that when I finish snappyhexmesh and then
Use setSet to keep the needed regions, namely, delete the block. I get most of the needed mesh , but there is a small part which does not belong to my model. It is also not connected to my model. Do you know where it could come from? How can I avoid this part?

Thanks again! Look forward to your reply.

Morning!

Jackie

derekm June 17, 2016 10:28

1 Attachment(s)
Here is a solution that removes the region and moves exposed cells to an existing patch e.g. myexistingpatch

use topoSetDict to select the wanted cellsets of the wanted regions in to a single cellset e.g. mywantedregionscellset and use
Code:

topoSet
subsetMesh -patch myexistingpatch  mywantedregionscellset -overwrite
splitMeshRegions -cellZones -overwrite

here is an example case where I took the tutorial snappyMultiRegionSimpleHeater
and then removed the region bottomAir and moved all the exposed internal faces to patch minY using the above technique. tested in OF3.0+.



smrutimaya January 29, 2017 06:36

Thank you very much, Bruno. It was very useful to me.

bineet_aero November 5, 2020 07:29

Quote:

Originally Posted by wyldckat (Post 341623)
Greetings Antonello,

Attached is your case fixed to eliminate the "domain0" zone. I had to look into the tutorial case and noticed that the "snappyMultiRegionHeater" case has a tight wrap of the "blockMeshDict" over the STL files, which explains why you were having this problem with "domain0".
I've used OpenFOAM 2.1.x, but I think the changes I've made should work in 1.7.1 as well.

Basically, the fixes were:
  • Had to fix several files in "0" where "MaxX" was defined as "nonuniform" and defined it as "uniform".
  • Had to add two options to "snappyHexMeshDict" for working in OpenFOAM 2.1.x.
  • Used setSet to define a cell set that only included the desired mesh zones:
    Code:

    setSet -batch batch.setSet
    Where "batch.setSet" has this inside:
    Code:

    cellSet isolation new zoneToCell SOLIDO
    cellSet isolation add zoneToCell FLUIDO
    cellSet isolation subset

  • Then write only this cellSet has the whole mesh
    Code:

    subsetMesh -overwrite isolation
  • Then it's business as usual with splitMeshRegions. :)
Best regards,
Bruno


Hii great solution !!! I tried for a similar conjugate heat transfer problem of mine but it did not work as for me the fluid domain encapsulates multiple solid components !!! Thanks anyways


All times are GMT -4. The time now is 11:53.