functionObjects: Rationalised use of enumerations by using the C++11 scoped form
This commit is contained in:
@ -108,7 +108,7 @@ Foam::functionObjects::fieldValues::fieldValueDelta::fieldValueDelta
|
||||
:
|
||||
regionFunctionObject(name, runTime, dict),
|
||||
logFiles(obr_, name),
|
||||
operation_(opSubtract),
|
||||
operation_(operationType::subtract),
|
||||
region1Ptr_(nullptr),
|
||||
region2Ptr_(nullptr)
|
||||
{
|
||||
|
||||
@ -100,13 +100,13 @@ class fieldValueDelta
|
||||
{
|
||||
public:
|
||||
//- Operation type enumeration
|
||||
enum operationType
|
||||
enum class operationType
|
||||
{
|
||||
opAdd,
|
||||
opSubtract,
|
||||
opMin,
|
||||
opMax,
|
||||
opAverage
|
||||
add,
|
||||
subtract,
|
||||
min,
|
||||
max,
|
||||
average
|
||||
};
|
||||
|
||||
//- Operation type names
|
||||
|
||||
@ -40,27 +40,27 @@ Type Foam::functionObjects::fieldValues::fieldValueDelta::applyOperation
|
||||
|
||||
switch (operation_)
|
||||
{
|
||||
case opAdd:
|
||||
case operationType::add:
|
||||
{
|
||||
result = value1 + value2;
|
||||
break;
|
||||
}
|
||||
case opSubtract:
|
||||
case operationType::subtract:
|
||||
{
|
||||
result = value1 - value2;
|
||||
break;
|
||||
}
|
||||
case opMin:
|
||||
case operationType::min:
|
||||
{
|
||||
result = min(value1, value2);
|
||||
break;
|
||||
}
|
||||
case opMax:
|
||||
case operationType::max:
|
||||
{
|
||||
result = max(value1, value2);
|
||||
break;
|
||||
}
|
||||
case opAverage:
|
||||
case operationType::average:
|
||||
{
|
||||
result = 0.5*(value1 + value2);
|
||||
break;
|
||||
|
||||
@ -430,17 +430,17 @@ void Foam::functionObjects::fieldValues::surfaceFieldValue::initialise
|
||||
|
||||
switch (regionType_)
|
||||
{
|
||||
case stFaceZone:
|
||||
case regionTypes::faceZone:
|
||||
{
|
||||
setFaceZoneFaces();
|
||||
break;
|
||||
}
|
||||
case stPatch:
|
||||
case regionTypes::patch:
|
||||
{
|
||||
setPatchFaces();
|
||||
break;
|
||||
}
|
||||
case stSampledSurface:
|
||||
case regionTypes::sampledSurface:
|
||||
{
|
||||
sampledSurfaceFaces(dict);
|
||||
break;
|
||||
@ -480,7 +480,7 @@ void Foam::functionObjects::fieldValues::surfaceFieldValue::initialise
|
||||
{
|
||||
Info<< " weight field = " << weightFieldName_ << nl;
|
||||
|
||||
if (regionType_ == stSampledSurface)
|
||||
if (regionType_ == regionTypes::sampledSurface)
|
||||
{
|
||||
FatalIOErrorInFunction(dict)
|
||||
<< "Cannot use weightField for a sampledSurface"
|
||||
@ -541,7 +541,7 @@ void Foam::functionObjects::fieldValues::surfaceFieldValue::writeFileHeader
|
||||
const label i
|
||||
)
|
||||
{
|
||||
if (operation_ != opNone)
|
||||
if (operation_ != operationType::none)
|
||||
{
|
||||
writeCommented(file(), "Region type : ");
|
||||
file() << regionTypeNames_[regionType_] << " " << regionName_ << endl;
|
||||
@ -579,12 +579,12 @@ processValues
|
||||
{
|
||||
switch (operation_)
|
||||
{
|
||||
case opSumDirection:
|
||||
case operationType::sumDirection:
|
||||
{
|
||||
vector n(dict_.lookup("direction"));
|
||||
return sum(pos0(values*(Sf & n))*mag(values));
|
||||
}
|
||||
case opSumDirectionBalance:
|
||||
case operationType::sumDirectionBalance:
|
||||
{
|
||||
vector n(dict_.lookup("direction"));
|
||||
const scalarField nv(values*(Sf & n));
|
||||
@ -611,7 +611,7 @@ processValues
|
||||
{
|
||||
switch (operation_)
|
||||
{
|
||||
case opSumDirection:
|
||||
case operationType::sumDirection:
|
||||
{
|
||||
vector n(dict_.lookup("direction"));
|
||||
n /= mag(n) + rootVSmall;
|
||||
@ -619,7 +619,7 @@ processValues
|
||||
|
||||
return sum(pos0(nv)*n*(nv));
|
||||
}
|
||||
case opSumDirectionBalance:
|
||||
case operationType::sumDirectionBalance:
|
||||
{
|
||||
vector n(dict_.lookup("direction"));
|
||||
n /= mag(n) + rootVSmall;
|
||||
@ -627,12 +627,12 @@ processValues
|
||||
|
||||
return sum(pos0(nv)*n*(nv));
|
||||
}
|
||||
case opAreaNormalAverage:
|
||||
case operationType::areaNormalAverage:
|
||||
{
|
||||
scalar result = sum(values & Sf)/sum(mag(Sf));
|
||||
return vector(result, 0.0, 0.0);
|
||||
}
|
||||
case opAreaNormalIntegrate:
|
||||
case operationType::areaNormalIntegrate:
|
||||
{
|
||||
scalar result = sum(values & Sf);
|
||||
return vector(result, 0.0, 0.0);
|
||||
@ -719,7 +719,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::read
|
||||
|
||||
bool Foam::functionObjects::fieldValues::surfaceFieldValue::write()
|
||||
{
|
||||
if (operation_ != opNone)
|
||||
if (operation_ != operationType::none)
|
||||
{
|
||||
fieldValue::write();
|
||||
}
|
||||
@ -729,7 +729,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::write()
|
||||
surfacePtr_().update();
|
||||
}
|
||||
|
||||
if (operation_ != opNone && Pstream::master())
|
||||
if (operation_ != operationType::none && Pstream::master())
|
||||
{
|
||||
writeTime(file());
|
||||
}
|
||||
@ -737,7 +737,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::write()
|
||||
if (writeArea_)
|
||||
{
|
||||
totalArea_ = totalArea();
|
||||
if (operation_ != opNone && Pstream::master())
|
||||
if (operation_ != operationType::none && Pstream::master())
|
||||
{
|
||||
file() << tab << totalArea_;
|
||||
}
|
||||
@ -811,7 +811,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::write()
|
||||
}
|
||||
}
|
||||
|
||||
if (operation_ != opNone && Pstream::master())
|
||||
if (operation_ != operationType::none && Pstream::master())
|
||||
{
|
||||
file() << endl;
|
||||
}
|
||||
|
||||
@ -192,11 +192,11 @@ public:
|
||||
// Public data types
|
||||
|
||||
//- region type enumeration
|
||||
enum regionTypes
|
||||
enum class regionTypes
|
||||
{
|
||||
stFaceZone,
|
||||
stPatch,
|
||||
stSampledSurface
|
||||
faceZone,
|
||||
patch,
|
||||
sampledSurface
|
||||
};
|
||||
|
||||
//- region type names
|
||||
@ -204,25 +204,25 @@ public:
|
||||
|
||||
|
||||
//- Operation type enumeration
|
||||
enum operationType
|
||||
enum class operationType
|
||||
{
|
||||
opNone,
|
||||
opSum,
|
||||
opWeightedSum,
|
||||
opSumMag,
|
||||
opSumDirection,
|
||||
opSumDirectionBalance,
|
||||
opAverage,
|
||||
opWeightedAverage,
|
||||
opAreaAverage,
|
||||
opWeightedAreaAverage,
|
||||
opAreaIntegrate,
|
||||
opWeightedAreaIntegrate,
|
||||
opMin,
|
||||
opMax,
|
||||
opCoV,
|
||||
opAreaNormalAverage,
|
||||
opAreaNormalIntegrate
|
||||
none,
|
||||
sum,
|
||||
weightedSum,
|
||||
sumMag,
|
||||
sumDirection,
|
||||
sumDirectionBalance,
|
||||
average,
|
||||
weightedAverage,
|
||||
areaAverage,
|
||||
weightedAreaAverage,
|
||||
areaIntegrate,
|
||||
weightedAreaIntegrate,
|
||||
min,
|
||||
max,
|
||||
CoV,
|
||||
areaNormalAverage,
|
||||
areaNormalIntegrate
|
||||
};
|
||||
|
||||
//- Operation type names
|
||||
|
||||
@ -41,7 +41,11 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::validField
|
||||
typedef GeometricField<Type, fvsPatchField, surfaceMesh> sf;
|
||||
typedef GeometricField<Type, fvPatchField, volMesh> vf;
|
||||
|
||||
if (regionType_ != stSampledSurface && obr_.foundObject<sf>(fieldName))
|
||||
if
|
||||
(
|
||||
regionType_ != regionTypes::sampledSurface
|
||||
&& obr_.foundObject<sf>(fieldName)
|
||||
)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -66,7 +70,11 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::getFieldValues
|
||||
typedef GeometricField<Type, fvsPatchField, surfaceMesh> sf;
|
||||
typedef GeometricField<Type, fvPatchField, volMesh> vf;
|
||||
|
||||
if (regionType_ != stSampledSurface && obr_.foundObject<sf>(fieldName))
|
||||
if
|
||||
(
|
||||
regionType_ != regionTypes::sampledSurface
|
||||
&& obr_.foundObject<sf>(fieldName)
|
||||
)
|
||||
{
|
||||
return filterField(obr_.lookupObject<sf>(fieldName), applyOrientation);
|
||||
}
|
||||
@ -136,12 +144,12 @@ processSameTypeValues
|
||||
Type result = Zero;
|
||||
switch (operation_)
|
||||
{
|
||||
case opSum:
|
||||
case operationType::sum:
|
||||
{
|
||||
result = sum(values);
|
||||
break;
|
||||
}
|
||||
case opWeightedSum:
|
||||
case operationType::weightedSum:
|
||||
{
|
||||
if (weightField.size())
|
||||
{
|
||||
@ -153,12 +161,12 @@ processSameTypeValues
|
||||
}
|
||||
break;
|
||||
}
|
||||
case opSumMag:
|
||||
case operationType::sumMag:
|
||||
{
|
||||
result = sum(cmptMag(values));
|
||||
break;
|
||||
}
|
||||
case opSumDirection:
|
||||
case operationType::sumDirection:
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Operation " << operationTypeNames_[operation_]
|
||||
@ -169,7 +177,7 @@ processSameTypeValues
|
||||
result = Zero;
|
||||
break;
|
||||
}
|
||||
case opSumDirectionBalance:
|
||||
case operationType::sumDirectionBalance:
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Operation " << operationTypeNames_[operation_]
|
||||
@ -180,12 +188,12 @@ processSameTypeValues
|
||||
result = Zero;
|
||||
break;
|
||||
}
|
||||
case opAverage:
|
||||
case operationType::average:
|
||||
{
|
||||
result = sum(values)/values.size();
|
||||
break;
|
||||
}
|
||||
case opWeightedAverage:
|
||||
case operationType::weightedAverage:
|
||||
{
|
||||
if (weightField.size())
|
||||
{
|
||||
@ -197,14 +205,14 @@ processSameTypeValues
|
||||
}
|
||||
break;
|
||||
}
|
||||
case opAreaAverage:
|
||||
case operationType::areaAverage:
|
||||
{
|
||||
const scalarField magSf(mag(Sf));
|
||||
|
||||
result = sum(magSf*values)/sum(magSf);
|
||||
break;
|
||||
}
|
||||
case opWeightedAreaAverage:
|
||||
case operationType::weightedAreaAverage:
|
||||
{
|
||||
const scalarField magSf(mag(Sf));
|
||||
|
||||
@ -218,14 +226,14 @@ processSameTypeValues
|
||||
}
|
||||
break;
|
||||
}
|
||||
case opAreaIntegrate:
|
||||
case operationType::areaIntegrate:
|
||||
{
|
||||
const scalarField magSf(mag(Sf));
|
||||
|
||||
result = sum(magSf*values);
|
||||
break;
|
||||
}
|
||||
case opWeightedAreaIntegrate:
|
||||
case operationType::weightedAreaIntegrate:
|
||||
{
|
||||
const scalarField magSf(mag(Sf));
|
||||
|
||||
@ -239,17 +247,17 @@ processSameTypeValues
|
||||
}
|
||||
break;
|
||||
}
|
||||
case opMin:
|
||||
case operationType::min:
|
||||
{
|
||||
result = min(values);
|
||||
break;
|
||||
}
|
||||
case opMax:
|
||||
case operationType::max:
|
||||
{
|
||||
result = max(values);
|
||||
break;
|
||||
}
|
||||
case opCoV:
|
||||
case operationType::CoV:
|
||||
{
|
||||
const scalarField magSf(mag(Sf));
|
||||
|
||||
@ -268,11 +276,11 @@ processSameTypeValues
|
||||
|
||||
break;
|
||||
}
|
||||
case opAreaNormalAverage:
|
||||
case operationType::areaNormalAverage:
|
||||
{}
|
||||
case opAreaNormalIntegrate:
|
||||
case operationType::areaNormalIntegrate:
|
||||
{}
|
||||
case opNone:
|
||||
case operationType::none:
|
||||
{}
|
||||
}
|
||||
|
||||
@ -355,7 +363,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues
|
||||
}
|
||||
}
|
||||
|
||||
if (operation_ != opNone)
|
||||
if (operation_ != operationType::none)
|
||||
{
|
||||
// Apply scale factor
|
||||
values *= scaleFactor_;
|
||||
|
||||
@ -131,21 +131,21 @@ public:
|
||||
// Public data types
|
||||
|
||||
//- Operation type enumeration
|
||||
enum operationType
|
||||
enum class operationType
|
||||
{
|
||||
opNone,
|
||||
opSum,
|
||||
opWeightedSum,
|
||||
opSumMag,
|
||||
opAverage,
|
||||
opWeightedAverage,
|
||||
opVolAverage,
|
||||
opWeightedVolAverage,
|
||||
opVolIntegrate,
|
||||
opWeightedVolIntegrate,
|
||||
opMin,
|
||||
opMax,
|
||||
opCoV
|
||||
none,
|
||||
sum,
|
||||
weightedSum,
|
||||
sumMag,
|
||||
average,
|
||||
weightedAverage,
|
||||
volAverage,
|
||||
weightedVolAverage,
|
||||
volIntegrate,
|
||||
weightedVolIntegrate,
|
||||
min,
|
||||
max,
|
||||
CoV
|
||||
};
|
||||
|
||||
//- Operation type names
|
||||
|
||||
@ -82,62 +82,62 @@ Type Foam::functionObjects::fieldValues::volFieldValue::processValues
|
||||
Type result = Zero;
|
||||
switch (operation_)
|
||||
{
|
||||
case opSum:
|
||||
case operationType::sum:
|
||||
{
|
||||
result = gSum(values);
|
||||
break;
|
||||
}
|
||||
case opWeightedSum:
|
||||
case operationType::weightedSum:
|
||||
{
|
||||
result = gSum(weightField*values);
|
||||
break;
|
||||
}
|
||||
case opSumMag:
|
||||
case operationType::sumMag:
|
||||
{
|
||||
result = gSum(cmptMag(values));
|
||||
break;
|
||||
}
|
||||
case opAverage:
|
||||
case operationType::average:
|
||||
{
|
||||
result = gSum(values)/nCells();
|
||||
break;
|
||||
}
|
||||
case opWeightedAverage:
|
||||
case operationType::weightedAverage:
|
||||
{
|
||||
result = gSum(weightField*values)/gSum(weightField);
|
||||
break;
|
||||
}
|
||||
case opVolAverage:
|
||||
case operationType::volAverage:
|
||||
{
|
||||
result = gSum(V*values)/this->V();
|
||||
break;
|
||||
}
|
||||
case opWeightedVolAverage:
|
||||
case operationType::weightedVolAverage:
|
||||
{
|
||||
result = gSum(weightField*V*values)/gSum(weightField*V);
|
||||
break;
|
||||
}
|
||||
case opVolIntegrate:
|
||||
case operationType::volIntegrate:
|
||||
{
|
||||
result = gSum(V*values);
|
||||
break;
|
||||
}
|
||||
case opWeightedVolIntegrate:
|
||||
case operationType::weightedVolIntegrate:
|
||||
{
|
||||
result = gSum(weightField*V*values);
|
||||
break;
|
||||
}
|
||||
case opMin:
|
||||
case operationType::min:
|
||||
{
|
||||
result = gMin(values);
|
||||
break;
|
||||
}
|
||||
case opMax:
|
||||
case operationType::max:
|
||||
{
|
||||
result = gMax(values);
|
||||
break;
|
||||
}
|
||||
case opCoV:
|
||||
case operationType::CoV:
|
||||
{
|
||||
Type meanValue = gSum(values*V)/this->V();
|
||||
|
||||
@ -154,7 +154,7 @@ Type Foam::functionObjects::fieldValues::volFieldValue::processValues
|
||||
|
||||
break;
|
||||
}
|
||||
case opNone:
|
||||
case operationType::none:
|
||||
{}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user