Distributed solver based on subdomain deflation. More...
Classes | |
| struct | params |
Public Types | |
| typedef LocalPrecond::backend_type | backend_type |
| typedef backend_type::params | backend_params |
| typedef backend_type::value_type | value_type |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef backend_type::matrix | bmatrix |
| using | col_type = backend_type::col_type |
| using | ptr_type = backend_type::ptr_type |
| typedef backend_type::vector | vector |
| typedef DistributedMatrix< backend_type > | matrix |
Public Member Functions | |
| template<class Matrix> | |
| DistributedSubDomainDeflation (mpi_communicator comm, const Matrix &Astrip, const params &prm=params(), const backend_params &bprm=backend_params()) | |
| DistributedSubDomainDeflation (mpi_communicator comm, std::shared_ptr< matrix > A, const params &prm=params(), const backend_params &bprm=backend_params()) | |
| void | init (const params &prm=params(), const backend_params &bprm=backend_params()) |
| template<class Vec1, class Vec2> | |
| void | apply (const Vec1 &rhs, Vec2 &&x) const |
| std::shared_ptr< matrix > | system_matrix_ptr () const |
| const matrix & | system_matrix () const |
| template<class Matrix, class Vec1, class Vec2> | |
| std::tuple< size_t, value_type > | operator() (const Matrix &A, const Vec1 &rhs, Vec2 &&x) const |
| template<class Vec1, class Vec2> | |
| std::tuple< size_t, value_type > | operator() (const Vec1 &rhs, Vec2 &&x) const |
| size_t | size () const |
| template<class Vector> | |
| void | project (Vector &x) const |
Private Member Functions | |
| void | coarse_solve (std::vector< value_type > &f, std::vector< value_type > &x) const |
| template<class Vec1, class Vec2> | |
| void | postprocess (const Vec1 &rhs, Vec2 &x) const |
Private Attributes | |
| mpi_communicator | comm |
| ptrdiff_t | nrows |
| ptrdiff_t | ndv |
| ptrdiff_t | nz |
| std::shared_ptr< matrix > | A |
| std::shared_ptr< matrix > | AZ |
| std::shared_ptr< LocalPrecond > | P |
| std::vector< value_type > | df |
| std::vector< value_type > | dx |
| std::vector< ptrdiff_t > | dv_start |
| std::vector< std::shared_ptr< vector > > | Z |
| std::shared_ptr< DirectSolver > | E |
| std::shared_ptr< vector > | q |
| std::shared_ptr< vector > | dd |
| IterativeSolver | S |
Static Private Attributes | |
| static const int | tag_exc_vals = 2011 |
| static const int | tag_exc_dmat = 3011 |
| static const int | tag_exc_dvec = 4011 |
| static const int | tag_exc_lnnz = 5011 |
Distributed solver based on subdomain deflation.
Definition at line 129 of file DistributedSubDomainDeflation.h.
| typedef backend_type::params Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::backend_params |
Definition at line 134 of file DistributedSubDomainDeflation.h.
| typedef LocalPrecond::backend_type Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::backend_type |
Definition at line 133 of file DistributedSubDomainDeflation.h.
| typedef backend_type::matrix Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::bmatrix |
Definition at line 177 of file DistributedSubDomainDeflation.h.
| using Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::col_type = backend_type::col_type |
Definition at line 178 of file DistributedSubDomainDeflation.h.
| typedef DistributedMatrix<backend_type> Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::matrix |
Definition at line 181 of file DistributedSubDomainDeflation.h.
| using Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::ptr_type = backend_type::ptr_type |
Definition at line 179 of file DistributedSubDomainDeflation.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::scalar_type |
Definition at line 176 of file DistributedSubDomainDeflation.h.
| typedef backend_type::value_type Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::value_type |
Definition at line 175 of file DistributedSubDomainDeflation.h.
| typedef backend_type::vector Arcane::Alina::DistributedSubDomainDeflation< LocalPrecond, IterativeSolver, DirectSolver >::vector |
Definition at line 180 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 184 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 200 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 464 of file DistributedSubDomainDeflation.h.
|
inlineprivate |
Definition at line 552 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 216 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 483 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 493 of file DistributedSubDomainDeflation.h.
|
inlineprivate |
Definition at line 560 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 506 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 500 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 477 of file DistributedSubDomainDeflation.h.
|
inline |
Definition at line 472 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 537 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 537 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 534 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 548 of file DistributedSubDomainDeflation.h.
|
mutableprivate |
Definition at line 540 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 541 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 540 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 545 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 535 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 535 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 535 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 538 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 547 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 550 of file DistributedSubDomainDeflation.h.
|
staticprivate |
Definition at line 530 of file DistributedSubDomainDeflation.h.
|
staticprivate |
Definition at line 531 of file DistributedSubDomainDeflation.h.
|
staticprivate |
Definition at line 532 of file DistributedSubDomainDeflation.h.
|
staticprivate |
Definition at line 529 of file DistributedSubDomainDeflation.h.
|
private |
Definition at line 543 of file DistributedSubDomainDeflation.h.