XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
Référence de la classe xios::CMesh


Plus de détails...

#include <mesh.hpp>

+ Graphe de collaboration de xios::CMesh:

Fonctions membres publiques

 CMesh (void)
 ////////////////////// Définitions ////////////////////// /// Plus de détails...
 
 ~CMesh (void)
 
void createMesh (const CArray< double, 1 > &, const CArray< double, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &)
 
Plus de détails...
 
void createMeshEpsilon (const MPI_Comm &, const CArray< double, 1 > &, const CArray< double, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &)
 
Plus de détails...
 
void getGlobalNghbFaces (const int, const MPI_Comm &, const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &)
 
void getLocalNghbFaces (const int, const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &, CArray< int, 1 > &)
 

Fonctions membres publiques statiques

static CMeshgetMesh (StdString, int)
 
Plus de détails...
 

Attributs publics

int nbNodesGlo
 
int nbEdgesGlo
 
int node_start
 
int node_count
 
int edge_start
 
int edge_count
 
bool nodesAreWritten
 
bool edgesAreWritten
 
bool facesAreWritten
 
CArray< double, 1 > node_lon
 
CArray< double, 1 > node_lat
 
CArray< double, 1 > edge_lon
 
CArray< double, 1 > edge_lat
 
CArray< int, 2 > edge_nodes
 
CArray< double, 1 > face_lon
 
CArray< double, 1 > face_lat
 
CArray< int, 2 > face_nodes
 
CArray< int, 2 > face_edges
 
CArray< int, 2 > edge_faces
 
CArray< int, 2 > face_faces
 

Types privés

typedef std::pair< double, double > pairDouble
 
typedef std::pair< int, int > pairInt
 

Fonctions membres privées

void getGloNghbFacesNodeType (const MPI_Comm &, const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &)
 
Plus de détails...
 
void getGloNghbFacesEdgeType (const MPI_Comm &, const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &)
 
Plus de détails...
 
void getLocNghbFacesNodeType (const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &, CArray< int, 1 > &)
 
void getLocNghbFacesEdgeType (const CArray< int, 1 > &, const CArray< double, 2 > &, const CArray< double, 2 > &, CArray< int, 2 > &, CArray< int, 1 > &)
 
vector< size_t > createHashes (const double, const double)
 
Plus de détails...
 

Attributs privés

int nbNodes_
 
int nbEdges_
 
int nbFaces_
 
CClientClientDHTSizetpNodeGlobalIndex
 
CClientClientDHTSizetpEdgeGlobalIndex
 

Attributs privés statiques

static std::map< StdString, CMeshmeshList = std::map <StdString, CMesh>()
 
static std::map< StdString,
vector< int > > 
domainList = std::map <StdString, vector<int> >()
 

Description détaillée


CMesh class.

Définition à la ligne 25 du fichier mesh.hpp.

Documentation des définitions de type membres

typedef std::pair<double, double> xios::CMesh::pairDouble
private

Définition à la ligne 78 du fichier mesh.hpp.

typedef std::pair<int, int> xios::CMesh::pairInt
private

Définition à la ligne 79 du fichier mesh.hpp.

Documentation des constructeurs et destructeur

xios::CMesh::CMesh ( void  )

////////////////////// Définitions ////////////////////// ///

Définition à la ligne 15 du fichier mesh.cpp.

xios::CMesh::~CMesh ( void  )

Définition à la ligne 29 du fichier mesh.cpp.

Références pEdgeGlobalIndex, et pNodeGlobalIndex.

Documentation des fonctions membres

vector< size_t > xios::CMesh::createHashes ( const double  longitude,
const double  latitude 
)
private


Creates two hash values for each dimension, longitude and latitude.

Paramètres
[in]longitudeNode longitude in degrees.
[in]latitudeNode latitude in degrees ranged from 0 to 360.

Définition à la ligne 148 du fichier mesh.cpp.

Références xios::hashPair().

Référencé par createMeshEpsilon(), getGloNghbFacesEdgeType(), getGloNghbFacesNodeType(), et getLocNghbFacesNodeType().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::createMesh ( const CArray< double, 1 > &  lonvalue,
const CArray< double, 1 > &  latvalue,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat 
)


Creates or updates a mesh for the three types of mesh elements: nodes, edges, and faces.

Paramètres
[in]lonvalueArray of longitudes.
[in]latvalueArray of latitudes.
[in]bounds_lonArray of boundary longitudes. Its size depends on the element type.
[in]bounds_latArray of boundary latitudes. Its size depends on the element type.
void xios::CMesh::createMeshEpsilon ( const MPI_Comm &  comm,
const CArray< double, 1 > &  lonvalue,
const CArray< double, 1 > &  latvalue,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat 
)


Creates or updates a mesh for the three types of mesh elements: nodes, edges, and faces. Precision check is implemented with two hash values for each dimension, longitude and latitude.

Paramètres
[in]comm
[in]lonvalueArray of longitudes.
[in]latvalueArray of latitudes.
[in]bounds_lonArray of boundary longitudes. Its size depends on the element type.
[in]bounds_latArray of boundary latitudes. Its size depends on the element type.

Définition à la ligne 416 du fichier mesh.cpp.

Références xios::CClientClientDHTTemplate< T, HierarchyPolicy >::computeIndexInfoMapping(), xios::count, createHashes(), edge_count, edge_faces, edge_lat, edge_lon, edge_nodes, edge_start, edgesAreWritten, face_edges, face_faces, face_lat, face_lon, face_nodes, facesAreWritten, xios::generateNodeIndex(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getInfoIndexMap(), xios::hashPairOrdered(), nbEdges_, nbEdgesGlo, nbFaces_, nbNodes_, nbNodesGlo, node_count, node_lat, node_lon, node_start, nodesAreWritten, xios::nvertex, pEdgeGlobalIndex, pNodeGlobalIndex, xios::CArray< ValueType, NumDims, Allocator >::resize(), xios::CArray< ValueType, NumDims, Allocator >::resizeAndPreserve(), et xios::CArray< ValueType, NumDims, Allocator >::size().

Référencé par xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getGlobalNghbFaces ( const int  nghbType,
const MPI_Comm &  comm,
const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  nghbFaces 
)

Définition à la ligne 1953 du fichier mesh.cpp.

Références getGloNghbFacesEdgeType(), et getGloNghbFacesNodeType().

Référencé par xios::CDomainAlgorithmExpand::expandDomainEdgeConnectivity(), et xios::CDomainAlgorithmExpand::expandDomainNodeConnectivity().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getGloNghbFacesEdgeType ( const MPI_Comm &  comm,
const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  nghbFaces 
)
private


Finds neighboring cells of a local domain for edge-type of neighbors.

Paramètres
[in]comm
[in]face_idxArray with global indexes.
[in]bounds_lonArray of boundary longitudes.
[in]bounds_latArray of boundary latitudes.
[out]nghbFaces2D array of storing global indexes of neighboring cells and their owner procs.

Définition à la ligne 1772 du fichier mesh.cpp.

Références xios::CClientClientDHTTemplate< T, HierarchyPolicy >::computeIndexInfoMapping(), createHashes(), xios::generateNodeIndex(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getInfoIndexMap(), xios::hashPairOrdered(), xios::nvertex, xios::CArray< ValueType, NumDims, Allocator >::resize(), et xios::CArray< ValueType, NumDims, Allocator >::resizeAndPreserve().

Référencé par getGlobalNghbFaces().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getGloNghbFacesNodeType ( const MPI_Comm &  comm,
const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  nghbFaces 
)
private


Finds neighboring cells of a local domain for node-type of neighbors.

Paramètres
[in]comm
[in]face_idxArray with global indexes.
[in]bounds_lonArray of boundary longitudes.
[in]bounds_latArray of boundary latitudes.
[out]nghbFaces2D array of storing global indexes of neighboring cells and their owner procs.

Définition à la ligne 1616 du fichier mesh.cpp.

Références xios::CClientClientDHTTemplate< T, HierarchyPolicy >::computeIndexInfoMapping(), createHashes(), xios::generateNodeIndex(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getInfoIndexMap(), xios::nvertex, xios::CArray< ValueType, NumDims, Allocator >::resize(), et xios::CArray< ValueType, NumDims, Allocator >::resizeAndPreserve().

Référencé par getGlobalNghbFaces().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getLocalNghbFaces ( const int  nghbType,
const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  nghbFaces,
CArray< int, 1 > &  nbNghbFaces 
)

Définition à la ligne 1975 du fichier mesh.cpp.

Références getLocNghbFacesEdgeType(), et getLocNghbFacesNodeType().

Référencé par xios::CDomainAlgorithmComputeConnectivity::computeLocalConnectivity().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getLocNghbFacesEdgeType ( const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  faceToFaces,
CArray< int, 1 > &  nbNghbFaces 
)
private

Définition à la ligne 2059 du fichier mesh.cpp.

Références xios::make_ordered_pair(), xios::nvertex, et xios::CArray< ValueType, NumDims, Allocator >::resize().

Référencé par getLocalNghbFaces().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CMesh::getLocNghbFacesNodeType ( const CArray< int, 1 > &  face_idx,
const CArray< double, 2 > &  bounds_lon,
const CArray< double, 2 > &  bounds_lat,
CArray< int, 2 > &  faceToFaces,
CArray< int, 1 > &  nbNghbFaces 
)
private

Définition à la ligne 1996 du fichier mesh.cpp.

Références createHashes(), xios::hashPairOrdered(), xios::nvertex, et xios::CArray< ValueType, NumDims, Allocator >::resize().

Référencé par getLocalNghbFaces().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

CMesh * xios::CMesh::getMesh ( StdString  meshName,
int  nvertex 
)
static


Returns a pointer to a mesh. If a mesh has not been created, creates it and adds its name to the list of meshes meshList.

Paramètres
[in]meshNameThe name of a mesh ("name" attribute of a domain).
[in]nvertexNumber of verteces (1 for nodes, 2 for edges, 3 and up for faces).

Définition à la ligne 45 du fichier mesh.cpp.

Références domainList, et meshList.

Référencé par xios::CDomain::assignMesh().

+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

std::map< StdString, vector< int > > xios::CMesh::domainList = std::map <StdString, vector<int> >()
staticprivate

Définition à la ligne 86 du fichier mesh.hpp.

Référencé par getMesh().

int xios::CMesh::edge_count

Définition à la ligne 39 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<int, 2> xios::CMesh::edge_faces

Définition à la ligne 56 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::edge_lat

Définition à la ligne 49 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::edge_lon

Définition à la ligne 48 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<int, 2> xios::CMesh::edge_nodes

Définition à la ligne 50 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

int xios::CMesh::edge_start

Définition à la ligne 38 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

bool xios::CMesh::edgesAreWritten

Définition à la ligne 42 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

CArray<int, 2> xios::CMesh::face_edges

Définition à la ligne 55 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<int, 2> xios::CMesh::face_faces

Définition à la ligne 57 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::face_lat

Définition à la ligne 53 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::face_lon

Définition à la ligne 52 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<int, 2> xios::CMesh::face_nodes

Définition à la ligne 54 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

bool xios::CMesh::facesAreWritten

Définition à la ligne 43 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

std::map< StdString, CMesh > xios::CMesh::meshList = std::map <StdString, CMesh>()
staticprivate

Définition à la ligne 85 du fichier mesh.hpp.

Référencé par getMesh().

int xios::CMesh::nbEdges_
private

Définition à la ligne 82 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

int xios::CMesh::nbEdgesGlo

Définition à la ligne 34 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

int xios::CMesh::nbFaces_
private

Définition à la ligne 83 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

int xios::CMesh::nbNodes_
private

Définition à la ligne 81 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

int xios::CMesh::nbNodesGlo

Définition à la ligne 33 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

int xios::CMesh::node_count

Définition à la ligne 37 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::node_lat

Définition à la ligne 46 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

CArray<double, 1> xios::CMesh::node_lon

Définition à la ligne 45 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

int xios::CMesh::node_start

Définition à la ligne 36 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et xios::CNc4DataOutput::writeUnstructuredDomainUgrid().

bool xios::CMesh::nodesAreWritten

Définition à la ligne 41 du fichier mesh.hpp.

Référencé par createMeshEpsilon().

CClientClientDHTSizet* xios::CMesh::pEdgeGlobalIndex
private

Définition à la ligne 88 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et ~CMesh().

CClientClientDHTSizet* xios::CMesh::pNodeGlobalIndex
private

Définition à la ligne 87 du fichier mesh.hpp.

Référencé par createMeshEpsilon(), et ~CMesh().


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