|
SU2
|
Class for moving the volumetric numerical grid. More...
#include <grid_movement_structure.hpp>
Public Member Functions | |
| CVolumetricMovement (CGeometry *geometry, CConfig *config) | |
| Constructor of the class. | |
| ~CVolumetricMovement (void) | |
| Destructor of the class. | |
| void | UpdateGridCoord (CGeometry *geometry, CConfig *config) |
| Update the value of the coordinates after the grid movement. More... | |
| void | UpdateDualGrid (CGeometry *geometry, CConfig *config) |
| Update the dual grid after the grid movement (edges and control volumes). More... | |
| void | UpdateMultiGrid (CGeometry **geometry, CConfig *config) |
| Update the coarse multigrid levels after the grid movement. More... | |
| su2double | SetFEAMethodContributions_Elem (CGeometry *geometry, CConfig *config) |
| Compute the stiffness matrix for grid deformation using spring analogy. More... | |
| void | SetFEA_StiffMatrix3D (CGeometry *geometry, CConfig *config, su2double **StiffMatrix_Elem, unsigned long PointCorners[8], su2double CoordCorners[8][3], unsigned short nNodes, su2double ElemVolume, su2double ElemDistance) |
| Build the stiffness matrix for a 3-D hexahedron element. The result will be placed in StiffMatrix_Elem. More... | |
| void | SetFEA_StiffMatrix2D (CGeometry *geometry, CConfig *config, su2double **StiffMatrix_Elem, unsigned long PointCorners[8], su2double CoordCorners[8][3], unsigned short nNodes, su2double ElemVolume, su2double ElemDistance) |
| Build the stiffness matrix for a 3-D hexahedron element. The result will be placed in StiffMatrix_Elem. More... | |
| su2double | ShapeFunc_Hexa (su2double Xi, su2double Eta, su2double Zeta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | ShapeFunc_Tetra (su2double Xi, su2double Eta, su2double Zeta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | ShapeFunc_Pyram (su2double Xi, su2double Eta, su2double Zeta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | ShapeFunc_Prism (su2double Xi, su2double Eta, su2double Zeta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | ShapeFunc_Triangle (su2double Xi, su2double Eta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | ShapeFunc_Quadrilateral (su2double Xi, su2double Eta, su2double CoordCorners[8][3], su2double DShapeFunction[8][4]) |
| Shape functions and derivative of the shape functions. More... | |
| su2double | GetHexa_Volume (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| su2double | GetTetra_Volume (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| su2double | GetPrism_Volume (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| su2double | GetPyram_Volume (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| su2double | GetTriangle_Area (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| su2double | GetQuadrilateral_Area (su2double CoordCorners[8][3]) |
| Compute the shape functions for hexahedron. More... | |
| void | AddFEA_StiffMatrix (CGeometry *geometry, su2double **StiffMatrix_Elem, unsigned long PointCorners[8], unsigned short nNodes) |
| Add the stiffness matrix for a 2-D triangular element to the global stiffness matrix for the entire mesh (node-based). More... | |
| void | ComputeDeforming_Element_Volume (CGeometry *geometry, su2double &MinVolume, su2double &MaxVolume) |
| Check for negative volumes (all elements) after performing grid deformation. More... | |
| void | ComputeDeforming_Wall_Distance (CGeometry *geometry, CConfig *config, su2double &MinDistance, su2double &MaxDistance) |
| Compute the minimum distance to the nearest deforming surface. More... | |
| void | SetBoundaryDisplacements (CGeometry *geometry, CConfig *config) |
| Check the boundary vertex that are going to be moved. More... | |
| void | SetDomainDisplacements (CGeometry *geometry, CConfig *config) |
| Check the domain points vertex that are going to be moved. More... | |
| void | Rigid_Rotation (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter) |
| Unsteady grid movement using rigid mesh rotation. More... | |
| void | Rigid_Pitching (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter) |
| Unsteady pitching grid movement using rigid mesh motion. More... | |
| void | Rigid_Plunging (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter) |
| Unsteady plunging grid movement using rigid mesh motion. More... | |
| void | Rigid_Translation (CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter) |
| Unsteady translational grid movement using rigid mesh motion. More... | |
| void | SetVolume_Scaling (CGeometry *geometry, CConfig *config, bool UpdateGeo) |
| Scale the volume grid by a multiplicative factor. More... | |
| void | SetVolume_Translation (CGeometry *geometry, CConfig *config, bool UpdateGeo) |
| Translate the volume grid by a specified displacement vector. More... | |
| void | SetVolume_Rotation (CGeometry *geometry, CConfig *config, bool UpdateGeo) |
| Rotate the volume grid around a specified axis and angle. More... | |
| void | SetVolume_Deformation (CGeometry *geometry, CConfig *config, bool UpdateGeo, bool Derivative=false) |
| Grid deformation using the spring analogy method. More... | |
| void | SetBoundaryDerivatives (CGeometry *geometry, CConfig *config) |
| Set the derivatives of the boundary nodes. More... | |
| void | UpdateGridCoord_Derivatives (CGeometry *geometry, CConfig *config) |
| Update the derivatives of the coordinates after the grid movement. More... | |
| su2double | Determinant_3x3 (su2double A00, su2double A01, su2double A02, su2double A10, su2double A11, su2double A12, su2double A20, su2double A21, su2double A22) |
| Compute the determinant of a 3 by 3 matrix. 3 by 3 matrix elements. More... | |
| void | Set_nIterMesh (unsigned long val_nIterMesh) |
| Store the number of iterations when moving the mesh. More... | |
| unsigned long | Get_nIterMesh (void) |
| Retrieve the number of iterations when moving the mesh. More... | |
Public Member Functions inherited from CGridMovement | |
| CGridMovement (void) | |
| Constructor of the class. | |
| virtual | ~CGridMovement (void) |
| Destructor of the class. | |
| virtual void | SetSurface_Deformation (CGeometry *geometry, CConfig *config) |
| A pure virtual member. More... | |
Protected Attributes | |
| unsigned short | nDim |
| Number of dimensions. | |
| 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 | StiffMatrix |
| Matrix to store the point-to-point stiffness. | |
| CSysVector | LinSysSol |
| CSysVector | LinSysRes |
Class for moving the volumetric numerical grid.
| void CVolumetricMovement::AddFEA_StiffMatrix | ( | CGeometry * | geometry, |
| su2double ** | StiffMatrix_Elem, | ||
| unsigned long | PointCorners[8], | ||
| unsigned short | nNodes | ||
| ) |
Add the stiffness matrix for a 2-D triangular element to the global stiffness matrix for the entire mesh (node-based).
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | StiffMatrix_Elem | - Element stiffness matrix to be filled. |
| [in] | PointCorners | - Index values for element corners |
| [in] | nNodes | - Number of nodes defining the element. |
| void CVolumetricMovement::ComputeDeforming_Element_Volume | ( | CGeometry * | geometry, |
| su2double & | MinVolume, | ||
| su2double & | MaxVolume | ||
| ) |
Check for negative volumes (all elements) after performing grid deformation.
| [in] | geometry | - Geometrical definition of the problem. |
| void CVolumetricMovement::ComputeDeforming_Wall_Distance | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| su2double & | MinDistance, | ||
| su2double & | MaxDistance | ||
| ) |
Compute the minimum distance to the nearest deforming surface.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
|
inline |
Compute the determinant of a 3 by 3 matrix. 3 by 3 matrix elements.
| [in] | A00 | |
| [in] | A01 | |
| [in] | A02 | |
| [in] | A10 | |
| [in] | A11 | |
| [in] | A12 | |
| [in] | A20 | |
| [in] | A21 | |
| [in] | A22 |
|
inline |
Retrieve the number of iterations when moving the mesh.
| [out] | Number | of iterations. |
| su2double CVolumetricMovement::GetHexa_Volume | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| su2double CVolumetricMovement::GetPrism_Volume | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| su2double CVolumetricMovement::GetPyram_Volume | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| su2double CVolumetricMovement::GetQuadrilateral_Area | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| su2double CVolumetricMovement::GetTetra_Volume | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| su2double CVolumetricMovement::GetTriangle_Area | ( | su2double | CoordCorners[8][3] | ) |
Compute the shape functions for hexahedron.
| [in] | CoordCorners | - coordinates of the cornes of the hexahedron. |
| void CVolumetricMovement::Rigid_Pitching | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned short | iZone, | ||
| unsigned long | iter | ||
| ) |
Unsteady pitching grid movement using rigid mesh motion.
| [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. |
| void CVolumetricMovement::Rigid_Plunging | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned short | iZone, | ||
| unsigned long | iter | ||
| ) |
Unsteady plunging grid movement using rigid mesh motion.
| [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. |
| void CVolumetricMovement::Rigid_Rotation | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned short | iZone, | ||
| unsigned long | iter | ||
| ) |
Unsteady grid movement using rigid mesh rotation.
| [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. |
| void CVolumetricMovement::Rigid_Translation | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned short | iZone, | ||
| unsigned long | iter | ||
| ) |
Unsteady translational grid movement using rigid mesh motion.
| [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. |
|
inline |
Store the number of iterations when moving the mesh.
| [in] | val_nIterMesh | - Number of iterations. |
Set the derivatives of the boundary nodes.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Check the boundary vertex that are going to be moved.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Check the domain points vertex that are going to be moved.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| void CVolumetricMovement::SetFEA_StiffMatrix2D | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| su2double ** | StiffMatrix_Elem, | ||
| unsigned long | PointCorners[8], | ||
| su2double | CoordCorners[8][3], | ||
| unsigned short | nNodes, | ||
| su2double | ElemVolume, | ||
| su2double | ElemDistance | ||
| ) |
Build the stiffness matrix for a 3-D hexahedron element. The result will be placed in StiffMatrix_Elem.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | StiffMatrix_Elem | - Element stiffness matrix to be filled. |
| [in] | CoordCorners | - Index value for Node 1 of the current hexahedron. |
| [in] | PointCorners | - Index values for element corners |
| [in] | nNodes | - Number of nodes defining the element. |
| [in] | scale |
| void CVolumetricMovement::SetFEA_StiffMatrix3D | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| su2double ** | StiffMatrix_Elem, | ||
| unsigned long | PointCorners[8], | ||
| su2double | CoordCorners[8][3], | ||
| unsigned short | nNodes, | ||
| su2double | ElemVolume, | ||
| su2double | ElemDistance | ||
| ) |
Build the stiffness matrix for a 3-D hexahedron element. The result will be placed in StiffMatrix_Elem.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | StiffMatrix_Elem | - Element stiffness matrix to be filled. |
| [in] | CoordCorners | - Index value for Node 1 of the current hexahedron. |
| [in] | PointCorners | - Index values for element corners |
| [in] | nNodes | - Number of nodes defining the element. |
| [in] | scale |
| su2double CVolumetricMovement::SetFEAMethodContributions_Elem | ( | CGeometry * | geometry, |
| CConfig * | config | ||
| ) |
Compute the stiffness matrix for grid deformation using spring analogy.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| void CVolumetricMovement::SetVolume_Deformation | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| bool | UpdateGeo, | ||
| bool | Derivative = false |
||
| ) |
Grid deformation using the spring analogy method.
| [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. |
| void CVolumetricMovement::SetVolume_Rotation | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| bool | UpdateGeo | ||
| ) |
Rotate the volume grid around a specified axis and angle.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | UpdateGeo | - Update geometry. |
| void CVolumetricMovement::SetVolume_Scaling | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| bool | UpdateGeo | ||
| ) |
Scale the volume grid by a multiplicative factor.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | UpdateGeo | - Update geometry. |
| void CVolumetricMovement::SetVolume_Translation | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| bool | UpdateGeo | ||
| ) |
Translate the volume grid by a specified displacement vector.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | UpdateGeo | - Update geometry. |
| su2double CVolumetricMovement::ShapeFunc_Hexa | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | Zeta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | Zeta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
| su2double CVolumetricMovement::ShapeFunc_Prism | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | Zeta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | Zeta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
| su2double CVolumetricMovement::ShapeFunc_Pyram | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | Zeta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | Zeta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
| su2double CVolumetricMovement::ShapeFunc_Quadrilateral | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
| su2double CVolumetricMovement::ShapeFunc_Tetra | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | Zeta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | Zeta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
| su2double CVolumetricMovement::ShapeFunc_Triangle | ( | su2double | Xi, |
| su2double | Eta, | ||
| su2double | CoordCorners[8][3], | ||
| su2double | DShapeFunction[8][4] | ||
| ) |
Shape functions and derivative of the shape functions.
| [in] | Xi | - Local coordinates. |
| [in] | Eta | - Local coordinates. |
| [in] | CoordCorners | - Coordiantes of the corners. |
| [in] | DShapeFunction | - Shape function information |
Update the dual grid after the grid movement (edges and control volumes).
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Update the value of the coordinates after the grid movement.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Update the derivatives of the coordinates after the grid movement.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
Update the coarse multigrid levels after the grid movement.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
1.8.12