NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
LOCA::TurningPoint::MooreSpence::SolverStrategy Class Referenceabstract

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]

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. More...
 
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. More...
 
virtual
NOX::Abstract::Group::ReturnType 
solveTranspose (Teuchos::ParameterList &, const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &, LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &) const
 Solves the transpose of the extended system as defined above. More...
 

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 ,
const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector ,
LOCA::TurningPoint::MooreSpence::ExtendedMultiVector  
) const
inlinevirtual

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: