This offering is not approved or endorsed by Silicon Graphics International Corp.,
the producer of the OpenFOAM® software and owner of the OpenFOAM® trade mark.
top
logo


Welcome, Guest
Please Login or Register.  Lost Password?

engineFoam new mesh problem
(1 viewing) (1) Guest
IC-engines Group Forum: This group is for everyone who is interested in any kind of simulations regarding reciprocating internal combustion engines.
Go to bottomPage: 1
TOPIC: engineFoam new mesh problem
#289
engineFoam new mesh problem 7 Months, 1 Week ago Karma: 0
Hi foamers,

I run tutorial kivaTest case without fail.
I want to increase compression ratio value, like diesel engine, about 20.

I converted existent kiva mesh (otape17) to OpenFoam mesh(polymesh) with kivaToFoam command. It is ok no problem.
Then i converted OpenFoam mesh(polymesh) to a Fluent mesh(*.msh) with foamMeshToFluent command. It is ok no problem.

I deleted polyMesh folder which in constant folder.

This time I converted Fluent mesh(*.msh) to OpenFoam mesh(polymesh) to a by fluent3DMeshToFoam command. It is ok no problem.
I execute engineFoam command. it runs without problem.

Code:

kiva mesh ---->> OpenFoam mesh  ---->>  Fluent Mesh
 (otape17)           (polyMesh)   <<----      (*.msh)  
                         |
                         |
                         v
                     engineFoam
                    (works well)

After I changed the Fluent mesh then I convert new Fluent mesh to OpenFoam mesh(polymesh) to a by fluent3DMeshToFoam command. It is ok no problem.

Code:


 New Fluent Mesh   ---->> New OpenFoam mesh     xxxx    engineFoam
  (New.msh)                (polyMesh)                    (Failed)

When I execute engineFoam command with new mesh. It gave this error message then exit.

Code:

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

Create mesh for time = -180

Selecting engineMesh layered


--> FOAM FATAL ERROR: 
[B]cannot find cylinderHead patch[/B]

    From function engineMesh::engineMesh(const IOobject& io)
    in file engineMesh/engineMesh/engineMesh.C at line 90.

FOAM exiting

I think problem caused from "cylinderHead patch".

In kivaToFoam command this problem solved by "Transfered xx faces from liner region to cylinder head"


Code:


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

Reading kiva grid from file "otape17"
Finished reading KIVA file
[B]Transfered 500 faces from liner region to cylinder head[/B]

Default patch type set to empty
Writing polyMesh
Writing cell zoning info to file: "/home/ayhan/OpenFOAM®®®/ayhan-2.0.1/run/tutorials/combustion/engineFoam/kivaTest/constant/region0/cellZoning"
End

I suppose solution in the below file
/opt/openfoam201/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H
Code:


// Transfer liner faces that are above the minimum cylinder-head z height
// into the cylinder-head region
if
(
    pFaces[LINER].size()
 && pFaces[LINER][0].size()
 && pFaces[CYLINDERHEAD].size()
 && pFaces[CYLINDERHEAD][0].size()
)
{
    scalar minz = GREAT;

    forAllConstIter(SLList<face>, pFaces[CYLINDERHEAD][0], iter)
    {
        const face& pf = iter();

        forAll(pf, pfi)
        {
            minz = min(minz, points[pf[pfi]].z());
        }
    }

    minz += SMALL;

    SLList<face> newLinerFaces;

    forAllConstIter(SLList<face>, pFaces[LINER][0], iter)
    {
        const face& pf = iter();

        scalar minfz = GREAT;
        forAll(pf, pfi)
        {
            minfz = min(minfz, points[pf[pfi]].z());
        }

        if (minfz > minz)
        {
            pFaces[CYLINDERHEAD][0].append(pf);
        }
        else
        {
            newLinerFaces.append(pf);
        }
    }

    if (pFaces[LINER][0].size() != newLinerFaces.size())
    {
        Info<< "Transfered " << pFaces[LINER][0].size() - newLinerFaces.size()
            << " faces from liner region to cylinder head" << endl;
        pFaces[LINER][0] = newLinerFaces;
    }

    SLList<face> newCylinderHeadFaces;

    forAllConstIter(SLList<face>, pFaces[CYLINDERHEAD][0], iter)
    {
        const face& pf = iter();

        scalar minfz = GREAT;
        forAll(pf, pfi)
        {
            minfz = min(minfz, points[pf[pfi]].z());
        }

        if (minfz < zHeadMin)
        {
            pFaces[LINER][0].append(pf);
        }
        else
        {
            newCylinderHeadFaces.append(pf);
        }
    }

    if (pFaces[CYLINDERHEAD][0].size() != newCylinderHeadFaces.size())
    {
        Info<< "Transfered faces from cylinder-head region to linder" << endl;
        pFaces[CYLINDERHEAD][0] = newCylinderHeadFaces;
    }
}

The question is how can i apply this solving. How can i transfer faces from liner region to cylinder head while i convert new fluent mesh to polyMesh.

Thanks in advance.
Ayhan Baydir
Fresh Boarder
Posts: 2
graphgraph
User Offline Click here to see the profile of this user
Last Edit: 2011/10/13 07:53 By ayhan.
The administrator has disabled public write access.
 
#295
Re:engineFoam new mesh problem 7 Months ago Karma: 0
I used checkMesh command. The output is below.

Code:


/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM®®®: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM®®®.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.0.1-51f1de99a4bc
Exec   : checkMesh
Date   : Oct 18 2011
Time   : 15:46:26
Host   : ubuntu
PID    : 2780
Case   : /home/ayhan/OpenFOAM®®®/ayhan-2.0.1/run/tutorials/combustion/engineFoam/kivaTest-fluent-11-10-2011
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 = -180

Time = -180

Mesh stats
    points:           30742
    faces:            85742
    internal faces:   79522
    cells:            27544
    boundary patches: 3
    point zones:      0
    face zones:       1
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     27544
    prisms:        0
    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                 
    piston              1326     1400     ok (non-closed singly connected) 
    liner               2710     2858     ok (non-closed singly connected) 
    cylinderhead        2184     2260     ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (-0.046 -0.0459845 -0.0089896) (0.046 0.0459845 0.20335)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (2.0111e-20 -4.34397e-19 6.81738e-20) OK.
    Max cell openness = 2.54332e-16 OK.
    Max aspect ratio = 68.0635 OK.
    Minumum face area = 4.94833e-07. Maximum face area = 8.23324e-05.  Face area magnitudes OK.
    Min volume = 6.14138e-10. Max volume = 2.72275e-07.  Total volume = 0.00126259.  Cell volumes OK.
    Mesh non-orthogonality Max: 86.981 average: 37.3601
   *Number of severely non-orthogonal faces: 5320.
    Non-orthogonality check OK.
  <<Writing 5320 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
    Max skewness = 3.89796 OK.

Mesh OK.

End




Code:


/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM®®®: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM®®®.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.0.1-51f1de99a4bc
Exec   : engineFoam
Date   : Oct 18 2011
Time   : 15:47:49
Host   : ubuntu
PID    : 2985
Case   : /home/ayhan/OpenFOAM®®®/ayhan-2.0.1/run/tutorials/combustion/engineFoam/kivaTest-fluent-11-10-2011
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 engine time

Create mesh for time = -180

Selecting engineMesh layered


--> FOAM FATAL ERROR:
cannot find cylinderHead patch

    From function engineMesh::engineMesh(const IOobject& io)
    in file engineMesh/engineMesh/engineMesh.C at line 90.

FOAM exiting





I still get same error when i try to use engineFoam.


While i am writing this above message i noticed these
cylinderhead 2184 2260 ok (non-closed singly connected)
and
cannot find cylinderHead patch
Then i changed cylinderhead to cylinderHead in boundary file of polyMesh folder.
Then now engineFoam is working. I am really shame on myself.
Ayhan Baydir
Fresh Boarder
Posts: 2
graphgraph
User Offline Click here to see the profile of this user
Last Edit: 2011/10/18 15:17 By ayhan.
The administrator has disabled public write access.
 
Go to topPage: 1
Joomla SEO powered by JoomSEF


bottom
top

OpenFOAM®-Extend World

You need to upgrade your Flash Player

bottom
Legal | Imprint
©Copyright 2012 The OpenFOAM® Extend Project 

Powered by Joomla! Designed by Joomla Templates, ecommerce web hosting, Thanks to J! Developer Goran Gligorin for support! Joomla SEF URLs by Artio. Powered by Staff Master v0.9.8 Valid: XHTML and CSS

Friends Online