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
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
30ARCANE_BEGIN_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class IApplication;
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
40/******************************************************************************
41 * IAlephFactory::IAlephFactory
42 *****************************************************************************/
43class ARCANE_ALEPH_EXPORT AlephFactory
44: public IAlephFactory
45{
46 private:
47 class FactoryImpl;
48
49 public:
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
68ARCANE_END_NAMESPACE
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
72
73#endif // ARCANE_IALEPH_FACTORY_H
Fichier de configuration d'Arcane.
Interface d'une fabrique d'implémentation pour Aleph.
Interface de l'application.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface du gestionnaire de traces.