|
[Sponsors] |
[blockMesh] Using "extrudeToRegionMesh" on the intersection of two zones |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 22, 2015, 09:57 |
Using "extrudeToRegionMesh" on the intersection of two zones
|
#1 |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Hi All
I am trying to create a thin wall film mesh by extruding the intersection of 2 zones. I mean I have a simple mesh split into 2 zones (one fluid and one solid zone) using " splitMeshRegions". The intersection of these two zones is of course an internal patch which is automatically considered in blockMesh. (actually not possible to specify any BC in blockMeshDict because it is an internal patch) Now I want to extrude this internal patch (which should be considered as a wall over the solid zone) into a thin film region. According to the tutorial cases I need a "faceSet" and "faceSetZones" over this patch to be able to extrude from. But I cannot create this faceSet using topoSet, because this is an internal patch and cannot be named, while I would need a patch name as the "reference" in the topoSet file. Does anybody have experience in creating a faceSetZone over the intersection of two zones (i.e. an internal patch)? |
|
December 13, 2015, 14:56 |
|
#2 | |
Senior Member
|
Quote:
How would you extrude a faceSet, when you already have some cells in your solid or fluid regions?
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 13, 2015, 16:13 |
|
#3 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
Actually I am trying to extrude a faceSetZone into a new "mesh region" which is a film. So if I had two regions (i.e fluid and solid), this would be the third region. But in contrast to fluid and solid regions, this new region is a film region (surface mesh). So at the end there will be three regions: 1) solid 2) fluid 3) wall film This will be done using "extrudeToRegionMesh" . |
||
December 13, 2015, 16:28 |
|
#4 | |
Senior Member
|
Quote:
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 13, 2015, 16:52 |
|
#5 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
1- defining wallFilmFaces to create a faceSet.(called wallFilmFaces) 2- changing this faceSet to a faceSetZone (called wallFilmRegion) 3- extruding the wallFilm surface mesh from the faceSetZone created in step No. 2. I should mention that the first two steps are done by "topoSet" (or wallFilm.topoSet) and the last one is done by "extrudeToRegionMesh" So you can see this is not a gap, this is only a one single layer surface mesh. What I am trying to do is exactly the same procedure except that before step 1, I would do another step in which I split the mesh into solid and fluid zones. then I am trying to do the above-mentioned steps on the inter-section patch of the fluid and solid. |
||
December 13, 2015, 17:41 |
|
#6 | |
Senior Member
|
Quote:
Well how about using createBaffles utility? https://openfoamwiki.net/index.php/CreateBaffles As the definition says: "Makes internal faces into boundary faces. Does not duplicate points, unlike mergeOrSplitBaffles." Then you may use topoSet to define the faceZone. However if you want to split the mesh and therefore have two separate boundaries on each side (so-called fluid and solid), you may use SplitMeshRegions.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 13, 2015, 18:23 |
|
#7 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
But about the baffles I will try if this is possible for my case. Then will come back to this post |
||
December 14, 2015, 04:23 |
|
#8 | |
Senior Member
|
Quote:
In this case, the "CreateBaffles" utility will have no use. After splitMeshRegions you actually have to see the boundaries in there. Share your boundary file to see what is going on in there, before and after splitMeshRegions.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 04:41 |
|
#9 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
Lets get back to the previous post where I wrote the 3 steps. Actually in the first step when I am going to create faceSet, I would have the following: actions ( { name wallFilmSet; type faceSet; action new; source patchToFace; sourceInfo { INTERSECTION!!!; } } ) So, the source is "patchToFace" and the sourceInfo should be this intersection. I mean if can find a correct source info for this part, then I can proceed with step 2 and 3... but the problem is that when I use splitMeshRegions, this intersection is defined but cannot be referred as an independent patch (like what we usually make and name in blockMesh). do you get what I am mentioning? after splitMeshRegions, of course there will be 2 patches in each zone, but these patches cannot be adressed here in the "sourceInfo" |
||
December 14, 2015, 04:59 |
|
#10 | |
Senior Member
|
Quote:
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 05:07 |
|
#11 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
2 ( walls { type wall; inGroups 1(wall); nFaces 17500; startFace 552500; } topFluid_to_bottomSolid { type mappedWall; inGroups 1(wall); nFaces 2500; startFace 570000; sampleMode nearestPatchFace; sampleRegion bottomSolid; samplePatch bottomSolid_to_topFluid; } ) and the boundary file in "constants/bottomSolid/polyMesh" is: 2 ( walls { type wall; inGroups 1(wall); nFaces 5000; startFace 182500; } bottomSolid_to_topFluid { type mappedWall; inGroups 1(wall); nFaces 2500; startFace 190000; sampleMode nearestPatchFace; sampleRegion topFluid; samplePatch topFluid_to_bottomSolid; } ) I defined all the surrounding walls as "walls", so the only thing which both zones share is this intersection. I also tried to use the name "topFluid_to_bottomSolid" or "bottomSolid_to_topFluid" as sourceInfo but it didn't work. |
||
December 14, 2015, 05:40 |
|
#12 | |
Senior Member
|
Quote:
First you have to use mergeMeshes to merge both meshes in a single polyMesh folder and then do the rest. Note that mergeing meshes would not combine two boundaries into one. So here is what you do: 1. Define two different problems, each contains its own OF folders, i.e: constant, system. 2. Copy each polyMesh folders to the above created constant directories. So until here you have two separate cases each containing a zone (one fluid and the other solid) 3. Now try mergeMeshes utility in one of those cases to make it one. for example if you are running the command in fluid's directory: Code:
mergeMeshes "./" "../solid/" Now copy this combined polyMesh file into a newly constructed case and continue with your other preferred steps.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 05:52 |
|
#13 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
Actually from the beginning I have one single geometry and mesh created in blockMesh, and I split it by splitMesh. Do you mean I should avoid that or you mean first splitMesh and then mergeMesh? what if I don't use the splitMesh at all? I could not get that. |
||
December 14, 2015, 06:16 |
|
#14 | |
Senior Member
|
Quote:
The point is that, when editing the blockMeshDict file, at the intersection boundary of the two zones try defining duplicate vertices each blonging to a block (which they would be defined as cellzones later in blockMesh). By this procedure you can easily have two separate faces in the intersection and you can define boundaries on them. Next, you have to define cellzones for each block. I assume you know how to do that in blockMeshDict.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 11:27 |
|
#15 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
--> FOAM FATAL ERROR: request for polyMesh region0 from objectRegistry BOX_SolidFluidFilmRegions failed available objects of type polyMesh are 3 ( bottomSolid topFluid wallFilmRegion ) I tried to find out where we had something like region0 ( I guess this usually is the case when you leave some zones without specified name, right?). but I couldn't find it in the case. Do you have any suggestion? |
||
December 14, 2015, 11:40 |
|
#16 | |
Senior Member
|
Quote:
Out of curiosity, you have defined the sets or zones using blockMesh, right? Something like this: http://www.cfd-online.com/Forums/ope...tml#post373467
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 12:13 |
|
#17 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
However seems not useful in my case because there are only two regions (except the film) and I intentionally want to make them split unless I define different zones like this: hex (0 1 3 2 6 7 9 8) topFluid (200 100 1) simpleGrading (1.0 1.0 1.0) hex (2 3 5 4 8 9 11 10) bottomSolid (200 100 1) simpleGrading (1.0 1.0 1.0) and then no need to splitMesh command? but what would be the benefit? |
||
December 14, 2015, 12:41 |
|
#18 | |
Senior Member
|
Quote:
On the other hand the name of the boundaries are in your hands while editing blockMesh. Of course the alternative is to change the names in the boundary file.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
December 14, 2015, 13:59 |
|
#19 | |
Member
Mahdi
Join Date: Jul 2012
Posts: 53
Rep Power: 14 |
Quote:
But let's get back to the alternative you said, by duplicating vertices in blockMesh. What do you exactly mean? because I did the same but at the end I had two boxes with no connection, so blockMesh failed to build the geometry. It is probably a misunderstanding of what you say. |
||
December 14, 2015, 14:25 |
|
#20 | |
Senior Member
|
Quote:
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
Tags |
facesetzone, splitmeshregions, toposetdict |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[ANSYS Meshing] Is it possible to generate mesh in different cell zones in Ansys meshing? | aja1345 | ANSYS Meshing & Geometry | 0 | October 3, 2018 15:22 |
Building problems with cell zones when reopening Fluent | MJ2017 | FLUENT | 0 | October 14, 2017 09:11 |
How to create matching mesh zones so that periodic boundary can be created in Fluent | cgoodale1 | STAR-CCM+ | 3 | February 29, 2016 13:34 |
Adding porous zones in icoFoam solver | josephn | OpenFOAM Running, Solving & CFD | 4 | March 7, 2015 01:28 |
[GAMBIT] 3D mesh for pipe intersection | pranab_jha | ANSYS Meshing & Geometry | 3 | May 28, 2010 02:33 |