Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lineSearch Class Referenceabstract

Abstract base class for line search methods. More...

Inheritance diagram for lineSearch:
Inheritance graph
[legend]
Collaboration diagram for lineSearch:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("lineSearch")
 
 declareRunTimeSelectionTable (autoPtr, lineSearch, dictionary,(const dictionary &dict, const Time &time),(dict, time))
 
 lineSearch (const dictionary &dict, const Time &time)
 
virtual ~lineSearch ()=default
 
virtual void setDeriv (const scalar deriv)
 
void setDirection (const scalarField &direction)
 
void setNewMeritValue (const scalar value)
 
void setOldMeritValue (const scalar value)
 
virtual void reset ()
 
label maxIters () const
 
scalar step () const
 
virtual bool converged ()=0
 
virtual void updateStep ()=0
 
virtual void updateStep (const scalar newStep)
 
virtual lineSearchoperator++ ()
 
virtual lineSearchoperator++ (int)
 

Static Public Member Functions

static autoPtr< lineSearchNew (const dictionary &dict, const Time &time)
 

Protected Member Functions

const dictionarycoeffsDict ()
 

Protected Attributes

const dictionary dict_
 
IOdictionary lineSearchDict_
 
scalar directionalDeriv_
 
scalarField direction_
 
scalar oldMeritValue_
 
scalar newMeritValue_
 
scalar prevMeritDeriv_
 
scalar initialStep_
 
scalar minStep_
 
scalar step_
 
label iter_
 
label maxIters_
 
bool extrapolateInitialStep_
 
autoPtr< stepUpdatestepUpdate_
 

Detailed Description

Abstract base class for line search methods.

Source files

Definition at line 52 of file lineSearch.H.

Constructor & Destructor Documentation

◆ lineSearch()

lineSearch ( const dictionary dict,
const Time time 
)

Definition at line 45 of file lineSearch.C.

◆ ~lineSearch()

virtual ~lineSearch ( )
virtualdefault

Member Function Documentation

◆ coeffsDict()

const Foam::dictionary & coeffsDict ( )
protected

Definition at line 37 of file lineSearch.C.

References lineSearch::dict_, dictionary::optionalSubDict(), and Foam::type().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "lineSearch"  )

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
lineSearch  ,
dictionary  ,
(const dictionary &dict, const Time &time)  ,
(dict, time)   
)

◆ New()

Foam::autoPtr< Foam::lineSearch > New ( const dictionary dict,
const Time time 
)
static

Definition at line 89 of file lineSearch.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::getOrDefault(), Foam::Info, and autoPtr::reset().

Here is the call graph for this function:

◆ setDeriv()

void setDeriv ( const scalar  deriv)
virtual

Definition at line 129 of file lineSearch.C.

◆ setDirection()

void setDirection ( const scalarField direction)

Definition at line 136 of file lineSearch.C.

◆ setNewMeritValue()

void setNewMeritValue ( const scalar  value)

Definition at line 142 of file lineSearch.C.

◆ setOldMeritValue()

void setOldMeritValue ( const scalar  value)

Definition at line 149 of file lineSearch.C.

◆ reset()

void reset ( )
virtual

Definition at line 156 of file lineSearch.C.

References Foam::endl(), Foam::Info, Foam::max(), and Foam::min().

Here is the call graph for this function:

◆ maxIters()

Foam::label maxIters ( ) const

Definition at line 176 of file lineSearch.C.

◆ step()

Foam::scalar step ( ) const

Definition at line 182 of file lineSearch.C.

◆ converged()

virtual bool converged ( )
pure virtual

Implemented in ArmijoConditions.

◆ updateStep() [1/2]

virtual void updateStep ( )
pure virtual

Implemented in ArmijoConditions.

◆ updateStep() [2/2]

void updateStep ( const scalar  newStep)
virtual

Definition at line 188 of file lineSearch.C.

◆ operator++() [1/2]

Foam::lineSearch & operator++ ( )
virtual

Definition at line 194 of file lineSearch.C.

References IOstreamOption::ASCII.

◆ operator++() [2/2]

Foam::lineSearch & operator++ ( int  )
virtual

Definition at line 210 of file lineSearch.C.

Member Data Documentation

◆ dict_

const dictionary dict_
protected

Definition at line 59 of file lineSearch.H.

Referenced by lineSearch::coeffsDict().

◆ lineSearchDict_

IOdictionary lineSearchDict_
protected

Definition at line 62 of file lineSearch.H.

◆ directionalDeriv_

scalar directionalDeriv_
protected

Definition at line 65 of file lineSearch.H.

Referenced by ArmijoConditions::converged().

◆ direction_

scalarField direction_
protected

Definition at line 68 of file lineSearch.H.

◆ oldMeritValue_

scalar oldMeritValue_
protected

Definition at line 71 of file lineSearch.H.

Referenced by ArmijoConditions::converged().

◆ newMeritValue_

scalar newMeritValue_
protected

Definition at line 74 of file lineSearch.H.

Referenced by ArmijoConditions::converged().

◆ prevMeritDeriv_

scalar prevMeritDeriv_
protected

Definition at line 77 of file lineSearch.H.

◆ initialStep_

scalar initialStep_
protected

Definition at line 80 of file lineSearch.H.

◆ minStep_

scalar minStep_
protected

Definition at line 83 of file lineSearch.H.

◆ step_

scalar step_
protected

Definition at line 86 of file lineSearch.H.

Referenced by ArmijoConditions::converged().

◆ iter_

label iter_
protected

Definition at line 89 of file lineSearch.H.

◆ maxIters_

label maxIters_
protected

Definition at line 92 of file lineSearch.H.

◆ extrapolateInitialStep_

bool extrapolateInitialStep_
protected

Definition at line 97 of file lineSearch.H.

◆ stepUpdate_

autoPtr<stepUpdate> stepUpdate_
protected

Definition at line 100 of file lineSearch.H.


The documentation for this class was generated from the following files: