Skip to content

Commit d0e78c7

Browse files
committed
Improvement parallel computations, start of including data reduction
1 parent ca6ce89 commit d0e78c7

2 files changed

Lines changed: 233 additions & 158 deletions

File tree

Common/include/grid_movement/CRadialBasisFunctionInterpolation.hpp

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,40 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
4040
protected:
4141

4242
vector<CRadialBasisFunctionNode*> boundaryNodes; /*!< \brief Vector with boundary nodes.*/
43-
vector<CRadialBasisFunctionNode*> boundaryNodes_local; /*!< \brief Vector with boundary nodes.*/
44-
vector<unsigned long> boundNodes, boundNodes_local;
4543
vector<unsigned long> internalNodes; /*!< \brief Vector with internal nodes.*/
4644
unsigned long nBoundaryNodes, /*!< \brief Number of boundary nodes*/
4745
nInternalNodes; /*!< \brief Number of internal nodes*/
4846

4947
vector<CRadialBasisFunctionNode*>* controlNodes; /*!< \brief Vector with control nodes*/
5048

5149
vector<passivedouble> deformationVector; /*!< \brief Deformation vector.*/
52-
vector<passivedouble> deformationVector_local; /*!< \brief Deformation vector.*/
5350

5451
vector<passivedouble> coefficients; /*!< \brief Control node interpolation coefficients.*/
5552
CSymmetricMatrix interpMat; /*!< \brief Interpolation matrix.*/
5653
// su2activematrix interpMat;
5754

5855
RADIAL_BASIS kindRBF; /*!< \brief Type of Radial Basis Function.*/
5956
su2double radius; /*!< \brief Support radius of compact Radial Basis Function.*/
57+
58+
59+
/*--- data reduction parameters ---*/
60+
vector<CRadialBasisFunctionNode*> greedyNodes; /*!< \brief Vector with selected control nodes in greedy algorithm. */
61+
bool dataReduction; /*!< \brief Determines whether data reduction is used. */
62+
unsigned long MaxErrorNode;
63+
su2double MaxError;
64+
65+
66+
unsigned long Global_nControlNodes{0};
67+
/*--- mpi related*/
68+
69+
unsigned long Local_nControlNodes;
70+
vector<unsigned long> Local_nControlNodesVec;
71+
72+
vector<su2double> LocalCoords;
73+
vector<su2double> GlobalCoords;
74+
75+
76+
6077

6178
public:
6279

@@ -149,4 +166,10 @@ class CRadialBasisFunctionInterpolation : public CVolumetricMovement {
149166
inline static bool Equal2(unsigned long a, unsigned long b){
150167
return a == b;
151168
};
169+
170+
171+
/*--- Data reduction functions ---*/
172+
void GreedyIteration(CGeometry* geometry, CConfig* config);
173+
174+
void GetInitMaxErrorNode(CGeometry* geometry, CConfig* config);
152175
};

0 commit comments

Comments
 (0)