mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: renumberMesh: backwards compatibility: use default if no system/renumberMeshDict
This commit is contained in:
@ -28,6 +28,9 @@ Description
|
||||
Renumbers the cell list in order to reduce the bandwidth, reading and
|
||||
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"
|
||||
@ -41,6 +44,7 @@ Description
|
||||
#include "decompositionMethod.H"
|
||||
#include "renumberMethod.H"
|
||||
#include "zeroGradientFvPatchFields.H"
|
||||
#include "CuthillMcKeeRenumber.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
@ -535,20 +539,33 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
// Construct renumberMethod
|
||||
IOdictionary renumberDict
|
||||
(
|
||||
IOobject
|
||||
IOobject io
|
||||
(
|
||||
"renumberMeshDict",
|
||||
runTime.system(),
|
||||
mesh,
|
||||
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[])
|
||||
PtrList<surfaceTensorField> stFlds;
|
||||
ReadFields(mesh, objects, stFlds);
|
||||
|
||||
Info<< endl;
|
||||
|
||||
// From renumbering:
|
||||
// - from new cell/face back to original cell/face
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,44 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user