| 
    NOX
    Development
    
   | 
 
Abstract interface class for continuation strategies. More...
#include <LOCA_MultiContinuation_AbstractStrategy.H>
Public Member Functions | |
| AbstractStrategy () | |
| Constructor.  | |
| virtual | ~AbstractStrategy () | 
| Destructor.  | |
| virtual void | copy (const NOX::Abstract::Group &source)=0 | 
| Copy.  | |
| virtual int | getNumParams () const =0 | 
| Returns number of parameters.  | |
| virtual void | preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)=0 | 
| Perform any preprocessing before a continuation step starts.  More... | |
| virtual void | postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)=0 | 
| Perform any postprocessing after a continuation step finishes.  More... | |
| 
virtual  NOX::Abstract::Group::ReturnType  | computePredictor ()=0 | 
| Compute predictor directions.  | |
| virtual bool | isPredictor () const =0 | 
| Is Predictor valid.  | |
| virtual void | scaleTangent ()=0 | 
| Scales tangent to predictor.  | |
| virtual void | setPredictorTangentDirection (const LOCA::MultiContinuation::ExtendedVector &v, int i)=0 | 
| Sets tangent to predictor.  More... | |
| 
virtual const  LOCA::MultiContinuation::ExtendedMultiVector &  | getPredictorTangent () const =0 | 
| Returns tangent to predictor.  | |
| 
virtual const  LOCA::MultiContinuation::ExtendedMultiVector &  | getScaledPredictorTangent () const =0 | 
| Returns scaled tangent to predictor.  | |
| virtual void | setPrevX (const NOX::Abstract::Vector &y)=0 | 
| Set the previous solution vector y.  | |
| 
virtual const  LOCA::MultiContinuation::ExtendedVector &  | getPrevX () const =0 | 
| Gets the previous solution vector.  | |
| virtual void | setStepSize (double deltaS, int i=0)=0 | 
| Set step size for continuation constraint equation i.  | |
| virtual double | getStepSize (int i=0) const =0 | 
| Get step size for continuation constraint equation i.  | |
| virtual void | setContinuationParameter (double val, int i=0)=0 | 
| Sets the value for continuation parameter i.  | |
| virtual double | getContinuationParameter (int i=0) const =0 | 
| Returns the value for continuation parameter i.  | |
| virtual int | getContinuationParameterID (int i=0) const =0 | 
| Get the continuation parameter id for parameter i.  | |
| virtual const std::vector< int > & | getContinuationParameterIDs () const =0 | 
| Get the continuation parameter ids.  | |
| virtual std::string | getContinuationParameterName (int i=0) const =0 | 
| Get the continuation parameter id for parameter i.  | |
| virtual double | getStepSizeScaleFactor (int i=0) const =0 | 
| Returns step size scale factor for constraint equation i.  | |
| virtual void | printSolution () const =0 | 
| Prints the group.  | |
| virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &x, const NOX::Abstract::Vector &y) const =0 | 
| Computes a scaled dot product between two continuation vectors.  | |
| virtual int | projectToDrawDimension () const =0 | 
| Returns dimension of project to draw array.  | |
| virtual void | projectToDraw (const LOCA::MultiContinuation::ExtendedVector &x, double *px) const =0 | 
| Fills the project to draw array.  | |
  Public Member Functions inherited from LOCA::Extended::MultiAbstractGroup | |
| MultiAbstractGroup () | |
| Default constructor.  | |
| virtual | ~MultiAbstractGroup () | 
| Destructor.  | |
| virtual Teuchos::RCP< const  LOCA::MultiContinuation::AbstractGroup >  | getUnderlyingGroup () const =0 | 
| Return underlying group.  More... | |
| virtual Teuchos::RCP < LOCA::MultiContinuation::AbstractGroup >  | getUnderlyingGroup ()=0 | 
| Return underlying group.  More... | |
| virtual Teuchos::RCP< const  LOCA::MultiContinuation::AbstractGroup >  | getBaseLevelUnderlyingGroup () const | 
| Return base-level underlying group.  More... | |
| virtual Teuchos::RCP < LOCA::MultiContinuation::AbstractGroup >  | getBaseLevelUnderlyingGroup () | 
| Return base-level underlying group.  More... | |
  Public Member Functions inherited from NOX::Abstract::Group | |
| Group () | |
| Constructor.  More... | |
| virtual | ~Group () | 
| Destructor.  | |
| virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source)=0 | 
| Copies the source group into this group.  More... | |
| virtual void | setX (const NOX::Abstract::Vector &y)=0 | 
| Set the solution vector x to y.  More... | |
| virtual void | computeX (const NOX::Abstract::Group &grp, const NOX::Abstract::Vector &d, double step)=0 | 
| Compute x = grp.x + step * d.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | computeF ()=0 | 
| Compute and store F(x).  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | computeJacobian () | 
| Compute and store Jacobian.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | computeGradient () | 
| Compute and store gradient.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | computeNewton (Teuchos::ParameterList ¶ms) | 
| Compute the Newton direction, using parameters for the linear solve.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const | 
| Applies Jacobian to the given input vector and puts the answer in the result.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const | 
| Applies Jacobian-Transpose to the given input vector and puts the answer in the result.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const | 
| Applies the inverse of the Jacobian matrix to the given input vector and puts the answer in result.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const | 
| Apply right preconditiong to the given input vector.  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const | 
| applyJacobian for multiple right-hand sides  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const | 
| applyJacobianTranspose for multiple right-hand sides  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyJacobianInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const | 
| applyJacobianInverse for multiple right-hand sides  More... | |
| virtual  NOX::Abstract::Group::ReturnType  | applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const | 
| applyRightPreconditioning for multiple right-hand sides  More... | |
| virtual bool | isF () const =0 | 
| Return true if F is valid.  | |
| virtual bool | isJacobian () const | 
| Return true if the Jacobian is valid.  More... | |
| virtual bool | isGradient () const | 
| Return true if the gradient is valid.  More... | |
| virtual bool | isNewton () const | 
| Return true if the Newton direction is valid.  More... | |
| 
virtual const  NOX::Abstract::Vector &  | getX () const =0 | 
| Return solution vector.  | |
| virtual const  NOX::Abstract::Vector &  | getScaledX () const | 
| 
virtual const  NOX::Abstract::Vector &  | getF () const =0 | 
| Return F(x)  | |
| virtual double | getNormF () const =0 | 
| Return 2-norm of F(x).  More... | |
| 
virtual const  NOX::Abstract::Vector &  | getGradient () const =0 | 
| Return gradient.  | |
| 
virtual const  NOX::Abstract::Vector &  | getNewton () const =0 | 
| Return Newton direction.  | |
| 
virtual Teuchos::RCP< const  NOX::Abstract::Vector >  | getXPtr () const =0 | 
| Return RCP to solution vector.  | |
| 
virtual Teuchos::RCP< const  NOX::Abstract::Vector >  | getFPtr () const =0 | 
| Return RCP to F(x)  | |
| 
virtual Teuchos::RCP< const  NOX::Abstract::Vector >  | getGradientPtr () const =0 | 
| Return RCP to gradient.  | |
| 
virtual Teuchos::RCP< const  NOX::Abstract::Vector >  | getNewtonPtr () const =0 | 
| Return RCP to Newton direction.  | |
| virtual void | logLastLinearSolveStats (NOX::SolverStats &stats) const | 
| Adds statistics from last linear solve to the SovlerStats object.  | |
| virtual  NOX::Abstract::Group::ReturnType  | getNormLastLinearSolveResidual (double &residual) const | 
| Return the norm of the last linear solve residual as the result of either a call to computeNewton() or applyJacobianInverse().  More... | |
| virtual Teuchos::RCP < NOX::Abstract::Group >  | clone (NOX::CopyType type=NOX::DeepCopy) const =0 | 
| Create a new Group of the same derived type as this one by cloning this one, and return a ref count pointer to the new group.  More... | |
Additional Inherited Members | |
  Public Types inherited from NOX::Abstract::Group | |
| enum | ReturnType {  Ok, NotDefined, BadDependency, NotConverged, Failed }  | 
| The computation of, say, the Newton direction in computeNewton() may fail in many different ways, so we have included a variety of return codes to describe the failures. Of course, we also have a code for success.  More... | |
Abstract interface class for continuation strategies.
AbstractStrategy defines an abstract interface for continuation strategies. This interface is used by the LOCA::Stepper to manipulate continuation groups in a consistent manner. It defines a number pure virtual methods that all continuation groups must implement.
      
  | 
  pure virtual | 
Perform any postprocessing after a continuation step finishes.
The stepStatus argument indicates whether the step was successful. 
Implemented in LOCA::MultiContinuation::ExtendedGroup.
      
  | 
  pure virtual | 
Perform any preprocessing before a continuation step starts.
The stepStatus argument indicates whether the previous step was successful. 
Implemented in LOCA::MultiContinuation::ExtendedGroup.
      
  | 
  pure virtual | 
Sets tangent to predictor.
This is required by MF which takes the tangent space, orthogonalizes it, and then sets it back in the group.
Implemented in LOCA::MultiContinuation::ExtendedGroup.
 1.8.5