Documentation 6b54b78464
Loading...
Searching...
No Matches
CDummyGeometry Class Referencefinal

Class for defining a geometry that does not contain any points/elements. Can be used for initializing other classes that depend on the geometry without going through the time-consuming mesh initialization and paritioning. More...

#include <CDummyGeometry.hpp>

Inheritance diagram for CDummyGeometry:
[legend]

Public Member Functions

 CDummyGeometry (CConfig *config)
 Constructor of the class.
 
- Public Member Functions inherited from CGeometry
 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.
 

Additional Inherited Members

- Public Types inherited from CGeometry
using PassiveRequest = typename SelectMPIWrapper< passivedouble >::W::Request
 
- Static Public Member Functions inherited from CGeometry
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 inherited from CGeometry
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 inherited from CGeometry
enum  : size_t { OMP_MIN_SIZE = 32 }
 
enum  : size_t { MAXNDIM = 3 }
 
- Protected Attributes inherited from CGeometry
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

Class for defining a geometry that does not contain any points/elements. Can be used for initializing other classes that depend on the geometry without going through the time-consuming mesh initialization and paritioning.

Author
T. Albring

Constructor & Destructor Documentation

◆ CDummyGeometry()

CDummyGeometry::CDummyGeometry ( CConfig *  config)

Constructor of the class.

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

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