- provide no_topology() characteristic to avoid triggering potentially expensive mesh connectivity calculations when they are not required. - remove/deprecate unused pointField references from the renumber methods. These appear to have crept in from outer similarities with decompositionMethod, but have no meaning for renumbering. - remove/deprecate various unused aggregation renumberings since these have been previously replaced by pre-calling calcCellCells, or using bandCompression directly. - make regionFaceOrder for block-wise renumbering optional and treat as experimental (ie, default is now disabled). The original idea was to sort the intra-region and inter-region faces separately. However, this will mostly lead to non-upper triangular ordering between regions, which checkMesh and others don't really like. ENH: add timing information for various renumberMesh stages ENH: add reset of clockTime and cpuTime increment - simplifies section-wise timings ENH: add globalIndex::null() and fieldTypes::processorType conveniences - provides more central management of these characteristics
124 lines
3.5 KiB
C++
124 lines
3.5 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v2406 |
|
|
| \\ / A nd | Website: www.openfoam.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
note "mesh renumbering dictionary";
|
|
object renumberMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
// Additional libraries
|
|
//libs (SloanRenumber);
|
|
//libs (zoltanRenumber);
|
|
|
|
// Optional entry: write maps from renumbered back to original mesh
|
|
writeMaps false;
|
|
|
|
// Optional entry: sort cells on coupled boundaries to last for use with
|
|
// e.g. nonBlockingGaussSeidel.
|
|
sortCoupledFaceCells false;
|
|
|
|
// Optional entry: renumber on a block-by-block basis. It uses a
|
|
// blockCoeffs dictionary to construct a decompositionMethod to do
|
|
// a block subdivision) and then applies the renumberMethod to each
|
|
// block in turn. This can be used in large cases to keep the blocks
|
|
// fitting in cache with all the cache misses bunched at the end.
|
|
// This number is the approximate size of the blocks - this gets converted
|
|
// to a number of blocks that is the input to the decomposition method.
|
|
//blockSize 1000;
|
|
|
|
// Optional entry: sort points into internal and boundary points
|
|
//orderPoints false;
|
|
|
|
// Optional entry (experimental) - for block-by-block (blockSize > 0) option:
|
|
// - sort intra-region and iter-region faces separately.
|
|
// This will likely lead to non-upper triangular ordering between regions.
|
|
//regionFaceOrder false;
|
|
|
|
|
|
method CuthillMcKee;
|
|
//method RCM; // == reverseCuthillMcKee;
|
|
//method Sloan; //<- libs (zoltanRenumber);
|
|
//method manual;
|
|
//method random;
|
|
//method structured;
|
|
//method spring;
|
|
//method zoltan; //<- libs (zoltanRenumber);
|
|
|
|
//CuthillMcKeeCoeffs
|
|
//{
|
|
// // Plain or reverse CuthillMcKee (RCM)
|
|
// reverse true;
|
|
//}
|
|
|
|
manualCoeffs
|
|
{
|
|
// In system directory: new-to-original (i.e. order) labelIOList
|
|
dataFile "cellMap";
|
|
}
|
|
|
|
|
|
// For extruded (i.e. structured in one direction) meshes
|
|
structuredCoeffs
|
|
{
|
|
// Patches that mesh was extruded from.
|
|
// These determine the starting layer of cells
|
|
patches (movingWall);
|
|
|
|
// Method to renumber the starting layer of cells
|
|
method random;
|
|
|
|
// Renumber in columns (depthFirst) or in layers
|
|
depthFirst true;
|
|
|
|
// Reverse ordering
|
|
reverse false;
|
|
}
|
|
|
|
|
|
springCoeffs
|
|
{
|
|
// Maximum jump of cell indices. Is fraction of number of cells
|
|
maxCo 0.01;
|
|
|
|
// Limit the amount of movement; the fraction maxCo gets decreased
|
|
// with every iteration
|
|
freezeFraction 0.999;
|
|
|
|
// Maximum number of iterations
|
|
maxIter 1000;
|
|
|
|
// Enable/disable verbosity
|
|
verbose true;
|
|
}
|
|
|
|
|
|
blockCoeffs
|
|
{
|
|
method scotch;
|
|
//method hierarchical;
|
|
//hierarchicalCoeffs
|
|
//{
|
|
// n (1 2 1);
|
|
// delta 0.001;
|
|
// order xyz;
|
|
//}
|
|
}
|
|
|
|
|
|
zoltanCoeffs
|
|
{
|
|
ORDER_METHOD LOCAL_HSFC;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|