NOX Development
Public Member Functions | Protected Attributes
LOCA::MultiPredictor::Constant Class Reference

Constant predictor strategy More...

#include <LOCA_MultiPredictor_Constant.H>

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

List of all members.

Public Member Functions

 Constant (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &predParams)
 Constructor.
virtual ~Constant ()
 Destructor.
 Constant (const Constant &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 std::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 std::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
< LOCA::MultiContinuation::ExtendedMultiVector
predictor
 Stores predictor vector.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
secant
 Stores secant vector for setting orientation.
bool initialized
 Flag indicating whether vectors have been initialized.

Detailed Description

Constant predictor strategy

This class computes the predictor direction given by a vector of zeros for the solution vector component and 1 for the parameter component. When used with natural continuation, this corresponds to what is commonly referred to as zero'th order continuation.


Constructor & Destructor Documentation

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

Constructor.

Parameters:
global_data[in] Global data object
predParams[in] Predictor parameters. None are currently referenced.

Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Constant::compute ( bool  baseOnSecant,
const std::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 computation described above

Implements LOCA::MultiPredictor::AbstractStrategy.

References LOCA::MultiContinuation::ExtendedVector::clone(), LOCA::Extended::Vector::createMultiVector(), LOCA::Extended::Vector::init(), NOX::Abstract::Group::Ok, NOX::ShapeCopy, and NOX::Utils::StepperDetails.

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Constant::evaluate ( const std::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.

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

Is the tangent vector for this predictor scalable.

For the constant predictor, this always returns false.

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