Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
CartesianMeshUniqueIdRenumberingV2.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* CartesianMeshUniqueIdRenumberingV2.h (C) 2000-2023 */
9/* */
10/* Renumbering of uniqueId() for Cartesian meshes. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CARTESIANMESH_CARTESIANMESHUNIQUEIDRENUMBERINGV2_H
13#define ARCANE_CARTESIANMESH_CARTESIANMESHUNIQUEIDRENUMBERINGV2_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
21
22#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
40class CartesianMeshUniqueIdRenumberingV2
41: public TraceAccessor
42{
43 public:
44
45 CartesianMeshUniqueIdRenumberingV2(ICartesianMesh* cmesh, ICartesianMeshGenerationInfo* gen_info);
46 ~CartesianMeshUniqueIdRenumberingV2() = default;
47
48 public:
49
50 void renumber();
51
52 private:
53
54 ICartesianMesh* m_cartesian_mesh = nullptr;
55 ICartesianMeshGenerationInfo* m_generation_info = nullptr;
56 bool m_is_verbose = false;
57
58 private:
59
60 void _applyChildrenCell2D(Cell cell, VariableNodeInt64& nodes_new_uid, VariableFaceInt64& faces_new_uid,
61 VariableCellInt64& cells_new_uid,
62 Int64 coord_i, Int64 coord_j,
63 Int64 current_level_nb_cell_x, Int64 current_level_nb_cell_y,
64 Int32 current_level, Int64 cell_adder, Int64 node_adder, Int64 face_adder);
65 void _applyChildrenCell3D(Cell cell, VariableNodeInt64& nodes_new_uid, VariableFaceInt64& faces_new_uid,
66 VariableCellInt64& cells_new_uid,
67 Int64 coord_i, Int64 coord_j, Int64 coord_k,
68 Int64 current_level_nb_cell_x, Int64 current_level_nb_cell_y, Int64 current_level_nb_cell_z,
69 Int32 current_level, Int64 cell_adder, Int64 node_adder, Int64 face_adder);
70 void _applyFamilyRenumbering(IItemFamily* family, VariableItemInt64& items_new_uid);
71};
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76} // End namespace Arcane
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81#endif
Declarations of types on entities.
Cell of a mesh.
Definition Item.h:1300
Brief: Cartesian mesh generation information.
Interface of an entity family.
Definition IItemFamily.h:83
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
MeshVariableScalarRefT< Cell, Int64 > VariableCellInt64
Quantity at the cell center of 64-bit integer type.
MeshVariableScalarRefT< Node, Int64 > VariableNodeInt64
Quantity at the node of 64-bit integer type.
ItemVariableScalarRefT< Int64 > VariableItemInt64
Quantity of 64-bit integer type.
MeshVariableScalarRefT< Face, Int64 > VariableFaceInt64
Quantity at the face of 64-bit integer type.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.