NOX::LineSearch::FullStep Class Reference

Simplest line search - always take the full step. More...

#include <NOX_LineSearch_FullStep.H>

Inheritance diagram for NOX::LineSearch::FullStep:

Inheritance graph
[legend]
Collaboration diagram for NOX::LineSearch::FullStep:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 FullStep (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList &params)
 Constructor.
 ~FullStep ()
 Destructor.
bool reset (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList &params)
bool compute (NOX::Abstract::Group &newgrp, double &step, const NOX::Abstract::Vector &dir, const NOX::Solver::Generic &s)
 Perform a line search.

Private Attributes

double stepSize
 Full step length.


Detailed Description

Simplest line search - always take the full step.

This line search can be called via NOX::LineSearch::Manager.

The following parameters can be specified in the "Full Step" sublist of the "Line Search" sublist:

Definition at line 60 of file NOX_LineSearch_FullStep.H.


Constructor & Destructor Documentation

FullStep::FullStep ( const Teuchos::RCP< NOX::GlobalData > &  gd,
Teuchos::ParameterList &  params 
)

Constructor.

Definition at line 54 of file NOX_LineSearch_FullStep.C.

References stepSize.

FullStep::~FullStep (  ) 

Destructor.

Definition at line 61 of file NOX_LineSearch_FullStep.C.


Member Function Documentation

bool FullStep::compute ( NOX::Abstract::Group grp,
double &  step,
const NOX::Abstract::Vector dir,
const NOX::Solver::Generic s 
) [virtual]

Perform a line search.

On input:

Parameters:
grp The initial solution vector, $x_{\rm old}$.
dir A vector of directions to be used in the line search, $d$.
s The nonlinear solver.
On output:
Parameters:
step The distance the direction was scaled, $ \lambda $.
grp The grp is updated with a new solution, $ x_{\rm new} $, resulting from the linesearch. Normally, for a single direction line search, this is computed as:

\[ x_{\rm new} = x_{\rm old} + \lambda d. \]

Ideally, $ \|F(x_{\rm new})\| < \|F(x_{\rm old})\| $ (e.g the final direction is a descent direction).

Note that the dir object is a std::vector. For typical line searches as described in the above equation, this vector is of size one. We have used a std::vector to allow for special cases of multi-directional line searches such as the Bader/Schnabel curvillinear line search.

Return value is true for a successful line search computation.

Implements NOX::LineSearch::Generic.

Definition at line 74 of file NOX_LineSearch_FullStep.C.

References NOX::Abstract::Group::computeX(), NOX::Solver::Generic::getPreviousSolutionGroup(), and stepSize.


Member Data Documentation

Full step length.

Definition at line 82 of file NOX_LineSearch_FullStep.H.

Referenced by compute(), and FullStep().


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

Generated on Thu Dec 17 11:03:07 2009 for Nonlinear Solver Project by  doxygen 1.5.9