stitchMesh: multiple meshes
1 Attachment(s)
This is more of a how-to than a question but I want to share the thing I learned today.
In the attached image you see a large cylinder which is joined by four smaller cylinders, like four pipes joining a large tank. I created the mesh with blockMesh and after the blockMesh run I have 5 unconnected mesh regions. Thus I have to use stitchMesh to join these five meshes. I do not want to let blockMesh join the pipes with the tank (mergePatchPairs) because I want to apply some mesh modification on the mesh of the large cylinder only. The small elliptical surfaces at the near end of the pipes are named intersectSlaveN (N is the running index. In this case 0, 1, 2 or 3). The patches on the large cylinder (two of them are not shown and two of them are displayed as wire frame) are named intersectMasterN. When I use Code:
stitchMesh intersectMaster0 intersectSlave0 When I call Code:
stitchMesh intersectMaster1 intersectSlave1 Code:
--> FOAM FATAL ERROR: After the operation on the large cylinder's mesh, the mesh was written to the 0.001 directory. stitchMesh, however, read the mesh at time 0. In fact, stitchMesh reads the mesh from the time that is stated in controlDict at startTime. So, I had to change the entry at startTime in controlDict. This made stitchMesh read the mesh from the 0.001 folder. However, the second call of stitchMesh again resulted in the above-posted error message. The solution to this problem was to delete the file meshModifiers in the 0.001/polyMesh directory. Then it worked. So, my workflow for stitching my mesh was as follows
|
Addendum: createPatch
As nobody wants to specify boundary conditions for several wall-patches (in my case the intersectMaster patches and the walls patch that contains all wall patches not involved in any stitching) createPatch can be used to join all wall patches to a single wall patch.
With createPatch I join all intersectMasterN and walls to a new patch named WALL. So I only need one entry in the files of the 0 directory for the boundary condition on the wall. In my case this createPatchDict does the trick. Again, the parameter startTime in controlDict has to be set to the latest time step. Code:
/*--------------------------------*- C++ -*----------------------------------*\ |
Thank you for your advice!
I have been stuck by this single problem for almost a whole week, and finally I found your thread and solved this problem!
Thank you very much!! |
Quote:
plz upload your case files, so that we all can benefit using it as a tutorial. if u don't mind |
All times are GMT -4. The time now is 23:41. |