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

Block elimination strategy for solving a block upper-triangular system. More...

#include <LOCA_BorderedSolver_UpperTriangularBlockElimination.H>

Public Member Functions

 UpperTriangularBlockElimination (const Teuchos::RCP< LOCA::GlobalData > &global_data)
 Constructor.
 
virtual ~UpperTriangularBlockElimination ()
 Destructor.
 
NOX::Abstract::Group::ReturnType solve (Teuchos::ParameterList &params, const LOCA::BorderedSolver::AbstractOperator &op, const NOX::Abstract::MultiVector *A, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system as described above.
 
NOX::Abstract::Group::ReturnType solveTranspose (Teuchos::ParameterList &params, const LOCA::BorderedSolver::AbstractOperator &op, const NOX::Abstract::MultiVector *A, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system using the tranpose of J and C as described above.
 

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data object.
 

Detailed Description

Block elimination strategy for solving a block upper-triangular system.

This class solves the extended system of equations

\[
    \begin{bmatrix}
       op(J) &   A    \\
       0     & op(C)
    \end{bmatrix}
    \begin{bmatrix}
       X \\
       Y
    \end{bmatrix} =
    \begin{bmatrix}
       F \\
       G
    \end{bmatrix}
\]

via block elimination:

\[
    \begin{aligned}
       Y &= op(C)^{-1}G \\
       X &= op(J)^{-1}(F - A Y)
    \end{aligned}
\]

where $op$ represents either the identity operation or the transpose. $C$ must be nonzero, while $A$, $F$ or $G$ may be zero. The solve for the non-transposed system is implemented by the solve() method, while the solve for the transposed system is implemented by the solveTranspose() method.

Constructor & Destructor Documentation

◆ UpperTriangularBlockElimination()

LOCA::BorderedSolver::UpperTriangularBlockElimination::UpperTriangularBlockElimination ( const Teuchos::RCP< LOCA::GlobalData > &  global_data)

Constructor.

Parameters
global_data[in] Global data object

Member Function Documentation

◆ solve()

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::UpperTriangularBlockElimination::solve ( Teuchos::ParameterList &  params,
const LOCA::BorderedSolver::AbstractOperator op,
const NOX::Abstract::MultiVector A,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y 
) const

◆ solveTranspose()

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::UpperTriangularBlockElimination::solveTranspose ( Teuchos::ParameterList &  params,
const LOCA::BorderedSolver::AbstractOperator op,
const NOX::Abstract::MultiVector A,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y 
) const

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