Skip to content

Commit

Permalink
Face uniformity, volume uniformity and face angle options added. find…
Browse files Browse the repository at this point in the history
…BadFacesRelaxed expanded with user defined minimum face area and minimum cell volume.
  • Loading branch information
Alen Cukrov committed Sep 29, 2015
1 parent 9412fc6 commit eec3cc8
Showing 1 changed file with 142 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2011,11 +2011,69 @@ label findBadFacesRelaxed
{
badFaces.clear();

//Default minimum volume of the face pyramid
scalar minPyramidVolume = VSMALL;

//Default minimum area of a face
scalar minimumFaceArea = VSMALL;

//Check whether quality criteria is specified by user
if( mesh.returnTime().foundObject<IOdictionary>("meshDict") )
{
const dictionary& meshDict =
mesh.returnTime().lookupObject<IOdictionary>("meshDict");

Info << "Reading meshDict from findBadFacesRelaxed" << endl;


if( meshDict.found("meshQualitySettings") )
{
const dictionary& qualityDict =
meshDict.subDict("meshQualitySettings");

Info << "Reading meshQualitySettings" << endl;

//Reading minimum volume of the face pyramid defined by the user
if( qualityDict.found("minPyramidVolume") )
{

minPyramidVolume =
readScalar
(
qualityDict.lookup("minPyramidVolume")
);

Info << "Reading minPyramidVolume from findBadFacesRelaxed" << endl;
Info << "minPyramidVolume is from findBadFacesRelaxed" << minPyramidVolume << endl;


}


//Reading minimum area of a face defined by the user
if( qualityDict.found("minimumFaceArea") )
{

minimumFaceArea =
readScalar
(
qualityDict.lookup("minimumFaceArea")
);

Info << "Reading minimumFaceArea from findBadFacesRelaxed" << endl;
Info << "minimumFaceArea is from findBadFacesRelaxed" << minimumFaceArea << endl;

}

}

}

polyMeshGenChecks::checkFacePyramids
(
mesh,
report,
VSMALL,
minPyramidVolume,
&badFaces,
activeFacePtr
);
Expand All @@ -2024,7 +2082,7 @@ label findBadFacesRelaxed
(
mesh,
report,
VSMALL,
minimumFaceArea,
&badFaces,
activeFacePtr
);
Expand Down Expand Up @@ -2198,6 +2256,15 @@ label findLowQualityFaces
//Default maximum skewness
scalar maxSkewness = 2.0;

//Default face uniformity
scalar fcUniform = 0.1;

//Default volume uniformity
scalar volUniform = 0.1;

//Default maximum face angle
scalar maxAngle = 10;

Info << "maxNonOrtho" << maxNonOrtho << endl;

//Check whether quality criteria is specified by user
Expand Down Expand Up @@ -2250,6 +2317,79 @@ label findLowQualityFaces

}

//Reading face uniformity specified by the user
if( qualityDict.found("fcUniform") )
{

fcUniform =
readScalar
(
qualityDict.lookup("fcUniform")
);

Info << "Reading fcUniform" << endl;
Info << "fcUniform is " << fcUniform << endl;

polyMeshGenChecks::checkFaceUniformity
(
mesh,
report,
fcUniform,
&badFaces,
activeFacePtr
);

}

//Reading volume uniformity specified by the user
if( qualityDict.found("volUniform") )
{

volUniform =
readScalar
(
qualityDict.lookup("volUniform")
);

Info << "Reading volUniform" << endl;
Info << "volUniform is " << volUniform << endl;

polyMeshGenChecks::checkVolumeUniformity
(
mesh,
report,
volUniform,
&badFaces,
activeFacePtr
);

}

//Reading maximum face angle specified by the user
if( qualityDict.found("maxAngle") )
{

maxAngle =
readScalar
(
qualityDict.lookup("maxAngle")
);

Info << "Reading maxAngle" << endl;
Info << "maxAngle is " << maxAngle << endl;

polyMeshGenChecks::checkFaceAngles
(
mesh,
report,
maxAngle,
&badFaces,
activeFacePtr
);

}




}
Expand Down

0 comments on commit eec3cc8

Please sign in to comment.