objective Class Referenceabstract

Abstract base class for objective functions. No point in making this runTime selectable since its children will have different constructors. More...

Inheritance diagram for objective:
Collaboration diagram for objective:

Public Member Functions

 TypeName ("objective")
 Runtime type information. More...
 
 declareRunTimeNewSelectionTable (autoPtr, objective, objective,(const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName),(mesh, dict, adjointSolverName, primalSolverName))
 
 objective (const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName)
 Construct from components. More...
 
virtual ~objective ()=default
 Destructor. More...
 
virtual bool readDict (const dictionary &dict)
 
virtual scalar J ()=0
 Return the instantaneous objective function value. More...
 
virtual scalar JCycle (bool negate=false) const
 Return the objective function of the optimisation cycle. More...
 
virtual void accumulateJMean (solverControl &solverControl)
 Accumulate contribution for the mean objective value. More...
 
virtual void accumulateJMean ()
 Accumulate contribution for the mean objective value. More...
 
virtual scalar weight () const
 Return the objective function weight. More...
 
virtual bool normalize () const
 Is the objective normalized. More...
 
virtual void doNormalization ()
 Normalize all fields allocated by the objective. More...
 
virtual bool isWithinIntegrationTime () const
 Check whether this is an objective integration time. More...
 
virtual void incrementIntegrationTimes (const scalar timeSpan)
 Increment integration times. More...
 
const volScalarFielddJdb () const
 Contribution to field sensitivities. More...
 
const scalarFielddJdbField () const
 Contribution to sensitivities with a random number of designVars. More...
 
const fvPatchVectorFieldboundarydJdb (const label) const
 Contribution to surface sensitivities for a specific patch. More...
 
const fvPatchVectorFielddSdbMultiplier (const label) const
 Multiplier of delta(n dS)/delta b. More...
 
const fvPatchVectorFielddndbMultiplier (const label) const
 Multiplier of delta(n dS)/delta b. More...
 
const fvPatchVectorFielddxdbMultiplier (const label) const
 Multiplier of delta(x)/delta b. More...
 
const fvPatchVectorFielddxdbDirectMultiplier (const label) const
 Multiplier of delta(x)/delta b. More...
 
const vectorFieldboundaryEdgeMultiplier (const label patchI, const label edgeI) const
 Multiplier located at patch boundary edges. More...
 
const boundaryVectorFieldboundarydJdb () const
 Contribution to surface sensitivities for all patches. More...
 
const boundaryVectorFielddSdbMultiplier () const
 Multiplier of delta(n dS)/delta b for all patches. More...
 
const boundaryVectorFielddndbMultiplier () const
 Multiplier of delta(n dS)/delta b for all patches. More...
 
const boundaryVectorFielddxdbMultiplier () const
 Multiplier of delta(x)/delta b for all patches. More...
 
const boundaryVectorFielddxdbDirectMultiplier () const
 Multiplier of delta(x)/delta b for all patches. More...
 
const vectorField3boundaryEdgeMultiplier () const
 Multiplier located at patch boundary edges. More...
 
const volScalarFielddivDxDbMultiplier () const
 Multiplier of grad( delta(x)/delta b) for volume-based sensitivities. More...
 
const volTensorFieldgradDxDbMultiplier () const
 Multiplier of grad( delta(x)/delta b) for volume-based sensitivities. More...
 
virtual void update ()=0
 Update objective function derivatives. More...
 
virtual void nullify ()
 Nullify adjoint contributions. More...
 
virtual void updateNormalizationFactor ()
 Update normalization factors, for objectives in which the factor is not known a priori. More...
 
virtual void update_dJdb ()
 
virtual void update_dJdbField ()
 
virtual void update_boundarydJdb ()
 Update objective function derivative term. More...
 
virtual void update_dSdbMultiplier ()
 Update d (normal dS) / db multiplier. Surface-based sensitivity term. More...
 
virtual void update_dndbMultiplier ()
 Update d (normal) / db multiplier. Surface-based sensitivity term. More...
 
virtual void update_dxdbMultiplier ()
 Update d (x) / db multiplier. Surface-based sensitivity term. More...
 
virtual void update_dxdbDirectMultiplier ()
 Update d (x) / db multiplier. Surface and volume-based sensitivity term. More...
 
virtual void update_boundaryEdgeContribution ()
 Update boundary edge contributions. More...
 
virtual void update_divDxDbMultiplier ()
 Update div( dx/db multiplier). Volume-based sensitivity term. More...
 
virtual void update_gradDxDbMultiplier ()
 Update grad( dx/db multiplier). Volume-based sensitivity term. More...
 
virtual void addSource (fvVectorMatrix &matrix)
 Manipulate fvVectorMatrix through the objective. More...
 
virtual void addSource (fvScalarMatrix &matrix)
 Manipulate fvVectorMatrix through the objective. More...
 
virtual bool write (const bool valid=true) const
 Write objective function history. More...
 
virtual void writeInstantaneousValue () const
 Write objective function history at each primal solver iteration. More...
 
virtual void writeInstantaneousSeparator () const
 Append a blank line after the end of optimisation cycle to the file holding the instantaneous objective values to facilitate plotting. More...
 
virtual void writeMeanValue () const
 Write mean objective function history. More...
 
virtual bool writeData (Ostream &os) const
 Write averaged objective for continuation. More...
 
virtual void addHeaderInfo () const
 Write any information that needs to go the header of the file. More...
 
virtual void addHeaderColumns () const
 Write headers for additional columns. More...
 
virtual void addColumnValues () const
 Write information to additional columns. More...
 
const wordobjectiveName () const
 Return the objective name. More...
 
bool shouldWrite () const
 Should the objective be written to file upon calling write()? More...
 
void setWrite (const bool shouldWrite)
 Should the objective be written to file upon calling write()? More...
 
bool hasdJdb () const noexcept
 
bool hasdJdbField () const noexcept
 
bool hasBoundarydJdb () const noexcept
 
bool hasdSdbMult () const noexcept
 
bool hasdndbMult () const noexcept
 
bool hasdxdbMult () const noexcept
 
bool hasdxdbDirectMult () const noexcept
 
bool hasBoundaryEdgeContribution () const noexcept
 
bool hasDivDxDbMult () const noexcept
 
bool hasGradDxDbMult () const noexcept
 
bool hasIntegrationStartTime () const noexcept
 
bool hasIntegrationEndTime () const noexcept
 
void setComputed (const bool isComputed) noexcept
 Set the computed status of the objective. More...
 
const dictionarydict () const
 Return objective dictionary. More...
 
- Public Member Functions inherited from localIOdictionary
 localIOdictionary (const IOobject &io, const dictionary *fallback=nullptr)
 Construct given an IOobject and optional fallback dictionary content. More...
 
 localIOdictionary (const IOobject &io, const dictionary &dict)
 Construct given an IOobject and fallback dictionary content. More...
 
 localIOdictionary (const IOobject &io, const word &wantedType, const dictionary *fallback=nullptr)
 Construct given an IOobject, wanted typeName and optional fallback dictionary content. More...
 
 localIOdictionary (const IOobject &io, Istream &is)
 Construct given an IOobject and Istream. More...
 
virtual ~localIOdictionary ()=default
 Destructor. More...
 
virtual bool global () const
 Is object global. More...
 
virtual fileName filePath () const
 Return complete path + object name if the file exists. More...
 
- Public Member Functions inherited from baseIOdictionary
 TypeName ("dictionary")
 Declare type-name, virtual type (with debug switch) More...
 
 baseIOdictionary (const baseIOdictionary &)=default
 Copy construct. More...
 
 baseIOdictionary (baseIOdictionary &&)=default
 Move construct. More...
 
virtual ~baseIOdictionary ()=default
 Destructor. More...
 
 baseIOdictionary (const IOobject &io, const dictionary *fallback=nullptr)
 Construct given an IOobject and optional fallback dictionary content (ununsed) More...
 
 baseIOdictionary (const IOobject &io, const dictionary &dict)
 Construct given an IOobject and fallback dictionary content (ununsed) More...
 
 baseIOdictionary (const IOobject &io, Istream &is)
 Construct given an IOobject and Istream (ununsed) More...
 
const wordname () const
 Name function is needed to disambiguate those inherited from regIOobject and dictionary. More...
 
virtual bool readData (Istream &)
 The readData function required by regIOobject read operation. More...
 
void operator= (const baseIOdictionary &rhs)
 Copy assignment of dictionary entries (leave regIOobject untouched) More...
 
void operator= (const dictionary &rhs)
 Copy assignment of dictionary entries. More...
 
- Public Member Functions inherited from regIOobject
void operator= (const regIOobject &)=delete
 No copy assignment. More...
 
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &io, const bool isTimeObject=false)
 Construct from IOobject. The optional flag adds special handling if the object is the top-level regIOobject (eg, Time). More...
 
 regIOobject (const regIOobject &rio)
 Copy construct. More...
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 Copy construct, transferring registry registration to the copy if registerCopy is true. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Copy construct with new name, transferring registry registration to the copy if registerCopy is true. More...
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 Copy construct with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry, if not already registered. More...
 
bool checkOut ()
 Remove all file watches and remove object from registry. More...
 
virtual void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool registered () const noexcept
 Query the registered state (ie, has been checked in). This is not necessarily the same as registerObject(), which is just a stated preference. More...
 
bool ownedByRegistry () const noexcept
 Is this object owned by the registry? More...
 
bool store ()
 Register object with its registry and transfer ownership to the registry. More...
 
void release (const bool unregister=false) noexcept
 Set object as not ownedByRegistry. More...
 
label eventNo () const noexcept
 Event number at last update. More...
 
label & eventNo () noexcept
 Event number at last update. More...
 
bool upToDate (const regIOobject &) const
 Return true if up-to-date with respect to given object. More...
 
bool upToDate (const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
void setUpToDate ()
 Set as up-to-date. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
const dictionaryfindMetaData () const noexcept
 Return pointer to meta-data or nullptr. More...
 
dictionarygetMetaData () noexcept
 Get or create meta-data. More...
 
void removeMetaData ()
 Remove meta-data. More...
 
virtual void updateMetaData ()
 Update internal meta-data (eg, prior to writing) More...
 
bool headerOk ()
 Read and check header info. Does not check the headerClassName. More...
 
IstreamreadStream (const word &, const bool readOnProc=true)
 Return Istream and check object type against that given. More...
 
void close ()
 Close Istream. More...
 
virtual bool read ()
 Read object. More...
 
virtual label addWatch (const fileName &)
 Add file watch for fileName on object if not yet watched. More...
 
const labelListwatchIndices () const noexcept
 Read access to file-monitoring handles. More...
 
labelListwatchIndices () noexcept
 Write access to file-monitoring handles. More...
 
virtual bool modified () const
 Return true if the object's file (or files for objectRegistry) have been modified. (modified state is cached by Time) More...
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) More...
 
virtual bool writeObject (IOstreamOption streamOpt, const bool writeOnProc) const
 Write using stream options. More...
 
void operator= (const IOobject &io)
 Copy assignment. More...
 
virtual bool writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp, const bool writeOnProc) const
 Write using given format, version and compression. More...
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Declare type-name, virtual type (with debug switch) More...
 
 IOobject (const IOobject &)=default
 Copy construct. More...
 
virtual ~IOobject ()=default
 Destructor. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, IOobjectOption ioOpt=IOobjectOption())
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, IOobjectOption ioOpt=IOobjectOption())
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, IOobjectOption ioOpt=IOobjectOption())
 Construct from path, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Copy construct, resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Copy construct, resetting name. More...
 
 IOobject (const IOobject &io, const word &name, const fileName &local)
 Copy construct, resetting name and local component. More...
 
 IOobject (const IOobject &io, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt)
 Copy construct, resetting read/write options. More...
 
 IOobject (const IOobject &io, IOobjectOption::registerOption regOpt)
 Copy construct, resetting register option. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
const objectRegistrydb () const noexcept
 Return the local objectRegistry. More...
 
const Timetime () const noexcept
 Return Time associated with the objectRegistry. More...
 
const wordname () const noexcept
 Return the object name. More...
 
const wordheaderClassName () const noexcept
 Return name of the class name read from header. More...
 
wordheaderClassName () noexcept
 Return non-constant access to the class name read from header. More...
 
const stringnote () const noexcept
 Return the optional note. More...
 
stringnote () noexcept
 Modifiable access to the optional note. More...
 
unsigned labelByteSize () const noexcept
 The sizeof (label) in bytes, possibly read from the header. More...
 
unsigned scalarByteSize () const noexcept
 The sizeof (scalar) in bytes, possibly read from the header. More...
 
void resetHeader (const word &newName=word::null)
 Clear various bits (headerClassName, note, sizeof...) that would be obtained when reading from a file. More...
 
bool hasHeaderClass () const noexcept
 True if headerClassName() is non-empty (after reading) More...
 
template<class Type >
bool isHeaderClass () const
 Check if headerClassName() equals Type::typeName. More...
 
template<class Type >
bool isHeaderClassName () const
 Same as isHeaderClass() More...
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const noexcept
 Return the Time::rootPath() More...
 
const fileNamecaseName () const noexcept
 Return the Time::caseName() More...
 
const fileNameglobalCaseName () const noexcept
 Return the Time::globalCaseName() More...
 
const fileNameinstance () const noexcept
 Read access to instance path component. More...
 
fileNameinstance () noexcept
 Write access to instance path component. More...
 
const fileNamelocal () const noexcept
 Read access to local path component. More...
 
fileName path () const
 The complete path for the object (with instance, local,...). More...
 
fileName globalPath () const
 The complete global path for the object (with instance, local,...) More...
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 The complete path with alternative instance and local. More...
 
fileName globalPath (const word &instance, const fileName &local=fileName::null) const
 The complete global path with alternative instance and local. More...
 
fileName objectPath () const
 The complete path + object name. More...
 
fileName globalObjectPath () const
 The complete global path + object name. More...
 
fileName objectRelPath () const
 The object path relative to the root. More...
 
fileName localFilePath (const word &typeName, const bool search=true) const
 Redirect to fileHandler filePath, searching locally. More...
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 Redirect to fileHandler filePath, searching up if in parallel. More...
 
IOstreamOption parseHeader (const dictionary &headerDict)
 Parse 'FoamFile' header contents and set the IOobject characteristics and return the stream characteristics. More...
 
bool readHeader (Istream &is)
 Read header ('FoamFile' dictionary) and set the IOobject and stream characteristics. More...
 
bool readHeader (dictionary &headerDict, Istream &is)
 Read header (the 'FoamFile' dictionary) and set the IOobject and stream characteristics. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 Read header (respects is_globalIOobject trait) and check its info. More...
 
template<class Type >
fileName typeFilePath (const bool search=true) const
 Call localFilePath or globalFilePath for given type depending on its is_globalIOobject trait. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &os) const
 Write header with current type() More...
 
bool writeHeader (Ostream &os, const word &objectType) const
 Write header with override of type. More...
 
void writeHeader (dictionary &dict, IOstreamOption streamOpt) const
 Write header into a dictionary with current type() and given output format. More...
 
void writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const
 Write header into a dictionary with override of type and given output format. More...
 
bool good () const noexcept
 Did last readHeader() succeed? More...
 
bool bad () const noexcept
 Did last readHeader() fail? More...
 
InfoProxy< IOobjectinfo () const noexcept
 Return info proxy, for printing information to a stream. More...
 
void operator= (const IOobject &io)
 Copy assignment, copies all values (except the registry) More...
 
template<>
bool isHeaderClass () const
 Specialization for void always returns true (no headerClassName check). More...
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 
template<class Type >
Foam::fileName typeFilePath (const bool search) const
 
- Public Member Functions inherited from IOobjectOption
constexpr IOobjectOption (readOption rOpt=readOption::NO_READ, writeOption wOpt=writeOption::NO_WRITE, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept
 Default construct (NO_READ, NO_WRITE, REGISTER, non-global) or construct with specified options. More...
 
constexpr IOobjectOption (readOption rOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept
 Construct NO_WRITE with specified read/register options. More...
 
constexpr IOobjectOption (writeOption wOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept
 Construct NO_READ with specified write/register options. More...
 
constexpr IOobjectOption (registerOption registerObject, bool globalObject=false) noexcept
 Construct (NO_READ, NO_WRITE) with specified register option. More...
 
constexpr IOobjectOption (readOption rOpt, writeOption wOpt, bool registerObject, bool globalObject=false) noexcept
 Construct from components with specified register option as bool. More...
 
constexpr IOobjectOption (bool registerObject, bool globalObject=false) noexcept
 Construct (NO_READ, NO_WRITE) with specified register option as bool. More...
 
readOption readOpt () const noexcept
 Get the read option. More...
 
readOption readOpt (readOption opt) noexcept
 Set the read option. More...
 
writeOption writeOpt () const noexcept
 Get the write option. More...
 
writeOption writeOpt (writeOption opt) noexcept
 Set the write option. More...
 
bool registerObject () const noexcept
 Should objects created with this IOobject be registered? More...
 
bool registerObject (bool on) noexcept
 Change registration preference. More...
 
bool globalObject () const noexcept
 True if object is treated the same for all processors. More...
 
bool globalObject (bool on) noexcept
 Change global-object status. More...
 
bool isAnyRead () const noexcept
 True if any reading may be required (ie, != NO_READ) More...
 
bool isReadRequired () const noexcept
 True if (MUST_READ | READ_MODIFIED) bits are set. More...
 
bool isReadOptional () const noexcept
 True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More...
 
readOptionreadOpt () noexcept
 Access to the read option. More...
 
writeOptionwriteOpt () noexcept
 Access to the write option. More...
 
bool & registerObject () noexcept
 Access to the register object option. More...
 
bool & globalObject () noexcept
 Access to the global object option. More...
 
- Public Member Functions inherited from dictionary
 ClassName ("dictionary")
 
 dictionary ()
 Default construct, a top-level empty dictionary. More...
 
 dictionary (const fileName &name)
 Construct top-level empty dictionary with given name. More...
 
 dictionary (const fileName &name, const dictionary &parentDict, Istream &is, bool keepHeader=false)
 Construct given the entry name, parent dictionary and Istream, reading entries until EOF, optionally keeping the header. More...
 
 dictionary (Istream &is)
 Construct top-level dictionary from Istream (discards the header). Reads entries until EOF or when the first token is a '{' character, it will stop reading at the matching '}' character. More...
 
 dictionary (Istream &is, bool keepHeader)
 Construct top-level dictionary from Istream, reading entries until EOF, optionally keeping the header. More...
 
 dictionary (const dictionary &parentDict, const dictionary &dict)
 Copy construct given the parent dictionary. More...
 
 dictionary (const dictionary &dict)
 Copy construct top-level dictionary. More...
 
 dictionary (const dictionary *dict)
 Construct top-level dictionary as copy from pointer to dictionary. More...
 
 dictionary (const dictionary &parentDict, dictionary &&dict)
 Move construct for given parent dictionary. More...
 
 dictionary (dictionary &&dict)
 Move construct top-level dictionary. More...
 
autoPtr< dictionaryclone () const
 Construct and return clone. More...
 
virtual ~dictionary ()
 Destructor. More...
 
const fileNamename () const noexcept
 The dictionary name. More...
 
fileNamename () noexcept
 The dictionary name for modification (use with caution). More...
 
word dictName () const
 The local dictionary name (final part of scoped name) More...
 
fileName relativeName (const bool caseTag=false) const
 The dictionary name relative to the case. More...
 
bool isNullDict () const noexcept
 The dictionary is actually dictionary::null (root dictionary) More...
 
const dictionaryparent () const noexcept
 Return the parent dictionary. More...
 
const dictionarytopDict () const
 Return the top of the tree. More...
 
label startLineNumber () const
 Return line number of first token in dictionary. More...
 
label endLineNumber () const
 Return line number of last token in dictionary. More...
 
SHA1Digest digest () const
 Return the SHA1 digest of the dictionary contents. More...
 
tokenList tokens () const
 Return the dictionary as a list of tokens. More...
 
const entryfindEntry (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find an entry (const access) with the given keyword. More...
 
entryfindEntry (const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
 Find an entry (non-const access) with the given keyword. More...
 
bool found (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find an entry (const access) with the given keyword. More...
 
const entryfindScoped (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Search for a scoped entry (const access) with the given keyword. More...
 
const dictionaryfindDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a sub-dictionary pointer if present (and a sub-dictionary) otherwise return nullptr. More...
 
dictionaryfindDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
 Find and return a sub-dictionary pointer if present (and a sub-dictionary) otherwise return nullptr. More...
 
bool isDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find a sub-dictionary. More...
 
const entrylookupEntry (const word &keyword, enum keyType::option matchOpt) const
 Search for an entry (const access) with the given keyword. More...
 
ITstreamlookup (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return an entry data stream. FatalIOError if not found, or not a stream. More...
 
template<class T >
T get (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect. More...
 
template<class T >
T getOrDefault (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T, or return the given default value. FatalIOError if it is found and the number of tokens is incorrect. More...
 
template<class T >
T getOrAdd (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX)
 Find and return a T, or return the given default value and add it to dictionary. FatalIOError if it is found and the number of tokens is incorrect. More...
 
template<class T >
bool readEntry (const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
 Find entry and assign to T val. FatalIOError if it is found and the number of tokens is incorrect, or it is mandatory and not found. More...
 
template<class T >
bool readIfPresent (const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
 Find an entry if present, and assign to T val. FatalIOError if it is found and the number of tokens is incorrect. More...
 
template<class T , class Predicate >
T getCheck (const word &keyword, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T with additional checking FatalIOError if not found, or if the number of tokens is incorrect. More...
 
template<class T , class Predicate >
T getCheckOrDefault (const word &keyword, const T &deflt, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T, or return the given default value. FatalIOError if it is found and the number of tokens is incorrect. More...
 
template<class T , class Predicate >
T getCheckOrAdd (const word &keyword, const T &deflt, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX)
 Find and return a T, or return the given default value and add it to dictionary. FatalIOError if it is found and the number of tokens is incorrect. More...
 
template<class T , class Predicate >
bool readCheck (const word &keyword, T &val, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
 Find entry and assign to T val. FatalIOError if it is found and the number of tokens is incorrect, or it is mandatory and not found. More...
 
template<class T , class Predicate >
bool readCheckIfPresent (const word &keyword, T &val, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX) const
 Find an entry if present, and assign to T val. FatalIOError if it is found and the number of tokens is incorrect. More...
 
const dictionarysubDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a sub-dictionary. More...
 
dictionarysubDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
 Find and return a sub-dictionary for manipulation. More...
 
dictionarysubDictOrAdd (const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
 Find and return a sub-dictionary for manipulation. More...
 
dictionary subOrEmptyDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX, const bool mandatory=false) const
 Find and return a sub-dictionary as a copy, otherwise return an empty dictionary. More...
 
const dictionaryoptionalSubDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a sub-dictionary, otherwise return this dictionary. More...
 
wordList toc () const
 Return the table of contents. More...
 
wordList sortedToc () const
 Return the sorted table of contents. More...
 
template<class Compare >
wordList sortedToc (const Compare &comp) const
 Return table of contents sorted using the specified comparator. More...
 
List< keyTypekeys (bool patterns=false) const
 Return the list of available keys or patterns. More...
 
bool substituteKeyword (const word &keyword, bool mergeEntry=false)
 Substitute the given keyword (which is prefixed by '$') More...
 
bool substituteScopedKeyword (const word &keyword, bool mergeEntry=false)
 Substitute the given scoped keyword (which is prefixed by '$') More...
 
entryadd (entry *entryPtr, bool mergeEntry=false)
 Add a new entry. More...
 
entryadd (const entry &e, bool mergeEntry=false)
 Add an entry. More...
 
entryadd (const keyType &k, const word &v, bool overwrite=false)
 Add a word entry. More...
 
entryadd (const keyType &k, const string &v, bool overwrite=false)
 Add a string entry. More...
 
entryadd (const keyType &k, const label v, bool overwrite=false)
 Add a label entry. More...
 
entryadd (const keyType &k, const scalar v, bool overwrite=false)
 Add a scalar entry. More...
 
entryadd (const keyType &k, const dictionary &d, bool mergeEntry=false)
 Add a dictionary entry. More...
 
template<class T >
entryadd (const keyType &k, const T &v, bool overwrite=false)
 Add a T entry. More...
 
entryset (entry *entryPtr)
 Assign a new entry, overwriting any existing entry. More...
 
entryset (const entry &e)
 Assign a new entry, overwriting any existing entry. More...
 
entryset (const keyType &k, const dictionary &v)
 Assign a dictionary entry, overwriting any existing entry. More...
 
template<class T >
entryset (const keyType &k, const T &v)
 Assign a T entry, overwriting any existing entry. More...
 
bool remove (const word &keyword)
 Remove an entry specified by keyword. More...
 
bool changeKeyword (const keyType &oldKeyword, const keyType &newKeyword, bool overwrite=false)
 Change the keyword for an entry,. More...
 
bool merge (const dictionary &dict)
 Merge entries from the given dictionary. More...
 
void clear ()
 Clear the dictionary. More...
 
void transfer (dictionary &dict)
 Transfer the contents of the argument and annul the argument. More...
 
void checkITstream (const ITstream &is, const word &keyword) const
 Check after reading if the input token stream has unconsumed tokens remaining or if there were no tokens in the first place. More...
 
bool read (Istream &is)
 Read dictionary from Istream (discards the header). Reads entries until EOF or when the first token is a '{' character, it will stop reading at the matching '}' character. More...
 
bool read (Istream &is, bool keepHeader)
 Read dictionary from Istream (optionally keeping the header) Reads entries until EOF or when the first token is a '{' character, it will stop reading at the matching '}' character. More...
 
void writeEntry (Ostream &os) const
 Write sub-dictionary with its dictName as its header. More...
 
void writeEntry (const keyType &keyword, Ostream &os) const
 Write sub-dictionary with the keyword as its header. More...
 
void writeEntries (Ostream &os, const bool extraNewLine=false) const
 Write dictionary entries. More...
 
void write (Ostream &os, const bool subDict=true) const
 Write dictionary, normally with sub-dictionary formatting. More...
 
const_searcher csearch (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Search dictionary for given keyword. More...
 
const_searcher search (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Search dictionary for given keyword. More...
 
searcher search (const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
 Search dictionary for given keyword. More...
 
const_searcher csearchScoped (const word &keyword, enum keyType::option matchOpt) const
 Search using scoping. More...
 
const_searcher searchScoped (const word &keyword, enum keyType::option matchOpt) const
 Search using dot or slash scoping. More...
 
searcher searchScoped (const word &keyword, enum keyType::option matchOpt)
 Search using dot or slash scoping. More...
 
const dictionarycfindScopedDict (const fileName &dictPath) const
 Locate a sub-dictionary using slash-scoping. More...
 
const dictionaryfindScopedDict (const fileName &dictPath) const
 Locate a sub-dictionary using slash-scoping. More...
 
dictionaryfindScopedDict (const fileName &dictPath)
 Locate a sub-dictionary using slash-scoping. More...
 
dictionarymakeScopedDict (const fileName &dictPath)
 Locate existing or create sub-dictionary using slash-scoping. More...
 
const_searcher csearchCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt=keyType::REGEX) const
 Search dictionary for given keyword and any compatibility names. More...
 
const entryfindCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt) const
 Find and return an entry pointer if present, or return a nullptr, using any compatibility names if needed. More...
 
bool foundCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt=keyType::REGEX) const
 Search dictionary for given keyword and any compatibility names. More...
 
const entrylookupEntryCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt) const
 Find and return an entry if present, otherwise FatalIOError, using any compatibility names if needed. More...
 
ITstreamlookupCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return an entry data stream, using any compatibility names if needed. More...
 
template<class T >
T getCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T using any compatibility names if needed. FatalIOError if not found, or if there are excess tokens. More...
 
template<class T >
T getOrDefaultCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
 Find and return a T, or return the given default value using any compatibility names if needed. More...
 
template<class T >
bool readCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, T &val, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
 Find entry and assign to T val using any compatibility names if needed. FatalIOError if there are excess tokens. More...
 
template<class T >
bool readIfPresentCompat (const word &keyword, std::initializer_list< std::pair< const char *, int >> compat, T &val, enum keyType::option matchOpt=keyType::REGEX) const
 Find an entry if present, and assign to T val using any compatibility names if needed. FatalIOError if it is found and there are excess tokens. More...
 
void operator= (const dictionary &rhs)
 Copy assignment. More...
 
void operator+= (const dictionary &rhs)
 Include entries from the given dictionary. More...
 
void operator|= (const dictionary &rhs)
 Conditionally include entries from the given dictionary. More...
 
void operator<<= (const dictionary &rhs)
 Unconditionally include entries from the given dictionary. More...
 
bool getBool (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< bool >(const word&, keyType::option) More...
 
label getLabel (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< label >(const word&, keyType::option) More...
 
scalar getScalar (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< scalar >(const word&, keyType::option) More...
 
string getString (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< string >(const word&, keyType::option) More...
 
word getWord (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< word >(const word&, keyType::option) More...
 
fileName getFileName (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
 Same as get< fileName >(const word&, keyType::option) More...
 
template<class T >
T lookupOrDefault (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
 Same as getOrDefault() More...
 
template<class T >
T lookupOrAddDefault (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX)
 Same as getOrAdd() More...
 
ITstreamoperator[] (const word &keyword) const
 Deprecated(2018-07) - use lookup() method. More...
 
bool found (const word &keyword, bool recursive, bool patternMatch=true) const
 Deprecated(2018-10) More...
 
entrylookupEntryPtr (const word &keyword, bool recursive, bool patternMatch)
 Deprecated(2018-10) More...
 
const entrylookupEntryPtr (const word &keyword, bool recursive, bool patternMatch) const
 Deprecated(2018-10) More...
 
const entrylookupScopedEntryPtr (const word &keyword, bool recursive, bool patternMatch) const
 Deprecated(2018-10) More...
 
const dictionarysubDictPtr (const word &keyword) const
 Deprecated(2018-10) More...
 
dictionarysubDictPtr (const word &keyword)
 Deprecated(2018-10) Find and return a sub-dictionary pointer if present. More...
 
const entrylookupEntry (const word &keyword, bool recursive, bool patternMatch) const
 Deprecated(2018-10) More...
 
ITstreamlookup (const word &keyword, bool recursive, bool patternMatch=true) const
 Deprecated(2018-10) More...
 
template<class T >
T lookupOrDefault (const word &keyword, const T &deflt, bool recursive, bool patternMatch=true) const
 Deprecated(2018-10) More...
 
template<class T >
T lookupOrAddDefault (const word &keyword, const T &deflt, bool recursive, bool patternMatch=true)
 Deprecated(2018-10) More...
 
template<class T >
bool readIfPresent (const word &keyword, T &val, bool recursive, bool patternMatch=true) const
 Deprecated(2018-10) More...
 
template<class T >
T lookupType (const word &keyword, bool recursive=false, bool patternMatch=true) const
 Deprecated(2018-10) find and return a T. More...
 
template<class Compare >
Foam::wordList sortedToc (const Compare &comp) const
 
template<class T >
Foam::entryadd (const keyType &k, const T &v, bool overwrite)
 
template<class T >
Foam::entryset (const keyType &k, const T &v)
 
- Public Member Functions inherited from ILList< LListBase, T >
 ILList ()=default
 Default construct. More...
 
 ILList (T *item)
 Construct and add initial item pointer. More...
 
 ILList (Istream &is)
 Construct from Istream. More...
 
 ILList (const ILList< LListBase, T > &lst)
 Copy construct using the 'clone()' method for each element. More...
 
 ILList (ILList< LListBase, T > &&lst)
 Move construct. More...
 
template<class CloneArg >
 ILList (const ILList< LListBase, T > &lst, const CloneArg &cloneArg)
 Copy constructor with additional argument for clone 'clone()'. More...
 
template<class INew >
 ILList (Istream &is, const INew &inew)
 Construct from Istream using given Istream constructor class. More...
 
 ~ILList ()
 Destructor. Calls clear() More...
 
void clear ()
 Clear the contents of the list. More...
 
void pop_front (label n=1)
 Remove first element(s) from the list (deletes pointers) More...
 
bool erase (T *item)
 Remove the specified element from the list and delete it. More...
 
void transfer (ILList< LListBase, T > &lst)
 Transfer the contents of the argument into this List and annul the argument list. More...
 
void operator= (const ILList< LListBase, T > &lst)
 Copy assignment using the 'clone()' method for each element. More...
 
void operator= (ILList< LListBase, T > &&lst)
 Move assignment. More...
 
- Public Member Functions inherited from UILList< LListBase, T >
 UILList ()=default
 Default construct. More...
 
 UILList (T *item)
 Construct and add initial item pointer. More...
 
 UILList (const UILList< LListBase, T > &list)
 Construct as copy. More...
 
Tfront ()
 The first entry in the list. More...
 
const Tfront () const
 The first entry in the list (const access) More...
 
Tback ()
 The last entry in the list. More...
 
const Tback () const
 The last entry in the list (const access) More...
 
TremoveHead ()
 Remove and return head. More...
 
Tremove (T *item)
 Remove and return element. More...
 
Tremove (iterator &iter)
 Remove and return item specified by iterator. More...
 
void operator= (const UILList< LListBase, T > &lst)
 Copy assignment. More...
 
bool operator== (const UILList< LListBase, T > &lst) const
 Equality. True both lists are element-wise equal. More...
 
bool operator!= (const UILList< LListBase, T > &lst) const
 The opposite of the equality operation. Takes linear time. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write UILList with line-breaks when length exceeds shortLen. More...
 
iterator begin ()
 Iterator to first item in list with non-const access. More...
 
const_iterator cbegin () const
 Iterator to first item in list with const access. More...
 
reverse_iterator rbegin ()
 Iterator to last item in list with non-const access. More...
 
const_reverse_iterator crbegin () const
 Iterator to last item in list with const access. More...
 
const_iterator begin () const
 Iterator to first item in list with const access. More...
 
const_reverse_iterator rbegin () const
 Iterator to last item in list with const access. More...
 
const iteratorend ()
 End of list for forward iterators. More...
 
const const_iteratorcend () const
 End of list for forward iterators. More...
 
const reverse_iteratorrend ()
 End of list for reverse iterators. More...
 
const const_reverse_iteratorcrend () const
 End of list for reverse iterators. More...
 
const const_iteratorend () const
 End of list for forward iterators. More...
 
const const_reverse_iteratorrend () const
 End of list for reverse iterators. More...
 
Tfirst ()
 The first entry in the list. More...
 
const Tfirst () const
 The first entry in the list (const access) More...
 
Tlast ()
 The last entry in the list. More...
 
const Tlast () const
 The last entry in the list (const access) More...
 

Static Public Member Functions

static autoPtr< objectiveNew (const fvMesh &mesh, const dictionary &dict, const word &objectiveType, const word &adjointSolverName, const word &primalSolverName)
 Return a reference to the selected turbulence model. More...
 
- Static Public Member Functions inherited from localIOdictionary
static dictionary readContents (const IOobject &io)
 Read and return contents. The IOobject will not be registered. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool bannerEnabled () noexcept
 Status of output file banner. More...
 
static bool bannerEnabled (bool on) noexcept
 Enable/disable output file banner. More...
 
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class StringType >
static word groupName (StringType base, const word &group)
 Create dot-delimited name.group string. More...
 
static word group (const word &name)
 Return group (extension part of name) More...
 
static word member (const word &name)
 Return member (name without the extension) More...
 
static word scopedName (const std::string &scope, const word &name)
 Create scope:name or scope_name string. More...
 
static word scopedName (const std::string &scope, const word &name1, const word &name2)
 Create scope:name1:name2 or scope_name1_name2 string. More...
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 Return the IOobject, but also consider an alternative file name. More...
 
static OstreamwriteBanner (Ostream &os, const bool noSyntaxHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
static OstreamwriteDivider (Ostream &os)
 Write the standard file section divider. More...
 
static OstreamwriteEndDivider (Ostream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from IOobjectOption
static bool isAnyRead (readOption opt) noexcept
 True if any reading may be required (ie, != NO_READ) More...
 
static bool isReadRequired (readOption opt) noexcept
 True if (MUST_READ | READ_MODIFIED) bits are set. More...
 
static bool isReadOptional (readOption opt) noexcept
 True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More...
 
static readOption lazierRead (readOption opt) noexcept
 Downgrade readOption optional (LAZY_READ), leaves NO_READ intact. More...
 
- Static Public Member Functions inherited from dictionary
static int reportOptional () noexcept
 Return the state of reporting optional (default) entries. More...
 
static int reportOptional (const int level) noexcept
 Change the state of reporting optional (default) entries. More...
 
static autoPtr< dictionaryNew (Istream &is)
 Construct top-level dictionary on freestore from Istream. More...
 

Protected Member Functions

void setObjectiveFilePtr () const
 Set the output file ptr. More...
 
void setInstantValueFilePtr () const
 Set the output file ptr for the instantaneous value. More...
 
void setMeanValueFilePtr () const
 Set the output file ptr for the mean value. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 Set the object state to bad. More...
 

Protected Attributes

const fvMeshmesh_
 
dictionary dict_
 
const word adjointSolverName_
 
const word primalSolverName_
 
const word objectiveName_
 
bool computeMeanFields_
 
bool nullified_
 
bool normalize_
 
bool shouldWrite_
 
scalar J_
 Objective function value and weight. More...
 
scalar JMean_
 Average objective value. More...
 
scalar weight_
 Objective weight. More...
 
bool computed_
 Whether the objective is computed or not. More...
 
autoPtr< scalar > normFactor_
 Normalization factor. More...
 
autoPtr< scalar > target_
 Target value, in case the objective is used as a constraint. More...
 
autoPtr< scalar > targetLeft_
 Target on the left hand-side of a double inequality, for double sided constraints. More...
 
autoPtr< scalar > integrationStartTimePtr_
 Objective integration start and end times (for unsteady flows) More...
 
autoPtr< scalar > integrationEndTimePtr_
 
wordList fieldNames_
 List of adjoint fields for which this objective will contribute sources to their equations. More...
 
autoPtr< scalarFielddJdbFieldPtr_
 Contribution to field sensitivity derivatives. More...
 
autoPtr< boundaryVectorFieldbdJdbPtr_
 Term from material derivative. More...
 
autoPtr< boundaryVectorFieldbdSdbMultPtr_
 Term multiplying delta(n dS)/delta b. More...
 
autoPtr< boundaryVectorFieldbdndbMultPtr_
 Term multiplying delta(n)/delta b. More...
 
autoPtr< boundaryVectorFieldbdxdbMultPtr_
 Term multiplying delta(x)/delta b at the boundary. More...
 
autoPtr< boundaryVectorFieldbdxdbDirectMultPtr_
 Term multiplying delta(x)/delta b at the boundary for objectives that directly depend on x, e.g. moment Needed in both FI and SI computations. More...
 
autoPtr< vectorField3bEdgeContribution_
 Contribution located in specific parts of a patch. Mainly intended for patch boundary edges contributions, e.g. NURBS surfaces G1 continuity. More...
 
autoPtr< volScalarFielddivDxDbMultPtr_
 Multiplier of d(Volume)/db. More...
 
autoPtr< volTensorFieldgradDxDbMultPtr_
 Emerging from volume objectives that include spatial derivatives. More...
 
fileName objFunctionFolder_
 Output file variables. More...
 
autoPtr< OFstreamobjFunctionFilePtr_
 File to keep the objective values after the end of the primal solver. More...
 
autoPtr< OFstreaminstantValueFilePtr_
 File to keep the objective values at each iteration of the primal solver. More...
 
autoPtr< OFstreammeanValueFilePtr_
 File to keep the average objective values after the end of the primal solver. More...
 
unsigned int width_
 Default width of entries when writing in the objective files. More...
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from IOobjectOption
enum  readOption : unsigned char {
  NO_READ = 0, MUST_READ = 0x1, READ_MODIFIED = 0x3, MUST_READ_IF_MODIFIED = 0x3,
  LAZY_READ = 0x4, READ_IF_PRESENT = 0x4
}
 Enumeration defining read preferences. More...
 
enum  writeOption : unsigned char { NO_WRITE = 0, AUTO_WRITE = 0x10 }
 Enumeration defining write preferences. More...
 
enum  registerOption : unsigned char { NO_REGISTER = 0, REGISTER = 1, LEGACY_REGISTER = 2 }
 Enumeration for use with registerObject(). Values map to bool (false/true) More...
 
- Public Types inherited from dictionary
typedef Searcher< true > const_searcher
 Searcher with const access. More...
 
typedef Searcher< false > searcher
 Searcher with non-const access. More...
 
- Public Types inherited from UILList< LListBase, T >
typedef T value_type
 Type of values stored. More...
 
typedef Tpointer
 Pointer for value_type. More...
 
typedef const Tconst_pointer
 Const pointer for value_type. More...
 
typedef Treference
 Reference for value_type. More...
 
typedef const Tconst_reference
 Const reference for value_type. More...
 
typedef label size_type
 The type that can represent the container size. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
using base_iterator = typename LListBase::iterator
 
using const_base_iterator = typename LListBase::const_iterator
 
- Public Attributes inherited from dictionary
friend const_searcher
 Declare friendship with the searcher classes. More...
 
friend searcher
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 Names for the fileCheckTypes. More...
 
static char scopeSeparator
 Character for scoping object names (':' or '_') More...
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
static float fileModificationSkew
 Time skew (seconds) for file modification checks. More...
 
static int maxFileModificationPolls
 Max number of times to poll for file modification changes. More...
 
- Static Public Attributes inherited from dictionary
static int writeOptionalEntries
 Report optional keywords and values if not present in dictionary. More...
 
static const dictionary null
 An empty dictionary, which is also the parent for all dictionaries. More...
 
static refPtr< OSstreamreportingOutput
 Output location when reporting default values. More...
 
- Static Protected Member Functions inherited from IOobject
static void writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr)
 Helper: write content for FoamFile IOobject header with optional meta information. More...
 
static void writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr)
 Helper: write dictionary content for FoamFile header with optional meta information. More...
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 To flag master-only reading of objects. More...
 

Detailed Description

Abstract base class for objective functions. No point in making this runTime selectable since its children will have different constructors.

Source files

Definition at line 55 of file objective.H.

Constructor & Destructor Documentation

◆ objective()

objective ( const fvMesh mesh,
const dictionary dict,
const word adjointSolverName,
const word primalSolverName 
)

Construct from components.

Definition at line 100 of file objective.C.

References dict, dictionary::found(), dictionary::get(), readIfPresent(), dictionary::readIfPresent(), and Foam::Zero.

Here is the call graph for this function:

◆ ~objective()

virtual ~objective ( )
virtualdefault

Destructor.

Member Function Documentation

◆ setObjectiveFilePtr()

void setObjectiveFilePtr ( ) const
protected

Set the output file ptr.

Definition at line 56 of file objective.C.

References objective::adjointSolverName_, objective::objectiveName_, objective::objFunctionFilePtr_, and objective::objFunctionFolder_.

Referenced by objective::write().

Here is the caller graph for this function:

◆ setInstantValueFilePtr()

void setInstantValueFilePtr ( ) const
protected

Set the output file ptr for the instantaneous value.

Definition at line 65 of file objective.C.

References objective::adjointSolverName_, objective::instantValueFilePtr_, objective::objectiveName_, and objective::objFunctionFolder_.

Referenced by objective::writeInstantaneousValue().

Here is the caller graph for this function:

◆ setMeanValueFilePtr()

void setMeanValueFilePtr ( ) const
protected

Set the output file ptr for the mean value.

Definition at line 77 of file objective.C.

References objective::adjointSolverName_, objective::meanValueFilePtr_, objective::objectiveName_, and objective::objFunctionFolder_.

Referenced by objective::writeMeanValue().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "objective"  )

Runtime type information.

◆ declareRunTimeNewSelectionTable()

declareRunTimeNewSelectionTable ( autoPtr  ,
objective  ,
objective  ,
(const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName)  ,
(mesh, dict, adjointSolverName, primalSolverName)   
)

◆ New()

autoPtr< objective > New ( const fvMesh mesh,
const dictionary dict,
const word objectiveType,
const word adjointSolverName,
const word primalSolverName 
)
static

Return a reference to the selected turbulence model.

Definition at line 215 of file objective.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and mesh.

Referenced by objectiveManager::objectiveManager().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readDict()

bool readDict ( const dictionary dict)
virtual

Definition at line 251 of file objective.C.

References objective::dict(), and objective::dict_.

Here is the call graph for this function:

◆ J()

◆ JCycle()

scalar JCycle ( bool  negate = false) const
virtual

Return the objective function of the optimisation cycle.

This corresponds to the mean value, if it exists, or the instantaneous value otherwise

Definition at line 258 of file objective.C.

References objective::computeMeanFields_, objective::hasIntegrationEndTime(), objective::hasIntegrationStartTime(), objective::J(), objective::J_, objective::JMean_, Foam::negate(), objective::normalize_, objective::normFactor_, objective::target_, objective::targetLeft_, autoPtr< T >::valid(), and objective::weight_.

Referenced by objective::updateNormalizationFactor(), and objective::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ accumulateJMean() [1/2]

void accumulateJMean ( solverControl solverControl)
virtual

Accumulate contribution for the mean objective value.

For steady-state runs

Definition at line 308 of file objective.C.

References solverControl::averageIter(), solverControl::doAverageIter(), objective::J_, objective::JMean_, and Foam::Zero.

Here is the call graph for this function:

◆ accumulateJMean() [2/2]

void accumulateJMean ( )
virtual

◆ weight()

scalar weight ( ) const
virtual

Return the objective function weight.

Definition at line 347 of file objective.C.

References objective::weight_.

Referenced by objectivePowerDissipation::addSource(), objectiveNutSqr::addSource(), and objectiveIncompressible::addSource().

Here is the caller graph for this function:

◆ normalize()

bool normalize ( ) const
virtual

Is the objective normalized.

Definition at line 353 of file objective.C.

References objective::normalize_.

◆ doNormalization()

◆ isWithinIntegrationTime()

bool isWithinIntegrationTime ( ) const
virtual

Check whether this is an objective integration time.

Definition at line 409 of file objective.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, objective::hasIntegrationEndTime(), objective::hasIntegrationStartTime(), objective::integrationEndTimePtr_, objective::integrationStartTimePtr_, objective::mesh_, objective::objectiveName_, fvMesh::time(), IOobject::time(), and dimensioned< Type >::value().

Referenced by objective::accumulateJMean().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ incrementIntegrationTimes()

void incrementIntegrationTimes ( const scalar  timeSpan)
virtual

◆ dJdb()

const Foam::volScalarField & dJdb ( ) const
inline

Contribution to field sensitivities.

Definition at line 44 of file objectiveI.H.

Referenced by objectivePowerDissipation::update_dJdb().

Here is the caller graph for this function:

◆ dJdbField()

const Foam::scalarField & dJdbField ( ) const
inline

Contribution to sensitivities with a random number of designVars.

Definition at line 50 of file objectiveI.H.

◆ boundarydJdb() [1/2]

const Foam::fvPatchVectorField & boundarydJdb ( const label  patchI) const
inline

Contribution to surface sensitivities for a specific patch.

Definition at line 57 of file objectiveI.H.

◆ dSdbMultiplier() [1/2]

const Foam::fvPatchVectorField & dSdbMultiplier ( const label  patchI) const
inline

Multiplier of delta(n dS)/delta b.

Definition at line 64 of file objectiveI.H.

◆ dndbMultiplier() [1/2]

const Foam::fvPatchVectorField & dndbMultiplier ( const label  patchI) const
inline

Multiplier of delta(n dS)/delta b.

Definition at line 71 of file objectiveI.H.

◆ dxdbMultiplier() [1/2]

const Foam::fvPatchVectorField & dxdbMultiplier ( const label  patchI) const
inline

Multiplier of delta(x)/delta b.

Definition at line 78 of file objectiveI.H.

◆ dxdbDirectMultiplier() [1/2]

const Foam::fvPatchVectorField & dxdbDirectMultiplier ( const label  patchI) const
inline

Multiplier of delta(x)/delta b.

Definition at line 85 of file objectiveI.H.

◆ boundaryEdgeMultiplier() [1/2]

const Foam::vectorField & boundaryEdgeMultiplier ( const label  patchI,
const label  edgeI 
) const
inline

Multiplier located at patch boundary edges.

Definition at line 92 of file objectiveI.H.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ boundarydJdb() [2/2]

const Foam::boundaryVectorField & boundarydJdb ( ) const
inline

Contribution to surface sensitivities for all patches.

Definition at line 107 of file objectiveI.H.

◆ dSdbMultiplier() [2/2]

const Foam::boundaryVectorField & dSdbMultiplier ( ) const
inline

Multiplier of delta(n dS)/delta b for all patches.

Definition at line 113 of file objectiveI.H.

◆ dndbMultiplier() [2/2]

const Foam::boundaryVectorField & dndbMultiplier ( ) const
inline

Multiplier of delta(n dS)/delta b for all patches.

Definition at line 119 of file objectiveI.H.

◆ dxdbMultiplier() [2/2]

const Foam::boundaryVectorField & dxdbMultiplier ( ) const
inline

Multiplier of delta(x)/delta b for all patches.

Definition at line 125 of file objectiveI.H.

◆ dxdbDirectMultiplier() [2/2]

const Foam::boundaryVectorField & dxdbDirectMultiplier ( ) const
inline

Multiplier of delta(x)/delta b for all patches.

Definition at line 132 of file objectiveI.H.

◆ boundaryEdgeMultiplier() [2/2]

const Foam::vectorField3 & boundaryEdgeMultiplier ( ) const
inline

Multiplier located at patch boundary edges.

Definition at line 138 of file objectiveI.H.

References Foam::endl(), Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ divDxDbMultiplier()

const Foam::volScalarField & divDxDbMultiplier ( ) const
inline

Multiplier of grad( delta(x)/delta b) for volume-based sensitivities.

Definition at line 151 of file objectiveI.H.

◆ gradDxDbMultiplier()

const Foam::volTensorField & gradDxDbMultiplier ( ) const
inline

Multiplier of grad( delta(x)/delta b) for volume-based sensitivities.

Definition at line 157 of file objectiveI.H.

◆ update()

◆ nullify()

◆ updateNormalizationFactor()

void updateNormalizationFactor ( )
virtual

Update normalization factors, for objectives in which the factor is not known a priori.

Definition at line 294 of file objective.C.

References DebugInfo, Foam::endl(), objective::J(), objective::JCycle(), objective::mesh_, baseIOdictionary::name(), objective::normalize_, objective::normFactor_, autoPtr< T >::reset(), fvMesh::time(), Time::timeName(), and objective::weight_.

Here is the call graph for this function:

◆ update_dJdb()

virtual void update_dJdb ( )
inlinevirtual

Reimplemented in objectiveIncompressible, objectivePowerDissipation, objectiveTopOVolume, and objectiveTopOSolidVolume.

Definition at line 488 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_dJdbField()

virtual void update_dJdbField ( )
inlinevirtual

Reimplemented in objectiveIncompressible.

Definition at line 491 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_boundarydJdb()

virtual void update_boundarydJdb ( )
inlinevirtual

Update objective function derivative term.

Definition at line 497 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_dSdbMultiplier()

virtual void update_dSdbMultiplier ( )
inlinevirtual

Update d (normal dS) / db multiplier. Surface-based sensitivity term.

Reimplemented in objectiveMoment, objectiveForce, and objectivePartialVolume.

Definition at line 503 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_dndbMultiplier()

virtual void update_dndbMultiplier ( )
inlinevirtual

Update d (normal) / db multiplier. Surface-based sensitivity term.

Definition at line 509 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_dxdbMultiplier()

virtual void update_dxdbMultiplier ( )
inlinevirtual

Update d (x) / db multiplier. Surface-based sensitivity term.

Reimplemented in objectiveMoment, and objectiveForce.

Definition at line 515 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_dxdbDirectMultiplier()

virtual void update_dxdbDirectMultiplier ( )
inlinevirtual

Update d (x) / db multiplier. Surface and volume-based sensitivity term.

Reimplemented in objectiveMoment, and objectivePartialVolume.

Definition at line 522 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_boundaryEdgeContribution()

virtual void update_boundaryEdgeContribution ( )
inlinevirtual

Update boundary edge contributions.

Definition at line 528 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_divDxDbMultiplier()

virtual void update_divDxDbMultiplier ( )
inlinevirtual

Update div( dx/db multiplier). Volume-based sensitivity term.

Reimplemented in objectiveIncompressible, objectiveNutSqr, objectivePowerDissipation, and objectiveUniformityCellZone.

Definition at line 534 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ update_gradDxDbMultiplier()

virtual void update_gradDxDbMultiplier ( )
inlinevirtual

Update grad( dx/db multiplier). Volume-based sensitivity term.

Reimplemented in objectiveIncompressible, and objectivePowerDissipation.

Definition at line 540 of file objective.H.

Referenced by objective::update().

Here is the caller graph for this function:

◆ addSource() [1/2]

virtual void addSource ( fvVectorMatrix matrix)
inlinevirtual

Manipulate fvVectorMatrix through the objective.

Reimplemented in objectiveIncompressible.

Definition at line 547 of file objective.H.

◆ addSource() [2/2]

virtual void addSource ( fvScalarMatrix matrix)
inlinevirtual

Manipulate fvVectorMatrix through the objective.

Reimplemented in objectiveIncompressible, objectiveNutSqr, and objectivePowerDissipation.

Definition at line 553 of file objective.H.

◆ write()

◆ writeInstantaneousValue()

void writeInstantaneousValue ( ) const
virtual

Write objective function history at each primal solver iteration.

Definition at line 580 of file objective.C.

References IOstream::defaultPrecision(), Foam::endl(), objective::instantValueFilePtr_, objective::J_, UPstream::master(), objective::mesh_, objective::setInstantValueFilePtr(), Foam::setw(), Foam::tab, fvMesh::time(), and dimensioned< Type >::value().

Here is the call graph for this function:

◆ writeInstantaneousSeparator()

void writeInstantaneousSeparator ( ) const
virtual

Append a blank line after the end of optimisation cycle to the file holding the instantaneous objective values to facilitate plotting.

Definition at line 599 of file objective.C.

References Foam::endl(), objective::instantValueFilePtr_, and UPstream::master().

Here is the call graph for this function:

◆ writeMeanValue()

◆ writeData()

bool writeData ( Ostream os) const
virtual

Write averaged objective for continuation.

Reimplemented from baseIOdictionary.

Reimplemented in objectivePartialVolume.

Definition at line 638 of file objective.C.

References objective::JMean_, objective::normFactor_, os(), and objective::weight_.

Referenced by objectivePartialVolume::writeData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addHeaderInfo()

void addHeaderInfo ( ) const
virtual

Write any information that needs to go the header of the file.

(e.g. targets, directions, etc)

Reimplemented in objectivePartialVolume, and objectiveFlowRatePartition.

Definition at line 650 of file objective.C.

Referenced by objective::write().

Here is the caller graph for this function:

◆ addHeaderColumns()

void addHeaderColumns ( ) const
virtual

Write headers for additional columns.

Reimplemented in objectiveUniformityPatch, objectivePtLosses, objectiveUniformityCellZone, objectiveFlowRatePartition, objectiveFlowRate, objectiveTopOVolume, and objectiveTopOSolidVolume.

Definition at line 656 of file objective.C.

Referenced by objective::write().

Here is the caller graph for this function:

◆ addColumnValues()

void addColumnValues ( ) const
virtual

Write information to additional columns.

Reimplemented in objectiveUniformityPatch, objectivePtLosses, objectiveUniformityCellZone, objectiveFlowRatePartition, objectiveFlowRate, objectiveTopOVolume, and objectiveTopOSolidVolume.

Definition at line 662 of file objective.C.

Referenced by objective::write().

Here is the caller graph for this function:

◆ objectiveName()

const Foam::word & objectiveName ( ) const
inline

Return the objective name.

Definition at line 26 of file objectiveI.H.

References objective::objectiveName_.

◆ shouldWrite()

bool shouldWrite ( ) const
inline

Should the objective be written to file upon calling write()?

Definition at line 32 of file objectiveI.H.

◆ setWrite()

void setWrite ( const bool  shouldWrite)
inline

Should the objective be written to file upon calling write()?

Definition at line 38 of file objectiveI.H.

◆ hasdJdb()

bool hasdJdb ( ) const
inlinenoexcept

Definition at line 163 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasdJdbField()

bool hasdJdbField ( ) const
inlinenoexcept

Definition at line 169 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasBoundarydJdb()

bool hasBoundarydJdb ( ) const
inlinenoexcept

Definition at line 175 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasdSdbMult()

bool hasdSdbMult ( ) const
inlinenoexcept

Definition at line 181 of file objectiveI.H.

Referenced by ShapeSensitivitiesBase::allocateMultipliers(), objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasdndbMult()

bool hasdndbMult ( ) const
inlinenoexcept

Definition at line 187 of file objectiveI.H.

Referenced by ShapeSensitivitiesBase::allocateMultipliers(), objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasdxdbMult()

bool hasdxdbMult ( ) const
inlinenoexcept

Definition at line 193 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasdxdbDirectMult()

bool hasdxdbDirectMult ( ) const
inlinenoexcept

Definition at line 199 of file objectiveI.H.

Referenced by ShapeSensitivitiesBase::allocateMultipliers(), objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasBoundaryEdgeContribution()

bool hasBoundaryEdgeContribution ( ) const
inlinenoexcept

Definition at line 205 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasDivDxDbMult()

bool hasDivDxDbMult ( ) const
inlinenoexcept

Definition at line 211 of file objectiveI.H.

Referenced by ShapeSensitivitiesBase::allocateMultipliers(), objective::doNormalization(), objective::nullify(), and sensitivityShapeESI::sensitivityShapeESI().

Here is the caller graph for this function:

◆ hasGradDxDbMult()

bool hasGradDxDbMult ( ) const
inlinenoexcept

Definition at line 217 of file objectiveI.H.

Referenced by objective::doNormalization(), and objective::nullify().

Here is the caller graph for this function:

◆ hasIntegrationStartTime()

bool hasIntegrationStartTime ( ) const
inlinenoexcept

◆ hasIntegrationEndTime()

bool hasIntegrationEndTime ( ) const
inlinenoexcept

◆ setComputed()

void setComputed ( const bool  isComputed)
inlinenoexcept

Set the computed status of the objective.

Definition at line 235 of file objectiveI.H.

◆ dict()

const dictionary & dict ( ) const

Return objective dictionary.

Definition at line 91 of file objective.C.

References objective::dict_.

Referenced by objective::readDict().

Here is the caller graph for this function:

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Definition at line 63 of file objective.H.

Referenced by objective::accumulateJMean(), objectiveTopOSolidVolume::addColumnValues(), objectiveTopOVolume::addColumnValues(), objectiveFlowRate::addHeaderColumns(), objectiveUniformityCellZone::addHeaderColumns(), objectivePtLosses::addHeaderColumns(), objectiveUniformityPatch::addHeaderColumns(), objectiveIncompressible::allocatedJdTurbulence(), objective::isWithinIntegrationTime(), objectivePartialVolume::J(), objectiveTopOSolidVolume::J(), objectiveTopOVolume::J(), objectiveForce::J(), objectiveMoment::J(), objectivePowerDissipation::J(), objectivePtLosses::J(), objectiveUniformityCellZone::J(), objectiveUniformityPatch::J(), objectiveNutSqr::J(), objectiveForce::update_boundarydJdGradU(), objectiveForce::update_boundarydJdnut(), objectiveMoment::update_boundarydJdnut(), objectiveMoment::update_boundarydJdp(), objectivePtLosses::update_boundarydJdp(), objectiveFlowRate::update_boundarydJdv(), objectivePtLosses::update_boundarydJdv(), objectiveUniformityPatch::update_boundarydJdv(), objectivePtLosses::update_boundarydJdvn(), objectiveUniformityPatch::update_boundarydJdvn(), objectivePtLosses::update_boundarydJdvt(), objectiveUniformityPatch::update_boundarydJdvt(), objectiveUniformityCellZone::update_divDxDbMultiplier(), objectivePowerDissipation::update_divDxDbMultiplier(), objectiveNutSqr::update_divDxDbMultiplier(), objectiveTopOSolidVolume::update_dJdb(), objectiveTopOVolume::update_dJdb(), objectivePowerDissipation::update_dJdb(), objectivePowerDissipation::update_dJdv(), objectiveUniformityCellZone::update_dJdv(), objectiveNutSqr::update_dJdv(), objectivePartialVolume::update_dSdbMultiplier(), objectiveMoment::update_dSdbMultiplier(), objectivePartialVolume::update_dxdbDirectMultiplier(), objectiveMoment::update_dxdbDirectMultiplier(), objectiveForce::update_dxdbMultiplier(), objectiveMoment::update_dxdbMultiplier(), objectivePowerDissipation::update_gradDxDbMultiplier(), objective::updateNormalizationFactor(), objective::write(), objective::writeInstantaneousValue(), and objective::writeMeanValue().

◆ dict_

dictionary dict_
protected

Definition at line 64 of file objective.H.

Referenced by objective::dict(), and objective::readDict().

◆ adjointSolverName_

◆ primalSolverName_

const word primalSolverName_
protected

Definition at line 66 of file objective.H.

Referenced by objectiveIncompressible::allocatedJdTurbulence().

◆ objectiveName_

◆ computeMeanFields_

bool computeMeanFields_
protected

◆ nullified_

bool nullified_
protected

Definition at line 69 of file objective.H.

Referenced by objectiveIncompressible::nullify(), and objective::nullify().

◆ normalize_

◆ shouldWrite_

bool shouldWrite_
protected

Definition at line 71 of file objective.H.

◆ J_

◆ JMean_

scalar JMean_
protected

Average objective value.

Definition at line 81 of file objective.H.

Referenced by objective::accumulateJMean(), objective::JCycle(), objective::writeData(), and objective::writeMeanValue().

◆ weight_

scalar weight_
protected

Objective weight.

Definition at line 86 of file objective.H.

Referenced by objective::JCycle(), objective::updateNormalizationFactor(), objective::weight(), and objective::writeData().

◆ computed_

bool computed_
protected

Whether the objective is computed or not.

Some objective (e.g. geometric ones) might not change from one iteration of the primal solver to the next and might be expensive to evaluate. This can be used to compute them only once per optimisation cycle

Definition at line 96 of file objective.H.

Referenced by objectiveGeometric::update(), and objectiveIncompressible::update().

◆ normFactor_

◆ target_

autoPtr<scalar> target_
protected

Target value, in case the objective is used as a constraint.

Should be used with caution and with updateMethods than get affected by the target value, without requiring a sqr (e.g. SQP, MMA)

Definition at line 110 of file objective.H.

Referenced by objective::JCycle(), and objective::write().

◆ targetLeft_

autoPtr<scalar> targetLeft_
protected

Target on the left hand-side of a double inequality, for double sided constraints.

Definition at line 116 of file objective.H.

Referenced by objective::JCycle(), and objective::write().

◆ integrationStartTimePtr_

autoPtr<scalar> integrationStartTimePtr_
protected

Objective integration start and end times (for unsteady flows)

Definition at line 121 of file objective.H.

Referenced by objective::accumulateJMean(), objective::incrementIntegrationTimes(), and objective::isWithinIntegrationTime().

◆ integrationEndTimePtr_

autoPtr<scalar> integrationEndTimePtr_
protected

◆ fieldNames_

wordList fieldNames_
protected

List of adjoint fields for which this objective will contribute sources to their equations.

Only for volume-based objectives for the moment

Definition at line 130 of file objective.H.

Referenced by objectivePowerDissipation::addSource(), objectiveNutSqr::addSource(), objectiveIncompressible::addSource(), and objectiveNutSqr::update_dJdv().

◆ dJdbFieldPtr_

autoPtr<scalarField> dJdbFieldPtr_
protected

Contribution to field sensitivity derivatives.

Topology optimisation or other variants with as many design variables as the mesh cells ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ autoPtr<volScalarField> dJdbPtr_;

/*! Contribution to sensitivity derivatives with a random number of design variables (neither surface, nor volume based)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Definition at line 148 of file objective.H.

Referenced by objective::doNormalization(), and objective::nullify().

◆ bdJdbPtr_

autoPtr<boundaryVectorField> bdJdbPtr_
protected

Term from material derivative.

Definition at line 156 of file objective.H.

Referenced by objective::doNormalization(), and objective::nullify().

◆ bdSdbMultPtr_

◆ bdndbMultPtr_

autoPtr<boundaryVectorField> bdndbMultPtr_
protected

Term multiplying delta(n)/delta b.

Definition at line 166 of file objective.H.

Referenced by objective::doNormalization(), and objective::nullify().

◆ bdxdbMultPtr_

autoPtr<boundaryVectorField> bdxdbMultPtr_
protected

Term multiplying delta(x)/delta b at the boundary.

Definition at line 171 of file objective.H.

Referenced by objective::doNormalization(), objective::nullify(), objectiveForce::update_dxdbMultiplier(), and objectiveMoment::update_dxdbMultiplier().

◆ bdxdbDirectMultPtr_

autoPtr<boundaryVectorField> bdxdbDirectMultPtr_
protected

Term multiplying delta(x)/delta b at the boundary for objectives that directly depend on x, e.g. moment Needed in both FI and SI computations.

Definition at line 178 of file objective.H.

Referenced by objective::doNormalization(), objective::nullify(), objectivePartialVolume::update_dxdbDirectMultiplier(), and objectiveMoment::update_dxdbDirectMultiplier().

◆ bEdgeContribution_

autoPtr<vectorField3> bEdgeContribution_
protected

Contribution located in specific parts of a patch. Mainly intended for patch boundary edges contributions, e.g. NURBS surfaces G1 continuity.

Definition at line 185 of file objective.H.

Referenced by objective::doNormalization(), and objective::nullify().

◆ divDxDbMultPtr_

◆ gradDxDbMultPtr_

autoPtr<volTensorField> gradDxDbMultPtr_
protected

Emerging from volume objectives that include spatial derivatives.

Definition at line 199 of file objective.H.

Referenced by objective::doNormalization(), objective::nullify(), and objectivePowerDissipation::update_gradDxDbMultiplier().

◆ objFunctionFolder_

fileName objFunctionFolder_
protected

Output file variables.

Definition at line 204 of file objective.H.

Referenced by objective::setInstantValueFilePtr(), objective::setMeanValueFilePtr(), and objective::setObjectiveFilePtr().

◆ objFunctionFilePtr_

◆ instantValueFilePtr_

autoPtr<OFstream> instantValueFilePtr_
mutableprotected

File to keep the objective values at each iteration of the primal solver.

Definition at line 215 of file objective.H.

Referenced by objective::setInstantValueFilePtr(), objective::writeInstantaneousSeparator(), and objective::writeInstantaneousValue().

◆ meanValueFilePtr_

autoPtr<OFstream> meanValueFilePtr_
mutableprotected

File to keep the average objective values after the end of the primal solver.

Definition at line 221 of file objective.H.

Referenced by objective::setMeanValueFilePtr(), and objective::writeMeanValue().

◆ width_


The documentation for this class was generated from the following files: