Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
RedistributorBackEnd.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7#pragma once
8
9#include <arccore/message_passing/MessagePassingGlobal.h>
10#include <alien/core/backend/BackEnd.h>
11
12/*---------------------------------------------------------------------------*/
13
14namespace Alien
15{
16
17/*---------------------------------------------------------------------------*/
18
19class RedistributorLinearSolver;
22class Space;
23template <class Matrix, class Vector>
25template <class Matrix, class Vector>
27
29redistributorLinearAlgebraFactory();
30
32redistributorLinearSolverFactory(IMessagePassingMng* p_mng);
33
34/*---------------------------------------------------------------------------*/
35
36namespace BackEnd
37{
38 namespace tag
39 {
41 {};
42 } // namespace tag
43} // namespace BackEnd
44
45template <>
46struct AlgebraTraits<BackEnd::tag::redistributor>
47{
48 typedef RedistributorMatrix matrix_type;
49 typedef RedistributorVector vector_type;
52 static algebra_type* algebra_factory() { return redistributorLinearAlgebraFactory(); }
53 static solver_type* solver_factory(IMessagePassingMng* p_mng)
54 {
55 return redistributorLinearSolverFactory(p_mng);
56 }
57 static BackEndId name() { return "redistributor"; }
58};
59
60/*---------------------------------------------------------------------------*/
61
62} // namespace Alien
63
64/*---------------------------------------------------------------------------*/
Internal linear algebra interface.
Internal linear solver interface.
Implementation of an algebraic space.
Definition Space.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17