2828#pragma once
2929#include " CVolumetricMovement.hpp"
3030#include " CRadialBasisFunctionNode.hpp"
31- #include " ../../include/toolboxes/CSymmetricMatrix.hpp"
3231
3332/* !
3433 * \class CRadialBasisFunctionInterpolation
3534 * \brief Class for moving the volumetric numerical grid using Radial Basis Function interpolation.
3635 * \author F. van Steen
3736 */
38-
3937class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
4038 protected:
4139 vector<CRadialBasisFunctionNode*>* ControlNodes = nullptr ; /* !< \brief Vector with control nodes*/
@@ -60,7 +58,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
6058 /* !
6159 * \brief Destructor of the class.
6260 */
63- ~CRadialBasisFunctionInterpolation (void ) override ;
61+ ~CRadialBasisFunctionInterpolation () override ;
6462
6563 /* !
6664 * \brief Grid deformation using the spring analogy method.
@@ -70,8 +68,9 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
7068 * \param[in] Derivative - Compute the derivative (disabled by default). Does not actually deform the grid if enabled.
7169 */
7270 void SetVolume_Deformation (CGeometry* geometry, CConfig* config, bool UpdateGeo, bool Derivative,
73- bool ForwardProjectionDerivative);
71+ bool ForwardProjectionDerivative) override ;
7472
73+ private:
7574 /* !
7675 * \brief Selecting unique set of boundary nodes based on marker information.
7776 * \param[in] geometry - Geometrical definition of the problem.
@@ -101,8 +100,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
101100 * \param[in] type - Type of radial basis function.
102101 * \param[in] radius - Support radius of the radial basis function.
103102 */
104-
105- void SolveRBF_System (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius);
103+ void SolveRBFSystem (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius);
106104
107105 /* !
108106 * \brief Obtaining the interpolation coefficients of the control nodes.
@@ -111,8 +109,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
111109 * \param[in] type - Type of radial basis function.
112110 * \param[in] radius - Support radius of the radial basis function.
113111 */
114-
115- void GetInterpCoeffs (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius);
112+ void GetInterpCoeffs (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius);
116113
117114 /* !
118115 * \brief Gathering of all control node coordinates.
@@ -134,7 +131,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
134131 * \param[in] radius - Support radius of the radial basis function.
135132 * \param[in] invInterpMat - Inverse of the interpolation matrix.
136133 */
137- void ComputeInterpolationMatrix (CGeometry* geometry, const RADIAL_BASIS& type, const su2double radius,
134+ void ComputeInterpolationMatrix (CGeometry* geometry, const RADIAL_BASIS& type, su2double radius,
138135 su2passivematrix& invInterpMat);
139136
140137 /* !
@@ -162,7 +159,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
162159 /* !
163160 * \brief Compute global number of control nodes.
164161 */
165- void Get_nCtrlNodesGlobal ();
162+ void ComputeNCtrlNodesGlobal ();
166163
167164 /* !
168165 * \brief Compute interpolation error.
@@ -173,7 +170,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
173170 * \param[in] maxErrorNodeLocal - Local maximum error node.
174171 * \param[in] maxErrorLocal - Local maximum error.
175172 */
176- void GetInterpError (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius,
173+ void GetInterpError (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius,
177174 unsigned long & maxErrorNodeLocal, su2double& maxErrorLocal);
178175
179176 /* !
@@ -185,7 +182,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
185182 * \param[in] iNode - Local node in consideration.
186183 * \param[in] localError - Local error.
187184 */
188- void GetNodalError (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius,
185+ void GetNodalError (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius,
189186 unsigned long iNode, su2double* localError);
190187
191188 /* !
@@ -196,7 +193,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
196193 * \param[in] radius - Support radius of the radial basis function.
197194 * \param[in] internalNodes - Internal nodes.
198195 */
199- void UpdateGridCoord (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius,
196+ void UpdateGridCoord (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius,
200197 const vector<unsigned long >& internalNodes);
201198
202199 /* !
@@ -206,7 +203,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
206203 * \param[in] radius - Support radius of the radial basis function.
207204 * \param[in] internalNodes - Internal nodes.
208205 */
209- void UpdateInternalCoords (CGeometry* geometry, const RADIAL_BASIS& type, const su2double radius,
206+ void UpdateInternalCoords (CGeometry* geometry, const RADIAL_BASIS& type, su2double radius,
210207 const vector<unsigned long >& internalNodes);
211208
212209 /* !
@@ -216,7 +213,7 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
216213 * \param[in] type - Type of radial basis function.
217214 * \param[in] radius - Support radius of the radial basis function.
218215 */
219- void UpdateBoundCoords (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, const su2double radius);
216+ void UpdateBoundCoords (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type, su2double radius);
220217
221218 /* !
222219 * \brief Apply correction to the nonzero error boundary nodes.
@@ -227,24 +224,4 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
227224 */
228225 void SetCorrection (CGeometry* geometry, CConfig* config, const RADIAL_BASIS& type,
229226 const vector<unsigned long >& internalNodes);
230-
231- /* !
232- * \brief Custom comparison function, for sorting the CRadialBasisFunctionNode objects based on their index.
233- * \param[in] a - First considered Radial Basis Function Node.
234- * \param[in] b - Second considered Radial Basis Function Node.
235- * \return True if index of a is smaller than index of b.
236- */
237- inline static bool HasSmallerIndex (CRadialBasisFunctionNode* a, CRadialBasisFunctionNode* b) {
238- return a->GetIndex () < b->GetIndex ();
239- }
240-
241- /* !
242- * \brief Custom equality function, for obtaining a unique set of CRadialBasisFunctionNode objects.
243- * \param[in] a - First considered Radial Basis Function Node.
244- * \param[in] b - Second considered Radial Basis Function Node.
245- * \return True if index of a and b are equal.
246- */
247- inline static bool HasEqualIndex (CRadialBasisFunctionNode* a, CRadialBasisFunctionNode* b) {
248- return a->GetIndex () == b->GetIndex ();
249- }
250227};
0 commit comments