Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IAlephFactory.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 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
/* IAlephFactory.h (C) 2000-2015 */
9
/* */
10
/* Interface des fabriques pour Aleph. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_ALEPH_IALEPHFACTORY_H
13
#define ARCANE_ALEPH_IALEPHFACTORY_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "
arcane/utils/ArcaneGlobal.h
"
18
#include "arcane/utils/TraceInfo.h"
19
#include "arcane/utils/NotSupportedException.h"
20
#include "arcane/utils/NotImplementedException.h"
21
22
#include "arcane/aleph/AlephGlobal.h"
23
#include "arcane/aleph/AlephInterface.h"
24
25
#include <map>
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
ARCANE_BEGIN_NAMESPACE
31
32
/*---------------------------------------------------------------------------*/
33
/*---------------------------------------------------------------------------*/
34
35
class
IApplication;
36
37
/*---------------------------------------------------------------------------*/
38
/*---------------------------------------------------------------------------*/
39
40
/******************************************************************************
41
* IAlephFactory::IAlephFactory
42
*****************************************************************************/
43
class
ARCANE_ALEPH_EXPORT
AlephFactory
44
:
public
IAlephFactory
45
{
46
private
:
47
class
FactoryImpl
;
48
49
public
:
50
AlephFactory
(
IApplication
*
app
,
ITraceMng
*
tm
);
51
~AlephFactory
();
52
53
public
:
54
IAlephTopology
* GetTopology(
AlephKernel
* kernel, Integer index, Integer nb_row_size);
55
IAlephVector
* GetVector(
AlephKernel
* kernel, Integer index);
56
IAlephMatrix
* GetMatrix(
AlephKernel
* kernel, Integer index);
57
virtual
bool
hasSolverImplementation(Integer
id
);
58
59
private
:
60
typedef
std::map<Integer, FactoryImpl*> FactoryImplMap;
61
FactoryImplMap m_impl_map;
62
IAlephFactoryImpl
* _getFactory(Integer
solver_index
);
63
};
64
65
/*---------------------------------------------------------------------------*/
66
/*---------------------------------------------------------------------------*/
67
68
ARCANE_END_NAMESPACE
69
70
/*---------------------------------------------------------------------------*/
71
/*---------------------------------------------------------------------------*/
72
73
#endif
// ARCANE_IALEPH_FACTORY_H
ArcaneGlobal.h
Fichier de configuration d'Arcane.
Arcane::AlephFactory::FactoryImpl
Definition
AlephFactory.cc:27
Arcane::AlephFactory
Definition
IAlephFactory.h:45
Arcane::AlephKernel
Definition
AlephKernel.h:117
Arcane::IAlephFactoryImpl
Interface d'une fabrique d'implémentation pour Aleph.
Definition
AlephInterface.h:189
Arcane::IAlephFactory
Definition
AlephInterface.h:161
Arcane::IAlephMatrix
Definition
AlephInterface.h:117
Arcane::IAlephTopology
Definition
AlephInterface.h:38
Arcane::IAlephVector
Definition
AlephInterface.h:79
Arcane::IApplication
Interface de l'application.
Definition
IApplication.h:57
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arccore::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
arcane
aleph
IAlephFactory.h
Généré le Lundi 18 Novembre 2024 03:00:17 pour Arcane par
1.9.8