Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::DistributedSkylineLUDirectSolver< Backend > Class Template Reference

Provides distributed direct solver interface for Skyline LU solver. More...

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

Inheritance diagram for Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >:
Collaboration diagram for Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >:

Public Types

typedef Backend::value_type value_type
typedef Alina::solver::SkylineLUSolver< value_type > Solver
typedef Solver::params params
typedef Backend::matrix build_matrix
Public Types inherited from Arcane::Alina::DistributedDirectSolverBase< Backend, DistributedSkylineLUDirectSolver< Backend > >
typedef Backend::value_type value_type
typedef math::scalar_of< value_type >::type scalar_type
typedef math::rhs_of< value_type >::type rhs_type
using col_type
using ptr_type
typedef CSRMatrix< value_type, col_type, ptr_type > build_matrix

Public Member Functions

template<class Matrix>
 DistributedSkylineLUDirectSolver (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.
Public Member Functions inherited from Arcane::Alina::DistributedDirectSolverBase< Backend, DistributedSkylineLUDirectSolver< Backend > >
void init (mpi_communicator comm, const build_matrix &Astrip)
void init (mpi_communicator comm, const DistributedMatrix< B > &A)
DistributedSkylineLUDirectSolver< Backend > & solver ()
const DistributedSkylineLUDirectSolver< Backend > & solver () const
void operator() (const VecF &f, VecX &x) const

Static Public Member Functions

static size_t coarse_enough ()

Private Types

using Base = DistributedDirectSolverBase<Backend, DistributedSkylineLUDirectSolver<Backend>>

Private Attributes

params prm
std::shared_ptr< Solver > S

Detailed Description

template<typename Backend>
class Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >

Provides distributed direct solver interface for Skyline LU solver.

This is a wrapper around Skyline LU factorization solver that provides a distributed direct solver interface but always works sequentially.

Definition at line 46 of file DistributedSkylineLUDirectSolver.h.

Member Typedef Documentation

◆ Base

template<typename Backend>
using Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::Base = DistributedDirectSolverBase<Backend, DistributedSkylineLUDirectSolver<Backend>>
private

Definition at line 49 of file DistributedSkylineLUDirectSolver.h.

◆ build_matrix

template<typename Backend>
typedef Backend::matrix Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::build_matrix

Definition at line 56 of file DistributedSkylineLUDirectSolver.h.

◆ params

template<typename Backend>
typedef Solver::params Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::params

Definition at line 55 of file DistributedSkylineLUDirectSolver.h.

◆ Solver

template<typename Backend>
typedef Alina::solver::SkylineLUSolver<value_type> Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::Solver

Definition at line 54 of file DistributedSkylineLUDirectSolver.h.

◆ value_type

template<typename Backend>
typedef Backend::value_type Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::value_type

Definition at line 53 of file DistributedSkylineLUDirectSolver.h.

Constructor & Destructor Documentation

◆ DistributedSkylineLUDirectSolver()

template<typename Backend>
template<class Matrix>
Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::DistributedSkylineLUDirectSolver ( mpi_communicator comm,
const Matrix & A,
const params & prm = params{} )
inline

Constructor.

Definition at line 60 of file DistributedSkylineLUDirectSolver.h.

Member Function Documentation

◆ coarse_enough()

template<typename Backend>
size_t Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::coarse_enough ( )
inlinestatic

Definition at line 67 of file DistributedSkylineLUDirectSolver.h.

◆ comm_size()

template<typename Backend>
int Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::comm_size ( int ) const
inline

Definition at line 72 of file DistributedSkylineLUDirectSolver.h.

◆ init()

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

Definition at line 77 of file DistributedSkylineLUDirectSolver.h.

◆ solve()

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

Solves the problem for the given right-hand side.

Parameters
rhsThe right-hand side.
xThe solution.

Definition at line 89 of file DistributedSkylineLUDirectSolver.h.

Member Data Documentation

◆ prm

template<typename Backend>
params Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::prm
private

Definition at line 96 of file DistributedSkylineLUDirectSolver.h.

◆ S

template<typename Backend>
std::shared_ptr<Solver> Arcane::Alina::DistributedSkylineLUDirectSolver< Backend >::S
private

Definition at line 97 of file DistributedSkylineLUDirectSolver.h.


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