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
|
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
|
|||||||
#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[])
|
|||||||
|
|
||||||
|
|
||||||
// Construct renumberMethod
|
// Construct renumberMethod
|
||||||
IOdictionary renumberDict
|
IOobject io
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"renumberMeshDict",
|
"renumberMeshDict",
|
||||||
runTime.system(),
|
runTime.system(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
IOobject::NO_WRITE
|
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;
|
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
|
||||||
|
|||||||
@ -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