FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ > Class Template Referenceabstract

Base-Class for solvers/preconditioners borrowed from HYPRE library. More...

#include <hypre.hpp>

Inheritance diagram for FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >:
FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ > FEAT::Solver::SolverBase< Vector_ > FEAT::Solver::BoomerAMG< Matrix_, Filter_ > FEAT::Solver::EuclidPrecond< Matrix_, Filter_ > FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >

Public Types

typedef ADPSolverBase< Matrix_, Filter_, SolverBase_ > BaseClass
 our base-class More...
 
typedef BaseClass::VectorType VectorType
 

Public Member Functions

virtual Status apply (Vector_ &vec_cor, const Vector_ &vec_def)=0
 Solver application method. More...
 
virtual void done ()
 Finalization method. More...
 
virtual void done_numeric ()
 Numeric finalization method. More...
 
virtual void done_symbolic () override
 Symbolic Finalization. More...
 
virtual void init ()
 Initialization method. More...
 
virtual void init_numeric () override
 Numeric Initialization. More...
 
virtual void init_symbolic () override
 Symbolic Initialization. More...
 
virtual String name () const =0
 Returns a descriptive string. More...
 

Protected Member Functions

 HypreSolverBase (const Matrix_ &matrix, const Filter_ &filter)
 
void _download_cor (VectorType &vec_cor)
 Downloads the HYPRE correction vector. More...
 
void _download_vec_cor (VectorType &vec_cor)
 
void _download_vec_def (VectorType &vec_def)
 
void _format_cor ()
 Format the HYPRE correction vector. More...
 
const Dist::Comm_get_comm () const
 
Index _get_global_dof_offset () const
 
const IndexType * _get_mat_col_idx () const
 
Index _get_mat_num_nze () const
 
const IndexType * _get_mat_row_ptr () const
 
const DataType * _get_mat_vals () const
 
Index _get_num_global_dofs () const
 
Index _get_num_owned_dofs () const
 
DataType * _get_vec_cor_vals (VectorType &vec_cor)
 
const DataType * _get_vec_def_vals (const VectorType &vec_def)
 
DataType * _get_vec_def_vals (VectorType &vec_def)
 
void _upload_def (const VectorType &vec_def)
 Uploads the HYPRE defect vector. More...
 
void _upload_vec_cor (const VectorType &vec_cor)
 
void _upload_vec_def (const VectorType &vec_def)
 

Protected Attributes

void * _core
 a pointer to our opaque core wrapper object More...
 

Detailed Description

template<typename Matrix_, typename Filter_, typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
class FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >

Base-Class for solvers/preconditioners borrowed from HYPRE library.

This class acts as a base-class for all solvers that we borrow from the HYPRE library. As all our HYPRE solvers use the "IJ"-based ParCSR format, which corresponds to our "algebraic DOF partitioning", this class derives from the ADPSolverBase class, which takes care of the translation between the system matrix and the ADP data structures.

This base-class takes care of allocating, initialising and updating the required HYPRE matrix and vector objects, which are outsourced into an opaque core wrapper object.

Author
Peter Zajac

Definition at line 96 of file hypre.hpp.

Member Typedef Documentation

◆ BaseClass

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
typedef ADPSolverBase<Matrix_, Filter_, SolverBase_> FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::BaseClass

our base-class

Definition at line 101 of file hypre.hpp.

◆ VectorType

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
typedef BaseClass::VectorType FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::VectorType

Definition at line 103 of file hypre.hpp.

Constructor & Destructor Documentation

◆ HypreSolverBase()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::HypreSolverBase ( const Matrix_ &  matrix,
const Filter_ &  filter 
)
inlineexplicitprotected

Definition at line 109 of file hypre.hpp.

Member Function Documentation

◆ _download_cor()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor ( VectorType &  vec_cor)
inlineprotected

Downloads the HYPRE correction vector.

This function first downloads the HYPRE vector into its ADP correction vector counterpart and afterwards downloads that into the given correction vector.

Parameters
[out]vec_corThe correction vector to download to.

Definition at line 151 of file hypre.hpp.

References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_download_vec_cor(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_cor_vals().

◆ _download_vec_cor()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_download_vec_cor ( VectorType vec_cor)
protectedinherited
Returns
Downloads a correction vector.

Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor().

◆ _download_vec_def()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_download_vec_def ( VectorType vec_def)
protectedinherited
Returns
Downloads a defect vector.

◆ _format_cor()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_format_cor ( )
inlineprotected

Format the HYPRE correction vector.

Definition at line 136 of file hypre.hpp.

◆ _get_comm()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
const Dist::Comm * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_comm ( ) const
protectedinherited

◆ _get_global_dof_offset()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
Index FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_global_dof_offset ( ) const
protectedinherited

◆ _get_mat_col_idx()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
const IndexType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_col_idx ( ) const
protectedinherited

◆ _get_mat_num_nze()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
Index FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_num_nze ( ) const
protectedinherited
Returns
The number of non-zero entries in this process's matrix partition

◆ _get_mat_row_ptr()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
const IndexType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_row_ptr ( ) const
protectedinherited

◆ _get_mat_vals()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
const DataType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_vals ( ) const
protectedinherited

◆ _get_num_global_dofs()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
Index FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_global_dofs ( ) const
protectedinherited

◆ _get_num_owned_dofs()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
Index FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_owned_dofs ( ) const
protectedinherited

◆ _get_vec_cor_vals()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
DataType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_cor_vals ( VectorType vec_cor)
protectedinherited
Returns
The data array of the owned correction vector.

Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor().

◆ _get_vec_def_vals() [1/2]

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
const DataType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_def_vals ( const VectorType vec_def)
protectedinherited
Returns
The data array of the owned defect vector.

Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def().

◆ _get_vec_def_vals() [2/2]

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
DataType * FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_def_vals ( VectorType vec_def)
protectedinherited
Returns
The data array of the owned defect vector.

◆ _upload_def()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def ( const VectorType &  vec_def)
inlineprotected

Uploads the HYPRE defect vector.

This function first uploads the given defect vector into its ADP defect vector counterpart and afterwards uploads that into the HYPRE vector counterpart.

Parameters
[in]vec_defThe defect vector to be uploaded from.

Definition at line 124 of file hypre.hpp.

References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_def_vals(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_vec_def().

◆ _upload_vec_cor()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_vec_cor ( const VectorType vec_cor)
protectedinherited
Returns
Uploads a correction vector.

◆ _upload_vec_def()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_vec_def ( const VectorType vec_def)
protectedinherited

◆ apply()

template<typename Vector_ >
virtual Status FEAT::Solver::SolverBase< Vector_ >::apply ( Vector_ &  vec_cor,
const Vector_ &  vec_def 
)
pure virtualinherited

Solver application method.

This method applies the solver represented by this object onto a given defect vector and returns the corresponding correction vector.

Note
Solvers which derive from the IterativeSolver base class also provide a correct() method which corrects an initial solution instead of starting with the null vector.
Parameters
[out]vec_corThe vector that shall receive the solution of the linear system. It is assumed to be allocated, but its numerical contents may be undefined upon calling this method.
[in]vec_defThe vector that represents the right-hand-side of the linear system to be solved.
Attention
vec_cor and vec_def must not refer to the same vector object!
Returns
A Status code that represents the status of the solution step.

Implemented in FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::CuSolverLU, FEAT::Solver::CuSolverQR, FEAT::Solver::ScalePrecond< Vector_, Filter_ >, FEAT::Solver::DiagonalPrecond< Vector_, Filter_ >, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NLOptPrecond< VectorType_, FilterType_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, and FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >.

Referenced by FEAT::Solver::solve().

◆ done()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::done ( )
inlinevirtualinherited

Finalization method.

This function performs both the symbolic and numeric finalization, i.e. it simply performs

this->done_numeric();
this->done_symbolic();

Definition at line 283 of file base.hpp.

References FEAT::Solver::SolverBase< Vector_ >::done_numeric(), and FEAT::Solver::SolverBase< Vector_ >::done_symbolic().

◆ done_numeric()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::done_numeric ( )
inlinevirtualinherited

Numeric finalization method.

This method is called to release any data allocated in the numeric initialization step.

Reimplemented in FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >, FEAT::Solver::EuclidPrecond< Matrix_, Filter_ >, FEAT::Solver::BoomerAMG< Matrix_, Filter_ >, FEAT::Solver::PreconditionedIterativeSolver< Vector_ >, FEAT::Solver::PreconditionedIterativeSolver< Matrix_::VectorTypeR >, FEAT::Solver::PreconditionedIterativeSolver< Functional_::VectorTypeR >, FEAT::Solver::MKLDSS, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >.

Definition at line 246 of file base.hpp.

Referenced by FEAT::Solver::SolverBase< Vector_ >::done(), FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_numeric(), FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_numeric(), FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::done_numeric(), FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::done_numeric(), FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::done_numeric(), FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::done_numeric(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::done_numeric(), FEAT::Solver::PCGNR< Matrix_, Filter_ >::done_numeric(), FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::done_numeric(), FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_numeric(), and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_numeric().

◆ done_symbolic()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
virtual void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::done_symbolic ( )
inlineoverridevirtual

Symbolic Finalization.

This function destroys all HYPRE objects managed by this class and resets all auxiliary vectors and pointers.

Reimplemented from FEAT::Solver::SolverBase< Vector_ >.

Definition at line 211 of file hypre.hpp.

References FEAT::Solver::SolverBase< Vector_ >::done_symbolic(), and XASSERT.

◆ init()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::init ( )
inlinevirtualinherited

Initialization method.

This function performs both the symbolic and numeric initialization, i.e. it simply performs

this->init_symbolic();
this->init_numeric();

Definition at line 268 of file base.hpp.

References FEAT::Solver::SolverBase< Vector_ >::init_numeric(), and FEAT::Solver::SolverBase< Vector_ >::init_symbolic().

◆ init_numeric()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
virtual void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric ( )
inlineoverridevirtual

◆ init_symbolic()

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
virtual void FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic ( )
inlineoverridevirtual

Symbolic Initialization.

This function creates the HYPRE matrix and vector objects and initializes their structure/layout by using the algebraic DOF partitioning (ADP) that is managed by the base-class. This function also performs an initial upload of the matrix and vector values from the ADP structures (because HYPRE requires this), although these values may be undefined (but existent) at this point.

Reimplemented from FEAT::Solver::SolverBase< Vector_ >.

Definition at line 173 of file hypre.hpp.

References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_comm(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_global_dof_offset(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_col_idx(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_row_ptr(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_owned_dofs(), FEAT::Solver::SolverBase< Vector_ >::init_symbolic(), and XASSERT.

◆ name()

template<typename Vector_ >
virtual String FEAT::Solver::SolverBase< Vector_ >::name ( ) const
pure virtualinherited

Returns a descriptive string.

Returns
A string describing the solver.

Implemented in FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >, FEAT::Solver::ALGLIBMinCG< Functional_, Filter_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::BiCGStab< Matrix_, Filter_ >, FEAT::Solver::BiCGStabL< Matrix_, Filter_ >, FEAT::Solver::Chebyshev< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::CuSolverLU, FEAT::Solver::CuSolverQR, FEAT::Solver::Descent< Matrix_, Filter_ >, FEAT::Solver::DiagonalPrecond< Vector_, Filter_ >, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::FGMRES< Matrix_, Filter_ >, FEAT::Solver::FixedStepLinesearch< Functional_, Filter_ >, FEAT::Solver::GMRES< Matrix_, Filter_ >, FEAT::Solver::GroppPCG< Matrix_, Filter_ >, FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >, FEAT::Solver::EuclidPrecond< Matrix_, Filter_ >, FEAT::Solver::BoomerAMG< Matrix_, Filter_ >, FEAT::Solver::IDRS< Matrix_, Filter_ >, FEAT::Solver::ILUPrecond< Matrix_, Filter_ >, FEAT::Solver::JacobiPrecond< Matrix_, Filter_ >, FEAT::Solver::MatrixPrecond< Matrix_, Filter_ >, FEAT::Solver::MKLDSS, FEAT::Solver::MQCLinesearch< Functional_, Filter_ >, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NewtonRaphsonLinesearch< Functional_, Filter_ >, FEAT::Solver::NLCG< Functional_, Filter_ >, FEAT::Solver::NonlinearOperatorPrecondWrapper< NonlinearOperator_ >, FEAT::Solver::NLSD< Functional_, Filter_ >, FEAT::Solver::PCG< Matrix_, Filter_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::PCGNRILU< Matrix_, Filter_ >, FEAT::Solver::PCR< Matrix_, Filter_ >, FEAT::Solver::PipePCG< Matrix_, Filter_ >, FEAT::Solver::PMR< Matrix_, Filter_ >, FEAT::Solver::PolynomialPrecond< Matrix_, Filter_ >, FEAT::Solver::PreconWrapper< Matrix_, Filter_, Precon_ >, FEAT::Solver::PSD< Matrix_, Filter_ >, FEAT::Solver::QPenalty< Functional_ >, FEAT::Solver::RBiCGStab< Matrix_, Filter_ >, FEAT::Solver::RGCR< Matrix_, Filter_ >, FEAT::Solver::Richardson< Matrix_, Filter_ >, FEAT::Solver::ScalePrecond< Vector_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::SecantLinesearch< Functional_, Filter_ >, FEAT::Solver::SORPrecond< Matrix_, Filter_ >, FEAT::Solver::SSORPrecond< Matrix_, Filter_ >, FEAT::Solver::SuperLU< Matrix_, Filter_ >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >, FEAT::Solver::VoxelAmaVanka< Matrix_, Filter_, pol_threading_, macro_type_ >, FEAT::Solver::NLOptPrecond< VectorType_, FilterType_ >, FEAT::Solver::NLOptPrecond< OperatorType_::VectorType, Filter >, FEAT::Solver::NLOptPrecond< Operator_::VectorType, Filter_ >, and FEAT::Solver::NLOptPrecond< NonlinearOperator_::SystemLevelType::GlobalSystemVectorR, NonlinearOperator_::SystemLevelType::GlobalSystemFilter >.

Referenced by FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::_apply_precond(), FEAT::Solver::Linesearch< Functional_, Filter_ >::_check_convergence(), FEAT::Solver::IterativeSolver< Vector_ >::_set_initial_defect(), FEAT::Solver::NLOptLS< Functional_, Filter_ >::_set_initial_defect(), FEAT::Solver::IterativeSolver< Vector_ >::_set_new_defect(), FEAT::Solver::NLOptLS< Functional_, Filter_ >::_set_new_defect(), and FEAT::Solver::IterativeSolver< Vector_ >::_update_defect().

Member Data Documentation

◆ _core

template<typename Matrix_ , typename Filter_ , typename SolverBase_ = Solver::SolverBase<typename Matrix_::VectorTypeL>>
void* FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_core
protected

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