NOX Development
Loading...
Searching...
No Matches
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.
 
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.
 

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

◆ setBlocks()

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.

◆ solve()

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: