Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SchurOp Class Reference

Schur elimination operator on a linear system. More...

#include <core/alien/expression/schur/SchurOp.h>

Collaboration diagram for Alien::SchurOp:

Public Types

enum  eErrorType { NoError , WithErrors }
 Type of algorithm. More...
typedef SimpleCSRMatrix< Arccore::Real > MatrixImpl
 Type of the matrix implementation.
typedef SimpleCSRVector< Arccore::Real > VectorImpl
 Type of the vector implementation.

Public Member Functions

 SchurOp (IMatrix &A, IVector &b)
 Constructor.
virtual ~SchurOp ()
 Free resources.
eErrorType computePrimarySystem (IMatrix &pA, IVector &pb) const
 Shur the linear system.
eErrorType computeSolutionFromPrimaryUnknowns (IVector const &pX, IVector &sX) const

Private Member Functions

eErrorType _apply_schur (Integer block_size, MatrixImpl &A, VectorImpl &B, Integer p_block_size, MatrixImpl &pA, VectorImpl &pB) const
eErrorType _apply_schur (Integer block_size, MatrixImpl &A, VectorImpl &B, VBlock const *p_vblock, MatrixImpl &pA, VectorImpl &pB) const
eErrorType _apply_schur (VBlock const *vblock, MatrixImpl &A, VectorImpl &B, Integer p_block_size, MatrixImpl &pA, VectorImpl &pB) const
eErrorType _apply_schur (VBlock const *vblock, MatrixImpl &A, VectorImpl &B, VBlock const *p_vblock, MatrixImpl &pA, VectorImpl &pB) const
eErrorType _compute_solution (VBlock const *vblock, MatrixImpl const &A, VectorImpl const &B, Integer p_block_size, VectorImpl const &px, VectorImpl &x) const
eErrorType _compute_solution (VBlock const *vblock, MatrixImpl const &A, VectorImpl const &B, VBlock const *p_vblock, VectorImpl const &px, VectorImpl &x) const
void _copy (ConstArrayView< Real > in, ArrayView< Real > out) const
void _copy (ConstArray2View< Real > in, Array2View< Real > out) const

Private Attributes

IMatrixm_A
IVectorm_B
UniqueArray< Real > m_ghost_diag_values

Detailed Description

Schur elimination operator on a linear system.

Definition at line 28 of file SchurOp.h.

Member Typedef Documentation

◆ MatrixImpl

Type of the matrix implementation.

Definition at line 41 of file SchurOp.h.

◆ VectorImpl

Type of the vector implementation.

Definition at line 43 of file SchurOp.h.

Member Enumeration Documentation

◆ eErrorType

Type of algorithm.

Type of the error

Definition at line 34 of file SchurOp.h.

Constructor & Destructor Documentation

◆ SchurOp()

Alien::SchurOp::SchurOp ( IMatrix & A,
IVector & b )

Constructor.

Definition at line 28 of file SchurOp.cc.

◆ ~SchurOp()

virtual Alien::SchurOp::~SchurOp ( )
inlinevirtual

Free resources.

Definition at line 49 of file SchurOp.h.

Member Function Documentation

◆ _apply_schur() [1/4]

SchurOp::eErrorType Alien::SchurOp::_apply_schur ( Integer block_size,
MatrixImpl & A,
VectorImpl & B,
Integer p_block_size,
MatrixImpl & pA,
VectorImpl & pB ) const
private

Definition at line 86 of file SchurOp.cc.

◆ _apply_schur() [2/4]

SchurOp::eErrorType Alien::SchurOp::_apply_schur ( Integer block_size,
MatrixImpl & A,
VectorImpl & B,
VBlock const * p_vblock,
MatrixImpl & pA,
VectorImpl & pB ) const
private

Definition at line 124 of file SchurOp.cc.

◆ _apply_schur() [3/4]

SchurOp::eErrorType Alien::SchurOp::_apply_schur ( VBlock const * vblock,
MatrixImpl & A,
VectorImpl & B,
Integer p_block_size,
MatrixImpl & pA,
VectorImpl & pB ) const
private

Definition at line 135 of file SchurOp.cc.

◆ _apply_schur() [4/4]

SchurOp::eErrorType Alien::SchurOp::_apply_schur ( VBlock const * vblock,
MatrixImpl & A,
VectorImpl & B,
VBlock const * p_vblock,
MatrixImpl & pA,
VectorImpl & pB ) const
private

Definition at line 349 of file SchurOp.cc.

◆ _compute_solution() [1/2]

SchurOp::eErrorType Alien::SchurOp::_compute_solution ( VBlock const * vblock,
MatrixImpl const & A,
VectorImpl const & B,
Integer p_block_size,
VectorImpl const & px,
VectorImpl & x ) const
private

Definition at line 621 of file SchurOp.cc.

◆ _compute_solution() [2/2]

SchurOp::eErrorType Alien::SchurOp::_compute_solution ( VBlock const * vblock,
MatrixImpl const & A,
VectorImpl const & B,
VBlock const * p_vblock,
VectorImpl const & px,
VectorImpl & x ) const
private

Definition at line 667 of file SchurOp.cc.

◆ _copy() [1/2]

void Alien::SchurOp::_copy ( ConstArray2View< Real > in,
Array2View< Real > out ) const
inlineprivate

Definition at line 110 of file SchurOp.h.

◆ _copy() [2/2]

void Alien::SchurOp::_copy ( ConstArrayView< Real > in,
ArrayView< Real > out ) const
inlineprivate

Definition at line 104 of file SchurOp.h.

◆ computePrimarySystem()

SchurOp::eErrorType Alien::SchurOp::computePrimarySystem ( IMatrix & pA,
IVector & pb ) const

Shur the linear system.

Parameters
[in]matrixThe matrix
[in]vectorThe vector
Returns
The eventual error

Definition at line 40 of file SchurOp.cc.

References Alien::IMatrixImpl::block(), Alien::MultiMatrixImpl::get(), Alien::MultiVectorImpl::get(), Alien::IMatrix::impl(), Alien::IVector::impl(), Alien::Block::size(), and Alien::IMatrixImpl::vblock().

Here is the call graph for this function:

◆ computeSolutionFromPrimaryUnknowns()

SchurOp::eErrorType Alien::SchurOp::computeSolutionFromPrimaryUnknowns ( IVector const & pX,
IVector & sX ) const

Definition at line 602 of file SchurOp.cc.

Member Data Documentation

◆ m_A

IMatrix& Alien::SchurOp::m_A
private

Definition at line 117 of file SchurOp.h.

◆ m_B

IVector& Alien::SchurOp::m_B
private

Definition at line 119 of file SchurOp.h.

◆ m_ghost_diag_values

UniqueArray<Real> Alien::SchurOp::m_ghost_diag_values
mutableprivate

Definition at line 121 of file SchurOp.h.


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