Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
AlephTypesSolver.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/* AlephTypesSolver.h (C) 2010 */
9/* */
10/* Types du package Solver. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_SERVICE_SOLVER_TYPESSOLVER_H
13#define ARCANE_SERVICE_SOLVER_TYPESSOLVER_H
14
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
18ARCANE_BEGIN_NAMESPACE
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
27{
28 public:
29 enum ePreconditionerMethod
30 {
31 DIAGONAL = 0,
32 AINV = 1,
33 AMG = 2,
34 IC = 3,
35 POLY = 4,
36 ILU = 5,
37 ILUp = 6,
38 SPAIstat = 7,
39 SPAIdyn = 8,
40 DDMCriteriaAdaptedSelector = 9,
41 NONE = 10
42 };
43
48 {
49 ES_Continue = 0,
50 ES_Stop = 1,
51 ES_GoBackward = 2
52 };
53
54 enum eSolverMethod
55 {
56 PCG = 0,
57 BiCGStab = 1,
58 BiCGStab2 = 2,
59 GMRES = 3,
60 SAMG = 4,
61 QMR = 5,
62 SuperLU = 6
63 };
64
65 enum eAmgCoarseningMethod
66 {
67 AMG_COARSENING_AUTO = 0,
68 AMG_COARSENING_HYPRE_0 = 1,
69 AMG_COARSENING_HYPRE_1 = 2,
70 AMG_COARSENING_HYPRE_3 = 3,
71 AMG_COARSENING_HYPRE_6 = 4,
72 AMG_COARSENING_HYPRE_7 = 5,
73 AMG_COARSENING_HYPRE_8 = 6,
74 AMG_COARSENING_HYPRE_9 = 7,
75 AMG_COARSENING_HYPRE_10 = 8,
76 AMG_COARSENING_HYPRE_11 = 9,
77 AMG_COARSENING_HYPRE_21 = 10,
78 AMG_COARSENING_HYPRE_22 = 11
79 };
80
81 // ordre de eAmgSmootherOption est le meme que celui de Sloop
82 // attention de ne pas le modifier voir Mireille ou bien AMG.h dans Sloop
83 enum eAmgSmootherOption
84 {
85 Rich_IC_smoother = 0,
86 Rich_ILU_smoother = 1,
87 Rich_AINV_smoother = 2,
88 CG_smoother = 3,
89 HybGSJ_smoother = 4,
90 SymHybGSJ_smoother = 5,
91 HybGSJ_block_smoother = 6,
92 SymHybGSJ_block_smoother = 7,
93 Rich_IC_block_smoother = 8,
94 Rich_ILU_block_smoother = 9
95 };
96
97 // ordre de eAmgCoarseningOption est le meme que celui de Sloop
98 // attention de ne pas le modifier voir Mireille ou bien AMG.h dans Sloop
99 enum eAmgCoarseningOption
100 {
101 ParallelRugeStuben = 0,
102 CLJP = 1,
103 Falgout = 2,
104 ParallelRugeStubenBoundaryFirst = 3,
105 FalgoutBoundaryFirst = 4,
106 PRS = 5,
107 PRSBF = 6,
108 FBF = 7,
109 GMBF = 8
110 };
111
112 // ordre de eAmgCoarseSolverOption est le meme que celui de Sloop
113 // attention de ne pas le modifier voir Mireille ou bien AMG.h dans Sloop
114 enum eAmgCoarseSolverOption
115 {
116 CG_coarse_solver = 0,
117 BiCGStab_coarse_solver = 1,
118 LU_coarse_solver = 2,
119 Cholesky_coarse_solver = 3,
120 Smoother_coarse_solver = 4,
121 SuperLU_coarse_solver = 5
122 };
123
124 // critere d'arret du solveur Sloop
125 enum eCriteriaStop
126 {
127 RR0 = 0,
128 RB = 1,
129 R = 2,
130 RCB = 3,
131 RBinf = 4,
132 EpsA = 5,
133 NIter = 6,
134 RR0inf = 7,
135 STAG = 8
136 };
137};
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141
142ARCANE_END_NAMESPACE
143
144/*---------------------------------------------------------------------------*/
145/*---------------------------------------------------------------------------*/
146
147#endif
eErrorStrategy
Stratégie à adopter en cas d'erreur du solveur.