Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >

Distributed wrapper for Eigen::SparseLU solver. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/DistributedEigenSparseLUDirectSolver.h>

+ 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< SolverS
 

Description détaillée

template<typename value_type>
class Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >

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.

Documentation des définitions de type membres

◆ Base

template<typename value_type>
typedef DistributedDirectSolverBase<value_type, DistributedEigenSparseLUDirectSolver<value_type> > Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::Base
private

Définition à la ligne 96 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ build_matrix

template<typename value_type>
typedef CSRMatrix<value_type> Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::build_matrix

Définition à la ligne 56 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ EigenMatrix

template<typename value_type>
using Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::EigenMatrix = Eigen::SparseMatrix<value_type, Eigen::ColMajor, int>

Définition à la ligne 53 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ params

template<typename value_type>
typedef Solver::params Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::params

Définition à la ligne 55 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ Solver

template<typename value_type>
using Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::Solver = EigenSolver<Eigen::SparseLU<EigenMatrix>>

Définition à la ligne 54 du fichier DistributedEigenSparseLUDirectSolver.h.

Documentation des constructeurs et destructeur

◆ DistributedEigenSparseLUDirectSolver()

template<typename value_type>
template<class Matrix>
Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::DistributedEigenSparseLUDirectSolver ( mpi_communicator comm,
const Matrix & A,
const params & prm = params() )
inline

Constructor.

Définition à la ligne 60 du fichier DistributedEigenSparseLUDirectSolver.h.

Documentation des fonctions membres

◆ coarse_enough()

template<typename value_type>
static size_t Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::coarse_enough ( )
inlinestatic

Définition à la ligne 67 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ comm_size()

template<typename value_type>
int Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::comm_size ( int ) const
inline

Définition à la ligne 72 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ init()

template<typename value_type>
void Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::init ( mpi_communicator ,
const build_matrix & A )
inline

Définition à la ligne 77 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ solve()

template<typename value_type>
template<class Vec1, class Vec2>
void Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::solve ( const Vec1 & rhs,
Vec2 & x ) const
inline

Solves the problem for the given right-hand side.

Paramètres
rhsThe right-hand side.
xThe solution.

Définition à la ligne 89 du fichier DistributedEigenSparseLUDirectSolver.h.

Documentation des données membres

◆ prm

template<typename value_type>
params Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::prm
private

Définition à la ligne 97 du fichier DistributedEigenSparseLUDirectSolver.h.

◆ S

template<typename value_type>
std::shared_ptr<Solver> Arcane::Alina::DistributedEigenSparseLUDirectSolver< value_type >::S
private

Définition à la ligne 98 du fichier DistributedEigenSparseLUDirectSolver.h.


La documentation de cette classe a été générée à partir du fichier suivant :