LOCA::MultiContinuation::AbstractGroup Class Reference

LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to $ F(x,p) = 0 $. More...

#include <LOCA_MultiContinuation_AbstractGroup.H>

Inheritance diagram for LOCA::MultiContinuation::AbstractGroup:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractGroup ()
 Default constructor.
virtual ~AbstractGroup ()
 Destructor.
Pure virtual methods
These methods must be defined by any concrete implementation

virtual void copy (const NOX::Abstract::Group &source)=0
 Copy the group (replaces operator = ).
virtual void setParamsMulti (const vector< int > &paramIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)=0
 Set parameters indexed by (integer) paramIDs.
virtual void setParams (const LOCA::ParameterVector &p)=0
 Set the parameter vector in the group to p (pVector = p).
virtual void setParam (int paramID, double val)=0
 Set parameter indexed by (integer) paramID.
virtual void setParam (string paramID, double val)=0
 Set parameter indexed by (string) paramID.
virtual const
LOCA::ParameterVector
getParams () const =0
 Return a const reference to the ParameterVector owned by the group.
virtual double getParam (int paramID) const =0
 Return copy of parameter indexed by (integer) paramID.
virtual double getParam (string paramID) const =0
 Return copy of parameter indexed by (string) paramID.
virtual
NOX::Abstract::Group::ReturnType 
computeDfDpMulti (const vector< int > &paramIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)=0
Virtual methods with default implementations
These methods should be overloaded in a concrete implementation if more appropriate/efficient approaches are available.

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 void projectToDraw (const NOX::Abstract::Vector &x, double *px) const
 Projects solution to a few scalars for multiparameter continuation.
virtual int projectToDrawDimension () const
 Returns the dimension of the project to draw array.
virtual double computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const
 Compute a scaled dot product.
Virtual methods with empty or trivial implementations
These methods should be overloaded in a concrete implementation but their implementation is not critical to the rest of LOCA and therefore have empty or trivial implementations.

virtual void printSolution (const double conParam) const
 Function to print out solution and parameter after successful step.
virtual void printSolution (const NOX::Abstract::Vector &x_, const double conParam) const
 Function to print out a vector and parameter after successful step.
virtual void scaleVector (NOX::Abstract::Vector &x) const
 Scales a vector using scaling vector.


Detailed Description

LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to $ F(x,p) = 0 $.

Concrete implemenations of this interface must provide implementations of all of the methods in the NOX::Abstract::Group interface as well as the additional interface defined here.

Definition at line 70 of file LOCA_MultiContinuation_AbstractGroup.H.


Constructor & Destructor Documentation

LOCA::MultiContinuation::AbstractGroup::AbstractGroup (  )  [inline]

virtual LOCA::MultiContinuation::AbstractGroup::~AbstractGroup (  )  [inline, virtual]


Member Function Documentation

virtual void LOCA::MultiContinuation::AbstractGroup::copy ( const NOX::Abstract::Group source  )  [pure virtual]

virtual void LOCA::MultiContinuation::AbstractGroup::setParamsMulti ( const vector< int > &  paramIDs,
const NOX::Abstract::MultiVector::DenseMatrix vals 
) [pure virtual]

virtual void LOCA::MultiContinuation::AbstractGroup::setParams ( const LOCA::ParameterVector p  )  [pure virtual]

virtual void LOCA::MultiContinuation::AbstractGroup::setParam ( int  paramID,
double  val 
) [pure virtual]

virtual void LOCA::MultiContinuation::AbstractGroup::setParam ( string  paramID,
double  val 
) [pure virtual]

virtual const LOCA::ParameterVector& LOCA::MultiContinuation::AbstractGroup::getParams (  )  const [pure virtual]

virtual double LOCA::MultiContinuation::AbstractGroup::getParam ( int  paramID  )  const [pure virtual]

virtual double LOCA::MultiContinuation::AbstractGroup::getParam ( string  paramID  )  const [pure virtual]

virtual NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::AbstractGroup::computeDfDpMulti ( const vector< int > &  paramIDs,
NOX::Abstract::MultiVector dfdp,
bool  isValidF 
) [pure virtual]

void LOCA::MultiContinuation::AbstractGroup::preProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]

void LOCA::MultiContinuation::AbstractGroup::postProcessContinuationStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]

void LOCA::MultiContinuation::AbstractGroup::projectToDraw ( const NOX::Abstract::Vector x,
double *  px 
) const [virtual]

Projects solution to a few scalars for multiparameter continuation.

This method is called every time a solution is saved by the multiparameter continuation code MF for later visualization and should project the solution vector down to a few scalars. The array px will be preallocated to the proper length given by projectToDrawDimension().

The default implementation is the max norm of the vector.

Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Homotopy::Group, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.

Definition at line 57 of file LOCA_MultiContinuation_AbstractGroup.C.

References NOX::Abstract::Vector::MaxNorm, and NOX::Abstract::Vector::norm().

int LOCA::MultiContinuation::AbstractGroup::projectToDrawDimension (  )  const [virtual]

double LOCA::MultiContinuation::AbstractGroup::computeScaledDotProduct ( const NOX::Abstract::Vector a,
const NOX::Abstract::Vector b 
) const [virtual]

Compute a scaled dot product.

The default implementation here just computes a.dot(b) but should be overloaded for any problem that his difficult scaling.

Reimplemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::LAPACK::Group, LOCA::Thyra::Group, and LOCA::Epetra::Group.

Definition at line 71 of file LOCA_MultiContinuation_AbstractGroup.C.

References NOX::Abstract::Vector::innerProduct().

virtual void LOCA::MultiContinuation::AbstractGroup::printSolution ( const double  conParam  )  const [inline, virtual]

virtual void LOCA::MultiContinuation::AbstractGroup::printSolution ( const NOX::Abstract::Vector x_,
const double  conParam 
) const [inline, virtual]

void LOCA::MultiContinuation::AbstractGroup::scaleVector ( NOX::Abstract::Vector x  )  const [virtual]


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

Generated on Thu Dec 17 11:02:54 2009 for Nonlinear Solver Project by  doxygen 1.5.9