Switching internal faces to walls
After a day and a half's search, I still can't figure out how to do this.
In short: how to create subsections in a mesh that can be seperated and joined together at will?
The longer story:
I am currently working on airbearing simulations. The bearing is floating on a surface, suspended on a thin (microns) airfilm. To determine the airflow for different thicknesses of this airfilm, I need different meshes. However, it's needlessly laborous to create many different meshes in which the major part of the geometry is meshed identically, and only the airgap is extended by a little.
I create the mesh in Salome, export it to unv and convert it to OpenFoam with ideasUnvToFoam. The solution I hope to implement works by defining internal faces inside the airfilm. These faces should each in turn be closed, separating the bearing-part (where the magic I'm interested in happens) and an overhead-slab underneath.
Closing the internal faces could work by:
a. Using an OpenFoam utility like splitMesh or createBaffles (though this involves faceSets, I don't know how to create these).
b. Specifying boundary conditions on patches here (but I don't think it's possible to have intenal patches, nor a 'transparent' BC - correct me if I'm wrong).
If my question is unclear, I'd be happy to clarify things. Any suggestions are more than welcome.
I think you could look at the following option. Anyone please correct me if I am wrong.
I know this works in Gambit. First, while making the mesh, I apply a boundary name to the internal patch. when I do fluentMeshToFoam for the Gambit mesh, I use the option -writeZones -writeSets. This will write out the face set including the faces that belong to this patch. Then use splitMesh to split the mesh at this faceSet.
If you want to join/separate subsections, you could look at the attach/dettach mesh modifier
Hope this helps
The attachDetach-approach looks quite promising.
Yesterday however we found another method.
Quick and dirty as it may be, it still works for us so far:
-In the mesh module, choose modification -> remove elements
-filter out a certain part of the mesh (in our case the bottom slices of the airgap)
-remove this part and if necessary change special boundary patches (like outlet).
When I have time I'll look into your approach though.
I would like to turn block faces into internal wall.
Is there a way to specify this straight from blockMeshDict? Or face information can be extracted from blockMesh and feeding this into createBaffles can do the trick? Any help would be appreciated!
"Inspired" by this idea I have found a workaround!
Extracting the cells from two touching blocks with this method, one can then convert these cells to faces and take the subset. The result will be a faceSet containing all the border faces. Mission accomplished!
Not super elegant since one have to plan the blockMesh structure beforehand, but it works! I know a faceSet with boxToFace source exists, but without axis-aligned cells it's way to error-prone.
Below I provide a simple dummy case. Hopefully, someone will find it helpful. The parameters, boundaries need tweaking so the flow in the pipe wouldn't look so dull. An "open channel" like exit on the right hand side would be cool as well. Feel free to add your thoughts, corrections.
|All times are GMT -4. The time now is 18:19.|