NOX
Development
|
Random predictor strategy More...
#include <LOCA_MultiPredictor_Random.H>
Public Member Functions | |
Random (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &predParams) | |
Constructor. More... | |
virtual | ~Random () |
Destructor. | |
Random (const Random &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). More... | |
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 . More... | |
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. More... | |
Public Member Functions inherited from LOCA::MultiPredictor::AbstractStrategy | |
AbstractStrategy () | |
Constructor. | |
virtual | ~AbstractStrategy () |
Destructor. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
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. | |
double | epsilon |
Size of random value. | |
Additional Inherited Members | |
Protected Member Functions inherited from LOCA::MultiPredictor::AbstractStrategy | |
virtual void | setPredictorOrientation (bool baseOnSecant, const std::vector< double > &stepSize, const LOCA::MultiContinuation::ExtendedGroup &grp, const LOCA::MultiContinuation::ExtendedVector &prevXVec, const LOCA::MultiContinuation::ExtendedVector &xVec, LOCA::MultiContinuation::ExtendedVector &secant, LOCA::MultiContinuation::ExtendedMultiVector &tangent) |
Sets orientation of predictor based on parameter change from previous steps. More... | |
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 of the predictor is given by where is a random value between -1 and 1, is the corresponding component of the solution vector, and is a parameter.
The parameters used by this class supplied in the constructor are:
LOCA::MultiPredictor::Random::Random | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, |
const Teuchos::RCP< Teuchos::ParameterList > & | predParams | ||
) |
Constructor.
global_data | [in] Global data object |
predParams | [in] Predictor parameters as described above. |
|
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::Abstract::MultiVector::random(), NOX::Abstract::MultiVector::scale(), NOX::ShapeCopy, and NOX::Utils::StepperDetails.
|
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.
|
virtual |
Is the tangent vector for this predictor scalable.
For the random predictor, this always returns false.
Implements LOCA::MultiPredictor::AbstractStrategy.