Skip to content
Snippets Groups Projects
Commit 03d98b6d authored by mattijs's avatar mattijs
Browse files

ENH: decompositionMethod : move storage of dictionary to those classes that need it

parent 24d01137
Branches
Tags
No related merge requests found
......@@ -53,7 +53,7 @@ protected:
// Protected data
const dictionary decompositionDict_;
const dictionary& decompositionDict_;
label nProcessors_;
......
......@@ -312,13 +312,12 @@ void Foam::multiLevelDecomp::decompose
Foam::multiLevelDecomp::multiLevelDecomp(const dictionary& decompositionDict)
:
decompositionMethod(decompositionDict)
decompositionMethod(decompositionDict),
methodsDict_(decompositionDict_.subDict(typeName + "Coeffs"))
{
const dictionary& myDict = decompositionDict_.subDict(typeName + "Coeffs");
methods_.setSize(myDict.size());
methods_.setSize(methodsDict_.size());
label i = 0;
forAllConstIter(dictionary, myDict, iter)
forAllConstIter(dictionary, methodsDict_, iter)
{
methods_.set(i++, decompositionMethod::New(iter().dict()));
}
......
......@@ -50,6 +50,8 @@ class multiLevelDecomp
{
// Private data
dictionary methodsDict_;
PtrList<decompositionMethod> methods_;
......
......@@ -49,12 +49,12 @@ namespace Foam
Foam::structuredDecomp::structuredDecomp(const dictionary& decompositionDict)
:
decompositionMethod(decompositionDict)
decompositionMethod(decompositionDict),
methodDict_(decompositionDict_.subDict(typeName + "Coeffs"))
{
dictionary myDict = decompositionDict_.subDict(typeName + "Coeffs");
myDict.set("numberOfSubdomains", nDomains());
method_ = decompositionMethod::New(myDict);
patches_ = wordList(myDict.lookup("patches"));
methodDict_.set("numberOfSubdomains", nDomains());
method_ = decompositionMethod::New(methodDict_);
patches_ = wordList(methodDict_.lookup("patches"));
}
......
......@@ -50,6 +50,8 @@ class structuredDecomp
{
// Private data
dictionary methodDict_;
autoPtr<decompositionMethod> method_;
wordList patches_;
......@@ -57,32 +59,6 @@ class structuredDecomp
// Private Member Functions
//- Given connectivity across processors work out connectivity
// for a (consistent) subset
void subsetGlobalCellCells
(
const label nDomains,
const label domainI,
const labelList& dist,
const labelListList& cellCells,
const labelList& set,
labelListList& subCellCells,
labelList& cutConnections
) const;
//- Decompose level methodI without addressing
void decompose
(
const labelListList& pointPoints,
const pointField& points,
const scalarField& pointWeights,
const labelList& pointMap, // map back to original points
const label levelI,
labelField& finalDecomp
);
//- Disallow default bitwise copy construct and assignment
void operator=(const structuredDecomp&);
structuredDecomp(const structuredDecomp&);
......
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