diff --git a/include/GMGPolar/gmgpolar.h b/include/GMGPolar/gmgpolar.h index 1118fb4af..a5a04b8a5 100644 --- a/include/GMGPolar/gmgpolar.h +++ b/include/GMGPolar/gmgpolar.h @@ -139,10 +139,14 @@ class GMGPolar : public IGMGPolar /* --------------- */ /* Setup Functions */ int chooseNumberOfLevels(const PolarGrid& finest_grid); + // Public due to cuda restrictions +public: template void build_rhs_f(const Level& level, Vector rhs_f, const BoundaryConditions& boundary_conditions, const SourceTerm& source_term); void discretize_rhs_f(const Level& level, Vector rhs_f); + +private: bool checkUniformRefinement(const PolarGrid& grid, double tolerance) const; /* --------------- */ diff --git a/include/GMGPolar/setup.h b/include/GMGPolar/setup.h index d567f0155..72ae09331 100644 --- a/include/GMGPolar/setup.h +++ b/include/GMGPolar/setup.h @@ -194,138 +194,137 @@ void GMGPolar::discretize_rhs_f( const PolarGrid& grid = level.grid(); assert(std::ssize(rhs_f) == grid.numberOfNodes()); + const bool DirBC_Interior = DirBC_Interior_; + if (level.levelCache().cacheDomainGeometry()) { /* DomainGeometry is cached */ const auto& detDF_cache = level.levelCache().detDF(); -#pragma omp parallel - { -// ---------------------------------------------- // -// Discretize rhs values (circular index section) // -// ---------------------------------------------- // -#pragma omp for nowait - for (int i_r = 0; i_r < grid.numberSmootherCircles(); i_r++) { - double r = grid.radius(i_r); - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); - double h2 = grid.radialSpacing(i_r); - double k1 = grid.angularSpacing(i_theta - 1); - double k2 = grid.angularSpacing(i_theta); - const double detDF = detDF_cache[grid.index(i_r, i_theta)]; - rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } - } - } -// -------------------------------------------- // -// Discretize rhs values (radial index section) // -// -------------------------------------------- // -#pragma omp for nowait - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - for (int i_r = grid.numberSmootherCircles(); i_r < grid.nr(); i_r++) { - double r = grid.radius(i_r); - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); - double h2 = grid.radialSpacing(i_r); - double k1 = grid.angularSpacing(i_theta - 1); - double k2 = grid.angularSpacing(i_theta); - const double detDF = detDF_cache[grid.index(i_r, i_theta)]; - rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } + // ---------------------------------------------- // + // Discretize rhs values (circular index section) // + // ---------------------------------------------- // + Kokkos::parallel_for( + "discretize_rhs_f: Circular (cached)", + Kokkos::MDRangePolicy>( + {0, 0}, {grid.numberSmootherCircles(), grid.ntheta()}), + KOKKOS_LAMBDA(const int i_r, const int i_theta) { + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + const double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); + const double h2 = grid.radialSpacing(i_r); + const double k1 = grid.angularSpacing(i_theta - 1); + const double k2 = grid.angularSpacing(i_theta); + const double detDF = detDF_cache[grid.index(i_r, i_theta)]; + rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); } - } - } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + }); + + // -------------------------------------------- // + // Discretize rhs values (radial index section) // + // -------------------------------------------- // + Kokkos::parallel_for( + "discretize_rhs_f: Radial (cached)", + Kokkos::MDRangePolicy>({0, grid.numberSmootherCircles()}, + {grid.ntheta(), grid.nr()}), + KOKKOS_LAMBDA(const int i_theta, const int i_r) { + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + const double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); + const double h2 = grid.radialSpacing(i_r); + const double k1 = grid.angularSpacing(i_theta - 1); + const double k2 = grid.angularSpacing(i_theta); + const double detDF = detDF_cache[grid.index(i_r, i_theta)]; + rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); + } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + }); } else { /* DomainGeometry is not cached */ - -#pragma omp parallel - { -// ---------------------------------------------- // -// Discretize rhs values (circular index section) // -// ---------------------------------------------- // -#pragma omp for nowait - for (int i_r = 0; i_r < grid.numberSmootherCircles(); i_r++) { - double r = grid.radius(i_r); - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); - double h2 = grid.radialSpacing(i_r); - double k1 = grid.angularSpacing(i_theta - 1); - double k2 = grid.angularSpacing(i_theta); - /* Calculate the elements of the Jacobian matrix for the transformation mapping */ - /* The Jacobian matrix is: */ - /* [Jrr, Jrt] */ - /* [Jtr, Jtt] */ - double Jrr = domain_geometry_.dFx_dr(r, theta); - double Jtr = domain_geometry_.dFy_dr(r, theta); - double Jrt = domain_geometry_.dFx_dt(r, theta); - double Jtt = domain_geometry_.dFy_dt(r, theta); - /* Compute the determinant of the Jacobian matrix */ - double detDF = Jrr * Jtt - Jrt * Jtr; - rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } + // Local copy is required to avoid copying the class + const DomainGeometry& domain_geometry = domain_geometry_; + + // ---------------------------------------------- // + // Discretize rhs values (circular index section) // + // ---------------------------------------------- // + Kokkos::parallel_for( + "discretize_rhs_f: Circular (uncached)", + Kokkos::MDRangePolicy>( + {0, 0}, {grid.numberSmootherCircles(), grid.ntheta()}), + KOKKOS_LAMBDA(const int i_r, const int i_theta) { + const double radius = grid.radius(i_r); + const double theta = grid.theta(i_theta); + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + const double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); + const double h2 = grid.radialSpacing(i_r); + const double k1 = grid.angularSpacing(i_theta - 1); + const double k2 = grid.angularSpacing(i_theta); + /* Calculate the elements of the Jacobian matrix for the transformation mapping */ + /* The Jacobian matrix is: */ + /* [Jrr, Jrt] */ + /* [Jtr, Jtt] */ + const double Jrr = domain_geometry.dFx_dr(radius, theta); + const double Jtr = domain_geometry.dFy_dr(radius, theta); + const double Jrt = domain_geometry.dFx_dt(radius, theta); + const double Jtt = domain_geometry.dFy_dt(radius, theta); + /* Compute the determinant of the Jacobian matrix */ + const double detDF = Jrr * Jtt - Jrt * Jtr; + rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); } - } - -// -------------------------------------------- // -// Discretize rhs values (radial index section) // -// -------------------------------------------- // -#pragma omp for nowait - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - - for (int i_r = grid.numberSmootherCircles(); i_r < grid.nr(); i_r++) { - double r = grid.radius(i_r); - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); - double h2 = grid.radialSpacing(i_r); - double k1 = grid.angularSpacing(i_theta - 1); - double k2 = grid.angularSpacing(i_theta); - /* Calculate the elements of the Jacobian matrix for the transformation mapping */ - /* The Jacobian matrix is: */ - /* [Jrr, Jrt] */ - /* [Jtr, Jtt] */ - double Jrr = domain_geometry_.dFx_dr(r, theta); - double Jtr = domain_geometry_.dFy_dr(r, theta); - double Jrt = domain_geometry_.dFx_dt(r, theta); - double Jtt = domain_geometry_.dFy_dt(r, theta); - /* Compute the determinant of the Jacobian matrix */ - double detDF = Jrr * Jtt - Jrt * Jtr; - rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] *= 1.0; - } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; } - } - } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + }); + + // -------------------------------------------- // + // Discretize rhs values (radial index section) // + // -------------------------------------------- // + Kokkos::parallel_for( + "discretize_rhs_f: Radial (uncached)", + Kokkos::MDRangePolicy>({0, grid.numberSmootherCircles()}, + {grid.ntheta(), grid.nr()}), + KOKKOS_LAMBDA(const int i_theta, const int i_r) { + const double radius = grid.radius(i_r); + const double theta = grid.theta(i_theta); + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + const double h1 = (i_r == 0) ? 2.0 * grid.radius(0) : grid.radialSpacing(i_r - 1); + const double h2 = grid.radialSpacing(i_r); + const double k1 = grid.angularSpacing(i_theta - 1); + const double k2 = grid.angularSpacing(i_theta); + /* Calculate the elements of the Jacobian matrix for the transformation mapping */ + /* The Jacobian matrix is: */ + /* [Jrr, Jrt] */ + /* [Jtr, Jtt] */ + const double Jrr = domain_geometry.dFx_dr(radius, theta); + const double Jtr = domain_geometry.dFy_dr(radius, theta); + const double Jrt = domain_geometry.dFx_dt(radius, theta); + const double Jtt = domain_geometry.dFy_dt(radius, theta); + /* Compute the determinant of the Jacobian matrix */ + const double detDF = Jrr * Jtt - Jrt * Jtr; + rhs_f[grid.index(i_r, i_theta)] *= 0.25 * (h1 + h2) * (k1 + k2) * std::fabs(detDF); + } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] *= 1.0; + } + }); } + + Kokkos::fence(); } template @@ -337,50 +336,51 @@ void GMGPolar::build_rhs_f( const PolarGrid& grid = level.grid(); assert(std::ssize(rhs_f) == grid.numberOfNodes()); -#pragma omp parallel - { -// ----------------------------------------- // -// Store rhs values (circular index section) // -// ----------------------------------------- // -#pragma omp for nowait - for (int i_r = 0; i_r < grid.numberSmootherCircles(); i_r++) { - double r = grid.radius(i_r); - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - rhs_f[grid.index(i_r, i_theta)] = source_term(i_r, i_theta); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D_Interior(r, theta); - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D(r, theta); - } - } - } + const bool DirBC_Interior = DirBC_Interior_; -// --------------------------------------- // -// Store rhs values (radial index section) // -// --------------------------------------- // -#pragma omp for - for (int i_theta = 0; i_theta < grid.ntheta(); i_theta++) { - double theta = grid.theta(i_theta); - - for (int i_r = grid.numberSmootherCircles(); i_r < grid.nr(); i_r++) { - double r = grid.radius(i_r); - if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior_)) { - rhs_f[grid.index(i_r, i_theta)] = source_term(i_r, i_theta); - } - else if (i_r == 0 && DirBC_Interior_) { - rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D_Interior(r, theta); - } - else if (i_r == grid.nr() - 1) { - rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D(r, theta); - } + // ----------------------------------------- // + // Store rhs values (circular index section) // + // ----------------------------------------- // + Kokkos::parallel_for( + "build_rhs_f: Circular", + Kokkos::MDRangePolicy>( + {0, 0}, {grid.numberSmootherCircles(), grid.ntheta()}), + KOKKOS_LAMBDA(const int i_r, const int i_theta) { + const double radius = grid.radius(i_r); + const double theta = grid.theta(i_theta); + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + rhs_f[grid.index(i_r, i_theta)] = source_term(i_r, i_theta); } - } - } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D_Interior(radius, theta); + } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D(radius, theta); + } + }); + + // --------------------------------------- // + // Store rhs values (radial index section) // + // --------------------------------------- // + Kokkos::parallel_for( + "build_rhs_f: Radial", + Kokkos::MDRangePolicy>({0, grid.numberSmootherCircles()}, + {grid.ntheta(), grid.nr()}), + KOKKOS_LAMBDA(const int i_theta, const int i_r) { + const double radius = grid.radius(i_r); + const double theta = grid.theta(i_theta); + if ((0 < i_r && i_r < grid.nr() - 1) || (i_r == 0 && !DirBC_Interior)) { + rhs_f[grid.index(i_r, i_theta)] = source_term(i_r, i_theta); + } + else if (i_r == 0 && DirBC_Interior) { + rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D_Interior(radius, theta); + } + else if (i_r == grid.nr() - 1) { + rhs_f[grid.index(i_r, i_theta)] = boundary_conditions.u_D(radius, theta); + } + }); + + Kokkos::fence(); } template diff --git a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.h index b2e816e79..6d1aa583a 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,11 @@ class CartesianR2_Boundary_CircularGeometry { public: explicit CartesianR2_Boundary_CircularGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Boundary_CircularGeometry(const CartesianR2_Boundary_CircularGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.h index c74e756c4..260346bbb 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -13,9 +14,10 @@ class CartesianR2_Boundary_CzarnyGeometry explicit CartesianR2_Boundary_CzarnyGeometry(); explicit CartesianR2_Boundary_CzarnyGeometry(double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_Boundary_CzarnyGeometry(const CartesianR2_Boundary_CzarnyGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.h index b75bf2d22..7d9909a2a 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,11 @@ class CartesianR2_Boundary_ShafranovGeometry { public: explicit CartesianR2_Boundary_ShafranovGeometry(double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Boundary_ShafranovGeometry(const CartesianR2_Boundary_ShafranovGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.h index ebf3c625e..4a5b67999 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,11 @@ class CartesianR6_Boundary_CircularGeometry { public: explicit CartesianR6_Boundary_CircularGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Boundary_CircularGeometry(const CartesianR6_Boundary_CircularGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.h index d0eb2573c..aa0e9f14b 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -13,9 +14,10 @@ class CartesianR6_Boundary_CzarnyGeometry explicit CartesianR6_Boundary_CzarnyGeometry(); explicit CartesianR6_Boundary_CzarnyGeometry(double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_Boundary_CzarnyGeometry(const CartesianR6_Boundary_CzarnyGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.h b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.h index baf4f8ac2..cb74e78e5 100644 --- a/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.h +++ b/include/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,11 @@ class CartesianR6_Boundary_ShafranovGeometry { public: explicit CartesianR6_Boundary_ShafranovGeometry(double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Boundary_ShafranovGeometry(const CartesianR6_Boundary_ShafranovGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.h b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.h index 29956e3a2..4a31b49ce 100644 --- a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.h +++ b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class PolarR6_Boundary_CircularGeometry { public: explicit PolarR6_Boundary_CircularGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Boundary_CircularGeometry(const PolarR6_Boundary_CircularGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.h b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.h index 0a53b46f4..fb1d2356f 100644 --- a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.h +++ b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class PolarR6_Boundary_CulhamGeometry { public: explicit PolarR6_Boundary_CulhamGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Boundary_CulhamGeometry(const PolarR6_Boundary_CulhamGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.h b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.h index ba0310b89..927ff4496 100644 --- a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.h +++ b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -12,9 +13,10 @@ class PolarR6_Boundary_CzarnyGeometry public: explicit PolarR6_Boundary_CzarnyGeometry(); explicit PolarR6_Boundary_CzarnyGeometry(double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Boundary_CzarnyGeometry(const PolarR6_Boundary_CzarnyGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.h b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.h index 4b745f98f..4bba3c530 100644 --- a/include/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.h +++ b/include/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class PolarR6_Boundary_ShafranovGeometry { public: explicit PolarR6_Boundary_ShafranovGeometry(double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Boundary_ShafranovGeometry(const PolarR6_Boundary_ShafranovGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.h b/include/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.h index 20fba37e6..dd9328882 100644 --- a/include/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.h +++ b/include/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class Refined_Boundary_CircularGeometry { public: explicit Refined_Boundary_CircularGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION Refined_Boundary_CircularGeometry(const Refined_Boundary_CircularGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.h b/include/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.h index 80ed34b50..e9275397d 100644 --- a/include/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.h +++ b/include/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class Refined_Boundary_CulhamGeometry { public: explicit Refined_Boundary_CulhamGeometry(double Rmax); + KOKKOS_DEFAULTED_FUNCTION Refined_Boundary_CulhamGeometry(const Refined_Boundary_CulhamGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.h b/include/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.h index 36fac69db..bbfc858d8 100644 --- a/include/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.h +++ b/include/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -12,9 +13,10 @@ class Refined_Boundary_CzarnyGeometry public: explicit Refined_Boundary_CzarnyGeometry(); explicit Refined_Boundary_CzarnyGeometry(double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION Refined_Boundary_CzarnyGeometry(const Refined_Boundary_CzarnyGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.h b/include/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.h index a6e6d55b6..621cdbb29 100644 --- a/include/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.h +++ b/include/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include "../boundaryConditions.h" @@ -11,9 +12,10 @@ class Refined_Boundary_ShafranovGeometry { public: explicit Refined_Boundary_ShafranovGeometry(double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION Refined_Boundary_ShafranovGeometry(const Refined_Boundary_ShafranovGeometry&) = default; - double u_D(double r, double theta) const; - double u_D_Interior(double r, double theta) const; + KOKKOS_FUNCTION double u_D(double r, double theta) const; + KOKKOS_FUNCTION double u_D_Interior(double r, double theta) const; private: const double Rmax = 1.3; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.h index a3926a345..ab27496d1 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_Poisson_CircularGeometry { public: explicit CartesianR2_Poisson_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Poisson_CircularGeometry(const CartesianR2_Poisson_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.h index 7014ad14c..9fb5c9aac 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR2_Poisson_CzarnyGeometry public: explicit CartesianR2_Poisson_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_Poisson_CzarnyGeometry(const CartesianR2_Poisson_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.h index 93a315a23..7e57db124 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_Poisson_ShafranovGeometry public: explicit CartesianR2_Poisson_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Poisson_ShafranovGeometry(const CartesianR2_Poisson_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.h index c829f1fb6..5695e90b9 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_SonnendruckerGyro_CircularGeometry { public: explicit CartesianR2_SonnendruckerGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_SonnendruckerGyro_CircularGeometry(const CartesianR2_SonnendruckerGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.h index e01900d64..e406aaf39 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_SonnendruckerGyro_CzarnyGeometry public: explicit CartesianR2_SonnendruckerGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_SonnendruckerGyro_CzarnyGeometry(const CartesianR2_SonnendruckerGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.h index ba51e1c00..ffed0049b 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_SonnendruckerGyro_ShafranovGeometry public: explicit CartesianR2_SonnendruckerGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_SonnendruckerGyro_ShafranovGeometry(const CartesianR2_SonnendruckerGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.h index 057cffcd0..2c4c353ba 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_Sonnendrucker_CircularGeometry { public: explicit CartesianR2_Sonnendrucker_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Sonnendrucker_CircularGeometry(const CartesianR2_Sonnendrucker_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.h index f20a6f675..46df1080b 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_Sonnendrucker_CzarnyGeometry public: explicit CartesianR2_Sonnendrucker_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Sonnendrucker_CzarnyGeometry(const CartesianR2_Sonnendrucker_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.h index b86ec41f3..db507abcf 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_Sonnendrucker_ShafranovGeometry public: explicit CartesianR2_Sonnendrucker_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_Sonnendrucker_ShafranovGeometry(const CartesianR2_Sonnendrucker_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.h index 74f1e36a6..56189486d 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_ZoniGyro_CircularGeometry { public: explicit CartesianR2_ZoniGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniGyro_CircularGeometry(const CartesianR2_ZoniGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.h index fd2850238..a6c68a347 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR2_ZoniGyro_CzarnyGeometry public: explicit CartesianR2_ZoniGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_ZoniGyro_CzarnyGeometry(const CartesianR2_ZoniGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.h index f457af617..ea53c4a51 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_ZoniGyro_ShafranovGeometry public: explicit CartesianR2_ZoniGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniGyro_ShafranovGeometry(const CartesianR2_ZoniGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.h index 476af715c..d18d947cc 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_ZoniShiftedGyro_CircularGeometry { public: explicit CartesianR2_ZoniShiftedGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShiftedGyro_CircularGeometry(const CartesianR2_ZoniShiftedGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.h index 81fa73977..d09cedec2 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_ZoniShiftedGyro_CzarnyGeometry public: explicit CartesianR2_ZoniShiftedGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShiftedGyro_CzarnyGeometry(const CartesianR2_ZoniShiftedGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.h index 25b730237..81e1816cc 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_ZoniShiftedGyro_ShafranovGeometry public: explicit CartesianR2_ZoniShiftedGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShiftedGyro_ShafranovGeometry(const CartesianR2_ZoniShiftedGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.h index 32888233c..baea07b45 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR2_ZoniShifted_CircularGeometry { public: explicit CartesianR2_ZoniShifted_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShifted_CircularGeometry(const CartesianR2_ZoniShifted_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.h index fe379d959..bcb64592e 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_ZoniShifted_CzarnyGeometry public: explicit CartesianR2_ZoniShifted_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShifted_CzarnyGeometry(const CartesianR2_ZoniShifted_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.h index 821a311db..ea30601f9 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR2_ZoniShifted_ShafranovGeometry public: explicit CartesianR2_ZoniShifted_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR2_ZoniShifted_ShafranovGeometry(const CartesianR2_ZoniShifted_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.h index a1e2e9fee..31141337f 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.h @@ -13,11 +13,12 @@ class CartesianR2_Zoni_CircularGeometry { public: explicit CartesianR2_Zoni_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_Zoni_CircularGeometry(const CartesianR2_Zoni_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.h index 5b23ae075..bfcc08ab5 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR2_Zoni_CzarnyGeometry public: explicit CartesianR2_Zoni_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_Zoni_CzarnyGeometry(const CartesianR2_Zoni_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.h index baf9bfd29..15fcf405c 100644 --- a/include/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.h @@ -14,11 +14,12 @@ class CartesianR2_Zoni_ShafranovGeometry public: explicit CartesianR2_Zoni_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION CartesianR2_Zoni_ShafranovGeometry(const CartesianR2_Zoni_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.h index 58991ba5b..89d07b62d 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_Poisson_CircularGeometry { public: explicit CartesianR6_Poisson_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Poisson_CircularGeometry(const CartesianR6_Poisson_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.h index 41046282d..e2468619f 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR6_Poisson_CzarnyGeometry public: explicit CartesianR6_Poisson_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_Poisson_CzarnyGeometry(const CartesianR6_Poisson_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.h index ac748476b..19bd70705 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_Poisson_ShafranovGeometry public: explicit CartesianR6_Poisson_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Poisson_ShafranovGeometry(const CartesianR6_Poisson_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.h index fe63b6215..dd5f85a7b 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_SonnendruckerGyro_CircularGeometry { public: explicit CartesianR6_SonnendruckerGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_SonnendruckerGyro_CircularGeometry(const CartesianR6_SonnendruckerGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.h index 7605a903a..5483e3a6d 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_SonnendruckerGyro_CzarnyGeometry public: explicit CartesianR6_SonnendruckerGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_SonnendruckerGyro_CzarnyGeometry(const CartesianR6_SonnendruckerGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.h index 542c3858c..d4f45b3c5 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_SonnendruckerGyro_ShafranovGeometry public: explicit CartesianR6_SonnendruckerGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_SonnendruckerGyro_ShafranovGeometry(const CartesianR6_SonnendruckerGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.h index 83a655b76..acaeb1fd6 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_Sonnendrucker_CircularGeometry { public: explicit CartesianR6_Sonnendrucker_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Sonnendrucker_CircularGeometry(const CartesianR6_Sonnendrucker_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.h index 0dfa06db8..fd7ec12de 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_Sonnendrucker_CzarnyGeometry public: explicit CartesianR6_Sonnendrucker_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Sonnendrucker_CzarnyGeometry(const CartesianR6_Sonnendrucker_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.h index 153b926da..2fdd969bb 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_Sonnendrucker_ShafranovGeometry public: explicit CartesianR6_Sonnendrucker_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_Sonnendrucker_ShafranovGeometry(const CartesianR6_Sonnendrucker_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.h index d22863465..41bdc0ba9 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_ZoniGyro_CircularGeometry { public: explicit CartesianR6_ZoniGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniGyro_CircularGeometry(const CartesianR6_ZoniGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.h index df8c5e7b7..ffdb03ded 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR6_ZoniGyro_CzarnyGeometry public: explicit CartesianR6_ZoniGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_ZoniGyro_CzarnyGeometry(const CartesianR6_ZoniGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.h index 49533ec04..131387f8a 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_ZoniGyro_ShafranovGeometry public: explicit CartesianR6_ZoniGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniGyro_ShafranovGeometry(const CartesianR6_ZoniGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.h index 8fd12333f..23bd28596 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_ZoniShiftedGyro_CircularGeometry { public: explicit CartesianR6_ZoniShiftedGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShiftedGyro_CircularGeometry(const CartesianR6_ZoniShiftedGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.h index 51483bd87..896ef647b 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_ZoniShiftedGyro_CzarnyGeometry public: explicit CartesianR6_ZoniShiftedGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShiftedGyro_CzarnyGeometry(const CartesianR6_ZoniShiftedGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.h index 1676d28bb..c9e92ef98 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_ZoniShiftedGyro_ShafranovGeometry public: explicit CartesianR6_ZoniShiftedGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShiftedGyro_ShafranovGeometry(const CartesianR6_ZoniShiftedGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.h index c58eeb7e9..2d581e307 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.h @@ -13,11 +13,13 @@ class CartesianR6_ZoniShifted_CircularGeometry { public: explicit CartesianR6_ZoniShifted_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShifted_CircularGeometry(const CartesianR6_ZoniShifted_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.h index cf0560f15..645cceee1 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_ZoniShifted_CzarnyGeometry public: explicit CartesianR6_ZoniShifted_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShifted_CzarnyGeometry(const CartesianR6_ZoniShifted_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.h index 766ddea8b..b172906aa 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.h @@ -14,11 +14,13 @@ class CartesianR6_ZoniShifted_ShafranovGeometry public: explicit CartesianR6_ZoniShifted_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + CartesianR6_ZoniShifted_ShafranovGeometry(const CartesianR6_ZoniShifted_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.h index 380e36544..0bc64ba2e 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.h @@ -13,11 +13,12 @@ class CartesianR6_Zoni_CircularGeometry { public: explicit CartesianR6_Zoni_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_Zoni_CircularGeometry(const CartesianR6_Zoni_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.h index 5d5bfc488..40821d06d 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.h @@ -14,11 +14,12 @@ class CartesianR6_Zoni_CzarnyGeometry public: explicit CartesianR6_Zoni_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_Zoni_CzarnyGeometry(const CartesianR6_Zoni_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.h index 63406c85c..98deb83d5 100644 --- a/include/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.h @@ -14,11 +14,12 @@ class CartesianR6_Zoni_ShafranovGeometry public: explicit CartesianR6_Zoni_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION CartesianR6_Zoni_ShafranovGeometry(const CartesianR6_Zoni_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.h index 0e4cf7c34..364e5b922 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.h @@ -13,11 +13,12 @@ class PolarR6_Poisson_CircularGeometry { public: explicit PolarR6_Poisson_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Poisson_CircularGeometry(const PolarR6_Poisson_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.h index bf631f388..d7b206cc3 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.h @@ -14,11 +14,12 @@ class PolarR6_Poisson_CzarnyGeometry public: explicit PolarR6_Poisson_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Poisson_CzarnyGeometry(const PolarR6_Poisson_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.h index decfc28b0..717295aeb 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.h @@ -14,11 +14,12 @@ class PolarR6_Poisson_ShafranovGeometry public: explicit PolarR6_Poisson_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Poisson_ShafranovGeometry(const PolarR6_Poisson_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.h index fede8e3e7..f932bbc1a 100644 --- a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class PolarR6_SonnendruckerGyro_CircularGeometry { public: explicit PolarR6_SonnendruckerGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_SonnendruckerGyro_CircularGeometry(const PolarR6_SonnendruckerGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.h index 33a21c823..0d60af11b 100644 --- a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class PolarR6_SonnendruckerGyro_CzarnyGeometry public: explicit PolarR6_SonnendruckerGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_SonnendruckerGyro_CzarnyGeometry(const PolarR6_SonnendruckerGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.h index 734e406a3..b73c51202 100644 --- a/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class PolarR6_SonnendruckerGyro_ShafranovGeometry public: explicit PolarR6_SonnendruckerGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_SonnendruckerGyro_ShafranovGeometry(const PolarR6_SonnendruckerGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.h index e509ebf43..63577f68b 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.h @@ -13,11 +13,13 @@ class PolarR6_Sonnendrucker_CircularGeometry { public: explicit PolarR6_Sonnendrucker_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_Sonnendrucker_CircularGeometry(const PolarR6_Sonnendrucker_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.h index 335f68115..a2a2a7293 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.h @@ -14,11 +14,13 @@ class PolarR6_Sonnendrucker_CzarnyGeometry public: explicit PolarR6_Sonnendrucker_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_Sonnendrucker_CzarnyGeometry(const PolarR6_Sonnendrucker_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.h index 1b2ce8fcf..f5b67792e 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.h @@ -14,11 +14,13 @@ class PolarR6_Sonnendrucker_ShafranovGeometry public: explicit PolarR6_Sonnendrucker_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_Sonnendrucker_ShafranovGeometry(const PolarR6_Sonnendrucker_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.h index 0541d8627..29d00d8b2 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.h @@ -13,11 +13,12 @@ class PolarR6_ZoniGyro_CircularGeometry { public: explicit PolarR6_ZoniGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION PolarR6_ZoniGyro_CircularGeometry(const PolarR6_ZoniGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.h index 88eef371e..287aef959 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.h @@ -14,11 +14,12 @@ class PolarR6_ZoniGyro_CzarnyGeometry public: explicit PolarR6_ZoniGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION PolarR6_ZoniGyro_CzarnyGeometry(const PolarR6_ZoniGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.h index 3caaec88c..efd517465 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.h @@ -14,11 +14,12 @@ class PolarR6_ZoniGyro_ShafranovGeometry public: explicit PolarR6_ZoniGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION PolarR6_ZoniGyro_ShafranovGeometry(const PolarR6_ZoniGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.h index a331c34d6..4de29c8fe 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class PolarR6_ZoniShiftedGyro_CircularGeometry { public: explicit PolarR6_ZoniShiftedGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShiftedGyro_CircularGeometry(const PolarR6_ZoniShiftedGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.h index 956a344f9..7bee69d0a 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.h @@ -13,11 +13,13 @@ class PolarR6_ZoniShiftedGyro_CulhamGeometry { public: explicit PolarR6_ZoniShiftedGyro_CulhamGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShiftedGyro_CulhamGeometry(const PolarR6_ZoniShiftedGyro_CulhamGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.h index c8d2d79da..cd514aca2 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class PolarR6_ZoniShiftedGyro_CzarnyGeometry public: explicit PolarR6_ZoniShiftedGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShiftedGyro_CzarnyGeometry(const PolarR6_ZoniShiftedGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.h index 7e1deaa60..edc849cf6 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class PolarR6_ZoniShiftedGyro_ShafranovGeometry public: explicit PolarR6_ZoniShiftedGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShiftedGyro_ShafranovGeometry(const PolarR6_ZoniShiftedGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.h index 25b6e2081..c4ac36254 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.h @@ -13,11 +13,13 @@ class PolarR6_ZoniShifted_CircularGeometry { public: explicit PolarR6_ZoniShifted_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShifted_CircularGeometry(const PolarR6_ZoniShifted_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.h index 71c4d6137..a31cb8449 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.h @@ -14,11 +14,12 @@ class PolarR6_ZoniShifted_CzarnyGeometry public: explicit PolarR6_ZoniShifted_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION PolarR6_ZoniShifted_CzarnyGeometry(const PolarR6_ZoniShifted_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.h index 465ee3b6b..b81d88945 100644 --- a/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.h @@ -14,11 +14,13 @@ class PolarR6_ZoniShifted_ShafranovGeometry public: explicit PolarR6_ZoniShifted_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + PolarR6_ZoniShifted_ShafranovGeometry(const PolarR6_ZoniShifted_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.h index 5bb85bfcc..2313ea370 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.h @@ -13,11 +13,12 @@ class PolarR6_Zoni_CircularGeometry { public: explicit PolarR6_Zoni_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Zoni_CircularGeometry(const PolarR6_Zoni_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.h index 5ec32eabc..a3fce910c 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.h @@ -14,11 +14,12 @@ class PolarR6_Zoni_CzarnyGeometry public: explicit PolarR6_Zoni_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Zoni_CzarnyGeometry(const PolarR6_Zoni_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.h index 364356616..5fcfd58f8 100644 --- a/include/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.h @@ -14,11 +14,12 @@ class PolarR6_Zoni_ShafranovGeometry public: explicit PolarR6_Zoni_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION PolarR6_Zoni_ShafranovGeometry(const PolarR6_Zoni_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.h b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.h index 182ebc7b7..cf0d80dd8 100644 --- a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.h +++ b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.h @@ -13,11 +13,13 @@ class Refined_ZoniShiftedGyro_CircularGeometry { public: explicit Refined_ZoniShiftedGyro_CircularGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + Refined_ZoniShiftedGyro_CircularGeometry(const Refined_ZoniShiftedGyro_CircularGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.h b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.h index 820dd97a2..db4693117 100644 --- a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.h +++ b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.h @@ -13,11 +13,13 @@ class Refined_ZoniShiftedGyro_CulhamGeometry { public: explicit Refined_ZoniShiftedGyro_CulhamGeometry(PolarGrid const& grid, double Rmax); + KOKKOS_DEFAULTED_FUNCTION + Refined_ZoniShiftedGyro_CulhamGeometry(const Refined_ZoniShiftedGyro_CulhamGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; }; } // namespace gmgpolar diff --git a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.h b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.h index 71b4b535d..938fcb38a 100644 --- a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.h +++ b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.h @@ -14,11 +14,13 @@ class Refined_ZoniShiftedGyro_CzarnyGeometry public: explicit Refined_ZoniShiftedGyro_CzarnyGeometry(PolarGrid const& grid, double Rmax, double inverse_aspect_ratio_epsilon, double ellipticity_e); + KOKKOS_DEFAULTED_FUNCTION + Refined_ZoniShiftedGyro_CzarnyGeometry(const Refined_ZoniShiftedGyro_CzarnyGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double inverse_aspect_ratio_epsilon = 0.3; const double ellipticity_e = 1.4; diff --git a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.h b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.h index 0c43500d1..1435845bb 100644 --- a/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.h +++ b/include/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.h @@ -14,11 +14,13 @@ class Refined_ZoniShiftedGyro_ShafranovGeometry public: explicit Refined_ZoniShiftedGyro_ShafranovGeometry(PolarGrid const& grid, double Rmax, double elongation_kappa, double shift_delta); + KOKKOS_DEFAULTED_FUNCTION + Refined_ZoniShiftedGyro_ShafranovGeometry(const Refined_ZoniShiftedGyro_ShafranovGeometry&) = default; - double operator()(std::size_t i_r, std::size_t i_theta) const; + KOKKOS_FUNCTION double operator()(std::size_t i_r, std::size_t i_theta) const; private: - PolarGrid const& grid_; + PolarGrid grid_; const double Rmax = 1.3; const double elongation_kappa = 0.3; const double shift_delta = 0.2; diff --git a/src/InputFunctions/BoundaryConditions/CMakeLists.txt b/src/InputFunctions/BoundaryConditions/CMakeLists.txt index c183b0798..10f0a21f7 100644 --- a/src/InputFunctions/BoundaryConditions/CMakeLists.txt +++ b/src/InputFunctions/BoundaryConditions/CMakeLists.txt @@ -21,3 +21,4 @@ target_include_directories(InputFunctions_BoundaryConditions PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/InputFunctions/BoundaryConditions ) +target_link_libraries(InputFunctions_BoundaryConditions PUBLIC Kokkos::kokkos) diff --git a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.cpp index 8b869cd2d..59e428f68 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CircularGeometry.cpp @@ -6,7 +6,7 @@ CartesianR2_Boundary_CircularGeometry::CartesianR2_Boundary_CircularGeometry(dou { } -double CartesianR2_Boundary_CircularGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_CircularGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -14,7 +14,7 @@ double CartesianR2_Boundary_CircularGeometry::u_D(double r, double theta) const cos(2.0 * M_PI * (r / Rmax) * cos_theta); } -double CartesianR2_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.cpp index f9a6e2a79..1184a1d0b 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_CzarnyGeometry.cpp @@ -16,7 +16,7 @@ CartesianR2_Boundary_CzarnyGeometry::CartesianR2_Boundary_CzarnyGeometry(double initializeGeometry(); } -double CartesianR2_Boundary_CzarnyGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_CzarnyGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -27,7 +27,7 @@ double CartesianR2_Boundary_CzarnyGeometry::u_D(double r, double theta) const cos(2.0 * M_PI * (1.0 - temp) / inverse_aspect_ratio_epsilon); } -double CartesianR2_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.cpp index bec5939b4..e126be6dd 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR2_Boundary_ShafranovGeometry.cpp @@ -9,7 +9,7 @@ CartesianR2_Boundary_ShafranovGeometry::CartesianR2_Boundary_ShafranovGeometry(d { } -double CartesianR2_Boundary_ShafranovGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_ShafranovGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -19,7 +19,7 @@ double CartesianR2_Boundary_ShafranovGeometry::u_D(double r, double theta) const 2.0 * elongation_kappa * (r / Rmax) * cos_theta + 2.0 * (r / Rmax) * cos_theta)); } -double CartesianR2_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR2_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.cpp index cb203cac3..1eba3c890 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CircularGeometry.cpp @@ -6,7 +6,7 @@ CartesianR6_Boundary_CircularGeometry::CartesianR6_Boundary_CircularGeometry(dou { } -double CartesianR6_Boundary_CircularGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_CircularGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -14,7 +14,7 @@ double CartesianR6_Boundary_CircularGeometry::u_D(double r, double theta) const sin(2.0 * M_PI * (r / Rmax) * sin_theta) * cos(2.0 * M_PI * (r / Rmax) * cos_theta); } -double CartesianR6_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.cpp index 019d9315a..d3a91ba8e 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_CzarnyGeometry.cpp @@ -16,7 +16,7 @@ CartesianR6_Boundary_CzarnyGeometry::CartesianR6_Boundary_CzarnyGeometry(double initializeGeometry(); } -double CartesianR6_Boundary_CzarnyGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_CzarnyGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -27,7 +27,7 @@ double CartesianR6_Boundary_CzarnyGeometry::u_D(double r, double theta) const cos(2.0 * M_PI * (1.0 - temp) / inverse_aspect_ratio_epsilon); } -double CartesianR6_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.cpp b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.cpp index 612ca7b67..a7b7f8fe9 100644 --- a/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/cartesianR6_Boundary_ShafranovGeometry.cpp @@ -9,7 +9,7 @@ CartesianR6_Boundary_ShafranovGeometry::CartesianR6_Boundary_ShafranovGeometry(d { } -double CartesianR6_Boundary_ShafranovGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_ShafranovGeometry::u_D(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); @@ -19,7 +19,7 @@ double CartesianR6_Boundary_ShafranovGeometry::u_D(double r, double theta) const 2.0 * elongation_kappa * (r / Rmax) * cos_theta + 2.0 * (r / Rmax) * cos_theta)); } -double CartesianR6_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double CartesianR6_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const { double sin_theta = std::sin(theta); double cos_theta = std::cos(theta); diff --git a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.cpp b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.cpp index f60376368..53c6b6478 100644 --- a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CircularGeometry.cpp @@ -6,12 +6,12 @@ PolarR6_Boundary_CircularGeometry::PolarR6_Boundary_CircularGeometry(double Rmax { } -double PolarR6_Boundary_CircularGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CircularGeometry::u_D(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } -double PolarR6_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } diff --git a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.cpp b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.cpp index a977a2f96..5ec2e32ef 100644 --- a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CulhamGeometry.cpp @@ -6,12 +6,12 @@ PolarR6_Boundary_CulhamGeometry::PolarR6_Boundary_CulhamGeometry(double Rmax) { } -double PolarR6_Boundary_CulhamGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CulhamGeometry::u_D(double r, double theta) const { return 0.0; } -double PolarR6_Boundary_CulhamGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CulhamGeometry::u_D_Interior(double r, double theta) const { return 0.0; } diff --git a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.cpp b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.cpp index a9f9ba16c..2b84775ed 100644 --- a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_CzarnyGeometry.cpp @@ -15,12 +15,12 @@ PolarR6_Boundary_CzarnyGeometry::PolarR6_Boundary_CzarnyGeometry(double Rmax, do initializeGeometry(); } -double PolarR6_Boundary_CzarnyGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CzarnyGeometry::u_D(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } -double PolarR6_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } diff --git a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.cpp b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.cpp index 956c1e38b..6e2251767 100644 --- a/src/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/polarR6_Boundary_ShafranovGeometry.cpp @@ -9,12 +9,12 @@ PolarR6_Boundary_ShafranovGeometry::PolarR6_Boundary_ShafranovGeometry(double Rm { } -double PolarR6_Boundary_ShafranovGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_ShafranovGeometry::u_D(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } -double PolarR6_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double PolarR6_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const { return 0.4096 * pow((r / Rmax), 6.0) * pow(((r / Rmax) - 1.0), 6.0) * cos(11.0 * theta); } diff --git a/src/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.cpp b/src/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.cpp index fb620880c..7d6b4cd55 100644 --- a/src/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/refined_Boundary_CircularGeometry.cpp @@ -6,7 +6,7 @@ Refined_Boundary_CircularGeometry::Refined_Boundary_CircularGeometry(double Rmax { } -double Refined_Boundary_CircularGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CircularGeometry::u_D(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * @@ -16,7 +16,7 @@ double Refined_Boundary_CircularGeometry::u_D(double r, double theta) const cos(9.0 * theta); } -double Refined_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CircularGeometry::u_D_Interior(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * diff --git a/src/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.cpp b/src/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.cpp index 57227ec1a..da14b84f2 100644 --- a/src/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/refined_Boundary_CulhamGeometry.cpp @@ -6,12 +6,12 @@ Refined_Boundary_CulhamGeometry::Refined_Boundary_CulhamGeometry(double Rmax) { } -double Refined_Boundary_CulhamGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CulhamGeometry::u_D(double r, double theta) const { return 0.0; } -double Refined_Boundary_CulhamGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CulhamGeometry::u_D_Interior(double r, double theta) const { return 0.0; } diff --git a/src/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.cpp b/src/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.cpp index 0724731b2..cd4ed5ceb 100644 --- a/src/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/refined_Boundary_CzarnyGeometry.cpp @@ -15,7 +15,7 @@ Refined_Boundary_CzarnyGeometry::Refined_Boundary_CzarnyGeometry(double Rmax, do initializeGeometry(); } -double Refined_Boundary_CzarnyGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CzarnyGeometry::u_D(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * @@ -25,7 +25,7 @@ double Refined_Boundary_CzarnyGeometry::u_D(double r, double theta) const cos(9.0 * theta); } -double Refined_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_CzarnyGeometry::u_D_Interior(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * diff --git a/src/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.cpp b/src/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.cpp index 7c34ea057..60ed8da7b 100644 --- a/src/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.cpp +++ b/src/InputFunctions/BoundaryConditions/refined_Boundary_ShafranovGeometry.cpp @@ -9,7 +9,7 @@ Refined_Boundary_ShafranovGeometry::Refined_Boundary_ShafranovGeometry(double Rm { } -double Refined_Boundary_ShafranovGeometry::u_D(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_ShafranovGeometry::u_D(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * @@ -19,7 +19,7 @@ double Refined_Boundary_ShafranovGeometry::u_D(double r, double theta) const cos(9.0 * theta); } -double Refined_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const +KOKKOS_FUNCTION double Refined_Boundary_ShafranovGeometry::u_D_Interior(double r, double theta) const { return ((-3.33823779536505e-15) * ((r / Rmax) * (r / Rmax)) - 0.0 * (r / Rmax) - 0.0 + exp((-3333.33333333333) * pow(((r / Rmax) - 0.9), 2.0))) * diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.cpp index 4ddca2a08..18ecf5375 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR2_Poisson_CircularGeometry::CartesianR2_Poisson_CircularGeometry(Polar { } -double CartesianR2_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.cpp index af825eede..680567469 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR2_Poisson_CzarnyGeometry::CartesianR2_Poisson_CzarnyGeometry(PolarGrid initializeGeometry(); } -double CartesianR2_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.cpp index 249667c91..fb9ea5ed0 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Poisson_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR2_Poisson_ShafranovGeometry::CartesianR2_Poisson_ShafranovGeometry(Pol { } -double CartesianR2_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.cpp index 0ea4983dc..1e5035494 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR2_SonnendruckerGyro_CircularGeometry::CartesianR2_SonnendruckerGyro_Ci { } -double CartesianR2_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.cpp index c5425a50c..2c944f3e2 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_CzarnyGeometry.cpp @@ -16,7 +16,8 @@ CartesianR2_SonnendruckerGyro_CzarnyGeometry::CartesianR2_SonnendruckerGyro_Czar initializeGeometry(); } -double CartesianR2_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.cpp index 40657d191..5e07d9003 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_SonnendruckerGyro_ShafranovGeometry.cpp @@ -10,7 +10,8 @@ CartesianR2_SonnendruckerGyro_ShafranovGeometry::CartesianR2_SonnendruckerGyro_S { } -double CartesianR2_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.cpp index 40d66b845..f62c03669 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR2_Sonnendrucker_CircularGeometry::CartesianR2_Sonnendrucker_CircularGe { } -double CartesianR2_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.cpp index 952ac345a..a163fc2fc 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR2_Sonnendrucker_CzarnyGeometry::CartesianR2_Sonnendrucker_CzarnyGeomet initializeGeometry(); } -double CartesianR2_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.cpp index 330253cc9..69f7f6707 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Sonnendrucker_ShafranovGeometry.cpp @@ -12,7 +12,8 @@ CartesianR2_Sonnendrucker_ShafranovGeometry::CartesianR2_Sonnendrucker_Shafranov { } -double CartesianR2_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.cpp index a515f87da..c642b64b6 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR2_ZoniGyro_CircularGeometry::CartesianR2_ZoniGyro_CircularGeometry(Pol { } -double CartesianR2_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.cpp index 5334dc5cc..11816c865 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR2_ZoniGyro_CzarnyGeometry::CartesianR2_ZoniGyro_CzarnyGeometry(PolarGr initializeGeometry(); } -double CartesianR2_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.cpp index a8f15b5b7..e0853383f 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniGyro_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR2_ZoniGyro_ShafranovGeometry::CartesianR2_ZoniGyro_ShafranovGeometry(P { } -double CartesianR2_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.cpp index 7540c1dd7..d78f453a3 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR2_ZoniShiftedGyro_CircularGeometry::CartesianR2_ZoniShiftedGyro_Circul { } -double CartesianR2_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.cpp index 1086bc9ce..417e2c904 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_CzarnyGeometry.cpp @@ -16,7 +16,8 @@ CartesianR2_ZoniShiftedGyro_CzarnyGeometry::CartesianR2_ZoniShiftedGyro_CzarnyGe initializeGeometry(); } -double CartesianR2_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.cpp index 34c53cf47..c38ba92c3 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShiftedGyro_ShafranovGeometry.cpp @@ -12,7 +12,8 @@ CartesianR2_ZoniShiftedGyro_ShafranovGeometry::CartesianR2_ZoniShiftedGyro_Shafr { } -double CartesianR2_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.cpp index b3f4ddd67..4c11bafbf 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR2_ZoniShifted_CircularGeometry::CartesianR2_ZoniShifted_CircularGeomet { } -double CartesianR2_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.cpp index cfa5cb55a..7609921ae 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR2_ZoniShifted_CzarnyGeometry::CartesianR2_ZoniShifted_CzarnyGeometry(P initializeGeometry(); } -double CartesianR2_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.cpp index 91b2c0ae7..2a276afce 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_ZoniShifted_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR2_ZoniShifted_ShafranovGeometry::CartesianR2_ZoniShifted_ShafranovGeom { } -double CartesianR2_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.cpp index 2650de045..7d2e0fc00 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR2_Zoni_CircularGeometry::CartesianR2_Zoni_CircularGeometry(PolarGrid c { } -double CartesianR2_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.cpp index 60bd3de43..c2695e82e 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR2_Zoni_CzarnyGeometry::CartesianR2_Zoni_CzarnyGeometry(PolarGrid const initializeGeometry(); } -double CartesianR2_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.cpp index d56d46ef2..c6963ac14 100644 --- a/src/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR2_Zoni_ShafranovGeometry.cpp @@ -10,7 +10,7 @@ CartesianR2_Zoni_ShafranovGeometry::CartesianR2_Zoni_ShafranovGeometry(PolarGrid { } -double CartesianR2_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR2_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.cpp index e29d9f225..6e1dc04c3 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR6_Poisson_CircularGeometry::CartesianR6_Poisson_CircularGeometry(Polar { } -double CartesianR6_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.cpp index f8c36d12c..2880819bb 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR6_Poisson_CzarnyGeometry::CartesianR6_Poisson_CzarnyGeometry(PolarGrid initializeGeometry(); } -double CartesianR6_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.cpp index 4d32d707c..29122364b 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Poisson_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR6_Poisson_ShafranovGeometry::CartesianR6_Poisson_ShafranovGeometry(Pol { } -double CartesianR6_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.cpp index 79e0a7a52..4fdea4565 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR6_SonnendruckerGyro_CircularGeometry::CartesianR6_SonnendruckerGyro_Ci { } -double CartesianR6_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.cpp index a89cdce33..bf6dd4313 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_CzarnyGeometry.cpp @@ -16,7 +16,8 @@ CartesianR6_SonnendruckerGyro_CzarnyGeometry::CartesianR6_SonnendruckerGyro_Czar initializeGeometry(); } -double CartesianR6_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.cpp index f9d686dff..002eac6ab 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_SonnendruckerGyro_ShafranovGeometry.cpp @@ -10,7 +10,8 @@ CartesianR6_SonnendruckerGyro_ShafranovGeometry::CartesianR6_SonnendruckerGyro_S { } -double CartesianR6_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.cpp index 4129ec5a3..9f5745cc9 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR6_Sonnendrucker_CircularGeometry::CartesianR6_Sonnendrucker_CircularGe { } -double CartesianR6_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.cpp index bd2435dee..f287bbfee 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR6_Sonnendrucker_CzarnyGeometry::CartesianR6_Sonnendrucker_CzarnyGeomet initializeGeometry(); } -double CartesianR6_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.cpp index 77cb3e3ed..d88a2d92d 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Sonnendrucker_ShafranovGeometry.cpp @@ -12,7 +12,8 @@ CartesianR6_Sonnendrucker_ShafranovGeometry::CartesianR6_Sonnendrucker_Shafranov { } -double CartesianR6_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.cpp index 0bc07d63e..f1778de2c 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR6_ZoniGyro_CircularGeometry::CartesianR6_ZoniGyro_CircularGeometry(Pol { } -double CartesianR6_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.cpp index ed3f506d0..99d944d8b 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR6_ZoniGyro_CzarnyGeometry::CartesianR6_ZoniGyro_CzarnyGeometry(PolarGr initializeGeometry(); } -double CartesianR6_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.cpp index 92f36d215..15c54a25f 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniGyro_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR6_ZoniGyro_ShafranovGeometry::CartesianR6_ZoniGyro_ShafranovGeometry(P { } -double CartesianR6_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.cpp index fc87ffe21..5968c4412 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CircularGeometry.cpp @@ -8,7 +8,8 @@ CartesianR6_ZoniShiftedGyro_CircularGeometry::CartesianR6_ZoniShiftedGyro_Circul { } -double CartesianR6_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.cpp index 44271b61e..11c4d5b18 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_CzarnyGeometry.cpp @@ -16,7 +16,8 @@ CartesianR6_ZoniShiftedGyro_CzarnyGeometry::CartesianR6_ZoniShiftedGyro_CzarnyGe initializeGeometry(); } -double CartesianR6_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.cpp index f21f7cd4a..32a678dde 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShiftedGyro_ShafranovGeometry.cpp @@ -12,7 +12,8 @@ CartesianR6_ZoniShiftedGyro_ShafranovGeometry::CartesianR6_ZoniShiftedGyro_Shafr { } -double CartesianR6_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.cpp index 03a253cde..13039c048 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR6_ZoniShifted_CircularGeometry::CartesianR6_ZoniShifted_CircularGeomet { } -double CartesianR6_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.cpp index f3e86507e..89a73c06f 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR6_ZoniShifted_CzarnyGeometry::CartesianR6_ZoniShifted_CzarnyGeometry(P initializeGeometry(); } -double CartesianR6_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.cpp index a56fed96f..9d6cd55b8 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_ZoniShifted_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ CartesianR6_ZoniShifted_ShafranovGeometry::CartesianR6_ZoniShifted_ShafranovGeom { } -double CartesianR6_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.cpp index 9e36dbcf1..d726167dc 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CircularGeometry.cpp @@ -7,7 +7,7 @@ CartesianR6_Zoni_CircularGeometry::CartesianR6_Zoni_CircularGeometry(PolarGrid c { } -double CartesianR6_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.cpp index eab1cb06c..20d398d69 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ CartesianR6_Zoni_CzarnyGeometry::CartesianR6_Zoni_CzarnyGeometry(PolarGrid const initializeGeometry(); } -double CartesianR6_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.cpp index 94bba0857..bd532b0d1 100644 --- a/src/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/cartesianR6_Zoni_ShafranovGeometry.cpp @@ -10,7 +10,7 @@ CartesianR6_Zoni_ShafranovGeometry::CartesianR6_Zoni_ShafranovGeometry(PolarGrid { } -double CartesianR6_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double CartesianR6_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.cpp index 1ac8ad6d9..c85512e5f 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Poisson_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_Poisson_CircularGeometry::PolarR6_Poisson_CircularGeometry(PolarGrid con { } -double PolarR6_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Poisson_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.cpp index 5d55eefd8..2593536b8 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Poisson_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_Poisson_CzarnyGeometry::PolarR6_Poisson_CzarnyGeometry(PolarGrid const& initializeGeometry(); } -double PolarR6_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Poisson_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.cpp index d56c95dac..8efb94fea 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Poisson_ShafranovGeometry.cpp @@ -10,7 +10,7 @@ PolarR6_Poisson_ShafranovGeometry::PolarR6_Poisson_ShafranovGeometry(PolarGrid c { } -double PolarR6_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Poisson_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.cpp index b462dab5d..32fd76cc6 100644 --- a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CircularGeometry.cpp @@ -8,7 +8,8 @@ PolarR6_SonnendruckerGyro_CircularGeometry::PolarR6_SonnendruckerGyro_CircularGe { } -double PolarR6_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_SonnendruckerGyro_CircularGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.cpp index 652702875..3e269be5a 100644 --- a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_SonnendruckerGyro_CzarnyGeometry::PolarR6_SonnendruckerGyro_CzarnyGeomet initializeGeometry(); } -double PolarR6_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_SonnendruckerGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.cpp index 0b6ef3c5b..91f4db77e 100644 --- a/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_SonnendruckerGyro_ShafranovGeometry.cpp @@ -12,7 +12,8 @@ PolarR6_SonnendruckerGyro_ShafranovGeometry::PolarR6_SonnendruckerGyro_Shafranov { } -double PolarR6_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_SonnendruckerGyro_ShafranovGeometry::operator()(std::size_t i_r, + std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.cpp index 52cad9db4..cfce97c3e 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_Sonnendrucker_CircularGeometry::PolarR6_Sonnendrucker_CircularGeometry(P { } -double PolarR6_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Sonnendrucker_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.cpp index d6efa6e0b..a8bdd7fb4 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_Sonnendrucker_CzarnyGeometry::PolarR6_Sonnendrucker_CzarnyGeometry(Polar initializeGeometry(); } -double PolarR6_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Sonnendrucker_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.cpp index 4627698ac..79447786e 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Sonnendrucker_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ PolarR6_Sonnendrucker_ShafranovGeometry::PolarR6_Sonnendrucker_ShafranovGeometry { } -double PolarR6_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Sonnendrucker_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.cpp index ab69dac17..7f6a521c8 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_ZoniGyro_CircularGeometry::PolarR6_ZoniGyro_CircularGeometry(PolarGrid c { } -double PolarR6_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.cpp index 63cad5c2d..944a1e078 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_ZoniGyro_CzarnyGeometry::PolarR6_ZoniGyro_CzarnyGeometry(PolarGrid const initializeGeometry(); } -double PolarR6_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.cpp index 564939931..184856ef6 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniGyro_ShafranovGeometry.cpp @@ -10,7 +10,7 @@ PolarR6_ZoniGyro_ShafranovGeometry::PolarR6_ZoniGyro_ShafranovGeometry(PolarGrid { } -double PolarR6_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.cpp index 05fac1fdd..03852ee4e 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_ZoniShiftedGyro_CircularGeometry::PolarR6_ZoniShiftedGyro_CircularGeomet { } -double PolarR6_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.cpp index 7b8a44cba..0b734bc8b 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CulhamGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_ZoniShiftedGyro_CulhamGeometry::PolarR6_ZoniShiftedGyro_CulhamGeometry(P { } -double PolarR6_ZoniShiftedGyro_CulhamGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShiftedGyro_CulhamGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.cpp index 844c5059d..c8234684f 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_ZoniShiftedGyro_CzarnyGeometry::PolarR6_ZoniShiftedGyro_CzarnyGeometry(P initializeGeometry(); } -double PolarR6_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.cpp index 08397022d..1d17147ce 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShiftedGyro_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ PolarR6_ZoniShiftedGyro_ShafranovGeometry::PolarR6_ZoniShiftedGyro_ShafranovGeom { } -double PolarR6_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.cpp index ba453760c..76732c687 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_ZoniShifted_CircularGeometry::PolarR6_ZoniShifted_CircularGeometry(Polar { } -double PolarR6_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShifted_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.cpp index 19dca45fd..2cf4e8026 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ PolarR6_ZoniShifted_CzarnyGeometry::PolarR6_ZoniShifted_CzarnyGeometry(PolarGrid initializeGeometry(); } -double PolarR6_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShifted_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.cpp index ec59b375e..4f578832d 100644 --- a/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_ZoniShifted_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ PolarR6_ZoniShifted_ShafranovGeometry::PolarR6_ZoniShifted_ShafranovGeometry(Pol { } -double PolarR6_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_ZoniShifted_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.cpp index 3068508a8..6ba73527d 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Zoni_CircularGeometry.cpp @@ -7,7 +7,7 @@ PolarR6_Zoni_CircularGeometry::PolarR6_Zoni_CircularGeometry(PolarGrid const& gr { } -double PolarR6_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Zoni_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.cpp index 1aa771fca..6a768a03f 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Zoni_CzarnyGeometry.cpp @@ -16,7 +16,7 @@ PolarR6_Zoni_CzarnyGeometry::PolarR6_Zoni_CzarnyGeometry(PolarGrid const& grid, initializeGeometry(); } -double PolarR6_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Zoni_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.cpp index 7c8377c21..f886ec010 100644 --- a/src/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/polarR6_Zoni_ShafranovGeometry.cpp @@ -10,7 +10,7 @@ PolarR6_Zoni_ShafranovGeometry::PolarR6_Zoni_ShafranovGeometry(PolarGrid const& { } -double PolarR6_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double PolarR6_Zoni_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.cpp b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.cpp index f29f6dbff..a5446f842 100644 --- a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.cpp +++ b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CircularGeometry.cpp @@ -7,7 +7,7 @@ Refined_ZoniShiftedGyro_CircularGeometry::Refined_ZoniShiftedGyro_CircularGeomet { } -double Refined_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double Refined_ZoniShiftedGyro_CircularGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.cpp b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.cpp index 4b1673882..419335104 100644 --- a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.cpp +++ b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CulhamGeometry.cpp @@ -7,7 +7,7 @@ Refined_ZoniShiftedGyro_CulhamGeometry::Refined_ZoniShiftedGyro_CulhamGeometry(P { } -double Refined_ZoniShiftedGyro_CulhamGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double Refined_ZoniShiftedGyro_CulhamGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.cpp b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.cpp index 8d8865c51..1b99baa98 100644 --- a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.cpp +++ b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_CzarnyGeometry.cpp @@ -17,7 +17,7 @@ Refined_ZoniShiftedGyro_CzarnyGeometry::Refined_ZoniShiftedGyro_CzarnyGeometry(P initializeGeometry(); } -double Refined_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double Refined_ZoniShiftedGyro_CzarnyGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta); diff --git a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.cpp b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.cpp index 91f5bf3c4..a87fea3b1 100644 --- a/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.cpp +++ b/src/InputFunctions/SourceTerms/refined_ZoniShiftedGyro_ShafranovGeometry.cpp @@ -11,7 +11,7 @@ Refined_ZoniShiftedGyro_ShafranovGeometry::Refined_ZoniShiftedGyro_ShafranovGeom { } -double Refined_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const +KOKKOS_FUNCTION double Refined_ZoniShiftedGyro_ShafranovGeometry::operator()(std::size_t i_r, std::size_t i_theta) const { double r = grid_.radius(i_r); double theta = grid_.theta(i_theta);