Documentation 6b54b78464
Loading...
Searching...
No Matches
CGeometry Class Reference

Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geometry, only boundary geometry, etc..) More...

#include <CGeometry.hpp>

Inheritance diagram for CGeometry:
[legend]

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
 

Detailed Description

Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geometry, only boundary geometry, etc..)

Author
F. Palacios

Member Typedef Documentation

◆ PassiveRequest

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : size_t
protected
Enumerator
OMP_MIN_SIZE 

◆ anonymous enum

anonymous enum : size_t
protected
Enumerator
MAXNDIM 

Constructor & Destructor Documentation

◆ CGeometry() [1/2]

CGeometry::CGeometry ( )

Constructor of the class.

◆ CGeometry() [2/2]

CGeometry::CGeometry ( CConfig *  config,
unsigned short  nDim 
)

Constructor of the class.

◆ ~CGeometry()

CGeometry::~CGeometry ( )
virtual

Destructor of the class.

Member Function Documentation

◆ AllocateP2PComms()

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.

Parameters
[in]val_countPerPoint- Maximum count of the data type per vertex in point-to-point comms, e.g., nPrimvarGrad*nDim.

◆ AllocatePeriodicComms()

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.

Parameters
[in]val_countPerPeriodicPoint- Maximum count of the data type per vertex in periodic comms, e.g., nPrimvarGrad*nDim.

◆ Check_BoundElem_Orientation()

virtual void CGeometry::Check_BoundElem_Orientation ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ Check_IntElem_Orientation()

virtual void CGeometry::Check_IntElem_Orientation ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ CheckEdge()

bool CGeometry::CheckEdge ( unsigned long  first_point,
unsigned long  second_point 
) const
inline

Get the edge index from using the nodes of the edge.

Parameters
[in]first_point- First point of the edge.
[in]second_point- Second point of the edge.
Returns
Index of the edge.

◆ ColorMGLevels()

void CGeometry::ColorMGLevels ( unsigned short  nMGLevels,
const CGeometry *const *  geometry 
)

Color multigrid levels for visualization.

Parameters
nMGLevels- Number of levels
geometry- The levels

◆ CompleteComms()

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.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]commType- Enumerated type for the quantity to be unpacked.

◆ Compute_Area()

virtual su2double CGeometry::Compute_Area ( su2double *  Plane_P0,
su2double *  Plane_Normal,
CConfig *  config,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Chord()

virtual su2double CGeometry::Compute_Chord ( su2double *  Plane_P0,
su2double *  Plane_Normal,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Curvature()

virtual su2double CGeometry::Compute_Curvature ( su2double *  LeadingEdge_im1,
su2double *  TrailingEdge_im1,
su2double *  LeadingEdge_i,
su2double *  TrailingEdge_i,
su2double *  LeadingEdge_ip1,
su2double *  TrailingEdge_ip1 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Dihedral()

virtual su2double CGeometry::Compute_Dihedral ( su2double *  LeadingEdge_im1,
su2double *  TrailingEdge_im1,
su2double *  LeadingEdge_i,
su2double *  TrailingEdge_i 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Fuselage()

virtual void CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Fuselage_LeadingTrailing()

virtual void CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Height()

virtual su2double CGeometry::Compute_Height ( su2double *  Plane_P0,
su2double *  Plane_Normal,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Length()

virtual su2double CGeometry::Compute_Length ( su2double *  Plane_P0,
su2double *  Plane_Normal,
CConfig *  config,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_LERadius()

virtual su2double CGeometry::Compute_LERadius ( su2double *  Plane_P0,
su2double *  Plane_Normal,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_MaxThickness()

virtual su2double CGeometry::Compute_MaxThickness ( su2double *  Plane_P0,
su2double *  Plane_Normal,
CConfig *  config,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Nacelle()

virtual void CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Thickness()

virtual su2double CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Twist()

virtual su2double CGeometry::Compute_Twist ( su2double *  Plane_P0,
su2double *  Plane_Normal,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_WaterLineWidth()

virtual su2double CGeometry::Compute_WaterLineWidth ( su2double *  Plane_P0,
su2double *  Plane_Normal,
CConfig *  config,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Width()

virtual su2double CGeometry::Compute_Width ( su2double *  Plane_P0,
su2double *  Plane_Normal,
vector< su2double > &  Xcoord_Airfoil,
vector< su2double > &  Ycoord_Airfoil,
vector< su2double > &  Zcoord_Airfoil 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Wing()

virtual void CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ Compute_Wing_LeadingTrailing()

virtual void CGeometry::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 
)
inlinevirtual

A virtual member.

Reimplemented in CPhysicalGeometry.

◆ ComputeAirfoil_Section()

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.

Parameters
[in]config- Definition of the particular problem.

◆ ComputeMeshQualityStatistics()

virtual void CGeometry::ComputeMeshQualityStatistics ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
config- Config

Reimplemented in CPhysicalGeometry.

◆ ComputeModifiedSymmetryNormals()

void CGeometry::ComputeModifiedSymmetryNormals ( const CConfig *  config)

Computes modified normals at intersecting symmetry planes.

Parameters
[in]config- Definition of the particular problem.

◆ ComputeNSpan()

virtual void CGeometry::ComputeNSpan ( CConfig *  config,
unsigned short  val_iZone,
unsigned short  marker_flag,
bool  allocate 
)
inlinevirtual

Computes the N span.

Parameters
[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.

◆ ComputeSurf_Curvature()

void CGeometry::ComputeSurf_Curvature ( CConfig *  config)

Find and store all vertices on a sharp corner in the geometry.

Parameters
[in]config- Definition of the particular problem.

◆ ComputeSurfaceAreaCfgFile()

void CGeometry::ComputeSurfaceAreaCfgFile ( const CConfig *  config)

Compute the surface area of all global markers.

Parameters
[in]config- Definition of the particular problem.

◆ ComputeSurfStraightness()

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.

Parameters
[in]config- Definition of the particular problem.
[in]print_on_screen- Boolean whether to print result on screen.

◆ ComputeViscousWallADT()

virtual std::unique_ptr< CADTElemClass > CGeometry::ComputeViscousWallADT ( const CConfig *  config) const
inlinevirtual

Compute an ADT including the coordinates of all viscous markers.

Parameters
[in]config- Definition of the particular problem.
Returns
pointer to the ADT

Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.

◆ ComputeWallDistance()

void CGeometry::ComputeWallDistance ( const CConfig *const *  config_container,
CGeometry ****  geometry_container,
const int  record_zone = -1 
)
static

Compute the distances to the closest vertex on viscous walls over the entire domain.

Parameters
[in]config_container- Definition of the particular problem.
[in]geometry_container- Geometrical definition of the problem.

◆ DivideConnectivity()

virtual void CGeometry::DivideConnectivity ( CConfig *  config,
unsigned short  Elem_Type 
)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

◆ FilterValuesAtElementCG()

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.

Parameters
[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.

◆ FindEdge()

long CGeometry::FindEdge ( unsigned long  first_point,
unsigned long  second_point,
bool  error = true 
) const
inline

Get the edge index from using the nodes of the edge.

Parameters
[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.
Returns
Index of the edge.

◆ FindFace()

virtual bool CGeometry::FindFace ( unsigned long  first_elem,
unsigned long  second_elem,
unsigned short &  face_first_elem,
unsigned short &  face_second_elem 
)
inlinevirtual

Finds face of element.

Parameters
[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.

◆ FindNormal_Neighbor()

virtual void CGeometry::FindNormal_Neighbor ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMultiGridGeometry, and CPhysicalGeometry.

◆ FindUniqueNode_PeriodicBound()

virtual void CGeometry::FindUniqueNode_PeriodicBound ( const CConfig *  config)
inlinevirtual

For streamwise periodicity, find & store a unique reference node on the designated periodic inlet.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ GatherInOutAverageValues()

virtual void CGeometry::GatherInOutAverageValues ( CConfig *  config,
bool  allocate 
)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.
[in]allocate

Reimplemented in CPhysicalGeometry.

◆ GetAverageGridVel()

const su2double * CGeometry::GetAverageGridVel ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the average grid velocity at a specific span for a given marker.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.

◆ GetAverageNormal()

const su2double * CGeometry::GetAverageNormal ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the average normal at a specific span for a given marker.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.
Returns
The span-wise averaged normal.

◆ GetAverageTangGridVel()

su2double CGeometry::GetAverageTangGridVel ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the average tangential rotational velocity for each span.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.
Returns
The span-wise averaged tangential velocity.

◆ GetAverageTurboNormal()

const su2double * CGeometry::GetAverageTurboNormal ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the average normal at a specific span for a given marker in the turbomachinery reference of frame.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.
Returns
The span-wise averaged turbo normal.

◆ GetCommCountAndType()

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.

Parameters
[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.

◆ GetCommType()

template<class T >
COMM_TYPE CGeometry::GetCommType ( ) const
inline

Returns the COMM_TYPE enum for a given data type.

◆ GetCustomBoundaryHeatFlux()

su2double CGeometry::GetCustomBoundaryHeatFlux ( unsigned short  val_marker,
unsigned long  val_vertex 
) const
inline

Get the value of the customized normal heat flux at a specified vertex on a specified marker.

Parameters
[in]val_marker- Marker value
[in]val_vertex- Boundary vertex value

◆ GetCustomBoundaryTemperature()

su2double CGeometry::GetCustomBoundaryTemperature ( unsigned short  val_marker,
unsigned long  val_vertex 
) const
inline

Get the value of the customized temperature at a specified vertex on a specified marker.

Parameters
[in]val_marker- Marker value
[in]val_vertex- Boundary vertex value

◆ GetEdgeColorGroupSize()

unsigned long CGeometry::GetEdgeColorGroupSize ( ) const
inline

Get the group size used in edge coloring.

Returns
Group size.

◆ GetEdgeColoring()

const CCompressedSparsePatternUL & CGeometry::GetEdgeColoring ( su2double *  efficiency = nullptr,
bool  maximizeEdgeColorGroupSize = false 
)

Get the edge coloring.

Note
This method computes the coloring if that has not been done yet.
Can be instructed to determine and use the maximum edge color group size between 1 and CGeometry::edgeColorGroupSize that yields a coloring that is at least as efficient as COLORING_EFF_THRESH.
Parameters
[out]efficiency- optional output of the coloring efficiency.
[in]maximizeEdgeColorGroupSize- use the maximum edge color group size that gives an efficient coloring.
Returns
Reference to the coloring.

◆ GetElementColorGroupSize()

unsigned long CGeometry::GetElementColorGroupSize ( ) const
inline

Get the group size used in element coloring.

Returns
Group size.

◆ GetElementColoring()

const CCompressedSparsePatternUL & CGeometry::GetElementColoring ( su2double *  efficiency = nullptr)

Get the element coloring.

Note
This method computes the coloring if that has not been done yet.
Parameters
[out]efficiency- optional output of the coloring efficiency.
Returns
Reference to the coloring.

◆ GetGlobal_nElem()

unsigned long CGeometry::GetGlobal_nElem ( ) const
inline

Retrieve total number of elements in a simulation across all processors.

Returns
Total number of elements in a simulation across all processors.

◆ GetGlobal_nElemDomain()

unsigned long CGeometry::GetGlobal_nElemDomain ( ) const
inline

Retrieve total number of elements in a simulation across all processors (excluding halos).

Returns
Total number of elements in a simulation across all processors (excluding halos).

◆ GetGlobal_nElemHexa()

unsigned long CGeometry::GetGlobal_nElemHexa ( ) const
inline

Retrieve total number of hexahedral elements in a simulation across all processors.

Returns
Total number of hexahedral elements in a simulation across all processors.

◆ GetGlobal_nElemLine()

unsigned long CGeometry::GetGlobal_nElemLine ( ) const
inline

Retrieve total number of triangular elements in a simulation across all processors.

Returns
Total number of line elements in a simulation across all processors.

◆ GetGlobal_nElemPris()

unsigned long CGeometry::GetGlobal_nElemPris ( ) const
inline

Retrieve total number of prism elements in a simulation across all processors.

Returns
Total number of prism elements in a simulation across all processors.

◆ GetGlobal_nElemPyra()

unsigned long CGeometry::GetGlobal_nElemPyra ( ) const
inline

Retrieve total number of pyramid elements in a simulation across all processors.

Returns
Total number of pyramid elements in a simulation across all processors.

◆ GetGlobal_nElemQuad()

unsigned long CGeometry::GetGlobal_nElemQuad ( ) const
inline

Retrieve total number of quadrilateral elements in a simulation across all processors.

Returns
Total number of quadrilateral elements in a simulation across all processors.

◆ GetGlobal_nElemTetr()

unsigned long CGeometry::GetGlobal_nElemTetr ( ) const
inline

Retrieve total number of tetrahedral elements in a simulation across all processors.

Returns
Total number of tetrahedral elements in a simulation across all processors.

◆ GetGlobal_nElemTria()

unsigned long CGeometry::GetGlobal_nElemTria ( ) const
inline

Retrieve total number of triangular elements in a simulation across all processors.

Returns
Total number of triangular elements in a simulation across all processors.

◆ GetGlobal_nPoint()

unsigned long CGeometry::GetGlobal_nPoint ( ) const
inline

Retrieve total number of nodes in a simulation across all processors (including halos).

Returns
Total number of nodes in a simulation across all processors (including halos).

◆ GetGlobal_nPointDomain()

unsigned long CGeometry::GetGlobal_nPointDomain ( ) const
inline

Retrieve total number of nodes in a simulation across all processors (excluding halos).

Returns
Total number of nodes in a simulation across all processors (excluding halos).

◆ GetGlobal_to_Local_Point()

virtual long CGeometry::GetGlobal_to_Local_Point ( unsigned long  val_ipoint) const
inlinevirtual

A virtual member.

Parameters
[in]val_ipoint- Global point.
Returns
Local index that correspond with the global index.

Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.

◆ GetGlobalElementAdjacencyMatrix()

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.

Parameters
[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.

◆ GetLineletInfo()

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.

◆ GetLToUTransposeSparsePatternMap()

const su2vector< su2uint > & CGeometry::GetLToUTransposeSparsePatternMap ( ConnectivityType  type)

Get the bijective map from L-entry indices to U-entry indices of their transposes.

Note
Requires symmetric pattern. Builds both LU transpose maps if not already built.
Parameters
[in]type- Finite volume or finite element.
Returns
Reference to the l_to_u map.

◆ GetMarker_Tag()

string CGeometry::GetMarker_Tag ( unsigned short  val_marker) const
inline

Get the index of a marker.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Index of the marker in the grid defintion.

◆ GetMax_GlobalPoint()

unsigned long CGeometry::GetMax_GlobalPoint ( ) const
inline

Get the number of elements in vtk fortmat.

◆ GetMaxAngularCoord()

su2double CGeometry::GetMaxAngularCoord ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

max angular pitch independently from the MPI partions.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.

◆ GetMGLevel()

unsigned short CGeometry::GetMGLevel ( ) const
inline

Get the multigrid index for the current geometry object.

Returns
Multigrid index for current geometry object.

◆ GetMinAngularCoord()

su2double CGeometry::GetMinAngularCoord ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

min angular pitch independently from the MPI partions.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.

◆ GetMinRelAngularCoord()

su2double CGeometry::GetMinRelAngularCoord ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

min Relatice angular coord independently from the MPI partions.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.

◆ GetnDim()

unsigned short CGeometry::GetnDim ( ) const
inline

Get number of coordinates.

Returns
Number of coordinates.

◆ GetnEdge()

unsigned long CGeometry::GetnEdge ( ) const
inline

Get number of edges.

Returns
Number of edges.

◆ GetnElem()

unsigned long CGeometry::GetnElem ( ) const
inline

Get number of elements.

Returns
Number of elements.

◆ GetnElem_Bound()

unsigned long CGeometry::GetnElem_Bound ( unsigned short  val_marker) const
inline

Get the number of boundary elements.

Parameters
[in]val_marker- Marker of the boundary.

◆ GetnElemHexa()

unsigned long CGeometry::GetnElemHexa ( ) const
inline

Get number of hexahedral elements.

Returns
Number of hexahedral elements.

◆ GetnElemLine()

unsigned long CGeometry::GetnElemLine ( ) const
inline

Get number of triangular elements.

Returns
Number of line elements.

◆ GetnElemPris()

unsigned long CGeometry::GetnElemPris ( ) const
inline

Get number of prism elements.

Returns
Number of prism elements.

◆ GetnElemPyra()

unsigned long CGeometry::GetnElemPyra ( ) const
inline

Get number of pyramid elements.

Returns
Number of pyramid elements.

◆ GetnElemQuad()

unsigned long CGeometry::GetnElemQuad ( ) const
inline

Get number of quadrilateral elements.

Returns
Number of quadrilateral elements.

◆ GetnElemTetr()

unsigned long CGeometry::GetnElemTetr ( ) const
inline

Get number of tetrahedral elements.

Returns
Number of tetrahedral elements.

◆ GetnElemTria()

unsigned long CGeometry::GetnElemTria ( ) const
inline

Get number of triangular elements.

Returns
Number of triangular elements.

◆ GetnFreqSpan()

unsigned long CGeometry::GetnFreqSpan ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get number of frequencies per span for NRBC.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of frequencies for NRBC.

◆ GetnFreqSpanMax()

unsigned long CGeometry::GetnFreqSpanMax ( unsigned short  marker_flag) const
inline

Get number of max frequencies for initializing the Fourier Coefficient for NR BC.

Parameters
[in]marker_flag- Marker of the boundary.
Returns
Number of frequencies.

◆ GetnMarker()

unsigned short CGeometry::GetnMarker ( ) const
inline

Get number of markers.

Returns
Number of markers.

◆ GetnNonconvexElements()

unsigned long CGeometry::GetnNonconvexElements ( ) const
inline

Get the amount of nonconvex elements in the mesh.

Parameters
[out]nNonconvexElements-amount of nonconvex elements in the mesh

◆ GetnPoint()

unsigned long CGeometry::GetnPoint ( ) const
inline

Get number of points.

Returns
Number of points.

◆ GetnPointDomain()

unsigned long CGeometry::GetnPointDomain ( ) const
inline

Get number of real points (that belong to the domain).

Returns
Number of real points.

◆ GetnSpanWiseSections()

unsigned short CGeometry::GetnSpanWiseSections ( unsigned short  marker_flag) const
inline

Get number of span wise section.

Parameters
[in]marker_flag- flag of the turbomachinery boundary.
Returns
Number of span wise section.

◆ GetnTotVertexSpan()

unsigned long CGeometry::GetnTotVertexSpan ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

A total number of vertex independently from the MPI partions.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.

◆ GetnVertex()

unsigned long CGeometry::GetnVertex ( unsigned short  val_marker) const
inline

Get number of vertices.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of vertices.

◆ GetnVertexSpan()

unsigned long CGeometry::GetnVertexSpan ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get number of vertices.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of vertices.

◆ GetnVertexSpanMax()

unsigned long CGeometry::GetnVertexSpanMax ( unsigned short  marker_flag) const
inline

Get number of vertices.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of vertices.

◆ GetnZone()

unsigned short CGeometry::GetnZone ( ) const
inline

Get number of zones.

Returns
Number of zones.

◆ GetP2PRecvBuf()

template<class T >
auto * CGeometry::GetP2PRecvBuf ( ) const
inline

Returns the receive buffer for a given data type.

◆ GetP2PRecvReq()

template<class T >
auto * CGeometry::GetP2PRecvReq ( ) const
inline

Returns the receive requests for a given data type.

◆ GetP2PSendBuf()

template<class T >
auto * CGeometry::GetP2PSendBuf ( ) const
inline

Returns the send buffer for a given data type.

◆ GetP2PSendReq()

template<class T >
auto * CGeometry::GetP2PSendReq ( ) const
inline

Returns the send requests for a given data type.

◆ GetPlanarPoints()

vector< vector< unsigned long > > CGeometry::GetPlanarPoints ( ) const
inline

Get all points on a geometrical plane in the mesh.

◆ GetRadialNeighbourhood()

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.

Parameters
[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).
Returns
true if the search was successful, i.e. not limited.

◆ GetSensitivity()

virtual su2double CGeometry::GetSensitivity ( unsigned long  iPoint,
unsigned short  iDim 
) const
inlinevirtual

A virtual member.

Parameters
iPoint- Point
iDim- Dimension

Reimplemented in CPhysicalGeometry.

◆ GetSpanArea()

su2double CGeometry::GetSpanArea ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the total area for each span.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.
Returns
The span-wise area.

◆ GetSpanAreaIn()

su2double CGeometry::GetSpanAreaIn ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the inflow area at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise inflow area.

◆ GetSpanAreaOut()

su2double CGeometry::GetSpanAreaOut ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the outflow area at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise outflow area.

◆ GetSpanWiseValue()

const su2double * CGeometry::GetSpanWiseValue ( unsigned short  val_marker) const
inline

Get number of vertices.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of vertices.

◆ GetSparsePattern()

const CGeometry::LDUSparsePattern & CGeometry::GetSparsePattern ( ConnectivityType  type,
unsigned long  fillLvl = 0 
)

Get the sparse pattern of "type" with given level of fill.

Note
This method builds the pattern if that has not been done yet.
Parameters
[in]type- Finite volume or finite element.
[in]fillLvl- Level of fill of the pattern.
Returns
Reference to the sparse pattern.

◆ GetStreamwise_Periodic_RefNode()

virtual const su2double * CGeometry::GetStreamwise_Periodic_RefNode ( void  ) const
inlinevirtual

Get a pointer to the reference node coordinate vector.

Returns
A pointer to the reference node coordinate vector.

Reimplemented in CPhysicalGeometry.

◆ GetSurfaceArea()

su2double CGeometry::GetSurfaceArea ( const CConfig *  config,
unsigned short  val_marker 
) const

Get global Surface Area to a local marker.

Parameters
[in]config- Definition of the particular problem.
[in]val_marker- Local surface marker.
Returns
Global Surface Area to the local marker

◆ GetTangGridVelIn()

su2double CGeometry::GetTangGridVelIn ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the inflow tangential velocity at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise inflow tangential velocity.

◆ GetTangGridVelOut()

su2double CGeometry::GetTangGridVelOut ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the outflow tangential velocity at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise outflow tangential velocity.

◆ GetTurboRadius()

su2double CGeometry::GetTurboRadius ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the total area for each span.

Parameters
[in]val_marker- marker value.
[in]val_span- span value.
Returns
The span-wise averaged turbo normal.

◆ GetTurboRadiusIn()

su2double CGeometry::GetTurboRadiusIn ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the inflow radius at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise inflow radius.

◆ GetTurboRadiusOut()

su2double CGeometry::GetTurboRadiusOut ( unsigned short  val_marker,
unsigned short  val_span 
) const
inline

Get the value of the outflow radius at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.
Returns
The span-wise outflow radius.

◆ GetUToLTransposeSparsePatternMap()

const su2vector< su2uint > & CGeometry::GetUToLTransposeSparsePatternMap ( ConnectivityType  type)

Get the bijective map from U-entry indices to L-entry indices of their transposes.

Note
Requires symmetric pattern. Builds both LU transpose maps if not already built.
Parameters
[in]type- Finite volume or finite element.
Returns
Reference to the u_to_l map.

◆ GetXCoord()

vector< vector< su2double > > CGeometry::GetXCoord ( ) const
inline

Get x coords of geometrical planes in the mesh.

◆ GetYCoord()

vector< vector< su2double > > CGeometry::GetYCoord ( ) const
inline

Get y coords of geometrical planes in the mesh.

◆ GetZCoord()

vector< vector< su2double > > CGeometry::GetZCoord ( ) const
inline

Get z coords of geometrical planes in the mesh.

◆ InitiateComms()

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.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]commType- Enumerated type for the quantity to be communicated.

◆ MatchActuator_Disk()

virtual void CGeometry::MatchActuator_Disk ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMultiGridGeometry, and CPhysicalGeometry.

◆ MatchPeriodic()

void CGeometry::MatchPeriodic ( const CConfig *  config,
unsigned short  val_periodic 
)
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.

Parameters
[in]config- Definition of the particular problem.
[in]val_periodic- Index of the periodic marker pair.

◆ PostP2PRecvs()

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.

Note
This routine is called by any class that has loaded data into the generic communication buffers.
Parameters
[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.

◆ PostP2PSends()

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.

Note
This routine is called by any class that has loaded data into the generic communication buffers.
Parameters
[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.

◆ PostPeriodicRecvs()

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.

Note
This routine is called by any class that has loaded data into the generic communication buffers.
Parameters
[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.

◆ PostPeriodicSends()

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.

Note
This routine is called by any class that has loaded data into the generic communication buffers.
Parameters
[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.

◆ PreprocessP2PComms()

void CGeometry::PreprocessP2PComms ( CGeometry *  geometry,
CConfig *  config 
)

Routine to launch non-blocking recvs only for all periodic communications.

Routine to set up persistent data structures for point-to-point MPI communications.

Note
This routine is called by any class that has loaded data into the generic communication buffers.
Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ PreprocessPeriodicComms()

void CGeometry::PreprocessPeriodicComms ( CGeometry *  geometry,
CConfig *  config 
)

Routine to set up persistent data structures for periodic communications.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ RayIntersectsTriangle()

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)

◆ ReadUnorderedSensitivity()

virtual void CGeometry::ReadUnorderedSensitivity ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
config- Config

Reimplemented in CPhysicalGeometry.

◆ RegisterCoordinates()

void CGeometry::RegisterCoordinates ( ) const

Register the coordinates of the mesh nodes.

◆ SegmentIntersectsLine()

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)

◆ SegmentIntersectsPlane()

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.

Parameters
[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.
Returns
If the intersection has has been successful.

◆ SegmentIntersectsTriangle()

bool CGeometry::SegmentIntersectsTriangle ( su2double  point0[3],
const su2double  point1[3],
su2double  vert0[3],
su2double  vert1[3],
su2double  vert2[3] 
)

Segment Intersects Triangle.

◆ SetAvgTurboGeoValues()

virtual void CGeometry::SetAvgTurboGeoValues ( const CConfig *  donor_config,
CGeometry *  donor_geometry,
unsigned short  donorZone 
)
inlinevirtual

Store all the turboperformance in the solver in final zone.

Parameters
[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.

◆ SetAvgTurboValue()

virtual void CGeometry::SetAvgTurboValue ( CConfig *  config,
unsigned short  val_iZone,
unsigned short  marker_flag,
bool  allocate 
)
inlinevirtual

A virtual member.

Parameters
[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.

◆ SetBoundaries()

virtual void CGeometry::SetBoundaries ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[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.

◆ SetBoundControlVolume() [1/2]

virtual void CGeometry::SetBoundControlVolume ( const CConfig *  config,
unsigned short  action 
)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.
[in]action- Allocate or not the new elements.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.

◆ SetBoundControlVolume() [2/2]

virtual void CGeometry::SetBoundControlVolume ( const CGeometry *  fine_grid,
const CConfig *  config,
unsigned short  action 
)
inlinevirtual

A virtual member.

Parameters
[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.

◆ SetBoundSensitivity()

virtual void CGeometry::SetBoundSensitivity ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ SetBoundTecPlot()

virtual void CGeometry::SetBoundTecPlot ( char  mesh_filename[MAX_STRING_SIZE],
bool  new_file,
CConfig *  config 
)
inlinevirtual

A virtual member.

Parameters
[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.

◆ SetBoundVolume()

virtual void CGeometry::SetBoundVolume ( void  )
inlinevirtual

Sets the boundary volume.

Reimplemented in CPhysicalGeometry.

◆ SetColorFEMGrid_Parallel()

virtual void CGeometry::SetColorFEMGrid_Parallel ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ SetColorGrid()

virtual void CGeometry::SetColorGrid ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

◆ SetColorGrid_Parallel()

virtual void CGeometry::SetColorGrid_Parallel ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ SetControlVolume() [1/2]

virtual void CGeometry::SetControlVolume ( CConfig *  config,
unsigned short  action 
)
inlinevirtual

Sets control volume.

Parameters
[in]config- Definition of the particular problem.
[in]action- Allocate or not the new elements.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.

◆ SetControlVolume() [2/2]

virtual void CGeometry::SetControlVolume ( const CGeometry *  fine_grid,
unsigned short  action 
)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the problem.
[in]action- Allocate or not the new elements.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.

◆ SetCoord()

virtual void CGeometry::SetCoord ( const CGeometry *  fine_grid)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the problem.

Reimplemented in CMultiGridGeometry.

◆ SetCustomBoundary()

void CGeometry::SetCustomBoundary ( CConfig *  config)

Set the data containers for customized boundary conditions.

Parameters
[in]config- Definition of the particular problem.

◆ SetCustomBoundaryHeatFlux()

void CGeometry::SetCustomBoundaryHeatFlux ( unsigned short  val_marker,
unsigned long  val_vertex,
su2double  val_customBoundaryHeatFlux 
)
inline

Set the value of the customized normal heat flux at a specified vertex on a specified marker.

Parameters
[in]val_marker- Marker value
[in]val_vertex- Boundary vertex value
[in]val_customBoundaryHeatFlux- Value of the normal heat flux.

◆ SetCustomBoundaryTemperature()

void CGeometry::SetCustomBoundaryTemperature ( unsigned short  val_marker,
unsigned long  val_vertex,
su2double  val_customBoundaryTemperature 
)
inline

Set the value of the customized temperature at a specified vertex on a specified marker.

Parameters
[in]val_marker- Marker value
[in]val_vertex- Boundary vertex value
[in]val_customBoundaryTemperature- Value of the temperature.

◆ SetEdges()

void CGeometry::SetEdges ( )

Sets the edges of an elemment.

◆ SetElement_Connectivity()

virtual void CGeometry::SetElement_Connectivity ( void  )
inlinevirtual

Connects elements .

Reimplemented in CPhysicalGeometry.

◆ SetElemVolume()

void CGeometry::SetElemVolume ( )

Compute and store the volume of the primal elements.

◆ SetFaces()

void CGeometry::SetFaces ( )

Sets the faces of an element..

◆ SetGlobal_nPointDomain()

void CGeometry::SetGlobal_nPointDomain ( unsigned long  val_global_npoint)
inline

Set the value of the total number of points globally in the simulation.

Parameters
[in]val_global_npoint- Global number of points in the mesh (excluding halos).

◆ SetGlobal_to_Local_Point()

virtual void CGeometry::SetGlobal_to_Local_Point ( )
inlinevirtual

A virtual member.

Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.

◆ SetGridVelocity()

void CGeometry::SetGridVelocity ( const CConfig *  config)

Set the grid velocity via finite differencing at each node.

Parameters
[in]config- Definition of the particular problem.

◆ SetMarker_Tag()

void CGeometry::SetMarker_Tag ( unsigned short  val_marker,
string  val_index 
)
inline

Set index of a marker.

Parameters
[in]val_marker- Marker of the boundary.
[in]val_index- Index of the marker.

◆ SetMaxLength()

virtual void CGeometry::SetMaxLength ( CConfig *  config)
inlinevirtual

Set max length.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ SetMGLevel()

void CGeometry::SetMGLevel ( unsigned short  val_iMesh)
inline

Set the multigrid index for the current geometry object.

Parameters
[in]val_iMesh- Multigrid index for current geometry object.

◆ SetMultiGridMarkerQuantity()

template<class T >
void CGeometry::SetMultiGridMarkerQuantity ( const CGeometry *  fine_grid,
unsigned short  val_marker,
T &  wall_quantity 
)
inline

Set a representative wall value of the agglomerated control volumes on a particular boundary marker.

Parameters
[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).

◆ SetMultiGridWallHeatFlux()

virtual void CGeometry::SetMultiGridWallHeatFlux ( const CGeometry *  fine_grid,
unsigned short  val_marker 
)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the problem.
[in]val_marker- Index of the boundary marker.

Reimplemented in CMultiGridGeometry.

◆ SetMultiGridWallTemperature()

virtual void CGeometry::SetMultiGridWallTemperature ( const CGeometry *  fine_grid,
unsigned short  val_marker 
)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the problem.
[in]val_marker- Index of the boundary marker.

Reimplemented in CMultiGridGeometry.

◆ SetNaturalEdgeColoring()

void CGeometry::SetNaturalEdgeColoring ( )

Force the natural (sequential) edge coloring.

◆ SetNaturalElementColoring()

void CGeometry::SetNaturalElementColoring ( )

Force the natural (sequential) element coloring.

◆ SetnDim()

void CGeometry::SetnDim ( unsigned short  val_nDim)
inline

Set the number of dimensions of the problem.

Parameters
[in]val_nDim- Number of dimensions.

◆ SetnElem()

void CGeometry::SetnElem ( unsigned long  val_nelem)
inline

Set the number of grid elements.

Parameters
[in]val_nelem- Number of grid elements.

◆ SetnElem_Bound()

void CGeometry::SetnElem_Bound ( unsigned short  val_marker,
unsigned long  val_nelem_bound 
)
inline

Set the number of boundary elements.

Parameters
[in]val_marker- Marker of the boundary.
[in]val_nelem_bound- Number of boundary elements.

◆ SetnMarker()

void CGeometry::SetnMarker ( unsigned short  val_nmarker)
inline

A virtual member.

Parameters
[in]val_nmarker- Number of markers.

◆ SetnNonconvexElements()

void CGeometry::SetnNonconvexElements ( unsigned long  nonconvex_elems)
inline

Set the amount of nonconvex elements in the mesh.

Parameters
[in]nonconvex_elems- amount of nonconvex elements in the mesh

◆ SetnPoint()

void CGeometry::SetnPoint ( unsigned long  val_npoint)
inline

Set the number of grid points.

Parameters
[in]val_npoint- Number of grid points.

◆ SetnPointDomain()

void CGeometry::SetnPointDomain ( unsigned long  val_npoint)
inline

Set the number of grid points in the domain.

Parameters
[in]val_npoint- Number of grid points in the domain.

◆ SetnVertexSpanMax()

void CGeometry::SetnVertexSpanMax ( unsigned short  marker_flag,
unsigned long  nVertMax 
)
inline

Get number of vertices.

Parameters
[in]val_marker- Marker of the boundary.
Returns
Number of vertices.

◆ SetPoint_Connectivity() [1/2]

virtual void CGeometry::SetPoint_Connectivity ( )
inlinevirtual

Set connectivity between points.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.

◆ SetPoint_Connectivity() [2/2]

virtual void CGeometry::SetPoint_Connectivity ( const CGeometry *  fine_grid)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the child grid (for multigrid).

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.

◆ SetPositive_ZArea()

virtual void CGeometry::SetPositive_ZArea ( CConfig *  config)
inlinevirtual

Sets area to be positive in Z direction.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMeshFEM, and CPhysicalGeometry.

◆ SetRCM_Ordering()

virtual void CGeometry::SetRCM_Ordering ( CConfig *  config)
inlinevirtual

Orders the RCM.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

◆ SetRestricted_GridVelocity()

virtual void CGeometry::SetRestricted_GridVelocity ( const CGeometry *  fine_grid)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometry of the fine mesh.

Reimplemented in CMultiGridGeometry.

◆ SetRotationalVelocity()

void CGeometry::SetRotationalVelocity ( const CConfig *  config,
bool  print = false 
)

Set cartesian grid velocity based on rotational speed and axis.

Parameters
[in]config- Definition of the particular problem.
[in]print- Display information on screen.

◆ SetSendReceive()

virtual void CGeometry::SetSendReceive ( const CConfig *  config)
inlinevirtual

A virtual member.

Parameters
[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.

◆ SetSensitivity() [1/2]

virtual void CGeometry::SetSensitivity ( CConfig *  config)
inlinevirtual

A virtual member.

Parameters
config- Config

Reimplemented in CPhysicalGeometry.

◆ SetSensitivity() [2/2]

virtual void CGeometry::SetSensitivity ( unsigned long  iPoint,
unsigned short  iDim,
su2double  val 
)
inlinevirtual

A virtual member.

Parameters
iPoint- Point
iDim- Dimension
val- Value of the sensitivity

Reimplemented in CPhysicalGeometry.

◆ SetShroudVelocity()

void CGeometry::SetShroudVelocity ( const CConfig *  config)

Set the rotational velocity of the points on the shroud markers to 0.

Parameters
[in]config- Definition of the particular problem.

◆ SetSpanAreaIn()

void CGeometry::SetSpanAreaIn ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the inflow area at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetSpanAreaOut()

void CGeometry::SetSpanAreaOut ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the outflow area at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetTangGridVelIn()

void CGeometry::SetTangGridVelIn ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the inflow tangential velocity at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetTangGridVelOut()

void CGeometry::SetTangGridVelOut ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the outflow tangential velocity at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetTecPlot()

virtual void CGeometry::SetTecPlot ( char  config_filename[MAX_STRING_SIZE],
bool  new_file 
)
inlinevirtual

A virtual member.

Parameters
[in]config_filename- Name of the file where the tecplot information is going to be stored.

Reimplemented in CPhysicalGeometry.

◆ SetTranslationalVelocity()

void CGeometry::SetTranslationalVelocity ( const CConfig *  config,
bool  print = false 
)

Set the translational velocity at each node.

Parameters
[in]config- Definition of the particular problem.
[in]print- Display information on screen.

◆ SetTurboRadiusIn()

void CGeometry::SetTurboRadiusIn ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the inflow radius at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetTurboRadiusOut()

void CGeometry::SetTurboRadiusOut ( su2double  value,
unsigned short  val_marker,
unsigned short  val_span 
)
inline

Set the value of the outflow radius at each span.

Parameters
[in]val_marker- marker turbo-performance value.
[in]val_span- span value.

◆ SetTurboVertex()

virtual void CGeometry::SetTurboVertex ( CConfig *  config,
unsigned short  val_iZone,
unsigned short  marker_flag,
bool  allocate 
)
inlinevirtual

Set vertices for turbomachinery problems.

Parameters
[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.

◆ SetVelocity()

void CGeometry::SetVelocity ( CConfig *  config,
bool  print 
)
inline

General interface for setting the velocity in the geometry during motion ramps.

Parameters
[in]config- config class
[in]ramp_flag- flag for type of ramp
[in]print- bool to print update to screen

◆ SetVertex() [1/2]

virtual void CGeometry::SetVertex ( const CConfig *  config)
inlinevirtual

Sets the vertices.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CPhysicalGeometry.

◆ SetVertex() [2/2]

virtual void CGeometry::SetVertex ( const CGeometry *  fine_grid,
const CConfig *  config 
)
inlinevirtual

A virtual member.

Parameters
[in]fine_grid- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented in CMultiGridGeometry, CPhysicalGeometry, and CMultiGridGeometry.

◆ SetWallDistance() [1/2]

virtual void CGeometry::SetWallDistance ( CADTElemClass *  WallADT,
const CConfig *  config,
unsigned short  iZone = numeric_limits<unsigned short>::max() 
)
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.

Parameters
[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.

◆ SetWallDistance() [2/2]

virtual void CGeometry::SetWallDistance ( su2double  val)
inlinevirtual

Set wall distances a specific value.

Parameters
[in]val- new value for the wall distance at all points.

Reimplemented in CMeshFEM_DG, and CPhysicalGeometry.

◆ SetWallVelocity()

void CGeometry::SetWallVelocity ( const CConfig *  config,
bool  print = false 
)

Set the translational/rotational velocity for all moving walls.

Parameters
[in]config- Definition of the particular problem.
[in]print- Display information on screen.

◆ TestGeometry()

void CGeometry::TestGeometry ( ) const

Create a file for testing the geometry.

◆ UpdateCustomBoundaryConditions()

void CGeometry::UpdateCustomBoundaryConditions ( CGeometry **  geometry_container,
CConfig *  config 
)

Update the multi-grid structure for the customized boundary conditions.

Parameters
geometry_container- Geometrical definition.
config- Definition of the particular problem.

◆ UpdateGeometry()

void CGeometry::UpdateGeometry ( CGeometry **  geometry_container,
CConfig *  config 
)
static

Update the multi-grid structure and the wall-distance.

Parameters
geometry_container- Geometrical definition.
config- Config

◆ UpdateTurboVertex()

virtual void CGeometry::UpdateTurboVertex ( CConfig *  config,
unsigned short  val_iZone,
unsigned short  marker_flag 
)
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.
[in]val_iZone- Zone of the problem
[in]marker_flag- Marker being used

Reimplemented in CPhysicalGeometry.

◆ VisualizeControlVolume()

virtual void CGeometry::VisualizeControlVolume ( const CConfig *  config) const
inlinevirtual

A virtual member.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CPhysicalGeometry.

Member Data Documentation

◆ Aspect_Ratio

vector<su2double> CGeometry::Aspect_Ratio

Measure of dual CV aspect ratio (max face area / min face area).

◆ AverageGridVel

su2double*** CGeometry::AverageGridVel
protected
Initial value:
{
nullptr}

Average boundary grid velocity at each span wise section for each marker.

◆ AverageNormal

su2double*** CGeometry::AverageNormal {nullptr}
protected

Average boundary normal at each span wise section for each marker.

◆ AverageTangGridVel

su2double** CGeometry::AverageTangGridVel
protected
Initial value:
{
nullptr}

Average tangential rotational speed at each span wise section for each marker.

◆ AverageTurboNormal

su2double*** CGeometry::AverageTurboNormal {nullptr}
protected

Average boundary normal at each span wise section for each marker in the turbomachinery frame of reference.

◆ beg_node

unsigned long* CGeometry::beg_node {nullptr}

Array containing the first node on each rank due to a linear partitioning by global index.

◆ bound

CPrimalGrid*** CGeometry::bound {nullptr}

Boundary vector (primal grid information).

◆ boundIsStraight

vector<bool> CGeometry::boundIsStraight

◆ bufD_P2PRecv

su2double* CGeometry::bufD_P2PRecv {nullptr}

Data structure for su2double point-to-point receive.

◆ bufD_P2PSend

su2double* CGeometry::bufD_P2PSend {nullptr}

Data structure for su2double point-to-point send.

◆ bufD_PeriodicRecv

su2double* CGeometry::bufD_PeriodicRecv {nullptr}

Data structure for su2double periodic receive.

◆ bufD_PeriodicSend

su2double* CGeometry::bufD_PeriodicSend {nullptr}

Data structure for su2double periodic send.

◆ bufS_P2PRecv

unsigned short* CGeometry::bufS_P2PRecv {nullptr}

Data structure for unsigned long point-to-point receive.

◆ bufS_P2PSend

unsigned short* CGeometry::bufS_P2PSend {nullptr}

Data structure for unsigned long point-to-point send.

◆ bufS_PeriodicRecv

unsigned short* CGeometry::bufS_PeriodicRecv {nullptr}

Data structure for unsigned long periodic receive.

◆ bufS_PeriodicSend

unsigned short* CGeometry::bufS_PeriodicSend {nullptr}

Data structure for unsigned long periodic send.

◆ CoarseGridColor

const ColMajorMatrix<uint8_t>& CGeometry::CoarseGridColor = CoarseGridColor_

Coarse grid levels, colorized.

◆ CoarseGridColor_

ColMajorMatrix<uint8_t> CGeometry::CoarseGridColor_
protected

Coarse grid levels, colorized.

◆ CustomBoundaryHeatFlux

su2double** CGeometry::CustomBoundaryHeatFlux {nullptr}
protected

◆ CustomBoundaryTemperature

su2double** CGeometry::CustomBoundaryTemperature {nullptr}
protected

◆ edgeColorGroupSize

unsigned long CGeometry::edgeColorGroupSize {1}
protected

Size of the edge groups within each color.

◆ edgeColoring

CCompressedSparsePatternUL CGeometry::edgeColoring
protected

Edge coloring structure for thread-based parallelization.

◆ edges

CEdge* CGeometry::edges {nullptr}

Edge vector (dual grid information).

◆ elem

CPrimalGrid** CGeometry::elem {nullptr}

Element vector (primal grid information).

◆ elemColorGroupSize

unsigned long CGeometry::elemColorGroupSize {1}
protected

Size of the element groups within each color.

◆ elemColoring

CCompressedSparsePatternUL CGeometry::elemColoring
protected

Element coloring structure for thread-based parallelization.

◆ end_node

unsigned long* CGeometry::end_node
Initial value:
{
nullptr}

Array containing the last node on each rank due to a linear partitioning by global index.

◆ FaceArea_plane

vector<vector<su2double> > CGeometry::FaceArea_plane
protected

Vector containing area/volume associated with new points appearing on a single plane.

◆ finiteElementLToUTranspMap

su2vector<su2uint> CGeometry::finiteElementLToUTranspMap
protected

FEM L-entry -> U-entry of its transpose.

◆ finiteElementPatternFill0

LDUSparsePattern CGeometry::finiteElementPatternFill0
protected

FEM sparsity with 0-fill (structural pattern).

◆ finiteElementPatternFillN

LDUSparsePattern CGeometry::finiteElementPatternFillN
protected

FEM sparsity with N-fill (e.g. for ILU-N).

◆ finiteElementUToLTranspMap

su2vector<su2uint> CGeometry::finiteElementUToLTranspMap
protected

FEM U-entry -> L-entry of its transpose.

◆ finiteVolumeLToUTranspMap

su2vector<su2uint> CGeometry::finiteVolumeLToUTranspMap
protected

FVM L-entry -> U-entry of its transpose.

◆ finiteVolumePatternFill0

LDUSparsePattern CGeometry::finiteVolumePatternFill0
protected

FVM sparsity with 0-fill (structural pattern).

◆ finiteVolumePatternFillN

LDUSparsePattern CGeometry::finiteVolumePatternFillN
protected

FVM sparsity with N-fill (e.g. for ILU-N).

◆ finiteVolumeUToLTranspMap

su2vector<su2uint> CGeometry::finiteVolumeUToLTranspMap
protected

FVM U-entry -> L-entry of its transpose.

◆ Global_nElem

unsigned long CGeometry::Global_nElem {0}
protected

Total number of elements in a simulation across all processors (all types).

◆ Global_nelem_edge

unsigned long CGeometry::Global_nelem_edge {0}
protected

Total number of edges in the mesh across all processors.

◆ Global_nelem_edge_bound

unsigned long CGeometry::Global_nelem_edge_bound {0}
protected

Total number of edges on the mesh boundaries across all processors.

◆ Global_nelem_hexa

unsigned long CGeometry::Global_nelem_hexa {0}
protected

Total number of hexahedra in the mesh across all processors.

◆ Global_nelem_prism

unsigned long CGeometry::Global_nelem_prism {0}
protected

Total number of prisms in the mesh across all processors.

◆ Global_nelem_pyramid

unsigned long CGeometry::Global_nelem_pyramid {0}
protected

Total number of pyramids in the mesh across all processors.

◆ Global_nelem_quad

unsigned long CGeometry::Global_nelem_quad {0}
protected

Total number of quadrangles in the mesh across all processors.

◆ Global_nelem_quad_bound

unsigned long CGeometry::Global_nelem_quad_bound {0}
protected

Total number of quads on the mesh boundaries across all processors.

◆ Global_nelem_tetra

unsigned long CGeometry::Global_nelem_tetra {0}
protected

Total number of tetrahedra in the mesh across all processors.

◆ Global_nelem_triangle

unsigned long CGeometry::Global_nelem_triangle {0}
protected

Total number of triangles in the mesh across all processors.

◆ Global_nelem_triangle_bound

unsigned long CGeometry::Global_nelem_triangle_bound
protected
Initial value:
{
0}

Total number of triangles on the mesh boundaries across all processors.

◆ Global_nElemDomain

unsigned long CGeometry::Global_nElemDomain
protected
Initial value:
{
0}

Total number of elements in a simulation across all processors (excluding halos).

◆ Global_nPoint

unsigned long CGeometry::Global_nPoint {0}
protected

Total number of nodes in a simulation across all processors (including halos).

◆ Global_nPointDomain

unsigned long CGeometry::Global_nPointDomain
protected
Initial value:
{
0}

Total number of nodes in a simulation across all processors (excluding halos).

◆ Global_to_Local_Elem

unordered_map<unsigned long, unsigned long> CGeometry::Global_to_Local_Elem

Mapping of global to local index for elements.

◆ lineletInfo

CLineletInfo CGeometry::lineletInfo
mutableprotected

◆ Local_Marker_PeriodicRecv

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.

◆ Local_Marker_PeriodicSend

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.

◆ Local_Point_P2PRecv

unsigned long * CGeometry::Local_Point_P2PRecv {nullptr}

Data structure holding the local index of all vertices to be received in point-to-point comms.

◆ Local_Point_P2PSend

unsigned long* CGeometry::Local_Point_P2PSend {nullptr}

Data structure holding the local index of all vertices to be sent in point-to-point comms.

◆ Local_Point_PeriodicRecv

unsigned long * CGeometry::Local_Point_PeriodicRecv {nullptr}

Data structure holding the local index of all vertices to be received in periodic comms.

◆ Local_Point_PeriodicSend

unsigned long* CGeometry::Local_Point_PeriodicSend
Initial value:
{
nullptr}

Data structure holding the local index of all vertices to be sent in periodic comms.

◆ Marker_All_SendRecv

short* CGeometry::Marker_All_SendRecv {nullptr}
protected

MPI Marker.

◆ Max_GlobalPoint

unsigned long CGeometry::Max_GlobalPoint {0}
protected

Greater global point in the domain local structure.

◆ MaxAngularCoord

su2double** CGeometry::MaxAngularCoord {nullptr}
protected

Max angular pitch at each span wise section for each marker.

◆ maxCountPerPeriodicPoint

int CGeometry::maxCountPerPeriodicPoint {0}

Maximum number of pieces of data sent per vertex in periodic comms.

◆ maxCountPerPoint

int CGeometry::maxCountPerPoint {0}

Maximum number of pieces of data sent per vertex in point-to-point comms.

◆ MGLevel

unsigned short CGeometry::MGLevel {0}
protected

The mesh level index for the current geometry container.

◆ MinAngularCoord

su2double** CGeometry::MinAngularCoord {nullptr}
protected

Max angular pitch at each span wise section for each marker.

◆ MinRelAngularCoord

su2double** CGeometry::MinRelAngularCoord
protected
Initial value:
{
nullptr}

Min relative angular coord at each span wise section for each marker.

◆ nCommLevel

unsigned short CGeometry::nCommLevel {0}
protected

Number of non-blocking communication levels.

◆ nDim

unsigned short CGeometry::nDim {0}
protected

Number of dimension of the problem.

◆ nEdge

unsigned long CGeometry::nEdge {0}
protected

Number of edges of the mesh.

◆ Neighbors_P2PRecv

int* CGeometry::Neighbors_P2PRecv
Initial value:
{
nullptr}

Data structure holding the ranks of the neighbors for point-to-point recv comms.

◆ Neighbors_P2PSend

int* CGeometry::Neighbors_P2PSend
Initial value:
{
nullptr}

Data structure holding the ranks of the neighbors for point-to-point send comms.

◆ Neighbors_PeriodicRecv

int* CGeometry::Neighbors_PeriodicRecv
Initial value:
{
nullptr}

Data structure holding the ranks of the neighbors for periodic recv comms.

◆ Neighbors_PeriodicSend

int* CGeometry::Neighbors_PeriodicSend
Initial value:
{
nullptr}

Data structure holding the ranks of the neighbors for periodic send comms.

◆ nElem

unsigned long CGeometry::nElem {0}
protected

Number of elements of the mesh.

◆ nElem_Bound

unsigned long* CGeometry::nElem_Bound {nullptr}

Number of elements of the boundary.

◆ nelem_edge

unsigned long CGeometry::nelem_edge {0}
protected

Number of edges in the mesh.

◆ nelem_edge_bound

unsigned long CGeometry::nelem_edge_bound {0}
protected

Number of edges on the mesh boundaries.

◆ nelem_hexa

unsigned long CGeometry::nelem_hexa {0}
protected

Number of hexahedra in the mesh.

◆ nelem_prism

unsigned long CGeometry::nelem_prism {0}
protected

Number of prisms in the mesh.

◆ nelem_pyramid

unsigned long CGeometry::nelem_pyramid {0}
protected

Number of pyramids in the mesh.

◆ nelem_quad

unsigned long CGeometry::nelem_quad {0}
protected

Number of quadrangles in the mesh.

◆ nelem_quad_bound

unsigned long CGeometry::nelem_quad_bound {0}
protected

Number of quads on the mesh boundaries.

◆ nelem_tetra

unsigned long CGeometry::nelem_tetra {0}
protected

Number of tetrahedra in the mesh.

◆ nelem_triangle

unsigned long CGeometry::nelem_triangle {0}
protected

Number of triangles in the mesh.

◆ nelem_triangle_bound

unsigned long CGeometry::nelem_triangle_bound {0}
protected

Number of triangles on the mesh boundaries.

◆ nFace

unsigned long CGeometry::nFace {0}
protected

Number of faces of the mesh.

◆ nMarker

unsigned short CGeometry::nMarker {0}
protected

Number of different markers of the mesh.

◆ nNonconvexElements

unsigned long CGeometry::nNonconvexElements {0}
protected

Number of nonconvex elements in the mesh.

◆ nodes

CPoint* CGeometry::nodes {nullptr}

Node vector (dual grid information).

◆ nP2PRecv

int CGeometry::nP2PRecv {0}

Number of receives during point-to-point comms.

◆ nP2PSend

int CGeometry::nP2PSend {0}

Number of sends during point-to-point comms.

◆ nPeriodicRecv

int CGeometry::nPeriodicRecv {0}

Number of receives during periodic comms.

◆ nPeriodicSend

int CGeometry::nPeriodicSend {0}

Number of sends during periodic comms.

◆ nPoint

unsigned long CGeometry::nPoint {0}
protected

Number of points of the mesh.

◆ nPoint_P2PRecv

int* CGeometry::nPoint_P2PRecv
Initial value:
{
nullptr}

Data structure holding number of vertices for each recv in point-to-point comms.

◆ nPoint_P2PSend

int* CGeometry::nPoint_P2PSend
Initial value:
{
nullptr}

Data structure holding number of vertices for each send in point-to-point comms.

◆ nPoint_PeriodicRecv

int* CGeometry::nPoint_PeriodicRecv
Initial value:
{
nullptr}

Data structure holding number of vertices for each recv in periodic comms.

◆ nPoint_PeriodicSend

int* CGeometry::nPoint_PeriodicSend
Initial value:
{
nullptr}

Data structure holding number of vertices for each send in periodic comms.

◆ nPointCumulative

unsigned long* CGeometry::nPointCumulative {nullptr}

Cumulative storage array containing the total number of points on all prior ranks in the linear partitioning.

◆ nPointDomain

unsigned long CGeometry::nPointDomain {0}
protected

Number of real points of the mesh.

◆ nPointGhost

unsigned long CGeometry::nPointGhost {0}
protected

Number of ghost points of the mesh.

◆ nPointLinear

unsigned long* CGeometry::nPointLinear {nullptr}

Array containing the total number of nodes on each rank due to a linear partioning by global index.

◆ nSpanSectionsByMarker

unsigned short* CGeometry::nSpanSectionsByMarker {nullptr}
protected

Number of Span wise section for each turbo marker, indexed by marker. Needed for deallocation.

◆ nSpanWiseSections

unsigned short* CGeometry::nSpanWiseSections
protected
Initial value:
{
nullptr}

Number of Span wise section for each turbo marker, indexed by inflow/outflow.

◆ nTotVertexSpan

unsigned long** CGeometry::nTotVertexSpan {nullptr}
protected

number of vertexes at each span wise section for each marker.

◆ nTurboPerf

unsigned short CGeometry::nTurboPerf {0}
protected

Number of Span wise section for each turbo marker.

◆ nVertex

unsigned long* CGeometry::nVertex {nullptr}

Number of vertex for each marker.

◆ nVertexSpan

long** CGeometry::nVertexSpan {nullptr}
protected

number of vertexes for span wise section for each marker.

◆ nVertexSpanMax

unsigned long CGeometry::nVertexSpanMax[3]
protected
Initial value:
= {
0}

max number of vertexes for each span section for each marker flag.

◆ nZone

unsigned short CGeometry::nZone {0}
protected

Number of zones in the problem.

◆ Orthogonality

vector<su2double> CGeometry::Orthogonality

Measure of dual CV orthogonality angle (0 to 90 deg., 90 being best).

◆ P2PRecv2Neighbor

map<int, int> CGeometry::P2PRecv2Neighbor

Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point recv comms.

◆ P2PSend2Neighbor

map<int, int> CGeometry::P2PSend2Neighbor

Data structure holding the reverse mapping of the ranks of the neighbors for point-to-point send comms.

◆ PeriodicRecv2Neighbor

map<int, int> CGeometry::PeriodicRecv2Neighbor

Data structure holding the reverse mapping of the ranks of the neighbors for periodic recv comms.

◆ PeriodicSend2Neighbor

map<int, int> CGeometry::PeriodicSend2Neighbor

Data structure holding the reverse mapping of the ranks of the neighbors for periodic send comms.

◆ Plane_points

vector<vector<unsigned long> > CGeometry::Plane_points
protected

Vector containing points appearing on a single plane.

◆ rank

const int CGeometry::rank {MASTER_NODE}
protected

MPI Rank.

◆ req_P2PRecv

SU2_MPI::Request* CGeometry::req_P2PRecv {nullptr}

Data structure for point-to-point recv requests.

◆ req_P2PSend

SU2_MPI::Request* CGeometry::req_P2PSend {nullptr}

Data structure for point-to-point send requests.

◆ req_PeriodicRecv

SU2_MPI::Request* CGeometry::req_PeriodicRecv {nullptr}

Data structure for periodic recv requests.

◆ req_PeriodicSend

SU2_MPI::Request* CGeometry::req_PeriodicSend {nullptr}

Data structure for periodic send requests.

◆ reqP_P2PRecv

PassiveRequest* CGeometry::reqP_P2PRecv {nullptr}

Data structure for point-to-point recv requests.

◆ reqP_P2PSend

PassiveRequest* CGeometry::reqP_P2PSend {nullptr}

Data structure for point-to-point send requests.

◆ size

const int CGeometry::size {SINGLE_NODE}
protected

MPI Size.

◆ SpanArea

su2double** CGeometry::SpanArea {nullptr}
protected

Area at each span wise section for each marker.

◆ SpanAreaIn

su2double** CGeometry::SpanAreaIn {nullptr}
protected

◆ SpanAreaOut

su2double** CGeometry::SpanAreaOut {nullptr}
protected

Area at each span wise section for each turbomachinery marker.

◆ SpanWiseValue

su2double** CGeometry::SpanWiseValue {nullptr}
protected

Span wise values for each turbo marker.

◆ SurfaceAreaCfgFile

vector<su2double> CGeometry::SurfaceAreaCfgFile

Total Surface area for all markers.

◆ symmetryNormals

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.

◆ Tag_to_Marker

string* CGeometry::Tag_to_Marker {nullptr}

Names of boundary markers.

Corrected normals on nodes with shared symmetry markers.

◆ TangGridVelIn

su2double** CGeometry::TangGridVelIn {nullptr}
protected

◆ TangGridVelOut

su2double** CGeometry::TangGridVelOut {nullptr}
protected

Average tangential rotational speed at each span wise section for each turbomachinery marker.

◆ TurboRadius

su2double** CGeometry::TurboRadius {nullptr}
protected

Radius at each span wise section for each marker.

◆ TurboRadiusIn

su2double** CGeometry::TurboRadiusIn {nullptr}
protected

◆ TurboRadiusOut

su2double** CGeometry::TurboRadiusOut {nullptr}
protected

Radius at each span wise section for each turbomachinery marker.

◆ turbovertex

CTurboVertex**** CGeometry::turbovertex
Initial value:
{
nullptr}

Boundary Vertex vector ordered for turbomachinery calculation(dual grid information).

◆ vertex

CVertex*** CGeometry::vertex {nullptr}

Boundary Vertex vector (dual grid information).

◆ Volume_Ratio

vector<su2double> CGeometry::Volume_Ratio

Measure of dual CV volume ratio (max sub-element volume / min sub-element volume).

◆ Xcoord_plane

vector<vector<su2double> > CGeometry::Xcoord_plane
protected

Vector containing x coordinates of new points appearing on a single plane.

◆ XCoordList

vector<su2double> CGeometry::XCoordList
protected

Vector containing points appearing on a single plane.

◆ Ycoord_plane

vector<vector<su2double> > CGeometry::Ycoord_plane
protected

Vector containing y coordinates of new points appearing on a single plane.

◆ Zcoord_plane

vector<vector<su2double> > CGeometry::Zcoord_plane
protected

Vector containing z coordinates of new points appearing on a single plane.


The documentation for this class was generated from the following files: