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:

[legend]
Collaboration diagram for LOCA::BorderedSystem::AbstractGroup:
[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::RefCountPtr<
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::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::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]
 

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

Implemented in LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.

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]
 

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

Implemented in LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:38:30 2008 for NOX by doxygen 1.3.9.1