Go to the documentation of this file.
167 void setObjectiveFilePtr()
const;
170 void setInstantValueFilePtr()
const;
173 void setMeanValueFilePtr()
const;
206 const word& adjointSolverName,
207 const word& primalSolverName
209 (
mesh,
dict, adjointSolverName, primalSolverName)
220 const word& adjointSolverName,
221 const word& primalSolverName
232 const word& objectiveType,
233 const word& adjointSolverName,
234 const word& primalSolverName
247 virtual scalar J() = 0;
251 scalar JCycle()
const;
259 void accumulateJMean();
262 scalar weight()
const;
268 virtual void doNormalization();
271 bool isWithinIntegrationTime()
const;
274 void incrementIntegrationTimes(
const scalar timeSpan);
332 virtual void update() = 0;
335 virtual void nullify();
339 virtual void updateNormalizationFactor();
342 virtual void update_boundarydJdb()
346 virtual void update_dSdbMultiplier()
350 virtual void update_dndbMultiplier()
354 virtual void update_dxdbMultiplier()
359 virtual void update_dxdbDirectMultiplier()
363 virtual void update_boundaryEdgeContribution()
367 virtual void update_dJdStressMultiplier()
371 virtual void update_divDxDbMultiplier()
375 virtual void update_gradDxDbMultiplier()
379 virtual bool write(
const bool valid =
true)
const;
382 virtual void writeInstantaneousValue()
const;
387 virtual void writeInstantaneousSeparator()
const;
390 virtual void writeMeanValue()
const;
399 virtual void addHeaderInfo()
const;
402 virtual void addHeaderColumns()
const;
405 virtual void addColumnValues()
const;
408 inline const word& objectiveName()
const;
411 inline bool hasdJdb()
const;
412 inline bool hasBoundarydJdb()
const;
413 inline bool hasdSdbMult()
const;
414 inline bool hasdndbMult()
const;
415 inline bool hasdxdbMult()
const;
416 inline bool hasdxdbDirectMult()
const;
417 inline bool hasBoundaryEdgeContribution()
const;
418 inline bool hasBoundarydJdStress()
const;
419 inline bool hasDivDxDbMult()
const;
420 inline bool hasGradDxDbMult()
const;
423 inline bool hasIntegrationStartTime()
const;
424 inline bool hasIntegrationEndTime()
const;
autoPtr< scalar > normFactor_
Normalization factor.
autoPtr< scalar > integrationStartTimePtr_
Objective integration start and end times (for unsteady flows)
A class for handling words, derived from Foam::string.
A class for handling file names.
virtual bool writeData(Ostream &) const
The writeData function required by regIOobject write operation.
void operator=(const baseIOdictionary &rhs)
Copy assignment of dictionary entries (leave regIOobject untouched)
const word objectiveName_
static autoPtr< dictionary > New(Istream &is)
Construct top-level dictionary on freestore from Istream.
#define declareRunTimeNewSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection for derived classes.
Base class for solver control classes.
autoPtr< scalar > target_
Target value, in case the objective is used as a constraint.
const word adjointSolverName_
scalar J_
Objective function value and weight.
volTensorField::Boundary boundaryTensorField
TypeName("dictionary")
Declare type-name, virtual type (with debug switch)
const word primalSolverName_
scalar weight_
Objective weight.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
autoPtr< scalar > integrationEndTimePtr_
OBJstream os(runTime.globalPath()/outputName)
Mesh data needed to do the Finite Volume discretisation.
Useful typenames for fields defined only at the boundaries.
Macros to ease declaration of run-time selection tables.
void write(Ostream &os, const bool subDict=true) const
Write dictionary, normally with sub-dictionary formatting.
scalar JMean_
Average objective value.
Abstract base class for objective functions. No point in making this runTime selectable since its chi...
localIOdictionary is derived from IOdictionary but excludes parallel master reading.
quaternion normalize(const quaternion &q)
Return the normalized (unit) quaternion of the given quaternion.