Arcane  v4.1.1.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::NodeDirectionMng

Infos sur les noeuds d'une direction spécifique X,Y ou Z d'un maillage structuré. Plus de détails...

#include <arcane/cartesianmesh/NodeDirectionMng.h>

+ Graphe de collaboration de Arcane::NodeDirectionMng:

Classes

class  Impl
 
struct  ItemDirectionInfo
 

Fonctions membres publiques

 NodeDirectionMng ()
 Créé une instance vide.
 
DirNode node (Node n) const
 Noeud direction correspondant au noeud n.
 
DirNode node (NodeLocalId n) const
 Noeud direction correspondant au noeud n.
 
DirNode dirNode (NodeLocalId n) const
 Noeud direction correspondant au noeud n.
 
__host__ __device__ DirNodeLocalId dirNodeId (NodeLocalId n) const
 Noeud direction correspondant au noeud n.
 
NodeGroup allNodes () const
 Groupe de tous les noeuds dans la direction.
 
NodeGroup overallNodes () const
 Groupe de tous les noeuds de recouvrement dans la direction.
 
NodeGroup inPatchNodes () const
 Groupe de tous les noeuds du patch dans la direction.
 
NodeGroup innerNodes () const
 Groupe de tous les noeuds internes dans la direction.
 
NodeGroup outerNodes () const
 Groupe de tous les noeuds externes dans la direction.
 
DirNode operator[] (Node n)
 Noeud direction correspondant au noeud n.
 
DirNode operator[] (NodeLocalId n) const
 Noeud direction correspondant au noeud n.
 
DirNode operator[] (NodeEnumerator inode) const
 Noeud direction correspondant à l'itérateur du noeud inode.
 
eMeshDirection direction () const
 Valeur de la direction.
 

Fonctions membres protégées

void _internalComputeInfos (const CellDirectionMng &cell_dm, const NodeGroup &all_nodes, const VariableCellReal3 &cells_center)
 Calcule les informations sur les noeuds associées aux mailles de la direction cell_dm. all_nodes est le groupe de tous les noeuds des mailles gérées par cell_dm. Suppose que init() a été appelé.
 
void _internalComputeInfos (const CellDirectionMng &cell_dm, const NodeGroup &all_nodes)
 
void _internalInit (ICartesianMesh *cm, eMeshDirection dir, Integer patch_index)
 
void _internalDestroy ()
 
void _internalResizeInfos (Int32 new_size)
 Redimensionne le conteneur contenant les ItemDirectionInfo.
 

Types privés

using IndexType = DirNode::IndexType
 
using DirNodeCellIndex = DirNode::DirNodeCellIndex
 

Fonctions membres privées

DirNode _node (Int32 local_id) const
 Noeud direction correspondant au noeud de numéro local local_id.
 
__host__ __device__ DirNodeLocalId _dirNodeId (NodeLocalId local_id) const
 Noeud direction correspondant au noeud de numéro local local_id.
 
void _computeNodeCellInfos (const CellDirectionMng &cell_dm, const VariableCellReal3 &cells_center)
 Calcul des connectivités noeuds/mailles par direction.
 
void _computeNodeCellInfos () const
 
void _filterNodes ()
 Filtre les noeuds devant/derrière pour ne garder que les noeuds de notre patch.
 

Attributs privés

friend CartesianMeshImpl
 
friend CartesianMeshPatch
 
SmallSpan< ItemDirectionInfom_infos_view
 
NodeInfoListView m_nodes
 
eMeshDirection m_direction
 
IndexedNodeCellConnectivityView m_node_cell_view
 
Implm_p
 

Description détaillée

Infos sur les noeuds d'une direction spécifique X,Y ou Z d'un maillage structuré.

Définition à la ligne 255 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Documentation des définitions de type membres

◆ DirNodeCellIndex

◆ IndexType

using Arcane::NodeDirectionMng::IndexType = DirNode::IndexType
private

Définition à la ligne 260 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Documentation des constructeurs et destructeur

◆ NodeDirectionMng()

Arcane::NodeDirectionMng::NodeDirectionMng ( )

Créé une instance vide.

L'instance n'est pas valide tant que _internalInit() n'a pas été appelé.

Définition à la ligne 64 du fichier NodeDirectionMng.cc.

Références Arcane::MD_DirInvalid.

Référencé par _computeNodeCellInfos().

+ Voici le graphe des appelants de cette fonction :

Documentation des fonctions membres

◆ _computeNodeCellInfos() [1/2]

void Arcane::NodeDirectionMng::_computeNodeCellInfos ( ) const
private

Définition à la ligne 399 du fichier NodeDirectionMng.cc.

◆ _computeNodeCellInfos() [2/2]

void Arcane::NodeDirectionMng::_computeNodeCellInfos ( const CellDirectionMng & cell_dm,
const VariableCellReal3 & cells_center )
private

Calcul des connectivités noeuds/mailles par direction.

Définition à la ligne 318 du fichier NodeDirectionMng.cc.

Références Arcane::CellDirectionMng::allCells(), allNodes(), ARCANE_FATAL, ENUMERATE_CELL, ENUMERATE_NODE, Arcane::ArrayView< T >::fill(), Arcane::Item::localId(), Arcane::MD_DirX, Arcane::MD_DirY, Arcane::MD_DirZ, node(), NodeDirectionMng(), Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.

Référencé par _internalComputeInfos().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _dirNodeId()

__host__ __device__ DirNodeLocalId Arcane::NodeDirectionMng::_dirNodeId ( NodeLocalId local_id) const
inlineprivate

Noeud direction correspondant au noeud de numéro local local_id.

Définition à la ligne 466 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références Arcane::NodeDirectionMng::ItemDirectionInfo::m_next_lid, et Arcane::NodeDirectionMng::ItemDirectionInfo::m_previous_lid.

Référencé par dirNodeId().

+ Voici le graphe des appelants de cette fonction :

◆ _filterNodes()

void Arcane::NodeDirectionMng::_filterNodes ( )
private

Filtre les noeuds devant/derrière pour ne garder que les noeuds de notre patch.

Définition à la ligne 288 du fichier NodeDirectionMng.cc.

Références allNodes(), et ENUMERATE_NODE.

Référencé par _internalComputeInfos().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _internalComputeInfos() [1/2]

void Arcane::NodeDirectionMng::_internalComputeInfos ( const CellDirectionMng & cell_dm,
const NodeGroup & all_nodes )
protected

Définition à la ligne 187 du fichier NodeDirectionMng.cc.

◆ _internalComputeInfos() [2/2]

void Arcane::NodeDirectionMng::_internalComputeInfos ( const CellDirectionMng & cell_dm,
const NodeGroup & all_nodes,
const VariableCellReal3 & cells_center )
protected

Calcule les informations sur les noeuds associées aux mailles de la direction cell_dm. all_nodes est le groupe de tous les noeuds des mailles gérées par cell_dm. Suppose que init() a été appelé.

Définition à la ligne 112 du fichier NodeDirectionMng.cc.

Références _computeNodeCellInfos(), _filterNodes(), Arcane::Array< DataType >::add(), Arcane::CellDirectionMng::allCells(), Arcane::CellDirectionMng::cellNode(), Arcane::IItemFamily::createGroup(), ENUMERATE_CELL, ENUMERATE_ITEM, Arcane::ItemGroup::itemFamily(), Arcane::DirCellNode::nextLeftId(), Arcane::DirCellNode::nextRightId(), Arcane::DirCellNode::previousLeftId(), Arcane::DirCellNode::previousRightId(), Arcane::DirCellNode::topNextLeftId(), Arcane::DirCellNode::topNextRightId(), Arcane::DirCellNode::topPreviousLeftId(), et Arcane::DirCellNode::topPreviousRightId().

+ Voici le graphe d'appel pour cette fonction :

◆ _internalDestroy()

void Arcane::NodeDirectionMng::_internalDestroy ( )
protected

Détruit les ressources associées à l'instance.

Définition à la ligne 92 du fichier NodeDirectionMng.cc.

◆ _internalInit()

void Arcane::NodeDirectionMng::_internalInit ( ICartesianMesh * cm,
eMeshDirection dir,
Integer patch_index )
protected

Initialise l'instance.

Définition à la ligne 77 du fichier NodeDirectionMng.cc.

Références ARCANE_FATAL, Arcane::ICartesianMesh::mesh(), et Arcane::IMeshBase::nodeFamily().

+ Voici le graphe d'appel pour cette fonction :

◆ _internalResizeInfos()

void Arcane::NodeDirectionMng::_internalResizeInfos ( Int32 new_size)
protected

Redimensionne le conteneur contenant les ItemDirectionInfo.

Cela invalide les instances courantes de NodeDirectionMng.

Définition à la ligne 102 du fichier NodeDirectionMng.cc.

◆ _node()

DirNode Arcane::NodeDirectionMng::_node ( Int32 local_id) const
inlineprivate

Noeud direction correspondant au noeud de numéro local local_id.

Définition à la ligne 459 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références Arcane::NodeDirectionMng::ItemDirectionInfo::m_next_lid, et Arcane::NodeDirectionMng::ItemDirectionInfo::m_previous_lid.

Référencé par dirNode(), node(), node(), operator[](), operator[](), et operator[]().

+ Voici le graphe des appelants de cette fonction :

◆ allNodes()

NodeGroup Arcane::NodeDirectionMng::allNodes ( ) const

Groupe de tous les noeuds dans la direction.

Définition à la ligne 534 du fichier NodeDirectionMng.cc.

Référencé par _computeNodeCellInfos(), _filterNodes(), et ArcaneTest::AMRCartesianMeshTesterModule::_nodesUidAroundNodes().

+ Voici le graphe des appelants de cette fonction :

◆ direction()

eMeshDirection Arcane::NodeDirectionMng::direction ( ) const
inline

Valeur de la direction.

Définition à la ligne 410 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ dirNode()

DirNode Arcane::NodeDirectionMng::dirNode ( NodeLocalId n) const
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 321 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node().

+ Voici le graphe d'appel pour cette fonction :

◆ dirNodeId()

__host__ __device__ DirNodeLocalId Arcane::NodeDirectionMng::dirNodeId ( NodeLocalId n) const
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 327 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _dirNodeId().

+ Voici le graphe d'appel pour cette fonction :

◆ innerNodes()

NodeGroup Arcane::NodeDirectionMng::innerNodes ( ) const

Groupe de tous les noeuds internes dans la direction.

Un noeud est considéré comme interne si son noeud avant ou après n'est pas nul.

Définition à la ligne 561 du fichier NodeDirectionMng.cc.

◆ inPatchNodes()

NodeGroup Arcane::NodeDirectionMng::inPatchNodes ( ) const

Groupe de tous les noeuds du patch dans la direction.

Les noeuds du patch sont les noeuds n'ayant pas toutes ces mailles qui soient de recouvrement. TODO reformuler (innerNodes() + outerNodes() ou simplement !overallNodes())

Avertissement
Les noeuds au bord du domaine (donc ayant que des mailles "outer") sont inclus dans ce groupe.

Définition à la ligne 552 du fichier NodeDirectionMng.cc.

◆ node() [1/2]

DirNode Arcane::NodeDirectionMng::node ( Node n) const
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 309 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node(), et Arcane::Item::localId().

Référencé par _computeNodeCellInfos(), et ArcaneTest::AMRCartesianMeshTesterModule::_nodesUidAroundNodes().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ node() [2/2]

DirNode Arcane::NodeDirectionMng::node ( NodeLocalId n) const
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 315 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node().

+ Voici le graphe d'appel pour cette fonction :

◆ operator[]() [1/3]

DirNode Arcane::NodeDirectionMng::operator[] ( Node n)
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 392 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node(), et Arcane::Item::localId().

+ Voici le graphe d'appel pour cette fonction :

◆ operator[]() [2/3]

DirNode Arcane::NodeDirectionMng::operator[] ( NodeEnumerator inode) const
inline

Noeud direction correspondant à l'itérateur du noeud inode.

Définition à la ligne 404 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node(), et Arcane::ItemEnumeratorBase::itemLocalId().

+ Voici le graphe d'appel pour cette fonction :

◆ operator[]() [3/3]

DirNode Arcane::NodeDirectionMng::operator[] ( NodeLocalId n) const
inline

Noeud direction correspondant au noeud n.

Définition à la ligne 398 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

Références _node().

+ Voici le graphe d'appel pour cette fonction :

◆ outerNodes()

NodeGroup Arcane::NodeDirectionMng::outerNodes ( ) const

Groupe de tous les noeuds externes dans la direction.

Un noeud est considéré comme externe si son noeud avant ou après est de recouvrement ou est nul (si l'on est au bord du domaine ou s'il n'y a pas de couches de mailles de recouvrements).

Note
Les noeuds entre patchs ne sont pas dupliquées. Donc certains noeuds de ce groupe peuvent être aussi dans un outerNodes() d'un autre patch.

Définition à la ligne 570 du fichier NodeDirectionMng.cc.

◆ overallNodes()

NodeGroup Arcane::NodeDirectionMng::overallNodes ( ) const

Groupe de tous les noeuds de recouvrement dans la direction.

Un noeud de recouvrement est un noeud qui possède uniquement des mailles de recouvrement autour de lui.

0 1 2 3 4 ┌───┬──┬──┬──┬──┐ │ │ │ │ │ │ │ ├──┼──┼──┼──┤ │ │ │ │ │ │ └───┴──┴──┴──┴──┘

0 : level -1 1 et 2 : Mailles de recouvrements (overallCells) 3 : Mailles externes (outerCells) 4 : Mailles internes (innerCells)

La couche de mailles de recouvrements désigne la couche de mailles de même niveau autour du patch. Ces mailles peuvent appartenir à un ou plusieurs patchs.

Définition à la ligne 543 du fichier NodeDirectionMng.cc.

Documentation des données membres

◆ CartesianMeshImpl

friend Arcane::NodeDirectionMng::CartesianMeshImpl
private

Définition à la ligne 257 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ CartesianMeshPatch

friend Arcane::NodeDirectionMng::CartesianMeshPatch
private

Définition à la ligne 258 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ m_direction

eMeshDirection Arcane::NodeDirectionMng::m_direction
private

Définition à la ligne 452 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ m_infos_view

SmallSpan<ItemDirectionInfo> Arcane::NodeDirectionMng::m_infos_view
private

Définition à la ligne 450 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ m_node_cell_view

IndexedNodeCellConnectivityView Arcane::NodeDirectionMng::m_node_cell_view
private

Définition à la ligne 453 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ m_nodes

NodeInfoListView Arcane::NodeDirectionMng::m_nodes
private

Définition à la ligne 451 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.

◆ m_p

Impl* Arcane::NodeDirectionMng::m_p
private

Définition à la ligne 454 du fichier src/arcane/cartesianmesh/NodeDirectionMng.h.


La documentation de cette classe a été générée à partir des fichiers suivants :