00001 /* 00002 * DirectInterpolation.hpp 00003 * 00004 * Created on: Jan 22, 2016 00005 * Author: damian 00006 */ 00007 00008 #ifndef SRC_AMG_MKB_AMG_INTERPOLATION_DIRECTINTERPOLATION_HPP_ 00009 #define SRC_AMG_MKB_AMG_INTERPOLATION_DIRECTINTERPOLATION_HPP_ 00010 #include "InterpolationStrategy.hpp" 00011 #include "../AMGMatrixUtilityFunctions.hpp" 00012 class DirectInterpolation : public InterpolationStrategy{ 00013 public: 00014 DirectInterpolation(Mat mat, struct row_info* row_info_array, struct influenced_info* influenced_info_array, 00015 PetscInt first_row_in_range, PetscInt range_end, double strength_threshold); 00016 DirectInterpolation(); 00017 //void PrepareFromCoarseToFineMat(Mat* from_coarse_to_fine_mat, int coarse_rows_number, int coarse_columns_number); 00018 virtual ~DirectInterpolation(); 00019 Mat GetMatrixFromCoarseToFine(); 00020 private: 00021 int SetCoarseRowsNumber(); 00022 void Handle3RS(RowData* rowData); 00023 }; 00024 00025 #endif /* SRC_AMG_MKB_AMG_INTERPOLATION_DIRECTINTERPOLATION_HPP_ */