NOX Development
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LOCA::Hopf::MooreSpence::SalingerBordering Class Reference

Moore-Spence Hopf solver strategy based on "Salinger" bordering. This is the classic 5-solve Hopf bordering method. More...

#include <LOCA_Hopf_MooreSpence_SalingerBordering.H>

Inheritance diagram for LOCA::Hopf::MooreSpence::SalingerBordering:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Hopf::MooreSpence::SalingerBordering:
Collaboration graph
[legend]

Public Member Functions

 SalingerBordering (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)
 Constructor.
 
virtual ~SalingerBordering ()
 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)
 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
 Solves the extended system as defined above.
 
- Public Member Functions inherited from LOCA::Hopf::MooreSpence::SolverStrategy
 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.
 

Protected Member Functions

NOX::Abstract::Group::ReturnType solveContiguous (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input_x, const NOX::Abstract::MultiVector &input_y, const NOX::Abstract::MultiVector &input_z, const NOX::Abstract::MultiVector::DenseMatrix &input_w, const NOX::Abstract::MultiVector::DenseMatrix &input_p, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_y, NOX::Abstract::MultiVector &result_z, NOX::Abstract::MultiVector::DenseMatrix &result_w, NOX::Abstract::MultiVector::DenseMatrix &result_p) const
 Solves equations with contiguous arguments.
 

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data object.
 
Teuchos::RCP< Teuchos::ParameterList > solverParams
 Solver parameters.
 
Teuchos::RCP< LOCA::Hopf::MooreSpence::AbstractGroupgroup
 Underlying group.
 
Teuchos::RCP< LOCA::Hopf::MooreSpence::ExtendedGrouphopfGroup
 Hopf group.
 
Teuchos::RCP< const NOX::Abstract::VectoryVector
 Real component of eigenvector.
 
Teuchos::RCP< const NOX::Abstract::VectorzVector
 Imaginary component of eigenvector.
 
Teuchos::RCP< const NOX::Abstract::VectorCeRealVector
 Jy-wBz vector.
 
Teuchos::RCP< const NOX::Abstract::VectorCeImagVector
 Jz+wBy vector.
 
Teuchos::RCP< const NOX::Abstract::Vectordfdp
 df/dp vector
 
Teuchos::RCP< const NOX::Abstract::VectordCedpReal
 d(Jy-wBz)/dp vector
 
Teuchos::RCP< const NOX::Abstract::VectordCedpImag
 d(Jz+wBy)/dp vector
 
Teuchos::RCP< const NOX::Abstract::VectorByVector
 By vector.
 
Teuchos::RCP< const NOX::Abstract::VectorminusBzVector
 -Bz vector
 
double w
 Frequency w.
 

Detailed Description

Moore-Spence Hopf solver strategy based on "Salinger" bordering. This is the classic 5-solve Hopf bordering method.

This class solves the Moore-Spence Hopf Newton equations:

\[
    \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 \\
       \lambda
    \end{bmatrix} =
    \begin{bmatrix}
       F \\
       G \\
       H \\
       u \\
       v
    \end{bmatrix}.
 \]

via the following block elimination scheme:

\[
   \begin{split}
      J [A \; b] &= [F \; f_p] \\
      \begin{bmatrix}
         J & -wB \\
        wB &  J
      \end{bmatrix}
      \begin{bmatrix}
         C & e & g \\
         D & f & h
      \end{bmatrix} &=
      \begin{bmatrix}
         G - (Jy-wBz)_x A & (Jy-wBz)_p - (Jy-wBz)_x b & -Bz \\
         H - (Jz+wBy)_x A & (Jz+wBy)_p - (Jy-wBz)_x b &  By
      \end{bmatrix} \\
      \lambda &= \frac{(\phi^T h)(\phi^T C-u)-(\phi^T g)(\phi^T D-v)}
                      {(\phi^T h)(\phi^T e)-(\phi^T g)(\phi^T f)} \\
      \omega &= \frac{\phi^T D - v - (\phi^T f)\lambda}{\phi^T h} \\
      X &= A - b \lambda \\
      \begin{bmatrix}
         Y \\
         Z
      \end{bmatrix} &=
      \begin{bmatrix}
         C \\
         D
      \end{bmatrix} -
      \begin{bmatrix}
         e \\
         f
      \end{bmatrix}\lambda -
      \begin{bmatrix}
         g \\
         h
      \end{bmatrix}\omega
   \end{split}
  \]

Constructor & Destructor Documentation

◆ SalingerBordering()

LOCA::Hopf::MooreSpence::SalingerBordering::SalingerBordering ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams 
)

Constructor.

Parameters
global_data[in] Global data object
topParams[in] Parsed top-level parameter list
solverParams[in] Bordered solver parameters. Currently none are referenced.

Member Function Documentation

◆ setBlocks()

void LOCA::Hopf::MooreSpence::SalingerBordering::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 
)
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

Implements LOCA::Hopf::MooreSpence::SolverStrategy.

◆ solve()

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

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