Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
KernelSolverT.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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
8#pragma once
9
10#include <alien/utils/Precomp.h>
11
12#include <memory>
13
14#include <arccore/base/NotImplementedException.h>
15#include <arccore/base/TraceInfo.h>
16
17#include <alien/core/backend/BackEnd.h>
18#include <alien/core/backend/IInternalLinearSolverT.h>
19
21
22#include <alien/expression/solver/SolverStater.h>
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Alien
27{
28
29 template <class Tag>
31 {
32 public:
35 using VectorType = typename AlgebraTraits<Tag>::vector_type;
36 using AlgebraType = typename AlgebraTraits<Tag>::algebra_type;
37
38 public:
39 virtual ~KernelSolverT() {}
40
41 virtual void init() = 0;
42 virtual void start() = 0 ;
43 virtual void end() = 0 ;
44
46 virtual void init(MatrixType const& A) = 0;
47
48
56 virtual bool solve(const VectorType& b, VectorType& x) = 0 ;
57
58 private:
59 };
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63
64} // namespace Alien
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
ILinearSolver.h.
virtual bool solve(const VectorType &b, VectorType &x)=0
Solve the linear system A * x = b.
virtual void init(MatrixType const &A)=0
Initialize the linear solver.
typename AlgebraTraits< Tag >::matrix_type MatrixType
The type of the solver.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17