Go to the documentation of this file.
50 bool processed =
false;
54 addSubtractFieldName_,
60 if (addSubtractFieldHeader.
headerOk())
62 writeAddSubtractField<scalar>
65 addSubtractFieldHeader,
69 writeAddSubtractField<vector>
72 addSubtractFieldHeader,
76 writeAddSubtractField<sphericalTensor>
79 addSubtractFieldHeader,
83 writeAddSubtractField<symmTensor>
86 addSubtractFieldHeader,
90 writeAddSubtractField<tensor>
93 addSubtractFieldHeader,
101 <<
"Unable to process " << baseFieldName_
102 <<
" + " << addSubtractFieldName_ <<
nl
103 <<
"No call to addSubtract for fields of type "
112 <<
"Unable to read addSubtract field: " << addSubtractFieldName_
125 bool processed =
false;
127 writeAddSubtractValue<scalar>
130 addSubtractValueStr_,
134 writeAddSubtractValue<vector>
137 addSubtractValueStr_,
141 writeAddSubtractValue<sphericalTensor>
144 addSubtractValueStr_,
148 writeAddSubtractValue<symmTensor>
151 addSubtractValueStr_,
155 writeAddSubtractValue<tensor>
158 addSubtractValueStr_,
166 <<
"Unable to process " << baseFieldName_
167 <<
" + " << addSubtractValueStr_ <<
nl
168 <<
"No call to addSubtract for fields of type "
182 addSubtractFieldName_(
""),
183 addSubtractValueStr_(
""),
215 baseFieldName_ =
args[2];
218 if (calcModeName ==
"add")
222 else if (calcModeName ==
"subtract")
224 calcMode_ = SUBTRACT;
229 <<
"Invalid calcMode: " << calcModeName <<
nl
230 <<
" Valid calcModes are add and subtract" <<
nl
245 <<
"addSubtract requires either -field or -value option"
274 writeAddSubtractFields(runTime,
mesh, baseFieldHeader);
279 writeAddSubtractValues(runTime,
mesh, baseFieldHeader);
285 <<
"unknown calcType " << calcType_ <<
nl
293 <<
"Unable to read base field: " << baseFieldName_
static SLList< string > validArgs
A list of valid (mandatory) arguments.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from string.
virtual void preCalc(const argList &args, const Time &runTime, const fvMesh &mesh)
Pre-time loop calculations.
addSubtract()
Construct null.
Extract command arguments and options from the supplied argc and argv parameters.
void writeAddSubtractFields(const Time &runTime, const fvMesh &mesh, const IOobject &baseFieldHeader)
Calc and output field addSubtractitions.
bool headerOk()
Read and check header info.
const word & headerClassName() const
Return name of the class name read from header.
defineTypeNameAndDebug(addSubtract, 0)
static HashTable< string > validOptions
A list of valid options.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Macros for easy insertion into run-time selection tables.
addToRunTimeSelectionTable(calcType, addSubtract, dictionary)
Mesh data needed to do the Finite Volume discretisation.
errorManip< error > abort(error &err)
errorManipArg< error, int > exit(error &err, const int errNo=1)
virtual void init()
Initialise - typically setting static variables,.
void writeAddSubtractValues(const Time &runTime, const fvMesh &mesh, const IOobject &baseFieldHeader)
Calc and output field and value addSubtractitions.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual ~addSubtract()
Destructor.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
virtual void calc(const argList &args, const Time &runTime, const fvMesh &mesh)
Time loop calculations.
adds/subtracts a field or value to/from a base field.
Foam::argList args(argc, argv)
bool optionReadIfPresent(const word &opt, T &) const
Read a value from the named option if present.
Base class for post-processing calculation functions.