CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[snappyHexMesh] Removing further cells after SHM

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By zonda
  • 1 Post By zonda

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 31, 2017, 05:26
Default Removing further cells after SHM
  #1
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Goodmorning to all the community. First thing first, i did not find any section in which i could introduce myself, so if anyone could provide me the link i would be glad to do so

Let's get to the point of the thread.
Being new in the usage of openFoam, i'm attending a university project in which i have to modify the geometry of a combustion chamber, creating a striction in the middle of it.

The starting mesh is the one in the pic, this was provided to me by my teacher and she said it was made on gambit.
chamber.jpg

Then, on a CAD software i have created the stl file showed in the following pic.
volumetosnap.jpg

At this point i have used the comand surfaceFeatureExtract and then snappyHexMesh. This last stage took a few attempts, modifying each time the parameters on the snappyHexMeshdict related to the cells and mesh tollerance, but in the end i managed to obtain the showed result.
snappedchamber.jpg

The problem starts here. My teacher said that, in order to run a proper fluid simulation after, i need to remove those cells, showed in the red circle, that run all over the edge of the cilinder. I don't really have a clue on how to do it, i tried to look on the internet, even on this forum, but i did not get any hint. I tried to draw a thin ring and snap it all over the edge, but i received an errore message (right now i can not provide the log because the servers i'm working on are down).

Any suggestion on how to perform this step? I'm really stucked Big thanks to all of you
saaidakhlifi likes this.
zonda is offline   Reply With Quote

Old   September 1, 2017, 01:49
Default
  #2
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Hello Francesco,

welcome to the forum.

It is almost impossible to help you when you do not provide your snappyHexMeshDict and the log file of your SHM run.
There is just too much which could be the reason for your problem.

Please see here how to get the most out of the forum

From your images alone I can only guess, but I doubt that would help
a_slow_old_man is offline   Reply With Quote

Old   September 4, 2017, 11:22
Default
  #3
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok here i am, sorry for being late but i was waiting for the servers to be online again.
So, as a_slow_old_man said here i'm providing the SHMdict and the log.error

Log.error
Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 3.0.1-d8a290b55d28
Exec   : snappyHexMesh
Date   : Aug 19 2017
Time   : 16:57:49
Host   : "an04"
PID    : 18073
Case   : /utenti/simulation/OpenFOAM/simulation-3.0.1/run/cases/AeroSpaceProp/GreenEngine/francesco/Rifinitura
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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

Create mesh for time = 0

Read mesh in = 17.01 s

Overall mesh bounding box  : (-0.0704992 -0.0704916 -5.91789e-17) (0.0704979 0.0704914 0.5175)
Relative tolerance         : 0.001
Absolute matching distance : 0.000554583

Reading refinement surfaces.
Read refinement surfaces in = 0.01 s

Reading refinement shells.
Refinement level 4 for all cells inside refinementBox
Read refinement shells in = 0 s

Setting refinement level of surface to be consistent with shells.
Checked shell refinement in = 0 s

Reading features.
Read edgeMesh Cavcilrif.eMesh
    points      : 168
    edges       : 504
    boundingBox : (-0.07025 -0.0700536 0.33) (0.07025 0.0700536 0.39)

Refinement level according to distance to "Cavcilrif.eMesh" (168 points, 504 edges).
    level 5 for all cells within 0 metre.
Read features in = 0.01 s


Determining initial surface intersections
-----------------------------------------

Edge intersection testing:
    Number of edges             : 4283064
    Number of edges to retest   : 4283064
    Number of intersected edges : 142
Calculated surface intersections in = 9.94 s

Initial mesh : cells:1401584  faces:4283064  points:1489127
Cells per refinement level:
    0	1330645
    1	38149
    2	32790

Adding patches for surface regions
----------------------------------

Patch Type                Region                        
----- ----                ------                        
Cavcilrif:

15    wall                Cavcilrif                     

Added patches in = 0.1 s

Selecting decompositionMethod none
Layer thickness specified as final layer and expansion ratio.

Refinement phase
----------------

Found point (0 0 0.32) in cell 1216497 on processor 0

Feature refinement iteration 0
------------------------------

Marked for refinement due to explicit features             : 526 cells.
Determined cells to refine in = 26.27 s
Selected for feature refinement : 529 cells (out of 1401584)
hexRef8 : Dumping cell as obj to "/utenti/simulation/OpenFOAM/simulation-3.0.1/run/cases/AeroSpaceProp/GreenEngine/francesco/Rifinitura/cell_1349695.obj"


--> FOAM FATAL ERROR: 
nAnchors:3 faceI:4250946

    From function createInternalFaces(..)
    in file polyTopoChange/polyTopoChange/hexRef8.C at line 1276.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libOpenFOAM.so"
#2  Foam::hexRef8::createInternalFaces(Foam::List<Foam::List<long> > const&, Foam::List<Foam::List<long> > const&, Foam::List<long> const&, Foam::List<long> const&, Foam::List<long> const&, Foam::List<long> const&, long, Foam::polyTopoChange&) const in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libdynamicMesh.so"
#3  Foam::hexRef8::setRefinement(Foam::List<long> const&, Foam::polyTopoChange&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libdynamicMesh.so"
#4  Foam::meshRefinement::refine(Foam::List<long> const&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#5  Foam::meshRefinement::balanceAndRefine(Foam::string const&, Foam::decompositionMethod&, Foam::fvMeshDistribute&, Foam::List<long> const&, double) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#6  Foam::autoRefineDriver::featureEdgeRefine(Foam::refinementParameters const&, long, long) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#7  Foam::autoRefineDriver::doRefine(Foam::dictionary const&, Foam::refinementParameters const&, Foam::snapParameters const&, bool, Foam::dictionary const&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#8  ? in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/bin/snappyHexMesh"
#9  __libc_start_main in "/lib64/libc.so.6"
#10  Foam::UOPstream::write(char) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/bin/snappyHexMesh"


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

// Which of the steps to run
castellatedMesh true;
snap            true;
addLayers       true; 
 

// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
    Cavcilrif.stl
    {
        type triSurfaceMesh;
        name Cavcilrif;
    }

    refinementBox
    {
        type searchableBox;
        min (-0.1 -0.1 -0.225);
        max ( 0.1 0.1 0.6);
    }
};



// Settings for the castellatedMesh generation.
castellatedMeshControls
{

    // Refinement parameters
    // ~~~~~~~~~~~~~~~~~~~~~

    // If local number of cells is >= maxLocalCells on any processor
    // switches from from refinement followed by balancing
    // (current method) to (weighted) balancing before refinement.
    maxLocalCells 10000; //10000

    // Overall cell limit (approximately). Refinement will stop immediately
    // upon reaching this number so a refinement level might not complete.
    // Note that this is the number of cells before removing the part which
    // is not 'visible' from the keepPoint. The final number of cells might
    // actually be a lot less.
    maxGlobalCells 1500000; //1800000

    // The surface refinement loop might spend lots of iterations refining just a
    // few cells. This setting will cause refinement to stop if <= minimumRefine
    // are selected for refinement. Note: it will at least do one iteration
    // (unless the number of cells to refine is 0)
    minRefinementCells 1 //5

    // Allow a certain level of imbalance during refining
    // (since balancing is quite expensive)
    // Expressed as fraction of perfect balance (= overall number of cells /
    // nProcs). 0=balance always.
    maxLoadUnbalance 0.10;


    // Number of buffer layers between different levels.
    // 1 means normal 2:1 refinement restriction, larger means slower
    // refinement.
    nCellsBetweenLevels 3; //1



    // Explicit feature edge refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies a level for any cell intersected by its edges.
    // This is a featureEdgeMesh, read from constant/triSurface for now.
    features
    (
        {
            file "Cavcilrif.eMesh";
            level 5; //3, 4
        }
    );



    // Surface based refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies two levels for every surface. The first is the minimum level,
    // every cell intersecting a surface gets refined up to the minimum level.
    // The second level is the maximum level. Cells that 'see' multiple
    // intersections where the intersections make an
    // angle > resolveFeatureAngle get refined up to the maximum level.

    refinementSurfaces
    {
        Cavcilrif
       {
            // Surface-wise min and max refinement level
            level (4 5); //(3 4)

            // Optional specification of patch type (default is wall). No
            // constraint types (cyclic, symmetry) etc. are allowed.
            patchInfo
            {
                type wall;
                inGroups (CavcilrifGroup);
            }
        }
    }

    // Resolve sharp angles
    resolveFeatureAngle 30;


    // Region-wise refinement
    // ~~~~~~~~~~~~~~~~~~~~~~

    // Specifies refinement level for cells in relation to a surface. One of
    // three modes
    // - distance. 'levels' specifies per distance to the surface the
    //   wanted refinement level. The distances need to be specified in
    //   descending order.
    // - inside. 'levels' is only one entry and only the level is used. All
    //   cells inside the surface get refined up to the level. The surface
    //   needs to be closed for this to be possible.
    // - outside. Same but cells outside.

    refinementRegions
    {
        refinementBox
        {
            mode inside;
            levels ((1E15 4)); //((1E15 3))
        }
    }


    // Mesh selection
    // ~~~~~~~~~~~~~~

    // After refinement patches get added for all refinementSurfaces and
    // all cells intersecting the surfaces get put into these patches. The
    // section reachable from the locationInMesh is kept.
    // NOTE: This point should never be on a face, always inside a cell, even
    // after refinement.
    locationInMesh (0.0 0.0 0.32);


    // Whether any faceZones (as specified in the refinementSurfaces)
    // are only on the boundary of corresponding cellZones or also allow
    // free-standing zone faces. Not used if there are no faceZones.
    allowFreeStandingZoneFaces true;
}



// Settings for the snapping.
snapControls
{
    //- Number of patch smoothing iterations before finding correspondence
    //  to surface
    nSmoothPatch 3;

    //- Relative distance for points to be attracted by surface feature point
    //  or edge. True distance is this factor times local
    //  maximum edge length.
    tolerance 2.0;

    //- Number of mesh displacement relaxation iterations.
    nSolveIter 30;

    //- Maximum number of snapping relaxation iterations. Should stop
    //  before upon reaching a correct mesh.
    nRelaxIter 5;

    // Feature snapping

        //- Number of feature edge snapping iterations.
        //  Leave out altogether to disable.
        nFeatureSnapIter 10;

        //- Detect (geometric only) features by sampling the surface
        //  (default=false).
        implicitFeatureSnap false;

        //- Use castellatedMeshControls::features (default = true)
        explicitFeatureSnap true;

        //- Detect points on multiple surfaces (only for explicitFeatureSnap)
        multiRegionFeatureSnap false;
}



// Settings for the layer addition.
addLayersControls
{
    // Are the thickness parameters below relative to the undistorted
    // size of the refined cell outside layer (true) or absolute sizes (false).
    relativeSizes true;

    // Per final patch (so not geometry!) the layer information
    layers
    {

    }

    // Expansion factor for layer mesh
    expansionRatio 1.0;

    // Wanted thickness of final added cell layer. If multiple layers
    // is the thickness of the layer furthest away from the wall.
    // Relative to undistorted size of cell outside layer.
    // See relativeSizes parameter.
    finalLayerThickness 0.3;

    // Minimum thickness of cell layer. If for any reason layer
    // cannot be above minThickness do not add layer.
    // Relative to undistorted size of cell outside layer.
    minThickness 0.1;

    // If points get not extruded do nGrow layers of connected faces that are
    // also not grown. This helps convergence of the layer addition process
    // close to features.
    // Note: changed(corrected) w.r.t 17x! (didn't do anything in 17x)
    nGrow 0;

    // Advanced settings

    // When not to extrude surface. 0 is flat surface, 90 is when two faces
    // are perpendicular
    featureAngle 60;

    // At non-patched sides allow mesh to slip if extrusion direction makes
    // angle larger than slipFeatureAngle.
    slipFeatureAngle 30;

    // Maximum number of snapping relaxation iterations. Should stop
    // before upon reaching a correct mesh.
    nRelaxIter 3;

    // Number of smoothing iterations of surface normals
    nSmoothSurfaceNormals 1;

    // Number of smoothing iterations of interior mesh movement direction
    nSmoothNormals 3;

    // Smooth layer thickness over surface patches
    nSmoothThickness 10;

    // Stop layer growth on highly warped cells
    maxFaceThicknessRatio 0.5;

    // Reduce layer growth where ratio thickness to medial
    // distance is large
    maxThicknessToMedialRatio 0.3;

    // Angle used to pick up medial axis points
    // Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to 130 in 17x.
    minMedianAxisAngle 90;


    // Create buffer region for new layer terminations
    nBufferCellsNoExtrude 0;


    // Overall max number of layer addition iterations. The mesher will exit
    // if it reaches this number of iterations; possibly with an illegal
    // mesh.
    nLayerIter 50;
}



// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
meshQualityControls
{
    #include "meshQualityDict"


    // Advanced

    //- Number of error distribution iterations
    nSmoothScale 4;
    //- Amount to scale back displacement at error points
    errorReduction 0.75;
}


// Advanced

// Write flags
writeFlags
(
    scalarLevels
    layerSets
    layerFields     // write volScalarField for layer coverage
);


// Merge tolerance. Is fraction of overall bounding box of initial mesh.
// Note: the write tolerance needs to be higher than this.
mergeTolerance 1e-3;


// ************************************************************************* //
Hope this informations will be enough
zonda is offline   Reply With Quote

Old   September 5, 2017, 00:36
Default
  #4
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Hello Francesco,

there ist only one thing I saw in your SHMDict, you missed a semicolon here, but I don't think that is the root of the problem.

Quote:
Originally Posted by zonda View Post
SnappyHexMeshDict
Code:
 
[...]

castellatedMeshControls
{
    minRefinementCells 1; //5
[...]
You have one important message in your log file. There are some cells which are aparently bad. They get saved as obj files. Try and view them criticly in paraView, maybe you can see a reason why SHM is crashing. They might be very skewed and need more local refinement. Maybe the edges are to sharp and you need to use surfaceFeatureExtract to get a good refinement there.

Quote:
Originally Posted by zonda View Post
Log.error
Code:
[...]

hexRef8 : Dumping cell as obj to "/utenti/simulation/OpenFOAM/simulation-3.0.1/run/cases/AeroSpaceProp/GreenEngine/francesco/Rifinitura/cell_1349695.obj"

[...]
Good luck!




Edit.:

I looked at your images again. Is your "ring" the same size (outer diameter) as your underlying geometry? Try and enlarge the outer diameter a little, I have a feeling these "edge cells" might come from SHM trying to snap the cells onto the outside of you your ring geometry.
a_slow_old_man is offline   Reply With Quote

Old   September 5, 2017, 15:33
Default
  #5
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
So, as you said, first i have modified the geometry to make it a bit larger, and then i have changed the includeAngle parameter in the SFEdict. All this has led to the same error as before (i mean really the same, just the cells where different).

The first try was with the original value of 180° that led to the error on the cell below
HTML Code:
https://app.box.com/s/bmcgqlkp9hihn8n0aouyfn33ct0ts5l7
then i've changed the parameter to 150° obtaining the error on another cell:
HTML Code:
https://app.box.com/s/hs5q6qqh9pa5tzzxqys46whuvwrai2p4
I'm providing the cell objs because being new to openFoam and to the CFD in general i can't really tell if they are proper cells or not
zonda is offline   Reply With Quote

Old   September 12, 2017, 05:25
Default
  #6
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Please try this snappyHexMeshDict, it is a very reduced form, which only uses the surface of the .stl file for refinement. The Problem might be coupled to the featureEdgeRefinement.

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

castellatedMesh true;
snap            true;
addLayers       false; 

geometry
{
    Cavcilrif.stl
    {
        type triSurfaceMesh;
        name Cavcilrif;
    }
};

castellatedMeshControls
{

    maxLocalCells 10000; //10000

    maxGlobalCells 1500000; //1800000

    minRefinementCells 1 //5

    maxLoadUnbalance 0.10;

    nCellsBetweenLevels 3; //1

    features
    (
    );

    refinementSurfaces
    {
        Cavcilrif
       {
            level (2 2); //(3 4)
            patchInfo
            {
                type wall;
            }
        }
    }

    resolveFeatureAngle 30;

    refinementRegions
    {
    }

    locationInMesh (0.0 0.0 0.32);

    allowFreeStandingZoneFaces true;
}


snapControls
{
    nSmoothPatch 3;
    tolerance 2.0;
    nSolveIter 30;
    nRelaxIter 5;
    nFeatureSnapIter 10;
    implicitFeatureSnap false;
    explicitFeatureSnap true;
    multiRegionFeatureSnap false;
}



// Settings for the layer addition.
addLayersControls
{
}

meshQualityControls
{
    #include "meshQualityDict"

    nSmoothScale 4;
    errorReduction 0.75;
}

mergeTolerance 1e-3;


// ************************************************************************* //
a_slow_old_man is offline   Reply With Quote

Old   September 12, 2017, 06:26
Default
  #7
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok, as soon as I saw the reply i tried to implement the file you gave me. openFoam gives me back this error:

Code:
Selecting decompositionMethod none


--> FOAM FATAL IO ERROR: 
keyword relativeSizes is undefined in dictionary "/utenti/simulation/OpenFOAM/simulation-3.0.1/run/cases/AeroSpaceProp/GreenEngine/francesco/Rifinitura/system/snappyHexMeshDict.addLayersControls"

file: /utenti/simulation/OpenFOAM/simulation-3.0.1/run/cases/AeroSpaceProp/GreenEngine/francesco/Rifinitura/system/snappyHexMeshDict.addLayersControls

    From function dictionary::lookupEntry(const word&, bool, bool) const
    in file db/dictionary/dictionary.C at line 442.

FOAM exiting
for what i can see, it doesn't recognize the relativeSizes parameter that can be found under the addLayersControls, but being addLayers function deactivated it should not even consider it. I even tried to completely comment the addLayersControls string at the end of the file, but is always the same error.
zonda is offline   Reply With Quote

Old   September 12, 2017, 07:58
Default
  #8
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Hmmm that is strange. Can you try to add these infos back in the Dictionary but keep addLayers false?
a_slow_old_man is offline   Reply With Quote

Old   September 12, 2017, 10:35
Default
  #9
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok, i did, the software asked for all the parameters inside the addLayersControl. Now it got back to the same old error on the single cell. Here is the log:

Code:
--> FOAM FATAL ERROR: 
cell 615144 of level 1 does not seem to have 8 points of equal or lower level
cellPoints:
13
(
1416594
1455907
1455908
1368106
567509
1427673
1427674
1440614
1440616
1391080
1440618
1391085
1371641
)

pointLevels:
13
(
2
2
2
1
0
2
2
2
2
1
2
1
1
)



    From function hexRef8::setRefinement(const labelList&, polyTopoChange&)
    in file polyTopoChange/polyTopoChange/hexRef8.C at line 3775.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libOpenFOAM.so"
#2  Foam::hexRef8::setRefinement(Foam::List<long> const&, Foam::polyTopoChange&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libdynamicMesh.so"
#3  Foam::meshRefinement::refine(Foam::List<long> const&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#4  Foam::meshRefinement::balanceAndRefine(Foam::string const&, Foam::decompositionMethod&, Foam::fvMeshDistribute&, Foam::List<long> const&, double) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#5  Foam::autoRefineDriver::surfaceOnlyRefine(Foam::refinementParameters const&, long) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#6  Foam::autoRefineDriver::doRefine(Foam::dictionary const&, Foam::refinementParameters const&, Foam::snapParameters const&, bool, Foam::dictionary const&) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/lib/libautoMesh.so"
#7  ? in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/bin/snappyHexMesh"
#8  __libc_start_main in "/lib64/libc.so.6"
#9  Foam::UOPstream::write(char) in "/utenti/simulation/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt64Opt/bin/snappyHexMesh"
I still don't have a clue on what i'm doing wrong
zonda is offline   Reply With Quote

Old   September 13, 2017, 00:24
Default
  #10
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Quote:
Originally Posted by zonda View Post
Code:
--> FOAM FATAL ERROR: 
cell 615144 of level 1 does not seem to have 8 points of equal or lower level
Okay this part here might explain it.

I assumed your basemesh, the one provided by your teacher is structured. I looked up gambit and it seems to built unstructured meshes as well as structured ones.

SHM works with structured hexahedra meshes only. If your basemesh is unstructured, SHM can not work with it.

I'm afraid what you are trying to do will not be possible, if your mesh is unstructured.

What you might try instead is to get the original .stl files of the combustion chamber from your teacher and use these together with SHM to create a hexahedra mesh, including your alteration.
a_slow_old_man is offline   Reply With Quote

Old   September 13, 2017, 16:02
Default
  #11
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok so, my teacher said that the initial mesh is structured, but i've red that the adding layers process at the end of sHM may generate ustructured portion on the final mesh. Is that true? However i tried to use back again the initial mesh, and to snap again the stl file you can see in the first post of this thread, but this time deactivating the addLayers function. I obtained the usual snapped mesh with the same "exceeding" cells, and so i tried to snap the thin ring, but I got the following error:

Code:
--> FOAM FATAL ERROR: 
nAnchors:3 faceI:4234698

    From function createInternalFaces(..)
    in file polyTopoChange/polyTopoChange/hexRef8.C at line 1276.

FOAM aborting
Thank you for your patience and your help
zonda is offline   Reply With Quote

Old   September 14, 2017, 00:23
Default
  #12
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
Is it possible for your to upload your case so I can take a closer look at it?

If you are not allowed to upload your case, can you take some images of your geometry before and after the SHM job? Preferably with the "Surface with Edges" visual option in ParaView so I can so the cell structure?
a_slow_old_man is offline   Reply With Quote

Old   September 14, 2017, 05:15
Default
  #13
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok, i can not upload the Whole case, soi'm posting the pictures.

This is the mesh before the snapping:
HTML Code:
https://app.box.com/s/10vytq691j0v673cgc1o7koabfeh71ja
And these after the snapping process:
HTML Code:
https://app.box.com/s/mmej0zs3qaenmulc740r7lxjf3vb2gu3
HTML Code:
https://app.box.com/s/3up7lbjslgrklrtaucstr6gsmv9jwbgi
HTML Code:
https://app.box.com/s/5ztj0sfpwerq5gcd1jue0r26avhp6dox
Let me know if you need more views
zonda is offline   Reply With Quote

Old   September 14, 2017, 05:49
Default
  #14
New Member
 
Frederik
Join Date: Dec 2015
Location: Germany
Posts: 25
Rep Power: 10
a_slow_old_man is on a distinguished road
There is some uneccessary refinement along the lengthwise "edges". I don't think that is responsible for the problem, but you can fix that by decreasing the "includeAngle" in your surfaceFeatureExtractDict
Code:
Cavcilrif.stl
{
    // How to obtain raw features (extractFromFile || extractFromSurface)
    extractionMethod    extractFromSurface;

    extractFromSurfaceCoeffs
    {
        // Mark edges whose adjacent surface normals are at an angle less
        // than includedAngle as features
        // - 0  : selects no edges
        // - 180: selects all edges
        includedAngle   100;
    }

    // Write options

        // Write features to obj format for postprocessing
        writeObj                no;
}
Should work for that. In the meantime, can you provide a slice view of the base gometry length and width wise?
a_slow_old_man is offline   Reply With Quote

Old   September 15, 2017, 07:50
Default
  #15
New Member
 
Francesco Liuzzi
Join Date: Jul 2017
Posts: 15
Rep Power: 8
zonda is on a distinguished road
Ok, good news, i wanted to tell you that i've succeded in removing those cells
Most of the times the errors messages were about some bad cells.
Reading on the internet i''ve discovered that with paraview i could visualize on the same screen both the whole mesh and the cells, and so i saw that one of these cells was located in the back of the mesh, precisely in one of those radial tubes on the main duct, while the other two were exactly on those little parts i wanted to remove. To get rid at least of the first bad cell i decided to go inside the sHMdict and modify the values of the searchableBox. The dafult values were considering the whole mesh and so i modified the z coordinate on both the min and the max to make the software consider just a portion a bit wider than the snapped zone. Also under suggestion of the teacher i modified also the surface refinement level to (1 1) and the region refinement level to (1.0 1). Now, being new to openfoam i don't have a clear idea about what these values have done, but i can tell you it worked (at least my teacher was satisfied by the resulting mesh).

But i wanted to thank you a_slow_old_man for your help. You gave me some usefull tips that will help me in the future

if someone needs more detail just let me know
a_slow_old_man likes this.
zonda is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with divergence TDK FLUENT 13 December 14, 2018 06:00
[blockMesh] Create internal faces as patch in blockMesh m.delta68 OpenFOAM Meshing & Mesh Conversion 14 July 12, 2018 14:43
[snappyHexMesh] sHM too many cells Knapsack OpenFOAM Meshing & Mesh Conversion 2 July 8, 2017 07:41
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Meshing & Mesh Conversion 2 March 27, 2011 21:11
[blockMesh] Removing interior cells shd01 OpenFOAM Meshing & Mesh Conversion 3 January 16, 2011 10:11


All times are GMT -4. The time now is 06:45.