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/)
-   -   [blockMesh] Cylindrical pipe junction (https://www.cfd-online.com/Forums/openfoam-meshing/61804-cylindrical-pipe-junction.html)

fugu April 9, 2008 06:47

Cylindrical pipe junction
 
Hi everyone,
I am trying to mesh a cylindrical pipe with a smaller cylindical pipe joining ot 90 deg its lateral surface.
Thanks to the posts found on this forum I successfully created the main pipe geometry using blockMesh. Now my problem is create the second pipe and join it to the main one.
I am not sure it is possible to achieve the task using blockMesh and the standard meshing tools provided with OF.
Has anyone created a similar geometry ?
Thank you
Luca

bgoeppner April 13, 2010 07:55

Hi Luca,

did you find any solution to this problem? I'm currently facing the same difficulties (almost, my pipes don't meet 90 but 20 degrees...) and therefore would appreciate any suggestions on how to solve this...

I managed to create an unstructured grid with netgen, but somehow this seems to be messed up because the simulation crashes after a while... And to be honest, I'd rather prefer some structured mesh ;-) Do you have some advise how to solve this? (w/o using commercial meshing software)

Thanks a lot,
Ben

Linse August 6, 2010 10:45

Actually, I do have exactly the same problem on my side! One tube of d=800 mm is joined by another one with d=600 mm.

At the moment I am still struggling with this problem, but I hope to have a solution after the weekend.

What I did:
- First I did simplify the tubes as prisms. The smaller one I set to the interconnection point, so the basic forms were correct already.
- Then I did replace the usual connection lines with arcs. The additional points for defining the arc I had calculated by hand.
Therein I used the same calculated Y- and Z-values for the arcs at every point where it would help defining a common line within the different tubes.
- The tubes I did connect with matchPatchPairs.

Up to now my problem is when I do use the lower arcs in blockMesh.
All other arcs work and look fine at least in paraview. But these two arcs make the whole thing fail with a "duplicate point" error...
The "simpleSpline" specification did not work for me, as it put in strong angles into the line...


My solution for the moment will be to keep this "side-arcs" extremely small (I will keep you posted about the success), but I would prefer the arcs to work.

nileshjrane August 14, 2010 16:26

I also want to mesh such geometry. Have any one found the way to do it properly??? Please help..

guy_smiling September 13, 2010 17:06

Hi guys,

I have had some success with this. My dimensions are quite small (on the mm/micron scale) but it seems like it's ok anyways. I have a pipe that's 2cm long and 1/2mm diameter intersected with a pipe that is 1/4mm diameter. It seems to work, although as I've tried to increase the number of cells, the skewness at some points has increased (using checkMesh I have 24 highly skewed cells out of almost 70 000) but it seems to work so far and there aren't any weird effects at the joins.

The key to making it work is "mergePatchPairs". I started with just making hexahedra and joining them together. Normally you'd create a mesh for each section (so for a 2D cross you'd make 5 sections) and then make sure that everything lines up correctly and blockMesh will be happy. However, in the case of round tubes this will never happen.

You need to specify the patches that you want to line up from the large tube and the small cross-tube (so have them as their own separate patch). You probably want the large tube to stay as you define it, and match the small tube to join. The large tube patch will then be the master, and the small will be the slave patch.

Here is a first try:

vertices
(

//central hex
(2 2 0)
(-2 2 0)
(-2 -2 0)
(2 -2 0)

(2 2 10) //4
(-2 2 10)
(-2 -2 10)
(2 -2 10)

( 1 4 5) //8
( 1 10 5)
(-1 10 5)
(-1 4 5)

( 1 4 6) //12
( 1 10 6)
(-1 10 6)
(-1 4 6)

);

blocks
(
hex (0 1 2 3 4 5 6 7) (8 8 12) simpleGrading (1 1 1)
hex (8 9 10 11 12 13 14 15) (8 8 3) simpleGrading (1 1 1)
);

edges
(
arc 0 1 (0 2.8284 0)
arc 4 5 (0 2.8284 10)
);

patches
(
patch inlet
(
(4 5 6 7)
)

patch outlet
(
(0 1 2 3)

(9 10 14 13)
)


wall walls
(
(1 2 6 5)
(2 3 7 6)
(3 0 4 7)

(10 11 15 14)
(12 13 9 8)
(12 13 14 15)
(8 9 10 11)
)

patch masterpatch
(
(0 1 5 4)
)

patch slavepatch
(
(8 11 15 12)
)

);

mergePatchPairs
(
(masterpatch slavepatch)
);


You'll need to define the patches in your P, U, T etc files. For me they are walls so I have them as zeroGradient.

nileshjrane September 13, 2010 17:36

Quote:

Originally Posted by guy_smiling (Post 275039)
The key to making it work is "mergePatchPairs". I started with just making hexahedra and joining them together. Normally you'd create a mesh for each section (so for a 2D cross you'd make 5 sections) and then make sure that everything lines up correctly and blockMesh will be happy. However, in the case of round tubes this will never happen.

I had already tried it, but the mergePatchPairs creates irregular polyhedrals at the junction. see this post: http://www.cfd-online.com/Forums/ope...e-comment.html

For me these cells are blowing my solution off the track. So i chucked the thought of mergePatchPair. instead a late but straight way is to decompose the volume is bunch of pieces and you can have good hex mesh. It seems possible and m trying it.

Nilesh

guy_smiling September 13, 2010 17:54

From the link you posted:
The top of your cylinder seems to be oddly defined but I can't really tell from the pictures you posted. Do you have an internal block (such as a square with four rounded blocks attached), or just the cylinder defined?

nileshjrane September 14, 2010 05:05

What i did is i meshed the big cylinder with radially oriented hex mesh and same for small pipes. And i defined the intersection face bet the two accurately. and then merged the patched, master is the round face of the big cylinder and the face of the end of small cylinder (which would be the intersection face of the small cylinder when you would do boolean subtract on the two cylinder volumes..) i have decomposed the cylinders in 4 sectors. no cube inside.

nileshjrane September 14, 2010 05:09

What i did is i meshed the big cylinder with radially oriented hex mesh and same for small pipes. And i defined the intersection face bet the two accurately. and then merged the patched, master is the round face of the big cylinder and the face of the end of small cylinder (which would be the end face of the small cylinder when you would do boolean subtract on the two cylinder volumes..) i have decomposed the cylinders in 4 sectors. no cube inside.


All times are GMT -4. The time now is 07:38.