diff --git a/include/LinearAlgebra/Matrix/coo_matrix.h b/include/LinearAlgebra/Matrix/coo_matrix.h index bac75f9c..c4577353 100644 --- a/include/LinearAlgebra/Matrix/coo_matrix.h +++ b/include/LinearAlgebra/Matrix/coo_matrix.h @@ -28,7 +28,7 @@ class SparseMatrixCOO using triplet_type = std::tuple; SparseMatrixCOO(); - SparseMatrixCOO(const SparseMatrixCOO& other) = delete; + KOKKOS_DEFAULTED_FUNCTION SparseMatrixCOO(const SparseMatrixCOO& other) = default; SparseMatrixCOO(SparseMatrixCOO&& other) noexcept; explicit SparseMatrixCOO(int rows, int columns, int nnz); diff --git a/include/Residual/ResidualTake/applyATake.inl b/include/Residual/ResidualTake/applyATake.inl index 0982b315..b0746f4e 100644 --- a/include/Residual/ResidualTake/applyATake.inl +++ b/include/Residual/ResidualTake/applyATake.inl @@ -95,7 +95,7 @@ void ResidualTake::applySystemOperator(Vector result, Co {grid.numberSmootherCircles(), grid.ntheta()} // Ending point of the index space ), // Kokkos lambda function to execute for each point in the index space - KOKKOS_LAMBDA(const int i_r, const int i_theta) { + KOKKOS_CLASS_LAMBDA(const int i_r, const int i_theta) { node_apply_a_take(i_r, i_theta, grid, DirBC_Interior, result, x, arr, att, art, detDF, coeff_beta); }); @@ -107,7 +107,7 @@ void ResidualTake::applySystemOperator(Vector result, Co {grid.ntheta(), grid.nr()} // Ending point of the index space ), // Kokkos lambda function to execute for each point in the index space - KOKKOS_LAMBDA(const int i_theta, const int i_r) { + KOKKOS_CLASS_LAMBDA(const int i_theta, const int i_r) { node_apply_a_take(i_r, i_theta, grid, DirBC_Interior, result, x, arr, att, art, detDF, coeff_beta); }); diff --git a/include/Residual/ResidualTake/residualTake.h b/include/Residual/ResidualTake/residualTake.h index 2c7cb173..6e4555f0 100644 --- a/include/Residual/ResidualTake/residualTake.h +++ b/include/Residual/ResidualTake/residualTake.h @@ -11,7 +11,8 @@ class ResidualTake : public Residual public: explicit ResidualTake(const PolarGrid& grid, const LevelCacheType& level_cache, const bool DirBC_Interior, const int num_omp_threads); - ~ResidualTake() override = default; + KOKKOS_DEFAULTED_FUNCTION ResidualTake(const ResidualTake&) = default; + KOKKOS_DEFAULTED_FUNCTION ~ResidualTake() override = default; void computeResidual(Vector result, ConstVector rhs, ConstVector x) const override; diff --git a/include/Residual/residual.h b/include/Residual/residual.h index f1525bd1..3bcd9af6 100644 --- a/include/Residual/residual.h +++ b/include/Residual/residual.h @@ -33,8 +33,8 @@ class Residual protected: /* ------------------- */ /* Constructor members */ - const PolarGrid& grid_; - const LevelCacheType& level_cache_; + const PolarGrid grid_; + const LevelCacheType level_cache_; const bool DirBC_Interior_; const int num_omp_threads_; }; diff --git a/include/Smoother/SmootherTake/applyAscOrtho.inl b/include/Smoother/SmootherTake/applyAscOrtho.inl index c640897f..4e9e0203 100644 --- a/include/Smoother/SmootherTake/applyAscOrtho.inl +++ b/include/Smoother/SmootherTake/applyAscOrtho.inl @@ -246,7 +246,7 @@ void SmootherTake::applyAscOrthoBlackCircleSection(ConstVector::applyAscOrthoWhiteCircleSection(ConstVector::applyAscOrthoBlackRadialSection(ConstVector::applyAscOrthoWhiteRadialSection(ConstVector explicit SmootherTake(const PolarGrid& grid, const LevelCacheType& level_cache, bool DirBC_Interior, int num_omp_threads); + KOKKOS_DEFAULTED_FUNCTION SmootherTake(const SmootherTake&) = default; + // Performs one full coupled smoothing sweep: // BC -> WC -> BR -> WR // using temp as RHS workspace. diff --git a/include/Smoother/smoother.h b/include/Smoother/smoother.h index a0639c4a..c4fbda89 100644 --- a/include/Smoother/smoother.h +++ b/include/Smoother/smoother.h @@ -35,13 +35,14 @@ class Smoother , num_omp_threads_(num_omp_threads) { } + KOKKOS_DEFAULTED_FUNCTION Smoother(const Smoother&) = default; virtual ~Smoother() = default; virtual void smoothing(Vector x, ConstVector rhs, Vector temp) = 0; protected: - const PolarGrid& grid_; - const LevelCacheType& level_cache_; + const PolarGrid grid_; + const LevelCacheType level_cache_; const bool DirBC_Interior_; const int num_omp_threads_; };