Class for managing adjoint solvers, which may be more than one per operating point. More...
#include <adjointSolverManager.H>


Public Member Functions | |
| TypeName ("adjointSolverManager") | |
| adjointSolverManager (fvMesh &mesh, autoPtr< designVariables > &designVars, const word &managerType, const dictionary &dict, bool overrideUseSolverName) | |
| Construct from components. | |
| virtual | ~adjointSolverManager ()=default |
| Destructor. | |
| bool | readDict (const dictionary &dict) |
| const word & | managerName () const |
| Const access to the manager name. | |
| const word & | primalSolverName () const |
| Const access to the primal solver name. | |
| const dictionary & | dict () const |
| Const access to the construction dictionary. | |
| const PtrList< adjointSolver > & | adjointSolvers () const |
| Const access to adjoint solvers. | |
| PtrList< adjointSolver > & | adjointSolvers () |
| Non-const access to adjoint solvers. | |
| wordList | adjointSolversNames () const |
| Return the names of all adjointSolvers. | |
| scalar | operatingPointWeight () const |
| Const access to adjoint solvers. | |
| label | nActiveAdjointSolvers () const |
| Return number of active adjoint solvers, either corresponding. | |
| label | nConstraints () const |
| Number of constraints. | |
| label | nOneSidedConstraints () const |
| Number of adjoint solvers corresponding to one-sided constraints. | |
| label | nDoubleSidedConstraints () const |
| Number of adjoint solvers corresponding to double-sided constraints. | |
| label | nObjectives () const |
| Number of adjoint solvers corresponding to objectives. | |
| label | nAdjointSolvers () const |
| Total number of adjoint solvers. | |
| void | solveAdjointEquations () |
| Update objective function-related values and solve adjoint equations. | |
| tmp< scalarField > | aggregateSensitivities () |
| Aggregate sensitivities from various adjoint solvers. | |
| PtrList< scalarField > | constraintSensitivities () |
| Get constraint sensitivities. One scalarField per constraint. | |
| void | computeAllSensitivities () |
| Compute sensitivities for all adjoint solvers (both objective- and constraint-related ones). | |
| void | clearSensitivities () |
| Clear sensitivity fields from all adjoint solvers. | |
| scalar | objectiveValue () |
| Get objective value. | |
| tmp< scalarField > | constraintValues () |
| Get constraint values. | |
| void | updatePrimalBasedQuantities (const word &name) |
| Update fields related to primal solution. | |
| bool | isMaster () const |
| Whether the primal solver corresponding to the adjointSolverManager is the master one, in case of coupled solvers. | |
| virtual bool | writeData (Ostream &) const |
| Pure virtual writeData function. | |
| Public Member Functions inherited from regIOobject | |
| void | operator= (const regIOobject &)=delete |
| No copy assignment. | |
| TypeName ("regIOobject") | |
| Runtime type information. | |
| 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). | |
| regIOobject (const regIOobject &rio) | |
| Copy construct. | |
| regIOobject (const regIOobject &rio, bool registerCopy) | |
| Copy construct, transferring registry registration to the copy if registerCopy is true. | |
| regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
| Copy construct with new name, transferring registry registration to the copy if registerCopy is true. | |
| regIOobject (const IOobject &io, const regIOobject &rio) | |
| Copy construct with new IO parameters. | |
| virtual | ~regIOobject () |
| Destructor. | |
| bool | checkIn () |
| Add object to registry, if not already registered. | |
| bool | checkOut () |
| Remove object from registry, and remove all file watches. | |
| virtual void | addWatch () |
| Add file watch on object (if registered and READ_IF_MODIFIED). | |
| 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. | |
| bool | ownedByRegistry () const noexcept |
| Is this object owned by the registry? | |
| bool | store () |
| Register object with its registry and transfer ownership to the registry. | |
| void | release (const bool unregister=false) noexcept |
| Set object as not ownedByRegistry. | |
| label | eventNo () const noexcept |
| Event number at last update. | |
| label & | eventNo () noexcept |
| Event number at last update. | |
| bool | upToDate (const regIOobject &) const |
| Return true if up-to-date with respect to given object. | |
| bool | upToDate (const regIOobject &, const regIOobject &) const |
| Return true if up-to-date with respect to given objects. | |
| bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
| Return true if up-to-date with respect to given objects. | |
| bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
| Return true if up-to-date with respect to given objects. | |
| void | setUpToDate () |
| Set as up-to-date. | |
| virtual void | rename (const word &newName) |
| Rename. | |
| const dictionary * | findMetaData () const noexcept |
| Return pointer to meta-data or nullptr. | |
| dictionary & | getMetaData () noexcept |
| Get or create meta-data. | |
| void | removeMetaData () |
| Remove meta-data. | |
| virtual void | updateMetaData () |
| Update internal meta-data (eg, prior to writing). | |
| virtual fileName | filePath () const |
| Return complete path + object name if the file exists. | |
| bool | headerOk () |
| Read and check header info. Does not check the headerClassName. | |
| Istream & | readStream (const word &, const bool readOnProc=true) |
| Return Istream and check object type against that given. | |
| void | close () |
| Close Istream. | |
| virtual bool | readData (Istream &) |
| Virtual readData function. | |
| virtual bool | read () |
| Read object. | |
| virtual label | addWatch (const fileName &) |
| Add file watch for fileName on object if not yet watched. | |
| const labelList & | watchIndices () const noexcept |
| Read access to file-monitoring handles. | |
| labelList & | watchIndices () noexcept |
| Write access to file-monitoring handles. | |
| virtual bool | modified () const |
| Return true if the object's file (or files for objectRegistry) have been modified. (modified state is cached by Time). | |
| virtual bool | readIfModified () |
| Read object if modified (as set by call to modified). | |
| virtual bool | writeObject (IOstreamOption streamOpt, const bool writeOnProc) const |
| Write using stream options. | |
| virtual bool | write (const bool writeOnProc=true) const |
| Write using setting from DB. | |
| virtual bool | global () const |
| Is object global. | |
| void | operator= (const IOobject &io) |
| Copy assignment. | |
| virtual bool | writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp, const bool writeOnProc) const |
| Write using given format, version and compression. | |
| Public Member Functions inherited from IOobject | |
| TypeName ("IOobject") | |
| Declare type-name, virtual type (with debug switch). | |
| IOobject (const IOobject &)=default | |
| Copy construct. | |
| virtual | ~IOobject ()=default |
| Destructor. | |
| IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
| Construct from name, instance, registry, io options. | |
| IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
| Construct from name, instance, local, registry, io options. | |
| IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
| Construct from path, registry, io options. | |
| IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
| Construct from name, instance, registry, io options. | |
| IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
| Construct from name, instance, local, registry, io options. | |
| IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
| Construct from path, registry, io options. | |
| IOobject (const IOobject &io, const objectRegistry ®istry) | |
| Copy construct, resetting registry. | |
| IOobject (const IOobject &io, const word &name) | |
| Copy construct, resetting name. | |
| IOobject (const IOobject &io, const word &name, const fileName &local) | |
| Copy construct, resetting name and local component. | |
| IOobject (const IOobject &io, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt) | |
| Copy construct, resetting read/write options. | |
| IOobject (const IOobject &io, IOobjectOption::registerOption regOpt) | |
| Copy construct, resetting register option. | |
| autoPtr< IOobject > | clone () const |
| Clone. | |
| autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
| Clone resetting registry. | |
| const objectRegistry & | db () const noexcept |
| Return the local objectRegistry. | |
| const Time & | time () const noexcept |
| Return Time associated with the objectRegistry. | |
| const word & | name () const noexcept |
| Return the object name. | |
| const word & | headerClassName () const noexcept |
| Return name of the class name read from header. | |
| word & | headerClassName () noexcept |
| Modifiable access to the class name read from header. | |
| const string & | note () const noexcept |
| Return the optional note. | |
| string & | note () noexcept |
| Modifiable access to the optional note. | |
| unsigned | labelByteSize () const noexcept |
| The sizeof (label) in bytes, possibly read from the header. | |
| unsigned | scalarByteSize () const noexcept |
| The sizeof (scalar) in bytes, possibly read from the header. | |
| void | resetHeader (const word &newName=word::null) |
| Clear various bits (headerClassName, note, sizeof...) that would be obtained when reading from a file. | |
| bool | hasHeaderClass () const noexcept |
| True if headerClassName() is non-empty (after reading). | |
| bool | isHeaderClass (const word &expectedType) const |
| Check if headerClassName() equals the expected type. Always true if the expected type is empty. | |
| template<class Type> | |
| bool | isHeaderClass () const |
Check if headerClassName() equals Type::typeName Always true for a void type. | |
| word | group () const |
| Return group (extension part of name). | |
| word | member () const |
| Return member (name without the extension). | |
| const fileName & | rootPath () const noexcept |
| Return the Time::rootPath(). | |
| const fileName & | caseName () const noexcept |
| Return the Time::caseName(). | |
| const fileName & | globalCaseName () const noexcept |
| Return the Time::globalCaseName(). | |
| const fileName & | caseName (IOobjectOption::Layout) const noexcept |
| Return the Time::caseName() - normal or global. | |
| const fileName & | instance () const noexcept |
| Read access to instance path component. | |
| fileName & | instance () noexcept |
| Modifiable access to instance path component. | |
| scalar | instanceValue () const |
| Return the scalar value of the instance component (or 0), which often corresponds to a time index/value. | |
| const fileName & | local () const noexcept |
| Read access to local path component. | |
| fileName & | local () noexcept |
| Modifiable access to the local path component. | |
| fileName | path () const |
| The complete path for the object (with instance, local,...). | |
| fileName | globalPath () const |
| The complete global path for the object (with instance, local,...). | |
| fileName | path (IOobjectOption::Layout) const |
| The complete path (normal or global) for the object. | |
| fileName | path (const word &instance, const fileName &local=fileName::null) const |
| The complete path with alternative instance and local. | |
| fileName | globalPath (const word &instance, const fileName &local=fileName::null) const |
| The complete global path with alternative instance and local. | |
| fileName | path (IOobjectOption::Layout, const word &instance, const fileName &local=fileName::null) const |
| The complete path (normal or global) with alternative instance and local. | |
| fileName | objectPath () const |
| The complete path + object name. | |
| fileName | globalObjectPath () const |
| The complete global path + object name. | |
| fileName | objectPath (IOobjectOption::Layout) const |
| The complete path (normal or global) + object name. | |
| fileName | objectPath (IOobjectOption::Layout, const word &instance) const |
| The complete path (normal or global) + object name with alternative instance. | |
| fileName | objectPath (const word &instance) const |
| The complete path + object name with alternative instance. | |
| fileName | globalObjectPath (const word &instance) const |
| The complete global path + object name with alternative instance. | |
| fileName | objectRelPath () const |
| The object path relative to the case. | |
| fileName | localFilePath (const word &typeName, const bool search=true) const |
| Redirect to fileHandler filePath, searching locally. | |
| fileName | globalFilePath (const word &typeName, const bool search=true) const |
| Redirect to fileHandler filePath, searching up if in parallel. | |
| IOstreamOption | parseHeader (const dictionary &headerDict) |
| Parse 'FoamFile' header contents and set the IOobject characteristics and return the stream characteristics. | |
| bool | readHeader (Istream &is) |
| Read header ('FoamFile' dictionary) and set the IOobject and stream characteristics. | |
| bool | readHeader (dictionary &headerDict, Istream &is) |
| Read header (the 'FoamFile' dictionary) and set the IOobject and stream characteristics. | |
| 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. A void type suppresses trait and type-name checks. | |
| template<class Type, bool Searching> | |
| bool | typeHeaderOk (const bool checkType=true, const bool verbose=true) |
Forwards to single-parameter version with the specified search type. A void type suppresses trait and type-name checks. | |
| template<class Type> | |
| fileName | typeFilePath (const bool search=true) const |
| Call localFilePath or globalFilePath for given type depending on its is_globalIOobject trait. | |
| template<class Type> | |
| void | warnNoRereading () const |
| Helper: warn that type does not support re-reading. | |
| bool | writeHeader (Ostream &os) const |
| Write header with current type(). | |
| bool | writeHeader (Ostream &os, const word &objectType) const |
| Write header with override of type. | |
| void | writeHeader (dictionary &dict, IOstreamOption streamOpt) const |
| Write header into a dictionary with current type() and given output format. | |
| void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
| Write header into a dictionary with override of type and given output format. | |
| bool | good () const noexcept |
| Did last readHeader() succeed? | |
| bool | bad () const noexcept |
| Did last readHeader() fail? | |
| InfoProxy< IOobject > | info () const noexcept |
| Return info proxy, for printing information to a stream. | |
| void | operator= (const IOobject &io) |
| Copy assignment, copies all values (except the registry). | |
| template<class Type> | |
| bool | isHeaderClassName () const |
| Same as isHeaderClass(). | |
| 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. | |
| constexpr | IOobjectOption (readOption rOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
| Construct NO_WRITE with specified read/register options. | |
| constexpr | IOobjectOption (writeOption wOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
| Construct NO_READ with specified write/register options. | |
| constexpr | IOobjectOption (registerOption registerObject, bool globalObject=false) noexcept |
| Construct (NO_READ, NO_WRITE) with specified register option. | |
| constexpr | IOobjectOption (readOption rOpt, writeOption wOpt, bool registerObject, bool globalObject=false) noexcept |
| Construct from components with specified register option as bool. | |
| constexpr | IOobjectOption (bool registerObject, bool globalObject=false) noexcept |
| Construct (NO_READ, NO_WRITE) with specified register option as bool. | |
| readOption | readOpt () const noexcept |
| Get the read option. | |
| readOption | readOpt (readOption opt) noexcept |
| Set the read option. | |
| writeOption | writeOpt () const noexcept |
| Get the write option. | |
| writeOption | writeOpt (writeOption opt) noexcept |
| Set the write option. | |
| bool | registerObject () const noexcept |
| Should objects created with this IOobject be registered? | |
| bool | registerObject (bool on) noexcept |
| Change registration preference. | |
| bool | globalObject () const noexcept |
| True if object is treated the same for all processors. | |
| bool | globalObject (bool on) noexcept |
| Change global-object status. | |
| bool | isAnyRead () const noexcept |
| True if any reading may be required (ie, != NO_READ). | |
| bool | isReadRequired () const noexcept |
| True if (MUST_READ | READ_MODIFIED) bits are set. | |
| bool | isReadOptional () const noexcept |
| True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. | |
| readOption & | readOpt () noexcept |
| Access to the read option. | |
| writeOption & | writeOpt () noexcept |
| Access to the write option. | |
| bool & | registerObject () noexcept |
| Access to the register object option. | |
| bool & | globalObject () noexcept |
| Access to the global object option. | |
Static Public Member Functions | |
| static label | nActiveAdjointSolvers (const dictionary &dict) |
| Static function returning the number of active adjoint. | |
| Static Public Member Functions inherited from regIOobject | |
| template<class Type> | |
| static Type & | store (Type *p) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (std::unique_ptr< Type > &&ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (autoPtr< Type > &ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (autoPtr< Type > &&ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (refPtr< Type > &ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (refPtr< Type > &&ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (tmp< Type > &ptr) |
| Transfer pointer ownership to its registry. | |
| template<class Type> | |
| static Type & | store (tmp< Type > &&ptr) |
| Transfer pointer ownership to its registry. | |
| Static Public Member Functions inherited from IOobject | |
| static bool | bannerEnabled () noexcept |
| Status of output file banner. | |
| static bool | bannerEnabled (bool on) noexcept |
| Enable/disable output file banner. | |
| static bool | fileModificationChecking_masterOnly () noexcept |
| Test fileModificationChecking for master-only. | |
| static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
| Split path into instance, local, name components. | |
| template<class StringType> | |
| static word | groupName (StringType base, const word &group) |
| Create dot-delimited name.group string. | |
| static word | group (const word &name) |
| Return group (extension part of name). | |
| static word | member (const word &name) |
| Return member (name without the extension). | |
| static word | scopedName (const std::string &scope, const word &name) |
| Create scope:name or scope_name string. | |
| static word | scopedName (const std::string &scope, const word &name1, const word &name2) |
| Create scope:name1:name2 or scope_name1_name2 string. | |
| static IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
| Return the IOobject, but also consider an alternative file name. | |
| static Ostream & | writeBanner (Ostream &os, const bool noSyntaxHint=false) |
| Write the standard OpenFOAM file/dictionary banner. | |
| static Ostream & | writeDivider (Ostream &os) |
| Write the standard file section divider. | |
| static Ostream & | writeEndDivider (Ostream &os) |
| Write the standard end file divider. | |
| Static Public Member Functions inherited from IOobjectOption | |
| static bool | isAnyRead (readOption opt) noexcept |
| True if any reading may be required (ie, != NO_READ). | |
| static bool | isReadRequired (readOption opt) noexcept |
| True if (MUST_READ | READ_MODIFIED) bits are set. | |
| static bool | isReadOptional (readOption opt) noexcept |
| True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. | |
| static readOption | lazierRead (readOption opt) noexcept |
| Downgrade readOption optional (LAZY_READ), leaves NO_READ intact. | |
Protected Attributes | |
| fvMesh & | mesh_ |
| dictionary | dict_ |
| const word | managerName_ |
| const word | managerType_ |
| const word | primalSolverName_ |
| PtrList< adjointSolver > | adjointSolvers_ |
| labelList | objectiveSolverIDs_ |
| labelList | oneSidedConstraintSolverIDs_ |
| labelList | doubleSidedConstraintSolverIDs_ |
| scalar | operatingPointWeight_ |
| label | nActiveAdjointSolvers_ |
| autoPtr< designVariables > & | designVars_ |
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 = 1 , timeStampMaster = 3 , inotify = 4 , inotifyMaster = 6 } |
| Enumeration defining the file checking options (time-stamp | inotify) | (all | masterOnly). 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... | |
| enum class | Layout : unsigned char { regular , global } |
| The layout of the case structure. More... | |
| Static Public Attributes inherited from IOobject | |
| static const Enum< fileCheckTypes > | fileCheckTypesNames |
| Names for the fileCheckTypes. | |
| static char | scopeSeparator |
| Character for scoping object names (':' or '_'). | |
| static fileCheckTypes | fileModificationChecking |
| Type of file modification checking. | |
| static float | fileModificationSkew |
| Time skew (seconds) for file modification checks. | |
| static int | maxFileModificationPolls |
| Max number of times to poll for file modification changes. | |
| Protected Member Functions inherited from regIOobject | |
| bool | readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName) |
| Helper: check readOpt flags and read if necessary. | |
| Protected Member Functions inherited from IOobject | |
| void | setBad (const string &s) |
| Set the object state to bad. | |
| 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. | |
| 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. | |
| Static Protected Attributes inherited from regIOobject | |
| static bool | masterOnlyReading = false |
| To flag master-only reading of objects. | |
Class for managing adjoint solvers, which may be more than one per operating point.
Definition at line 50 of file adjointSolverManager.H.
| adjointSolverManager | ( | fvMesh & | mesh, |
| autoPtr< designVariables > & | designVars, | ||
| const word & | managerType, | ||
| const dictionary & | dict, | ||
| bool | overrideUseSolverName ) |
Construct from components.
Definition at line 36 of file adjointSolverManager.C.
References dictionary::add(), adjointSolvers_, designVars_, dict(), dict_, dictName(), doubleSidedConstraintSolverIDs_, Foam::endl(), forAll, Foam::Info, managerName_, managerType_, mesh, mesh_, nActiveAdjointSolvers_, nDoubleSidedConstraints(), adjointSolver::New(), Foam::nl, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, nObjectives(), nOneSidedConstraints(), objectiveSolverIDs_, oneSidedConstraintSolverIDs_, operatingPointWeight_, primalSolverName_, regIOobject::regIOobject(), IOobjectOption::REGISTER, UList< T >::size(), dictionary::subDict(), Foam::system(), IOobject::time(), dictionary::toc(), and WarningInFunction.

|
virtualdefault |
| TypeName | ( | "adjointSolverManager" | ) |
| bool readDict | ( | const dictionary & | dict | ) |
Definition at line 148 of file adjointSolverManager.C.
References adjointSolvers_, dict(), dict_, baseIOdictionary::name(), solver::readDict(), and dictionary::subDict().

| const Foam::word & managerName | ( | ) | const |
Const access to the manager name.
Definition at line 164 of file adjointSolverManager.C.
References managerName_.
| const Foam::word & primalSolverName | ( | ) | const |
Const access to the primal solver name.
Definition at line 170 of file adjointSolverManager.C.
References primalSolverName_.
| const Foam::dictionary & dict | ( | ) | const |
Const access to the construction dictionary.
Definition at line 176 of file adjointSolverManager.C.
References dict_.
Referenced by adjointSolverManager(), nActiveAdjointSolvers(), readDict(), TypeName(), and ~adjointSolverManager().

| const Foam::PtrList< Foam::adjointSolver > & adjointSolvers | ( | ) | const |
Const access to adjoint solvers.
Definition at line 183 of file adjointSolverManager.C.
References adjointSolvers_.
| Foam::PtrList< Foam::adjointSolver > & adjointSolvers | ( | ) |
Non-const access to adjoint solvers.
Definition at line 190 of file adjointSolverManager.C.
References adjointSolvers_.
| Foam::wordList adjointSolversNames | ( | ) | const |
Return the names of all adjointSolvers.
Definition at line 196 of file adjointSolverManager.C.
References adjointSolvers_, forAll, and names.
| Foam::scalar operatingPointWeight | ( | ) | const |
Const access to adjoint solvers.
Definition at line 207 of file adjointSolverManager.C.
References operatingPointWeight_.
| Foam::label nActiveAdjointSolvers | ( | ) | const |
Return number of active adjoint solvers, either corresponding.
to objectives or constraints
Definition at line 213 of file adjointSolverManager.C.
References nActiveAdjointSolvers_.
|
static |
Static function returning the number of active adjoint.
solvers reading dict
Definition at line 219 of file adjointSolverManager.C.
References dict(), forAll, n, dictionary::subDict(), and dictionary::toc().

| Foam::label nConstraints | ( | ) | const |
Number of constraints.
Is the sum of one-sided and double-sided constraints, the latter multiplied by two
Definition at line 241 of file adjointSolverManager.C.
References nDoubleSidedConstraints(), and nOneSidedConstraints().
Referenced by constraintSensitivities(), and constraintValues().


| Foam::label nOneSidedConstraints | ( | ) | const |
Number of adjoint solvers corresponding to one-sided constraints.
Definition at line 247 of file adjointSolverManager.C.
References oneSidedConstraintSolverIDs_.
Referenced by adjointSolverManager(), nAdjointSolvers(), and nConstraints().

| Foam::label nDoubleSidedConstraints | ( | ) | const |
Number of adjoint solvers corresponding to double-sided constraints.
Definition at line 253 of file adjointSolverManager.C.
References doubleSidedConstraintSolverIDs_.
Referenced by adjointSolverManager(), nAdjointSolvers(), and nConstraints().

| Foam::label nObjectives | ( | ) | const |
Number of adjoint solvers corresponding to objectives.
Definition at line 259 of file adjointSolverManager.C.
References objectiveSolverIDs_.
Referenced by adjointSolverManager(), and nAdjointSolvers().

| Foam::label nAdjointSolvers | ( | ) | const |
Total number of adjoint solvers.
Definition at line 265 of file adjointSolverManager.C.
References nDoubleSidedConstraints(), nObjectives(), and nOneSidedConstraints().

| void solveAdjointEquations | ( | ) |
Update objective function-related values and solve adjoint equations.
Definition at line 271 of file adjointSolverManager.C.
References adjointSolvers_, designVars_, mesh_, and solver::solve().

| Foam::tmp< Foam::scalarField > aggregateSensitivities | ( | ) |
Aggregate sensitivities from various adjoint solvers.
Definition at line 295 of file adjointSolverManager.C.
References adjointSolvers_, designVars_, tmp< T >::New(), objectiveSolverIDs_, UList< T >::size(), and Foam::Zero.

| Foam::PtrList< Foam::scalarField > constraintSensitivities | ( | ) |
Get constraint sensitivities. One scalarField per constraint.
Definition at line 319 of file adjointSolverManager.C.
References adjointSolvers_, designVars_, doubleSidedConstraintSolverIDs_, nConstraints(), oneSidedConstraintSolverIDs_, and PtrList< T >::set().

| void computeAllSensitivities | ( | ) |
Compute sensitivities for all adjoint solvers (both objective- and constraint-related ones).
Definition at line 347 of file adjointSolverManager.C.
References adjointSolvers_, and designVars_.
| void clearSensitivities | ( | ) |
Clear sensitivity fields from all adjoint solvers.
Definition at line 356 of file adjointSolverManager.C.
References adjointSolvers_.
| Foam::scalar objectiveValue | ( | ) |
Get objective value.
Definition at line 365 of file adjointSolverManager.C.
References adjointSolvers_, objectiveSolverIDs_, objectiveManager::print(), and Foam::Zero.

| Foam::tmp< Foam::scalarField > constraintValues | ( | ) |
Get constraint values.
Definition at line 379 of file adjointSolverManager.C.
References adjointSolvers_, constraintValues(), doubleSidedConstraintSolverIDs_, nConstraints(), tmp< T >::New(), oneSidedConstraintSolverIDs_, objectiveManager::print(), and Foam::Zero.
Referenced by constraintValues().


| void updatePrimalBasedQuantities | ( | const word & | name | ) |
Update fields related to primal solution.
For instance, primal fields of adjoint turbulence models
Definition at line 405 of file adjointSolverManager.C.
References adjointSolvers_, IOobject::name(), and primalSolverName_.

| bool isMaster | ( | ) | const |
Whether the primal solver corresponding to the adjointSolverManager is the master one, in case of coupled solvers.
Definition at line 417 of file adjointSolverManager.C.
References isMaster(), mesh_, and primalSolverName_.
Referenced by isMaster().


|
inlinevirtual |
Pure virtual writeData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 267 of file adjointSolverManager.H.
|
protected |
Definition at line 73 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), isMaster(), and solveAdjointEquations().
|
protected |
Definition at line 75 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), dict(), and readDict().
|
protected |
Definition at line 77 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), and managerName().
|
protected |
Definition at line 79 of file adjointSolverManager.H.
Referenced by adjointSolverManager().
|
protected |
Definition at line 81 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), isMaster(), primalSolverName(), and updatePrimalBasedQuantities().
|
protected |
Definition at line 83 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), adjointSolvers(), adjointSolvers(), adjointSolversNames(), aggregateSensitivities(), clearSensitivities(), computeAllSensitivities(), constraintSensitivities(), constraintValues(), objectiveValue(), readDict(), solveAdjointEquations(), and updatePrimalBasedQuantities().
|
protected |
Definition at line 85 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), aggregateSensitivities(), nObjectives(), and objectiveValue().
|
protected |
Definition at line 87 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), constraintSensitivities(), constraintValues(), and nOneSidedConstraints().
|
protected |
Definition at line 89 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), constraintSensitivities(), constraintValues(), and nDoubleSidedConstraints().
|
protected |
Definition at line 91 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), and operatingPointWeight().
|
protected |
Definition at line 93 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), and nActiveAdjointSolvers().
|
protected |
Definition at line 95 of file adjointSolverManager.H.
Referenced by adjointSolverManager(), aggregateSensitivities(), computeAllSensitivities(), constraintSensitivities(), and solveAdjointEquations().