|
FEAT 3
Finite Element Analysis Toolbox
|
(distributed) SuperLU direct sparse solver More...
#include <superlu.hpp>
Public Types | |
| typedef ADPSolverBase< Matrix_, Filter_ > | BaseClass |
| our base class More... | |
| typedef MatrixType::DataType | DataType |
| our internal data type More... | |
| typedef Filter_ | FilterType |
| the (local) filter type More... | |
| typedef MatrixType::IndexType | IndexType |
| our internal index type More... | |
| typedef Matrix_ | MatrixType |
| this specialization expects a local matrix More... | |
| typedef Matrix_::VectorTypeL | VectorType |
| our vector type More... | |
Public Member Functions | |
| SuperLU (const Matrix_ &matrix, const Filter_ &filter) | |
| Constructor. More... | |
| virtual Status | apply (Vector_ &vec_cor, const Vector_ &vec_def)=0 |
| Solver application method. More... | |
| virtual Status | apply (VectorType &vec_cor, const VectorType &vec_def) override |
| virtual void | done () |
| Finalization method. More... | |
| virtual void | done_numeric () override |
| Numeric finalization method. More... | |
| virtual void | done_symbolic () override |
| Symbolic finalization method. More... | |
| virtual void | init () |
| Initialization method. More... | |
| virtual void | init_numeric () override |
| Numeric initialization method. More... | |
| virtual void | init_symbolic () override |
| Symbolic initialization method. More... | |
| virtual String | name () const override |
| Returns a descriptive string. More... | |
Protected Member Functions | |
| template<typename DTV_ > | |
| void | _download_vector (LocalVectorType &vector, const DTV_ *val) |
| Downloads the ADP vector values from the given array. More... | |
| template<typename DTV_ > | |
| void | _download_vector (VectorType &vector, const DTV_ *val) |
| Downloads the ADP vector values from the given array. More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _filter_mat (DTV_ *, const RPT_ *, const CIT_ *, const Global::MeanFilter< DataType, IndexType > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _filter_mat (DTV_ *, const RPT_ *, const CIT_ *, const LAFEM::MeanFilter< DataType, IndexType > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _filter_mat (DTV_ *, const RPT_ *, const CIT_ *, const LAFEM::NoneFilter< DataType, IndexType > &) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ , typename First_ > | |
| void | _filter_mat (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx, const LAFEM::FilterChain< First_ > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ , typename First_ , typename... Rest_> | |
| void | _filter_mat (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx, const LAFEM::FilterChain< First_, Rest_... > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ , typename SubFilter_ > | |
| void | _filter_mat (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx, const LAFEM::FilterSequence< SubFilter_ > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _filter_mat (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx, const LAFEM::UnitFilter< DataType, IndexType > &filter) |
| auxiliary function: filters the local ADP matrix More... | |
| String | _get_adp_block_information () const |
| String | _get_adp_block_information () const |
| Index | _get_adp_matrix_num_cols () const |
| Index | _get_adp_matrix_num_cols () const |
| Index | _get_adp_matrix_num_nzes () const |
| Index | _get_adp_matrix_num_nzes () const |
| Index | _get_adp_matrix_num_rows () const |
| Index | _get_adp_matrix_num_rows () const |
| Index | _get_adp_vector_size () const |
| Index | _get_adp_vector_size () const |
| const Dist::Comm * | _get_comm () const |
| const Dist::Comm * | _get_comm () const |
| Index | _get_global_dof_offset () const |
| Index | _get_global_dof_offset () const |
| Index | _get_num_global_dofs () const |
| Index | _get_num_global_dofs () const |
| Index | _get_num_global_nonzeros () const |
| Index | _get_num_global_nonzeros () const |
| Index | _get_num_owned_dofs () const |
| Index | _get_num_owned_dofs () const |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _upload_numeric (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx) |
| Uploads the (filtered) ADP matrix values to the given array. More... | |
| template<typename DTV_ , typename RPT_ , typename CIT_ > | |
| void | _upload_numeric (DTV_ *val, const RPT_ *row_ptr, const CIT_ *col_idx) |
| Uploads the (filtered) ADP matrix values to the given array. More... | |
| template<typename RPT_ , typename CIT_ > | |
| void | _upload_symbolic (RPT_ *row_ptr, CIT_ *col_idx) |
| Uploads the ADP matrix structure to the given arrays. More... | |
| template<typename RPT_ , typename CIT_ > | |
| void | _upload_symbolic (RPT_ *row_ptr, CIT_ *col_idx) |
| Uploads the ADP matrix structure to the given arrays. More... | |
| template<typename DTV_ > | |
| void | _upload_vector (DTV_ *val, const LocalVectorType &vector) |
| Uploads the ADP vector values to the given array. More... | |
| template<typename DTV_ > | |
| void | _upload_vector (DTV_ *val, const VectorType &vector) |
| Uploads the ADP vector values to the given array. More... | |
Protected Attributes | |
| Dist::Comm | _comm_self |
| self-communicator object More... | |
| void * | _core |
| a pointer to our opaque SuperLU core object More... | |
| const FilterType & | _system_filter |
| the system filter More... | |
| const MatrixType & | _system_matrix |
| the system matrix More... | |
(distributed) SuperLU direct sparse solver
This class implements a wrapper around the distributed SuperLU direct sparse solver, which is provided by the SuperLU third-party library.
Definition at line 97 of file superlu.hpp.
| typedef ADPSolverBase<Matrix_, Filter_> FEAT::Solver::SuperLU< Matrix_, Filter_ >::BaseClass |
our base class
Definition at line 102 of file superlu.hpp.
|
inherited |
our internal data type
Definition at line 783 of file adp_solver_base.hpp.
|
inherited |
the (local) filter type
Definition at line 777 of file adp_solver_base.hpp.
|
inherited |
our internal index type
Definition at line 785 of file adp_solver_base.hpp.
|
inherited |
this specialization expects a local matrix
the (local) matrix type
Definition at line 773 of file adp_solver_base.hpp.
| typedef Matrix_::VectorTypeL FEAT::Solver::SuperLU< Matrix_, Filter_ >::VectorType |
our vector type
Definition at line 104 of file superlu.hpp.
|
inlineexplicit |
Constructor.
Definition at line 114 of file superlu.hpp.
|
protectedinherited |
Downloads the ADP vector values from the given array.
| [in,out] | vector | A transient reference to the local vector that receives the downloaded ADP value array. It is assumed to be allocated to the correct size, but its contents on entry are ignored. |
| [in] | val | A transient pointer to an array of length _get_adp_vector_size() that contains the ADP values that are to be downloaded to the output vector given by vector. |
Referenced by FEAT::Solver::TpetraSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor(), and FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::apply().
|
inlineprotectedinherited |
Downloads the ADP vector values from the given array.
| [in,out] | vector | A transient reference to the local vector that receives the downloaded ADP value array. It is assumed to be allocated to the correct size, but its contents on entry are ignored. |
| [in] | val | A transient pointer to an array of length _get_adp_vector_size() that contains the ADP values that are to be downloaded to the output vector given by vector. |
Definition at line 956 of file adp_solver_base.hpp.
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 994 of file adp_solver_base.hpp.
References XASSERTM.
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 986 of file adp_solver_base.hpp.
References XASSERTM.
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 963 of file adp_solver_base.hpp.
Referenced by FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_filter_mat(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_filter_mat(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_upload_numeric(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_numeric().
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 1020 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_filter_mat().
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 1011 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_filter_mat().
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 1002 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_filter_mat().
|
inlineprotectedinherited |
auxiliary function: filters the local ADP matrix
Definition at line 971 of file adp_solver_base.hpp.
|
protectedinherited |
|
inlineprotectedinherited |
Definition at line 873 of file adp_solver_base.hpp.
References XABORTM.
|
protectedinherited |
|
inlineprotectedinherited |
Definition at line 837 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Definition at line 843 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
|
inlineprotectedinherited |
Definition at line 831 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Referenced by FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_download_vector(), and FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_upload_vector().
|
inlineprotectedinherited |
Definition at line 825 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Definition at line 819 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_comm_self.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Definition at line 867 of file adp_solver_base.hpp.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_get_adp_matrix_num_cols(), FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Definition at line 855 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), and FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack().
|
inlineprotectedinherited |
Definition at line 849 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_get_adp_matrix_num_rows(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_get_adp_vector_size(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Definition at line 861 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Uploads the (filtered) ADP matrix values to the given array.
| [out] | val | A transient pointer to an array of length _get_adp_matrix_num_nzes() that receives the filtered matrix values of the local ADP matrix. |
| [in] | row_ptr | A transient pointer to the row-pointer array of the ADP matrix as returned by the _upload_symbolic() function. |
| [in] | col_idx | A transient pointer to the column-index array of the ADP matrix as returned by the _upload_symbolic() function. |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::TpetraSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_numeric().
|
inlineprotectedinherited |
Uploads the (filtered) ADP matrix values to the given array.
| [out] | val | A transient pointer to an array of length _get_adp_matrix_num_nzes() that receives the filtered matrix values of the local ADP matrix. |
| [in] | row_ptr | A transient pointer to the row-pointer array of the ADP matrix as returned by the _upload_symbolic() function. |
| [in] | col_idx | A transient pointer to the column-index array of the ADP matrix as returned by the _upload_symbolic() function. |
Definition at line 917 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_filter_mat(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Uploads the ADP matrix structure to the given arrays.
| [out] | row_ptr | A transient pointer to an array of length _get_adp_matrix_num_rows()+1 that receives the the row-pointer array of the local ADP matrix. |
| [out] | col_idx | A transient pointer to an array of length _get_adp_matrix_num_nzes() that receives the column index array of the local ADP matrix. |
Referenced by FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_cudss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mkldss(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_mumps(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_superlu(), FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::_create_core_umfpack(), FEAT::Solver::FROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::StokesFROSchPreconditioner< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
|
inlineprotectedinherited |
Uploads the ADP matrix structure to the given arrays.
| [out] | row_ptr | A transient pointer to an array of length _get_adp_matrix_num_rows()+1 that receives the the row-pointer array of the ADP matrix. |
| [out] | col_idx | A transient pointer to an array of length _get_adp_matrix_num_nzes() that receives the column index array of the ADP matrix. |
Definition at line 891 of file adp_solver_base.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_system_matrix.
|
protectedinherited |
Uploads the ADP vector values to the given array.
| [out] | val | A transient pointer to an array of length _get_adp_vector_size() that receives the local ADP values of the input vector given by vector. |
| [in] | vector | A transient reference to the local vector that is to be uploaded to the ADP value array. |
Referenced by FEAT::Solver::TpetraSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def(), and FEAT::Solver::DirectSparseSolver< Matrix_, Filter_ >::apply().
|
inlineprotectedinherited |
Uploads the ADP vector values to the given array.
| [out] | val | A transient pointer to an array of length _get_adp_vector_size() that receives the local ADP values of the input vector given by vector. |
| [in] | vector | A transient reference to the local vector that is to be uploaded to the ADP value array. |
Definition at line 939 of file adp_solver_base.hpp.
|
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.
correct() method which corrects an initial solution instead of starting with the null vector.| [out] | vec_cor | The 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_def | The vector that represents the right-hand-side of the linear system to be solved. |
Implemented in FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, 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().
|
inlineoverridevirtual |
Definition at line 193 of file superlu.hpp.
|
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().
|
inlineoverridevirtual |
Numeric finalization method.
This method is called to release any data allocated in the numeric initialization step.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 184 of file superlu.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_numeric(), and XASSERT.
|
inlineoverridevirtual |
Symbolic finalization method.
This method is called to release any data allocated in the symbolic initialization step.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 149 of file superlu.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_symbolic(), and XASSERT.
|
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().
|
inlineoverridevirtual |
Numeric initialization method.
This method is called to perform numeric initialization of the solver.
Before this function can be called, the symbolic initialization must be performed.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 159 of file superlu.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_global_dofs(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_numeric(), FEAT::Solver::SolverBase< Vector_ >::init_numeric(), XASSERT, and XASSERTM.
|
inlineoverridevirtual |
Symbolic initialization method.
This method is called to perform symbolic initialization of the solver.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 125 of file superlu.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_adp_matrix_num_nzes(), 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_num_global_dofs(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_owned_dofs(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_symbolic(), FEAT::Solver::SolverBase< Vector_ >::init_symbolic(), and XASSERT.
|
inlineoverridevirtual |
Returns a descriptive string.
Implements FEAT::Solver::SolverBase< Vector_ >.
Definition at line 120 of file superlu.hpp.
|
protectedinherited |
self-communicator object
Many third-party libraries always expect a MPI_Comm object even if we operate only on a single MPI process, therefore this class creates a custom self-communicator that can be passed on to the third-party libraries.
Definition at line 795 of file adp_solver_base.hpp.
Referenced by FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_comm().
|
protected |
a pointer to our opaque SuperLU core object
Definition at line 108 of file superlu.hpp.
|
protectedinherited |
the system filter
Definition at line 799 of file adp_solver_base.hpp.
Referenced by FEAT::Solver::TpetraSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor(), and FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor().
|
protectedinherited |
the system matrix
Definition at line 797 of file adp_solver_base.hpp.
Referenced by FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_adp_matrix_num_cols(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_adp_matrix_num_nzes(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_adp_matrix_num_rows(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_adp_vector_size(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_global_dofs(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_global_nonzeros(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_owned_dofs(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_upload_numeric(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_numeric(), FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::_upload_symbolic(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_symbolic(), and FEAT::Solver::ADPSolverBase< Global::PMDCDSCMatrix< MatrixB_, MatrixD_ >, GlobalFilter_, SolverBase_ >::init_symbolic().