ENH: region-wise decomposition specification for decomposeParDict

Within decomposeParDict, it is now possible to specify a different
  decomposition method, methods coefficients or number of subdomains
  for each region individually.

  The top-level numberOfSubdomains remains mandatory, since this
  specifies the number of domains for the entire simulation.
  The individual regions may use the same number or fewer domains.

  Any optional method coefficients can be specified in a general
  "coeffs" entry or a method-specific one, eg "metisCoeffs".

  For multiLevel, only the method-specific "multiLevelCoeffs" dictionary
  is used, and is also mandatory.

----

ENH: shortcut specification for multiLevel.

  In addition to the longer dictionary form, it is also possible to
  use a shorter notation for multiLevel decomposition when the same
  decomposition method applies to each level.
This commit is contained in:
Mark Olesen
2017-11-09 12:30:24 +01:00
parent 69ea4976ac
commit a9ffcab5af
211 changed files with 2416 additions and 3933 deletions

View File

@ -25,7 +25,7 @@ Class
Foam::structuredDecomp
Description
Decomposition by walking out decomposition of patch cells mesh.
Walk out decomposition of patch cells mesh - selectable as \c structured.
SourceFiles
structuredDecomp.C
@ -41,7 +41,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class structuredDecomp Declaration
Class structuredDecomp Declaration
\*---------------------------------------------------------------------------*/
class structuredDecomp
@ -60,8 +60,8 @@ class structuredDecomp
// Private Member Functions
//- Disallow default bitwise copy construct and assignment
void operator=(const structuredDecomp&);
structuredDecomp(const structuredDecomp&);
void operator=(const structuredDecomp&) = delete;
structuredDecomp(const structuredDecomp&) = delete;
public:
@ -73,7 +73,7 @@ public:
// Constructors
//- Construct given the decomposition dictionary
structuredDecomp(const dictionary& decompositionDict);
structuredDecomp(const dictionary& decompDict);
//- Destructor