Skip to content
Snippets Groups Projects
Commit 72ef3d26 authored by mattijs's avatar mattijs
Browse files

ENH: renumberMesh: backwards compatibility: use default if no system/renumberMeshDict

parent 67d0c0f5
Branches
Tags
No related merge requests found
...@@ -28,6 +28,9 @@ Description ...@@ -28,6 +28,9 @@ Description
Renumbers the cell list in order to reduce the bandwidth, reading and Renumbers the cell list in order to reduce the bandwidth, reading and
renumbering all fields from all the time directories. renumbering all fields from all the time directories.
By default uses bandCompression (CuthillMcKee) but will
read system/renumberMeshDict if present and use the method from there.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "argList.H" #include "argList.H"
...@@ -41,6 +44,7 @@ Description ...@@ -41,6 +44,7 @@ Description
#include "decompositionMethod.H" #include "decompositionMethod.H"
#include "renumberMethod.H" #include "renumberMethod.H"
#include "zeroGradientFvPatchFields.H" #include "zeroGradientFvPatchFields.H"
#include "CuthillMcKeeRenumber.H"
using namespace Foam; using namespace Foam;
...@@ -535,20 +539,33 @@ int main(int argc, char *argv[]) ...@@ -535,20 +539,33 @@ int main(int argc, char *argv[])
// Construct renumberMethod // Construct renumberMethod
IOdictionary renumberDict IOobject io
( (
IOobject "renumberMeshDict",
( runTime.system(),
"renumberMeshDict", mesh,
runTime.system(), IOobject::MUST_READ_IF_MODIFIED,
mesh, IOobject::NO_WRITE
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
); );
autoPtr<renumberMethod> renumberPtr = renumberMethod::New(renumberDict);
Info<< "Selecting renumberMethod " << renumberPtr().type() << endl; autoPtr<renumberMethod> renumberPtr;
if (io.headerOk())
{
Info<< "Detected local " << runTime.system()/io.name() << "." << nl
<< "Using this to select renumberMethod." << nl << endl;
renumberPtr = renumberMethod::New(IOdictionary(io));
}
else
{
Info<< "No local " << runTime.system()/io.name()
<< " dictionary found. Using default renumberMethod." << nl
<< endl;
dictionary renumberDict;
renumberPtr.reset(new CuthillMcKeeRenumber(renumberDict));
}
Info<< "Selecting renumberMethod " << renumberPtr().type() << nl << endl;
...@@ -641,6 +658,7 @@ int main(int argc, char *argv[]) ...@@ -641,6 +658,7 @@ int main(int argc, char *argv[])
PtrList<surfaceTensorField> stFlds; PtrList<surfaceTensorField> stFlds;
ReadFields(mesh, objects, stFlds); ReadFields(mesh, objects, stFlds);
Info<< endl;
// From renumbering: // From renumbering:
// - from new cell/face back to original cell/face // - from new cell/face back to original cell/face
......
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
note "mesh renumbering dictionary";
object renumberMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
method CuthillMcKee;
//method manual;
//method random;
//method spring;
manualCoeffs
{
// In system directory: old to new labelIOList
dataFile "cellMap";
}
springCoeffs
{
// Maximum jump of cell indices. Is fraction of number of cells
maxCo 0.1;
// Limit the amount of movement; the fraction maxCo gets decreased
// with every iteration
freezeFraction 0.9;
// Maximum number of iterations
maxIter 1000;
}
// ************************************************************************* //
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
note "mesh renumbering dictionary";
object renumberMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
method CuthillMcKee;
//method manual;
//method random;
//method spring;
manualCoeffs
{
// In system directory: old to new labelIOList
dataFile "cellMap";
}
springCoeffs
{
// Maximum jump of cell indices. Is fraction of number of cells
maxCo 0.1;
// Limit the amount of movement; the fraction maxCo gets decreased
// with every iteration
freezeFraction 0.9;
// Maximum number of iterations
maxIter 1000;
}
// ************************************************************************* //
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment