mappedPatchBase error in chtMultiRegionFoam
1 Attachment(s)
Hello,
I have a simple case which consists of solid and fluid regions. I imported mesh via fluent3DMeshToFoam. Then, I treated it via splitMeshRegions -cellZones -overwrite. It looks like this: Attachment 69501 I set all boundary conditions similar to multiRegionFoam tutorial. chtMultiRegionFoam gives me error: Code:
Create time Here is what my case look like: Code:
. Code:
dimensions [ 0 0 0 1 0 0 0 ]; Code:
6 Code:
Create time Best regards ordinary |
Hi,
I know this is pretty old and I don't know if you ever got to figure it out how to solve this problem, but I'm answering just in case someone ever need the answer. The thing is that "fluent3DMeshToFoam" is unable to properly convert the interface/wall between a volume marked as fluid and another marked as solid in Fluent Meshing. The solution is marking all the volumes as "fluid", and then, after the "splitMeshRegions" operation is done, new boundaries will be created, that should be used as the interface between fluid and solid. Hope this would help anyone. Regards, Alex |
Quote:
what you said gives me a lot inspire. I use ICEM to build my mesh,and face the same error. i still have some doubt about "marking all the volumes as fluid".Dose it mean i should combine the fluid and solid blocks,or i should change solid block's name to fluid1?How to build different regions which have interface that can be recognized? thanks again! By the way ,why the error said i lack P file in ”solid/0“. |
Hi Tava,
I'm glad this could be useful to someone. First, I have never used ICEM, so I am unsure if my repply can help, but I'll try my best. When using Fluent Meshing, there is a step where you have to define which class is each body. You can choose between fluid, solid and dead (which won't produce a volume mesh after the meshing process). If you combine your fluid and your solid bodies in the geometry, you won't get what you need. My advice would be that you first do a try with two cubes sharing one face: one of them called "fluid1" and other called "solid1" (to avoid possible confunsions later with fluid/solid terms, but make sure that, when you create the mesh, treat both volumes as if they were fluids (if there is any disctintion in ICEM, which I don't know). Also create the boundary names, and after doing the mesh, try to replicate the mesh generation, with fliuent3DMeshToFoam and splitMeshRegions, and see which files are created. The error you are seeing is posterior to the mesh generation. First you need to check if the mesh generation is correct. Hope I could help, if you still dont get to create the mesh, share the log files and we can check what is wrong. Regards, |
Hi alex,
Thanks for your advice. I tryed to set two fluid regions which named "fluid" and "solid" in both ICEM and fluent meshing(useing share topology to ensure only one face between). After fluent3DMeshToFoam , and checkMesh: I think the problem is: *Number of regions: 2 The mesh has multiple regions which are not connected by any face. <<Writing region information to "0/cellToRegion" <<Writing region 0 with 16294 cells to cellSet region0 <<Writing region 1 with 2203 cells to cellSet region1 Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology inletc 41 83 ok (non-closed singly connected) inleth 66 132 ok (non-closed singly connected) sym1 84 100 ok (non-closed singly connected) sym1.1 465 930 ok (non-closed singly connected) sym2 84 114 ok (non-closed singly connected) sym2.1 457 918 ok (non-closed singly connected) outletc 33 67 ok (non-closed singly connected) outleth 41 84 ok (non-closed singly connected) wall 30 58 ok (non-closed singly connected) wall.2 198 399 ok (non-closed singly connected) wall.1 3512 3424 multiply connected (shared edge) It recognized my face between which named “wall.1” ,but it also reminded me that the mesh has multiple regions which are not connected by any face. My code and setting is very similar with #1 posted,and face the same problem with him such as how to set the face between two regions in constant/polyMesh/boundary. If any suggesstions in Fluent meshing ,please ! thanks again!!! Quote:
|
Quote:
That message does not mean that the generated mesh is incorrect. You should check (within the files or in paraView whether the mesh has been generated properly or not) I'll leave you attached an example where you can see the geometry and the mesh (generated in Fluent Meshing) and the process, with the logs and the run file to get the mesh. https://drive.google.com/file/d/1CDk...ew?usp=sharing If you have any issues after seeing the example, let me know. If you still have problems, you can leave attached your test case and I'll try to see what problem are you having. Regards, Alex |
Thanks a million for your example,alex
I checked my mesh and compared log files, but i still got no ideas where my error occurred. Here is my test case . https://drive.google.com/file/d/1PLo...ew?usp=sharing Quote:
|
Same question
Hi Thread,
Have u solved this question? I met the same one. |
Quote:
Yes, or at least for a type of problem. After doing fluent3DMeshToFoam and splitMeshRegions -cellZones, you will encounter with several regions in your constant folder. If you go to the "boundary" file, you will see there the boundary names in each region. Well, the trick is, for the coupled regions, you have to change "type wall" with "type mappedWall", and add the three following fields: sampleMode nearestPatchFace; \\this is always like this sampleRegion solid; \\here goes the name of the coupled region samplePatch wall_1; \\the name of the face in the other region, which should be the same (or at least similar) if you have named properly This way, you will meet a boundary like this: wall_1 { //type wall; type mappedWall; inGroups 1(wall); nFaces 1756; startFace 89849; sampleMode nearestPatchFace; sampleRegion solid; samplePatch wall_1; } You have to do for every coupled boundary. This can be a little of a nightmare if you have a lot, but I still haven't found any other way to do it, so I hope this trick can help you at least for the moment. Regards, Alex |
All times are GMT -4. The time now is 03:08. |