sampleSet: Improve error message for renamed sets
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -163,12 +163,18 @@ int main(int argc, char *argv[])
|
||||
|
||||
// Externally stored dictionary for functionObjectList
|
||||
// if not constructed from runTime
|
||||
dictionary functionsDict;
|
||||
dictionary functionsControlDict("controlDict");
|
||||
|
||||
// Construct functionObjectList
|
||||
autoPtr<functionObjectList> functionsPtr
|
||||
(
|
||||
functionObjectList::New(args, runTime, functionsDict, selectedFields)
|
||||
functionObjectList::New
|
||||
(
|
||||
args,
|
||||
runTime,
|
||||
functionsControlDict,
|
||||
selectedFields
|
||||
)
|
||||
);
|
||||
|
||||
forAll(timeDirs, timei)
|
||||
@ -184,7 +190,7 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
args,
|
||||
runTime,
|
||||
functionsDict,
|
||||
functionsControlDict,
|
||||
selectedFields
|
||||
);
|
||||
}
|
||||
|
||||
@ -335,9 +335,11 @@ bool Foam::functionObjectList::readFunctionObject
|
||||
}
|
||||
|
||||
// Merge this functionObject dictionary into functionsDict
|
||||
const word funcNameArgsWord = string::validate<word>(funcNameArgs);
|
||||
dictionary funcArgsDict;
|
||||
funcArgsDict.add(string::validate<word>(funcNameArgs), funcDict);
|
||||
funcArgsDict.add(funcNameArgsWord, funcDict);
|
||||
functionsDict.merge(funcArgsDict);
|
||||
functionsDict.subDict(funcNameArgsWord).name() = funcDict.name();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -94,14 +94,20 @@ if (argList::postProcess(argc, argv))
|
||||
|
||||
// Externally stored dictionary for functionObjectList
|
||||
// if not constructed from runTime
|
||||
dictionary functionsDict;
|
||||
dictionary functionsControlDict("controlDict");
|
||||
|
||||
HashSet<word> selectedFields;
|
||||
|
||||
// Construct functionObjectList
|
||||
autoPtr<functionObjectList> functionsPtr
|
||||
(
|
||||
functionObjectList::New(args, runTime, functionsDict, selectedFields)
|
||||
functionObjectList::New
|
||||
(
|
||||
args,
|
||||
runTime,
|
||||
functionsControlDict,
|
||||
selectedFields
|
||||
)
|
||||
);
|
||||
|
||||
forAll(timeDirs, timei)
|
||||
@ -117,7 +123,7 @@ if (argList::postProcess(argc, argv))
|
||||
(
|
||||
args,
|
||||
runTime,
|
||||
functionsDict,
|
||||
functionsControlDict,
|
||||
selectedFields
|
||||
);
|
||||
}
|
||||
|
||||
@ -27,6 +27,10 @@ License
|
||||
#include "polyMesh.H"
|
||||
#include "meshSearch.H"
|
||||
#include "writer.H"
|
||||
#include "lineCellSet.H"
|
||||
#include "lineCellFaceSet.H"
|
||||
#include "lineFaceSet.H"
|
||||
#include "lineUniformSet.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -138,15 +142,37 @@ Foam::autoPtr<Foam::sampledSet> Foam::sampledSet::New
|
||||
{
|
||||
const word sampleType(dict.lookup("type"));
|
||||
|
||||
const HashTable<word> oldToNewType =
|
||||
{
|
||||
Tuple2<word, word>("midPoint", lineCellSet::typeName),
|
||||
Tuple2<word, word>("midPointAndFace", lineCellFaceSet::typeName),
|
||||
Tuple2<word, word>("face", lineFaceSet::typeName),
|
||||
Tuple2<word, word>("uniform", lineUniformSet::typeName)
|
||||
};
|
||||
|
||||
if (oldToNewType.found(sampleType))
|
||||
{
|
||||
const word newSampleType = oldToNewType[sampleType];
|
||||
|
||||
FatalErrorInFunction
|
||||
<< "Unknown sample set type "
|
||||
<< sampleType << nl << nl
|
||||
<< "The sample set type " << sampleType << " has been renamed "
|
||||
<< newSampleType << nl << nl
|
||||
<< "Replace \"type " << sampleType << ";\" with \"type "
|
||||
<< newSampleType << ";\" for the set " << name << " in "
|
||||
<< dict.name() << exit(FatalError);
|
||||
}
|
||||
|
||||
wordConstructorTable::iterator cstrIter =
|
||||
wordConstructorTablePtr_->find(sampleType);
|
||||
|
||||
if (cstrIter == wordConstructorTablePtr_->end())
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Unknown sample type "
|
||||
<< "Unknown sample set type "
|
||||
<< sampleType << nl << nl
|
||||
<< "Valid sample types : " << endl
|
||||
<< "Valid sample set types : " << endl
|
||||
<< wordConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -74,6 +74,8 @@ class sampledSet
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
//- Segment numbers
|
||||
labelList segments_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user