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

[snappyHexMesh] reconstructPar after running snappyhexmesh in parallel

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 1 Post By PositronCascade
  • 1 Post By Antimony
  • 1 Post By Yann
  • 1 Post By PositronCascade

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   October 17, 2020, 08:53
Default reconstructPar after running snappyhexmesh in parallel
  #1
New Member
 
David
Join Date: Oct 2020
Posts: 21
Rep Power: 5
fidu is on a distinguished road
Hi I would like to reconstruct my case after running snappyhexmesh in parallel but I am unable to achieve that. Whenever I try I get the following error message:
Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

--> FOAM Warning :
    From function int main(int, char**)
    in file reconstructPar.C at line 256
I would like to be abel to check the mesh before submitting it to the solver buoyantBoussinesqSimpleFoam. However I would be already be satisfied if I could directly sumbit the solver in parallel after running snappyhexmesh with the same number of cores. The problem there is that my boundary conditions are messed up as following error message shows:
Code:
--> FOAM FATAL IO ERROR:
[5] Cannot find patchField entry for heating
[5]
[5] file: /cluster/scratch/kaeserd/07_againg_new_coordinates_infolow/processor5/0/T.boundaryField
[5]
[5]     From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
[5]     in file /dev/shm/spackapps/spack-stage/spack-stage-7EXqC3/OpenFOAM-v1806/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191.
[5]
FOAM parallel run exiting
I asume this is because my boundary conditions are split up in the processerors (example from processor0/0/T) like this:
Code:
boundaryField
{
  inlet
    {

        type            fixedValue;  
        value           uniform 298.15;
}

outlet
{
type            zeroGradient;
 }

ground
{
 type            fixedValue;
 value           uniform 333.15;
}

frontAndBack
    {
  type            zeroGradient;
    }


procBoundary0to1
{
type            processor;
value           uniform 298.15;
} 

procBoundary0to3 
{
type            processor;
value           uniform 298.15;
}

procBoundary0to12
{
type            processor;
value           uniform 298.15;
}

procBoundary0to15  
{
type            processor;
value           uniform 298.15;
 }
}
My snappyhexMesh file looks like this:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"

castellatedMesh on;
snap            on;
addLayers       off;

geometry
{
    heating.stl
    {
        type triSurfaceMesh;
	    scale 0.001;
        name heating;
    }
    buildings.stl
    {
        type triSurfaceMesh;
	    scale 0.001;
        name buildings;
    }

};

castellatedMeshControls
{
//    nCellsBetweenLevels 3;

    features
    (
      { file  "heating.eMesh"; scale 0.001; level 3; }
      { file  "buildings.eMesh"; scale 0.001; level 3; }
    );

    refinementSurfaces
    {
        buildings
        {
            level (2 3);
            patchInfo { type wall; }
        }
        heating
        {
            level (2 3);
            patchInfo { type wall; }
        }
    }

    refinementRegions
    {
        heating
        {
            mode distance;
            levels ((0.077 2)); 
        }
        buildings
        {
            mode distance;
            levels ((0.077 2)); 
        }
    }

    locationInMesh (2 1 1);

    resolveFeatureAngle 60;
    allowFreeStandingZoneFaces true;

}

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) features by sampling the surface (default=false)
        implicitFeatureSnap true;

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

addLayersControls
{
    layers
    {
        "CAD.*"
        {
            nSurfaceLayers 2;
        }
    }

    relativeSizes       true;
    expansionRatio      1.2;
    finalLayerThickness 0.5;
    minThickness        1e-3;
}

meshQualityControls
{

maxConcave 70;
minTetQuality 1E-12;
maxInternalSkewness 5;
maxBoundarySkewness 25;
}

writeFlags
(
    scalarLevels
    layerSets
    layerFields
);

mergeTolerance 1e-6;

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

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

numberOfSubdomains 48;

method          hierarchical;
// method          ptscotch;

simpleCoeffs
{
    n               (4 1 1);
    delta           0.001;
}

hierarchicalCoeffs
{
    n               (3 4 4);
    delta           0.001;
    order           xyz;
}

manualCoeffs
{
    dataFile        "cellDecomposition";
}


// ************************************************************************* //
Until now I run the case as follows:
blockMesh
surfaceFeatureExtract
decomposePar
mpirun -np 48 snappyHexMesh -overwrite -parallel
(I would like to reconstruct here)
mpirun -n 48 buoyantBoussinesqSimpleFoam -parallel
(and here )

Until now I run snappyhexmesh is series and in this case it worked.

Thank you a lot and sorry if my question should miss some important information. Thanks a lot in advance

best regards

fidu13

Last edited by fidu; October 18, 2020 at 15:06.
fidu is offline   Reply With Quote

 

Tags
decomposed mesh, openfoam 1806, parallel, snappyhesmeshdict


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
wrong zero boundary dir in parallel after snappyHexMesh HagenC OpenFOAM Pre-Processing 2 March 13, 2017 04:47
Running AMI case in parallel Kaskade OpenFOAM Running, Solving & CFD 3 March 14, 2016 15:58
simpleFoam parallel AndrewMortimer OpenFOAM Running, Solving & CFD 12 August 7, 2015 18:45
Fluent 14.0 file not running in parallel mode in cluster tejakalva FLUENT 0 February 4, 2015 07:02
Running CFX parallel distributed Under linux system with loadleveler queuing system ahmadbakri CFX 1 December 21, 2014 04:19


All times are GMT -4. The time now is 17:58.