NOX Development
Public Member Functions
LOCA::BorderedSystem::AbstractGroup Class Reference

An interface for groups that are bordered systems. More...

#include <LOCA_BorderedSystem_AbstractGroup.H>

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

List of all members.

Public Member Functions

 AbstractGroup ()
 Constructor.
virtual ~AbstractGroup ()
 Destructor.
Pure virtual methods

These methods must be defined by any concrete implementation

virtual int getBorderedWidth () const =0
 Return the total width of the bordered rows/columns.
virtual Teuchos::RCP< const
NOX::Abstract::Group
getUnborderedGroup () const =0
 Get bottom-level unbordered group.
virtual bool isCombinedAZero () const =0
 Indicates whether combined A block is zero.
virtual bool isCombinedBZero () const =0
 Indicates whether combined B block is zero.
virtual bool isCombinedCZero () const =0
 Indicates whether combined C block is zero.
virtual void extractSolutionComponent (const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector &v_x) const =0
virtual void extractParameterComponent (bool use_transpose, const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector::DenseMatrix &v_p) const =0
virtual void loadNestedComponents (const NOX::Abstract::MultiVector &v_x, const NOX::Abstract::MultiVector::DenseMatrix &v_p, NOX::Abstract::MultiVector &v) const =0
virtual void fillA (NOX::Abstract::MultiVector &A) const =0
 Fill the combined A block as described above.
virtual void fillB (NOX::Abstract::MultiVector &B) const =0
 Fill the combined B block as described above.
virtual void fillC (NOX::Abstract::MultiVector::DenseMatrix &C) const =0
 Fill the combined C block as described above.

Detailed Description

An interface for groups that are bordered systems.

This class provides an interface for groups whose Jacobian is of the form

\[ \begin{bmatrix} J & A \\ B^T & C \end{bmatrix} \]

where $A$ and $B$ are multivectors and $C$ is a dense matrix. It provides methods for determining the width of the bordered rows/columns and for extracting these components. It is intended to be a recusive interface, in that if the group representing $J$ also has this form, the extracted rows/columns should be the combined rows/columns of this group and the underlying group (and so on).


Member Function Documentation

virtual void LOCA::BorderedSystem::AbstractGroup::extractParameterComponent ( bool  use_transpose,
const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector::DenseMatrix v_p 
) const [pure 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.

Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.

virtual void LOCA::BorderedSystem::AbstractGroup::extractSolutionComponent ( const NOX::Abstract::MultiVector v,
NOX::Abstract::MultiVector v_x 
) const [pure virtual]
virtual void LOCA::BorderedSystem::AbstractGroup::loadNestedComponents ( const NOX::Abstract::MultiVector v_x,
const NOX::Abstract::MultiVector::DenseMatrix v_p,
NOX::Abstract::MultiVector v 
) const [pure virtual]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends