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

Class for moving the volumetric numerical grid using Radial Basis Function interpolation. More...

#include <CRadialBasisFunctionInterpolation.hpp>

Inheritance diagram for CRadialBasisFunctionInterpolation:
[legend]

Public Member Functions

 CRadialBasisFunctionInterpolation (CGeometry *geometry, CConfig *config)
 Constructor of the class.
 
 ~CRadialBasisFunctionInterpolation () override
 Destructor of the class.
 
void SetVolume_Deformation (CGeometry *geometry, CConfig *config, bool UpdateGeo, bool Derivative, bool ForwardProjectionDerivative) override
 Grid deformation using the spring analogy method.
 
- Public Member Functions inherited from CVolumetricMovement
 CVolumetricMovement ()
 Constructor of the class.
 
 CVolumetricMovement (CGeometry *geometry)
 Constructor of the Class.
 
 ~CVolumetricMovement () override
 Destructor of the class.
 
void UpdateDualGrid (CGeometry *geometry, CConfig *config)
 Update the dual grid after the grid movement (edges and control volumes).
 
void UpdateMultiGrid (CGeometry **geometry, CConfig *config)
 Update the coarse multigrid levels after the grid movement.
 
su2double GetHexa_Volume (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
su2double GetTetra_Volume (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
su2double GetPrism_Volume (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
su2double GetPyram_Volume (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
su2double GetTriangle_Area (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
su2double GetQuadrilateral_Area (su2double CoordCorners[8][3]) const
 Compute the shape functions for hexahedron.
 
void ComputeDeforming_Element_Volume (CGeometry *geometry, su2double &MinVolume, su2double &MaxVolume, bool Screen_Output)
 Check for negative volumes (all elements) after performing grid deformation.
 
void ComputenNonconvexElements (CGeometry *geometry, bool Screen_Output)
 Compute amount of nonconvex elements.
 
void Rigid_Rotation (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
 Unsteady grid movement using rigid mesh rotation.
 
void Rigid_Pitching (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
 Unsteady pitching grid movement using rigid mesh motion.
 
void Rigid_Plunging (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
 Unsteady plunging grid movement using rigid mesh motion.
 
void Rigid_Translation (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
 Unsteady translational grid movement using rigid mesh motion.
 
void SetVolume_Scaling (CGeometry *geometry, CConfig *config, bool UpdateGeo)
 Scale the volume grid by a multiplicative factor.
 
void SetVolume_Translation (CGeometry *geometry, CConfig *config, bool UpdateGeo)
 Translate the volume grid by a specified displacement vector.
 
void SetVolume_Rotation (CGeometry *geometry, CConfig *config, bool UpdateGeo)
 Rotate the volume grid around a specified axis and angle.
 
virtual void SetVolume_Deformation_Elas (CGeometry *geometry, CConfig *config, bool UpdateGeo, bool screen_output, bool Derivative=false)
 Grid deformation using the spring analogy method.
 
virtual void Boundary_Dependencies (CGeometry **geometry, CConfig *config)
 Set the boundary dependencies in the mesh side of the problem.
 
bool IsDeformationMarker (const CConfig *config, unsigned short iMarker)
 Returns true if a marker should be deformed.
 
- Public Member Functions inherited from CGridMovement
 CGridMovement (void)
 Constructor of the class.
 
virtual ~CGridMovement (void)
 Destructor of the class.
 
virtual vector< vector< su2double > > SetSurface_Deformation (CGeometry *geometry, CConfig *config)
 Set the surface/boundary deformation.
 

Protected Attributes

vector< CRadialBasisFunctionNode * > * ControlNodes = nullptr
 Vector with control nodes.
 
vector< CRadialBasisFunctionNode * > BoundNodes
 Vector with boundary nodes.
 
vector< CRadialBasisFunctionNode * > ReducedControlNodes
 Vector with selected control nodes in data reduction algorithm.
 
su2activematrix CtrlNodeDeformation
 Control Node Deformation.
 
su2activematrix InterpCoeff
 Control node interpolation coefficients.
 
unsigned long nCtrlNodesGlobal {0}
 Total number of control nodes.
 
su2activematrix CtrlCoords
 Coordinates of the control nodes.
 
su2double MaxErrorGlobal {0.0}
 Maximum error data reduction algorithm.
 
- Protected Attributes inherited from CVolumetricMovement
unsigned short nDim
 Number of dimensions.
 
- Protected Attributes inherited from CGridMovement
int rank
 MPI Rank.
 
int size
 MPI Size.
 

Detailed Description

Class for moving the volumetric numerical grid using Radial Basis Function interpolation.

Author
F. van Steen

Constructor & Destructor Documentation

◆ CRadialBasisFunctionInterpolation()

CRadialBasisFunctionInterpolation::CRadialBasisFunctionInterpolation ( CGeometry *  geometry,
CConfig *  config 
)

Constructor of the class.

◆ ~CRadialBasisFunctionInterpolation()

CRadialBasisFunctionInterpolation::~CRadialBasisFunctionInterpolation ( )
override

Destructor of the class.

Member Function Documentation

◆ SetVolume_Deformation()

void CRadialBasisFunctionInterpolation::SetVolume_Deformation ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo,
bool  Derivative,
bool  ForwardProjectionDerivative 
)
overridevirtual

Grid deformation using the spring analogy method.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]UpdateGeo- Update geometry.
[in]Derivative- Compute the derivative (disabled by default). Does not actually deform the grid if enabled.

Reimplemented from CVolumetricMovement.

Member Data Documentation

◆ BoundNodes

vector<CRadialBasisFunctionNode*> CRadialBasisFunctionInterpolation::BoundNodes
protected

Vector with boundary nodes.

◆ ControlNodes

vector<CRadialBasisFunctionNode*>* CRadialBasisFunctionInterpolation::ControlNodes = nullptr
protected

Vector with control nodes.

◆ CtrlCoords

su2activematrix CRadialBasisFunctionInterpolation::CtrlCoords
protected

Coordinates of the control nodes.

◆ CtrlNodeDeformation

su2activematrix CRadialBasisFunctionInterpolation::CtrlNodeDeformation
protected

Control Node Deformation.

◆ InterpCoeff

su2activematrix CRadialBasisFunctionInterpolation::InterpCoeff
protected

Control node interpolation coefficients.

◆ MaxErrorGlobal

su2double CRadialBasisFunctionInterpolation::MaxErrorGlobal {0.0}
protected

Maximum error data reduction algorithm.

◆ nCtrlNodesGlobal

unsigned long CRadialBasisFunctionInterpolation::nCtrlNodesGlobal {0}
protected

Total number of control nodes.

◆ ReducedControlNodes

vector<CRadialBasisFunctionNode*> CRadialBasisFunctionInterpolation::ReducedControlNodes
protected

Vector with selected control nodes in data reduction algorithm.


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