|
NOX
Development
|
An interface for groups that are bordered systems. More...
#include <LOCA_BorderedSystem_AbstractGroup.H>


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. | |
An interface for groups that are bordered systems.
This class provides an interface for groups whose Jacobian is of the form
where
and
are multivectors and
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
also has this form, the extracted rows/columns should be the combined rows/columns of this group and the underlying group (and so on).
| 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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, and LOCA::MultiContinuation::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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, and LOCA::MultiContinuation::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::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, LOCA::Homotopy::DeflatedGroup, LOCA::MultiContinuation::ConstrainedGroup, and LOCA::MultiContinuation::ExtendedGroup.
1.7.6.1