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

Class for moving the volumetric numerical grid using the linear elasticity analogy. More...

#include <CLinearElasticity.hpp>

Inheritance diagram for CLinearElasticity:
[legend]

Public Member Functions

 CLinearElasticity (CGeometry *geometry, CConfig *config)
 Constructor of the class.
 
 ~CLinearElasticity () 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

unsigned short nVar
 Number of variables.
 
unsigned long nPoint
 Number of points.
 
unsigned long nPointDomain
 Number of points in the domain.
 
unsigned long nIterMesh
 Number of iterations in the mesh update. +.
 
CSysMatrix< su2mixedfloat > StiffMatrix
 Stiffness matrix of the elasticity problem.
 
CSysSolve< su2mixedfloat > System
 Linear solver/smoother.
 
CSysVector< su2double > LinSysSol
 
CSysVector< su2double > LinSysRes
 
- 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 the linear elasticity analogy.

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

Constructor & Destructor Documentation

◆ CLinearElasticity()

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

Constructor of the class.

◆ ~CLinearElasticity()

CLinearElasticity::~CLinearElasticity ( )
overridedefault

Destructor of the class.

Member Function Documentation

◆ SetVolume_Deformation()

void CLinearElasticity::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

◆ LinSysRes

CSysVector<su2double> CLinearElasticity::LinSysRes
protected

◆ LinSysSol

CSysVector<su2double> CLinearElasticity::LinSysSol
protected

◆ nIterMesh

unsigned long CLinearElasticity::nIterMesh
protected

Number of iterations in the mesh update. +.

◆ nPoint

unsigned long CLinearElasticity::nPoint
protected

Number of points.

◆ nPointDomain

unsigned long CLinearElasticity::nPointDomain
protected

Number of points in the domain.

◆ nVar

unsigned short CLinearElasticity::nVar
protected

Number of variables.

◆ StiffMatrix

CSysMatrix<su2mixedfloat> CLinearElasticity::StiffMatrix
protected

Stiffness matrix of the elasticity problem.

◆ System

CSysSolve<su2mixedfloat> CLinearElasticity::System
protected

Linear solver/smoother.


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