2 2

Next: Model setting without an Up: Alternative formulation Previous: Alternative formulation   Contents   Index

Background Mesh - Rotor Region

Background mesh is a basic (initial) mesh to be modified and/or refined. Entire surface model must be placed inside the background mesh. Background mesh is created using blockMesh utility. Background mesh is simple block a bit larger than bounding box of the surface model. Alternatively, background mesh can be used to create inlet or outlet of the final mesh (not this case).

Dictionary for blockMesh utility have to be placed in constant/polyMesh/ directory. For rounded object typically an impeller or turbine, it is recommended to create a cylindrical background mesh. The blockMeshDict file may be following:

 

convertToMeters 1;

vertices
(
/* 00 */    ( -0.05 -0.05 -0.4) // -x -y -z     
/* 01 */    (  0.05 -0.05 -0.4) //  x -y -z
/* 02 */    (  0.05  0.05 -0.4) //  x  y -z
/* 03 */    ( -0.05  0.05 -0.4) // -x  y -z
    
/* 04 */    ( -0.05 -0.05  0.00) // -x -y  z
/* 05 */    (  0.05 -0.05  0.00) //  x -y  z
/* 06 */    (  0.05  0.05  0.00) //  x  y  z
/* 07 */    ( -0.05  0.05  0.00) // -x  y  z

/* 08 */    (-0.06646803743153546729 -0.06646803743153546729 -0.4) // -x -y -z
/* 09 */    ( 0.06646803743153546729 -0.06646803743153546729 -0.4) //  x -y -z
/* 10 */    ( 0.06646803743153546729  0.06646803743153546729 -0.4) //  x  y -z
/* 11 */    (-0.06646803743153546729  0.06646803743153546729 -0.4) // -x  y -z
    
/* 12 */    (-0.06646803743153546729 -0.06646803743153546729  0.00) // -x -y  z
/* 13 */    ( 0.06646803743153546729 -0.06646803743153546729  0.00) //  x -y  z
/* 14 */    ( 0.06646803743153546729  0.06646803743153546729  0.00) //  x  y  z
/* 15 */    (-0.06646803743153546729  0.06646803743153546729  0.00) // -x  y  z

/* 16 */    (-0.11667261889578034153 -0.11667261889578034153 -0.4) // -x -y -z
/* 17 */    ( 0.11667261889578034153 -0.11667261889578034153 -0.4) //  x -y -z
/* 18 */    ( 0.11667261889578034153  0.11667261889578034153 -0.4) //  x  y -z
/* 19 */    (-0.11667261889578034153  0.11667261889578034153 -0.4) // -x  y -z
    
/* 20 */    (-0.11667261889578034153 -0.11667261889578034153  0.00) // -x -y  z
/* 21 */    ( 0.11667261889578034153 -0.11667261889578034153  0.00) //  x -y  z
/* 22 */    ( 0.11667261889578034153  0.11667261889578034153  0.00) //  x  y  z
/* 23 */    (-0.11667261889578034153  0.11667261889578034153  0.00) // -x  y  z
    

    
/* 24 */    ( -0.05 -0.05  0.110) // -x -y  z
/* 25 */    (  0.05 -0.05  0.110) //  x -y  z
/* 26 */    (  0.05  0.05  0.110) //  x  y  z
/* 27 */    ( -0.05  0.05  0.110) // -x  y  z

/* 28 */    (-0.06646803743153546729 -0.06646803743153546729  0.110) // -x -y  z
/* 29 */    ( 0.06646803743153546729 -0.06646803743153546729  0.110) //  x -y  z
/* 30 */    ( 0.06646803743153546729  0.06646803743153546729  0.110) //  x  y  z
/* 31 */    (-0.06646803743153546729  0.06646803743153546729  0.110) // -x  y  z

/* 32 */    (-0.11667261889578034153 -0.11667261889578034153  0.110) // -x -y  z
/* 33 */    ( 0.11667261889578034153 -0.11667261889578034153  0.110) //  x -y  z
/* 34 */    ( 0.11667261889578034153  0.11667261889578034153  0.110) //  x  y  z
/* 35 */    (-0.11667261889578034153  0.11667261889578034153  0.110) // -x  y  z

);

blocks
(
  // first block - inlet pipe
    hex ( 0  1  2  3  4  5  6  7) (40 40 40) simpleGrading (1 1 0.2)
    
    hex ( 1  0  8  9  5  4 12 13) (40  8 40) simpleGrading (1 1.25 0.2)
    hex ( 2  1  9 10  6  5 13 14) (40  8 40) simpleGrading (1 1.25 0.2)
    hex ( 3  2 10 11  7  6 14 15) (40  8 40) simpleGrading (1 1.25 0.2)
    hex ( 0  3 11  8  4  7 15 12) (40  8 40) simpleGrading (1 1.25 0.2)

    hex ( 9  8 16 17 13 12 20 21) (40 14 40) simpleGrading (1 1.5 0.2)
    hex (10  9 17 18 14 13 21 22) (40 14 40) simpleGrading (1 1.5 0.2)
    hex (11 10 18 19 15 14 22 23) (40 14 40) simpleGrading (1 1.5 0.2)
    hex ( 8 11 19 16 12 15 23 20) (40 14 40) simpleGrading (1 1.5 0.2)
    
  // second block - rotor wheel
    hex ( 4  5  6  7 24 25 26 27) (40 40 30) simpleGrading (1 1 1)
    
    hex ( 5  4 12 13 25 24 28 29) (40  8 30) simpleGrading (1 1.25 1)
    hex ( 6  5 13 14 26 25 29 30) (40  8 30) simpleGrading (1 1.25 1)
    hex ( 7  6 14 15 27 26 30 31) (40  8 30) simpleGrading (1 1.25 1)
    hex ( 4  7 15 12 24 27 31 28) (40  8 30) simpleGrading (1 1.25 1)
 
    hex (13 12 20 21 29 28 32 33) (40 14 30) simpleGrading (1 1.5 1)   
    hex (14 13 21 22 30 29 33 34) (40 14 30) simpleGrading (1 1.5 1)
    hex (15 14 22 23 31 30 34 35) (40 14 30) simpleGrading (1 1.5 1)
    hex (12 15 23 20 28 31 35 32) (40 14 30) simpleGrading (1 1.5 1)
);

edges
(
  // first block - inlet pipe
    arc  0  1 ( 0.00 -0.06 -0.4) // 0+0
    arc  1  2 ( 0.06  0.00 -0.4) // 1+0
    arc  2  3 ( 0.00  0.06 -0.4) // 2+0
    arc  3  0 (-0.06  0.00 -0.4) // 3+0
    
    arc  4  5 ( 0.00 -0.06  0.00) // 4+0
    arc  5  6 ( 0.06  0.00  0.00) // 5+0
    arc  6  7 ( 0.00  0.06  0.00) // 6+0
    arc  7  4 (-0.06  0.00  0.00) // 7+0

    arc  8   9 ( 0.000 -0.094 -0.4) // 0+8
    arc  9  10 ( 0.094  0.000 -0.4) // 1+8
    arc  10 11 ( 0.000  0.094 -0.4) // 2+8
    arc  11  8 (-0.094  0.000 -0.4) // 3+8

    arc  12 13 ( 0.000 -0.094  0.00) // 4+8
    arc  13 14 ( 0.094  0.000  0.00) // 5+8
    arc  14 15 ( 0.000  0.094  0.00) // 6+8
    arc  15 12 (-0.094  0.000  0.00) // 7+8

    arc  16 17 ( 0.000 -0.165 -0.4) // 0+16
    arc  17 18 ( 0.165  0.000 -0.4) // 1+16
    arc  18 19 ( 0.000  0.165 -0.4) // 2+16
    arc  19 16 (-0.165  0.000 -0.4) // 3+16

    arc  20 21 ( 0.000 -0.165  0.00) // 4+16
    arc  21 22 ( 0.165  0.000  0.00) // 5+16
    arc  22 23 ( 0.000  0.165  0.00) // 6+16
    arc  23 20 (-0.165  0.000  0.00) // 7+16
    
    
  // second block - rotor wheel  
    arc 24 25 ( 0.00 -0.06  0.110) // 4+0
    arc 25 26 ( 0.06  0.00  0.110) // 5+0
    arc 26 27 ( 0.00  0.06  0.110) // 6+0
    arc 27 24 (-0.06  0.00  0.110) // 7+0

    arc  28 29 ( 0.000 -0.094  0.110) // 4+8
    arc  29 30 ( 0.094  0.000  0.110) // 5+8
    arc  30 31 ( 0.000  0.094  0.110) // 6+8
    arc  31 28 (-0.094  0.000  0.110) // 7+8

    arc  32 33 ( 0.000 -0.165  0.110) // 4+16
    arc  33 34 ( 0.165  0.000  0.110) // 5+16
    arc  34 35 ( 0.000  0.165  0.110) // 6+16
    arc  35 32 (-0.165  0.000  0.110) // 7+16
);

boundary
(
);

mergePatchPairs
(
);

Run blockMesh:

# blockMesh

Background mesh is very simple initial mesh used as an input for snappyHexMesh utility. You can view it in paraview:

# paraFoam

pump cfd openfoam cylindrical blockmesh mesh 34

Figure: Rotor part defined by *.stl files and surrounding background mesh.