![]() |
Documentation 6b54b78464
|
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geometry, only boundary geometry, etc..) More...
#include <CGeometry.hpp>
Classes | |
| struct | CLineletInfo |
| Linelets (mesh lines perpendicular to stretching direction). More... | |
| struct | LDUSparsePattern |
| Aggregates the full symmetric CSR and its LDU split (L strictly-lower, U strictly-upper). Built together lazily via GetSparsePattern; all three are always valid once non-empty. More... | |
Public Types | |
| using | PassiveRequest = typename SelectMPIWrapper< passivedouble >::W::Request |
Public Member Functions | |
| CGeometry () | |
| Constructor of the class. | |
| CGeometry (CConfig *config, unsigned short nDim) | |
| Constructor of the class. | |
| virtual | ~CGeometry () |
| Destructor of the class. | |
| void | PreprocessP2PComms (CGeometry *geometry, CConfig *config) |
| Routine to launch non-blocking recvs only for all periodic communications. | |
| void | AllocateP2PComms (unsigned short val_countPerPoint) |
| Routine to allocate buffers for point-to-point MPI communications. Also called to dynamically reallocate if not enough memory is found for comms during runtime. | |
| void | PostP2PRecvs (CGeometry *geometry, const CConfig *config, COMM_TYPE commType, unsigned short countPerPoint, bool val_reverse) const |
| Routine to launch non-blocking recvs only for all point-to-point communication with neighboring partitions. | |
| void | PostP2PSends (CGeometry *geometry, const CConfig *config, COMM_TYPE commType, unsigned short countPerPoint, int val_iMessage, bool val_reverse) const |
| Routine to launch a single non-blocking send once the buffer is loaded for a point-to-point commucation. | |
| template<class T > | |
| COMM_TYPE | GetCommType () const |
| Returns the COMM_TYPE enum for a given data type. | |
| template<class T > | |
| auto * | GetP2PSendBuf () const |
| Returns the send buffer for a given data type. | |
| template<class T > | |
| auto * | GetP2PRecvBuf () const |
| Returns the receive buffer for a given data type. | |
| template<class T > | |
| auto * | GetP2PSendReq () const |
| Returns the send requests for a given data type. | |
| template<class T > | |
| auto * | GetP2PRecvReq () const |
| Returns the receive requests for a given data type. | |
| void | PreprocessPeriodicComms (CGeometry *geometry, CConfig *config) |
| Routine to set up persistent data structures for periodic communications. | |
| void | AllocatePeriodicComms (unsigned short val_countPerPeriodicPoint) |
| Routine to allocate buffers for periodic communications. Also called to dynamically reallocate if not enough memory is found for comms during runtime. | |
| void | PostPeriodicRecvs (CGeometry *geometry, const CConfig *config, COMM_TYPE commType, unsigned short countPerPeriodicPoint) |
| Routine to launch non-blocking recvs only for all periodic communication with neighboring partitions. | |
| void | PostPeriodicSends (CGeometry *geometry, const CConfig *config, COMM_TYPE commType, unsigned short countPerPeriodicPoint, int val_iMessage) const |
| Routine to launch a single non-blocking send once the buffer is loaded for a periodic commucation. | |
| void | GetCommCountAndType (const CConfig *config, MPI_QUANTITIES commType, unsigned short &COUNT_PER_POINT, COMM_TYPE &MPI_TYPE) const |
| Helper function to define the type and number of variables per point for each communication type. | |
| void | InitiateComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType) const |
| Routine to load a geometric quantity into the data structures for MPI point-to-point communication and to launch non-blocking sends and recvs for all point-to-point communication with neighboring partitions. | |
| void | CompleteComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType) |
| Routine to complete the set of non-blocking communications launched by InitiateComms() and unpacking of the data into the geometry class. | |
| unsigned short | GetnDim () const |
| Get number of coordinates. | |
| unsigned short | GetnZone () const |
| Get number of zones. | |
| unsigned long | GetnPoint () const |
| Get number of points. | |
| unsigned long | GetnPointDomain () const |
| Get number of real points (that belong to the domain). | |
| unsigned long | GetGlobal_nPoint () const |
| Retrieve total number of nodes in a simulation across all processors (including halos). | |
| unsigned long | GetGlobal_nPointDomain () const |
| Retrieve total number of nodes in a simulation across all processors (excluding halos). | |
| unsigned long | GetnElem () const |
| Get number of elements. | |
| unsigned long | GetnEdge () const |
| Get number of edges. | |
| unsigned short | GetnMarker () const |
| Get number of markers. | |
| const su2double * | GetSpanWiseValue (unsigned short val_marker) const |
| Get number of vertices. | |
| unsigned long | GetnVertex (unsigned short val_marker) const |
| Get number of vertices. | |
| unsigned short | GetnSpanWiseSections (unsigned short marker_flag) const |
| Get number of span wise section. | |
| unsigned long | GetnVertexSpan (unsigned short val_marker, unsigned short val_span) const |
| Get number of vertices. | |
| unsigned long | GetnFreqSpan (unsigned short val_marker, unsigned short val_span) const |
| Get number of frequencies per span for NRBC. | |
| unsigned long | GetnVertexSpanMax (unsigned short marker_flag) const |
| Get number of vertices. | |
| unsigned long | GetnFreqSpanMax (unsigned short marker_flag) const |
| Get number of max frequencies for initializing the Fourier Coefficient for NR BC. | |
| void | SetnVertexSpanMax (unsigned short marker_flag, unsigned long nVertMax) |
| Get number of vertices. | |
| long | FindEdge (unsigned long first_point, unsigned long second_point, bool error=true) const |
| Get the edge index from using the nodes of the edge. | |
| bool | CheckEdge (unsigned long first_point, unsigned long second_point) const |
| Get the edge index from using the nodes of the edge. | |
| void | TestGeometry () const |
| Create a file for testing the geometry. | |
| void | SetnMarker (unsigned short val_nmarker) |
| A virtual member. | |
| void | SetnDim (unsigned short val_nDim) |
| Set the number of dimensions of the problem. | |
| string | GetMarker_Tag (unsigned short val_marker) const |
| Get the index of a marker. | |
| void | SetMarker_Tag (unsigned short val_marker, string val_index) |
| Set index of a marker. | |
| void | SetnElem_Bound (unsigned short val_marker, unsigned long val_nelem_bound) |
| Set the number of boundary elements. | |
| void | SetnPoint (unsigned long val_npoint) |
| Set the number of grid points. | |
| void | SetnPointDomain (unsigned long val_npoint) |
| Set the number of grid points in the domain. | |
| void | SetGlobal_nPointDomain (unsigned long val_global_npoint) |
| Set the value of the total number of points globally in the simulation. | |
| void | SetnElem (unsigned long val_nelem) |
| Set the number of grid elements. | |
| unsigned long | GetnElem_Bound (unsigned short val_marker) const |
| Get the number of boundary elements. | |
| unsigned long | GetMax_GlobalPoint () const |
| Get the number of elements in vtk fortmat. | |
| virtual bool | FindFace (unsigned long first_elem, unsigned long second_elem, unsigned short &face_first_elem, unsigned short &face_second_elem) |
| Finds face of element. | |
| virtual void | SetPositive_ZArea (CConfig *config) |
| Sets area to be positive in Z direction. | |
| virtual void | SetPoint_Connectivity () |
| Set connectivity between points. | |
| virtual void | SetRCM_Ordering (CConfig *config) |
| Orders the RCM. | |
| virtual void | SetElement_Connectivity () |
| Connects elements . | |
| void | SetEdges () |
| Sets the edges of an elemment. | |
| void | SetFaces () |
| Sets the faces of an element.. | |
| virtual void | SetBoundVolume () |
| Sets the boundary volume. | |
| virtual void | SetVertex (const CConfig *config) |
| Sets the vertices. | |
| virtual void | ComputeNSpan (CConfig *config, unsigned short val_iZone, unsigned short marker_flag, bool allocate) |
| Computes the N span. | |
| virtual void | SetTurboVertex (CConfig *config, unsigned short val_iZone, unsigned short marker_flag, bool allocate) |
| Set vertices for turbomachinery problems. | |
| virtual void | UpdateTurboVertex (CConfig *config, unsigned short val_iZone, unsigned short marker_flag) |
| A virtual member. | |
| virtual void | SetAvgTurboValue (CConfig *config, unsigned short val_iZone, unsigned short marker_flag, bool allocate) |
| A virtual member. | |
| virtual void | GatherInOutAverageValues (CConfig *config, bool allocate) |
| A virtual member. | |
| virtual void | SetAvgTurboGeoValues (const CConfig *donor_config, CGeometry *donor_geometry, unsigned short donorZone) |
| Store all the turboperformance in the solver in final zone. | |
| virtual void | SetMaxLength (CConfig *config) |
| Set max length. | |
| virtual void | SetControlVolume (CConfig *config, unsigned short action) |
| Sets control volume. | |
| virtual void | VisualizeControlVolume (const CConfig *config) const |
| A virtual member. | |
| virtual void | MatchActuator_Disk (const CConfig *config) |
| A virtual member. | |
| virtual void | MatchPeriodic (const CConfig *config, unsigned short val_periodic) |
| Match periodic boundary points using coordinate-based matching. | |
| virtual void | SetBoundControlVolume (const CConfig *config, unsigned short action) |
| A virtual member. | |
| void | ComputeModifiedSymmetryNormals (const CConfig *config) |
| Computes modified normals at intersecting symmetry planes. | |
| virtual void | SetTecPlot (char config_filename[MAX_STRING_SIZE], bool new_file) |
| A virtual member. | |
| virtual void | SetBoundTecPlot (char mesh_filename[MAX_STRING_SIZE], bool new_file, CConfig *config) |
| A virtual member. | |
| virtual void | Check_IntElem_Orientation (const CConfig *config) |
| A virtual member. | |
| virtual void | Check_BoundElem_Orientation (const CConfig *config) |
| A virtual member. | |
| virtual void | SetColorGrid (CConfig *config) |
| A virtual member. | |
| virtual void | SetColorGrid_Parallel (const CConfig *config) |
| A virtual member. | |
| virtual void | SetColorFEMGrid_Parallel (CConfig *config) |
| A virtual member. | |
| virtual void | DivideConnectivity (CConfig *config, unsigned short Elem_Type) |
| A virtual member. | |
| virtual void | SetSendReceive (const CConfig *config) |
| A virtual member. | |
| virtual void | SetBoundaries (CConfig *config) |
| A virtual member. | |
| virtual void | SetCoord (const CGeometry *fine_grid) |
| A virtual member. | |
| virtual void | SetMultiGridWallHeatFlux (const CGeometry *fine_grid, unsigned short val_marker) |
| A virtual member. | |
| virtual void | SetMultiGridWallTemperature (const CGeometry *fine_grid, unsigned short val_marker) |
| A virtual member. | |
| virtual void | SetPoint_Connectivity (const CGeometry *fine_grid) |
| A virtual member. | |
| virtual void | SetVertex (const CGeometry *fine_grid, const CConfig *config) |
| A virtual member. | |
| virtual void | SetControlVolume (const CGeometry *fine_grid, unsigned short action) |
| A virtual member. | |
| virtual void | SetBoundControlVolume (const CGeometry *fine_grid, const CConfig *config, unsigned short action) |
| A virtual member. | |
| virtual void | SetBoundSensitivity (CConfig *config) |
| A virtual member. | |
| void | SetCustomBoundary (CConfig *config) |
| Set the data containers for customized boundary conditions. | |
| void | SetVelocity (CConfig *config, bool print) |
| General interface for setting the velocity in the geometry during motion ramps. | |
| void | SetRotationalVelocity (const CConfig *config, bool print=false) |
| Set cartesian grid velocity based on rotational speed and axis. | |
| void | SetShroudVelocity (const CConfig *config) |
| Set the rotational velocity of the points on the shroud markers to 0. | |
| void | SetTranslationalVelocity (const CConfig *config, bool print=false) |
| Set the translational velocity at each node. | |
| void | SetWallVelocity (const CConfig *config, bool print=false) |
| Set the translational/rotational velocity for all moving walls. | |
| void | SetGridVelocity (const CConfig *config) |
| Set the grid velocity via finite differencing at each node. | |
| virtual void | SetRestricted_GridVelocity (const CGeometry *fine_grid) |
| A virtual member. | |
| void | ComputeSurfaceAreaCfgFile (const CConfig *config) |
| Compute the surface area of all global markers. | |
| su2double | GetSurfaceArea (const CConfig *config, unsigned short val_marker) const |
| Get global Surface Area to a local marker. | |
| void | ComputeSurfStraightness (const CConfig *config, bool print_on_screen) |
| Check if a boundary is straight(2D) / plane(3D) for EULER_WALL and SYMMETRY_PLANE only and store the information in boundIsStraight. For all other boundary types this will return false and could therfore be wrong. Used ultimately for BC_Slip_Wall. | |
| void | ComputeSurf_Curvature (CConfig *config) |
| Find and store all vertices on a sharp corner in the geometry. | |
| void | ComputeAirfoil_Section (su2double *Plane_P0, su2double *Plane_Normal, su2double MinXCoord, su2double MaxXCoord, su2double MinYCoord, su2double MaxYCoord, su2double MinZCoord, su2double MaxZCoord, const su2double *FlowVariable, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil, vector< su2double > &Variable_Airfoil, bool original_surface, CConfig *config) |
| A virtual member. | |
| virtual su2double | Compute_MaxThickness (su2double *Plane_P0, su2double *Plane_Normal, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Twist (su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Chord (su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Width (su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_WaterLineWidth (su2double *Plane_P0, su2double *Plane_Normal, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Height (su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_LERadius (su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Thickness (su2double *Plane_P0, su2double *Plane_Normal, su2double Location, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil, su2double &ZLoc) |
| A virtual member. | |
| virtual su2double | Compute_Area (su2double *Plane_P0, su2double *Plane_Normal, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Length (su2double *Plane_P0, su2double *Plane_Normal, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual void | Compute_Wing_LeadingTrailing (su2double *LeadingEdge, su2double *TrailingEdge, su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual void | Compute_Fuselage_LeadingTrailing (su2double *LeadingEdge, su2double *TrailingEdge, su2double *Plane_P0, su2double *Plane_Normal, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Dihedral (su2double *LeadingEdge_im1, su2double *TrailingEdge_im1, su2double *LeadingEdge_i, su2double *TrailingEdge_i) |
| A virtual member. | |
| virtual su2double | Compute_Curvature (su2double *LeadingEdge_im1, su2double *TrailingEdge_im1, su2double *LeadingEdge_i, su2double *TrailingEdge_i, su2double *LeadingEdge_ip1, su2double *TrailingEdge_ip1) |
| A virtual member. | |
| virtual void | Compute_Wing (CConfig *config, bool original_surface, su2double &Wing_Volume, su2double &Wing_MinMaxThickness, su2double &Wing_MaxMaxThickness, su2double &Wing_MinChord, su2double &Wing_MaxChord, su2double &Wing_MinLERadius, su2double &Wing_MaxLERadius, su2double &Wing_MinToC, su2double &Wing_MaxToC, su2double &Wing_ObjFun_MinToC, su2double &Wing_MaxTwist, su2double &Wing_MaxCurvature, su2double &Wing_MaxDihedral) |
| A virtual member. | |
| virtual void | Compute_Fuselage (CConfig *config, bool original_surface, su2double &Fuselage_Volume, su2double &Fuselage_WettedArea, su2double &Fuselage_MinWidth, su2double &Fuselage_MaxWidth, su2double &Fuselage_MinWaterLineWidth, su2double &Fuselage_MaxWaterLineWidth, su2double &Fuselage_MinHeight, su2double &Fuselage_MaxHeight, su2double &Fuselage_MaxCurvature) |
| A virtual member. | |
| virtual void | Compute_Nacelle (CConfig *config, bool original_surface, su2double &Nacelle_Volume, su2double &Nacelle_MinMaxThickness, su2double &Nacelle_MaxMaxThickness, su2double &Nacelle_MinChord, su2double &Nacelle_MaxChord, su2double &Nacelle_MinLERadius, su2double &Nacelle_MaxLERadius, su2double &Nacelle_MinToC, su2double &Nacelle_MaxToC, su2double &Nacelle_ObjFun_MinToC, su2double &Nacelle_MaxTwist) |
| A virtual member. | |
| virtual void | FindNormal_Neighbor (const CConfig *config) |
| A virtual member. | |
| virtual void | SetGlobal_to_Local_Point () |
| A virtual member. | |
| virtual long | GetGlobal_to_Local_Point (unsigned long val_ipoint) const |
| A virtual member. | |
| unsigned long | GetGlobal_nElem () const |
| Retrieve total number of elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemDomain () const |
| Retrieve total number of elements in a simulation across all processors (excluding halos). | |
| unsigned long | GetGlobal_nElemLine () const |
| Retrieve total number of triangular elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemTria () const |
| Retrieve total number of triangular elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemQuad () const |
| Retrieve total number of quadrilateral elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemTetr () const |
| Retrieve total number of tetrahedral elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemHexa () const |
| Retrieve total number of hexahedral elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemPris () const |
| Retrieve total number of prism elements in a simulation across all processors. | |
| unsigned long | GetGlobal_nElemPyra () const |
| Retrieve total number of pyramid elements in a simulation across all processors. | |
| unsigned long | GetnElemLine () const |
| Get number of triangular elements. | |
| unsigned long | GetnElemTria () const |
| Get number of triangular elements. | |
| unsigned long | GetnElemQuad () const |
| Get number of quadrilateral elements. | |
| unsigned long | GetnElemTetr () const |
| Get number of tetrahedral elements. | |
| unsigned long | GetnElemHexa () const |
| Get number of hexahedral elements. | |
| unsigned long | GetnElemPris () const |
| Get number of prism elements. | |
| unsigned long | GetnElemPyra () const |
| Get number of pyramid elements. | |
| vector< vector< su2double > > | GetXCoord () const |
| Get x coords of geometrical planes in the mesh. | |
| vector< vector< su2double > > | GetYCoord () const |
| Get y coords of geometrical planes in the mesh. | |
| vector< vector< su2double > > | GetZCoord () const |
| Get z coords of geometrical planes in the mesh. | |
| vector< vector< unsigned long > > | GetPlanarPoints () const |
| Get all points on a geometrical plane in the mesh. | |
| bool | SegmentIntersectsPlane (const su2double *Segment_P0, const su2double *Segment_P1, su2double Variable_P0, su2double Variable_P1, const su2double *Plane_P0, const su2double *Plane_Normal, su2double *Intersection, su2double &Variable_Interp) |
| Compute the intersection between a segment and a plane. | |
| bool | RayIntersectsTriangle (const su2double orig[3], const su2double dir[3], const su2double vert0[3], const su2double vert1[3], const su2double vert2[3], su2double *intersect) |
| Ray Intersects Triangle (Moller and Trumbore algorithm) | |
| bool | SegmentIntersectsTriangle (su2double point0[3], const su2double point1[3], su2double vert0[3], su2double vert1[3], su2double vert2[3]) |
| Segment Intersects Triangle. | |
| bool | SegmentIntersectsLine (const su2double point0[2], const su2double point1[2], const su2double vert0[2], const su2double vert1[2]) |
| Segment Intersects Line (for 2D FFD Intersection) | |
| void | RegisterCoordinates () const |
| Register the coordinates of the mesh nodes. | |
| void | UpdateCustomBoundaryConditions (CGeometry **geometry_container, CConfig *config) |
| Update the multi-grid structure for the customized boundary conditions. | |
| virtual void | SetSensitivity (CConfig *config) |
| A virtual member. | |
| virtual void | ReadUnorderedSensitivity (CConfig *config) |
| A virtual member. | |
| virtual su2double | GetSensitivity (unsigned long iPoint, unsigned short iDim) const |
| A virtual member. | |
| virtual void | SetSensitivity (unsigned long iPoint, unsigned short iDim, su2double val) |
| A virtual member. | |
| const su2double * | GetAverageTurboNormal (unsigned short val_marker, unsigned short val_span) const |
| Get the average normal at a specific span for a given marker in the turbomachinery reference of frame. | |
| const su2double * | GetAverageNormal (unsigned short val_marker, unsigned short val_span) const |
| Get the average normal at a specific span for a given marker. | |
| su2double | GetSpanArea (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the total area for each span. | |
| su2double | GetTurboRadius (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the total area for each span. | |
| su2double | GetAverageTangGridVel (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the average tangential rotational velocity for each span. | |
| su2double | GetTangGridVelIn (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the inflow tangential velocity at each span. | |
| su2double | GetTangGridVelOut (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the outflow tangential velocity at each span. | |
| su2double | GetSpanAreaIn (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the inflow area at each span. | |
| su2double | GetSpanAreaOut (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the outflow area at each span. | |
| su2double | GetTurboRadiusIn (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the inflow radius at each span. | |
| su2double | GetTurboRadiusOut (unsigned short val_marker, unsigned short val_span) const |
| Get the value of the outflow radius at each span. | |
| void | SetTangGridVelIn (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the inflow tangential velocity at each span. | |
| void | SetTangGridVelOut (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the outflow tangential velocity at each span. | |
| void | SetSpanAreaIn (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the inflow area at each span. | |
| void | SetSpanAreaOut (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the outflow area at each span. | |
| void | SetTurboRadiusIn (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the inflow radius at each span. | |
| void | SetTurboRadiusOut (su2double value, unsigned short val_marker, unsigned short val_span) |
| Set the value of the outflow radius at each span. | |
| unsigned long | GetnTotVertexSpan (unsigned short val_marker, unsigned short val_span) const |
| A total number of vertex independently from the MPI partions. | |
| su2double | GetMinAngularCoord (unsigned short val_marker, unsigned short val_span) const |
| min angular pitch independently from the MPI partions. | |
| su2double | GetMaxAngularCoord (unsigned short val_marker, unsigned short val_span) const |
| max angular pitch independently from the MPI partions. | |
| su2double | GetMinRelAngularCoord (unsigned short val_marker, unsigned short val_span) const |
| min Relatice angular coord independently from the MPI partions. | |
| const su2double * | GetAverageGridVel (unsigned short val_marker, unsigned short val_span) const |
| Get the average grid velocity at a specific span for a given marker. | |
| su2double | GetCustomBoundaryTemperature (unsigned short val_marker, unsigned long val_vertex) const |
| Get the value of the customized temperature at a specified vertex on a specified marker. | |
| void | SetCustomBoundaryTemperature (unsigned short val_marker, unsigned long val_vertex, su2double val_customBoundaryTemperature) |
| Set the value of the customized temperature at a specified vertex on a specified marker. | |
| su2double | GetCustomBoundaryHeatFlux (unsigned short val_marker, unsigned long val_vertex) const |
| Get the value of the customized normal heat flux at a specified vertex on a specified marker. | |
| void | SetCustomBoundaryHeatFlux (unsigned short val_marker, unsigned long val_vertex, su2double val_customBoundaryHeatFlux) |
| Set the value of the customized normal heat flux at a specified vertex on a specified marker. | |
| template<class T > | |
| void | SetMultiGridMarkerQuantity (const CGeometry *fine_grid, unsigned short val_marker, T &wall_quantity) |
| Set a representative wall value of the agglomerated control volumes on a particular boundary marker. | |
| void | FilterValuesAtElementCG (const vector< su2double > &filter_radius, const vector< pair< ENUM_FILTER_KERNEL, su2double > > &kernels, const unsigned short search_limit, su2double *values) const |
| Filter values given at the element CG by performing a weighted average over a radial neighbourhood. | |
| void | GetGlobalElementAdjacencyMatrix (vector< unsigned long > &neighbour_start, long *&neighbour_idx) const |
| Build the global (entire mesh!) adjacency matrix for the elements in compressed format. Used by FilterValuesAtElementCG to search for geometrically close neighbours. | |
| bool | GetRadialNeighbourhood (const unsigned long iElem_global, const passivedouble radius, size_t search_limit, const vector< unsigned long > &neighbour_start, const long *neighbour_idx, const su2double *cg_elem, vector< long > &neighbours, vector< bool > &is_neighbor) const |
| Get the neighbours of the global element in the first position of "neighbours" that are within "radius" of it. | |
| void | SetElemVolume () |
| Compute and store the volume of the primal elements. | |
| void | SetMGLevel (unsigned short val_iMesh) |
| Set the multigrid index for the current geometry object. | |
| unsigned short | GetMGLevel () const |
| Get the multigrid index for the current geometry object. | |
| virtual void | ComputeMeshQualityStatistics (const CConfig *config) |
| A virtual member. | |
| void | ColorMGLevels (unsigned short nMGLevels, const CGeometry *const *geometry) |
| Color multigrid levels for visualization. | |
| const LDUSparsePattern & | GetSparsePattern (ConnectivityType type, unsigned long fillLvl=0) |
| Get the sparse pattern of "type" with given level of fill. | |
| const su2vector< su2uint > & | GetLToUTransposeSparsePatternMap (ConnectivityType type) |
| Get the bijective map from L-entry indices to U-entry indices of their transposes. | |
| const su2vector< su2uint > & | GetUToLTransposeSparsePatternMap (ConnectivityType type) |
| Get the bijective map from U-entry indices to L-entry indices of their transposes. | |
| const CCompressedSparsePatternUL & | GetEdgeColoring (su2double *efficiency=nullptr, bool maximizeEdgeColorGroupSize=false) |
| Get the edge coloring. | |
| void | SetNaturalEdgeColoring () |
| Force the natural (sequential) edge coloring. | |
| unsigned long | GetEdgeColorGroupSize () const |
| Get the group size used in edge coloring. | |
| const CCompressedSparsePatternUL & | GetElementColoring (su2double *efficiency=nullptr) |
| Get the element coloring. | |
| void | SetNaturalElementColoring () |
| Force the natural (sequential) element coloring. | |
| unsigned long | GetElementColorGroupSize () const |
| Get the group size used in element coloring. | |
| const CLineletInfo & | GetLineletInfo (const CConfig *config) const |
| Get the linelet definition, this function computes the linelets if that has not been done yet. | |
| virtual std::unique_ptr< CADTElemClass > | ComputeViscousWallADT (const CConfig *config) const |
| Compute an ADT including the coordinates of all viscous markers. | |
| virtual void | SetWallDistance (CADTElemClass *WallADT, const CConfig *config, unsigned short iZone=numeric_limits< unsigned short >::max()) |
| Reduce the wall distance based on an previously constructed ADT. | |
| virtual void | SetWallDistance (su2double val) |
| Set wall distances a specific value. | |
| void | SetnNonconvexElements (unsigned long nonconvex_elems) |
| Set the amount of nonconvex elements in the mesh. | |
| unsigned long | GetnNonconvexElements () const |
| Get the amount of nonconvex elements in the mesh. | |
| virtual void | FindUniqueNode_PeriodicBound (const CConfig *config) |
| For streamwise periodicity, find & store a unique reference node on the designated periodic inlet. | |
| virtual const su2double * | GetStreamwise_Periodic_RefNode () const |
| Get a pointer to the reference node coordinate vector. | |
Static Public Member Functions | |
| static void | UpdateGeometry (CGeometry **geometry_container, CConfig *config) |
| Update the multi-grid structure and the wall-distance. | |
| static void | ComputeWallDistance (const CConfig *const *config_container, CGeometry ****geometry_container, const int record_zone=-1) |
| Compute the distances to the closest vertex on viscous walls over the entire domain. | |
Public Attributes | |
| CPrimalGrid ** | elem {nullptr} |
| Element vector (primal grid information). | |
| CPrimalGrid *** | bound {nullptr} |
| Boundary vector (primal grid information). | |
| CPoint * | nodes {nullptr} |
| Node vector (dual grid information). | |
| CEdge * | edges {nullptr} |
| Edge vector (dual grid information). | |
| CVertex *** | vertex {nullptr} |
| Boundary Vertex vector (dual grid information). | |
| CTurboVertex **** | turbovertex |
| Boundary Vertex vector ordered for turbomachinery calculation(dual grid information). | |
| unsigned long * | nVertex {nullptr} |
| Number of vertex for each marker. | |
| unsigned long * | nElem_Bound {nullptr} |
| Number of elements of the boundary. | |
| string * | Tag_to_Marker {nullptr} |
| Names of boundary markers. | |
| vector< std::unordered_map< unsigned long, std::array< su2double, MAXNDIM > > > | symmetryNormals |
| Bool if boundary-marker is straight(2D)/plane(3D) for each local marker. | |
| vector< bool > | boundIsStraight |
| vector< su2double > | SurfaceAreaCfgFile |
| Total Surface area for all markers. | |
| unordered_map< unsigned long, unsigned long > | Global_to_Local_Elem |
| Mapping of global to local index for elements. | |
| unsigned long * | beg_node {nullptr} |
| Array containing the first node on each rank due to a linear partitioning by global index. | |
| unsigned long * | end_node |
| Array containing the last node on each rank due to a linear partitioning by global index. | |
| unsigned long * | nPointLinear {nullptr} |
| Array containing the total number of nodes on each rank due to a linear partioning by global index. | |
| unsigned long * | nPointCumulative {nullptr} |
| Cumulative storage array containing the total number of points on all prior ranks in the linear partitioning. | |
| int | maxCountPerPoint {0} |
| Maximum number of pieces of data sent per vertex in point-to-point comms. | |
| int | nP2PSend {0} |
| Number of sends during point-to-point comms. | |
| int | nP2PRecv {0} |
| Number of receives during point-to-point comms. | |
| int * | nPoint_P2PSend |
| Data structure holding number of vertices for each send in point-to-point comms. | |
| int * | nPoint_P2PRecv |
| Data structure holding number of vertices for each recv in point-to-point comms. | |
| int * | Neighbors_P2PSend |
| Data structure holding the ranks of the neighbors for point-to-point send comms. | |
| int * | Neighbors_P2PRecv |
| Data structure holding the ranks of the neighbors for point-to-point recv comms. | |
| map< int, int > | P2PSend2Neighbor |
| Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point send comms. | |
| map< int, int > | P2PRecv2Neighbor |
| Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point recv comms. | |
| unsigned long * | Local_Point_P2PSend {nullptr} |
| Data structure holding the local index of all vertices to be sent in point-to-point comms. | |
| unsigned long * | Local_Point_P2PRecv {nullptr} |
| Data structure holding the local index of all vertices to be received in point-to-point comms. | |
| su2double * | bufD_P2PRecv {nullptr} |
| Data structure for su2double point-to-point receive. | |
| su2double * | bufD_P2PSend {nullptr} |
| Data structure for su2double point-to-point send. | |
| unsigned short * | bufS_P2PRecv {nullptr} |
| Data structure for unsigned long point-to-point receive. | |
| unsigned short * | bufS_P2PSend {nullptr} |
| Data structure for unsigned long point-to-point send. | |
| SU2_MPI::Request * | req_P2PSend {nullptr} |
| Data structure for point-to-point send requests. | |
| SU2_MPI::Request * | req_P2PRecv {nullptr} |
| Data structure for point-to-point recv requests. | |
| PassiveRequest * | reqP_P2PSend {nullptr} |
| Data structure for point-to-point send requests. | |
| PassiveRequest * | reqP_P2PRecv {nullptr} |
| Data structure for point-to-point recv requests. | |
| int | maxCountPerPeriodicPoint {0} |
| Maximum number of pieces of data sent per vertex in periodic comms. | |
| int | nPeriodicSend {0} |
| Number of sends during periodic comms. | |
| int | nPeriodicRecv {0} |
| Number of receives during periodic comms. | |
| int * | nPoint_PeriodicSend |
| Data structure holding number of vertices for each send in periodic comms. | |
| int * | nPoint_PeriodicRecv |
| Data structure holding number of vertices for each recv in periodic comms. | |
| int * | Neighbors_PeriodicSend |
| Data structure holding the ranks of the neighbors for periodic send comms. | |
| int * | Neighbors_PeriodicRecv |
| Data structure holding the ranks of the neighbors for periodic recv comms. | |
| map< int, int > | PeriodicSend2Neighbor |
| Data structure holding the reverse mapping of the ranks of the neighbors for periodic send comms. | |
| map< int, int > | PeriodicRecv2Neighbor |
| Data structure holding the reverse mapping of the ranks of the neighbors for periodic recv comms. | |
| unsigned long * | Local_Point_PeriodicSend |
| Data structure holding the local index of all vertices to be sent in periodic comms. | |
| unsigned long * | Local_Point_PeriodicRecv {nullptr} |
| Data structure holding the local index of all vertices to be received in periodic comms. | |
| unsigned long * | Local_Marker_PeriodicSend {nullptr} |
| Data structure holding the local index of the periodic marker for a particular vertex to be sent in periodic comms. | |
| unsigned long * | Local_Marker_PeriodicRecv {nullptr} |
| Data structure holding the local index of the periodic marker for a particular vertex to be received in periodic comms. | |
| su2double * | bufD_PeriodicRecv {nullptr} |
| Data structure for su2double periodic receive. | |
| su2double * | bufD_PeriodicSend {nullptr} |
| Data structure for su2double periodic send. | |
| unsigned short * | bufS_PeriodicRecv {nullptr} |
| Data structure for unsigned long periodic receive. | |
| unsigned short * | bufS_PeriodicSend {nullptr} |
| Data structure for unsigned long periodic send. | |
| SU2_MPI::Request * | req_PeriodicSend {nullptr} |
| Data structure for periodic send requests. | |
| SU2_MPI::Request * | req_PeriodicRecv {nullptr} |
| Data structure for periodic recv requests. | |
| vector< su2double > | Orthogonality |
| Measure of dual CV orthogonality angle (0 to 90 deg., 90 being best). | |
| vector< su2double > | Aspect_Ratio |
| Measure of dual CV aspect ratio (max face area / min face area). | |
| vector< su2double > | Volume_Ratio |
| Measure of dual CV volume ratio (max sub-element volume / min sub-element volume). | |
| const ColMajorMatrix< uint8_t > & | CoarseGridColor = CoarseGridColor_ |
| Coarse grid levels, colorized. | |
Protected Types | |
| enum | : size_t { OMP_MIN_SIZE = 32 } |
| enum | : size_t { MAXNDIM = 3 } |
Protected Attributes | |
| const int | size {SINGLE_NODE} |
| MPI Size. | |
| const int | rank {MASTER_NODE} |
| MPI Rank. | |
| unsigned long | nPoint {0} |
| Number of points of the mesh. | |
| unsigned long | nPointDomain {0} |
| Number of real points of the mesh. | |
| unsigned long | nPointGhost {0} |
| Number of ghost points of the mesh. | |
| unsigned long | Global_nPoint {0} |
| Total number of nodes in a simulation across all processors (including halos). | |
| unsigned long | Global_nPointDomain |
| Total number of nodes in a simulation across all processors (excluding halos). | |
| unsigned long | nElem {0} |
| Number of elements of the mesh. | |
| unsigned long | Global_nElem {0} |
| Total number of elements in a simulation across all processors (all types). | |
| unsigned long | Global_nElemDomain |
| Total number of elements in a simulation across all processors (excluding halos). | |
| unsigned long | nEdge {0} |
| Number of edges of the mesh. | |
| unsigned long | nFace {0} |
| Number of faces of the mesh. | |
| unsigned long | nelem_edge {0} |
| Number of edges in the mesh. | |
| unsigned long | Global_nelem_edge {0} |
| Total number of edges in the mesh across all processors. | |
| unsigned long | nelem_triangle {0} |
| Number of triangles in the mesh. | |
| unsigned long | Global_nelem_triangle {0} |
| Total number of triangles in the mesh across all processors. | |
| unsigned long | nelem_quad {0} |
| Number of quadrangles in the mesh. | |
| unsigned long | Global_nelem_quad {0} |
| Total number of quadrangles in the mesh across all processors. | |
| unsigned long | nelem_tetra {0} |
| Number of tetrahedra in the mesh. | |
| unsigned long | Global_nelem_tetra {0} |
| Total number of tetrahedra in the mesh across all processors. | |
| unsigned long | nelem_hexa {0} |
| Number of hexahedra in the mesh. | |
| unsigned long | Global_nelem_hexa {0} |
| Total number of hexahedra in the mesh across all processors. | |
| unsigned long | nelem_prism {0} |
| Number of prisms in the mesh. | |
| unsigned long | Global_nelem_prism {0} |
| Total number of prisms in the mesh across all processors. | |
| unsigned long | nelem_pyramid {0} |
| Number of pyramids in the mesh. | |
| unsigned long | Global_nelem_pyramid {0} |
| Total number of pyramids in the mesh across all processors. | |
| unsigned long | nelem_edge_bound {0} |
| Number of edges on the mesh boundaries. | |
| unsigned long | Global_nelem_edge_bound {0} |
| Total number of edges on the mesh boundaries across all processors. | |
| unsigned long | nelem_triangle_bound {0} |
| Number of triangles on the mesh boundaries. | |
| unsigned long | Global_nelem_triangle_bound |
| Total number of triangles on the mesh boundaries across all processors. | |
| unsigned long | nelem_quad_bound {0} |
| Number of quads on the mesh boundaries. | |
| unsigned long | Global_nelem_quad_bound {0} |
| Total number of quads on the mesh boundaries across all processors. | |
| unsigned long | nNonconvexElements {0} |
| Number of nonconvex elements in the mesh. | |
| unsigned short | nDim {0} |
| Number of dimension of the problem. | |
| unsigned short | nZone {0} |
| Number of zones in the problem. | |
| unsigned short | nMarker {0} |
| Number of different markers of the mesh. | |
| unsigned short | nCommLevel {0} |
| Number of non-blocking communication levels. | |
| unsigned short | MGLevel {0} |
| The mesh level index for the current geometry container. | |
| unsigned long | Max_GlobalPoint {0} |
| Greater global point in the domain local structure. | |
| short * | Marker_All_SendRecv {nullptr} |
| MPI Marker. | |
| su2double ** | CustomBoundaryTemperature {nullptr} |
| su2double ** | CustomBoundaryHeatFlux {nullptr} |
| vector< vector< su2double > > | Xcoord_plane |
| Vector containing x coordinates of new points appearing on a single plane. | |
| vector< vector< su2double > > | Ycoord_plane |
| Vector containing y coordinates of new points appearing on a single plane. | |
| vector< vector< su2double > > | Zcoord_plane |
| Vector containing z coordinates of new points appearing on a single plane. | |
| vector< vector< su2double > > | FaceArea_plane |
| Vector containing area/volume associated with new points appearing on a single plane. | |
| vector< vector< unsigned long > > | Plane_points |
| Vector containing points appearing on a single plane. | |
| vector< su2double > | XCoordList |
| Vector containing points appearing on a single plane. | |
| unsigned short * | nSpanWiseSections |
| Number of Span wise section for each turbo marker, indexed by inflow/outflow. | |
| unsigned short * | nSpanSectionsByMarker {nullptr} |
| Number of Span wise section for each turbo marker, indexed by marker. Needed for deallocation. | |
| unsigned short | nTurboPerf {0} |
| Number of Span wise section for each turbo marker. | |
| su2double ** | SpanWiseValue {nullptr} |
| Span wise values for each turbo marker. | |
| long ** | nVertexSpan {nullptr} |
| number of vertexes for span wise section for each marker. | |
| unsigned long ** | nTotVertexSpan {nullptr} |
| number of vertexes at each span wise section for each marker. | |
| unsigned long | nVertexSpanMax [3] |
| max number of vertexes for each span section for each marker flag. | |
| su2double *** | AverageTurboNormal {nullptr} |
| Average boundary normal at each span wise section for each marker in the turbomachinery frame of reference. | |
| su2double *** | AverageNormal {nullptr} |
| Average boundary normal at each span wise section for each marker. | |
| su2double *** | AverageGridVel |
| Average boundary grid velocity at each span wise section for each marker. | |
| su2double ** | AverageTangGridVel |
| Average tangential rotational speed at each span wise section for each marker. | |
| su2double ** | SpanArea {nullptr} |
| Area at each span wise section for each marker. | |
| su2double ** | MaxAngularCoord {nullptr} |
| Max angular pitch at each span wise section for each marker. | |
| su2double ** | MinAngularCoord {nullptr} |
| Max angular pitch at each span wise section for each marker. | |
| su2double ** | MinRelAngularCoord |
| Min relative angular coord at each span wise section for each marker. | |
| su2double ** | TurboRadius {nullptr} |
| Radius at each span wise section for each marker. | |
| su2double ** | TangGridVelIn {nullptr} |
| su2double ** | TangGridVelOut {nullptr} |
| Average tangential rotational speed at each span wise section for each turbomachinery marker. | |
| su2double ** | SpanAreaIn {nullptr} |
| su2double ** | SpanAreaOut {nullptr} |
| Area at each span wise section for each turbomachinery marker. | |
| su2double ** | TurboRadiusIn {nullptr} |
| su2double ** | TurboRadiusOut {nullptr} |
| Radius at each span wise section for each turbomachinery marker. | |
| LDUSparsePattern | finiteVolumePatternFill0 |
| FVM sparsity with 0-fill (structural pattern). | |
| LDUSparsePattern | finiteVolumePatternFillN |
| FVM sparsity with N-fill (e.g. for ILU-N). | |
| LDUSparsePattern | finiteElementPatternFill0 |
| FEM sparsity with 0-fill (structural pattern). | |
| LDUSparsePattern | finiteElementPatternFillN |
| FEM sparsity with N-fill (e.g. for ILU-N). | |
| su2vector< su2uint > | finiteVolumeLToUTranspMap |
| FVM L-entry -> U-entry of its transpose. | |
| su2vector< su2uint > | finiteVolumeUToLTranspMap |
| FVM U-entry -> L-entry of its transpose. | |
| su2vector< su2uint > | finiteElementLToUTranspMap |
| FEM L-entry -> U-entry of its transpose. | |
| su2vector< su2uint > | finiteElementUToLTranspMap |
| FEM U-entry -> L-entry of its transpose. | |
| CCompressedSparsePatternUL | edgeColoring |
| Edge coloring structure for thread-based parallelization. | |
| CCompressedSparsePatternUL | elemColoring |
| Element coloring structure for thread-based parallelization. | |
| unsigned long | edgeColorGroupSize {1} |
| Size of the edge groups within each color. | |
| unsigned long | elemColorGroupSize {1} |
| Size of the element groups within each color. | |
| ColMajorMatrix< uint8_t > | CoarseGridColor_ |
| Coarse grid levels, colorized. | |
| CLineletInfo | lineletInfo |
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geometry, only boundary geometry, etc..)
| using CGeometry::PassiveRequest = typename SelectMPIWrapper<passivedouble>::W::Request |
| CGeometry::CGeometry | ( | ) |
Constructor of the class.
| CGeometry::CGeometry | ( | CConfig * | config, |
| unsigned short | nDim | ||
| ) |
Constructor of the class.
|
virtual |
Destructor of the class.
| void CGeometry::AllocateP2PComms | ( | unsigned short | val_countPerPoint | ) |
Routine to allocate buffers for point-to-point MPI communications. Also called to dynamically reallocate if not enough memory is found for comms during runtime.
| [in] | val_countPerPoint | - Maximum count of the data type per vertex in point-to-point comms, e.g., nPrimvarGrad*nDim. |
| void CGeometry::AllocatePeriodicComms | ( | unsigned short | val_countPerPeriodicPoint | ) |
Routine to allocate buffers for periodic communications. Also called to dynamically reallocate if not enough memory is found for comms during runtime.
| [in] | val_countPerPeriodicPoint | - Maximum count of the data type per vertex in periodic comms, e.g., nPrimvarGrad*nDim. |
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inline |
Get the edge index from using the nodes of the edge.
| [in] | first_point | - First point of the edge. |
| [in] | second_point | - Second point of the edge. |
| void CGeometry::ColorMGLevels | ( | unsigned short | nMGLevels, |
| const CGeometry *const * | geometry | ||
| ) |
Color multigrid levels for visualization.
| nMGLevels | - Number of levels |
| geometry | - The levels |
| void CGeometry::CompleteComms | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| MPI_QUANTITIES | commType | ||
| ) |
Routine to complete the set of non-blocking communications launched by InitiateComms() and unpacking of the data into the geometry class.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be unpacked. |
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
Reimplemented in CPhysicalGeometry.
| void CGeometry::ComputeAirfoil_Section | ( | su2double * | Plane_P0, |
| su2double * | Plane_Normal, | ||
| su2double | MinXCoord, | ||
| su2double | MaxXCoord, | ||
| su2double | MinYCoord, | ||
| su2double | MaxYCoord, | ||
| su2double | MinZCoord, | ||
| su2double | MaxZCoord, | ||
| const su2double * | FlowVariable, | ||
| vector< su2double > & | Xcoord_Airfoil, | ||
| vector< su2double > & | Ycoord_Airfoil, | ||
| vector< su2double > & | Zcoord_Airfoil, | ||
| vector< su2double > & | Variable_Airfoil, | ||
| bool | original_surface, | ||
| CConfig * | config | ||
| ) |
A virtual member.
| [in] | config | - Definition of the particular problem. |
|
inlinevirtual |
| void CGeometry::ComputeModifiedSymmetryNormals | ( | const CConfig * | config | ) |
Computes modified normals at intersecting symmetry planes.
| [in] | config | - Definition of the particular problem. |
|
inlinevirtual |
Computes the N span.
| [in] | config | - Definition of the particular problem. |
| [in] | val_iZone | - Zone of the problem |
| [in] | marker_flag | - Marker being used |
| [in] | allocate |
Reimplemented in CPhysicalGeometry.
| void CGeometry::ComputeSurf_Curvature | ( | CConfig * | config | ) |
Find and store all vertices on a sharp corner in the geometry.
| [in] | config | - Definition of the particular problem. |
| void CGeometry::ComputeSurfaceAreaCfgFile | ( | const CConfig * | config | ) |
Compute the surface area of all global markers.
| [in] | config | - Definition of the particular problem. |
| void CGeometry::ComputeSurfStraightness | ( | const CConfig * | config, |
| bool | print_on_screen | ||
| ) |
Check if a boundary is straight(2D) / plane(3D) for EULER_WALL and SYMMETRY_PLANE only and store the information in boundIsStraight. For all other boundary types this will return false and could therfore be wrong. Used ultimately for BC_Slip_Wall.
| [in] | config | - Definition of the particular problem. |
| [in] | print_on_screen | - Boolean whether to print result on screen. |
|
inlinevirtual |
Compute an ADT including the coordinates of all viscous markers.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
|
static |
Compute the distances to the closest vertex on viscous walls over the entire domain.
| [in] | config_container | - Definition of the particular problem. |
| [in] | geometry_container | - Geometrical definition of the problem. |
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
| void CGeometry::FilterValuesAtElementCG | ( | const vector< su2double > & | filter_radius, |
| const vector< pair< ENUM_FILTER_KERNEL, su2double > > & | kernels, | ||
| const unsigned short | search_limit, | ||
| su2double * | values | ||
| ) | const |
Filter values given at the element CG by performing a weighted average over a radial neighbourhood.
| [in] | filter_radius | - Parameter defining the size of the neighbourhood. |
| [in] | kernels | - Kernel types and respective parameter, size of vector defines number of filter recursions. |
| [in] | search_limit | - Max degree of neighborhood considered for neighbor search, avoids excessive work in fine regions. |
| [in,out] | values | - On entry, the "raw" values, on exit, the filtered values. |
|
inline |
Get the edge index from using the nodes of the edge.
| [in] | first_point | - First point of the edge. |
| [in] | second_point | - Second point of the edge. |
| [in] | error | - Throw error if edge does not exist. |
|
inlinevirtual |
Finds face of element.
| [in] | first_elem | - Identification of the first element. |
| [in] | second_elem | - Identification of the second element. |
| [in] | face_first_elem | - Index of the common face for the first element. |
| [in] | face_second_elem | - Index of the common face for the second element. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridGeometry, and CPhysicalGeometry.
|
inlinevirtual |
For streamwise periodicity, find & store a unique reference node on the designated periodic inlet.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
| [in] | allocate |
Reimplemented in CPhysicalGeometry.
|
inline |
Get the average grid velocity at a specific span for a given marker.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the average normal at a specific span for a given marker.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the average tangential rotational velocity for each span.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the average normal at a specific span for a given marker in the turbomachinery reference of frame.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
| void CGeometry::GetCommCountAndType | ( | const CConfig * | config, |
| MPI_QUANTITIES | commType, | ||
| unsigned short & | COUNT_PER_POINT, | ||
| COMM_TYPE & | MPI_TYPE | ||
| ) | const |
Helper function to define the type and number of variables per point for each communication type.
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
| [out] | COUNT_PER_POINT | - Number of communicated variables per point. |
| [out] | MPI_TYPE | - Enumerated type for the datatype of the quantity to be communicated. |
|
inline |
Returns the COMM_TYPE enum for a given data type.
|
inline |
Get the value of the customized normal heat flux at a specified vertex on a specified marker.
| [in] | val_marker | - Marker value |
| [in] | val_vertex | - Boundary vertex value |
|
inline |
Get the value of the customized temperature at a specified vertex on a specified marker.
| [in] | val_marker | - Marker value |
| [in] | val_vertex | - Boundary vertex value |
|
inline |
Get the group size used in edge coloring.
| const CCompressedSparsePatternUL & CGeometry::GetEdgeColoring | ( | su2double * | efficiency = nullptr, |
| bool | maximizeEdgeColorGroupSize = false |
||
| ) |
Get the edge coloring.
| [out] | efficiency | - optional output of the coloring efficiency. |
| [in] | maximizeEdgeColorGroupSize | - use the maximum edge color group size that gives an efficient coloring. |
|
inline |
Get the group size used in element coloring.
| const CCompressedSparsePatternUL & CGeometry::GetElementColoring | ( | su2double * | efficiency = nullptr | ) |
Get the element coloring.
| [out] | efficiency | - optional output of the coloring efficiency. |
|
inline |
Retrieve total number of elements in a simulation across all processors.
|
inline |
Retrieve total number of elements in a simulation across all processors (excluding halos).
|
inline |
Retrieve total number of hexahedral elements in a simulation across all processors.
|
inline |
Retrieve total number of triangular elements in a simulation across all processors.
|
inline |
Retrieve total number of prism elements in a simulation across all processors.
|
inline |
Retrieve total number of pyramid elements in a simulation across all processors.
|
inline |
Retrieve total number of quadrilateral elements in a simulation across all processors.
|
inline |
Retrieve total number of tetrahedral elements in a simulation across all processors.
|
inline |
Retrieve total number of triangular elements in a simulation across all processors.
|
inline |
Retrieve total number of nodes in a simulation across all processors (including halos).
|
inline |
Retrieve total number of nodes in a simulation across all processors (excluding halos).
|
inlinevirtual |
A virtual member.
| [in] | val_ipoint | - Global point. |
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
| void CGeometry::GetGlobalElementAdjacencyMatrix | ( | vector< unsigned long > & | neighbour_start, |
| long *& | neighbour_idx | ||
| ) | const |
Build the global (entire mesh!) adjacency matrix for the elements in compressed format. Used by FilterValuesAtElementCG to search for geometrically close neighbours.
| [out] | neighbour_start | - i'th position stores the start position in "neighbour_idx" for the immediate neighbours of global element "i". Size nElemDomain+1 |
| [out] | neighbour_idx | - Global index of the neighbours, mush be NULL on entry and free'd by calling function. |
| const CGeometry::CLineletInfo & CGeometry::GetLineletInfo | ( | const CConfig * | config | ) | const |
Get the linelet definition, this function computes the linelets if that has not been done yet.
| const su2vector< su2uint > & CGeometry::GetLToUTransposeSparsePatternMap | ( | ConnectivityType | type | ) |
Get the bijective map from L-entry indices to U-entry indices of their transposes.
| [in] | type | - Finite volume or finite element. |
|
inline |
Get the index of a marker.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get the number of elements in vtk fortmat.
|
inline |
max angular pitch independently from the MPI partions.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the multigrid index for the current geometry object.
|
inline |
min angular pitch independently from the MPI partions.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
min Relatice angular coord independently from the MPI partions.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get number of coordinates.
|
inline |
Get number of edges.
|
inline |
Get number of elements.
|
inline |
Get the number of boundary elements.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get number of hexahedral elements.
|
inline |
Get number of triangular elements.
|
inline |
Get number of prism elements.
|
inline |
Get number of pyramid elements.
|
inline |
Get number of quadrilateral elements.
|
inline |
Get number of tetrahedral elements.
|
inline |
Get number of triangular elements.
|
inline |
Get number of frequencies per span for NRBC.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get number of max frequencies for initializing the Fourier Coefficient for NR BC.
| [in] | marker_flag | - Marker of the boundary. |
|
inline |
Get number of markers.
|
inline |
Get the amount of nonconvex elements in the mesh.
| [out] | nNonconvexElements- | amount of nonconvex elements in the mesh |
|
inline |
Get number of points.
|
inline |
Get number of real points (that belong to the domain).
|
inline |
Get number of span wise section.
| [in] | marker_flag | - flag of the turbomachinery boundary. |
|
inline |
A total number of vertex independently from the MPI partions.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get number of vertices.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get number of vertices.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get number of vertices.
| [in] | val_marker | - Marker of the boundary. |
|
inline |
Get number of zones.
|
inline |
Returns the receive buffer for a given data type.
|
inline |
Returns the receive requests for a given data type.
|
inline |
Returns the send buffer for a given data type.
|
inline |
Returns the send requests for a given data type.
|
inline |
Get all points on a geometrical plane in the mesh.
| bool CGeometry::GetRadialNeighbourhood | ( | const unsigned long | iElem_global, |
| const passivedouble | radius, | ||
| size_t | search_limit, | ||
| const vector< unsigned long > & | neighbour_start, | ||
| const long * | neighbour_idx, | ||
| const su2double * | cg_elem, | ||
| vector< long > & | neighbours, | ||
| vector< bool > & | is_neighbor | ||
| ) | const |
Get the neighbours of the global element in the first position of "neighbours" that are within "radius" of it.
| [in] | iElem_global | - Element of interest. |
| [in] | radius | - Parameter defining the size of the neighbourhood. |
| [in] | search_limit | - Maximum "logical radius" to consider, limits cost in refined regions, use 0 for unlimited. |
| [in] | neighbour_start | - See GetGlobalElementAdjacencyMatrix. |
| [in] | neighbour_idx | - See GetGlobalElementAdjacencyMatrix. |
| [in] | cg_elem | - Global element centroid coordinates in row major format {x0,y0,x1,y1,...}. Size nDim*nElemDomain. |
| [in,out] | neighbours | - The neighbours of iElem_global. |
| [in,out] | is_neighbor | - Working vector of size nElemGlobal, MUST be all false on entry (if so, on exit it will be the same). |
|
inlinevirtual |
|
inline |
Get the value of the total area for each span.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the inflow area at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the outflow area at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Get number of vertices.
| [in] | val_marker | - Marker of the boundary. |
| const CGeometry::LDUSparsePattern & CGeometry::GetSparsePattern | ( | ConnectivityType | type, |
| unsigned long | fillLvl = 0 |
||
| ) |
Get the sparse pattern of "type" with given level of fill.
| [in] | type | - Finite volume or finite element. |
| [in] | fillLvl | - Level of fill of the pattern. |
|
inlinevirtual |
Get a pointer to the reference node coordinate vector.
Reimplemented in CPhysicalGeometry.
Get global Surface Area to a local marker.
| [in] | config | - Definition of the particular problem. |
| [in] | val_marker | - Local surface marker. |
|
inline |
Get the value of the inflow tangential velocity at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the outflow tangential velocity at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the total area for each span.
| [in] | val_marker | - marker value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the inflow radius at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Get the value of the outflow radius at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
| const su2vector< su2uint > & CGeometry::GetUToLTransposeSparsePatternMap | ( | ConnectivityType | type | ) |
Get the bijective map from U-entry indices to L-entry indices of their transposes.
| [in] | type | - Finite volume or finite element. |
|
inline |
Get x coords of geometrical planes in the mesh.
|
inline |
Get y coords of geometrical planes in the mesh.
|
inline |
Get z coords of geometrical planes in the mesh.
| void CGeometry::InitiateComms | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| MPI_QUANTITIES | commType | ||
| ) | const |
Routine to load a geometric quantity into the data structures for MPI point-to-point communication and to launch non-blocking sends and recvs for all point-to-point communication with neighboring partitions.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridGeometry, and CPhysicalGeometry.
|
virtual |
Match periodic boundary points using coordinate-based matching.
Gathers coordinates from all ranks via MPI, applies the rotation/translation for the periodic pair, and finds the nearest neighbor. Works on both fine and coarse grids.
| [in] | config | - Definition of the particular problem. |
| [in] | val_periodic | - Index of the periodic marker pair. |
| void CGeometry::PostP2PRecvs | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| COMM_TYPE | commType, | ||
| unsigned short | countPerPoint, | ||
| bool | val_reverse | ||
| ) | const |
Routine to launch non-blocking recvs only for all point-to-point communication with neighboring partitions.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
| [in] | countPerPoint | - Number of variables per point. |
| [in] | val_reverse | - Boolean controlling forward or reverse communication between neighbors. |
| void CGeometry::PostP2PSends | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| COMM_TYPE | commType, | ||
| unsigned short | countPerPoint, | ||
| int | val_iMessage, | ||
| bool | val_reverse | ||
| ) | const |
Routine to launch a single non-blocking send once the buffer is loaded for a point-to-point commucation.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
| [in] | countPerPoint | - Number of variables per point. |
| [in] | val_iMessage | - Index of the message in the order they are stored. |
| [in] | val_reverse | - Boolean controlling forward or reverse communication between neighbors. |
| void CGeometry::PostPeriodicRecvs | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| COMM_TYPE | commType, | ||
| unsigned short | countPerPeriodicPoint | ||
| ) |
Routine to launch non-blocking recvs only for all periodic communication with neighboring partitions.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
| [in] | countPerPeriodicPoint | - Number of variables per point. |
| void CGeometry::PostPeriodicSends | ( | CGeometry * | geometry, |
| const CConfig * | config, | ||
| COMM_TYPE | commType, | ||
| unsigned short | countPerPeriodicPoint, | ||
| int | val_iMessage | ||
| ) | const |
Routine to launch a single non-blocking send once the buffer is loaded for a periodic commucation.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | commType | - Enumerated type for the quantity to be communicated. |
| [in] | countPerPeriodicPoint | - Number of variables per point. |
| [in] | val_iMessage | - Index of the message in the order they are stored. |
Routine to launch non-blocking recvs only for all periodic communications.
Routine to set up persistent data structures for point-to-point MPI communications.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Routine to set up persistent data structures for periodic communications.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| bool CGeometry::RayIntersectsTriangle | ( | const su2double | orig[3], |
| const su2double | dir[3], | ||
| const su2double | vert0[3], | ||
| const su2double | vert1[3], | ||
| const su2double | vert2[3], | ||
| su2double * | intersect | ||
| ) |
Ray Intersects Triangle (Moller and Trumbore algorithm)
|
inlinevirtual |
| void CGeometry::RegisterCoordinates | ( | ) | const |
Register the coordinates of the mesh nodes.
| bool CGeometry::SegmentIntersectsLine | ( | const su2double | point0[2], |
| const su2double | point1[2], | ||
| const su2double | vert0[2], | ||
| const su2double | vert1[2] | ||
| ) |
Segment Intersects Line (for 2D FFD Intersection)
| bool CGeometry::SegmentIntersectsPlane | ( | const su2double * | Segment_P0, |
| const su2double * | Segment_P1, | ||
| su2double | Variable_P0, | ||
| su2double | Variable_P1, | ||
| const su2double * | Plane_P0, | ||
| const su2double * | Plane_Normal, | ||
| su2double * | Intersection, | ||
| su2double & | Variable_Interp | ||
| ) |
Compute the intersection between a segment and a plane.
| [in] | Segment_P0 | - Definition of the particular problem. |
| [in] | Segment_P1 | - Definition of the particular problem. |
| [in] | Plane_P0 | - Definition of the particular problem. |
| [in] | Plane_Normal | - Definition of the particular problem. |
| [in] | Intersection | - Definition of the particular problem. |
| bool CGeometry::SegmentIntersectsTriangle | ( | su2double | point0[3], |
| const su2double | point1[3], | ||
| su2double | vert0[3], | ||
| su2double | vert1[3], | ||
| su2double | vert2[3] | ||
| ) |
Segment Intersects Triangle.
|
inlinevirtual |
Store all the turboperformance in the solver in final zone.
| [in] | donor_geometry | - Solution from the donor mesh. |
| [in] | target_geometry | - Solution from the target mesh. |
| [in] | donorZone | - counter of the donor solution |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
| [in] | val_iZone | - Zone of the problem |
| [in] | marker_flag | - Marker being used |
| [in] | allocate |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | val_domain | - Number of domains for parallelization purposes. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
| [in] | action | - Allocate or not the new elements. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | action | - Allocate or not the new elements. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | mesh_filename | - Name of the file where the tecplot information is going to be stored. |
| [in] | new_file | - Boolean to decide if aopen a new file or add to a old one |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
Sets the boundary volume.
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
Sets control volume.
| [in] | config | - Definition of the particular problem. |
| [in] | action | - Allocate or not the new elements. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | action | - Allocate or not the new elements. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
Reimplemented in CMultiGridGeometry.
| void CGeometry::SetCustomBoundary | ( | CConfig * | config | ) |
Set the data containers for customized boundary conditions.
| [in] | config | - Definition of the particular problem. |
|
inline |
Set the value of the customized normal heat flux at a specified vertex on a specified marker.
| [in] | val_marker | - Marker value |
| [in] | val_vertex | - Boundary vertex value |
| [in] | val_customBoundaryHeatFlux | - Value of the normal heat flux. |
|
inline |
Set the value of the customized temperature at a specified vertex on a specified marker.
| [in] | val_marker | - Marker value |
| [in] | val_vertex | - Boundary vertex value |
| [in] | val_customBoundaryTemperature | - Value of the temperature. |
| void CGeometry::SetEdges | ( | ) |
Sets the edges of an elemment.
|
inlinevirtual |
Connects elements .
Reimplemented in CPhysicalGeometry.
| void CGeometry::SetElemVolume | ( | ) |
Compute and store the volume of the primal elements.
| void CGeometry::SetFaces | ( | ) |
Sets the faces of an element..
|
inline |
Set the value of the total number of points globally in the simulation.
| [in] | val_global_npoint | - Global number of points in the mesh (excluding halos). |
|
inlinevirtual |
A virtual member.
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
| void CGeometry::SetGridVelocity | ( | const CConfig * | config | ) |
Set the grid velocity via finite differencing at each node.
| [in] | config | - Definition of the particular problem. |
|
inline |
Set index of a marker.
| [in] | val_marker | - Marker of the boundary. |
| [in] | val_index | - Index of the marker. |
|
inlinevirtual |
Set max length.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inline |
Set the multigrid index for the current geometry object.
| [in] | val_iMesh | - Multigrid index for current geometry object. |
|
inline |
Set a representative wall value of the agglomerated control volumes on a particular boundary marker.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | val_marker | - Index of the boundary marker. |
| [in] | wall_quantity | - Object with methods Get(iVertex_fine) and Set(iVertex_coarse, val). |
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | val_marker | - Index of the boundary marker. |
Reimplemented in CMultiGridGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | val_marker | - Index of the boundary marker. |
Reimplemented in CMultiGridGeometry.
| void CGeometry::SetNaturalEdgeColoring | ( | ) |
Force the natural (sequential) edge coloring.
| void CGeometry::SetNaturalElementColoring | ( | ) |
Force the natural (sequential) element coloring.
|
inline |
Set the number of dimensions of the problem.
| [in] | val_nDim | - Number of dimensions. |
|
inline |
Set the number of grid elements.
| [in] | val_nelem | - Number of grid elements. |
|
inline |
Set the number of boundary elements.
| [in] | val_marker | - Marker of the boundary. |
| [in] | val_nelem_bound | - Number of boundary elements. |
|
inline |
A virtual member.
| [in] | val_nmarker | - Number of markers. |
|
inline |
Set the amount of nonconvex elements in the mesh.
| [in] | nonconvex_elems | - amount of nonconvex elements in the mesh |
|
inline |
Set the number of grid points.
| [in] | val_npoint | - Number of grid points. |
|
inline |
Set the number of grid points in the domain.
| [in] | val_npoint | - Number of grid points in the domain. |
|
inline |
Get number of vertices.
| [in] | val_marker | - Marker of the boundary. |
|
inlinevirtual |
Set connectivity between points.
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the child grid (for multigrid). |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.
|
inlinevirtual |
Sets area to be positive in Z direction.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMeshFEM, and CPhysicalGeometry.
|
inlinevirtual |
Orders the RCM.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometry of the fine mesh. |
Reimplemented in CMultiGridGeometry.
| void CGeometry::SetRotationalVelocity | ( | const CConfig * | config, |
| bool | print = false |
||
| ) |
Set cartesian grid velocity based on rotational speed and axis.
| [in] | config | - Definition of the particular problem. |
| [in] | - Display information on screen. |
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | val_domain | - Number of domains for parallelization purposes. |
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
|
inlinevirtual |
|
inlinevirtual |
A virtual member.
| iPoint | - Point |
| iDim | - Dimension |
| val | - Value of the sensitivity |
Reimplemented in CPhysicalGeometry.
| void CGeometry::SetShroudVelocity | ( | const CConfig * | config | ) |
Set the rotational velocity of the points on the shroud markers to 0.
| [in] | config | - Definition of the particular problem. |
|
inline |
Set the value of the inflow area at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Set the value of the outflow area at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Set the value of the inflow tangential velocity at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Set the value of the outflow tangential velocity at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inlinevirtual |
A virtual member.
| [in] | config_filename | - Name of the file where the tecplot information is going to be stored. |
Reimplemented in CPhysicalGeometry.
| void CGeometry::SetTranslationalVelocity | ( | const CConfig * | config, |
| bool | print = false |
||
| ) |
Set the translational velocity at each node.
| [in] | config | - Definition of the particular problem. |
| [in] | - Display information on screen. |
|
inline |
Set the value of the inflow radius at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inline |
Set the value of the outflow radius at each span.
| [in] | val_marker | - marker turbo-performance value. |
| [in] | val_span | - span value. |
|
inlinevirtual |
Set vertices for turbomachinery problems.
| [in] | config | - Definition of the particular problem. |
| [in] | val_iZone | - Zone of the problem |
| [in] | marker_flag | - Marker being used |
| [in] | allocate |
Reimplemented in CPhysicalGeometry.
|
inline |
General interface for setting the velocity in the geometry during motion ramps.
| [in] | config | - config class |
| [in] | ramp_flag | - flag for type of ramp |
| [in] | - bool to print update to screen |
|
inlinevirtual |
Sets the vertices.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | fine_grid | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.
|
inlinevirtual |
Reduce the wall distance based on an previously constructed ADT.
The ADT might belong to another zone, giving rise to lower wall distances than those already stored.
| [in] | WallADT | - The ADT to reduce the wall distance |
| [in] | config | - Config of this geometry (not the ADT zone's geometry) |
| [in] | iZone | - Zone whose markers made the ADT |
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
|
inlinevirtual |
Set wall distances a specific value.
| [in] | val | - new value for the wall distance at all points. |
Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.
| void CGeometry::SetWallVelocity | ( | const CConfig * | config, |
| bool | print = false |
||
| ) |
Set the translational/rotational velocity for all moving walls.
| [in] | config | - Definition of the particular problem. |
| [in] | - Display information on screen. |
| void CGeometry::TestGeometry | ( | ) | const |
Create a file for testing the geometry.
| void CGeometry::UpdateCustomBoundaryConditions | ( | CGeometry ** | geometry_container, |
| CConfig * | config | ||
| ) |
Update the multi-grid structure for the customized boundary conditions.
| geometry_container | - Geometrical definition. |
| config | - Definition of the particular problem. |
Update the multi-grid structure and the wall-distance.
| geometry_container | - Geometrical definition. |
| config | - Config |
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
| [in] | val_iZone | - Zone of the problem |
| [in] | marker_flag | - Marker being used |
Reimplemented in CPhysicalGeometry.
|
inlinevirtual |
A virtual member.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CPhysicalGeometry.
| vector<su2double> CGeometry::Aspect_Ratio |
Measure of dual CV aspect ratio (max face area / min face area).
|
protected |
Average boundary grid velocity at each span wise section for each marker.
|
protected |
Average boundary normal at each span wise section for each marker.
|
protected |
Average tangential rotational speed at each span wise section for each marker.
|
protected |
Average boundary normal at each span wise section for each marker in the turbomachinery frame of reference.
| unsigned long* CGeometry::beg_node {nullptr} |
Array containing the first node on each rank due to a linear partitioning by global index.
| CPrimalGrid*** CGeometry::bound {nullptr} |
Boundary vector (primal grid information).
| vector<bool> CGeometry::boundIsStraight |
| su2double* CGeometry::bufD_P2PRecv {nullptr} |
Data structure for su2double point-to-point receive.
| su2double* CGeometry::bufD_P2PSend {nullptr} |
Data structure for su2double point-to-point send.
| su2double* CGeometry::bufD_PeriodicRecv {nullptr} |
Data structure for su2double periodic receive.
| su2double* CGeometry::bufD_PeriodicSend {nullptr} |
Data structure for su2double periodic send.
| unsigned short* CGeometry::bufS_P2PRecv {nullptr} |
Data structure for unsigned long point-to-point receive.
| unsigned short* CGeometry::bufS_P2PSend {nullptr} |
Data structure for unsigned long point-to-point send.
| unsigned short* CGeometry::bufS_PeriodicRecv {nullptr} |
Data structure for unsigned long periodic receive.
| unsigned short* CGeometry::bufS_PeriodicSend {nullptr} |
Data structure for unsigned long periodic send.
| const ColMajorMatrix<uint8_t>& CGeometry::CoarseGridColor = CoarseGridColor_ |
Coarse grid levels, colorized.
|
protected |
Coarse grid levels, colorized.
|
protected |
|
protected |
|
protected |
Size of the edge groups within each color.
|
protected |
Edge coloring structure for thread-based parallelization.
| CEdge* CGeometry::edges {nullptr} |
Edge vector (dual grid information).
| CPrimalGrid** CGeometry::elem {nullptr} |
Element vector (primal grid information).
|
protected |
Size of the element groups within each color.
|
protected |
Element coloring structure for thread-based parallelization.
| unsigned long* CGeometry::end_node |
Array containing the last node on each rank due to a linear partitioning by global index.
|
protected |
Vector containing area/volume associated with new points appearing on a single plane.
FEM L-entry -> U-entry of its transpose.
|
protected |
FEM sparsity with 0-fill (structural pattern).
|
protected |
FEM sparsity with N-fill (e.g. for ILU-N).
FEM U-entry -> L-entry of its transpose.
FVM L-entry -> U-entry of its transpose.
|
protected |
FVM sparsity with 0-fill (structural pattern).
|
protected |
FVM sparsity with N-fill (e.g. for ILU-N).
FVM U-entry -> L-entry of its transpose.
|
protected |
Total number of elements in a simulation across all processors (all types).
|
protected |
Total number of edges in the mesh across all processors.
|
protected |
Total number of edges on the mesh boundaries across all processors.
|
protected |
Total number of hexahedra in the mesh across all processors.
|
protected |
Total number of prisms in the mesh across all processors.
|
protected |
Total number of pyramids in the mesh across all processors.
|
protected |
Total number of quadrangles in the mesh across all processors.
|
protected |
Total number of quads on the mesh boundaries across all processors.
|
protected |
Total number of tetrahedra in the mesh across all processors.
|
protected |
Total number of triangles in the mesh across all processors.
|
protected |
Total number of triangles on the mesh boundaries across all processors.
|
protected |
Total number of elements in a simulation across all processors (excluding halos).
|
protected |
Total number of nodes in a simulation across all processors (including halos).
|
protected |
Total number of nodes in a simulation across all processors (excluding halos).
| unordered_map<unsigned long, unsigned long> CGeometry::Global_to_Local_Elem |
Mapping of global to local index for elements.
|
mutableprotected |
| unsigned long * CGeometry::Local_Marker_PeriodicRecv {nullptr} |
Data structure holding the local index of the periodic marker for a particular vertex to be received in periodic comms.
| unsigned long * CGeometry::Local_Marker_PeriodicSend {nullptr} |
Data structure holding the local index of the periodic marker for a particular vertex to be sent in periodic comms.
| unsigned long * CGeometry::Local_Point_P2PRecv {nullptr} |
Data structure holding the local index of all vertices to be received in point-to-point comms.
| unsigned long* CGeometry::Local_Point_P2PSend {nullptr} |
Data structure holding the local index of all vertices to be sent in point-to-point comms.
| unsigned long * CGeometry::Local_Point_PeriodicRecv {nullptr} |
Data structure holding the local index of all vertices to be received in periodic comms.
| unsigned long* CGeometry::Local_Point_PeriodicSend |
Data structure holding the local index of all vertices to be sent in periodic comms.
|
protected |
MPI Marker.
|
protected |
Greater global point in the domain local structure.
|
protected |
Max angular pitch at each span wise section for each marker.
| int CGeometry::maxCountPerPeriodicPoint {0} |
Maximum number of pieces of data sent per vertex in periodic comms.
| int CGeometry::maxCountPerPoint {0} |
Maximum number of pieces of data sent per vertex in point-to-point comms.
|
protected |
The mesh level index for the current geometry container.
|
protected |
Max angular pitch at each span wise section for each marker.
|
protected |
Min relative angular coord at each span wise section for each marker.
|
protected |
Number of non-blocking communication levels.
|
protected |
Number of dimension of the problem.
|
protected |
Number of edges of the mesh.
| int* CGeometry::Neighbors_P2PRecv |
Data structure holding the ranks of the neighbors for point-to-point recv comms.
| int* CGeometry::Neighbors_P2PSend |
Data structure holding the ranks of the neighbors for point-to-point send comms.
| int* CGeometry::Neighbors_PeriodicRecv |
Data structure holding the ranks of the neighbors for periodic recv comms.
| int* CGeometry::Neighbors_PeriodicSend |
Data structure holding the ranks of the neighbors for periodic send comms.
|
protected |
Number of elements of the mesh.
| unsigned long* CGeometry::nElem_Bound {nullptr} |
Number of elements of the boundary.
|
protected |
Number of edges in the mesh.
|
protected |
Number of edges on the mesh boundaries.
|
protected |
Number of hexahedra in the mesh.
|
protected |
Number of prisms in the mesh.
|
protected |
Number of pyramids in the mesh.
|
protected |
Number of quadrangles in the mesh.
|
protected |
Number of quads on the mesh boundaries.
|
protected |
Number of tetrahedra in the mesh.
|
protected |
Number of triangles in the mesh.
|
protected |
Number of triangles on the mesh boundaries.
|
protected |
Number of faces of the mesh.
|
protected |
Number of different markers of the mesh.
|
protected |
Number of nonconvex elements in the mesh.
| CPoint* CGeometry::nodes {nullptr} |
Node vector (dual grid information).
| int CGeometry::nP2PRecv {0} |
Number of receives during point-to-point comms.
| int CGeometry::nP2PSend {0} |
Number of sends during point-to-point comms.
| int CGeometry::nPeriodicRecv {0} |
Number of receives during periodic comms.
| int CGeometry::nPeriodicSend {0} |
Number of sends during periodic comms.
|
protected |
Number of points of the mesh.
| int* CGeometry::nPoint_P2PRecv |
Data structure holding number of vertices for each recv in point-to-point comms.
| int* CGeometry::nPoint_P2PSend |
Data structure holding number of vertices for each send in point-to-point comms.
| int* CGeometry::nPoint_PeriodicRecv |
Data structure holding number of vertices for each recv in periodic comms.
| int* CGeometry::nPoint_PeriodicSend |
Data structure holding number of vertices for each send in periodic comms.
| unsigned long* CGeometry::nPointCumulative {nullptr} |
Cumulative storage array containing the total number of points on all prior ranks in the linear partitioning.
|
protected |
Number of real points of the mesh.
|
protected |
Number of ghost points of the mesh.
| unsigned long* CGeometry::nPointLinear {nullptr} |
Array containing the total number of nodes on each rank due to a linear partioning by global index.
|
protected |
Number of Span wise section for each turbo marker, indexed by marker. Needed for deallocation.
|
protected |
Number of Span wise section for each turbo marker, indexed by inflow/outflow.
|
protected |
number of vertexes at each span wise section for each marker.
|
protected |
Number of Span wise section for each turbo marker.
| unsigned long* CGeometry::nVertex {nullptr} |
Number of vertex for each marker.
|
protected |
number of vertexes for span wise section for each marker.
|
protected |
max number of vertexes for each span section for each marker flag.
|
protected |
Number of zones in the problem.
| vector<su2double> CGeometry::Orthogonality |
Measure of dual CV orthogonality angle (0 to 90 deg., 90 being best).
| map<int, int> CGeometry::P2PRecv2Neighbor |
Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point recv comms.
| map<int, int> CGeometry::P2PSend2Neighbor |
Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point send comms.
| map<int, int> CGeometry::PeriodicRecv2Neighbor |
Data structure holding the reverse mapping of the ranks of the neighbors for periodic recv comms.
| map<int, int> CGeometry::PeriodicSend2Neighbor |
Data structure holding the reverse mapping of the ranks of the neighbors for periodic send comms.
|
protected |
Vector containing points appearing on a single plane.
|
protected |
MPI Rank.
| SU2_MPI::Request* CGeometry::req_P2PRecv {nullptr} |
Data structure for point-to-point recv requests.
| SU2_MPI::Request* CGeometry::req_P2PSend {nullptr} |
Data structure for point-to-point send requests.
| SU2_MPI::Request* CGeometry::req_PeriodicRecv {nullptr} |
Data structure for periodic recv requests.
| SU2_MPI::Request* CGeometry::req_PeriodicSend {nullptr} |
Data structure for periodic send requests.
| PassiveRequest* CGeometry::reqP_P2PRecv {nullptr} |
Data structure for point-to-point recv requests.
| PassiveRequest* CGeometry::reqP_P2PSend {nullptr} |
Data structure for point-to-point send requests.
|
protected |
MPI Size.
|
protected |
Area at each span wise section for each marker.
|
protected |
|
protected |
Area at each span wise section for each turbomachinery marker.
|
protected |
Span wise values for each turbo marker.
| vector<su2double> CGeometry::SurfaceAreaCfgFile |
Total Surface area for all markers.
| vector<std::unordered_map<unsigned long, std::array<su2double, MAXNDIM> > > CGeometry::symmetryNormals |
Bool if boundary-marker is straight(2D)/plane(3D) for each local marker.
| string* CGeometry::Tag_to_Marker {nullptr} |
Names of boundary markers.
Corrected normals on nodes with shared symmetry markers.
|
protected |
|
protected |
Average tangential rotational speed at each span wise section for each turbomachinery marker.
|
protected |
Radius at each span wise section for each marker.
|
protected |
|
protected |
Radius at each span wise section for each turbomachinery marker.
| CTurboVertex**** CGeometry::turbovertex |
Boundary Vertex vector ordered for turbomachinery calculation(dual grid information).
| CVertex*** CGeometry::vertex {nullptr} |
Boundary Vertex vector (dual grid information).
| vector<su2double> CGeometry::Volume_Ratio |
Measure of dual CV volume ratio (max sub-element volume / min sub-element volume).
|
protected |
Vector containing x coordinates of new points appearing on a single plane.
|
protected |
Vector containing points appearing on a single plane.
|
protected |
Vector containing y coordinates of new points appearing on a single plane.
|
protected |
Vector containing z coordinates of new points appearing on a single plane.