diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C index 97cd9393bd..7f20d75047 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C +++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C @@ -32,14 +32,11 @@ License defineTypeNameAndDebug(Foam::fieldValues::cellSource, 0); template<> -const char* Foam::NamedEnum:: -names[] = -{ - "cellZone" -}; +const char* NamedEnum:: +names[] = {"cellZone", "all"}; -const Foam::NamedEnum - Foam::fieldValues::cellSource::sourceTypeNames_; +const NamedEnum + fieldValues::cellSource::sourceTypeNames_; template<> const char* Foam::NamedEnum:: @@ -57,35 +54,43 @@ const Foam::NamedEnum void Foam::fieldValues::cellSource::setCellZoneCells() { - label zoneId = mesh().cellZones().findZoneID(sourceName_); - - if (zoneId < 0) + switch (source_) { - FatalErrorIn("cellSource::cellSource::setCellZoneCells()") - << "Unknown cell zone name: " << sourceName_ - << ". Valid cell zones are: " << mesh().cellZones().names() - << nl << exit(FatalError); + case stCellZone: + { + label zoneId = mesh().cellZones().findZoneID(sourceName_); + + if (zoneId < 0) + { + FatalErrorIn("cellSource::cellSource::setCellZoneCells()") + << "Unknown cell zone name: " << sourceName_ + << ". Valid cell zones are: " << mesh().cellZones().names() + << nl << exit(FatalError); + } + + cellId_ = mesh().cellZones()[zoneId]; + nCells_ = returnReduce(cellId_.size(), sumOp