Class satisfying the Armijo line search conditions. More...
#include <ArmijoConditions.H>


Public Member Functions | |
| TypeName ("ArmijoConditions") | |
| Runtime type information. | |
| ArmijoConditions (const dictionary &dict, const Time &time, updateMethod &UpdatheMethod) | |
| Construct from components. | |
| virtual | ~ArmijoConditions ()=default |
| virtual bool | converged () |
| Return the correction of the design variables. | |
| virtual void | updateStep () |
| Update the line search step based on the specific line search strategy, e.g. bisection, quadratic fit, etc. | |
| Public Member Functions inherited from lineSearch | |
| TypeName ("lineSearch") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, lineSearch, dictionary,(const dictionary &dict, const Time &time, updateMethod &UpdateMethod),(dict, time, UpdateMethod)) | |
| lineSearch (const dictionary &dict, const Time &time, updateMethod &UpdateMethod) | |
| Construct from components. | |
| virtual | ~lineSearch ()=default |
| Destructor. | |
| virtual void | setDeriv (const scalar deriv) |
| Set directional derivative. | |
| virtual void | setNewDeriv (const scalar deriv) |
| Set new directional derivative. | |
| void | setDirection (const scalarField &direction) |
| Set direction. | |
| void | setNewMeritValue (const scalar value) |
| Set new objective value. | |
| void | setOldMeritValue (const scalar value) |
| Set old objective value. | |
| virtual void | reset () |
| Reset step to initial value. | |
| label | innerIter () const |
| Get inner line search iteration. | |
| label | maxIters () const |
| Get max number of iterations. | |
| scalar | step () const |
| Get current step. | |
| virtual void | updateStep (const scalar newStep) |
| Update the step using the supplied value. | |
| virtual void | updateCorrection (scalarField &correction) |
| Update the correction. | |
| virtual bool | loop () |
| Return true if lineSearch should continue and if so increment inner. | |
| virtual bool | computeGradient () const |
| Does line search need to update the gradient? | |
| virtual void | postUpdate () |
| Execute steps at the end of the line search iterations. | |
| virtual lineSearch & | operator++ () |
| Increment iteration number and store merit value corresponding to the previous optimisation cycle. | |
| virtual lineSearch & | operator++ (int) |
| Postfix increment. Necessary for compilation. | |
Protected Attributes | |
| scalar | c1_ |
| Multiplier of the merit function reduction computed using a first-order Taylor expansion. | |
| Protected Attributes inherited from lineSearch | |
| const dictionary | dict_ |
| Subdict within updateMethod. | |
| IOdictionary | lineSearchDict_ |
| IOdictionary under time/uniform for continuation. | |
| scalar | directionalDeriv_ |
| Directional derivative of the merit function. | |
| scalarField | direction_ |
| Update direction. | |
| scalar | oldMeritValue_ |
| Old merit value from this opt cycle. | |
| scalar | newMeritValue_ |
| New merit value from this opt cycle. | |
| scalar | prevMeritDeriv_ |
| Merit directional deriv from the previous opt cycle. | |
| scalar | initialStep_ |
| Correction multiplier at the first step of line search. | |
| scalar | minStep_ |
| Minimum allowed correction multiplier. | |
| scalar | step_ |
| Correction multiplier. | |
| label | iter_ |
| Optimisation cycle. | |
| label | innerIter_ |
| Inner line search iteration. | |
| label | maxIters_ |
| Maximum line search iterations. | |
| bool | extrapolateInitialStep_ |
| Whether to extrapolate the correction multiplier for this optimisation cycle based on the previous ones. | |
| autoPtr< stepUpdate > | stepUpdate_ |
| Mechanism to update method if line search conditions are not set. | |
| updateMethod & | updateMethod_ |
| Reference to the update method related to the line search. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from lineSearch | |
| static autoPtr< lineSearch > | New (const dictionary &dict, const Time &time, updateMethod &UpdateMethod) |
| Return a reference to the selected turbulence model. | |
| Protected Member Functions inherited from lineSearch | |
| const dictionary & | coeffsDict () |
| Optional coeffs dict. | |
Class satisfying the Armijo line search conditions.
Definition at line 48 of file ArmijoConditions.H.
| ArmijoConditions | ( | const dictionary & | dict, |
| const Time & | time, | ||
| updateMethod & | UpdatheMethod ) |
Construct from components.
Definition at line 42 of file ArmijoConditions.C.
References c1_, lineSearch::coeffsDict(), and dict.

|
virtualdefault |
| TypeName | ( | "ArmijoConditions" | ) |
Runtime type information.
References dict.
|
virtual |
Return the correction of the design variables.
Implements lineSearch.
Definition at line 56 of file ArmijoConditions.C.
References c1_, DebugInfo, lineSearch::directionalDeriv_, Foam::endl(), lineSearch::newMeritValue_, lineSearch::oldMeritValue_, and lineSearch::step_.

|
virtual |
Update the line search step based on the specific line search strategy, e.g. bisection, quadratic fit, etc.
Implements lineSearch.
Definition at line 72 of file ArmijoConditions.C.
References Foam::endl(), Foam::Info, lineSearch::step_, and lineSearch::stepUpdate_.

|
protected |
Multiplier of the merit function reduction computed using a first-order Taylor expansion.
Definition at line 60 of file ArmijoConditions.H.
Referenced by ArmijoConditions(), and converged().