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