CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   blockMesh axisymmetry error (http://www.cfd-online.com/Forums/openfoam/117476-blockmesh-axisymmetry-error.html)

vyaas May 9, 2013 01:42

blockMesh axisymmetry error
 
I'm having trouble getting blockMesh to work with the blockMesh Dict file below. I think the problem is in the face descriptions. The file works when I define the face probe_top as (3 5 2 3) instead of (3 2 5 3), which doesn't make sense because all surface normal vectors, we're told, must point OUTSIDE the domain.

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **//


convertToMeters 1.00;

vertices
(
    (0.000  0.000  -1.000)        //0
    (1.970  0.350  -1.000)        //1
    (1.970  0.350  1.000)        //2
    (0.000  0.000  1.000)        //3
    (1.970  -0.350  -1.000)        //4
    (1.970  -0.350  1.000)        //5
);

blocks
(
    hex (0 4 1 0 3 5 2 3) (10 1 10) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    frontAndBack
    {
        type wedge;
        faces
        (
            (0 1 2 3)
            (0 3 5 4)
        );
    }
    probe_top
    {
        type patch;
        faces
        (
            (3 2 5 3)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (1 4 5 2)
        );
    }
    probe_bottom
    {
        type patch;
        faces
        (
            (0 4 1 0)
        );
    }
    axis_symmetry
    {
        type empty;
        faces
        (
            (0 3 3 0)
        );
    }
);

mergePatchPairs
(
);
// ************************************************************************* //


Tushar@cfd May 9, 2013 02:20

Quote:

Originally Posted by vyaas (Post 426261)
I'm having trouble getting blockMesh to work with the blockMesh Dict file below. I think the problem is in the face descriptions. The file works when I define the face probe_top as (3 5 2 3) instead of (3 2 5 3), which doesn't make sense because all surface normal vectors, we're told, must point OUTSIDE the domain.

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **//


convertToMeters 1.00;

vertices
(
    (0.000  0.000  -1.000)    //0
    (1.970  0.350  -1.000)    //1
    (1.970  0.350  1.000)    //2
    (0.000  0.000  1.000)    //3
    (1.970  -0.350  -1.000)    //4
    (1.970  -0.350  1.000)    //5
);

blocks
(
    hex (0 4 1 0 3 5 2 3) (10 1 10) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    frontAndBack
    {
        type wedge;
        faces
        (
            (0 1 2 3)
            (0 3 5 4)
        );
    }
    probe_top
    {
        type patch;
        faces
        (
            (3 2 5 3)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (1 4 5 2)
        );
    }
    probe_bottom
    {
        type patch;
        faces
        (
            (0 4 1 0)
        );
    }
    axis_symmetry
    {
        type empty;
        faces
        (
            (0 3 3 0)
        );
    }
);

mergePatchPairs
(
);
// ************************************************************************* //



I don't understand what you are trying to make.

First of all, the vertices seems to be incorrect. Secondly, the boundary patches are also incorrect.

Read the following weblink & try to understand the approach. Then, apply it on your particular case.

http://www.openfoam.org/docs/user/blockMesh.php

:)

vyaas May 9, 2013 02:27

Quote:

Originally Posted by Tushar@cfd (Post 426264)
I don't understand what you are trying to make.

First of all, the vertices seems to be incorrect. Secondly, the boundary patches are also incorrect.

Read the following weblink & try to understand the approach. Then, apply it on your particular case.

http://www.openfoam.org/docs/user/blockMesh.php

:)


I actually followed a tutorial for an axisymmetric geometry:
http://openfoamwiki.net/index.php/Ma...s/AxiSymmetric

If you could point out a mistake in what I'd posted earlier, I'd be grateful.

Tushar@cfd May 9, 2013 02:48

Quote:

Originally Posted by vyaas (Post 426265)
I actually followed a tutorial for an axisymmetric geometry:
http://openfoamwiki.net/index.php/Ma...s/AxiSymmetric

If you could point out a mistake in what I'd posted earlier, I'd be grateful.


Upload your case file here. :)

vyaas May 9, 2013 02:59

Quote:

Originally Posted by Tushar@cfd (Post 426268)
Upload your case file here. :)

Here it is:
https://www.dropbox.com/s/h57vfldxxx...xi_test.tar.gz

Tushar@cfd May 9, 2013 03:17

Quote:

Originally Posted by vyaas (Post 426271)


I am sorry for my earlier comment. Actually, I have mistaken it for the square-block type geometry. Your case is of wedge type.

I re-checked your blockMesh, even I copied 0 folder in your case folder which you have uploaded in order to run the command - checkMesh.

It is working all fine, checkMesh & blockMesh both are working for the patch (3 2 5 3).

Do, one thing copy a 0 folder and run checkMesh & blockMesh.

Let me know if its not working.

:)

vyaas May 9, 2013 03:21

Quote:

Originally Posted by Tushar@cfd (Post 426273)
I am sorry for my earlier comment. Actually, I have mistaken it for the square-block type geometry. Your case is of wedge type.

I re-checked your blockMesh, even I copied 0 folder in your case folder which you have uploaded in order to run the command - checkMesh.

It is working all fine, checkMesh & blockMesh both are working for the patch (3 2 5 3).

Do, one thing copy a 0 folder and run checkMesh & blockMesh.

Let me know if its not working.

:)

I did that and it doesn't work. Here's my output

Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.2.0
Exec  : checkMesh
Date  : May 09 2013
Time  : 00:21:32
Host  : "poli2"
PID    : 3605
Case  : /home/vyaas/openfoam/probe_axi/counterFlowFlame2D
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0



--> FOAM FATAL ERROR:
Cannot find file "points" in directory "polyMesh" in times 0 down to constant

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&)
    in file db/Time/findInstance.C at line 203.

FOAM exiting

[vyaas@poli2 counterFlowFlame2D]$ blockMesh >log.dat


--> FOAM FATAL ERROR:
face 0 in patch 1 does not have neighbour cell face: 4(3 2 5 3)

    From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
    in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#3  Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#6  Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#7 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
#8  __libc_start_main in "/usr/lib/libc.so.6"
#9 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
Aborted (core dumped)


Tushar@cfd May 9, 2013 03:33

Quote:

Originally Posted by vyaas (Post 426275)
I did that and it doesn't work. Here's my output

Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.2.0
Exec  : checkMesh
Date  : May 09 2013
Time  : 00:21:32
Host  : "poli2"
PID    : 3605
Case  : /home/vyaas/openfoam/probe_axi/counterFlowFlame2D
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0



--> FOAM FATAL ERROR:
Cannot find file "points" in directory "polyMesh" in times 0 down to constant

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&)
    in file db/Time/findInstance.C at line 203.

FOAM exiting

[vyaas@poli2 counterFlowFlame2D]$ blockMesh >log.dat


--> FOAM FATAL ERROR:
face 0 in patch 1 does not have neighbour cell face: 4(3 2 5 3)

    From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
    in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#3  Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#6  Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#7 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
#8  __libc_start_main in "/usr/lib/libc.so.6"
#9 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
Aborted (core dumped)



Are you able to compile icoFoam tutorial as mentioned on the installation website??
http://www.openfoam.org/download/source.php
Check with the available tutorial.

The problem lies here:
/home/vyaas/openfoam/probe_axi/counterFlowFlame2D

In order to install OpenFoam you need to follow path, for example for your particular case:

/home/vyaas/OpenFOAM/OpenFOAM-2.2.0/probe_axi/counterFlowFlame2D

:)

vyaas May 9, 2013 03:42

Quote:

Originally Posted by Tushar@cfd (Post 426278)
Are you able to compile icoFoam tutorial as mentioned on the installation website??
http://www.openfoam.org/download/source.php
Check with the available tutorial.

The problem lies here:
/home/vyaas/openfoam/probe_axi/counterFlowFlame2D

In order to install OpenFoam you need to follow path, for example for your particular case:

/home/vyaas/OpenFOAM/OpenFOAM-2.2.0/probe_axi/counterFlowFlame2D

:)

I appreciate your help but I'm confident of my working directories and am running many other cases right now (and have run icoFoam many times as well). I believe the main issue is this:

That a vector normal to one of the surfaces pointing outwards doesn't work when one pointing inwards does.

Could this be because of a possible error in the way wedge geometries are implemented? I've run such cases before on previous versions of OpenFOAM and they've run fine. I wanted to know if there is the slight chance that some recent updates could have changed or overlooked something critical in blockMesh. Or perhaps a standard for defining the local coordinates for a block has changed?

Tushar@cfd May 9, 2013 03:50

Quote:

Originally Posted by vyaas (Post 426280)
I appreciate your help but I'm confident of my working directories and am running many other cases right now (and have run icoFoam many times as well). I believe the main issue is this:

That a vector normal to one of the surfaces pointing outwards doesn't work when one pointing inwards does.

Could this be because of a possible error in the way wedge geometries are implemented? I've run such cases before on previous versions of OpenFOAM and they've run fine. I wanted to know if there is the slight chance that some recent updates could have changed or overlooked something critical in blockMesh. Or perhaps a standard for defining the local coordinates for a block has changed?


Then, I think you post your comments over here: http://www.cfd-online.com/Forums/openfoam-bugs/ , may be the experts of OF may help you in this regards.

As for me, I am able to run your case file with the followed path in previous versions of OF. Even the same patch has worked for me. I haven't tried OF-2.2.0, may be the blockMesh functionality for patches might have changed. Here is the link for it: http://www.openfoam.org/version2.0.0/meshing.php. You need to explore these, I wish you very best for that.

Anyways, do let us know if it solves.:)

adhiraj May 9, 2013 20:26

You posted what happens when you run checkMesh.
What happens when you actually run the command blockMesh?

vyaas May 9, 2013 21:11

Quote:

Originally Posted by adhiraj (Post 426434)
You posted what happens when you run checkMesh.
What happens when you actually run the command blockMesh?


Code:

[vyaas@poli2 counterFlowFlame2D]$ blockMesh >log.dat


--> FOAM FATAL ERROR:
face 0 in patch 1 does not have neighbour cell face: 4(3 2 5 3)

    From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
    in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#3  Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#6  Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so"
#7 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
#8  __libc_start_main in "/usr/lib/libc.so.6"
#9 
 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh"
Aborted (core dumped)


startingWithCFD May 10, 2013 14:36

The frontAndBack patch should be split in "front" and "back".
Check the link you provided.
I don't know if this will correct the situation, I encounter no other errors and get a good checkMesh with your blockMeshDict in OF 2.1.x.

mebinitap July 30, 2013 09:31

Hi All,

I am trying to model a simple geometry using blockMesh similar to the plateHole tutorial case, except that there is no hole. Instead it consists of 4 blocks and a cylindrical block.

http://www.cfd-online.com/Forums/dat...AAAElFTkSuQmCC

However, following error turns up when I run checkMesh after blockMesh seems to be ok:

Creating curved edges
Creating topology blocks
Creating topology patches

Creating block mesh topology
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
points: 2102
internal points: 0
faces: 4050
internal faces: 1930
cells: 1000
faces per cell: 5.98
boundary patches: 5
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 980
prisms: 20
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0

Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
left 30 62 ok (non-closed singly connected)
right 30 62 ok (non-closed singly connected)
down 30 62 ok (non-closed singly connected)
up 30 62 ok (non-closed singly connected)
frontAndBack 2000 2102 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-0.000655036 -0.000655036 0) (0.002 0.002 0.002)
Mesh (non-empty, non-wedge) directions (0 0 0)
Mesh (non-empty) directions (0 0 0)
***Number of edges not aligned with or perpendicular to non-empty directions: 2684
<<Writing 1294 points on non-aligned edges to set nonAlignedEdges
Boundary openness (-1.31696e-17 -9.69408e-17 2.48605e-15) OK.
Max cell openness = 6.75429e-16 OK.
Max aspect ratio = -1 OK.
Minimum face area = 1.19246e-16. Maximum face area = 7.19254e-07. Face area magnitudes OK.
Min volume = 1.66667e-300. Max volume = 7.02377e-11. Total volume = 6.20434e-09. Cell volumes OK.
Mesh non-orthogonality Max: 180 average: 56.9286
*Number of severely non-orthogonal faces: 128.
***Number of non-orthogonality errors: 460.
<<Writing 588 non-orthogonal faces to set nonOrthoFaces
***Error in face pyramids: 1356 faces are incorrectly oriented.
<<Writing 986 faces with incorrect orientation to set wrongOrientedFaces
***Max skewness = 10.4166, 82 highly skew faces detected which may impair the quality of the results
<<Writing 82 skew faces to set skewFaces
Coupled point location match (average 0) OK.

Failed 4 mesh checks.





///////////////////////////////////////////////////////////////////////

Can anybody give me any idea about the error.

My BlockMeshDict file:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(
//////////Front////////////
(0 0 0) //0 // (0.5 0 0)
(1 0 0) //1
(2 0 0) //2
(2 0.707107 0) //3
(0.707107 0.707107 0) //4
// (0.353553 0.353553 0) //5
(2 2 0) //5
(0.707107 2 0) //6
(0 2 0) //7
(0 1 0)//8
//(0 0.5 0)// 10

/////////BACK ////////////
(0 0 0.5) //9 // (0.5 0 0)
(1 0 0.5) //10
(2 0 0.5) //11
(2 0.707107 0.5) //12
(0.707107 0.707107 0.5) //13

(2 2 0.5) //14
(0.707107 2 0.5) //15
(0 2 0.5) //16
(0 1 0.5)//17



);

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

);

edges
(

arc 1 4 (0 0 0)
arc 4 8 (0 0 0)
arc 10 13 (0 0 0.5)
arc 13 17 (0 0 0.5)

);

boundary
(
left
{
type symmetryPlane;
faces
(
(7 8 17 16)
(8 0 9 17)
);
}
right
{
type patch;
faces
(
(2 3 12 11)
(3 5 14 12)
);
}
down
{
type symmetryPlane;
faces
(
(0 1 10 9)
(1 2 11 10)
);
}
up
{
type patch;
faces
(
(6 7 16 15)
(5 6 15 14)
);
}
/* hole
{
type patch;
faces
(
(10 5 16 21)
(5 0 11 16)
);
}*/
frontAndBack
{
type empty;
faces
(
//front//
(0 8 4 0)
(0 4 1 0)
(1 4 3 2)
(4 6 5 3)
(4 8 7 6)
///back///
(9 13 17 9)
(9 10 13 9)
(10 11 12 13)
(13 12 14 15)
(17 13 15 16)




);
}
);

mergePatchPairs
(
);

// ************************************************** *********************** //

Regards


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