|
SU2
|
Class for defining a periodic boundary condition. More...
#include <geometry_structure.hpp>
Public Member Functions | |
| CPeriodicGeometry (CGeometry *geometry, CConfig *config) | |
| Constructor of the class. More... | |
| ~CPeriodicGeometry (void) | |
| Destructor of the class. | |
| void | SetPeriodicBoundary (CGeometry *geometry, CConfig *config) |
| Set the periodic boundaries of the grid. More... | |
| void | SetTecPlot (char config_filename[MAX_STRING_SIZE], bool new_file) |
| Set the Tecplot file. More... | |
| void | SetMeshFile (CGeometry *geometry, CConfig *config, string val_mesh_out_filename) |
| Write the .su2 file. More... | |
Public Member Functions inherited from CGeometry | |
| CGeometry (void) | |
| Constructor of the class. | |
| virtual | ~CGeometry (void) |
| Destructor of the class. | |
| unsigned short | GetnDim (void) |
| Get number of coordinates. More... | |
| unsigned short | GetnZone (void) |
| Get number of zones. More... | |
| unsigned long | GetnPoint (void) |
| Get number of points. More... | |
| unsigned long | GetnPointDomain (void) |
| Get number of real points (that belong to the domain). More... | |
| unsigned long | GetnLine (void) |
| Get number of elements. More... | |
| unsigned long | GetnElem (void) |
| Get number of elements. More... | |
| unsigned long | GetnEdge (void) |
| Get number of edges. More... | |
| unsigned short | GetnMarker (void) |
| Get number of markers. More... | |
| unsigned long | GetnVertex (unsigned short val_marker) |
| Get number of vertices. More... | |
| long | FindEdge (unsigned long first_point, unsigned long second_point) |
| Get the edge index from using the nodes of the edge. More... | |
| bool | CheckEdge (unsigned long first_point, unsigned long second_point) |
| Get the edge index from using the nodes of the edge. More... | |
| su2double | Point2Plane_Distance (su2double *Coord, su2double *iCoord, su2double *jCoord, su2double *kCoord) |
| Get the distance between a plane (defined by three point) and a point. More... | |
| void | TestGeometry (void) |
| Create a file for testing the geometry. | |
| void | SetnMarker (unsigned short val_nmarker) |
| A virtual member. More... | |
| void | SetnDim (unsigned short val_nDim) |
| Set the number of dimensions of the problem. More... | |
| string | GetMarker_Tag (unsigned short val_marker) |
| Get the index of a marker. More... | |
| void | SetMarker_Tag (unsigned short val_marker, string val_index) |
| Set index of a marker. More... | |
| void | SetnElem_Bound (unsigned short val_marker, unsigned long val_nelem_bound) |
| Set the number of boundary elements. More... | |
| void | SetnPoint (unsigned long val_npoint) |
| Set the number of grid points. More... | |
| void | SetnPointDomain (unsigned long val_npoint) |
| Set the number of grid points in the domain. More... | |
| void | SetnElem (unsigned long val_nelem) |
| Set the number of grid elements. More... | |
| unsigned long | GetnElem_Bound (unsigned short val_marker) |
| Get the number of boundary elements. More... | |
| unsigned long | GetMax_GlobalPoint (void) |
| 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) |
| A virtual function. More... | |
| virtual void | ComputeWall_Distance (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetPositive_ZArea (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetPoint_Connectivity (void) |
| A virtual member. | |
| virtual void | SetRCM_Ordering (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetElement_Connectivity (void) |
| A virtual member. | |
| void | SetEdges (void) |
| A virtual member. | |
| void | SetFaces (void) |
| A virtual member. | |
| virtual void | SetBoundVolume (void) |
| A virtual member. | |
| virtual void | SetVertex (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetVertex (void) |
| A virtual member. | |
| virtual void | SetCoord_CG (void) |
| A virtual member. | |
| virtual void | SetControlVolume (CConfig *config, unsigned short action) |
| A virtual member. More... | |
| virtual void | VisualizeControlVolume (CConfig *config, unsigned short action) |
| A virtual member. More... | |
| virtual void | MatchNearField (CConfig *config) |
| A virtual member. More... | |
| virtual void | MatchActuator_Disk (CConfig *config) |
| A virtual member. More... | |
| virtual void | MatchInterface (CConfig *config) |
| A virtual member. More... | |
| virtual void | MatchZone (CConfig *config, CGeometry *geometry_donor, CConfig *config_donor, unsigned short val_iZone, unsigned short val_nZone) |
| A virtual member. More... | |
| virtual void | SetBoundControlVolume (CConfig *config, unsigned short action) |
| A virtual member. More... | |
| virtual void | SetBoundTecPlot (char mesh_filename[MAX_STRING_SIZE], bool new_file, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetBoundSTL (char mesh_filename[MAX_STRING_SIZE], bool new_file, CConfig *config) |
| A virtual member. More... | |
| virtual void | Check_IntElem_Orientation (CConfig *config) |
| A virtual member. More... | |
| virtual void | Check_BoundElem_Orientation (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetColorGrid (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetColorGrid_Parallel (CConfig *config) |
| A virtual member. More... | |
| virtual void | DivideConnectivity (CConfig *config, unsigned short Elem_Type) |
| A virtual member. More... | |
| virtual void | SetPeriodicBoundary (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetSendReceive (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetBoundaries (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetCoord (CGeometry *geometry) |
| A virtual member. More... | |
| virtual void | SetCoord_Smoothing (unsigned short val_nSmooth, su2double val_smooth_coeff, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetPoint_Connectivity (CGeometry *geometry) |
| A virtual member. More... | |
| virtual void | SetVertex (CGeometry *geometry, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetControlVolume (CConfig *config, CGeometry *geometry, unsigned short action) |
| A virtual member. More... | |
| virtual void | SetBoundControlVolume (CConfig *config, CGeometry *geometry, unsigned short action) |
| A virtual member. More... | |
| virtual void | SetMeshFile (CConfig *config, string val_mesh_out_filename) |
| A virtual member. More... | |
| virtual void | SetBoundSensitivity (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRotationalVelocity (CConfig *config, unsigned short val_iZone) |
| A virtual member. More... | |
| virtual void | SetTranslationalVelocity (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetGridVelocity (CConfig *config, unsigned long iter) |
| A virtual member. More... | |
| virtual void | Set_MPI_Coord (CConfig *config) |
| A virtual member. More... | |
| virtual void | Set_MPI_GridVel (CConfig *config) |
| A virtual member. More... | |
| virtual void | Set_MPI_OldCoord (CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRestricted_GridVelocity (CGeometry *fine_mesh, CConfig *config) |
| A virtual member. More... | |
| void | ComputeSurf_Curvature (CConfig *config) |
| Find and store all vertices on a sharp corner in the geometry. More... | |
| void | ComputeAirfoil_Section (su2double *Plane_P0, su2double *Plane_Normal, su2double MinXCoord, su2double MaxXCoord, 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. More... | |
| virtual su2double | Compute_MaxThickness (su2double *Plane_P0, su2double *Plane_Normal, unsigned short iSection, 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, unsigned short iSection, 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, unsigned short iSection, 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, unsigned short iSection, su2double Location, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual su2double | Compute_Area (su2double *Plane_P0, su2double *Plane_Normal, unsigned short iSection, CConfig *config, vector< su2double > &Xcoord_Airfoil, vector< su2double > &Ycoord_Airfoil, vector< su2double > &Zcoord_Airfoil) |
| A virtual member. | |
| virtual void | Compute_LeadingTrailing (su2double *LeadingEdge, su2double *TrailingEdge, su2double *Plane_P0, su2double *Plane_Normal, unsigned short iSection, 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_MaxChord, su2double &Wing_MinToC, su2double &Wing_MaxTwist, su2double &Wing_MaxCurvature, su2double &Wing_MaxDihedral) |
| A virtual member. | |
| virtual void | FindNormal_Neighbor (CConfig *config) |
| A virtual member. More... | |
| virtual long | GetGlobal_to_Local_Point (long val_ipoint) |
| A virtual member. More... | |
| virtual unsigned short | GetGlobal_to_Local_Marker (unsigned short val_imarker) |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nPoint () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nPointDomain () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElem () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemDomain () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemLine () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemTria () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemQuad () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemTetr () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemHexa () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemPris () |
| A virtual member. More... | |
| virtual unsigned long | GetGlobal_nElemPyra () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemLine () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemTria () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemQuad () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemTetr () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemHexa () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemPris () |
| A virtual member. More... | |
| virtual unsigned long | GetnElemPyra () |
| A virtual member. More... | |
| virtual void | SetGeometryPlanes (CConfig *config) |
| Indentify geometrical planes in the mesh. | |
| virtual vector< su2double > | GetGeometryPlanes () |
| Get geometrical planes in the mesh. | |
| virtual vector< vector< su2double > > | GetXCoord () |
| Get x coords of geometrical planes in the mesh. | |
| virtual vector< vector< su2double > > | GetYCoord () |
| Get y coords of geometrical planes in the mesh. | |
| virtual vector< vector< su2double > > | GetZCoord () |
| Get z coords of geometrical planes in the mesh. | |
| virtual vector< vector< unsigned long > > | GetPlanarPoints () |
| Get all points on a geometrical plane in the mesh. | |
| void | SetSpline (vector< su2double > &x, vector< su2double > &y, unsigned long n, su2double yp1, su2double ypn, vector< su2double > &y2) |
| Given arrays x[1..n] and y[1..n] containing a tabulated function, i.e., yi = f(xi), with x1 < x2 < . . . < xN , and given values yp1 and ypn for the first derivative of the interpolating function at points 1 and n, respectively, this routine returns an array y2[1..n] that contains the second derivatives of the interpolating function at the tabulated points xi. If yp1 and/or ypn are equal to 1 × 1030 or larger, the routine is signaled to set the corresponding boundary condition for a natural spline, with zero second derivative on that boundary. Numerical Recipes: The Art of Scientific Computing, Third Edition in C++. | |
| su2double | GetSpline (vector< su2double > &xa, vector< su2double > &ya, vector< su2double > &y2a, unsigned long n, su2double x) |
| Given the arrays xa[1..n] and ya[1..n], which tabulate a function (with the xai’s in order), and given the array y2a[1..n], which is the output from spline above, and given a value of x, this routine returns a cubic-spline interpolated value y. Numerical Recipes: The Art of Scientific Computing, Third Edition in C++. More... | |
| bool | SegmentIntersectsPlane (su2double *Segment_P0, su2double *Segment_P1, su2double Variable_P0, su2double Variable_P1, su2double *Plane_P0, su2double *Plane_Normal, su2double *Intersection, su2double &Variable_Interp) |
| Compute the intersection between a segment and a plane. More... | |
| bool | RayIntersectsTriangle (su2double orig[3], su2double dir[3], su2double vert0[3], su2double vert1[3], su2double vert2[3], su2double *intersect) |
| Ray Intersects Triangle (Moller and Trumbore algorithm) | |
| bool | SegmentIntersectsTriangle (su2double point0[3], su2double point1[3], su2double vert0[3], su2double vert1[3], su2double vert2[3]) |
| Segment Intersects Triangle. | |
| bool | SegmentIntersectsLine (su2double point0[2], su2double point1[2], su2double vert0[2], su2double vert1[2]) |
| Segment Intersects Line (for 2D FFD Intersection) | |
| void | RegisterCoordinates (CConfig *config) |
| Register the coordinates of the mesh nodes. More... | |
| void | UpdateGeometry (CGeometry **geometry_container, CConfig *config) |
| Update the multi-grid structure and the wall-distance. More... | |
| virtual void | SetSensitivity (CConfig *config) |
| A virtual member. More... | |
| virtual su2double | GetSensitivity (unsigned long iPoint, unsigned short iDim) |
| A virtual member. More... | |
| virtual void | SetSensitivity (unsigned long iPoint, unsigned short iDim, su2double val) |
| A virtual member. More... | |
| virtual void | Check_Periodicity (CConfig *config) |
| A virtual member. More... | |
Additional Inherited Members | |
Public Attributes inherited from CGeometry | |
| unsigned long * | nElem_Bound |
| Number of elements of the boundary. | |
| string * | Tag_to_Marker |
| If you know the index of the boundary (depend of the grid definition), it gives you the maker (where the boundary is stored from 0 to boundaries). | |
| CPrimalGrid ** | elem |
| Element vector (primal grid information). | |
| CPrimalGrid ** | face |
| Face vector (primal grid information). | |
| CPrimalGrid *** | bound |
| Boundary vector (primal grid information). | |
| CPoint ** | node |
| Node vector (dual grid information). | |
| CEdge ** | edge |
| Edge vector (dual grid information). | |
| CVertex *** | vertex |
| Boundary Vertex vector (dual grid information). | |
| unsigned long * | nVertex |
| Number of vertex for each marker. | |
| unsigned short | nCommLevel |
| Number of non-blocking communication levels. | |
| vector< unsigned long > | PeriodicPoint [MAX_NUMBER_PERIODIC][2] |
| PeriodicPoint[Periodic bc] and return the point that must be sent [0], and the image point in the periodic bc[1]. | |
| vector< unsigned long > | PeriodicElem [MAX_NUMBER_PERIODIC] |
| PeriodicElem[Periodic bc] and return the elements that must be sent. | |
| short * | Marker_All_SendRecv |
| 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. | |
| CPrimalGrid *** | newBound |
| Boundary vector for new periodic elements (primal grid information). | |
| unsigned long * | nNewElem_Bound |
| Number of new periodic elements of the boundary. | |
| map< unsigned long, unsigned long > | Global_to_Local_Elem |
| unsigned long | xadj_size |
| unsigned long | adjacency_size |
| unsigned long * | starting_node |
| unsigned long * | ending_node |
| unsigned long * | npoint_procs |
Protected Attributes inherited from CGeometry | |
| unsigned long | nPoint |
| Number of points of the mesh. | |
| unsigned long | nPointDomain |
| Number of real points of the mesh. | |
| unsigned long | nPointGhost |
| Number of ghost points of the mesh. | |
| unsigned long | nPointNode |
| Size of the node array allocated to hold CPoint objects. | |
| unsigned long | Global_nPoint |
| 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 |
| Number of elements of the mesh. | |
| unsigned long | Global_nElem |
| 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 |
| Number of edges of the mesh. | |
| unsigned long | nFace |
| Number of faces of the mesh. | |
| unsigned long | nelem_edge |
| Number of edges in the mesh. | |
| unsigned long | Global_nelem_edge |
| Total number of edges in the mesh across all processors. | |
| unsigned long | nelem_triangle |
| Number of triangles in the mesh. | |
| unsigned long | Global_nelem_triangle |
| Total number of triangles in the mesh across all processors. | |
| unsigned long | nelem_quad |
| Number of quadrangles in the mesh. | |
| unsigned long | Global_nelem_quad |
| Total number of quadrangles in the mesh across all processors. | |
| unsigned long | nelem_tetra |
| Number of tetrahedra in the mesh. | |
| unsigned long | Global_nelem_tetra |
| Total number of tetrahedra in the mesh across all processors. | |
| unsigned long | nelem_hexa |
| Number of hexahedra in the mesh. | |
| unsigned long | Global_nelem_hexa |
| Total number of hexahedra in the mesh across all processors. | |
| unsigned long | nelem_prism |
| Number of prisms in the mesh. | |
| unsigned long | Global_nelem_prism |
| Total number of prisms in the mesh across all processors. | |
| unsigned long | nelem_pyramid |
| Number of pyramids in the mesh. | |
| unsigned long | Global_nelem_pyramid |
| Total number of pyramids in the mesh across all processors. | |
| unsigned long | nelem_edge_bound |
| Number of edges on the mesh boundaries. | |
| unsigned long | Global_nelem_edge_bound |
| Total number of edges on the mesh boundaries across all processors. | |
| unsigned long | nelem_triangle_bound |
| 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 |
| Number of quads on the mesh boundaries. | |
| unsigned long | Global_nelem_quad_bound |
| Total number of quads on the mesh boundaries across all processors. | |
| unsigned short | nDim |
| Number of dimension of the problem. | |
| unsigned short | nZone |
| Number of zones in the problem. | |
| unsigned short | nMarker |
| Number of different markers of the mesh. | |
| unsigned long | Max_GlobalPoint |
| Greater global point in the domain local structure. | |
Class for defining a periodic boundary condition.
Constructor of the class.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
|
virtual |
Write the .su2 file.
| [in] | config | - Definition of the particular problem. |
| [in] | val_mesh_out_filename | - Name of the output file. |
Reimplemented from CGeometry.
Set the periodic boundaries of the grid.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Reimplemented from CGeometry.
|
virtual |
Set the Tecplot file.
| [in] | config_filename | - Name of the file where the Tecplot information is going to be stored. |
Reimplemented from CGeometry.
1.8.12