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

Abstract strategy for solving the Moore-Spence Hopf equations. More...

#include <LOCA_Hopf_MooreSpence_SolverStrategy.H>

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

Public Member Functions

 SolverStrategy ()
 Constructor.
 
virtual ~SolverStrategy ()
 Destructor.
 
virtual void setBlocks (const Teuchos::RCP< LOCA::Hopf::MooreSpence::AbstractGroup > &group, const Teuchos::RCP< LOCA::Hopf::MooreSpence::ExtendedGroup > &hopfGroup, const Teuchos::RCP< const NOX::Abstract::Vector > &yVector, const Teuchos::RCP< const NOX::Abstract::Vector > &zVector, const Teuchos::RCP< const NOX::Abstract::Vector > &CeRealVector, const Teuchos::RCP< const NOX::Abstract::Vector > &CeImagVector, const Teuchos::RCP< const NOX::Abstract::Vector > &dfdp, const Teuchos::RCP< const NOX::Abstract::Vector > &dCedpReal, const Teuchos::RCP< const NOX::Abstract::Vector > &dCedpImag, const Teuchos::RCP< const NOX::Abstract::Vector > &ByVector, const Teuchos::RCP< const NOX::Abstract::Vector > &mBzVector, double w)=0
 Set blocks in extended linear system. More...
 
virtual
NOX::Abstract::Group::ReturnType 
solve (Teuchos::ParameterList &params, const LOCA::Hopf::MooreSpence::ExtendedMultiVector &input, LOCA::Hopf::MooreSpence::ExtendedMultiVector &result) const =0
 Solves the extended system as defined above. More...
 

Detailed Description

Abstract strategy for solving the Moore-Spence Hopf equations.

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

\[ \begin{bmatrix} J & 0 & 0 & 0 & f_p \\ (Jy-wBz)_x & J & -wB & -Bz & (Jy-wBz)_p \\ (Jz+wBy)_x & wB & J & By & (Jz+wBy)_p \\ 0 & \phi^T & 0 & 0 & 0 \\ 0 & 0 & \phi^T & 0 & 0 \end{bmatrix} \begin{bmatrix} X \\ Y \\ Z \\ \Omega^T \\ \Lambda^T \end{bmatrix} = \begin{bmatrix} F \\ G \\ H \\ U^T \\ V^T \end{bmatrix}. \]

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

Member Function Documentation

virtual void LOCA::Hopf::MooreSpence::SolverStrategy::setBlocks ( const Teuchos::RCP< LOCA::Hopf::MooreSpence::AbstractGroup > &  group,
const Teuchos::RCP< LOCA::Hopf::MooreSpence::ExtendedGroup > &  hopfGroup,
const Teuchos::RCP< const NOX::Abstract::Vector > &  yVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  zVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  CeRealVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  CeImagVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  dfdp,
const Teuchos::RCP< const NOX::Abstract::Vector > &  dCedpReal,
const Teuchos::RCP< const NOX::Abstract::Vector > &  dCedpImag,
const Teuchos::RCP< const NOX::Abstract::Vector > &  ByVector,
const Teuchos::RCP< const NOX::Abstract::Vector > &  mBzVector,
double  w 
)
pure virtual

Set blocks in extended linear system.

Parameters
group[in] Underlying group representing J
hopfGroup[in] Hopf group representing the Hopf equations.
yVector[in] Vector representing y
zVector[in] Vector representing z
CeRealVector[in] Vector representing Jy-wBz
CeImagVector[in] Vector representing Jz+wBy
dfdp[in] Vector representing df/dp
dCedpReal[in] Vector representing d(Jy-wBz)/dp
dCedpImag[in] Vector representing d(Jz+wBy)/dp
ByVector[in] Vector representing By
mBzVector[in] Vector representing -Bz
w[in] Bifurcation frequency w

Implemented in LOCA::Hopf::MooreSpence::SalingerBordering.

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

Solves the extended system as defined above.

The params argument is the linear solver parameters.

Implemented in LOCA::Hopf::MooreSpence::SalingerBordering.


The documentation for this class was generated from the following file: