|
WARPXM v1.10.0
|
#include <wmudggeometry.h>
Public Types | |
| typedef std::map< std::string, std::vector< int > > | boundaryFacesMap_t |
| typedef std::map< std::string, std::vector< std::unique_ptr< face_t > > > | bcFaceMap_t |
Public Member Functions | |
| WmUDGGeometry (const WmUnstructuredPatch &patch, const std::vector< std::string > &boundaryNames, const WmBasisArraySet &dgBasisSet, const bool useLimiter=false) | |
| ~WmUDGGeometry () | |
| const boundaryFacesMap_t & | getBoundaryFaces () const |
| int | getNumFaces () const |
| int | getNumFaces_Interior () const |
| int | getNumFaces_Boundary () const |
| int | getNumFaces_Shared () const |
| int | getNumElements () const |
| int | getNumElements_Inclusive () const |
| int | getNumElements_Interpatch_Elements_Group () const |
| const real * | getGeometryArray_Face () const |
| const real * | getGeometryArray_Element () const |
| the "element geometry array" | |
| const real * | getGeometryArray_Jacobian () const |
| const real * | getGeometryArray_Limiter () const |
| int | getGeometryArray_Face_BlockSize () const |
| int | getGeometryArray_Element_BlockSize () const |
| the block size of the element geometry array | |
| int | getGeometryArray_Jacobian_BlockSize () const |
| int | getGeometryArray_Limiter_BlockSize () const |
| int | getGeometryArray_Face_Size () const |
| int | getGeometryArray_Element_Size () const |
| int | getGeometryArray_Jacobian_Size () const |
| int | getGeometryArray_Limiter_Size () const |
| const int * | getReconstructionArray_StencilIndexes () const |
| const real * | getReconstructionArray_Weights () const |
| const real * | getReconstructionArray_Reconstruction () const |
| const real * | getReconstructionArray_Correction () const |
| int | getReconstructionArray_StencilIndexes_BlockSize () const |
| int | getReconstructionArray_Weights_BlockSize () const |
| int | getReconstructionArray_Reconstruction_BlockSize () const |
| int | getReconstructionArray_Correction_BlockSize () const |
| int | getReconstructionArray_StencilIndexes_Size () const |
| int | getReconstructionArray_Weights_Size () const |
| int | getReconstructionArray_Reconstruction_Size () const |
| int | getReconstructionArray_Correction_Size () const |
| const int * | getFaceNodeIndexes_Interconnected () const |
| const int * | getFaceElementIndexes_Interconnected () const |
| const int * | getFaceElementIndexes_InterconnectedNoMinusOne () const |
| const int * | getFaceNodeIndexes_Composite () const |
| const int * | getGlobalFaceNodeIndexes_Composite () const |
| int | getFaceElementIndexes_Interconnected_BlockSize () const |
| Returns block size of interconnectedFaceElementIndexes. | |
| int | getFaceNodeIndexes_Interconnected_BlockSize () const |
| int | getFaceNodeIndexes_Composite_BlockSize () const |
| int | getFaceElementIndexes_Interconnected_Size () const |
| int | getFaceNodeIndexes_Interconnected_Size () const |
| int | getFaceNodeIndexes_Composite_Size () const |
| int | getElementIndexes_NumInLayers (int lowerLayer, int upperLayer) const |
| int | getFaceIndexes_NumInLayers (int lowerLayer, int upperLayer) const |
| int | getElementIndexes_StartIndexForLayer (int layer) const |
| int | getFaceIndexes_StartIndexForLayer (int layer) const |
| bool | hasBoundary (const std::string &boundary) const |
| int | isBoundaryFace (int faceIndex) const |
| int | isPatchBoundaryFace (int faceIndex) const |
| const real * | getCommonNormal (int faceIndex) const |
| const WmUnstructuredPatch & | getPatch () const |
| const WmUnstructuredGeometry * | get_unstructured_geometry () const |
| const face_t & | get_face (const int global_face_index) const |
| int | get_global_face_from_element_local_face (int global_element_index, int local_face_index) const |
| void | printFaceInformation (int global_face_index) const |
| void | printElementInformation (int global_element_index) |
| int | getNumL1Elements () const |
| Grab number of layer 1 elements. | |
| void | getElementGlobalNodePositionsAndIndexes (const int element_index, int *global_node_indexes, real *global_node_positions) const |
| Grab the global node positions and indexes for an element. | |
| int | getGlobalNodeIndexAtPosition (const real *global_node_positions, const int *global_node_indexes, const real position[3]) const |
| Find the global node index of a position given global_node_indexes and global_node_positions of an element. | |
| void | printDGNeighborhood (std::stringstream &ss) const |
| Print _dg_neighborhood into a stringstream. | |
| void | printElementwiseFaceInsideOutsideNodes (std::stringstream &ss) const |
| Print _inside_outside_global_node_indexes into a stringstream. | |
| const int * | getDGNeighborhood () const |
| Get raw pointer to _dg_neighborhood. | |
| const int * | getLocalDGNeighborhood (const int element_index) const |
| Get raw pointer to _dg_neighborhood at a particular element index. | |
| int | getNeighborLocalFaceIndex (const int element_index, const int local_face_index) const |
| Get neighboring element local face index at a particular local face index of an element index Returns 0 when unstructured geometry returns -1. | |
| int | getFaceOrientation (const int element_index, const int local_face_index) const |
| Get the orientation at a particular local face index of an element index Returns 0 when unstructured geometry returns -1. | |
| const int * | getFaceNodeGlobalInsideOutsideIndexes (const int element_index, const int local_face_index, const int local_node_index) const |
| Get raw pointer to _inside_outside_global_node_indexes at a particular element index, local face index, and local node index The 0 element of the returned pointer should be the inside node index The 1 element of the returned pointer should be the outside node index. | |
| void | printCompositeFaceNodeIndexesArray (std::stringstream &ss) const |
| std::shared_ptr< WxRange > | ownElementRange () const |
| The range of elements belonging to this patch. | |
| template<typename Func > | |
| void | forEachNode (Func f) |
| Iterate over every node in this geometry and call the provided function. | |
Protected Attributes | |
| const WmUnstructuredPatch & | _patch |
| const WmUnstructuredGeometry * | _uG |
| const WmBasisArraySet & | _basisSet |
| std::vector< std::string > | _boundaryNames |
| boundaryFacesMap_t | _boundaryFaceIndexes |
| std::vector< std::shared_ptr< face_t > > | _interior_faces |
| std::vector< std::shared_ptr< face_t > > | _all_faces |
| bcFaceMap_t | _boundary_faces |
| bcFaceMap_t | _shared_faces |
| int | _numFaces |
| int | _numBoundaryFaces |
| int | _numSharedFaces |
| int | _numInteriorFaces |
| int | _numElements_PEG |
| int | _numElements_PIPEG |
| int | _numElements_PIPBCEG |
| int | _faceGeometryBlockSize |
| int | _elementGeometryBlockSize |
| int | _jacobianGeometryBlockSize |
| int | _limiterGeometryBlockSize |
| std::vector< real > | _faceGeometry |
| std::vector< real > | _elementGeometry |
| std::vector< real > | _jacobianGeometry |
| std::vector< real > | _limiterGeometry |
| int | _reconstruction_stencilIndexes_blockSize |
| int | _reconstruction_w_blockSize |
| int | _reconstruction_lInverse_blockSize |
| int | _reconstruction_b_blockSize |
| std::vector< int > | _reconstruction_stencilIndexes |
| std::vector< real > | _reconstruction_w |
| std::vector< real > | _reconstruction_lInverse |
| std::vector< real > | _reconstruction_b |
| int | _interconnectedFaceNodeIndexesBlockSize |
| int | _interconnectedFaceElementIndexesBlockSize |
| int | _compositeFaceNodeIndexesBlockSize |
| std::vector< int > | _numFacesPerLayer |
| std::vector< int > | _interconnectedFaceNodeIndexes |
| std::vector< int > | _interconnectedFaceElementIndexes |
| std::vector< int > | _interconnectedFaceElementIndexesNoMinusOne |
| std::vector< int > | _compositeFaceNodeIndexes |
| std::vector< int > | _compositeGlobalFaceNodeIndexes |
| std::vector< int > | _isBoundaryFaceArray |
| std::vector< int > | _isPatchBoundaryFaceArray |
| std::vector< real > | _commonNormals |
| std::vector< real > | _globalFaceNumbersOfGlobalElementNumbers |
| std::vector< int > | _l1_elements |
| std::vector< real > | _numerical_flux_multipliers |
| std::vector< int > | _dg_neighborhood |
| Neighborhood of elements [_numElements X _numFacesPerElement] However ghost elements are given a number (not -1) | |
| std::vector< int > | _dg_neighbor_local_face |
| Local faces of neighboring elements written by face [_numElements X _numFacesPerElement] However ghost elements are given 0 (not -1) | |
| std::vector< int > | _dg_orientations |
| Get orientations for each elements by face [_numElements X _numFacesPerElement] However ghost elements are given 0 (not -1) | |
| std::vector< int > | _inside_outside_global_node_indexes |
| This gives the element and facewise inside and outside global node indexes [_numElements_PEG X numFacesPerElement X numFaceNodes * 2] That is for each element for each face for each face node there is an "inside" and "outside" global node index from the perspective of the current ("inside") element. | |
| typedef std::map<std::string, std::vector<std::unique_ptr<face_t> > > WmUDGGeometry::bcFaceMap_t |
| typedef std::map<std::string, std::vector<int> > WmUDGGeometry::boundaryFacesMap_t |
| WmUDGGeometry::WmUDGGeometry | ( | const WmUnstructuredPatch & | patch, |
| const std::vector< std::string > & | boundaryNames, | ||
| const WmBasisArraySet & | dgBasisSet, | ||
| const bool | useLimiter = false |
||
| ) |
| WmUDGGeometry::~WmUDGGeometry | ( | ) |
|
inline |
Iterate over every node in this geometry and call the provided function.
For every node in the geometry, this will call f with the following arguments:
ndims holding the x, y, z coordinates of the node.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get raw pointer to _dg_neighborhood.
| void WmUDGGeometry::getElementGlobalNodePositionsAndIndexes | ( | const int | element_index, |
| int * | global_node_indexes, | ||
| real * | global_node_positions | ||
| ) | const |
Grab the global node positions and indexes for an element.
| element_index | |
| global_node_indexes | set by this function |
| global_node_positions | set by this function |
| int WmUDGGeometry::getElementIndexes_NumInLayers | ( | int | lowerLayer, |
| int | upperLayer | ||
| ) | const |
| int WmUDGGeometry::getElementIndexes_StartIndexForLayer | ( | int | layer | ) | const |
|
inline |
|
inline |
Returns block size of interconnectedFaceElementIndexes.
(the array that gives the inside and outside element indexes for each face) -> should be 2
|
inline |
|
inline |
| int WmUDGGeometry::getFaceIndexes_NumInLayers | ( | int | lowerLayer, |
| int | upperLayer | ||
| ) | const |
| int WmUDGGeometry::getFaceIndexes_StartIndexForLayer | ( | int | layer | ) | const |
|
inline |
Get raw pointer to _inside_outside_global_node_indexes at a particular element index, local face index, and local node index The 0 element of the returned pointer should be the inside node index The 1 element of the returned pointer should be the outside node index.
| element_index | global element index |
| local_face_index | local face index |
| local_node_index | face node |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get the orientation at a particular local face index of an element index Returns 0 when unstructured geometry returns -1.
| element_index | |
| local_face_index | (or element index) |
|
inline |
the "element geometry array"
This array contains the x, y, z positions of every node in the geometry. It has dimensions (ndims, nodes_per_elt+1, num_elements), and is laid out in memory accordingly.
The quantity ndims * (nodes_per_elt+1) is calculated and available in getGeometryArray_Element_BlockSize, and is the stride to use for accessing geometry on an element-by-element pattern.
Within each element block, the first ndims entries are the first ndims values of (dx, 0, 0). dx is the element width.
The following (nodes_per_elt * ndims) entries in the element block are the positions of each node in the block, laid out with the physical dimension in the innermost array index, then the node.
|
inline |
the block size of the element geometry array
Equal to (nodes_per_elt + 1) * ndims
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| int WmUDGGeometry::getGlobalNodeIndexAtPosition | ( | const real * | global_node_positions, |
| const int * | global_node_indexes, | ||
| const real | position[3] | ||
| ) | const |
Find the global node index of a position given global_node_indexes and global_node_positions of an element.
| global_node_positions | |
| global_node_indexes | |
| position |
|
inline |
Get raw pointer to _dg_neighborhood at a particular element index.
| element_index |
|
inline |
Get neighboring element local face index at a particular local face index of an element index Returns 0 when unstructured geometry returns -1.
| element_index | |
| local_face_index | (or element index) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Grab number of layer 1 elements.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| bool WmUDGGeometry::hasBoundary | ( | const std::string & | boundary | ) | const |
|
inline |
|
inline |
| std::shared_ptr< WxRange > WmUDGGeometry::ownElementRange | ( | ) | const |
The range of elements belonging to this patch.
| void WmUDGGeometry::printCompositeFaceNodeIndexesArray | ( | std::stringstream & | ss | ) | const |
| void WmUDGGeometry::printDGNeighborhood | ( | std::stringstream & | ss | ) | const |
Print _dg_neighborhood into a stringstream.
| ss | stringstream reference object |
|
inline |
| void WmUDGGeometry::printElementwiseFaceInsideOutsideNodes | ( | std::stringstream & | ss | ) | const |
Print _inside_outside_global_node_indexes into a stringstream.
| ss | stringstream reference object |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Local faces of neighboring elements written by face [_numElements X _numFacesPerElement] However ghost elements are given 0 (not -1)
|
protected |
Neighborhood of elements [_numElements X _numFacesPerElement] However ghost elements are given a number (not -1)
|
protected |
Get orientations for each elements by face [_numElements X _numFacesPerElement] However ghost elements are given 0 (not -1)
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
This gives the element and facewise inside and outside global node indexes [_numElements_PEG X numFacesPerElement X numFaceNodes * 2] That is for each element for each face for each face node there is an "inside" and "outside" global node index from the perspective of the current ("inside") element.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |