Skip to content

cleanup noFunctionObjects vs withFunctionObjects etc

potentialFoam is the only solver or application to use -withFunctionObjects, all others have an implicit -noFunctionObjects. This exception does make sense, but opens questions about the general handling of function-objects. There are a number of utilities (conversion, blockMesh, etc) without a time-loop and thus it doesn't make much sense to even provide a -noFunctionObjects option for them.

Propose adding a argList::noFunctionObjects() method - similar to the argList::noParallel() method - to remove the availability of the -noFunctionObjects option and adjust Time accordingly.

Currently:

functionObjects_
(
    *this,
    argList::validOptions.found("withFunctionObjects")
  ? args.optionFound("withFunctionObjects")
  : !args.optionFound("noFunctionObjects")
)

Proposed:

functionObjects_
(
    *this,
    argList::validOptions.found("withFunctionObjects")
  ? args.optionFound("withFunctionObjects")
  : argList::validOptions.found("noFunctionObjects")
  ? !args.optionFound("noFunctionObjects")
  : false
)

For potentialFoam it also doesn't make sense to provide the -noFunctionObjects option at all. It adds clutter and will always be ignored anyhow.

@andy @Mattijs @Prashant