NOX Development
Loading...
Searching...
No Matches
Public Member Functions | List of all members
LOCA::MultiContinuation::ExtendedGroup Class Reference

Base class for all continuation groups. More...

#include <LOCA_MultiContinuation_ExtendedGroup.H>

Inheritance diagram for LOCA::MultiContinuation::ExtendedGroup:
Inheritance graph
[legend]
Collaboration diagram for LOCA::MultiContinuation::ExtendedGroup:
Collaboration graph
[legend]

Public Member Functions

 ExtendedGroup (const ExtendedGroup &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 
virtual ~ExtendedGroup ()
 Destructor.
 
Implementation of NOX::Abstract::Group virtual methods
virtual NOX::Abstract::Groupoperator= (const NOX::Abstract::Group &source)
 Assignment operator.
 
virtual Teuchos::RCP< NOX::Abstract::Groupclone (NOX::CopyType type=NOX::DeepCopy) const
 Cloning function.
 
virtual void setX (const NOX::Abstract::Vector &y)
 Set the solution vector to y.
 
virtual void computeX (const NOX::Abstract::Group &g, const NOX::Abstract::Vector &d, double step)
 Compute and return solution vector, x, where this.x = grp.x + step * d.
 
virtual NOX::Abstract::Group::ReturnType computeF ()
 Compute extended continuation equations.
 
virtual NOX::Abstract::Group::ReturnType computeJacobian ()
 Compute extended continuation jacobian.
 
virtual NOX::Abstract::Group::ReturnType computeGradient ()
 Gradient is not defined for this system.
 
virtual NOX::Abstract::Group::ReturnType computeNewton (Teuchos::ParameterList &params)
 Compute Newton direction for extended continuation system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Applies Jacobian for extended system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Jacobian transpose not defined for this system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobianInverse (Teuchos::ParameterList &params, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Applies Jacobian inverse for extended system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Applies Jacobian for extended system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Jacobian transpose not defined for this system.
 
virtual NOX::Abstract::Group::ReturnType applyJacobianInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Applies Jacobian inverse for extended system.
 
virtual bool isF () const
 Return true if extended residual is valid.
 
virtual bool isJacobian () const
 Return true if the extended Jacobian is valid.
 
virtual bool isGradient () const
 Always returns false.
 
virtual bool isNewton () const
 Return true if the extended Newton direction is valid.
 
virtual const NOX::Abstract::VectorgetX () const
 Return extended solution vector.
 
virtual const NOX::Abstract::VectorgetF () const
 Return extended residual.
 
virtual double getNormF () const
 Return 2-norm of extended residual.
 
virtual const NOX::Abstract::VectorgetGradient () const
 Gradient is never valid.
 
virtual const NOX::Abstract::VectorgetNewton () const
 Return extended Newton direction.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorgetXPtr () const
 Return extended solution vector.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorgetFPtr () const
 Return extended residual.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorgetGradientPtr () const
 Gradient is never valid.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorgetNewtonPtr () const
 Return extended Newton direction.
 
virtual double getNormNewtonSolveResidual () const
 Returns 2-norm of extended Newton solve residual.
 
Implementation of LOCA::Extended::MultiAbstractGroup

virtual methods

virtual Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroupgetUnderlyingGroup () const
 Return underlying group.
 
virtual Teuchos::RCP< LOCA::MultiContinuation::AbstractGroupgetUnderlyingGroup ()
 Return underlying group.
 
Implementation of LOCA::MultiContinuation::AbstractStrategy

virtual methods

virtual void copy (const NOX::Abstract::Group &source)
 Assignment operator.
 
virtual int getNumParams () const
 Returns number of parameters.
 
virtual void preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any preprocessing before a continuation step starts.
 
virtual void postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any postprocessing after a continuation step finishes.
 
virtual NOX::Abstract::Group::ReturnType computePredictor ()
 Compute predictor directions.
 
virtual bool isPredictor () const
 Is Predictor valid.
 
virtual void scaleTangent ()
 Scales tangent to predictor.
 
virtual void setPredictorTangentDirection (const LOCA::MultiContinuation::ExtendedVector &v, int i)
 Sets tangent to predictor.
 
virtual const LOCA::MultiContinuation::ExtendedMultiVectorgetPredictorTangent () const
 Returns tangent to predictor.
 
virtual const LOCA::MultiContinuation::ExtendedMultiVectorgetScaledPredictorTangent () const
 Returns scaled tangent to predictor.
 
virtual void setPrevX (const NOX::Abstract::Vector &y)
 Set the previous solution vector y.
 
virtual const LOCA::MultiContinuation::ExtendedVectorgetPrevX () const
 Gets the previous solution vector.
 
virtual void setStepSize (double deltaS, int i=0)
 Set step size for continuation constraint equation i.
 
virtual double getStepSize (int i=0) const
 Get step size for continuation constraint equation i.
 
virtual void setContinuationParameter (double val, int i=0)
 Sets the value for continuation parameter i.
 
virtual double getContinuationParameter (int i=0) const
 Returns the value for continuation parameter i.
 
virtual int getContinuationParameterID (int i=0) const
 Get the continuation parameter id for parameter i.
 
virtual const std::vector< int > & getContinuationParameterIDs () const
 Get the continuation parameter ids.
 
virtual std::string getContinuationParameterName (int i=0) const
 Get the continuation parameter id for parameter i.
 
virtual double getStepSizeScaleFactor (int i=0) const
 Returns step size scale factor for constraint equation i.
 
virtual void printSolution () const
 Prints the group.
 
virtual double computeScaledDotProduct (const NOX::Abstract::Vector &x, const NOX::Abstract::Vector &y) const
 Computes a scaled dot product between two continuation vectors.
 
virtual int projectToDrawDimension () const
 Returns dimension of project to draw array.
 
virtual void projectToDraw (const LOCA::MultiContinuation::ExtendedVector &x, double *px) const
 Fills the project to draw array.
 
- Public Member Functions inherited from LOCA::MultiContinuation::AbstractStrategy
 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.
 
virtual void postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)=0
 Perform any postprocessing after a continuation step finishes.
 
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.
 
virtual const LOCA::MultiContinuation::ExtendedMultiVectorgetPredictorTangent () const =0
 Returns tangent to predictor.
 
virtual const LOCA::MultiContinuation::ExtendedMultiVectorgetScaledPredictorTangent () 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::ExtendedVectorgetPrevX () 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::AbstractGroupgetBaseLevelUnderlyingGroup () const
 Return base-level underlying group.
 
virtual Teuchos::RCP< LOCA::MultiContinuation::AbstractGroupgetBaseLevelUnderlyingGroup ()
 Return base-level underlying group.
 
- Public Member Functions inherited from NOX::Abstract::Group
 Group ()
 Constructor.
 
virtual ~Group ()
 Destructor.
 
virtual NOX::Abstract::Groupoperator= (const NOX::Abstract::Group &source)=0
 Copies the source group into this group.
 
virtual void setX (const NOX::Abstract::Vector &y)=0
 Set the solution vector x to y.
 
virtual void computeX (const NOX::Abstract::Group &grp, const NOX::Abstract::Vector &d, double step)=0
 Compute x = grp.x + step * d.
 
virtual NOX::Abstract::Group::ReturnType computeF ()=0
 Compute and store F(x).
 
virtual NOX::Abstract::Group::ReturnType computeJacobian ()
 Compute and store Jacobian.
 
virtual NOX::Abstract::Group::ReturnType computeGradient ()
 Compute and store gradient.
 
virtual NOX::Abstract::Group::ReturnType computeNewton (Teuchos::ParameterList &params)
 Compute the Newton direction, using parameters for the linear solve.
 
virtual NOX::Abstract::Group::ReturnType applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList &params, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Apply right preconditiong to the given input vector.
 
virtual NOX::Abstract::Group::ReturnType applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 applyRightPreconditioning for multiple right-hand sides
 
virtual const NOX::Abstract::VectorgetScaledX () const
 
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().
 
- Public Member Functions inherited from LOCA::BorderedSystem::AbstractGroup
 AbstractGroup ()
 Constructor.
 
virtual ~AbstractGroup ()
 Destructor.
 

Implementation of

LOCA::BorderedSystem::AbstractGroup virtual methods

Teuchos::RCP< LOCA::GlobalDataglobalData
 Pointer LOCA global data object.
 
Teuchos::RCP< LOCA::Parameter::SublistParserparsedParams
 Parsed top-level parameters.
 
Teuchos::RCP< Teuchos::ParameterList > continuationParams
 Continuation parameter list.
 
Teuchos::RCP< LOCA::MultiContinuation::AbstractGroupgrpPtr
 Pointer to underlying group.
 
Teuchos::RCP< LOCA::MultiPredictor::AbstractStrategypredictor
 Pointer to predictor object.
 
Teuchos::RCP< LOCA::MultiContinuation::ConstrainedGroupconGroup
 Pointer to constrained group implementation.
 
int numParams
 Number of parameters.
 
LOCA::MultiContinuation::ExtendedMultiVector tangentMultiVec
 Stores the tangent to the predictor.
 
LOCA::MultiContinuation::ExtendedMultiVector scaledTangentMultiVec
 Stores the scaled tangent to the predictor.
 
LOCA::MultiContinuation::ExtendedVector prevXVec
 Stores the previous extended solution vector.
 
std::vector< int > conParamIDs
 integer id of continuation parameters
 
std::vector< double > stepSize
 continuation step size
 
std::vector< double > stepSizeScaleFactor
 step size scale factors
 
bool isValidPredictor
 Is Predictor vector valid.
 
bool baseOnSecant
 Flag indicating whether to base predictor direction on secant.
 
virtual int getBorderedWidth () const
 Return the total width of the bordered rows/columns.
 
virtual Teuchos::RCP< const NOX::Abstract::GroupgetUnborderedGroup () const
 Get bottom-level unbordered group.
 
virtual bool isCombinedAZero () const
 Indicates whether combined A block is zero.
 
virtual bool isCombinedBZero () const
 Indicates whether combined B block is zero.
 
virtual bool isCombinedCZero () const
 Indicates whether combined C block is zero.
 
virtual void extractSolutionComponent (const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector &v_x) const
 
virtual void extractParameterComponent (bool use_transpose, const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector::DenseMatrix &v_p) const
 
virtual void loadNestedComponents (const NOX::Abstract::MultiVector &v_x, const NOX::Abstract::MultiVector::DenseMatrix &v_p, NOX::Abstract::MultiVector &v) const
 
virtual void fillA (NOX::Abstract::MultiVector &A) const
 Fill the combined A block as described above.
 
virtual void fillB (NOX::Abstract::MultiVector &B) const
 Fill the combined B block as described above.
 
virtual void fillC (NOX::Abstract::MultiVector::DenseMatrix &C) const
 Fill the combined C block as described above.
 
 ExtendedGroup (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &continuationParams, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &grp, const Teuchos::RCP< LOCA::MultiPredictor::AbstractStrategy > &pred, const std::vector< int > &paramIDs)
 Constructor used by derived classes.
 
virtual void setConstraints (const Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > &constraints, bool skip_dfdp)
 Set constraint object.
 

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...
 

Detailed Description

Base class for all continuation groups.

Continuation is defined as computing some curve $(x(s),p(s))\in\Re^{n+1}$ such that $F(x(s),p(s))=0$ for some parameterization $s$. Given some point $(x_0,p_0)$ on the curve, another nearby point on the curve is calculated by first computing a predictor direction $v\in\Re^{n+1}$ and the approximate point $(x^\ast,p^\ast) = (x_0,p_0) + v\Delta s$ where $\Delta s$ is the step size. Then the next point on the curve is computed by solving the extended set of equations

\[
     \begin{array}{cc}
        F(x,p) &= 0 \\
        g(x,p,x_0,p_0,x^\ast,p^\ast,v,\Delta s) &= 0
     \end{array}
 \]

for $(x,p)$. The equation $g(x,p,x_0,p_0,x^\ast,p^\ast,v,\Delta s)=0$ is called the continuation equation and different choices of $g$ yield different continuation methods.

Mathematically, this computation amounts to repeatedly computing solutions to a constrained nonlinear system. This class provides a common implementation for all continuation groups in terms of the LOCA::MultiContinuation::ConstrainedGroup using a supplied group to represent $F$ and an implementation of LOCA::MultiContinuation::ConstraintInterface to represent $g$.

Note that this class has no public constructor other than the copy constructor since it is intended to only provide an implemenation of much of the continuation work. Each derived class that implements a specific continuation strategy should provide its own public constructor.

Member Function Documentation

◆ applyJacobian()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobian ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const
virtual

Applies Jacobian for extended system.

Reimplemented from NOX::Abstract::Group.

◆ applyJacobianInverse()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianInverse ( Teuchos::ParameterList &  params,
const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const
virtual

Applies Jacobian inverse for extended system.

Reimplemented from NOX::Abstract::Group.

◆ applyJacobianInverseMultiVector()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianInverseMultiVector ( Teuchos::ParameterList &  params,
const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const
virtual

Applies Jacobian inverse for extended system.

Reimplemented from NOX::Abstract::Group.

◆ applyJacobianMultiVector()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const
virtual

Applies Jacobian for extended system.

Reimplemented from NOX::Abstract::Group.

◆ applyJacobianTranspose()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianTranspose ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const
virtual

Jacobian transpose not defined for this system.

Reimplemented from NOX::Abstract::Group.

◆ applyJacobianTransposeMultiVector()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::applyJacobianTransposeMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const
virtual

Jacobian transpose not defined for this system.

Reimplemented from NOX::Abstract::Group.

◆ clone()

Teuchos::RCP< NOX::Abstract::Group > LOCA::MultiContinuation::ExtendedGroup::clone ( NOX::CopyType  type = NOX::DeepCopy) const
virtual

◆ computeF()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeF ( )
virtual

Compute extended continuation equations.

Implements NOX::Abstract::Group.

◆ computeGradient()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeGradient ( )
virtual

Gradient is not defined for this system.

Reimplemented from NOX::Abstract::Group.

◆ computeJacobian()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeJacobian ( )
virtual

Compute extended continuation jacobian.

Reimplemented from NOX::Abstract::Group.

◆ computeNewton()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computeNewton ( Teuchos::ParameterList &  params)
virtual

Compute Newton direction for extended continuation system.

Reimplemented from NOX::Abstract::Group.

◆ computePredictor()

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::ExtendedGroup::computePredictor ( )
virtual

Compute predictor directions.

Implements LOCA::MultiContinuation::AbstractStrategy.

References NOX::Abstract::Group::Ok.

◆ computeScaledDotProduct()

double LOCA::MultiContinuation::ExtendedGroup::computeScaledDotProduct ( const NOX::Abstract::Vector x,
const NOX::Abstract::Vector y 
) const
virtual

◆ computeX()

void LOCA::MultiContinuation::ExtendedGroup::computeX ( const NOX::Abstract::Group g,
const NOX::Abstract::Vector d,
double  step 
)
virtual

Compute and return solution vector, x, where this.x = grp.x + step * d.

Implements NOX::Abstract::Group.

References computeX(), and conGroup.

Referenced by computeX().

◆ copy()

void LOCA::MultiContinuation::ExtendedGroup::copy ( const NOX::Abstract::Group source)
virtual

◆ extractParameterComponent()

void LOCA::MultiContinuation::ExtendedGroup::extractParameterComponent ( bool  use_transpose,
const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector::DenseMatrix v_p 
) const
virtual

Given the vector v, extract the parameter components of all of the nested subvectors in v down to the solution component for the unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ extractSolutionComponent()

void LOCA::MultiContinuation::ExtendedGroup::extractSolutionComponent ( const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector v_x 
) const
virtual

Given the vector v, extract the underlying solution component corresponding to the unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ fillA()

void LOCA::MultiContinuation::ExtendedGroup::fillA ( NOX::Abstract::MultiVector A) const
virtual

Fill the combined A block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ fillB()

void LOCA::MultiContinuation::ExtendedGroup::fillB ( NOX::Abstract::MultiVector B) const
virtual

Fill the combined B block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ fillC()

void LOCA::MultiContinuation::ExtendedGroup::fillC ( NOX::Abstract::MultiVector::DenseMatrix C) const
virtual

Fill the combined C block as described above.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ getBorderedWidth()

int LOCA::MultiContinuation::ExtendedGroup::getBorderedWidth ( ) const
virtual

Return the total width of the bordered rows/columns.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ getContinuationParameter()

double LOCA::MultiContinuation::ExtendedGroup::getContinuationParameter ( int  i = 0) const
virtual

Returns the value for continuation parameter i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getContinuationParameterID()

int LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterID ( int  i = 0) const
virtual

Get the continuation parameter id for parameter i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getContinuationParameterIDs()

const std::vector< int > & LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterIDs ( ) const
virtual

Get the continuation parameter ids.

Implements LOCA::MultiContinuation::AbstractStrategy.

Referenced by LOCA::MultiPredictor::Tangent::compute().

◆ getContinuationParameterName()

std::string LOCA::MultiContinuation::ExtendedGroup::getContinuationParameterName ( int  i = 0) const
virtual

Get the continuation parameter id for parameter i.

Implements LOCA::MultiContinuation::AbstractStrategy.

References LOCA::ParameterVector::getLabel().

◆ getF()

const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getF ( ) const
virtual

Return extended residual.

Implements NOX::Abstract::Group.

◆ getFPtr()

Teuchos::RCP< const NOX::Abstract::Vector > LOCA::MultiContinuation::ExtendedGroup::getFPtr ( ) const
virtual

Return extended residual.

Implements NOX::Abstract::Group.

◆ getGradient()

const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getGradient ( ) const
virtual

Gradient is never valid.

Implements NOX::Abstract::Group.

◆ getGradientPtr()

Teuchos::RCP< const NOX::Abstract::Vector > LOCA::MultiContinuation::ExtendedGroup::getGradientPtr ( ) const
virtual

Gradient is never valid.

Implements NOX::Abstract::Group.

◆ getNewton()

const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getNewton ( ) const
virtual

Return extended Newton direction.

Implements NOX::Abstract::Group.

◆ getNewtonPtr()

Teuchos::RCP< const NOX::Abstract::Vector > LOCA::MultiContinuation::ExtendedGroup::getNewtonPtr ( ) const
virtual

Return extended Newton direction.

Implements NOX::Abstract::Group.

◆ getNormF()

double LOCA::MultiContinuation::ExtendedGroup::getNormF ( ) const
virtual

Return 2-norm of extended residual.

Implements NOX::Abstract::Group.

◆ getNumParams()

int LOCA::MultiContinuation::ExtendedGroup::getNumParams ( ) const
virtual

Returns number of parameters.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getPredictorTangent()

const LOCA::MultiContinuation::ExtendedMultiVector & LOCA::MultiContinuation::ExtendedGroup::getPredictorTangent ( ) const
virtual

Returns tangent to predictor.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getPrevX()

const LOCA::MultiContinuation::ExtendedVector & LOCA::MultiContinuation::ExtendedGroup::getPrevX ( ) const
virtual

Gets the previous solution vector.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getScaledPredictorTangent()

const LOCA::MultiContinuation::ExtendedMultiVector & LOCA::MultiContinuation::ExtendedGroup::getScaledPredictorTangent ( ) const
virtual

Returns scaled tangent to predictor.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getStepSize()

double LOCA::MultiContinuation::ExtendedGroup::getStepSize ( int  i = 0) const
virtual

Get step size for continuation constraint equation i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getStepSizeScaleFactor()

double LOCA::MultiContinuation::ExtendedGroup::getStepSizeScaleFactor ( int  i = 0) const
virtual

Returns step size scale factor for constraint equation i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ getUnborderedGroup()

Teuchos::RCP< const NOX::Abstract::Group > LOCA::MultiContinuation::ExtendedGroup::getUnborderedGroup ( ) const
virtual

Get bottom-level unbordered group.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ getUnderlyingGroup() [1/2]

Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::MultiContinuation::ExtendedGroup::getUnderlyingGroup ( )
virtual

Return underlying group.

Implements LOCA::Extended::MultiAbstractGroup.

◆ getUnderlyingGroup() [2/2]

Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > LOCA::MultiContinuation::ExtendedGroup::getUnderlyingGroup ( ) const
virtual

◆ getX()

const NOX::Abstract::Vector & LOCA::MultiContinuation::ExtendedGroup::getX ( ) const
virtual

Return extended solution vector.

Implements NOX::Abstract::Group.

◆ getXPtr()

Teuchos::RCP< const NOX::Abstract::Vector > LOCA::MultiContinuation::ExtendedGroup::getXPtr ( ) const
virtual

Return extended solution vector.

Implements NOX::Abstract::Group.

◆ isCombinedAZero()

bool LOCA::MultiContinuation::ExtendedGroup::isCombinedAZero ( ) const
virtual

Indicates whether combined A block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ isCombinedBZero()

bool LOCA::MultiContinuation::ExtendedGroup::isCombinedBZero ( ) const
virtual

Indicates whether combined B block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ isCombinedCZero()

bool LOCA::MultiContinuation::ExtendedGroup::isCombinedCZero ( ) const
virtual

Indicates whether combined C block is zero.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ isF()

bool LOCA::MultiContinuation::ExtendedGroup::isF ( ) const
virtual

Return true if extended residual is valid.

Implements NOX::Abstract::Group.

◆ isGradient()

bool LOCA::MultiContinuation::ExtendedGroup::isGradient ( ) const
virtual

Always returns false.

Reimplemented from NOX::Abstract::Group.

◆ isJacobian()

bool LOCA::MultiContinuation::ExtendedGroup::isJacobian ( ) const
virtual

Return true if the extended Jacobian is valid.

Reimplemented from NOX::Abstract::Group.

◆ isNewton()

bool LOCA::MultiContinuation::ExtendedGroup::isNewton ( ) const
virtual

Return true if the extended Newton direction is valid.

Reimplemented from NOX::Abstract::Group.

◆ isPredictor()

bool LOCA::MultiContinuation::ExtendedGroup::isPredictor ( ) const
virtual

Is Predictor valid.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ loadNestedComponents()

void LOCA::MultiContinuation::ExtendedGroup::loadNestedComponents ( const NOX::Abstract::MultiVector v_x,
const NOX::Abstract::MultiVector::DenseMatrix v_p,
NOX::Abstract::MultiVector v 
) const
virtual

Given the solution component v_x and combined parameter components v_p, distribute these components through the nested sub-vectors in v.

Implements LOCA::BorderedSystem::AbstractGroup.

◆ operator=()

NOX::Abstract::Group & LOCA::MultiContinuation::ExtendedGroup::operator= ( const NOX::Abstract::Group source)
virtual

◆ postProcessContinuationStep()

void LOCA::MultiContinuation::ExtendedGroup::postProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus)
virtual

Perform any postprocessing after a continuation step finishes.

The stepStatus argument indicates whether the step was successful.

Implements LOCA::MultiContinuation::AbstractStrategy.

References LOCA::Abstract::Iterator::Successful.

◆ preProcessContinuationStep()

void LOCA::MultiContinuation::ExtendedGroup::preProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus)
virtual

Perform any preprocessing before a continuation step starts.

The stepStatus argument indicates whether the previous step was successful.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ printSolution()

void LOCA::MultiContinuation::ExtendedGroup::printSolution ( ) const
virtual

Prints the group.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ projectToDraw()

void LOCA::MultiContinuation::ExtendedGroup::projectToDraw ( const LOCA::MultiContinuation::ExtendedVector x,
double *  px 
) const
virtual

◆ projectToDrawDimension()

int LOCA::MultiContinuation::ExtendedGroup::projectToDrawDimension ( ) const
virtual

Returns dimension of project to draw array.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ scaleTangent()

void LOCA::MultiContinuation::ExtendedGroup::scaleTangent ( )
virtual

◆ setConstraints()

void LOCA::MultiContinuation::ExtendedGroup::setConstraints ( const Teuchos::RCP< LOCA::MultiContinuation::ConstraintInterface > &  constraints,
bool  skip_dfdp 
)
protectedvirtual

Set constraint object.

This allows the constraint object to be set after the group is constructed using the above constructor.

Referenced by LOCA::MultiContinuation::ArcLengthGroup::ArcLengthGroup(), and LOCA::MultiContinuation::NaturalGroup::NaturalGroup().

◆ setContinuationParameter()

void LOCA::MultiContinuation::ExtendedGroup::setContinuationParameter ( double  val,
int  i = 0 
)
virtual

Sets the value for continuation parameter i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ setPredictorTangentDirection()

void LOCA::MultiContinuation::ExtendedGroup::setPredictorTangentDirection ( const LOCA::MultiContinuation::ExtendedVector v,
int  i 
)
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.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ setPrevX()

void LOCA::MultiContinuation::ExtendedGroup::setPrevX ( const NOX::Abstract::Vector y)
virtual

Set the previous solution vector y.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ setStepSize()

void LOCA::MultiContinuation::ExtendedGroup::setStepSize ( double  deltaS,
int  i = 0 
)
virtual

Set step size for continuation constraint equation i.

Implements LOCA::MultiContinuation::AbstractStrategy.

◆ setX()

void LOCA::MultiContinuation::ExtendedGroup::setX ( const NOX::Abstract::Vector y)
virtual

Set the solution vector to y.

Implements NOX::Abstract::Group.


The documentation for this class was generated from the following files: