191 bool Derivative =
false,
bool ForwardProjectionDerivative =
false){};
201 bool screen_output,
bool Derivative =
false) {}
224 return (cfd && ((config->
GetDirectDiff() ==
D_DESIGN && dvMarker) || moving)) || (defDot && dvMarker);
Headers of the CGridMovement class.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
unsigned short GetDirectDiff() const
Get the direct differentation method.
Definition CConfig.hpp:9293
SU2_COMPONENT GetKind_SU2(void) const
Get the kind of SU2 software component.
Definition CConfig.hpp:4663
unsigned short GetMarker_All_Moving(unsigned short val_marker) const
Get the motion information for a marker val_marker.
Definition CConfig.hpp:3839
unsigned short GetMarker_All_DV(unsigned short val_marker) const
Get the DV information for a marker val_marker.
Definition CConfig.hpp:3832
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
Class for moving the surface and volumetric numerical grid (2D and 3D problems).
Definition CGridMovement.hpp:39
Class for moving the volumetric numerical grid.
Definition CVolumetricMovement.hpp:37
void Rigid_Translation(CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
Unsteady translational grid movement using rigid mesh motion.
Definition CVolumetricMovement.cpp:903
virtual void SetVolume_Deformation(CGeometry *geometry, CConfig *config, bool UpdateGeo, bool Derivative=false, bool ForwardProjectionDerivative=false)
Grid deformation using the spring analogy method.
Definition CVolumetricMovement.hpp:190
void UpdateMultiGrid(CGeometry **geometry, CConfig *config)
Update the coarse multigrid levels after the grid movement.
Definition CVolumetricMovement.cpp:50
su2double GetQuadrilateral_Area(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:228
void Rigid_Rotation(CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
Unsteady grid movement using rigid mesh rotation.
Definition CVolumetricMovement.cpp:481
void UpdateDualGrid(CGeometry *geometry, CConfig *config)
Update the dual grid after the grid movement (edges and control volumes).
Definition CVolumetricMovement.cpp:41
virtual void Boundary_Dependencies(CGeometry **geometry, CConfig *config)
Set the boundary dependencies in the mesh side of the problem.
Definition CVolumetricMovement.hpp:208
bool IsDeformationMarker(const CConfig *config, unsigned short iMarker)
Returns true if a marker should be deformed.
Definition CVolumetricMovement.hpp:215
void ComputeDeforming_Element_Volume(CGeometry *geometry, su2double &MinVolume, su2double &MaxVolume, bool Screen_Output)
Check for negative volumes (all elements) after performing grid deformation.
Definition CVolumetricMovement.cpp:65
unsigned short nDim
Number of dimensions.
Definition CVolumetricMovement.hpp:39
CVolumetricMovement()
Constructor of the class.
Definition CVolumetricMovement.cpp:30
void Rigid_Plunging(CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
Unsteady plunging grid movement using rigid mesh motion.
Definition CVolumetricMovement.cpp:775
~CVolumetricMovement() override
Destructor of the class.
su2double GetPrism_Volume(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:327
virtual void SetVolume_Deformation_Elas(CGeometry *geometry, CConfig *config, bool UpdateGeo, bool screen_output, bool Derivative=false)
Grid deformation using the spring analogy method.
Definition CVolumetricMovement.hpp:200
void Rigid_Pitching(CGeometry *geometry, CConfig *config, unsigned short iZone, unsigned long iter)
Unsteady pitching grid movement using rigid mesh motion.
Definition CVolumetricMovement.cpp:629
su2double GetPyram_Volume(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:284
su2double GetHexa_Volume(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:387
void ComputenNonconvexElements(CGeometry *geometry, bool Screen_Output)
Compute amount of nonconvex elements.
Definition CVolumetricMovement.cpp:143
su2double GetTetra_Volume(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:258
su2double GetTriangle_Area(su2double CoordCorners[8][3]) const
Compute the shape functions for hexahedron.
Definition CVolumetricMovement.cpp:209
void SetVolume_Translation(CGeometry *geometry, CConfig *config, bool UpdateGeo)
Translate the volume grid by a specified displacement vector.
Definition CVolumetricMovement.cpp:1045
void SetVolume_Scaling(CGeometry *geometry, CConfig *config, bool UpdateGeo)
Scale the volume grid by a multiplicative factor.
Definition CVolumetricMovement.cpp:1013
void SetVolume_Rotation(CGeometry *geometry, CConfig *config, bool UpdateGeo)
Rotate the volume grid around a specified axis and angle.
Definition CVolumetricMovement.cpp:1086
passivedouble su2double
Definition code_config.hpp:181
@ YES
Boolean definition of yes.
Definition option_structure.hpp:284
@ SU2_DEF
Running the SU2_DEF software.
@ SU2_DOT
Running the SU2_DOT software.
@ SU2_CFD
Running the SU2_CFD software.
@ D_DESIGN
Derivative w.r.t. the design??
Definition option_structure.hpp:2770