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

Moore-Spence turning point solver strategy based on "Salinger" bordering. This is the classic 4-solve bordering method. More...

#include <LOCA_TurningPoint_MooreSpence_SalingerBordering.H>

Inheritance diagram for LOCA::TurningPoint::MooreSpence::SalingerBordering:
Inheritance graph
[legend]
Collaboration diagram for LOCA::TurningPoint::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::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)
 Set blocks in extended linear system.
 
virtual NOX::Abstract::Group::ReturnType solve (Teuchos::ParameterList &params, const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &input, LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &result) const
 Solves the extended system as defined above.
 
virtual NOX::Abstract::Group::ReturnType solveTranspose (Teuchos::ParameterList &params, const LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &input, LOCA::TurningPoint::MooreSpence::ExtendedMultiVector &result) const
 Solves the transpose of the extended system as defined above.
 
- Public Member Functions inherited from LOCA::TurningPoint::MooreSpence::SolverStrategy
 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.
 
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.
 
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.
 

Protected Member Functions

NOX::Abstract::Group::ReturnType solveContiguous (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input_x, const NOX::Abstract::MultiVector &input_null, const NOX::Abstract::MultiVector::DenseMatrix &input_param, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_null, NOX::Abstract::MultiVector::DenseMatrix &result_param) const
 Solves equations with contiguous arguments.
 
NOX::Abstract::Group::ReturnType solveTransposeContiguous (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input_x, const NOX::Abstract::MultiVector &input_null, const NOX::Abstract::MultiVector::DenseMatrix &input_param, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_null, NOX::Abstract::MultiVector::DenseMatrix &result_param) 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::TurningPoint::MooreSpence::AbstractGroupgroup
 Underlying group.
 
Teuchos::RCP< LOCA::TurningPoint::MooreSpence::ExtendedGrouptpGroup
 Turning point group.
 
Teuchos::RCP< const NOX::Abstract::VectornullVector
 Null vector.
 
Teuchos::RCP< const NOX::Abstract::VectorJnVector
 Jacobian times null vector.
 
Teuchos::RCP< const NOX::Abstract::MultiVectordfdp
 df/dp
 
Teuchos::RCP< const NOX::Abstract::MultiVectordJndp
 d(Jn)/dp
 

Detailed Description

Moore-Spence turning point solver strategy based on "Salinger" bordering. This is the classic 4-solve bordering method.

This class solves the Moore-Spence turning point Newton equations:

\[
    \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}
 \]

via the following block elimination scheme:

\[
   \begin{split}
      J [A \; b] &= [F \; f_p] \\
      J [C \; d] &= (Jv)_x[A \; b] - [G \; (Jv)_p] \\
      z &= (h + \phi^T C) / \phi^T d \\
      X &= A - b z \\
      Y &= -C + d z
   \end{split}
  \]

Constructor & Destructor Documentation

◆ SalingerBordering()

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

Implements LOCA::TurningPoint::MooreSpence::SolverStrategy.

◆ solve()

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

◆ solveTranspose()

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

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