62 static unsigned short nDim;
83 CPrimalGrid(
unsigned short val_nNodes,
unsigned short val_nFaces,
unsigned short val_VTK_Type);
95 long GetNeighbor_Elements(
unsigned short val_face);
102 void SetNeighbor_Elements(
unsigned long val_elem,
unsigned short val_face);
108 void SetCoord_CG(su2double **val_coord);
115 su2double GetCG(
unsigned short val_dim);
121 void SetVolume(su2double val_volume);
128 su2double GetVolume(
void);
136 su2double GetFaceCG(
unsigned short val_face,
unsigned short val_dim);
142 void GetAllNeighbor_Elements(
void);
148 void SetDivide(
bool val_divide);
154 bool GetDivide(
void);
160 unsigned long GetGlobalIndex(
void);
166 void SetGlobalIndex(
unsigned long val_globalindex);
172 virtual void SetDomainElement(
unsigned long val_domainelement);
178 virtual unsigned long GetDomainElement(
void);
183 virtual void Change_Orientation(
void) = 0;
189 virtual unsigned short GetVTK_Type(
void) = 0;
195 virtual unsigned short GetRotation_Type(
void);
201 virtual void SetRotation_Type(
unsigned short val_rotation_type);
208 virtual unsigned short GetnNeighbor_Nodes(
unsigned short val_node) = 0;
214 virtual unsigned short GetnNeighbor_Elements(
void) = 0;
220 virtual unsigned short GetnNodes(
void) = 0;
226 virtual unsigned short GetnFaces(
void) = 0;
233 virtual unsigned short GetnNodesFace(
unsigned short val_face) = 0;
239 virtual unsigned short GetMaxNodesFace(
void) = 0;
246 virtual unsigned long GetNode(
unsigned short val_node) = 0;
253 virtual void SetNode(
unsigned short val_node,
unsigned long val_point);
261 virtual unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index) = 0;
270 virtual unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index) = 0;
282 static unsigned short nFaces;
283 static unsigned short nNodes;
284 static unsigned short VTK_Type;
285 unsigned short Rotation_Type;
287 static unsigned short maxNodesFace;
288 static unsigned short nNeighbor_Elements;
297 CVertexMPI(
unsigned long val_point,
unsigned short val_nDim);
309 unsigned long GetNode(
unsigned short val_node);
316 void SetNode(
unsigned short val_node,
unsigned long val_point);
322 unsigned short GetnNodes(
void);
328 unsigned short GetVTK_Type(
void);
334 unsigned short GetRotation_Type(
void);
340 void SetRotation_Type(
unsigned short val_rotation_type);
346 void Change_Orientation(
void);
352 unsigned short GetnNeighbor_Elements(
void);
358 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
364 unsigned short GetnFaces(
void);
370 unsigned short GetnNodesFace(
unsigned short val_face);
376 unsigned short GetMaxNodesFace(
void);
382 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
388 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
399 static unsigned short Faces[1][2];
400 static unsigned short Neighbor_Nodes[2][1];
401 static unsigned short nNodesFace[1];
402 static unsigned short nNeighbor_Nodes[2];
403 static unsigned short nFaces;
404 static unsigned short nNodes;
405 static unsigned short VTK_Type;
406 static unsigned short maxNodesFace;
407 static unsigned short nNeighbor_Elements;
417 CLine(
unsigned long val_point_0,
unsigned long val_point_1,
unsigned short val_nDim);
429 unsigned long GetNode(
unsigned short val_node);
436 void SetNode(
unsigned short val_node,
unsigned long val_point);
444 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
453 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
460 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
467 unsigned short GetnNodesFace(
unsigned short val_face);
473 unsigned short GetnNodes(
void);
479 unsigned short GetnFaces(
void);
485 unsigned short GetMaxNodesFace(
void);
491 unsigned short GetVTK_Type(
void);
497 unsigned short GetnNeighbor_Elements(
void);
503 void SetDomainElement(
unsigned long val_domainelement);
509 unsigned long GetDomainElement(
void);
514 void Change_Orientation(
void);
525 static unsigned short Faces[3][2];
526 static unsigned short Neighbor_Nodes[3][2];
527 static unsigned short nNodesFace[3];
528 static unsigned short nNeighbor_Nodes[3];
529 static unsigned short nFaces;
530 static unsigned short nNodes;
531 static unsigned short VTK_Type;
532 static unsigned short maxNodesFace;
533 static unsigned short nNeighbor_Elements;
544 CTriangle(
unsigned long val_point_0,
unsigned long val_point_1,
545 unsigned long val_point_2,
unsigned short val_nDim);
557 unsigned long GetNode(
unsigned short val_node);
564 void SetNode(
unsigned short val_node,
unsigned long val_point);
572 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
581 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
588 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
595 unsigned short GetnNodesFace(
unsigned short val_face);
601 unsigned short GetnNodes(
void);
607 unsigned short GetnFaces(
void);
613 unsigned short GetMaxNodesFace(
void);
619 unsigned short GetVTK_Type(
void);
625 unsigned short GetnNeighbor_Elements(
void);
630 void Change_Orientation(
void);
636 void SetDomainElement(
unsigned long val_domainelement);
642 unsigned long GetDomainElement(
void);
653 static unsigned short Faces[4][2];
654 static unsigned short Neighbor_Nodes[4][2];
655 static unsigned short nNodesFace[4];
656 static unsigned short nNeighbor_Nodes[4];
657 static unsigned short nFaces;
658 static unsigned short nNodes;
659 static unsigned short VTK_Type;
660 static unsigned short maxNodesFace;
661 static unsigned short nNeighbor_Elements;
673 CQuadrilateral(
unsigned long val_point_0,
unsigned long val_point_1,
674 unsigned long val_point_2,
unsigned long val_point_3,
unsigned short val_nDim);
686 unsigned long GetNode(
unsigned short val_node);
693 void SetNode(
unsigned short val_node,
unsigned long val_point);
701 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
709 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
716 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
723 unsigned short GetnNodesFace(
unsigned short val_face);
729 unsigned short GetnNodes(
void);
735 unsigned short GetnFaces(
void);
741 unsigned short GetMaxNodesFace(
void);
747 unsigned short GetVTK_Type(
void);
753 unsigned short GetnNeighbor_Elements(
void);
758 void Change_Orientation(
void);
764 void SetDomainElement(
unsigned long val_domainelement);
770 unsigned long GetDomainElement(
void);
781 static unsigned short Faces[4][3];
782 static unsigned short Neighbor_Nodes[4][3];
783 static unsigned short nNodesFace[4];
784 static unsigned short nNeighbor_Nodes[4];
785 static unsigned short nFaces;
786 static unsigned short nNodes;
787 static unsigned short VTK_Type;
788 static unsigned short maxNodesFace;
789 static unsigned short nNeighbor_Elements;
800 CTetrahedron(
unsigned long val_point_0,
unsigned long val_point_1,
801 unsigned long val_point_2,
unsigned long val_point_3);
813 unsigned long GetNode(
unsigned short val_node);
820 void SetNode(
unsigned short val_node,
unsigned long val_point);
828 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
836 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
843 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
850 unsigned short GetnNodesFace(
unsigned short val_face);
856 unsigned short GetnNodes(
void);
862 unsigned short GetnFaces(
void);
868 unsigned short GetMaxNodesFace(
void);
874 unsigned short GetVTK_Type(
void);
880 unsigned short GetnNeighbor_Elements(
void);
885 void Change_Orientation(
void);
896 static unsigned short Faces[6][4];
897 static unsigned short Neighbor_Nodes[8][3];
898 static unsigned short nNodesFace[6];
899 static unsigned short nNeighbor_Nodes[8];
900 static unsigned short nFaces;
901 static unsigned short nNodes;
902 static unsigned short VTK_Type;
903 static unsigned short maxNodesFace;
904 static unsigned short nNeighbor_Elements;
919 CHexahedron(
unsigned long val_point_0,
unsigned long val_point_1,
920 unsigned long val_point_2,
unsigned long val_point_3,
921 unsigned long val_point_4,
unsigned long val_point_5,
922 unsigned long val_point_6,
unsigned long val_point_7);
934 unsigned long GetNode(
unsigned short val_node);
941 void SetNode(
unsigned short val_node,
unsigned long val_point);
949 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
958 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
965 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
972 unsigned short GetnNodesFace(
unsigned short val_face);
978 unsigned short GetnNodes(
void);
984 unsigned short GetnFaces(
void);
990 unsigned short GetMaxNodesFace(
void);
996 unsigned short GetVTK_Type(
void);
1002 unsigned short GetnNeighbor_Elements(
void);
1007 void Change_Orientation(
void);
1018 static unsigned short Faces[5][4];
1019 static unsigned short Neighbor_Nodes[6][3];
1020 static unsigned short nNodesFace[5];
1021 static unsigned short nNeighbor_Nodes[6];
1022 static unsigned short nFaces;
1023 static unsigned short nNodes;
1024 static unsigned short VTK_Type;
1025 static unsigned short maxNodesFace;
1026 static unsigned short nNeighbor_Elements;
1039 CPrism(
unsigned long val_point_0,
unsigned long val_point_1,
1040 unsigned long val_point_2,
unsigned long val_point_3,
1041 unsigned long val_point_4,
unsigned long val_point_5);
1053 unsigned long GetNode(
unsigned short val_node);
1060 void SetNode(
unsigned short val_node,
unsigned long val_point);
1068 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
1076 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
1083 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
1090 unsigned short GetnNodesFace(
unsigned short val_face);
1096 unsigned short GetnNodes(
void);
1102 unsigned short GetnFaces(
void);
1108 unsigned short GetMaxNodesFace(
void);
1114 unsigned short GetVTK_Type(
void);
1120 unsigned short GetnNeighbor_Elements(
void);
1125 void Change_Orientation(
void);
1136 static unsigned short Faces[5][4];
1137 static unsigned short Neighbor_Nodes[5][4];
1138 static unsigned short nNodesFace[5];
1139 static unsigned short nNeighbor_Nodes[5];
1140 static unsigned short nFaces;
1141 static unsigned short nNodes;
1142 static unsigned short VTK_Type;
1143 static unsigned short maxNodesFace;
1144 static unsigned short nNeighbor_Elements;
1156 CPyramid(
unsigned long val_point_0,
unsigned long val_point_1,
1157 unsigned long val_point_2,
unsigned long val_point_3,
1158 unsigned long val_point_4);
1170 unsigned long GetNode(
unsigned short val_node);
1177 void SetNode(
unsigned short val_node,
unsigned long val_point);
1185 unsigned short GetFaces(
unsigned short val_face,
unsigned short val_index);
1193 unsigned short GetNeighbor_Nodes(
unsigned short val_node,
unsigned short val_index);
1200 unsigned short GetnNeighbor_Nodes(
unsigned short val_node);
1207 unsigned short GetnNodesFace(
unsigned short val_face);
1213 unsigned short GetnNodes(
void);
1219 unsigned short GetnFaces(
void);
1225 unsigned short GetMaxNodesFace(
void);
1231 unsigned short GetVTK_Type(
void);
1237 unsigned short GetnNeighbor_Elements(
void);
1242 void Change_Orientation(
void);
su2double Volume
Volume of the element.
Definition: primal_grid_structure.hpp:68
In-Line subroutines of the primal_grid_structure.hpp file.
All the information about the definition of the physical problem. The subroutines and functions are i...
Class for triangle element definition.
Definition: primal_grid_structure.hpp:523
unsigned long * Nodes
Vector to store the global nodes of an element.
Definition: primal_grid_structure.hpp:56
Headers of the mpi interface for generalized datatypes. The subroutines and functions are in the mpi_...
Headers of the main subroutines for doing the complete dual grid structure. The subroutines and funct...
Class for tetrahedron element definition.
Definition: primal_grid_structure.hpp:779
long * Neighbor_Elements
Vector to store the elements surronding an element.
Definition: primal_grid_structure.hpp:58
Class for quadrilateral element definition.
Definition: primal_grid_structure.hpp:651
Class to define the numerical primal grid.
Definition: primal_grid_structure.hpp:54
static unsigned short nDim
Dimension of the element (2D or 3D) useful for triangles, quadrilateral and edges.
Definition: primal_grid_structure.hpp:62
Class for vertex element definition. This kind of element is used in the parallelization stuff...
Definition: primal_grid_structure.hpp:280
su2double ** Coord_FaceElems_CG
Coordinates of the center-of-gravity of the face of the elements.
Definition: primal_grid_structure.hpp:60
bool Divide
Marker used to know if we are going to divide this element in the adaptation proccess.
Definition: primal_grid_structure.hpp:66
Class for hexahedron element definition.
Definition: primal_grid_structure.hpp:894
su2double * Coord_CG
Coordinates of the center-of-gravity of the element.
Definition: primal_grid_structure.hpp:59
unsigned long GlobalIndex
The global index of an element.
Definition: primal_grid_structure.hpp:57
Class for prism element definition.
Definition: primal_grid_structure.hpp:1016
unsigned long DomainElement
Only for boundaries, in this variable the 3D elements which correspond with a boundary element is sto...
Definition: primal_grid_structure.hpp:64
Class for line element definition.
Definition: primal_grid_structure.hpp:397
Class for pyramid element definition.
Definition: primal_grid_structure.hpp:1134