LOCA::MultiPredictor::Tangent Class Reference

Tangent predictor strategy More...

#include <LOCA_MultiPredictor_Tangent.H>

Inheritance diagram for LOCA::MultiPredictor::Tangent:
Inheritance graph
[legend]
Collaboration diagram for LOCA::MultiPredictor::Tangent:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Tangent (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &predParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Constructor.
virtual ~Tangent ()
 Destructor.
 Tangent (const Tangent &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual
LOCA::MultiPredictor::AbstractStrategy
operator= (const LOCA::MultiPredictor::AbstractStrategy &source)
 Assignment operator.
virtual Teuchos::RCP
< LOCA::MultiPredictor::AbstractStrategy
clone (NOX::CopyType type=NOX::DeepCopy) const
 Clone function.
virtual
NOX::Abstract::Group::ReturnType 
compute (bool baseOnSecant, const vector< double > &stepSize, LOCA::MultiContinuation::ExtendedGroup &grp, const LOCA::MultiContinuation::ExtendedVector &prevXVec, const LOCA::MultiContinuation::ExtendedVector &xVec)
 Compute the predictor given the current and previous solution vectors. Set baseOnSecant to false if the predictor orientation should not be based on the secant vector (first or last steps of a continuation run).
virtual
NOX::Abstract::Group::ReturnType 
evaluate (const vector< double > &stepSize, const LOCA::MultiContinuation::ExtendedVector &xVec, LOCA::MultiContinuation::ExtendedMultiVector &result) const
 Evaluate predictor with step size stepSize.
virtual
NOX::Abstract::Group::ReturnType 
computeTangent (LOCA::MultiContinuation::ExtendedMultiVector &tangent)
 Compute tangent to predictor and store in tangent.
virtual bool isTangentScalable () const
 Is the tangent vector for this predictor scalable.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 LOCA global data object.
Teuchos::RCP
< Teuchos::ParameterList
linSolverParams
 Stores linear solver parameters.
Teuchos::RCP
< NOX::Abstract::MultiVector
fdfdp
 Stores derivative of residual w.r.t. parameters.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedMultiVector
tangent
 Stores tangent vector.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
secant
 Stores secant vector for setting orientation.
bool initialized
 Flag indicating whether vectors have been initialized.

Detailed Description

Tangent predictor strategy

This class implements a predictor strategy based on computing the tangent to the continuation curve. If $p$ is the vector of continuation parameters, then the solution component of the tangent vectors $v_x$ are computed by solving

\[ J v_x = - \frac{\partial f}{\partial p}. \]

The parameter component $v_p$ is set to the identity matrix.


Constructor & Destructor Documentation

LOCA::MultiPredictor::Tangent::Tangent ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< Teuchos::ParameterList > &  predParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams 
)

Constructor.

Parameters:
global_data [in] Global data object
predParams [in] Predictor parameters. Currently no parameters are used by the Tangent predictor.
solverParams [in] Linear solver parameters used in linear solve to compute tangent vectors $v$.

Referenced by clone().


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Tangent::compute ( bool  baseOnSecant,
const vector< double > &  stepSize,
LOCA::MultiContinuation::ExtendedGroup grp,
const LOCA::MultiContinuation::ExtendedVector prevXVec,
const LOCA::MultiContinuation::ExtendedVector xVec 
) [virtual]

Compute the predictor given the current and previous solution vectors. Set baseOnSecant to false if the predictor orientation should not be based on the secant vector (first or last steps of a continuation run).

This method actually implements the predictor solve described above

Implements LOCA::MultiPredictor::AbstractStrategy.

References LOCA::MultiContinuation::ExtendedVector::clone(), LOCA::Extended::Vector::createMultiVector(), fdfdp, LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterIDs(), LOCA::MultiContinuation::ExtendedGroup::getUnderlyingGroup(), globalData, initialized, linSolverParams, secant, LOCA::MultiPredictor::AbstractStrategy::setPredictorOrientation(), NOX::ShapeCopy, NOX::Utils::StepperDetails, and tangent.

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Tangent::evaluate ( const vector< double > &  stepSize,
const LOCA::MultiContinuation::ExtendedVector xVec,
LOCA::MultiContinuation::ExtendedMultiVector result 
) const [virtual]

Evaluate predictor with step size stepSize.

This method computes result[i] = xVec[i] + stepSize[i] * v[i] for each i, where v[i] is the ith predictor direction.

Implements LOCA::MultiPredictor::AbstractStrategy.

References NOX::Abstract::Group::Ok, and tangent.

bool LOCA::MultiPredictor::Tangent::isTangentScalable (  )  const [virtual]

Is the tangent vector for this predictor scalable.

For the tangent predictor, this always returns true.

Implements LOCA::MultiPredictor::AbstractStrategy.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Generated on Wed Apr 13 09:59:43 2011 for NOX by  doxygen 1.6.3