Update design variables using the Method of Moving Assymptotes. Can handle inequality constraints. More...
#include <MMA.H>


Public Member Functions | |
| TypeName ("MMA") | |
| Runtime type information. | |
| MMA (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type) | |
| Construct from components. | |
| virtual | ~MMA ()=default |
| Destructor. | |
| void | computeCorrection () |
| Compute design variables correction. | |
| void | solveSubproblem () |
| Solve subproblem using a Newton optimiser. | |
| void | updateValuesAndApproximations () |
| Compute objective/constraint values and their approximations. | |
| const PtrList< scalarField > & | getValuesAndApproximations () const |
| Get objective/constraint values and their approximations. | |
| void | updateRho () |
| Update rho value if needed. | |
| const scalarField & | getRho () const |
| Get rho value if needed. | |
| void | setVariableRho (bool varRho=true) |
| Set variable rho. | |
| bool | converged () |
| Checks convergence of GCMMA. | |
| virtual bool | writeData (Ostream &os) const |
| Write useful quantities to files. | |
| Public Member Functions inherited from constrainedOptimisationMethod | |
| TypeName ("constrainedOptimisationMethod") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, constrainedOptimisationMethod, dictionary,(const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type),(mesh, dict, designVars, nConstraints, type)) | |
| constrainedOptimisationMethod (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type) | |
| Construct from components. | |
| virtual | ~constrainedOptimisationMethod ()=default |
| Destructor. | |
| Public Member Functions inherited from updateMethod | |
| TypeName ("updateMethod") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, updateMethod, dictionary,(const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type),(mesh, dict, designVars, nConstraints, type)) | |
| updateMethod (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints, const word &type) | |
| Construct from components. | |
| virtual | ~updateMethod ()=default |
| Destructor. | |
| dictionary | coeffsDict (const word &type) const |
| Return optional dictionary with parameters specific to each method. | |
| void | setObjectiveDeriv (const scalarField &derivs) |
| Set objective derivative. | |
| void | setConstraintDeriv (const PtrList< scalarField > &derivs) |
| Set constraints derivative. | |
| void | setObjectiveValue (const scalar value) |
| Set objective value. | |
| void | setObjectiveValueOld (const scalar value) |
| Set old objective value. | |
| void | setConstraintValues (const scalarField &values) |
| Set values of constraints. | |
| scalar | getObjectiveValue () const |
| Get objective value. | |
| const autoPtr< scalar > & | getObjectiveValueOld () const |
| Get old objective value. | |
| const scalarField & | getConstraintValues () const |
| Get values of constraints. | |
| label | getCycle () const |
| Get optimisation cycle. | |
| void | setStep (const scalar eta) |
| Set step for optimisation methods. | |
| void | modifyStep (const scalar multiplier) |
| Multiply step. | |
| void | setGlobalSum (const bool useGlobalSum) |
| Set globalSum variable. | |
| void | setConstaintsNumber (const label nConstraints) |
| Set the number of constraints. | |
| label | nConstraints () const |
| Get the number of constraints. | |
| scalarField & | returnCorrection () |
| Return the correction of the design variables. | |
| void | writeCorrection () |
| virtual scalar | computeMeritFunction () |
| Compute merit function. Could be different than the objective in the presence of constraints. | |
| virtual scalar | meritFunctionDirectionalDerivative () |
| Directional derivative of the merit function, in the direction of the correction. Could be different than the objective directional derivative in the presence of constraints. | |
| bool & | initialEtaSet () |
| Return whether initial eta was set. | |
| virtual void | updateOldCorrection (const scalarField &oldCorrection) |
| Update old correction. Useful for quasi-newton methods coupled with line search. | |
| virtual bool | writeAuxiliaryData () |
| Write non-continuation data, usually under the optimisation folder. | |
| Public Member Functions inherited from localIOdictionary | |
| localIOdictionary (const IOobject &io, const dictionary *fallback=nullptr) | |
| Construct given an IOobject and optional fallback dictionary content. | |
| localIOdictionary (const IOobject &io, const dictionary &dict) | |
| Construct given an IOobject and fallback dictionary content. | |
| localIOdictionary (const IOobject &io, const word &wantedType, const dictionary *fallback=nullptr) | |
| Construct given an IOobject, wanted typeName and optional fallback dictionary content. | |
| localIOdictionary (const IOobject &io, Istream &is) | |
| Construct given an IOobject and Istream. | |
| virtual | ~localIOdictionary ()=default |
| Destructor. | |
| virtual bool | global () const |
| The object is not global. | |
| virtual fileName | filePath () const |
| Return complete path + object name if the file exists in the case otherwise null. | |
| Public Member Functions inherited from baseIOdictionary | |
| TypeName ("dictionary") | |
| Declare type-name, virtual type (with debug switch). | |
| baseIOdictionary (const baseIOdictionary &)=default | |
| Copy construct. | |
| baseIOdictionary (baseIOdictionary &&)=default | |
| Move construct. | |
| virtual | ~baseIOdictionary ()=default |
| Destructor. | |
| baseIOdictionary (const IOobject &io, const dictionary *fallback=nullptr) | |
| Construct given an IOobject and optional fallback dictionary content (ununsed). | |
| baseIOdictionary (const IOobject &io, const dictionary &dict) | |
| Construct given an IOobject and fallback dictionary content (ununsed). | |
| baseIOdictionary (const IOobject &io, Istream &is) | |
| Construct given an IOobject and Istream (ununsed). | |
| const word & | name () const |
| Name function is needed to disambiguate those inherited from regIOobject and dictionary. | |
| virtual bool | readData (Istream &) |
| The readData function required by regIOobject read operation. | |
| void | operator= (const baseIOdictionary &rhs) |
| Copy assignment of dictionary entries. | |
| void | operator= (baseIOdictionary &&rhs) |
| Move assignment of dictionary entries. | |
| void | operator= (const dictionary &rhs) |
| Copy assignment of dictionary entries. | |
| 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). | |
| 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 | 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. | |
| 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. | |
| Public Member Functions inherited from dictionary | |
| ClassName ("dictionary") | |
| dictionary () | |
| Default construct, a top-level empty dictionary. | |
| dictionary (const fileName &name) | |
| Construct top-level empty dictionary with given name. | |
| 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. | |
| 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. | |
| dictionary (Istream &is, bool keepHeader) | |
| Construct top-level dictionary from Istream, reading entries until EOF, optionally keeping the header. | |
| dictionary (const dictionary &parentDict, const dictionary &dict) | |
| Copy construct given the parent dictionary. | |
| dictionary (const dictionary &dict) | |
| Copy construct top-level dictionary. | |
| dictionary (const dictionary *dict) | |
| Construct top-level dictionary as copy from pointer to dictionary. | |
| dictionary (const dictionary &parentDict, dictionary &&dict) | |
| Move construct for given parent dictionary. | |
| dictionary (dictionary &&dict) | |
| Move construct top-level dictionary. | |
| autoPtr< dictionary > | clone () const |
| Construct and return clone. | |
| virtual | ~dictionary () |
| Destructor. | |
| const fileName & | name () const noexcept |
| The dictionary name. | |
| fileName & | name () noexcept |
| The dictionary name for modification (use with caution). | |
| word | dictName () const |
| The local dictionary name (final part of scoped name). | |
| fileName | relativeName (const bool caseTag=false) const |
| The dictionary name relative to the case. | |
| bool | isNullDict () const noexcept |
| The dictionary is actually dictionary::null (root dictionary). | |
| const dictionary & | parent () const noexcept |
| Return the parent dictionary. | |
| const dictionary & | topDict () const |
| Return the top of the tree. | |
| label | startLineNumber () const |
| Return line number of first token in dictionary. | |
| label | endLineNumber () const |
| Return line number of last token in dictionary. | |
| SHA1Digest | digest () const |
| Return the SHA1 digest of the dictionary contents. | |
| tokenList | tokens () const |
| Return the dictionary as a list of tokens. | |
| const entry * | findEntry (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find an entry (const access) with the given keyword. | |
| entry * | findEntry (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) |
| Find an entry (non-const access) with the given keyword. | |
| bool | found (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find an entry (const access) with the given keyword. | |
| const entry * | findScoped (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Search for a scoped entry (const access) with the given keyword. | |
| const dictionary * | findDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find and return a sub-dictionary pointer if present (and it is a dictionary) otherwise return nullptr. | |
| dictionary * | findDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) |
| Find and return a sub-dictionary pointer if present (and it is a dictionary) otherwise return nullptr. | |
| ITstream * | findStream (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find and return an entry stream if present (and it is a stream) otherwise return nullptr. | |
| const entry & | lookupEntry (const word &keyword, enum keyType::option matchOpt) const |
| Search for an entry (const access) with the given keyword. | |
| ITstream & | lookup (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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| const dictionary & | subDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find and return a sub-dictionary. | |
| dictionary & | subDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) |
| Find and return a sub-dictionary for manipulation. | |
| dictionary & | subDictOrAdd (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) |
| Find and return a sub-dictionary for manipulation. | |
| 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. | |
| const dictionary & | optionalSubDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Find and return a sub-dictionary, otherwise return this dictionary. | |
| wordList | toc () const |
| Return the table of contents. | |
| wordList | sortedToc () const |
| Return the sorted table of contents. | |
| template<class Compare> | |
| wordList | sortedToc (const Compare &comp) const |
| Return table of contents sorted using the specified comparator. | |
| List< keyType > | keys (bool patterns=false) const |
| Return the list of available keys or patterns. | |
| bool | substituteKeyword (const word &keyword, bool mergeEntry=false) |
| Substitute the given keyword (which is prefixed by '$'). | |
| bool | substituteScopedKeyword (const word &keyword, bool mergeEntry=false) |
| Substitute the given scoped keyword (which is prefixed by '$'). | |
| entry * | add (entry *entryPtr, bool mergeEntry=false) |
| Add a new entry. | |
| entry * | add (const entry &e, bool mergeEntry=false) |
| Add an entry. | |
| entry * | add (const keyType &k, const word &v, bool overwrite=false) |
| Add a word entry. | |
| entry * | add (const keyType &k, const string &v, bool overwrite=false) |
| Add a string entry. | |
| entry * | add (const keyType &k, const label v, bool overwrite=false) |
| Add a label entry. | |
| entry * | add (const keyType &k, const scalar v, bool overwrite=false) |
| Add a scalar entry. | |
| entry * | add (const keyType &k, const dictionary &d, bool mergeEntry=false) |
| Add a dictionary entry. | |
| template<class T> | |
| entry * | add (const keyType &k, const T &v, bool overwrite=false) |
| Add a T entry. | |
| entry * | set (entry *entryPtr) |
| Assign a new entry, overwriting any existing entry. | |
| entry * | set (const entry &e) |
| Assign a new entry, overwriting any existing entry. | |
| entry * | set (const keyType &k, const dictionary &v) |
| Assign a dictionary entry, overwriting any existing entry. | |
| entry * | set (const keyType &k, std::nullptr_t) |
| Assign an empty primitive entry, overwriting any existing entry. | |
| entry * | set (const keyType &k, const UList< token > &tokens) |
| Assign a primitive entry from a list of tokens, overwriting any existing entry. | |
| entry * | set (const keyType &k, List< token > &&tokens) |
| Assign a primitive entry from a list of tokens, overwriting any existing entry. | |
| template<class T> | |
| entry * | set (const keyType &k, const T &v) |
| Assign a T entry, overwriting any existing entry. | |
| bool | remove (const word &keyword) |
| Remove an entry specified by keyword. | |
| bool | changeKeyword (const keyType &oldKeyword, const keyType &newKeyword, bool overwrite=false) |
| Change the keyword for an entry,. | |
| bool | merge (const dictionary &dict) |
| Merge entries from the given dictionary. | |
| void | clear () |
| Clear the dictionary. | |
| void | transfer (dictionary &dict) |
| Transfer the contents of the argument and annul the argument. | |
| 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. | |
| 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. | |
| 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. | |
| void | writeEntry (Ostream &os) const |
| Write sub-dictionary with its dictName as its header. | |
| void | writeEntry (const keyType &keyword, Ostream &os) const |
| Write sub-dictionary with the keyword as its header. | |
| void | writeEntries (Ostream &os, const bool extraNewLine=false) const |
| Write dictionary entries. | |
| void | write (Ostream &os, const bool subDict=true) const |
| Write dictionary, normally with sub-dictionary formatting. | |
| const_searcher | csearch (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Search dictionary for given keyword. | |
| const_searcher | search (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Search dictionary for given keyword. | |
| searcher | search (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) |
| Search dictionary for given keyword. | |
| const_searcher | csearchScoped (const word &keyword, enum keyType::option matchOpt) const |
| Search using scoping. | |
| const_searcher | searchScoped (const word &keyword, enum keyType::option matchOpt) const |
| Search using dot or slash scoping. | |
| searcher | searchScoped (const word &keyword, enum keyType::option matchOpt) |
| Search using dot or slash scoping. | |
| const dictionary * | cfindScopedDict (const fileName &dictPath) const |
| Locate a sub-dictionary using slash-scoping. | |
| const dictionary * | findScopedDict (const fileName &dictPath) const |
| Locate a sub-dictionary using slash-scoping. | |
| dictionary * | findScopedDict (const fileName &dictPath) |
| Locate a sub-dictionary using slash-scoping. | |
| dictionary * | makeScopedDict (const fileName &dictPath) |
| Locate existing or create sub-dictionary using slash-scoping. | |
| 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. | |
| const entry * | findCompat (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. | |
| 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. | |
| const entry & | lookupEntryCompat (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. | |
| ITstream & | lookupCompat (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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| void | operator= (const dictionary &rhs) |
| Copy assignment. | |
| void | operator+= (const dictionary &rhs) |
| Include entries from the given dictionary. | |
| void | operator|= (const dictionary &rhs) |
| Conditionally include entries from the given dictionary. | |
| void | operator<<= (const dictionary &rhs) |
| Unconditionally include entries from the given dictionary. | |
| bool | getBool (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<bool>(const word&, keyType::option). | |
| label | getLabel (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<label>(const word&, keyType::option). | |
| scalar | getScalar (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<scalar>(const word&, keyType::option). | |
| string | getString (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<string>(const word&, keyType::option). | |
| word | getWord (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<word>(const word&, keyType::option). | |
| fileName | getFileName (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as get<fileName>(const word&, keyType::option). | |
| bool | isDict (const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const |
| Check for existence of a sub-dictionary. Generally prefer findDict() for more flexibility. | |
| template<class T> | |
| T | lookupOrDefault (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const |
| Same as getOrDefault(). | |
| template<class T> | |
| T | lookupOrAddDefault (const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) |
| Same as getOrAdd(). | |
| ITstream & | operator[] (const word &keyword) const |
| Deprecated(2018-07) - use lookup() method. | |
| bool | found (const word &keyword, bool recursive, bool patternMatch=true) const |
| Deprecated(2018-10). | |
| entry * | lookupEntryPtr (const word &keyword, bool recursive, bool patternMatch) |
| Deprecated(2018-10). | |
| const entry * | lookupEntryPtr (const word &keyword, bool recursive, bool patternMatch) const |
| Deprecated(2018-10). | |
| const entry * | lookupScopedEntryPtr (const word &keyword, bool recursive, bool patternMatch) const |
| Deprecated(2018-10). | |
| const dictionary * | subDictPtr (const word &keyword) const |
| Deprecated(2018-10). | |
| dictionary * | subDictPtr (const word &keyword) |
| Deprecated(2018-10) Find and return a sub-dictionary pointer if present. | |
| const entry & | lookupEntry (const word &keyword, bool recursive, bool patternMatch) const |
| Deprecated(2018-10). | |
| ITstream & | lookup (const word &keyword, bool recursive, bool patternMatch=true) const |
| Deprecated(2018-10). | |
| template<class T> | |
| T | lookupOrDefault (const word &keyword, const T &deflt, bool recursive, bool patternMatch=true) const |
| Deprecated(2018-10). | |
| template<class T> | |
| T | lookupOrAddDefault (const word &keyword, const T &deflt, bool recursive, bool patternMatch=true) |
| Deprecated(2018-10). | |
| template<class T> | |
| bool | readIfPresent (const word &keyword, T &val, bool recursive, bool patternMatch=true) const |
| Deprecated(2018-10). | |
| template<class T> | |
| T | lookupType (const word &keyword, bool recursive=false, bool patternMatch=true) const |
| Deprecated(2018-10) find and return a T. | |
| template<class Compare> | |
| Foam::wordList | sortedToc (const Compare &comp) const |
| template<class T> | |
| Foam::entry * | add (const keyType &k, const T &v, bool overwrite) |
| template<class T> | |
| Foam::entry * | set (const keyType &k, const T &v) |
| Public Member Functions inherited from ILList< DLListBase, T > | |
| ILList ()=default | |
| Default construct. | |
| ILList (T *item) | |
| Construct and add initial item pointer. | |
| ILList (Istream &is) | |
| Construct from Istream. | |
| ILList (const ILList< DLListBase, T > &lst) | |
| Copy construct using the 'clone()' method for each element. | |
| ILList (ILList< DLListBase, T > &&lst) | |
| Move construct. | |
| ILList (const ILList< DLListBase, T > &lst, const CloneArg &cloneArg) | |
| Copy constructor with additional argument for clone 'clone()'. | |
| ILList (Istream &is, const INew &inew) | |
| Construct from Istream using given Istream constructor class. | |
| ~ILList () | |
| Destructor. Calls clear(). | |
| void | clear () |
| Clear the contents of the list. | |
| void | pop_front (label n=1) |
| Remove first element(s) from the list (deletes pointers). | |
| bool | erase (T *item) |
| Remove the specified element from the list and delete it. | |
| void | transfer (ILList< DLListBase, T > &lst) |
| Transfer the contents of the argument into this List and annul the argument list. | |
| void | operator= (const ILList< DLListBase, T > &lst) |
| Copy assignment using the 'clone()' method for each element. | |
| void | operator= (ILList< DLListBase, T > &&lst) |
| Move assignment. | |
| Public Member Functions inherited from UILList< DLListBase, T > | |
| UILList ()=default | |
| Default construct. | |
| UILList (T *item) | |
| Construct and add initial item pointer. | |
| UILList (const UILList< DLListBase, T > &list) | |
| Construct as copy. | |
| T * | front () |
| The first entry in the list. | |
| const T * | front () const |
| The first entry in the list (const access). | |
| T * | back () |
| The last entry in the list. | |
| const T * | back () const |
| The last entry in the list (const access). | |
| T * | removeHead () |
| Remove and return head. | |
| T * | remove (T *item) |
| Remove and return element. | |
| T * | remove (iterator &iter) |
| Remove and return item specified by iterator. | |
| void | operator= (const UILList< DLListBase, T > &lst) |
| Copy assignment. | |
| bool | operator== (const UILList< DLListBase, T > &lst) const |
| Equality. True both lists are element-wise equal. | |
| bool | operator!= (const UILList< DLListBase, T > &lst) const |
| The opposite of the equality operation. Takes linear time. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write UILList with line-breaks when length exceeds shortLen. | |
| iterator | begin () |
| Iterator to first item in list with non-const access. | |
| const_iterator | cbegin () const |
| Iterator to first item in list with const access. | |
| reverse_iterator | rbegin () |
| Iterator to last item in list with non-const access. | |
| const_reverse_iterator | crbegin () const |
| Iterator to last item in list with const access. | |
| const_iterator | begin () const |
| Iterator to first item in list with const access. | |
| const_reverse_iterator | rbegin () const |
| Iterator to last item in list with const access. | |
| const iterator & | end () |
| End of list for forward iterators. | |
| const const_iterator & | cend () const |
| End of list for forward iterators. | |
| const reverse_iterator & | rend () |
| End of list for reverse iterators. | |
| const const_reverse_iterator & | crend () const |
| End of list for reverse iterators. | |
| const const_iterator & | end () const |
| End of list for forward iterators. | |
| const const_reverse_iterator & | rend () const |
| End of list for reverse iterators. | |
| T * | first () |
| The first entry in the list. | |
| const T * | first () const |
| The first entry in the list (const access). | |
| T * | last () |
| The last entry in the list. | |
| const T * | last () const |
| The last entry in the list (const access). | |
| Public Member Functions inherited from DLListBase | |
| DLListBase ()=default | |
| Default construct. | |
| DLListBase (const DLListBase &)=delete | |
| No copy construct. | |
| void | operator= (const DLListBase &)=delete |
| No copy assignment. | |
| ~DLListBase ()=default | |
| Destructor. | |
| bool | empty () const noexcept |
| True if the list is empty. | |
| label | size () const noexcept |
| The number of elements in list. | |
| link * | front () |
| Return first entry. | |
| const link * | front () const |
| Return const access to first entry. | |
| link * | back () |
| Return last entry. | |
| const link * | back () const |
| Return const access to last entry. | |
| void | push_front (link *item) |
| Add at front of list. | |
| void | push_back (link *item) |
| Add at back of list. | |
| bool | swapUp (link *item) |
| Swap this element with the one above unless it is at the top. | |
| bool | swapDown (link *item) |
| Swap this element with the one below unless it is at the bottom. | |
| link * | removeHead () |
| Remove and return first entry. | |
| link * | remove (link *item) |
| Remove and return element. | |
| link * | remove (iterator &iter) |
| Remove and return element specified by iterator. | |
| link * | replace (link *oldLink, link *newLink) |
| Replace oldLink with newLink and return element. | |
| link * | replace (iterator &oldIter, link *newitem) |
| Replace oldIter with newItem and return element. | |
| void | clear () |
| Clear the list. | |
| void | swap (DLListBase &lst) |
| Swap the contents of the list. | |
| void | transfer (DLListBase &lst) |
| Transfer the contents of the argument into this list and annul the argument list. | |
| iterator | begin () |
| Iterator to first item in list with non-const access. | |
| const_iterator | cbegin () const |
| Iterator to first item in list with const access. | |
| const_iterator | crbegin () const |
| Iterator to last item in list with const access. | |
| const iterator & | end () |
| End of list for iterators. | |
| const const_iterator & | cend () const |
| End of list for iterators. | |
| const const_iterator & | crend () const |
| End of list for reverse iterators. | |
| link * | first () |
| Return first entry. | |
| const link * | first () const |
| Return const access to first entry. | |
| link * | last () |
| Return last entry. | |
| const link * | last () const |
| Return const access to last entry. | |
| void | prepend (link *item) |
| Add at front of list. | |
| void | append (link *item) |
| Add at back of list. | |
Protected Member Functions | |
| void | updateSizes () |
| Update sizes of fields related to the active design variables. | |
| void | initializeRho () |
| Initialize rho constants in the (p, q) functions. | |
| void | updateBounds () |
| Update the bounds associated with the design variables. | |
| void | initialize () |
| Allocate fields related to constraints. | |
| void | storeOldValues () |
| Store old objcective and constraint values. | |
| tmp< scalarField > | p (const scalarField &derivs, const scalar r, const scalarField &x) |
| p and q functions, used to approximate the objective and contraints | |
| tmp< scalarField > | p (const scalarField &derivs, const scalar r) |
| tmp< scalarField > | q (const scalarField &derivs, const scalar r, const scalarField &x) |
| tmp< scalarField > | q (const scalarField &derivs, const scalar r) |
| tmp< scalarField > | gConstr (const scalarField &vars) |
| g of all constraint functions | |
| tmp< scalarField > | b () |
| The rhs of the contraint approximations. | |
| tmp< scalarField > | pLamda () |
| p and q functions, using the dual lamda | |
| tmp< scalarField > | qLamda () |
| void | zeroUpdates () |
| Zero the updates computed in the previous optimisation cycle. | |
| scalar | fTilda (const scalarField &xInit, const scalarField &x, const scalar f, const scalarField &dfdx, const scalar rho) |
| Computation of the approximate function. | |
| tmp< scalarField > | getOrDefaultScalarField (const word &name, const label size, const scalar value=Zero) |
| Read in scalarField from self (potentially in binary), or allocate field with the size of the active design variables and given value. | |
| void | setOrDefaultScalarField (scalarField &field, const word &name, const label size, const scalarField &defaultField) |
| Read in scalarField from self (potentially in binary), or allocate field with the size of the active design variables and given value. | |
| void | computeNewtonDirection () |
| Compute direction for the Newton problem. | |
| scalar | lineSearch () |
| Perform line search and return max residual corresponding to the updated solution. | |
| void | updateSolution (const scalar step) |
| Update the current solution using the known direction and the given step length. | |
| void | adjustStep (scalar &step, const scalar value, const scalar update) |
| Adjust step to satisfy cireteria. | |
| tmp< scalarField > | computeResiduals () |
| Compute and return residuals based on the current solution. | |
| void | normalise () |
| Normalise the objective and constraints if necessary. | |
| Protected Member Functions inherited from updateMethod | |
| const scalarField | leftMult (const scalarField &, const SquareMatrix< scalar > &) |
| const scalarField | rightMult (const SquareMatrix< scalar > &, const scalarField &) |
| SquareMatrix< scalar > | outerProd (const scalarField &, const scalarField &) |
| SquareMatrix< scalar > | inv (SquareMatrix< scalar > A) |
| scalar | globalSum (const scalarField &field) |
| Compute either global or local sum, based on globalSum flag. | |
| scalar | globalSum (tmp< scalarField > &tfield) |
| Compute either global or local sum, based on globalSum flag. | |
| label | globalSum (const label) |
| Compute either global or local sum, based on globalSum flag. | |
| tmp< scalarField > | readOrZeroField (const word &name, const label size) |
| Helper function to either read a scalarField of certain size from a dictionary, or construct a zero field. | |
| 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. | |
| Protected Member Functions inherited from DLListBase | |
| template<class IteratorType> | |
| IteratorType | iterator_first () const |
| Return iterator to first item or end-iterator if list is empty. | |
| template<class IteratorType> | |
| IteratorType | iterator_last () const |
| Return iterator to last item or end-iterator if list is empty. | |
Protected Attributes | |
| scalarField | x0_ |
| The previous design variables. Used to compute new bounds. | |
| scalarField | x00_ |
| The twice previous design variables. Used to compute new bounds. | |
| scalarField | xNew_ |
| The set of design variables being updated during the subproblem. | |
| scalar | oldObjectiveValue_ |
| Old objective value. | |
| scalarField | oldCValues_ |
| Old constraint values. | |
| PtrList< scalarField > | valsAndApproxs_ |
| Objective/Constraint values and approximations in the new point. | |
| scalar | z_ |
| Second term in the approximation function. | |
| scalar | alpha0_ |
| Term multiplying z in the objective function. | |
| scalarField | alpha_ |
| Terms multyplying z in the constraint functions. | |
| scalarField | y_ |
| y in the constraints functions | |
| autoPtr< Function1< scalar > > | c_ |
| y multipliers in the objective function | |
| scalarField | d_ |
| y^2 multipliers in the objective function | |
| scalarField | lower_ |
| Lower design variables asymptotes. | |
| scalarField | upper_ |
| Upper design variables asymptotes. | |
| scalarField | a_ |
| Lower design variables constraints. | |
| scalarField | b_ |
| Upper design variables constraints. | |
| scalarField | rho_ |
| Constants in the (p,q) functions. | |
| bool | boundRho_ |
| Bound the rho value with an upper value? | |
| bool | correctDVs_ |
| Correct the design variables. | |
| scalarField | lamda_ |
| Constraint Lagrange multipliers. | |
| scalarField | ksi_ |
| Lagrange multipliers for the lower limits constraints. | |
| scalarField | Eta_ |
| Lagrange multipliers for the upper limits constraints. | |
| scalarField | mu_ |
| Lagrange multipliers for the y constraints. | |
| scalar | zeta_ |
| Lagrange multiplier for the z constraint. | |
| scalarField | s_ |
| Slack variables for the inequality constraints. | |
| scalarField | deltaLamda_ |
| scalar | deltaZ_ |
| scalarField | deltaX_ |
| scalarField | deltaY_ |
| scalarField | deltaS_ |
| scalar | deltaZeta_ |
| scalarField | deltaMu_ |
| scalarField | deltaEta_ |
| scalarField | deltaKsi_ |
| scalar | eps_ |
| Infinitesimal quantity. | |
| label | maxNewtonIters_ |
| Maxmimum number of Newton iterations for the subproblem. | |
| label | maxLineSearchIters_ |
| Maxmimum number of line search iterations for each iteration of the subproblem. | |
| bool | initializeEverySubproblem_ |
| Initialize every subproblem with x = 0.5*(a + b) and reset Lagrange multipliers. | |
| scalar | asymDecr_ |
| Lower assymprote reduction rate. | |
| scalar | asymIncr_ |
| Upper assymprote increase rate. | |
| scalar | sInit_ |
| Used to update the assymptotes in the first optimisation cycle. | |
| scalar | move_ |
| Movement of the unatainable upper and lower bounds. | |
| scalar | raa0_ |
| Constant in p, q functions. | |
| scalar | maxInitRhoMult_ |
| Multiplier of the mean derivative used for the initialisation of rho. | |
| scalar | maxRhoMult_ |
| Multiplier for the max. rho value during its update. | |
| bool | variableRho_ |
| Change rho constants in each iteration? | |
| bool | dynamicRhoInitialisation_ |
| Change rho constants in each iteration? | |
| scalar | dynamicRhoMult_ |
| The rho values obtained by the dynamic rho initialisation might be too conservative. Multiply with this number to relax them. | |
| bool | normalise_ |
| Perform the normalisation. | |
| bool | continuousNormalisation_ |
| Perform the normalisation in each optimisation cycle. | |
| autoPtr< scalar > | Jnorm_ |
| Normalisation factor for the objective. | |
| tmp< scalarField > | Cnorm_ |
| Normalisation factors for the constraints. | |
| scalar | cw_ |
| Constaint weight after the normalisation. | |
| label | lastNormalisationStep_ |
| Constaint weight after the normalisation. | |
| Protected Attributes inherited from updateMethod | |
| const fvMesh & | mesh_ |
| const dictionary | dict_ |
| autoPtr< designVariables > & | designVars_ |
| Design variables. | |
| label | nConstraints_ |
| Number of constraints. | |
| const labelList & | activeDesignVars_ |
| Map to active design variables. | |
| scalarField | objectiveDerivatives_ |
| Derivatives of the objective functions. | |
| PtrList< scalarField > | constraintDerivatives_ |
| Derivatives of the constraints. | |
| scalar | objectiveValue_ |
| Objective value. | |
| autoPtr< scalar > | objectiveValueOld_ |
| Old objective value. | |
| scalarField | cValues_ |
| Constraint values. | |
| scalarField | correction_ |
| Design variables correction. | |
| scalarField | cumulativeCorrection_ |
| Cumulative design variables correction throughout the optimisation loop. | |
| scalar | eta_ |
| Step multiplying the correction. | |
| label | counter_ |
| Optimisation cycle count. | |
| bool | initialEtaSet_ |
| Is initially set? | |
| word | correctionFolder_ |
| Folder storing the corrections to file. | |
| bool | globalSum_ |
| Whether to use gSum or sum in the inner products. | |
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... | |
| Public Types inherited from dictionary | |
| typedef Searcher< true > | const_searcher |
| Searcher with const access. | |
| typedef Searcher< false > | searcher |
| Searcher with non-const access. | |
| Public Types inherited from UILList< DLListBase, T > | |
| typedef T | value_type |
| Type of values stored. | |
| typedef T * | pointer |
| Pointer for value_type. | |
| typedef const T * | const_pointer |
| Const pointer for value_type. | |
| typedef T & | reference |
| Reference for value_type. | |
| typedef const T & | const_reference |
| Const reference for value_type. | |
| typedef label | size_type |
| The type that can represent the container size. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| using | base_iterator |
| using | const_base_iterator |
| Static Public Member Functions inherited from updateMethod | |
| static autoPtr< updateMethod > | New (const fvMesh &mesh, const dictionary &dict, autoPtr< designVariables > &designVars, const label nConstraints) |
| Return a reference to the selected turbulence model. | |
| Static Public Member Functions inherited from localIOdictionary | |
| static dictionary | readContents (const IOobject &io) |
| Read and return contents, testing for "dictionary" type. The IOobject will not be registered. | |
| static dictionary | readContents (const IOobject &io, const word &wantedType) |
| Read and return contents, testing for expected type. The IOobject will not be registered. | |
| 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. | |
| Static Public Member Functions inherited from dictionary | |
| static int | reportOptional () noexcept |
| Return the state of reporting optional (default) entries. | |
| static int | reportOptional (const int level) noexcept |
| Change the state of reporting optional (default) entries. | |
| static autoPtr< dictionary > | New (Istream &is) |
| Construct top-level dictionary on freestore from Istream. | |
| Public Attributes inherited from dictionary | |
| friend | const_searcher |
| Declare friendship with the searcher classes. | |
| friend | searcher |
| 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. | |
| Static Public Attributes inherited from dictionary | |
| static int | writeOptionalEntries |
| Report optional keywords and values if not present in dictionary. | |
| static const dictionary | null |
| An empty dictionary, which is also the parent for all dictionaries. | |
| static refPtr< OSstream > | reportingOutput |
| Output location when reporting default values. | |
| 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 Member Functions inherited from DLListBase | |
| template<class IteratorType> | |
| static const IteratorType & | iterator_end () |
| Factory method to return an iterator end. | |
| template<class IteratorType> | |
| static const IteratorType & | iterator_rend () |
| Factory method to return an iterator reverse end. | |
| Static Protected Attributes inherited from regIOobject | |
| static bool | masterOnlyReading = false |
| To flag master-only reading of objects. | |
Update design variables using the Method of Moving Assymptotes. Can handle inequality constraints.
Reference:
Svanberg, K. (1987)
The method of moving asymptotes—a new method for structural
optimization
International Journal for Numerical Methods in Engineering, 24(2),
359-373.
https://doi.org/10.1002/nme.1620240207
| MMA | ( | const fvMesh & | mesh, |
| const dictionary & | dict, | ||
| autoPtr< designVariables > & | designVars, | ||
| const label | nConstraints, | ||
| const word & | type ) |
Construct from components.
Definition at line 876 of file MMA.C.
References a_, Foam::abort(), updateMethod::activeDesignVars_, alpha0_, alpha_, asymDecr_, asymIncr_, b_, boundRho_, c_, Cnorm_, updateMethod::coeffsDict(), continuousNormalisation_, correctDVs_, cw_, d_, deltaEta_, deltaKsi_, deltaLamda_, deltaMu_, deltaS_, deltaX_, deltaY_, deltaZ_, deltaZeta_, dict, dynamicRhoInitialisation_, dynamicRhoMult_, eps_, Eta_, Foam::FatalError, FatalErrorInFunction, dictionary::getOrDefault(), getOrDefaultScalarField(), initializeEverySubproblem_, Jnorm_, ksi_, lamda_, lastNormalisationStep_, lower_, maxInitRhoMult_, maxLineSearchIters_, maxNewtonIters_, maxRhoMult_, mesh, move_, mu_, updateMethod::nConstraints(), updateMethod::nConstraints_, normalise_, oldCValues_, oldObjectiveValue_, raa0_, rho_, s_, setOrDefaultScalarField(), sInit_, DLListBase::size(), upper_, valsAndApproxs_, variableRho_, x00_, x0_, xNew_, y_, z_, Foam::Zero, and zeta_.

|
virtualdefault |
|
protected |
Update sizes of fields related to the active design variables.
Definition at line 48 of file MMA.C.
References a_, updateMethod::activeDesignVars_, b_, deltaEta_, deltaKsi_, deltaX_, Eta_, ksi_, lower_, n, upper_, x00_, x0_, xNew_, and Foam::Zero.
Referenced by computeCorrection().

|
protected |
Initialize rho constants in the (p, q) functions.
These control how aggressive or conservative the method will be
Definition at line 69 of file MMA.C.
References a_, updateMethod::activeDesignVars_, b_, boundRho_, updateMethod::constraintDerivatives_, converged(), updateMethod::correction_, updateMethod::cValues_, DebugInfo, updateMethod::designVars_, dynamicRhoInitialisation_, dynamicRhoMult_, Foam::endl(), forAll, updateMethod::globalSum(), Foam::Info, initialize(), lower_, Foam::mag(), Foam::max(), maxInitRhoMult_, Foam::nl, updateMethod::objectiveDerivatives_, updateMethod::objectiveValue_, oldCValues_, oldObjectiveValue_, raa0_, rho_, solveSubproblem(), updateBounds(), updateRho(), upper_, variableRho_, x, x00_, x0_, xMax, and xMin.
Referenced by computeCorrection().


|
protected |
Update the bounds associated with the design variables.
Definition at line 176 of file MMA.C.
References a_, updateMethod::activeDesignVars_, asymDecr_, asymIncr_, b_, updateMethod::counter_, updateMethod::designVars_, forAll, gamma, lower_, Foam::max(), Foam::min(), move_, sInit_, upper_, x, x00_, x0_, xMax, and xMin.
Referenced by computeCorrection(), and initializeRho().


|
protected |
Allocate fields related to constraints.
Definition at line 215 of file MMA.C.
References a_, alpha_, b_, c_, updateMethod::coeffsDict(), updateMethod::cValues_, d_, deltaLamda_, deltaMu_, deltaS_, deltaY_, Foam::endl(), eps_, Eta_, found, dictionary::getOrDefault(), Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, Foam::Info, ksi_, lamda_, Foam::max(), updateMethod::mesh_, mu_, s_, xNew_, y_, z_, Foam::Zero, and zeta_.
Referenced by computeCorrection(), initializeRho(), and solveSubproblem().


|
protected |
Store old objcective and constraint values.
Needed by GCMMA
Definition at line 260 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::counter_, updateMethod::designVars_, x00_, and x0_.
Referenced by computeCorrection().

|
protected |
p and q functions, used to approximate the objective and contraints
Computed based on the current set of design variables, not updated during the iterations of the subproblem
Definition at line 271 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::designVars_, Foam::max(), tmp< T >::New(), tmp< T >::ref(), Foam::sqr(), upper_, x, and Foam::Zero.

|
protected |
Definition at line 300 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::designVars_, and p.
|
protected |
Definition at line 311 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::designVars_, lower_, Foam::max(), tmp< T >::New(), tmp< T >::ref(), Foam::sqr(), x, and Foam::Zero.
Referenced by computeNewtonDirection(), fTilda(), gConstr(), q(), and qLamda().


|
protected |
Definition at line 340 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::designVars_, and q().

|
protected |
g of all constraint functions
Computed using the current set of design variables, updated during the solution of the subproblem
Definition at line 351 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::constraintDerivatives_, updateMethod::cValues_, forAll, updateMethod::globalSum(), lower_, tmp< T >::New(), p, q(), tmp< T >::ref(), rho_, upper_, and Foam::Zero.
Referenced by b(), computeNewtonDirection(), and computeResiduals().


|
protected |
The rhs of the contraint approximations.
Always computed using the current (frozen) set of design variables
Definition at line 373 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::cValues_, updateMethod::designVars_, and gConstr().

|
protected |
p and q functions, using the dual lamda
Definition at line 382 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::constraintDerivatives_, forAll, lamda_, updateMethod::objectiveDerivatives_, p, tmp< T >::ref(), and rho_.
Referenced by computeNewtonDirection(), and computeResiduals().


|
protected |
Definition at line 400 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::constraintDerivatives_, forAll, lamda_, updateMethod::objectiveDerivatives_, q(), tmp< T >::ref(), and rho_.
Referenced by computeNewtonDirection(), and computeResiduals().


|
protected |
Zero the updates computed in the previous optimisation cycle.
Definition at line 418 of file MMA.C.
References deltaEta_, deltaKsi_, deltaLamda_, deltaMu_, deltaS_, deltaX_, deltaY_, deltaZ_, deltaZeta_, and Foam::Zero.
Referenced by computeNewtonDirection().

|
protected |
|
protected |
Read in scalarField from self (potentially in binary), or allocate field with the size of the active design variables and given value.
Definition at line 453 of file MMA.C.
References field(), found, Foam::name(), tmp< T >::New(), tmp< T >::ref(), and DLListBase::size().
Referenced by MMA().


|
protected |
Read in scalarField from self (potentially in binary), or allocate field with the size of the active design variables and given value.
Definition at line 470 of file MMA.C.
References field(), found, Foam::name(), and DLListBase::size().
Referenced by MMA().


|
protected |
Compute direction for the Newton problem.
Definition at line 489 of file MMA.C.
References a_, updateMethod::activeDesignVars_, alpha0_, alpha_, b, b_, c_, updateMethod::constraintDerivatives_, updateMethod::cValues_, d_, deltaEta_, deltaKsi_, deltaLamda_, deltaMu_, deltaS_, deltaX_, deltaY_, deltaZ_, deltaZeta_, updateMethod::designVars_, eps_, Eta_, forAll, gConstr(), updateMethod::globalSum_, ksi_, lamda_, Pstream::listReduce(), lower_, updateMethod::mesh_, mu_, n, p, pLamda(), Foam::pow3(), q(), qLamda(), Foam::reduce(), rho_, Foam::rhs(), s_, solve(), Foam::sqr(), Foam::sum(), upper_, x, xNew_, y_, z_, Foam::Zero, zeroUpdates(), and zeta_.
Referenced by solveSubproblem().


|
protected |
Perform line search and return max residual corresponding to the updated solution.
Definition at line 638 of file MMA.C.
References a_, adjustStep(), b_, computeResiduals(), updateMethod::cValues_, DebugInfo, deltaEta_, deltaKsi_, deltaLamda_, deltaMu_, deltaS_, deltaX_, deltaY_, deltaZ_, deltaZeta_, Foam::endl(), eps_, Eta_, updateMethod::globalSum(), updateMethod::globalSum_, Foam::gMax(), Foam::Info, ksi_, lamda_, Foam::mag(), Foam::magSqr(), maxLineSearchIters_, mu_, n, Foam::nl, Foam::reduce(), s_, Foam::sqrt(), updateSolution(), xNew_, y_, z_, and zeta_.
Referenced by solveSubproblem().


|
protected |
Update the current solution using the known direction and the given step length.
Definition at line 755 of file MMA.C.
References deltaEta_, deltaKsi_, deltaLamda_, deltaMu_, deltaS_, deltaX_, deltaY_, deltaZ_, deltaZeta_, Eta_, ksi_, lamda_, mu_, s_, xNew_, y_, z_, and zeta_.
Referenced by lineSearch().

|
protected |
Adjust step to satisfy cireteria.
Definition at line 741 of file MMA.C.
References update().
Referenced by lineSearch().


|
protected |
Compute and return residuals based on the current solution.
Definition at line 769 of file MMA.C.
References a_, alpha0_, alpha_, b, b_, c_, updateMethod::cValues_, d_, eps_, Eta_, gConstr(), ksi_, lamda_, lower_, updateMethod::mesh_, mu_, n, tmp< T >::New(), pLamda(), qLamda(), tmp< T >::ref(), s_, Foam::sqr(), Foam::sum(), upper_, xNew_, y_, z_, Foam::Zero, and zeta_.
Referenced by lineSearch(), and solveSubproblem().


|
protected |
Normalise the objective and constraints if necessary.
Definition at line 834 of file MMA.C.
References updateMethod::activeDesignVars_, Cnorm_, updateMethod::constraintDerivatives_, continuousNormalisation_, updateMethod::counter_, updateMethod::cValues_, cw_, Foam::endl(), forAll, updateMethod::globalSum(), Foam::Info, Jnorm_, lastNormalisationStep_, Foam::nl, normalise_, updateMethod::objectiveDerivatives_, updateMethod::objectiveValue_, Foam::sqr(), Foam::sqrt(), and Foam::Zero.
Referenced by computeCorrection().


| TypeName | ( | "MMA" | ) |
Runtime type information.
References dict, mesh, and updateMethod::nConstraints().

|
virtual |
Compute design variables correction.
Implements updateMethod.
Definition at line 980 of file MMA.C.
References correctDVs_, updateMethod::counter_, initialize(), initializeRho(), normalise(), solveSubproblem(), storeOldValues(), updateBounds(), and updateSizes().

| void solveSubproblem | ( | ) |
Solve subproblem using a Newton optimiser.
Definition at line 1012 of file MMA.C.
References updateMethod::activeDesignVars_, computeNewtonDirection(), computeResiduals(), updateMethod::correction_, DebugInfo, updateMethod::designVars_, Foam::endl(), eps_, forAll, Foam::gMax(), Foam::Info, initialize(), initializeEverySubproblem_, lineSearch(), Foam::mag(), maxNewtonIters_, updateMethod::mesh_, Foam::nl, xNew_, and y_.
Referenced by computeCorrection(), and initializeRho().


| void updateValuesAndApproximations | ( | ) |
Compute objective/constraint values and their approximations.
Needed to check convergence and update rho, if necessary
Definition at line 1063 of file MMA.C.
References updateMethod::activeDesignVars_, updateMethod::constraintDerivatives_, updateMethod::cValues_, forAll, fTilda(), updateMethod::objectiveDerivatives_, updateMethod::objectiveValue_, oldCValues_, oldObjectiveValue_, rho_, valsAndApproxs_, x0_, xNew_, and Foam::Zero.
Referenced by converged().


| const Foam::PtrList< Foam::scalarField > & getValuesAndApproximations | ( | ) | const |
Get objective/constraint values and their approximations.
Definition at line 1093 of file MMA.C.
References valsAndApproxs_.
| void updateRho | ( | ) |
Update rho value if needed.
Definition at line 1099 of file MMA.C.
References updateMethod::activeDesignVars_, DebugInfo, delta, updateMethod::designVars_, Foam::endl(), forAll, updateMethod::globalSum(), lower_, maxRhoMult_, Foam::min(), rho_, Foam::sqr(), upper_, valsAndApproxs_, x0_, xMax, xMin, and xNew_.
Referenced by initializeRho().


| const Foam::scalarField & getRho | ( | ) | const |
| void setVariableRho | ( | bool | varRho = true | ) |
| bool converged | ( | ) |
Checks convergence of GCMMA.
Definition at line 1140 of file MMA.C.
References DebugInfo, Foam::endl(), forAll, Foam::nl, updateValuesAndApproximations(), and valsAndApproxs_.
Referenced by initializeRho().


|
virtual |
Write useful quantities to files.
Reimplemented from updateMethod.
Definition at line 1160 of file MMA.C.
References lower_, oldCValues_, oldObjectiveValue_, os(), upper_, updateMethod::writeData(), x00_, and x0_.

|
protected |
The previous design variables. Used to compute new bounds.
Definition at line 73 of file MMA.H.
Referenced by initializeRho(), MMA(), storeOldValues(), updateBounds(), updateRho(), updateSizes(), updateValuesAndApproximations(), and writeData().
|
protected |
The twice previous design variables. Used to compute new bounds.
Definition at line 78 of file MMA.H.
Referenced by initializeRho(), MMA(), storeOldValues(), updateBounds(), updateSizes(), and writeData().
|
protected |
The set of design variables being updated during the subproblem.
Correction will end up being the difference of this and the old values of the design variables
Definition at line 86 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), solveSubproblem(), updateRho(), updateSizes(), updateSolution(), and updateValuesAndApproximations().
|
protected |
Old objective value.
Needed by GCMMA
Definition at line 93 of file MMA.H.
Referenced by initializeRho(), MMA(), updateValuesAndApproximations(), and writeData().
|
protected |
Old constraint values.
Needed by GCMMA
Definition at line 100 of file MMA.H.
Referenced by initializeRho(), MMA(), updateValuesAndApproximations(), and writeData().
|
protected |
Objective/Constraint values and approximations in the new point.
Needed by GCMMA
Definition at line 107 of file MMA.H.
Referenced by converged(), getValuesAndApproximations(), MMA(), updateRho(), and updateValuesAndApproximations().
|
protected |
Second term in the approximation function.
Definition at line 112 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), and updateSolution().
|
protected |
Term multiplying z in the objective function.
Definition at line 117 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), and MMA().
|
protected |
Terms multyplying z in the constraint functions.
Definition at line 122 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), and MMA().
|
protected |
y in the constraints functions
Definition at line 127 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), solveSubproblem(), and updateSolution().
y multipliers in the objective function
Definition at line 132 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), and MMA().
|
protected |
y^2 multipliers in the objective function
Definition at line 137 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), and MMA().
|
protected |
Lower design variables asymptotes.
Definition at line 142 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), fTilda(), gConstr(), initializeRho(), MMA(), q(), updateBounds(), updateRho(), updateSizes(), and writeData().
|
protected |
Upper design variables asymptotes.
Definition at line 147 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), fTilda(), gConstr(), initializeRho(), MMA(), p(), updateBounds(), updateRho(), updateSizes(), and writeData().
|
protected |
Lower design variables constraints.
Definition at line 152 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), initializeRho(), lineSearch(), MMA(), updateBounds(), and updateSizes().
|
protected |
Upper design variables constraints.
Definition at line 157 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), initializeRho(), lineSearch(), MMA(), updateBounds(), and updateSizes().
|
protected |
Constants in the (p,q) functions.
Size is cValues_.size() + 1 (the objective)
Definition at line 164 of file MMA.H.
Referenced by computeNewtonDirection(), gConstr(), getRho(), initializeRho(), MMA(), pLamda(), qLamda(), updateRho(), and updateValuesAndApproximations().
|
protected |
Bound the rho value with an upper value?
Definition at line 169 of file MMA.H.
Referenced by initializeRho(), and MMA().
|
protected |
Correct the design variables.
Definition at line 174 of file MMA.H.
Referenced by computeCorrection(), and MMA().
|
protected |
Constraint Lagrange multipliers.
Definition at line 181 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), pLamda(), qLamda(), and updateSolution().
|
protected |
Lagrange multipliers for the lower limits constraints.
Definition at line 186 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), updateSizes(), and updateSolution().
|
protected |
Lagrange multipliers for the upper limits constraints.
Definition at line 191 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), updateSizes(), and updateSolution().
|
protected |
Lagrange multipliers for the y constraints.
Definition at line 196 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), and updateSolution().
|
protected |
Lagrange multiplier for the z constraint.
Definition at line 201 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), and updateSolution().
|
protected |
Slack variables for the inequality constraints.
Definition at line 206 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), and updateSolution().
|
protected |
Definition at line 211 of file MMA.H.
Referenced by computeNewtonDirection(), initialize(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 212 of file MMA.H.
Referenced by computeNewtonDirection(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 213 of file MMA.H.
Referenced by computeNewtonDirection(), lineSearch(), MMA(), updateSizes(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 214 of file MMA.H.
Referenced by computeNewtonDirection(), initialize(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 215 of file MMA.H.
Referenced by computeNewtonDirection(), initialize(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 216 of file MMA.H.
Referenced by computeNewtonDirection(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 217 of file MMA.H.
Referenced by computeNewtonDirection(), initialize(), lineSearch(), MMA(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 218 of file MMA.H.
Referenced by computeNewtonDirection(), lineSearch(), MMA(), updateSizes(), updateSolution(), and zeroUpdates().
|
protected |
Definition at line 219 of file MMA.H.
Referenced by computeNewtonDirection(), lineSearch(), MMA(), updateSizes(), updateSolution(), and zeroUpdates().
|
protected |
Infinitesimal quantity.
Updated during the inner iterations of the subproblem
Definition at line 227 of file MMA.H.
Referenced by computeNewtonDirection(), computeResiduals(), initialize(), lineSearch(), MMA(), and solveSubproblem().
|
protected |
Maxmimum number of Newton iterations for the subproblem.
Definition at line 232 of file MMA.H.
Referenced by MMA(), and solveSubproblem().
|
protected |
Maxmimum number of line search iterations for each iteration of the subproblem.
Definition at line 238 of file MMA.H.
Referenced by lineSearch(), and MMA().
|
protected |
Initialize every subproblem with x = 0.5*(a + b) and reset Lagrange multipliers.
The solution of the subproblem can become relatively expensive in some cases, hence the GCMMA subproblems are usually initialized with the solution of the previous inner iteration, to save up some time. Occassionally, this can cause the solution of the subproblem to be trapped in a non-feasible point. In such cases, the solution of each subproblem could be initialized from scratch
Definition at line 252 of file MMA.H.
Referenced by MMA(), and solveSubproblem().
|
protected |
Lower assymprote reduction rate.
Definition at line 260 of file MMA.H.
Referenced by MMA(), and updateBounds().
|
protected |
Upper assymprote increase rate.
Definition at line 265 of file MMA.H.
Referenced by MMA(), and updateBounds().
|
protected |
Used to update the assymptotes in the first optimisation cycle.
Definition at line 270 of file MMA.H.
Referenced by MMA(), and updateBounds().
|
protected |
Movement of the unatainable upper and lower bounds.
Definition at line 275 of file MMA.H.
Referenced by MMA(), and updateBounds().
|
protected |
Constant in p, q functions.
Definition at line 280 of file MMA.H.
Referenced by initializeRho(), and MMA().
|
protected |
Multiplier of the mean derivative used for the initialisation of rho.
Definition at line 289 of file MMA.H.
Referenced by initializeRho(), and MMA().
|
protected |
Multiplier for the max. rho value during its update.
Definition at line 294 of file MMA.H.
Referenced by MMA(), and updateRho().
|
protected |
Change rho constants in each iteration?
Definition at line 299 of file MMA.H.
Referenced by initializeRho(), MMA(), and setVariableRho().
|
protected |
Change rho constants in each iteration?
Definition at line 304 of file MMA.H.
Referenced by initializeRho(), and MMA().
|
protected |
The rho values obtained by the dynamic rho initialisation might be too conservative. Multiply with this number to relax them.
Definition at line 311 of file MMA.H.
Referenced by initializeRho(), and MMA().
|
protected |
Perform the normalisation.
Definition at line 319 of file MMA.H.
Referenced by MMA(), and normalise().
|
protected |
Perform the normalisation in each optimisation cycle.
Definition at line 324 of file MMA.H.
Referenced by MMA(), and normalise().
|
protected |
Normalisation factor for the objective.
Definition at line 329 of file MMA.H.
Referenced by MMA(), and normalise().
|
protected |
Normalisation factors for the constraints.
Definition at line 334 of file MMA.H.
Referenced by MMA(), and normalise().
|
protected |
Constaint weight after the normalisation.
Definition at line 339 of file MMA.H.
Referenced by MMA(), and normalise().
|
protected |
Constaint weight after the normalisation.
Definition at line 344 of file MMA.H.
Referenced by MMA(), and normalise().