![]() |
Documentation 6b54b78464
|
Class for defining the free form FFDBox structure. More...
#include <CFreeFormDefBox.hpp>
Public Member Functions | |
| CFreeFormDefBox (void) | |
| Constructor of the class. | |
| CFreeFormDefBox (const unsigned short Degree[], unsigned short BSplineOrder[], unsigned short kind_blending) | |
| ~CFreeFormDefBox (void) override | |
| Destructor of the class. | |
| void | Set_Fix_IPlane (unsigned short val_plane) |
| Define the I planes to to fix in a FFD box. | |
| void | Set_Fix_JPlane (unsigned short val_plane) |
| Define the I planes to to fix in a FFD box. | |
| void | Set_Fix_KPlane (unsigned short val_plane) |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_Fix_IPlane (unsigned short val_index) |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_Fix_JPlane (unsigned short val_index) |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_Fix_KPlane (unsigned short val_index) |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_nFix_IPlane (void) const |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_nFix_JPlane (void) const |
| Define the I planes to to fix in a FFD box. | |
| unsigned short | Get_nFix_KPlane (void) const |
| Define the I planes to to fix in a FFD box. | |
| void | Set_MarkerIndex (unsigned short val_iMarker) |
| Add to the vector of markers a new marker. | |
| void | Set_VertexIndex (unsigned long val_iVertex) |
| Add to the vector of vertices a new vertex. | |
| void | Set_PointIndex (unsigned long val_iPoint) |
| Add to the vector of points a new point. | |
| void | Set_CartesianCoord (su2double *val_coord) |
| Add to the vector of cartesian coordinates a new coordinate. | |
| void | Set_CartesianCoord (const su2double *val_coord, unsigned long val_iSurfacePoints) |
| Adds to the vector of cartesian coordinates. | |
| void | Set_ParametricCoord (su2double *val_coord) |
| Add to the vector of parametric coordinates a new coordinate. | |
| void | SetParentFFDBox (string val_iParentFFDBox) |
| Add to the vector of parent FFDBoxes a new FFD FFDBox. | |
| void | SetChildFFDBox (string val_iChildFFDBox) |
| Add to the vector of child FFDBoxes a new FFD FFDBox. | |
| void | Set_ParametricCoord (const su2double *val_coord, unsigned long val_iSurfacePoints) |
| Adds to the set of Parametric coordinates. | |
| unsigned short | Get_MarkerIndex (unsigned long val_iSurfacePoints) |
| Get index of the marker. | |
| unsigned long | Get_VertexIndex (unsigned long val_iSurfacePoints) |
| Get index of the marker. | |
| unsigned long | Get_PointIndex (unsigned long val_iSurfacePoints) |
| Get index of the point. | |
| su2double * | Get_CartesianCoord (unsigned long val_iSurfacePoints) |
| Get Cartesian coordinates. | |
| su2double * | Get_ParametricCoord (unsigned long val_iSurfacePoints) |
| Get parametric coordinates. | |
| unsigned long | GetnSurfacePoint (void) const |
| Get number of surface points. | |
| unsigned short | GetnParentFFDBox (void) const |
| Get number of parent FFD boxes. | |
| unsigned short | GetnChildFFDBox (void) const |
| Get number of child FFD boxes. | |
| string | GetParentFFDBoxTag (unsigned short val_ParentFFDBox) |
| Get tag of parent FFD box. | |
| string | GetChildFFDBoxTag (unsigned short val_ChildFFDBox) |
| Get tag of child FFD box. | |
| void | SetSupportCPChange (CFreeFormDefBox *FFDBox) |
| Change the the position of the corners of the unitary FFDBox, and find the position of the control points for the FFDBox. | |
| void | SetnCornerPoints (unsigned short val_ncornerpoints) |
| Set the number of corner points. | |
| unsigned short | GetnCornerPoints (void) const |
| Get the number of corner points. | |
| unsigned short | GetnControlPoints (void) const |
| Get the number of control points. | |
| void | SetnControlPoints (void) |
| Get the number of control points. | |
| unsigned long | GetnSurfacePoints (void) |
| Get the number of numerical points on the surface. | |
| void | SetUnitCornerPoints (void) |
| Set the corner point for the unitary FFDBox. | |
| void | SetCoordCornerPoints (const su2double *val_coord, unsigned short val_icornerpoints) |
| Set the coordinates of the corner points. | |
| void | SetCoordCornerPoints (su2double val_xcoord, su2double val_ycoord, su2double val_zcoord, unsigned short val_icornerpoints) |
| void | SetCoordControlPoints (const su2double *val_coord, unsigned short iDegree, unsigned short jDegree, unsigned short kDegree) |
| Set the coordinates of the control points. | |
| void | SetCoordControlPoints_Copy (const su2double *val_coord, unsigned short iDegree, unsigned short jDegree, unsigned short kDegree) |
| Set the coordinates of the control points. | |
| void | SetParCoordControlPoints (const su2double *val_coord, unsigned short iDegree, unsigned short jDegree, unsigned short kDegree) |
| Set the coordinates of the control points. | |
| su2double | GetCoordCornerPoints (unsigned short val_dim, unsigned short val_icornerpoints) const |
| Get the coordinates of the corner points. | |
| su2double * | GetCoordCornerPoints (unsigned short val_icornerpoints) const |
| Get the coordinates of the corner points. | |
| su2double * | GetCoordControlPoints (unsigned short val_iindex, unsigned short val_jindex, unsigned short val_kindex) const |
| Get the coordinates of the control point. | |
| su2double * | GetParCoordControlPoints (unsigned short val_iindex, unsigned short val_jindex, unsigned short val_kindex) const |
| Get the parametric coordinates of the control point. | |
| void | SetControlPoints_Parallelepiped (void) |
| Set the control points in a parallelepiped (hexahedron). | |
| void | SetSupportCP (CFreeFormDefBox *FFDBox) |
| Set the control points of the final chuck in a unitary hexahedron free form. | |
| void | SetControlPoints (const unsigned short *val_index, const su2double *movement) |
| Set the new value of the coordinates of the control points. | |
| void | SetOriginalControlPoints () |
| Set the original value of the control points. | |
| void | SetTecplot (CGeometry *geometry, unsigned short iFFDBox, bool original) |
| Set the tecplot file of the FFD chuck structure. | |
| void | SetParaview (CGeometry *geometry, unsigned short iFFDBox, bool original) |
| Set the paraview file of the FFD chuck structure. | |
| void | SetCGNS (CGeometry *geometry, unsigned short iFFDBox, bool original) |
| Set the CGNS file of the FFD chuck structure. | |
| void | SetCyl2Cart_ControlPoints (CConfig *config) |
| Set Cylindrical to Cartesians_ControlPoints. | |
| void | SetCart2Cyl_ControlPoints (CConfig *config) |
| Set Cartesians to Cylindrical ControlPoints. | |
| void | SetCyl2Cart_CornerPoints (CConfig *config) |
| Set Cylindrical to Cartesians_CornerPoints. | |
| void | SetCart2Cyl_CornerPoints (CConfig *config) |
| Set Cartesians to Cylindrical CornerPoints. | |
| void | SetSphe2Cart_ControlPoints (CConfig *config) |
| Set Spherical to Cartesians ControlPoints. | |
| void | SetCart2Sphe_ControlPoints (CConfig *config) |
| SetCartesians to Spherical ControlPoints. | |
| void | SetSphe2Cart_CornerPoints (CConfig *config) |
| Set Spherical to Cartesians_CornerPoints. | |
| void | SetCart2Sphe_CornerPoints (CConfig *config) |
| Set Cartesians to Spherical Corner Points. | |
| su2double * | GetParametricCoord_Analytical (const su2double *cart_coord) |
| Set the cartesian coords of a point in R^3 and convert them to the parametric coords of our parametrization of a paralellepiped. | |
| su2double * | GetParametricCoord_Iterative (unsigned long iPoint, su2double *xyz, const su2double *guess, CConfig *config) |
| Iterative strategy for computing the parametric coordinates. | |
| void | CrossProduct (const su2double *v1, const su2double *v2, su2double *v3) |
| Compute the cross product. | |
| su2double | DotProduct (const su2double *v1, const su2double *v2) |
| Compute the doc product. | |
| su2double * | EvalCartesianCoord (su2double *ParamCoord) const |
| Here we take the parametric coords of a point in the box and we convert them to the physical cartesian coords by plugging the ParamCoords on the Bezier parameterization of our box. | |
| unsigned short | GetlOrder (void) const |
| Get the order in the l direction of the FFD FFDBox. | |
| unsigned short | GetmOrder (void) const |
| Get the order in the m direction of the FFD FFDBox. | |
| unsigned short | GetnOrder (void) const |
| Get the order in the n direction of the FFD FFDBox. | |
| void | SetlOrder (unsigned short val_lOrder) |
| Get the order in the l direction of the FFD FFDBox. | |
| void | SetmOrder (unsigned short val_mOrder) |
| Get the order in the m direction of the FFD FFDBox. | |
| void | SetnOrder (unsigned short val_nOrder) |
| Get the order in the n direction of the FFD FFDBox. | |
| bool | CheckPointInsideFFD (const su2double *coord) const |
| Returns true if the point is inside the FFD. | |
| void | SetDeformationZone (CGeometry *geometry, CConfig *config, unsigned short iFFDBox) const |
| Set the zone of the computational domain that is going to be deformed. | |
| su2double * | GetFFDGradient (su2double *val_coord, su2double *xyz) |
| The routine computes the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 evaluated at (u, v, w). | |
| void | GetFFDHessian (su2double *uvw, su2double *xyz, su2double **val_Hessian) |
| The routine that computes the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 evaluated at (u, v, w) Input: (u, v, w), (x, y, z) Output: Hessian F (u, v, w). | |
| su2double | GetDerivative1 (su2double *uvw, unsigned short val_diff, unsigned short *ijk, unsigned short *lmn) const |
| An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)^2+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z)^2 Input: val_t, val_diff (to identify the index of the Bernstein polynomail we differentiate), the i, j, k , l, m, n E.G.: val_diff=2 => we differentiate w.r.t. w (val_diff=0,1, or 2) Output: d [B_i^l*B_j^m *B_k^n] / d val_diff (val_u, val_v, val_w). | |
| su2double | GetDerivative2 (su2double *uvw, unsigned short dim, const su2double *xyz, const unsigned short *lmn) const |
| An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)^2+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z)^2 Input: (u, v, w), dim , xyz=(x, y, z), l, m, n E.G.: dim=2 => we use the third coordinate of the control points, and the z-coordinate of xyz (0<=dim<=2) Output: 2* ( (Sum_{i, j, k}^l, m, n P_{ijk}[dim] B_i^l[u] B_j^m[v] B_k^n[w]) - xyz[dim]). | |
| su2double | GetDerivative3 (su2double *uvw, unsigned short dim, unsigned short diff_this, unsigned short *lmn) const |
| An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z) | |
| su2double | GetDerivative4 (su2double *uvw, unsigned short val_diff, unsigned short val_diff2, unsigned short *ijk, unsigned short *lmn) const |
| An auxiliary routine to help us compute the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z) Input: val_t, val_diff, val_diff2 (to identify the index of the Bernstein polynomials we differentiate), the i, j, k , l, m, n E.G.: val_diff=1, val_diff2=2 => we differentiate w.r.t. v and w (val_diff=0,1, or 2) E.G.: val_diff=0, val_diff2=0 => we differentiate w.r.t. u two times Output: [d [B_i^l*B_j^m *B_k^n]/d val_diff *d [B_i^l*B_j^m *B_k^n]/d val_diff2] (val_u, val_v, val_w) . | |
| su2double | GetDerivative5 (su2double *uvw, unsigned short dim, unsigned short diff_this, unsigned short diff_this_also, unsigned short *lmn) const |
| An auxiliary routine to help us compute the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z) Input: (u, v, w), dim , diff_this, diff_this_also, xyz=(x, y, z), l, m, n Output: Sum_{i, j, k}^{l, m, n} [two of them with -1, depending on diff_this, diff_this_also=0,1 or 2] P_{ijk}[dim] * (B_i^l[u] B_j^m[v] B_k^n[w])–one of them diffrentiated; which? diff_thiss will tell us ; E.G.: dim=2, diff_this=1 => we use the third coordinate of the control points, and derivate de v-Bersntein polynomial (use m-1 when summing!!). | |
| su2double | GetNorm (const su2double *a) |
| Euclidean norm of a vector. | |
| void | SetTag (string val_tag) |
| Set the tag that identify a FFDBox. | |
| string | GetTag () const |
| Get the tag that identify a FFDBox. | |
| void | SetLevel (unsigned short val_level) |
| Set the nested level of the FFDBox. | |
| unsigned short | GetLevel () const |
| Get the nested level of the FFDBox. | |
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. | |
Public Attributes | |
| unsigned short | nDim |
| Number of dimensions of the problem. | |
| unsigned short | nCornerPoints |
| Number of corner points of the FFDBox. | |
| unsigned short | nControlPoints |
| unsigned short | nControlPoints_Copy |
| Number of control points of the FFDBox. | |
| su2double ** | Coord_Corner_Points |
| Coordinates of the corner points. | |
| su2double **** | Coord_Control_Points |
| Coordinates of the control points. | |
| su2double **** | ParCoord_Control_Points |
| Coordinates of the control points. | |
| su2double **** | Coord_Control_Points_Copy |
| Coordinates of the control points (copy). | |
| su2double **** | Coord_SupportCP {nullptr} |
| Coordinates of the support control points. | |
| unsigned short | lOrder |
| unsigned short | lOrder_Copy |
| Order of the FFDBox in the i direction. | |
| unsigned short | mOrder |
| unsigned short | mOrder_Copy |
| Order of the FFDBox in the j direction. | |
| unsigned short | nOrder |
| unsigned short | nOrder_Copy |
| Order of the FFDBox in the k direction. | |
| unsigned short | lDegree |
| unsigned short | lDegree_Copy |
| Degree of the FFDBox in the i direction. (lOrder - 1) | |
| unsigned short | mDegree |
| unsigned short | mDegree_Copy |
| Degree of the FFDBox in the j direction. (mOrder - 1) | |
| unsigned short | nDegree |
| unsigned short | nDegree_Copy |
| Degree of the FFDBox in the k direction. (nOrder - 1) | |
| su2double * | ParamCoord |
| su2double * | ParamCoord_ |
| Parametric coordinates of a point. | |
| su2double * | cart_coord |
| su2double * | cart_coord_ |
| Cartesian coordinates of a point. | |
| su2double | ObjFunc |
| Objective function of the point inversion process. | |
| su2double * | Gradient |
| Gradient of the point inversion process. | |
| su2double ** | Hessian |
| Hessian of the point inversion process. | |
| su2double | MaxCoord [3] |
| Maximum coordinates of the FFDBox. | |
| su2double | MinCoord [3] |
| Minimum coordinates of the FFDBox. | |
| string | Tag |
| Tag to identify the FFDBox. | |
| unsigned short | Level |
| Nested level of the FFD box. | |
| vector< su2double > | CartesianCoord [3] |
| Vector with all the cartesian coordinates in the FFD FFDBox. | |
| vector< su2double > | ParametricCoord [3] |
| Vector with all the parametrics coordinates in the FFD FFDBox. | |
| vector< unsigned short > | MarkerIndex |
| Vector with all markers in the FFD FFDBox. | |
| vector< unsigned long > | VertexIndex |
| Vector with all vertex index in the FFD FFDBox. | |
| vector< unsigned long > | PointIndex |
| Vector with all points index in the FFD FFDBox. | |
| unsigned long | nSurfacePoint |
| Number of surfaces in the FFD FFDBox. | |
| vector< string > | ParentFFDBox |
| Vector with all the parent FFD FFDBox. | |
| vector< string > | ChildFFDBox |
| Vector with all the child FFD FFDBox. | |
| vector< unsigned short > | Fix_IPlane |
| Fix FFD I plane. | |
| vector< unsigned short > | Fix_JPlane |
| Fix FFD J plane. | |
| vector< unsigned short > | Fix_KPlane |
| Fix FFD K plane. | |
| CFreeFormBlending ** | BlendingFunction |
Additional Inherited Members | |
Protected Attributes inherited from CGridMovement | |
| int | rank |
| MPI Rank. | |
| int | size |
| MPI Size. | |
Class for defining the free form FFDBox structure.
| CFreeFormDefBox::CFreeFormDefBox | ( | void | ) |
Constructor of the class.
| CFreeFormDefBox::CFreeFormDefBox | ( | const unsigned short | Degree[], |
| unsigned short | BSplineOrder[], | ||
| unsigned short | kind_blending | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| [in] | val_lDegree | - Degree of the FFDBox in the i direction. |
| [in] | val_mDegree | - Degree of the FFDBox in the j direction. |
| [in] | val_nDegree | - Degree of the FFDBox in the k direction. |
|
override |
Destructor of the class.
| bool CFreeFormDefBox::CheckPointInsideFFD | ( | const su2double * | coord | ) | const |
Returns true if the point is inside the FFD.
| [in] | coord | - Coordinate of the point to check. |
|
inline |
Compute the cross product.
| [in] | v1 | - First input vector. |
| [in] | v2 | - Second input vector. |
| [out] | v3 | - Output vector wuth the cross product. |
Compute the doc product.
| [in] | v1 | - First input vector. |
| [in] | v2 | - Sencond input vector. |
Here we take the parametric coords of a point in the box and we convert them to the physical cartesian coords by plugging the ParamCoords on the Bezier parameterization of our box.
| [in] | ParamCoord | - Parametric coordinates of a point. |
|
inline |
Get Cartesian coordinates.
| [in] | Get_VertexIndex | - Surface points of FFD box. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Get index of the marker.
| [in] | val_iSurfacePoints | - Surface points of FFD box. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Get parametric coordinates.
| [in] | Get_VertexIndex | - Surface points of FFD box. |
|
inline |
Get index of the point.
| [in] | Get_VertexIndex | - Surface points of FFD box. |
|
inline |
Get index of the marker.
| [in] | Get_VertexIndex | - Surface points of FFD box. |
|
inline |
Get tag of child FFD box.
| [in] | val_ChildFFDBox | - index of child FFD box. |
|
inline |
Get the coordinates of the control point.
| [in] | val_iindex | - Value of the local i index of the control point. |
| [in] | val_jindex | - Value of the local j index of the control point. |
| [in] | val_kindex | - Value of the local k index of the control point. |
|
inline |
Get the coordinates of the corner points.
| [in] | val_dim | - Index of the coordinate (x, y, z). |
| [in] | val_icornerpoints | - Index of the corner point. |
|
inline |
Get the coordinates of the corner points.
| [in] | val_icornerpoints | - Index of the corner point. |
| su2double CFreeFormDefBox::GetDerivative1 | ( | su2double * | uvw, |
| unsigned short | val_diff, | ||
| unsigned short * | ijk, | ||
| unsigned short * | lmn | ||
| ) | const |
An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)^2+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z)^2 Input: val_t, val_diff (to identify the index of the Bernstein polynomail we differentiate), the i, j, k , l, m, n E.G.: val_diff=2 => we differentiate w.r.t. w (val_diff=0,1, or 2) Output: d [B_i^l*B_j^m *B_k^n] / d val_diff (val_u, val_v, val_w).
| [in] | uvw | - __________. |
| [in] | val_diff | - __________. |
| [in] | ijk | - __________. |
| [in] | lmn | - Degree of the FFD box. |
| su2double CFreeFormDefBox::GetDerivative2 | ( | su2double * | uvw, |
| unsigned short | dim, | ||
| const su2double * | xyz, | ||
| const unsigned short * | lmn | ||
| ) | const |
An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)^2+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z)^2 Input: (u, v, w), dim , xyz=(x, y, z), l, m, n E.G.: dim=2 => we use the third coordinate of the control points, and the z-coordinate of xyz (0<=dim<=2) Output: 2* ( (Sum_{i, j, k}^l, m, n P_{ijk}[dim] B_i^l[u] B_j^m[v] B_k^n[w]) - xyz[dim]).
| [in] | uvw | - __________. |
| [in] | dim | - __________. |
| [in] | xyz | - __________. |
| [in] | lmn | - Degree of the FFD box. |
| su2double CFreeFormDefBox::GetDerivative3 | ( | su2double * | uvw, |
| unsigned short | dim, | ||
| unsigned short | diff_this, | ||
| unsigned short * | lmn | ||
| ) | const |
An auxiliary routine to help us compute the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z)
| [in] | uvw | - Parametric coordiates of the point. |
| [in] | dim | - Value of the coordinate to be differentiate. |
| [in] | diff_this | - Diferentiation with respect this coordinate. |
| [in] | lmn | - Degree of the FFD box. |
| su2double CFreeFormDefBox::GetDerivative4 | ( | su2double * | uvw, |
| unsigned short | val_diff, | ||
| unsigned short | val_diff2, | ||
| unsigned short * | ijk, | ||
| unsigned short * | lmn | ||
| ) | const |
An auxiliary routine to help us compute the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z) Input: val_t, val_diff, val_diff2 (to identify the index of the Bernstein polynomials we differentiate), the i, j, k , l, m, n E.G.: val_diff=1, val_diff2=2 => we differentiate w.r.t. v and w (val_diff=0,1, or 2) E.G.: val_diff=0, val_diff2=0 => we differentiate w.r.t. u two times Output: [d [B_i^l*B_j^m *B_k^n]/d val_diff *d [B_i^l*B_j^m *B_k^n]/d val_diff2] (val_u, val_v, val_w) .
| [in] | uvw | - __________. |
| [in] | val_diff | - __________. |
| [in] | val_diff2 | - __________. |
| [in] | ijk | - __________. |
| [in] | lmn | - Degree of the FFD box. |
| su2double CFreeFormDefBox::GetDerivative5 | ( | su2double * | uvw, |
| unsigned short | dim, | ||
| unsigned short | diff_this, | ||
| unsigned short | diff_this_also, | ||
| unsigned short * | lmn | ||
| ) | const |
An auxiliary routine to help us compute the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 = (Sum_ijk^lmn P1_ijk Bi Bj Bk -x)^2+(Sum_ijk^lmn P2_ijk Bi Bj Bk -y)+(Sum_ijk^lmn P3_ijk Bi Bj Bk -z) Input: (u, v, w), dim , diff_this, diff_this_also, xyz=(x, y, z), l, m, n Output: Sum_{i, j, k}^{l, m, n} [two of them with -1, depending on diff_this, diff_this_also=0,1 or 2] P_{ijk}[dim] * (B_i^l[u] B_j^m[v] B_k^n[w])–one of them diffrentiated; which? diff_thiss will tell us ; E.G.: dim=2, diff_this=1 => we use the third coordinate of the control points, and derivate de v-Bersntein polynomial (use m-1 when summing!!).
| [in] | uvw | - __________. |
| [in] | dim | - __________. |
| [in] | diff_this | - __________. |
| [in] | diff_this_also | - __________. |
| [in] | lmn | - Degree of the FFD box. |
The routine computes the gradient of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 evaluated at (u, v, w).
| [in] | val_coord | - Parametric coordiates of the target point. |
| [in] | xyz | - Cartesians coordinates of the point. |
| [in] | analytical | - Compute the analytical gradient. |
The routine that computes the Hessian of F(u, v, w) = ||X(u, v, w)-(x, y, z)||^2 evaluated at (u, v, w) Input: (u, v, w), (x, y, z) Output: Hessian F (u, v, w).
| [in] | uvw | - Current value of the parametrics coordinates. |
| [in] | xyz | - Cartesians coordinates of the target point to compose the functional. |
| [in] | val_Hessian | - Value of the hessian. |
|
inline |
Get the nested level of the FFDBox.
|
inline |
Get the order in the l direction of the FFD FFDBox.
|
inline |
Get the order in the m direction of the FFD FFDBox.
|
inline |
Get number of child FFD boxes.
|
inline |
Get the number of control points.
|
inline |
Get the number of corner points.
|
inline |
Get the order in the n direction of the FFD FFDBox.
Euclidean norm of a vector.
| [in] | a | - _______. |
|
inline |
Get number of parent FFD boxes.
|
inline |
Get number of surface points.
|
inline |
Get the number of numerical points on the surface.
Set the cartesian coords of a point in R^3 and convert them to the parametric coords of our parametrization of a paralellepiped.
| [in] | cart_coord | - Cartesian coordinates of a point. |
| su2double * CFreeFormDefBox::GetParametricCoord_Iterative | ( | unsigned long | iPoint, |
| su2double * | xyz, | ||
| const su2double * | guess, | ||
| CConfig * | config | ||
| ) |
Iterative strategy for computing the parametric coordinates.
| [in] | xyz | - Cartesians coordinates of the target point. |
| [in] | guess | - Initial guess for doing the parametric coordinates search. |
| [in] | tol | - Level of convergence of the iterative method. |
| [in] | it_max | - Maximal number of iterations. |
|
inline |
Get the parametric coordinates of the control point.
| [in] | val_iindex | - Value of the local i index of the control point. |
| [in] | val_jindex | - Value of the local j index of the control point. |
| [in] | val_kindex | - Value of the local k index of the control point. |
|
inline |
Get tag of parent FFD box.
| [in] | val_ParentFFDBox | - idex of parent FFD box. |
|
inline |
Get the tag that identify a FFDBox.
|
inline |
Adds to the vector of cartesian coordinates.
| [in] | val_coord | - New coord inside FFD box. |
| [in] | val_iSurfacePoints | - Surface points of FFD box. |
|
inline |
Add to the vector of cartesian coordinates a new coordinate.
| [in] | val_coord | - New coordinate inside the FFD box. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Define the I planes to to fix in a FFD box.
| [in] | val_plane | - Index of the plane to fix. |
|
inline |
Add to the vector of markers a new marker.
| [in] | val_iMarker | - New marker inside the FFD box. |
|
inline |
Adds to the set of Parametric coordinates.
| [in] | val_coord | - New coord inside FFD box. |
| [in] | val_iSurfacePoints | - Surface points of FFD box. |
|
inline |
Add to the vector of parametric coordinates a new coordinate.
| [in] | val_coord | - New coordinate inside the FFD box. |
|
inline |
Add to the vector of points a new point.
| [in] | val_iPoint | - New point inside the FFD box. |
|
inline |
Add to the vector of vertices a new vertex.
| [in] | val_iVertex | - New vertex inside the FFD box. |
| void CFreeFormDefBox::SetCart2Cyl_ControlPoints | ( | CConfig * | config | ) |
Set Cartesians to Cylindrical ControlPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetCart2Cyl_CornerPoints | ( | CConfig * | config | ) |
Set Cartesians to Cylindrical CornerPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetCart2Sphe_ControlPoints | ( | CConfig * | config | ) |
SetCartesians to Spherical ControlPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetCart2Sphe_CornerPoints | ( | CConfig * | config | ) |
Set Cartesians to Spherical Corner Points.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetCGNS | ( | CGeometry * | geometry, |
| unsigned short | iFFDBox, | ||
| bool | original | ||
| ) |
Set the CGNS file of the FFD chuck structure.
| [in] | iFFDBox | - Index of the FFD box. |
| [in] | original | - Original box (before deformation). |
|
inline |
Add to the vector of child FFDBoxes a new FFD FFDBox.
| [in] | val_iChildFFDBox | - New child FFDBox in the vector. |
|
inline |
Set the new value of the coordinates of the control points.
| [in] | val_index | - Local index (i, j, k) of the control point. |
| [in] | movement | - Movement of the control point. |
| void CFreeFormDefBox::SetControlPoints_Parallelepiped | ( | void | ) |
Set the control points in a parallelepiped (hexahedron).
|
inline |
Set the coordinates of the control points.
| [in] | val_coord | - Coordinates of the control point. |
| [in] | iDegree | - Index of the FFDBox, i direction. |
| [in] | jDegree | - Index of the FFDBox, j direction. |
| [in] | kDegree | - Index of the FFDBox, k direction. |
|
inline |
Set the coordinates of the control points.
| [in] | val_coord | - Coordinates of the control point. |
| [in] | iDegree | - Index of the FFDBox, i direction. |
| [in] | jDegree | - Index of the FFDBox, j direction. |
| [in] | kDegree | - Index of the FFDBox, k direction. |
|
inline |
Set the coordinates of the corner points.
| [in] | val_coord | - Coordinates of the corner point with index val_icornerpoints. |
| [in] | val_icornerpoints | - Index of the corner point. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| [in] | val_xcoord | - X coordinate of the corner point with index val_icornerpoints. |
| [in] | val_ycoord | - Y coordinate of the corner point with index val_icornerpoints. |
| [in] | val_zcoord | - Z coordinate of the corner point with index val_icornerpoints. |
| [in] | val_icornerpoints | - Index of the corner point. |
| void CFreeFormDefBox::SetCyl2Cart_ControlPoints | ( | CConfig * | config | ) |
Set Cylindrical to Cartesians_ControlPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetCyl2Cart_CornerPoints | ( | CConfig * | config | ) |
Set Cylindrical to Cartesians_CornerPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetDeformationZone | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned short | iFFDBox | ||
| ) | const |
Set the zone of the computational domain that is going to be deformed.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | iFFDBox | - Index of the FFDBox. |
|
inline |
Set the nested level of the FFDBox.
| [in] | val_level | - value of the level. |
|
inline |
Get the order in the l direction of the FFD FFDBox.
|
inline |
Get the order in the m direction of the FFD FFDBox.
|
inline |
Get the number of control points.
|
inline |
Set the number of corner points.
| [in] | val_ncornerpoints | - Number of corner points. |
|
inline |
Get the order in the n direction of the FFD FFDBox.
|
inline |
Set the original value of the control points.
| void CFreeFormDefBox::SetParaview | ( | CGeometry * | geometry, |
| unsigned short | iFFDBox, | ||
| bool | original | ||
| ) |
Set the paraview file of the FFD chuck structure.
| [in] | iFFDBox | - Index of the FFD box. |
| [in] | original | - Original box (before deformation). |
|
inline |
Set the coordinates of the control points.
| [in] | val_coord | - Coordinates of the control point. |
| [in] | iDegree | - Index of the FFDBox, i direction. |
| [in] | jDegree | - Index of the FFDBox, j direction. |
| [in] | kDegree | - Index of the FFDBox, k direction. |
|
inline |
Add to the vector of parent FFDBoxes a new FFD FFDBox.
| [in] | val_iParentFFDBox | - New parent FFDBox in the vector. |
| void CFreeFormDefBox::SetSphe2Cart_ControlPoints | ( | CConfig * | config | ) |
Set Spherical to Cartesians ControlPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetSphe2Cart_CornerPoints | ( | CConfig * | config | ) |
Set Spherical to Cartesians_CornerPoints.
| [in] | config | - Definition of the particular problem. |
| void CFreeFormDefBox::SetSupportCP | ( | CFreeFormDefBox * | FFDBox | ) |
Set the control points of the final chuck in a unitary hexahedron free form.
| [in] | FFDBox | - Original FFDBox where we want to compute the control points. |
| void CFreeFormDefBox::SetSupportCPChange | ( | CFreeFormDefBox * | FFDBox | ) |
Change the the position of the corners of the unitary FFDBox, and find the position of the control points for the FFDBox.
| [in] | FFDBox | - Original FFDBox where we want to compute the control points. |
|
inline |
Set the tag that identify a FFDBox.
| [in] | val_tag | - value of the tag. |
| void CFreeFormDefBox::SetTecplot | ( | CGeometry * | geometry, |
| unsigned short | iFFDBox, | ||
| bool | original | ||
| ) |
Set the tecplot file of the FFD chuck structure.
| [in] | iFFDBox | - Index of the FFD box. |
| [in] | original | - Original box (before deformation). |
| void CFreeFormDefBox::SetUnitCornerPoints | ( | void | ) |
Set the corner point for the unitary FFDBox.
| CFreeFormBlending** CFreeFormDefBox::BlendingFunction |
| su2double * CFreeFormDefBox::cart_coord |
| su2double * CFreeFormDefBox::cart_coord_ |
Cartesian coordinates of a point.
| vector<su2double> CFreeFormDefBox::CartesianCoord[3] |
Vector with all the cartesian coordinates in the FFD FFDBox.
| vector<string> CFreeFormDefBox::ChildFFDBox |
Vector with all the child FFD FFDBox.
| su2double **** CFreeFormDefBox::Coord_Control_Points |
Coordinates of the control points.
| su2double **** CFreeFormDefBox::Coord_Control_Points_Copy |
Coordinates of the control points (copy).
| su2double** CFreeFormDefBox::Coord_Corner_Points |
Coordinates of the corner points.
| su2double **** CFreeFormDefBox::Coord_SupportCP {nullptr} |
Coordinates of the support control points.
| vector<unsigned short> CFreeFormDefBox::Fix_IPlane |
Fix FFD I plane.
| vector<unsigned short> CFreeFormDefBox::Fix_JPlane |
Fix FFD J plane.
| vector<unsigned short> CFreeFormDefBox::Fix_KPlane |
Fix FFD K plane.
| su2double* CFreeFormDefBox::Gradient |
Gradient of the point inversion process.
| su2double** CFreeFormDefBox::Hessian |
Hessian of the point inversion process.
| unsigned short CFreeFormDefBox::lDegree |
| unsigned short CFreeFormDefBox::lDegree_Copy |
Degree of the FFDBox in the i direction. (lOrder - 1)
| unsigned short CFreeFormDefBox::Level |
Nested level of the FFD box.
| unsigned short CFreeFormDefBox::lOrder |
| unsigned short CFreeFormDefBox::lOrder_Copy |
Order of the FFDBox in the i direction.
| vector<unsigned short> CFreeFormDefBox::MarkerIndex |
Vector with all markers in the FFD FFDBox.
| su2double CFreeFormDefBox::MaxCoord[3] |
Maximum coordinates of the FFDBox.
| unsigned short CFreeFormDefBox::mDegree |
| unsigned short CFreeFormDefBox::mDegree_Copy |
Degree of the FFDBox in the j direction. (mOrder - 1)
| su2double CFreeFormDefBox::MinCoord[3] |
Minimum coordinates of the FFDBox.
| unsigned short CFreeFormDefBox::mOrder |
| unsigned short CFreeFormDefBox::mOrder_Copy |
Order of the FFDBox in the j direction.
| unsigned short CFreeFormDefBox::nControlPoints |
| unsigned short CFreeFormDefBox::nControlPoints_Copy |
Number of control points of the FFDBox.
| unsigned short CFreeFormDefBox::nCornerPoints |
Number of corner points of the FFDBox.
| unsigned short CFreeFormDefBox::nDegree |
| unsigned short CFreeFormDefBox::nDegree_Copy |
Degree of the FFDBox in the k direction. (nOrder - 1)
| unsigned short CFreeFormDefBox::nDim |
Number of dimensions of the problem.
| unsigned short CFreeFormDefBox::nOrder |
| unsigned short CFreeFormDefBox::nOrder_Copy |
Order of the FFDBox in the k direction.
| unsigned long CFreeFormDefBox::nSurfacePoint |
Number of surfaces in the FFD FFDBox.
| su2double CFreeFormDefBox::ObjFunc |
Objective function of the point inversion process.
| su2double* CFreeFormDefBox::ParamCoord |
| su2double * CFreeFormDefBox::ParamCoord_ |
Parametric coordinates of a point.
| vector<su2double> CFreeFormDefBox::ParametricCoord[3] |
Vector with all the parametrics coordinates in the FFD FFDBox.
| su2double **** CFreeFormDefBox::ParCoord_Control_Points |
Coordinates of the control points.
| vector<string> CFreeFormDefBox::ParentFFDBox |
Vector with all the parent FFD FFDBox.
| vector<unsigned long> CFreeFormDefBox::PointIndex |
Vector with all points index in the FFD FFDBox.
| string CFreeFormDefBox::Tag |
Tag to identify the FFDBox.
| vector<unsigned long> CFreeFormDefBox::VertexIndex |
Vector with all vertex index in the FFD FFDBox.