Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
DynamicMeshChecker.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/* DynamicMeshChecker.h (C) 2000-2018 */
9/* */
10/* Classe fournissant des méthodes de vérification sur le maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_DYNAMICMESHCHECKER_H
13#define ARCANE_MESH_DYNAMICMESHCHECKER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/mesh/MeshGlobal.h"
20#include "arcane/VariableTypedef.h"
21#include "arcane/IMeshChecker.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26ARCANE_BEGIN_NAMESPACE
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31ARCANE_MESH_BEGIN_NAMESPACE
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
36class DynamicMesh;
37class ItemFamily;
38
39/*---------------------------------------------------------------------------*/
40/*---------------------------------------------------------------------------*/
41
43: public TraceAccessor
44, public IMeshChecker
45{
46 public:
47
49
51
52 public:
53
54 IMesh* mesh() override
55 {
56 return m_mesh;
57 }
58
59 void setCheckLevel(Integer level) override
60 {
61 m_check_level = level;
62 }
63
64 Integer checkLevel() const override
65 {
66 return m_check_level;
67 }
68
69 void checkValidMesh() override;
70 void checkValidMeshFull() override;
71 void checkValidReplication() override;
72 void checkVariablesSynchronization() override;
73 void checkItemGroupsSynchronization() override;
74
75 public:
76
77 void checkValidConnectivity();
78 void checkGhostCells();
79 void checkMeshFromReferenceFile();
80 void updateAMRFaceOrientation();
81 void updateAMRFaceOrientation(ArrayView<Int64> ghost_cell_to_refine) ;
82
83 private:
84
85 void _checkFacesOrientation();
86 void _checkValidItemOwner(IItemFamily* family);
87 void _checkReplicationFamily(IItemFamily* family);
88
89 private:
90
91 IMesh* m_mesh;
92 Integer m_check_level;
93
94 VariableCellArrayInt64* m_var_cells_faces;
95 VariableCellArrayInt64* m_var_cells_nodes;
96
97 bool m_compare_reference_file;
98};
99
100/*---------------------------------------------------------------------------*/
101/*---------------------------------------------------------------------------*/
102
103ARCANE_MESH_END_NAMESPACE
104
105/*---------------------------------------------------------------------------*/
106/*---------------------------------------------------------------------------*/
107
108ARCANE_END_NAMESPACE
109
110/*---------------------------------------------------------------------------*/
111/*---------------------------------------------------------------------------*/
112
113#endif /* ARCANE_MESH_DYNAMICMESHCHECKER_H */
Integer checkLevel() const override
Niveau actuel de vérification.
IMesh * mesh() override
Maillage associé
void setCheckLevel(Integer level) override
Positionne le niveau de vérification du maillage.
Interface d'une famille d'entités.
Interface de méthodes de vérification d'un maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120