class for managing incompressible objective functions. More...
Public Member Functions | |
TypeName ("objectiveManager") | |
declareRunTimeSelectionTable (autoPtr, objectiveManager, dictionary,(const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName),(mesh, dict, adjointSolverName, primalSolverName)) | |
objectiveManager (const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName) | |
Construct from components. More... | |
virtual | ~objectiveManager ()=default |
Destructor. More... | |
virtual bool | readDict (const dictionary &dict) |
void | updateNormalizationFactor () |
Update objective function related values. More... | |
void | update () |
Update objective function related values. More... | |
void | updateOrNullify () |
Update contributions to adjoint if true, otherwise return nulls. More... | |
void | incrementIntegrationTimes (const scalar timeSpan) |
Increment integration times by the optimisation cycle time-span. More... | |
scalar | print () |
Print to screen. More... | |
virtual bool | writeObjectives (const scalar weightedObjective, const bool valid=true) |
Write objective function history. More... | |
void | updateAndWrite () |
PtrList< objective > & | getObjectiveFunctions () |
Return reference to objective functions. More... | |
const PtrList< objective > & | getObjectiveFunctions () const |
Return constant reference to objective functions. More... | |
const word & | adjointSolverManagerName () const |
Return name of adjointSolverManager. More... | |
const word & | adjointSolverName () const |
Return name of the adjointSolver. More... | |
const word & | primalSolverName () const |
Return name of the primalSolver. More... | |
void | checkIntegrationTimes () const |
Check integration times for unsteady runs. More... | |
virtual void | addUaEqnSource (fvVectorMatrix &UaEqn)=0 |
Add contribution to adjoint momentum PDEs. More... | |
virtual void | addPaEqnSource (fvScalarMatrix &paEqn)=0 |
Add contribution to adjoint momentum PDEs. More... | |
virtual void | addTMEqn1Source (fvScalarMatrix &adjTMEqn1)=0 |
Add contribution to first adjoint turbulence model PDE. More... | |
virtual void | addTMEqn2Source (fvScalarMatrix &adjTMEqn2)=0 |
Add contribution to second adjoint turbulence model PDE. More... | |
virtual bool | writeData (Ostream &) const |
Pure virtual writeData function. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTimeObject=false) | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
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 |
bool | ownedByRegistry () const noexcept |
Is this object owned by the registry? More... | |
bool | store () |
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 dictionary * | findMetaData () const noexcept |
Return pointer to meta-data or nullptr. More... | |
dictionary & | getMetaData () 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... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | headerOk () |
Read and check header info. Does not check the headerClassName. More... | |
Istream & | readStream (const word &, const bool valid=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. 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 labelList & | watchIndices () const noexcept |
Read access to file-monitoring handles. More... | |
labelList & | watchIndices () noexcept |
Write access to file-monitoring handles. More... | |
virtual bool | modified () const |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeData (Ostream &) const =0 |
Pure virtual writeData function. More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool valid) const |
Write using stream options. More... | |
virtual bool | write (const bool valid=true) const |
Write using setting from DB. More... | |
virtual bool | global () const |
Is object global. More... | |
void | operator= (const IOobject &io) |
Copy assignment. More... | |
virtual bool | writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType comp, const bool valid) 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 ®istry, readOption rOpt=NO_READ, writeOption wOpt=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 ®istry, readOption rOpt=NO_READ, writeOption wOpt=NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption rOpt=NO_READ, writeOption wOpt=NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
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, readOption rOpt, writeOption wOpt) | |
Copy construct, resetting read/write options. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const noexcept |
Return the local objectRegistry. More... | |
const Time & | time () const |
Return Time associated with the objectRegistry. More... | |
const word & | name () const noexcept |
Return the object name. More... | |
const word & | headerClassName () const noexcept |
Return name of the class name read from header. More... | |
word & | headerClassName () noexcept |
Return non-constant access to the class name read from header. More... | |
const string & | note () const noexcept |
Return the optional note. More... | |
string & | note () noexcept |
Modifiable access to the optional note. More... | |
virtual void | rename (const word &newName) |
Rename the object. More... | |
bool | registerObject () const noexcept |
Should object created with this IOobject be registered? More... | |
bool | registerObject (bool on) noexcept |
Change registration preference, return previous value. More... | |
bool | globalObject () const noexcept |
Is object same for all processors? More... | |
bool | globalObject (bool on) noexcept |
Change global-object status, return previous value. 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... | |
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... | |
virtual const dictionary * | findMetaData () const noexcept |
Return pointer to meta-data (if any) or nullptr. More... | |
readOption | readOpt () const noexcept |
The read option. More... | |
readOption | readOpt (readOption opt) noexcept |
Change the read option, return previous value. More... | |
writeOption | writeOpt () const noexcept |
The write option. More... | |
writeOption | writeOpt (writeOption opt) noexcept |
Change the write option, return previous value. More... | |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const |
Return the Time::rootPath() More... | |
const fileName & | caseName () const |
Return the Time::caseName() More... | |
const fileName & | instance () const noexcept |
Read access to instance path component. More... | |
fileName & | instance () noexcept |
Write access to instance path component. More... | |
const fileName & | local () const noexcept |
Read access to local path component. More... | |
fileName | path () const |
The complete path. More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete 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 |
Helper for filePath that searches locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Helper for filePath that searches up if in parallel. More... | |
IOstreamOption | parseHeader (const dictionary &headerDict) |
bool | readHeader (Istream &is) |
bool | readHeader (dictionary &headerDict, Istream &is) |
template<class Type > | |
bool | typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true) |
Read header (uses typeFilePath to find file) and check its info. 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 |
void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
bool | good () const noexcept |
Did last readHeader() succeed? More... | |
bool | bad () const noexcept |
Did last readHeader() fail? More... | |
InfoProxy< IOobject > | info () const |
Return info proxy, for printing information to a stream. More... | |
void | operator= (const IOobject &io) |
Copy assignment, copies all values (except the registry) More... | |
readOption & | readOpt () noexcept |
Access to the read option. More... | |
writeOption & | writeOpt () 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... | |
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) |
Static Public Member Functions | |
static autoPtr< objectiveManager > | New (const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName) |
Return a reference to the selected turbulence model. 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 IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
Return the IOobject, but also consider an alternative file name. More... | |
static Ostream & | writeBanner (Ostream &os, const bool noSyntaxHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
static Ostream & | writeDivider (Ostream &os) |
Write the standard file section divider. More... | |
static Ostream & | writeEndDivider (Ostream &os) |
Write the standard end file divider. More... | |
Protected Attributes | |
const fvMesh & | mesh_ |
const dictionary & | dict_ |
const word | adjointSolverName_ |
const word | primalSolverName_ |
PtrList< objective > | objectives_ |
autoPtr< OFstream > | weigthedObjectiveFile_ |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | readOption : char { NO_READ = 0 , MUST_READ = 1 , MUST_READ_IF_MODIFIED = 3 , READ_IF_PRESENT = 4 } |
Enumeration defining the read options. More... | |
enum | writeOption : char { NO_WRITE = 0 , AUTO_WRITE = 0x10 } |
Enumeration defining the write options. More... | |
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... | |
Static Public Attributes inherited from IOobject | |
static const Enum< fileCheckTypes > | fileCheckTypesNames |
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... | |
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... | |
Static Protected Member Functions inherited from IOobject | |
static void | writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr) |
static void | writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr) |
Static Protected Attributes inherited from regIOobject | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
class for managing incompressible objective functions.
Definition at line 54 of file objectiveManager.H.
objectiveManager | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
const word & | adjointSolverName, | ||
const word & | primalSolverName | ||
) |
Construct from components.
Definition at line 45 of file objectiveManager.C.
References objectiveManager::adjointSolverName(), objectiveManager::adjointSolverName_, IOstream::defaultPrecision(), dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, dictionary::get(), TimePaths::globalPath(), Foam::Info, splitCell::master(), objectiveManager::mesh_, Time::New(), Foam::nl, objectiveManager::objectives_, objectiveManager::primalSolverName(), Foam::setw(), UList< T >::size(), dictionary::subDict(), fvMesh::time(), IOobject::time(), Time::timeName(), and objectiveManager::weigthedObjectiveFile_.
|
virtualdefault |
Destructor.
TypeName | ( | "objectiveManager" | ) |
declareRunTimeSelectionTable | ( | autoPtr | , |
objectiveManager | , | ||
dictionary | , | ||
(const fvMesh &mesh, const dictionary &dict, const word &adjointSolverName, const word &primalSolverName) | , | ||
(mesh, dict, adjointSolverName, primalSolverName) | |||
) |
|
static |
Return a reference to the selected turbulence model.
Definition at line 137 of file objectiveManager.C.
References objectiveManager::adjointSolverName(), dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::get(), mesh, and objectiveManager::primalSolverName().
|
virtual |
Definition at line 171 of file objectiveManager.C.
References dict, objectiveManager::objectives_, and dictionary::subDict().
void updateNormalizationFactor | ( | ) |
Update objective function related values.
Definition at line 185 of file objectiveManager.C.
References objectiveManager::objectives_.
Referenced by objectiveManager::updateAndWrite().
void update | ( | ) |
Update objective function related values.
Definition at line 198 of file objectiveManager.C.
References objectiveManager::objectives_.
Referenced by objectiveManager::updateAndWrite().
void updateOrNullify | ( | ) |
Update contributions to adjoint if true, otherwise return nulls.
Definition at line 208 of file objectiveManager.C.
References objectiveManager::objectives_.
void incrementIntegrationTimes | ( | const scalar | timeSpan | ) |
Increment integration times by the optimisation cycle time-span.
Definition at line 225 of file objectiveManager.C.
References objectiveManager::objectives_.
scalar print | ( | ) |
Print to screen.
Definition at line 236 of file objectiveManager.C.
References objectiveManager::adjointSolverName_, Foam::endl(), Foam::Info, Foam::nl, objectiveManager::objectives_, and Foam::Zero.
Referenced by adjointSolverManager::constraintValues(), adjointSolverManager::objectiveValue(), seriesWriter::print(), IFstream::print(), OFstream::print(), ISstream::print(), OSstream::print(), prefixOSstream::print(), IStringStream::print(), OStringStream::print(), OTstream::print(), sampledDistanceSurface::print(), sampledCuttingSurface::update(), and objectiveManager::updateAndWrite().
Write objective function history.
Definition at line 255 of file objectiveManager.C.
References IOstream::defaultPrecision(), Foam::endl(), objectiveManager::mesh_, objectiveManager::objectives_, Foam::setw(), fvMesh::time(), Time::timeName(), and objectiveManager::weigthedObjectiveFile_.
Referenced by objectiveManager::updateAndWrite().
void updateAndWrite | ( | ) |
Call all functions required prior to the solution of the adjoint equations
Definition at line 287 of file objectiveManager.C.
References objectiveManager::print(), objectiveManager::update(), objectiveManager::updateNormalizationFactor(), and objectiveManager::writeObjectives().
Return reference to objective functions.
Definition at line 296 of file objectiveManager.C.
References objectiveManager::objectives_.
Referenced by shapeSensitivities::accumulateDirectSensitivityIntegrand(), FIBase::accumulateIntegrand(), sensitivitySurface::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), sensitivitySurface::addGeometricSens(), boundaryAdjointContributionIncompressible::adjointTMVariable1Source(), boundaryAdjointContributionIncompressible::adjointTMVariable2Source(), boundaryAdjointContributionIncompressible::dJdGradU(), boundaryAdjointContributionIncompressible::dJdnut(), boundaryAdjointContributionIncompressible::energySource(), incompressiblePrimalSolver::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::normalVelocitySource(), boundaryAdjointContributionIncompressible::pressureSource(), boundaryAdjointContributionIncompressible::tangentVelocitySource(), and boundaryAdjointContributionIncompressible::velocitySource().
Return constant reference to objective functions.
Definition at line 302 of file objectiveManager.C.
References objectiveManager::objectives_.
const word & adjointSolverManagerName | ( | ) | const |
Return name of adjointSolverManager.
const word & adjointSolverName | ( | ) | const |
Return name of the adjointSolver.
Definition at line 308 of file objectiveManager.C.
References objectiveManager::adjointSolverName_.
Referenced by adjointSpalartAllmaras::distanceSensitivities(), objectiveManager::New(), and objectiveManager::objectiveManager().
const word & primalSolverName | ( | ) | const |
Return name of the primalSolver.
Definition at line 314 of file objectiveManager.C.
References objectiveManager::primalSolverName_.
Referenced by objectiveManager::New(), and objectiveManager::objectiveManager().
void checkIntegrationTimes | ( | ) | const |
Check integration times for unsteady runs.
Definition at line 320 of file objectiveManager.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and objectiveManager::objectives_.
|
pure virtual |
Add contribution to adjoint momentum PDEs.
Implemented in objectiveManagerIncompressible.
|
pure virtual |
Add contribution to adjoint momentum PDEs.
Implemented in objectiveManagerIncompressible.
|
pure virtual |
Add contribution to first adjoint turbulence model PDE.
Implemented in objectiveManagerIncompressible.
Referenced by adjointkOmegaSST::correct(), and adjointSpalartAllmaras::correct().
|
pure virtual |
Add contribution to second adjoint turbulence model PDE.
Implemented in objectiveManagerIncompressible.
Referenced by adjointkOmegaSST::correct().
Pure virtual writeData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 191 of file objectiveManager.H.
|
protected |
Definition at line 62 of file objectiveManager.H.
Referenced by objectiveManager::objectiveManager(), and objectiveManager::writeObjectives().
|
protected |
Definition at line 63 of file objectiveManager.H.
|
protected |
Definition at line 64 of file objectiveManager.H.
Referenced by objectiveManager::adjointSolverName(), objectiveManager::objectiveManager(), and objectiveManager::print().
|
protected |
Definition at line 65 of file objectiveManager.H.
Referenced by objectiveManager::primalSolverName().
Definition at line 66 of file objectiveManager.H.
Referenced by objectiveManagerIncompressible::addPaEqnSource(), objectiveManagerIncompressible::addTMEqn1Source(), objectiveManagerIncompressible::addTMEqn2Source(), objectiveManagerIncompressible::addUaEqnSource(), objectiveManager::checkIntegrationTimes(), objectiveManager::getObjectiveFunctions(), objectiveManager::incrementIntegrationTimes(), objectiveManager::objectiveManager(), objectiveManager::print(), objectiveManager::readDict(), objectiveManager::update(), objectiveManager::updateNormalizationFactor(), objectiveManager::updateOrNullify(), and objectiveManager::writeObjectives().
Definition at line 67 of file objectiveManager.H.
Referenced by objectiveManager::objectiveManager(), and objectiveManager::writeObjectives().