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

Random predictor strategy More...

#include <LOCA_MultiPredictor_Random.H>

Inheritance diagram for LOCA::MultiPredictor::Random:
Inheritance graph
Collaboration diagram for LOCA::MultiPredictor::Random:
Collaboration graph

List of all members.

Public Member Functions

 Random (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &predParams)
virtual ~Random ()
 Random (const Random &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
operator= (const LOCA::MultiPredictor::AbstractStrategy &source)
 Assignment operator.
virtual Teuchos::RCP
< LOCA::MultiPredictor::AbstractStrategy
clone (NOX::CopyType type=NOX::DeepCopy) const
 Clone function.
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).
evaluate (const vector< double > &stepSize, const LOCA::MultiContinuation::ExtendedVector &xVec, LOCA::MultiContinuation::ExtendedMultiVector &result) const
 Evaluate predictor with step size stepSize.
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.
< LOCA::MultiContinuation::ExtendedMultiVector
 Stores predictor vector.
< LOCA::MultiContinuation::ExtendedVector
 Stores secant vector for setting orientation.
bool initialized
 Flag indicating whether vectors have been initialized.
double epsilon
 Size of random value.

Detailed Description

Random predictor strategy

This class computes the predictor direction where the solution component is filled with random values and the parameter component equal to 1. Each componenet of the solution vector $v_i$ of the predictor is given by $v_i = \epsilon r_i x_i$ where $r_i$ is a random value between -1 and 1, $x_i$ is the corresponding component of the solution vector, and $\epsilon$ is a parameter.

The parameters used by this class supplied in the constructor are:

Constructor & Destructor Documentation

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


global_data[in] Global data object
predParams[in] Predictor parameters as described above.

Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Random::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 computation described above

Implements LOCA::MultiPredictor::AbstractStrategy.

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

NOX::Abstract::Group::ReturnType LOCA::MultiPredictor::Random::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.

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

Is the tangent vector for this predictor scalable.

For the random 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