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

Class for vertex definition (equivalent to edges, but for the boundaries). More...

#include <CVertex.hpp>

Inheritance diagram for CVertex:
[legend]

Public Member Functions

 CVertex (unsigned long val_point, unsigned short val_nDim)
 Constructor of the class.
 
unsigned short GetnNodes () const override
 Get the number of nodes of a vertex.
 
unsigned long GetNode () const
 Get the node of the vertex.
 
void SetNodes_Coord (const su2double *val_coord_Edge_CG, const su2double *val_coord_FaceElem_CG, const su2double *val_coord_Elem_CG) override
 Set the face that correspond to a vertex.
 
void SetNodes_Coord (const su2double *val_coord_Edge_CG, const su2double *val_coord_Elem_CG) override
 
void GetNormal (su2double *val_normal) const override
 Copy the the normal vector of a face.
 
su2double * GetNormal () override
 Get the normal to a face of the control volume asociated with a vertex.
 
su2double GetNormal (unsigned short iDim) const
 Get the ith component of the normal.
 
void SetZeroValues () override
 Initialize normal vector.
 
void SetAuxVar (su2double val_auxvar)
 Set the value of an auxiliary variable for gradient computation.
 
su2double GetAuxVar () const
 Get the value of an auxiliary variable for gradient computation.
 
void AddAuxVar (su2double val_auxvar)
 Add the value of an auxiliary variable for gradient computation.
 
void SetNormal (const su2double *val_face_normal) override
 Set the normal vector.
 
void AddNormal (const su2double *val_face_normal) override
 Add a vector to the normal vector.
 
void SetVarCoord (const su2double *val_varcoord)
 Set the value of the coordinate variation due to a surface modification.
 
void AddVarCoord (const su2double *val_varcoord)
 Add the value of the coordinate variation due to a surface modification.
 
su2double * GetVarCoord ()
 Get the value of the coordinate variation due to a surface modification.
 
void SetCoord (const su2double *val_coord) override
 Set the value of the cartesian coordinate for the vertex.
 
su2double * GetCoord () override
 Get the value of the cartesian coordinate for the vertex.
 
su2double GetCoord (unsigned short val_dim) const
 Get the value of the cartesian coordinate for the vertex.
 
void SetRotation_Type (short val_rotation_type)
 Set the type of rotation associated to the vertex.
 
short GetRotation_Type () const
 Get the type of rotation associated to the vertex.
 
void SetDonorPoint (long val_periodicpoint, long val_processor)
 
void SetDonorPoint (long val_periodicpoint, long val_periodicglobalindex, long val_periodicvertex, long val_periodicmarker, long val_processor)
 
void SetDonorPoint (long val_periodicpoint, long val_processor, long val_globalindex)
 
void SetActDisk_Perimeter (bool val_actdisk_perimeter)
 
long GetDonorPoint () const
 Get the value of the periodic point of a vertex.
 
long GetDonorMarker () const
 Get the value of the periodic point of a vertex.
 
long GetDonorVertex () const
 Get the value of the periodic point of a vertex.
 
long GetDonorGlobalIndex () const
 Get the value of the periodic point of a vertex.
 
long GetGlobalDonorPoint () const
 Get the value of the periodic point of a vertex.
 
long GetDonorProcessor () const
 Get the value of the periodic point of a vertex.
 
long * GetPeriodicPointDomain ()
 Get the value of the periodic point of a vertex, and its somain.
 
bool GetActDisk_Perimeter () const
 Get the value of the periodic point of a vertex, and its somain.
 
void SetBasisFunction (unsigned short val_node, su2double val_basis)
 Set the finite element basis functions needed for interpolation.
 
su2double GetBasisFunction (unsigned short val_node)
 Get the finite element basis functions needed for interpolation.
 
void SetNormal_Neighbor (unsigned long val_Normal_Neighbor)
 Set the index of the closest neighbor to a point on the boundaries.
 
unsigned long GetNormal_Neighbor () const
 Get the value of the closest neighbor.
 
void SetNearestNeighborDistance (const su2double &val)
 Set the distance of the nearest internal neighbor that is not a wall.
 
const su2double & GetNearestNeighborDistance () const
 Get the distance to the nearest internal neighbor that is not a wall.
 
- Public Member Functions inherited from CDualGrid
 CDualGrid (unsigned short val_nDim)
 Constructor of the class.
 
virtual ~CDualGrid (void)
 Destructor of the class.
 

Protected Attributes

unsigned long Nodes [1]
 Vector to store the global nodes of an element.
 
su2double Normal [3] = {0.0}
 Normal coordinates of the element and its center of gravity.
 
su2double Aux_Var
 Auxiliar variable defined only on the surface.
 
su2double CartCoord [3] = {0.0}
 Vertex cartesians coordinates.
 
su2double VarCoord [3] = {0.0}
 Used for storing the coordinate variation due to a surface modification.
 
long PeriodicPoint [5] = {-1}
 Store the periodic point of a boundary (iProcessor, iPoint)
 
bool ActDisk_Perimeter = false
 Identify nodes at the perimeter of the actuator disk.
 
short Rotation_Type
 Type of rotation associated with the vertex (MPI and periodic)
 
unsigned long Normal_Neighbor
 Index of the closest, most normal, neighbor.
 
su2double NearestNeighborDist = 0.0
 Distance to nearest internal neighbor that is not a wall.
 
su2double Basis_Function [3] = {0.0}
 Basis function values for interpolation across zones.
 

Additional Inherited Members

- Static Protected Attributes inherited from CDualGrid
static unsigned short nDim = 0
 Number of dimensions of the problem.
 

Detailed Description

Class for vertex definition (equivalent to edges, but for the boundaries).

Author
F. Palacios

Constructor & Destructor Documentation

◆ CVertex()

CVertex::CVertex ( unsigned long  val_point,
unsigned short  val_nDim 
)

Constructor of the class.

Parameters
[in]val_point- Node of the vertex.
[in]val_nDim- Number of dimensions of the problem.

Member Function Documentation

◆ AddAuxVar()

void CVertex::AddAuxVar ( su2double  val_auxvar)
inline

Add the value of an auxiliary variable for gradient computation.

Parameters
[in]val_auxvar- Value of the auxiliar variable.

◆ AddNormal()

void CVertex::AddNormal ( const su2double *  val_face_normal)
inlineoverridevirtual

Add a vector to the normal vector.

Parameters
[in]val_face_normal- Vector to add to the normal vector.

Implements CDualGrid.

◆ AddVarCoord()

void CVertex::AddVarCoord ( const su2double *  val_varcoord)
inline

Add the value of the coordinate variation due to a surface modification.

Parameters
[in]val_varcoord- Variation of the coordinate.

◆ GetActDisk_Perimeter()

bool CVertex::GetActDisk_Perimeter ( ) const
inline

Get the value of the periodic point of a vertex, and its somain.

Returns
Value of the periodic point of a vertex, and the domain.

◆ GetAuxVar()

su2double CVertex::GetAuxVar ( ) const
inline

Get the value of an auxiliary variable for gradient computation.

Returns
Value of the auxiliar variable.

◆ GetBasisFunction()

su2double CVertex::GetBasisFunction ( unsigned short  val_node)
inline

Get the finite element basis functions needed for interpolation.

Parameters
[in]val_node- a node index of the owner element.
Returns
Value of the basis function for this node.

◆ GetCoord() [1/2]

su2double * CVertex::GetCoord ( void  )
inlineoverridevirtual

Get the value of the cartesian coordinate for the vertex.

Returns
Value of the cartesian coordinate of the vertex.

Implements CDualGrid.

◆ GetCoord() [2/2]

su2double CVertex::GetCoord ( unsigned short  val_dim) const
inline

Get the value of the cartesian coordinate for the vertex.

Parameters
[in]val_dim- Variable of the dimension.
Returns
Value of the cartesian coordinate of the vertex.

◆ GetDonorGlobalIndex()

long CVertex::GetDonorGlobalIndex ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetDonorMarker()

long CVertex::GetDonorMarker ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetDonorPoint()

long CVertex::GetDonorPoint ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetDonorProcessor()

long CVertex::GetDonorProcessor ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetDonorVertex()

long CVertex::GetDonorVertex ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetGlobalDonorPoint()

long CVertex::GetGlobalDonorPoint ( ) const
inline

Get the value of the periodic point of a vertex.

Returns
Value of the periodic point of a vertex.

◆ GetNearestNeighborDistance()

const su2double & CVertex::GetNearestNeighborDistance ( ) const
inline

Get the distance to the nearest internal neighbor that is not a wall.

◆ GetnNodes()

unsigned short CVertex::GetnNodes ( void  ) const
inlineoverridevirtual

Get the number of nodes of a vertex.

Returns
Number of nodes that set a vertex (1).

Implements CDualGrid.

◆ GetNode()

unsigned long CVertex::GetNode ( ) const
inline

Get the node of the vertex.

Returns
Index of the node that compose the vertex.

◆ GetNormal() [1/3]

su2double * CVertex::GetNormal ( void  )
inlineoverridevirtual

Get the normal to a face of the control volume asociated with a vertex.

Returns
Dimensional normal vector, the modulus is the area of the face.

Implements CDualGrid.

◆ GetNormal() [2/3]

void CVertex::GetNormal ( su2double *  val_normal) const
inlineoverridevirtual

Copy the the normal vector of a face.

Parameters
[in]val_normal- Vector where the subroutine is goint to copy the normal (dimensional).

Implements CDualGrid.

◆ GetNormal() [3/3]

su2double CVertex::GetNormal ( unsigned short  iDim) const
inline

Get the ith component of the normal.

◆ GetNormal_Neighbor()

unsigned long CVertex::GetNormal_Neighbor ( ) const
inline

Get the value of the closest neighbor.

Returns
Index of the closest neighbor.

◆ GetPeriodicPointDomain()

long * CVertex::GetPeriodicPointDomain ( )
inline

Get the value of the periodic point of a vertex, and its somain.

Returns
Value of the periodic point of a vertex, and the domain.

◆ GetRotation_Type()

short CVertex::GetRotation_Type ( ) const
inline

Get the type of rotation associated to the vertex.

Returns
Value of the rotation that must be applied to the solution of the vertex

◆ GetVarCoord()

su2double * CVertex::GetVarCoord ( )
inline

Get the value of the coordinate variation due to a surface modification.

Returns
Variation of the coordinate.

◆ SetActDisk_Perimeter()

void CVertex::SetActDisk_Perimeter ( bool  val_actdisk_perimeter)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_periodicpoint- Value of periodic point of the vertex.
[in]val_processor- Processor where the point belong.

◆ SetAuxVar()

void CVertex::SetAuxVar ( su2double  val_auxvar)
inline

Set the value of an auxiliary variable for gradient computation.

Parameters
[in]val_auxvar- Value of the auxiliar variable.

◆ SetBasisFunction()

void CVertex::SetBasisFunction ( unsigned short  val_node,
su2double  val_basis 
)
inline

Set the finite element basis functions needed for interpolation.

Parameters
[in]val_node- a node index of the owner element.
[in]val_basis- basis function value for the node.

◆ SetCoord()

void CVertex::SetCoord ( const su2double *  val_coord)
inlineoverridevirtual

Set the value of the cartesian coordinate for the vertex.

Parameters
[in]val_coord- Value of the cartesian coordinate.

Implements CDualGrid.

◆ SetDonorPoint() [1/3]

void CVertex::SetDonorPoint ( long  val_periodicpoint,
long  val_periodicglobalindex,
long  val_periodicvertex,
long  val_periodicmarker,
long  val_processor 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_periodicpoint- Value of periodic point of the vertex.
[in]val_processor- Processor where the point belong.

◆ SetDonorPoint() [2/3]

void CVertex::SetDonorPoint ( long  val_periodicpoint,
long  val_processor 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_periodicpoint- Value of periodic point of the vertex.
[in]val_processor- Processor where the point belong.

◆ SetDonorPoint() [3/3]

void CVertex::SetDonorPoint ( long  val_periodicpoint,
long  val_processor,
long  val_globalindex 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_periodicpoint- Value of periodic point of the vertex.
[in]val_processor- Processor where the point belong.
[in]val_globalindex- Global index of the donor point.

◆ SetNearestNeighborDistance()

void CVertex::SetNearestNeighborDistance ( const su2double &  val)
inline

Set the distance of the nearest internal neighbor that is not a wall.

◆ SetNodes_Coord() [1/2]

void CVertex::SetNodes_Coord ( const su2double *  val_coord_Edge_CG,
const su2double *  val_coord_Elem_CG 
)
overridevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_coord_Edge_CG- Coordinates of the centre of gravity of the edge.
[in]val_coord_Elem_CG- Coordinates of the centre of gravity of the element.
Returns
Compute the normal (dimensional) to the face that makes the vertex.

Implements CDualGrid.

◆ SetNodes_Coord() [2/2]

void CVertex::SetNodes_Coord ( const su2double *  val_coord_Edge_CG,
const su2double *  val_coord_FaceElem_CG,
const su2double *  val_coord_Elem_CG 
)
overridevirtual

Set the face that correspond to a vertex.

Parameters
[in]val_coord_Edge_CG- Coordinates of the centre of gravity of the edge.
[in]val_coord_FaceElem_CG- Coordinates of the centre of gravity of the face of an element.
[in]val_coord_Elem_CG- Coordinates of the centre of gravity of the element.
Returns
Compute the normal (dimensional) to the face that makes the vertex.

Implements CDualGrid.

◆ SetNormal()

void CVertex::SetNormal ( const su2double *  val_face_normal)
inlineoverridevirtual

Set the normal vector.

Parameters
[in]val_face_normal- Vector to initialize the normal vector.
Returns
Value of the normal vector.

Implements CDualGrid.

◆ SetNormal_Neighbor()

void CVertex::SetNormal_Neighbor ( unsigned long  val_Normal_Neighbor)
inline

Set the index of the closest neighbor to a point on the boundaries.

Parameters
[in]val_Normal_Neighbor- Index of the closest neighbor.

◆ SetRotation_Type()

void CVertex::SetRotation_Type ( short  val_rotation_type)
inline

Set the type of rotation associated to the vertex.

Parameters
[in]val_rotation_type- Value of the rotation that will be applied to the solution at the vertex

◆ SetVarCoord()

void CVertex::SetVarCoord ( const su2double *  val_varcoord)
inline

Set the value of the coordinate variation due to a surface modification.

Parameters
[in]val_varcoord- Variation of the coordinate.

◆ SetZeroValues()

void CVertex::SetZeroValues ( void  )
inlineoverridevirtual

Initialize normal vector.

Implements CDualGrid.

Member Data Documentation

◆ ActDisk_Perimeter

bool CVertex::ActDisk_Perimeter = false
protected

Identify nodes at the perimeter of the actuator disk.

◆ Aux_Var

su2double CVertex::Aux_Var
protected

Auxiliar variable defined only on the surface.

◆ Basis_Function

su2double CVertex::Basis_Function[3] = {0.0}
protected

Basis function values for interpolation across zones.

◆ CartCoord

su2double CVertex::CartCoord[3] = {0.0}
protected

Vertex cartesians coordinates.

◆ NearestNeighborDist

su2double CVertex::NearestNeighborDist = 0.0
protected

Distance to nearest internal neighbor that is not a wall.

◆ Nodes

unsigned long CVertex::Nodes[1]
protected

Vector to store the global nodes of an element.

◆ Normal

su2double CVertex::Normal[3] = {0.0}
protected

Normal coordinates of the element and its center of gravity.

◆ Normal_Neighbor

unsigned long CVertex::Normal_Neighbor
protected

Index of the closest, most normal, neighbor.

◆ PeriodicPoint

long CVertex::PeriodicPoint[5] = {-1}
protected

Store the periodic point of a boundary (iProcessor, iPoint)

◆ Rotation_Type

short CVertex::Rotation_Type
protected

Type of rotation associated with the vertex (MPI and periodic)

◆ VarCoord

su2double CVertex::VarCoord[3] = {0.0}
protected

Used for storing the coordinate variation due to a surface modification.


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