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