NOX Development
Public Member Functions
LOCA::TurningPoint::MooreSpence::SolverStrategy Class Reference

Abstract strategy for solving the Moore-Spence turning point equations. More...

#include <LOCA_TurningPoint_MooreSpence_SolverStrategy.H>

Inheritance diagram for LOCA::TurningPoint::MooreSpence::SolverStrategy:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SolverStrategy ()
 Constructor.
virtual ~SolverStrategy ()
 Destructor.
virtual void setBlocks (const Teuchos::RCP< LOCA::TurningPoint::MooreSpence::AbstractGroup > &group, const Teuchos::RCP< LOCA::TurningPoint::MooreSpence::ExtendedGroup > &tpGroup, const Teuchos::RCP< const NOX::Abstract::Vector > &nullVector, const Teuchos::RCP< const NOX::Abstract::Vector > &JnVector, const Teuchos::RCP< const NOX::Abstract::MultiVector > &dfdp, const Teuchos::RCP< const NOX::Abstract::MultiVector > &dJndp)=0
 Set blocks in extended linear system.
virtual
NOX::Abstract::Group::ReturnType 
solve (Teuchos::ParameterList &params, const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &input, LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &result) const =0
 Solves the extended system as defined above.
virtual
NOX::Abstract::Group::ReturnType 
solveTranspose (Teuchos::ParameterList &params, const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &input, LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &result) const
 Solves the transpose of the extended system as defined above.

Detailed Description

Abstract strategy for solving the Moore-Spence turning point equations.

This class provides an abstract interface for solver strategies to solve the Moore-Spence turning point Newton system:

\[ \begin{bmatrix} J & 0 & f_p \\ (Jv)_x & J & (Jv)_p \\ 0 & \phi^T & 0 \end{bmatrix} \begin{bmatrix} X \\ Y \\ z \end{bmatrix} = \begin{bmatrix} F \\ G \\ h \end{bmatrix}. \]

After instantiating a solver (via LOCA::TurningPoint::MooreSpence::SolverFactory), the linear system is set up by setBlocks() and can then be solved by solve().


Member Function Documentation

virtual void LOCA::TurningPoint::MooreSpence::SolverStrategy::setBlocks ( const Teuchos::RCP< LOCA::TurningPoint::MooreSpence::AbstractGroup > &  group,
const Teuchos::RCP< LOCA::TurningPoint::MooreSpence::ExtendedGroup > &  tpGroup,
const Teuchos::RCP< const NOX::Abstract::Vector > &  nullVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  JnVector,
const Teuchos::RCP< const NOX::Abstract::MultiVector > &  dfdp,
const Teuchos::RCP< const NOX::Abstract::MultiVector > &  dJndp 
) [pure virtual]

Set blocks in extended linear system.

Parameters:
group[in] Underlying group representing J
tpGroup[in] Turning point group representing the turning point equations.
nullVector[in] Vector representing v
JnVector[in] Vector representing Jv
dfdp[in] Vector representing df/dp
dJndp[in] Vector representing d(Jv)/dp

Implemented in LOCA::TurningPoint::MooreSpence::PhippsBordering, and LOCA::TurningPoint::MooreSpence::SalingerBordering.

virtual NOX::Abstract::Group::ReturnType LOCA::TurningPoint::MooreSpence::SolverStrategy::solve ( Teuchos::ParameterList params,
const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector input,
LOCA::TurningPoint::MooreSpence::ExtendedMultiVector result 
) const [pure virtual]

Solves the extended system as defined above.

The params argument is the linear solver parameters.

Implemented in LOCA::TurningPoint::MooreSpence::PhippsBordering, and LOCA::TurningPoint::MooreSpence::SalingerBordering.

virtual NOX::Abstract::Group::ReturnType LOCA::TurningPoint::MooreSpence::SolverStrategy::solveTranspose ( Teuchos::ParameterList params,
const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector input,
LOCA::TurningPoint::MooreSpence::ExtendedMultiVector result 
) const [inline, virtual]

Solves the transpose of the extended system as defined above.

The params argument is the linear solver parameters.

Reimplemented in LOCA::TurningPoint::MooreSpence::PhippsBordering, and LOCA::TurningPoint::MooreSpence::SalingerBordering.

References NOX::Abstract::Group::NotDefined.


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