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] Bad link between blocks (https://www.cfd-online.com/Forums/openfoam-meshing/138336-bad-link-between-blocks.html)

Victorien July 2, 2014 10:48

Bad link between blocks
 
2 Attachment(s)
Hi everybody,

I'm beginner at OpenFOAM, and I face this problem in heat Transfer. I suppose it comes from the geometry I use :

It is composed by a main block (1x1x1), a small cylinder with a fixed temperature (50 K) at its end, and a small block with a fixed gradient at its end (100 W.m^-2). My solver is very simple :

Code:

solve
            (
                rho*cp*fvm::ddt(T)
                - fvm::laplacian(k,T)
            );

where rho, cp and k have for value 1.

I've also fixed the temperature on the top-left side on the first picture at -10 K.

But in the second picture, the main block is at -10 K, and the two others "made their way alone". How can I improve that ?

I saw that with multiple blocks we can merge the faces or match them. It's why I didn't show theses faces in the boundary conditions, then blockMesh can identifie the faces don't form an external boundary and then combine them.

There ir the code of the blockMeshDict :
Code:

convertToMeters 1;
Lx 1.0;
Ly 1.0;
Lz 1.0;
Mx 0.5;
My 0.5;
Mz 0.5;
N 1.5;
vertices       
(
    (0 0 0) //0
    ($Lx 0 0) //1
    ($Lx $Ly 0) //2
    (0 $Ly 0) //3
    (0 0 $Lz) //4
    ($Lx 0 $Lz) //5
    ($Lx $Ly $Lz) //6
    (0 $Ly $Lz) //7
    ($Mx $My $Lz) //8
    ($Lx $My $Lz) //9
    ($Mx $Ly $Lz) //10
    ($Mx $My $N) //11
    ($Lx $My $N) //12
    ($Lx $Ly $N) //13
    ($Mx $Ly $N) //14
            //cylinder
    (0 0.5 0) //15
    (0 0.5 0.5) //16
    (-0.5 0.5 0.5) //17
    (-0.5 0.5 0) //18
    (0 1 0.5) //19
    (-0.5 1 0.5) //20
    (-0.5 1 0) //21
);

blocks         
(
    hex (0 1 2 3 4 5 6 7) (20 20 20) simpleGrading (1 1 1)
    hex (8 9 6 10 11 12 13 14) (10 10 10) simpleGrading (1 1 1)
    hex (15 16 17 18 3 19 20 21) (5 5 5) simpleGrading (1 1 1)
);

edges         
(
        arc 0 1 (0.5 -0.5 0.0)
        //cylinder
        arc 15 16 (0 0.3964 0.25)
        arc 16 19 (0 0.75 0.6035)
        arc 17 18 (-0.5 0.3964 0.25)
        arc 18 21 (-0.5 0.75 -0.1035)
        arc 21 20 (-0.5 1.1035 0.25)
        arc 20 17 (-0.5 0.75 0.6035)
);

boundary
(
    fixedT
    {
        type patch;
        faces
          (
              (1 2 6 5)
          );
    }
    fluxW
    {
            type patch;
            faces
            (
                (17 20 21 18)
                );
    }
    fluxZ
    {
            type patch;
            faces
                (
                    (11 12 13 14)
                );
    }
);

and the code of T :
Code:

dimensions      [0 0 0 1 0 0 0];



internalField  uniform 0;

 

boundaryField

{

  fixedT

        {

                type fixedValue;

                value uniform -10;

        }

  fluxW //On the small circle

        {

                type fixedValue;

                value uniform 50;

        }

  fluxZ //On the small square

        {

                type fixedGradient;

                gradient uniform 100;

        }

}


Thank you for your responses,

Victorien

Victorien July 4, 2014 05:45

A begin of answer
 
Hello again,

I found that this case of multiblocks is present in some tutorial examples. For instance, in the interFoam's damBreak, there are five blocks and the resolution goes through them.

I don't think my problem comes from the blockMeshDict, nor from the 0/ rep. Maybe the lack of files like decomposeParDict or setFieldsDict ?

I'm not so comfortable with these things. Can you light me ?

Thank you for your responses,

Victorien


All times are GMT -4. The time now is 19:10.