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

Class for moving the volumetric numerical grid. More...

#include <CVolumetricMovement.hpp>

Inheritance diagram for CVolumetricMovement:
[legend]

Public Member Functions

 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 (CGeometry *geometry, CConfig *config, bool UpdateGeo, bool Derivative=false, bool ForwardProjectionDerivative=false)
 Grid deformation using the spring analogy method.
 
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

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.

Author
F. Palacios, A. Bueno, T. Economon, S. Padron.

Constructor & Destructor Documentation

◆ CVolumetricMovement() [1/2]

CVolumetricMovement::CVolumetricMovement ( )

Constructor of the class.

◆ CVolumetricMovement() [2/2]

CVolumetricMovement::CVolumetricMovement ( CGeometry *  geometry)

Constructor of the Class.

◆ ~CVolumetricMovement()

CVolumetricMovement::~CVolumetricMovement ( )
overridedefault

Destructor of the class.

Member Function Documentation

◆ Boundary_Dependencies()

virtual void CVolumetricMovement::Boundary_Dependencies ( CGeometry **  geometry,
CConfig *  config 
)
inlinevirtual

Set the boundary dependencies in the mesh side of the problem.

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

◆ ComputeDeforming_Element_Volume()

void CVolumetricMovement::ComputeDeforming_Element_Volume ( CGeometry *  geometry,
su2double &  MinVolume,
su2double &  MaxVolume,
bool  Screen_Output 
)

Check for negative volumes (all elements) after performing grid deformation.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]Screen_Output- determines if text is written to screen

◆ ComputenNonconvexElements()

void CVolumetricMovement::ComputenNonconvexElements ( CGeometry *  geometry,
bool  Screen_Output 
)

Compute amount of nonconvex elements.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]Screen_Output- determines if text is written to screen

◆ GetHexa_Volume()

su2double CVolumetricMovement::GetHexa_Volume ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ GetPrism_Volume()

su2double CVolumetricMovement::GetPrism_Volume ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ GetPyram_Volume()

su2double CVolumetricMovement::GetPyram_Volume ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ GetQuadrilateral_Area()

su2double CVolumetricMovement::GetQuadrilateral_Area ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ GetTetra_Volume()

su2double CVolumetricMovement::GetTetra_Volume ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ GetTriangle_Area()

su2double CVolumetricMovement::GetTriangle_Area ( su2double  CoordCorners[8][3]) const

Compute the shape functions for hexahedron.

Parameters
[in]CoordCorners- coordinates of the cornes of the hexahedron.

◆ IsDeformationMarker()

bool CVolumetricMovement::IsDeformationMarker ( const CConfig *  config,
unsigned short  iMarker 
)
inline

Returns true if a marker should be deformed.

Parameters
[in]config- Definition of the particular problem.
[in]iMarker- Index of marker in "marker all".

◆ Rigid_Pitching()

void CVolumetricMovement::Rigid_Pitching ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iZone,
unsigned long  iter 
)

Unsteady pitching grid movement using rigid mesh motion.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Zone number in the mesh.
[in]iter- Physical time iteration number.

◆ Rigid_Plunging()

void CVolumetricMovement::Rigid_Plunging ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iZone,
unsigned long  iter 
)

Unsteady plunging grid movement using rigid mesh motion.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Zone number in the mesh.
[in]iter- Physical time iteration number.

◆ Rigid_Rotation()

void CVolumetricMovement::Rigid_Rotation ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iZone,
unsigned long  iter 
)

Unsteady grid movement using rigid mesh rotation.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Zone number in the mesh.
[in]iter- Physical time iteration number.

◆ Rigid_Translation()

void CVolumetricMovement::Rigid_Translation ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iZone,
unsigned long  iter 
)

Unsteady translational grid movement using rigid mesh motion.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Zone number in the mesh.
[in]iter- Physical time iteration number.

◆ SetVolume_Deformation()

virtual void CVolumetricMovement::SetVolume_Deformation ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo,
bool  Derivative = false,
bool  ForwardProjectionDerivative = false 
)
inlinevirtual

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 in CLinearElasticity, and CRadialBasisFunctionInterpolation.

◆ SetVolume_Deformation_Elas()

virtual void CVolumetricMovement::SetVolume_Deformation_Elas ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo,
bool  screen_output,
bool  Derivative = false 
)
inlinevirtual

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.

◆ SetVolume_Rotation()

void CVolumetricMovement::SetVolume_Rotation ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo 
)

Rotate the volume grid around a specified axis and angle.

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

◆ SetVolume_Scaling()

void CVolumetricMovement::SetVolume_Scaling ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo 
)

Scale the volume grid by a multiplicative factor.

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

◆ SetVolume_Translation()

void CVolumetricMovement::SetVolume_Translation ( CGeometry *  geometry,
CConfig *  config,
bool  UpdateGeo 
)

Translate the volume grid by a specified displacement vector.

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

◆ UpdateDualGrid()

void CVolumetricMovement::UpdateDualGrid ( CGeometry *  geometry,
CConfig *  config 
)

Update the dual grid after the grid movement (edges and control volumes).

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

◆ UpdateMultiGrid()

void CVolumetricMovement::UpdateMultiGrid ( CGeometry **  geometry,
CConfig *  config 
)

Update the coarse multigrid levels after the grid movement.

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

Member Data Documentation

◆ nDim

unsigned short CVolumetricMovement::nDim
protected

Number of dimensions.


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