NOX Development
Loading...
Searching...
No Matches
Public Member Functions | List of all members
LOCA::Pitchfork::MooreSpence::SolverStrategy Class Referenceabstract

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

#include <LOCA_Pitchfork_MooreSpence_SolverStrategy.H>

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

Public Member Functions

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

Detailed Description

Abstract strategy for solving the Moore-Spence pitchfork equations.

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

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

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

Member Function Documentation

◆ setBlocks()

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

Set blocks in extended linear system.

Parameters
group[in] Underlying group representing J
pfGroup[in] Pitchfork group representing the pitchfork equations.
asymMultiVector[in] Multivector representing the asymmetric vector
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::Pitchfork::MooreSpence::PhippsBordering, and LOCA::Pitchfork::MooreSpence::SalingerBordering.

◆ solve()

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

Solves the extended system as defined above.

The params argument is the linear solver parameters.

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


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