Distributed wrapper for Eigen::SparseLU solver. Plus de détails...
Graphe d'héritage de Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >:
Graphe de collaboration de Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >:Types publics | |
| using | EigenMatrix = Eigen::SparseMatrix<value_type, Eigen::ColMajor, int> |
| using | Solver = EigenSolver<Eigen::SparseLU<EigenMatrix>> |
| typedef Solver::params | params |
| typedef CSRMatrix< value_type > | build_matrix |
Types publics hérités de Arcane::Alina::DistributedDirectSolverBase< value_type, DistributedEigenSparseLUDirectSolver< value_type > > | |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef math::rhs_of< value_type >::type | rhs_type |
| typedef CSRMatrix< value_type > | build_matrix |
Fonctions membres publiques | |
| template<class Matrix> | |
| DistributedEigenSparseLUDirectSolver (mpi_communicator comm, const Matrix &A, const params &prm=params()) | |
| Constructor. | |
| int | comm_size (int) const |
| void | init (mpi_communicator, const build_matrix &A) |
| template<class Vec1, class Vec2> | |
| void | solve (const Vec1 &rhs, Vec2 &x) const |
| Solves the problem for the given right-hand side. | |
Fonctions membres publiques hérités de Arcane::Alina::DistributedDirectSolverBase< value_type, DistributedEigenSparseLUDirectSolver< value_type > > | |
| void | init (mpi_communicator comm, const build_matrix &Astrip) |
| void | init (mpi_communicator comm, const DistributedMatrix< B > &A) |
| DistributedEigenSparseLUDirectSolver< value_type > & | solver () |
| const DistributedEigenSparseLUDirectSolver< value_type > & | solver () const |
| void | operator() (const VecF &f, VecX &x) const |
| void | init (mpi_communicator comm, const build_matrix &Astrip) |
| void | init (mpi_communicator comm, const DistributedMatrix< B > &A) |
| DistributedEigenSparseLUDirectSolver< value_type > & | solver () |
| const DistributedEigenSparseLUDirectSolver< value_type > & | solver () const |
| void | operator() (const VecF &f, VecX &x) const |
Fonctions membres publiques statiques | |
| static size_t | coarse_enough () |
Types privés | |
| typedef DistributedDirectSolverBase< value_type, DistributedEigenSparseLUDirectSolver< value_type > > | Base |
Attributs privés | |
| params | prm |
| std::shared_ptr< Solver > | S |
Distributed wrapper for Eigen::SparseLU solver.
This is a wrapper around Eigen SparseLU solver that provides a distributed direct solver interface but always works sequentially.
Définition à la ligne 48 du fichier DistributedEigenSparseLUDirectSolver.h.
|
private |
Définition à la ligne 96 du fichier DistributedEigenSparseLUDirectSolver.h.
| typedef CSRMatrix<value_type> Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::build_matrix |
Définition à la ligne 56 du fichier DistributedEigenSparseLUDirectSolver.h.
| using Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::EigenMatrix = Eigen::SparseMatrix<value_type, Eigen::ColMajor, int> |
Définition à la ligne 53 du fichier DistributedEigenSparseLUDirectSolver.h.
| typedef Solver::params Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::params |
Définition à la ligne 55 du fichier DistributedEigenSparseLUDirectSolver.h.
| using Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::Solver = EigenSolver<Eigen::SparseLU<EigenMatrix>> |
Définition à la ligne 54 du fichier DistributedEigenSparseLUDirectSolver.h.
|
inline |
Constructor.
Définition à la ligne 60 du fichier DistributedEigenSparseLUDirectSolver.h.
|
inlinestatic |
Définition à la ligne 67 du fichier DistributedEigenSparseLUDirectSolver.h.
|
inline |
Définition à la ligne 72 du fichier DistributedEigenSparseLUDirectSolver.h.
|
inline |
Définition à la ligne 77 du fichier DistributedEigenSparseLUDirectSolver.h.
|
inline |
Solves the problem for the given right-hand side.
| rhs | The right-hand side. |
| x | The solution. |
Définition à la ligne 89 du fichier DistributedEigenSparseLUDirectSolver.h.
|
private |
Définition à la ligne 97 du fichier DistributedEigenSparseLUDirectSolver.h.
|
private |
Définition à la ligne 98 du fichier DistributedEigenSparseLUDirectSolver.h.