Arcane
v4.1.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
AMRPatchPositionSignature.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
/* AMRPatchPositionSignature.h (C) 2000-2025 */
9
/* */
10
/* Calcul des signatures d'une position de patch. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_CARTESIANMESH_INTERNAL_AMRPATCHPOSITIONSIGNATURE_H
13
#define ARCANE_CARTESIANMESH_INTERNAL_AMRPATCHPOSITIONSIGNATURE_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
18
19
#include "arcane/utils/UniqueArray.h"
20
21
#include "arcane/cartesianmesh/AMRPatchPosition.h"
22
23
/*---------------------------------------------------------------------------*/
24
/*---------------------------------------------------------------------------*/
25
26
namespace
Arcane
27
{
28
29
/*---------------------------------------------------------------------------*/
30
/*---------------------------------------------------------------------------*/
31
32
class
AMRPatchPositionSignature
33
{
34
public
:
35
36
AMRPatchPositionSignature();
37
AMRPatchPositionSignature(
const
AMRPatchPosition
& patch,
ICartesianMesh
* cmesh,
AMRPatchPositionLevelGroup
* all_patches);
38
~AMRPatchPositionSignature() =
default
;
39
40
private
:
41
42
AMRPatchPositionSignature(
const
AMRPatchPosition
& patch,
ICartesianMesh
* cmesh,
AMRPatchPositionLevelGroup
* all_patches,
Int32
nb_cut);
43
44
public
:
45
46
void
compress();
47
void
fillSig();
48
bool
isValid()
const
;
49
bool
canBeCut()
const
;
50
void
compute();
51
Real
efficacity()
const
;
52
std::pair<AMRPatchPositionSignature, AMRPatchPositionSignature> cut(
Integer
dim, CartCoordType cut_point)
const
;
53
54
ConstArrayView<CartCoordType>
sigX()
const
;
55
ConstArrayView<CartCoordType>
sigY()
const
;
56
ConstArrayView<CartCoordType>
sigZ()
const
;
57
AMRPatchPosition
patch()
const
;
58
ICartesianMesh
* mesh()
const
;
59
bool
stopCut()
const
;
60
void
setStopCut(
bool
stop_cut);
61
bool
isComputed()
const
;
62
63
private
:
64
65
bool
m_is_null;
66
AMRPatchPosition
m_patch;
67
ICartesianMesh
* m_mesh;
68
Int32
m_nb_cut;
69
bool
m_stop_cut;
70
71
ICartesianMeshNumberingMngInternal
* m_numbering;
72
73
bool
m_have_cells;
74
bool
m_is_computed;
75
76
UniqueArray<CartCoordType>
m_sig_x;
77
UniqueArray<CartCoordType>
m_sig_y;
78
UniqueArray<CartCoordType>
m_sig_z;
79
80
AMRPatchPositionLevelGroup
* m_all_patches;
81
};
82
83
/*---------------------------------------------------------------------------*/
84
/*---------------------------------------------------------------------------*/
85
86
}
// End namespace Arcane
87
88
/*---------------------------------------------------------------------------*/
89
/*---------------------------------------------------------------------------*/
90
91
#endif
Arcane::AMRPatchPositionLevelGroup
Definition
AMRPatchPositionLevelGroup.h:31
Arcane::AMRPatchPosition
Classe permettant de définir la position d'un patch dans le maillage cartésien.
Definition
AMRPatchPosition.h:51
Arcane::ConstArrayView
Vue constante d'un tableau de type T.
Definition
arccore/src/base/arccore/base/ArrayView.h:533
Arcane::ICartesianMeshNumberingMngInternal
Interface de gestionnaire de numérotation pour maillage cartesian.
Definition
ICartesianMeshNumberingMngInternal.h:45
Arcane::ICartesianMesh
Interface d'un maillage cartésien.
Definition
src/arcane/cartesianmesh/ICartesianMesh.h:36
Arcane::UniqueArray
Vecteur 1D de données avec sémantique par valeur (style STL).
Definition
arccore/src/common/arccore/common/Array.h:888
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
Arcane::Integer
Int32 Integer
Type représentant un entier.
Definition
ArccoreGlobal.h:281
Arcane::Real
double Real
Type représentant un réel.
Definition
ArccoreGlobal.h:264
Arcane::Int32
std::int32_t Int32
Type entier signé sur 32 bits.
Definition
ArccoreGlobal.h:225
arcane
cartesianmesh
internal
AMRPatchPositionSignature.h
Généré le Lundi 5 Janvier 2026 03:32:42 pour Arcane par
1.13.2