Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshChecker.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/*---------------------------------------------------------------------------*/
8/* IMeshChecker.h (C) 2000-2025 */
9/* */
10/* Interface de méthodes de vérification d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHCHECKER_H
13#define ARCANE_CORE_IMESHCHECKER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface de méthodes de vérification d'un maillage.
29 */
31{
32 public:
33
34 virtual ~IMeshChecker() = default; //!< Libère les ressources
35
36 public:
37
38 //! Maillage associé
39 virtual IMesh* mesh() = 0;
40
41 /*!
42 * \brief Positionne le niveau de vérification du maillage.
43 *
44 * 0 - tests désactivés
45 * 1 - tests partiels, après les endUpdate()
46 * 2 - tests complets, après les endUpdate()
47 */
48 virtual void setCheckLevel(Integer level) = 0;
49
50 //! Niveau actuel de vérification
51 virtual Integer checkLevel() const = 0;
52
53 /*!
54 * \brief Vérification de la validité des structures internes de maillage (interne).
55 */
56 virtual void checkValidMesh() = 0;
57
58 /*!
59 * \brief Vérification de la validité du maillage.
60 *
61 * Il s'agit d'une vérification globale entre tous les sous-domaines.
62 *
63 * Elle vérifie notamment que la connectivité est cohérente entre
64 * les sous-domaines.
65 *
66 * La vérification peut-être assez coûteuse en temps CPU.
67 * Cette méthode est collective.
68 */
69 virtual void checkValidMeshFull() = 0;
70
71 /*!
72 * \brief Vérifie que les sous-domaines sont correctement répliqués.
73 *
74 * Les vérifications suivantes sont faites:
75 * - mêmes familles d'entité et mêmes valeurs pour ces familles.
76 * - mêmes coordonnées des noeuds du maillage.
77 */
78 virtual void checkValidReplication() = 0;
79
80 /*!
81 * \brief Vérifie la synchronisation des variables.
82 *
83 * Vérifie pour chaque variable que ses valeurs sur les entités fantômes sont
84 * les mêmes que la valeur sur le sous-domaine propriétaire de l'entité.
85 *
86 * Les variables sur les particules ne sont pas comparées.
87 *
88 * Lève une exception FatalErrorException en cas d'erreur.
89 */
91
92 /*!
93 * \brief Vérifie la synchronisation sur les groupes d'entités.
94 *
95 * Vérifie pour chaque groupe de chaque famille (autre que les particules)
96 * que les entités sont les mêmes sur chaque sous-domaine.
97 *
98 * Lève une exception FatalErrorException en cas d'erreur.
99 */
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106} // namespace Arcane
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111#endif
Déclarations des types généraux de Arcane.
Interface de méthodes de vérification d'un maillage.
virtual IMesh * mesh()=0
Maillage associé
virtual void checkValidMeshFull()=0
Vérification de la validité du maillage.
virtual ~IMeshChecker()=default
Libère les ressources.
virtual void checkValidReplication()=0
Vérifie que les sous-domaines sont correctement répliqués.
virtual void checkValidMesh()=0
Vérification de la validité des structures internes de maillage (interne).
virtual void setCheckLevel(Integer level)=0
Positionne le niveau de vérification du maillage.
virtual Integer checkLevel() const =0
Niveau actuel de vérification.
virtual void checkItemGroupsSynchronization()=0
Vérifie la synchronisation sur les groupes d'entités.
virtual void checkVariablesSynchronization()=0
Vérifie la synchronisation des variables.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.