diff --git a/classVectorField.js b/classVectorField.js
index 6b9b48ee9..025678b82 100644
--- a/classVectorField.js
+++ b/classVectorField.js
@@ -8,7 +8,6 @@ var classVectorField =
[ "memory_space", "classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478", null ],
[ "VectorField", "classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8", null ],
[ "VectorField", "classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0", null ],
- [ "VectorField", "classVectorField.html#a8e6b67ec99341f76401f77a27575cbfc", null ],
[ "VectorField", "classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9", null ],
[ "VectorField", "classVectorField.html#ae23926389df672431636ef26e20f7780", null ],
[ "~VectorField", "classVectorField.html#a0a1908a2429ba38ef8d891567cbc22c9", null ],
diff --git a/collisions__utils_8hpp_source.html b/collisions__utils_8hpp_source.html
index 9f24254b3..1a5e6f2d0 100644
--- a/collisions__utils_8hpp_source.html
+++ b/collisions__utils_8hpp_source.html
@@ -130,8 +130,8 @@
-
-
48 ddc::policies::parallel_device,
+
47 ddc::parallel_for_each(
+
48 Kokkos::DefaultExecutionSpace(),
50 KOKKOS_LAMBDA(ddc::DiscreteElement<IDimSp, IDimX, IDimension>
const ispxdimx) {
@@ -171,8 +171,8 @@
-
-
96 ddc::policies::parallel_device,
+
95 ddc::parallel_for_each(
+
96 Kokkos::DefaultExecutionSpace(),
98 KOKKOS_LAMBDA(ddc::DiscreteElement<IDimSp, IDimX, IDimension>
const ispxdimx) {
@@ -241,8 +241,8 @@
185 auto I3mean_integrand = I3mean_integrand_alloc.span_view();
186 auto I4mean_integrand = I4mean_integrand_alloc.span_view();
-
-
189 ddc::policies::parallel_device,
+
188 ddc::parallel_for_each(
+
189 Kokkos::DefaultExecutionSpace(),
190 allfdistribu.domain(),
191 KOKKOS_LAMBDA(IndexSpXVx
const ispxvx) {
192 ddc::DiscreteElement<IDimension>
const idimx(ddc::select<IDimVx>(ispxvx).uid() + 1);
@@ -270,14 +270,14 @@
214 auto I2mean = I2mean_alloc.span_view();
215 auto I3mean = I3mean_alloc.span_view();
216 auto I4mean = I4mean_alloc.span_view();
-
217 ddc::fill(I0mean, 0.);
-
218 ddc::fill(I1mean, 0.);
-
219 ddc::fill(I2mean, 0.);
-
220 ddc::fill(I3mean, 0.);
-
221 ddc::fill(I4mean, 0.);
+
217 ddc::parallel_fill(I0mean, 0.);
+
218 ddc::parallel_fill(I1mean, 0.);
+
219 ddc::parallel_fill(I2mean, 0.);
+
220 ddc::parallel_fill(I3mean, 0.);
+
221 ddc::parallel_fill(I4mean, 0.);
-
-
224 ddc::policies::parallel_device,
+
223 ddc::parallel_for_each(
+
224 Kokkos::DefaultExecutionSpace(),
226 KOKKOS_LAMBDA(IndexSpX
const ispx) {
227 for (IndexVx
const ivx : allfdistribu.domain<IDimVx>()) {
@@ -312,8 +312,8 @@
-
-
267 ddc::policies::parallel_device,
+
266 ddc::parallel_for_each(
+
267 Kokkos::DefaultExecutionSpace(),
269 KOKKOS_LAMBDA(ddc::DiscreteElement<IDimSp, IDimX, IDimension>
const ispxdimx) {
270 double const coordv(ddc::coordinate(ddc::select<IDimension>(ispxdimx)));
diff --git a/crank__nicolson_8hpp_source.html b/crank__nicolson_8hpp_source.html
index 1e8372a40..58f02acda 100644
--- a/crank__nicolson_8hpp_source.html
+++ b/crank__nicolson_8hpp_source.html
@@ -165,8 +165,8 @@
125 "MemorySpace has to be accessible for ExecutionSpace.");
126 update(exec_space, y, dt, dy, [&](ValSpan y, DerivView dy,
double dt) {
-
-
128 ddc::policies::policy(exec_space),
+
127 ddc::parallel_for_each(
+
130 KOKKOS_LAMBDA(Index
const idx) { y(idx) = y(idx) + dy(idx) * dt; });
@@ -216,16 +216,16 @@
192 if constexpr (is_field_v<DerivChunk>) {
-
-
194 ddc::policies::policy(exec_space),
+
193 ddc::parallel_for_each(
+
196 KOKKOS_CLASS_LAMBDA(Index
const i) {
198 fill_k_total(i, m_k_total, m_k1(i) + m_k_new(i));
-
-
202 ddc::policies::policy(exec_space),
+
201 ddc::parallel_for_each(
+
204 KOKKOS_CLASS_LAMBDA(Index
const i) {
@@ -256,15 +256,15 @@
247 auto const dom = y_old.domain();
-
249 double norm_old = ddc::transform_reduce(
-
250 ddc::policies::policy(exec_space),
+
249 double norm_old = ddc::parallel_transform_reduce(
+
253 ddc::reducer::max<double>(),
254 KOKKOS_LAMBDA(Index
const idx) {
return norm_inf(y_old(idx)); });
-
256 double max_diff = ddc::transform_reduce(
-
257 ddc::policies::policy(exec_space),
+
256 double max_diff = ddc::parallel_transform_reduce(
+
260 ddc::reducer::max<double>(),
@@ -279,7 +279,7 @@
269 if constexpr (is_field_v<ValSpan>) {
270 ddcHelper::deepcopy(copy_to, copy_from);
-
272 ddc::deepcopy(copy_to, copy_from);
+
272 ddc::parallel_deepcopy(copy_to, copy_from);
diff --git a/euler_8hpp_source.html b/euler_8hpp_source.html
index 618659cb8..548ae28b7 100644
--- a/euler_8hpp_source.html
+++ b/euler_8hpp_source.html
@@ -158,8 +158,8 @@
109 "MemorySpace has to be accessible for ExecutionSpace.");
110 update(exec_space, y, dt, dy, [&](ValSpan y, DerivView dy,
double dt) {
-
-
112 ddc::policies::policy(exec_space),
+
111 ddc::parallel_for_each(
+
114 KOKKOS_LAMBDA(Index
const idx) { y(idx) = y(idx) + dy(idx) * dt; });
diff --git a/navtreedata.js b/navtreedata.js
index c863f03a6..944ad0f12 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -67,9 +67,9 @@ var NAVTREEINDEX =
"classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4",
"classMatrix.html#a15badbcf214a7842a0a654f9210f39a1",
"classPredCorr.html",
-"classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc",
-"fluid__moments_8hpp_source.html",
-"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Contents"
+"classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046",
+"gauss__legendre__integration_8hpp_source.html",
+"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Python_tests"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index 04633ca7d..33ba1e72b 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -126,11 +126,11 @@ var NAVTREEINDEX0 =
"classBumpontailEquilibrium.html":[11,20],
"classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70":[11,20,4],
"classBumpontailEquilibrium.html#a3c79c23553031c7a766db33feb02050d":[11,20,1],
-"classBumpontailEquilibrium.html#a3d08f6633ffa3867429c946e9ec19db5":[11,20,0],
"classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215":[11,20,3],
"classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e":[11,20,2],
"classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e":[11,20,6],
"classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8":[11,20,5],
+"classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe":[11,20,0],
"classCartesianSolution.html":[11,24],
"classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8":[11,24,2],
"classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969":[11,24,3],
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 4b272b849..ce6f97572 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -165,8 +165,8 @@ var NAVTREEINDEX1 =
"classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860":[11,65,1],
"classIInitialization.html":[11,66],
"classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e":[11,66,2],
-"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[11,66,1],
"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[11,66,0],
+"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[11,66,1],
"classIInitialization.html#a9f426856e221de98fd68e2a4ea757819":[11,66,3],
"classIInterpolator.html":[11,67],
"classIInterpolator.html#a5321defe083a5f46ab01233ead86ed6a":[11,67,1],
diff --git a/navtreeindex3.js b/navtreeindex3.js
index e9c6d8166..dbd112747 100644
--- a/navtreeindex3.js
+++ b/navtreeindex3.js
@@ -207,28 +207,27 @@ var NAVTREEINDEX3 =
"classUniformBSplines_1_1Impl.html#af2e32bbd9bf5ed8e5946ae7008a1e64d":[11,156,0,14],
"classUniformBSplines_1_1Impl.html#afbb52253d31711933be3c5b0c950a398":[11,156,0,17],
"classVectorField.html":[11,157],
-"classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c":[11,157,18],
-"classVectorField.html#a0a1908a2429ba38ef8d891567cbc22c9":[11,157,11],
+"classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c":[11,157,17],
+"classVectorField.html#a0a1908a2429ba38ef8d891567cbc22c9":[11,157,10],
"classVectorField.html#a17028a562655b6e58926450f8849b066":[11,157,0],
-"classVectorField.html#a31bf11f64d085382acf099a2454fa9bf":[11,157,12],
+"classVectorField.html#a31bf11f64d085382acf099a2454fa9bf":[11,157,11],
"classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd":[11,157,3],
-"classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b":[11,157,16],
-"classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9":[11,157,9],
-"classVectorField.html#a4b839128727925cdffed6fbfca8da63e":[11,157,13],
-"classVectorField.html#a4db1434ddd534be7882315c50bb25396":[11,157,21],
-"classVectorField.html#a572811a19242a05acf2106e0543ae5df":[11,157,22],
+"classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b":[11,157,15],
+"classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9":[11,157,8],
+"classVectorField.html#a4b839128727925cdffed6fbfca8da63e":[11,157,12],
+"classVectorField.html#a4db1434ddd534be7882315c50bb25396":[11,157,20],
+"classVectorField.html#a572811a19242a05acf2106e0543ae5df":[11,157,21],
"classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d":[11,157,1],
"classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478":[11,157,5],
-"classVectorField.html#a86ea12473bc7ea9364085826a7c5d512":[11,157,20],
-"classVectorField.html#a8e6b67ec99341f76401f77a27575cbfc":[11,157,8],
-"classVectorField.html#a925526e030fc6967c04e66771fc13e2a":[11,157,19],
+"classVectorField.html#a86ea12473bc7ea9364085826a7c5d512":[11,157,19],
+"classVectorField.html#a925526e030fc6967c04e66771fc13e2a":[11,157,18],
"classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0":[11,157,7],
"classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41":[11,157,2],
"classVectorField.html#ab896e267b63db730e4344e1e15f2956f":[11,157,4],
-"classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6":[11,157,17],
-"classVectorField.html#acb9821e3a1405005d7251bfbfea66f89":[11,157,15],
-"classVectorField.html#ae23926389df672431636ef26e20f7780":[11,157,10],
-"classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3":[11,157,14],
+"classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6":[11,157,16],
+"classVectorField.html#acb9821e3a1405005d7251bfbfea66f89":[11,157,14],
+"classVectorField.html#ae23926389df672431636ef26e20f7780":[11,157,9],
+"classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3":[11,157,13],
"classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8":[11,157,6],
"classVectorFieldSpan.html":[11,159],
"classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4":[11,159,5],
@@ -249,5 +248,6 @@ var NAVTREEINDEX3 =
"classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8":[11,159,12],
"classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9":[11,159,14],
"classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c":[11,159,17],
-"classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549":[11,159,18]
+"classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549":[11,159,18],
+"classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc":[11,159,15]
};
diff --git a/navtreeindex4.js b/navtreeindex4.js
index 38ad527aa..799dde2fb 100644
--- a/navtreeindex4.js
+++ b/navtreeindex4.js
@@ -1,6 +1,5 @@
var NAVTREEINDEX4 =
{
-"classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc":[11,159,15],
"classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046":[11,159,21],
"classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a":[11,159,9],
"classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f":[11,159,3],
@@ -249,5 +248,6 @@ var NAVTREEINDEX4 =
"evaluator__2d_8hpp_source.html":[12,2,0,1,1],
"femnonperiodicpoissonsolver_8hpp_source.html":[12,0,2,3,1],
"femperiodicpoissonsolver_8hpp_source.html":[12,0,2,3,2],
-"files.html":[12]
+"files.html":[12],
+"fluid__moments_8hpp_source.html":[12,0,2,6,0]
};
diff --git a/navtreeindex5.js b/navtreeindex5.js
index 64a5f614c..7773dd027 100644
--- a/navtreeindex5.js
+++ b/navtreeindex5.js
@@ -1,6 +1,5 @@
var NAVTREEINDEX5 =
{
-"fluid__moments_8hpp_source.html":[12,0,2,6,0],
"gauss__legendre__integration_8hpp_source.html":[12,2,0,0,0,33],
"geometryRTheta_2geometry_2geometry_8hpp_source.html":[12,0,1,1,0],
"geometryRTheta_2poisson_2ipoissonsolver_8hpp_source.html":[12,0,1,4,0],
@@ -249,5 +248,6 @@ var NAVTREEINDEX5 =
"tests_geometryRTheta_advection_2d_rp.html":[9,0,0],
"tests_geometryRTheta_advection_2d_rp.html#autotoc_md50":[21],
"tests_geometryRTheta_advection_2d_rp.html#autotoc_md51":[22],
-"tests_geometryRTheta_advection_2d_rp.html#autotoc_md52":[23]
+"tests_geometryRTheta_advection_2d_rp.html#autotoc_md52":[23],
+"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Contents":[9,0,0,3]
};
diff --git a/navtreeindex6.js b/navtreeindex6.js
index 05279402c..53fd84a43 100644
--- a/navtreeindex6.js
+++ b/navtreeindex6.js
@@ -1,6 +1,5 @@
var NAVTREEINDEX6 =
{
-"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Contents":[9,0,0,3],
"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Python_tests":[9,0,0,1],
"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__References":[9,0,0,2],
"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Tests_on_the_2D_polar_advection_operator":[9,0,0,0],
diff --git a/polar__bsplines_8hpp_source.html b/polar__bsplines_8hpp_source.html
index 737823e50..82feb3687 100644
--- a/polar__bsplines_8hpp_source.html
+++ b/polar__bsplines_8hpp_source.html
@@ -333,229 +333,231 @@
229 for (std::size_t i = 0; i < m_singular_basis_elements.size(); ++i) {
230 m_singular_basis_elements[i] = Spline2D(impl.m_singular_basis_elements[i].domain());
-
231 ddc::deepcopy(m_singular_basis_elements[i], impl.m_singular_basis_elements[i]);
-
-
-
-
235 Impl(Impl
const& x) =
default;
+
231 ddc::parallel_deepcopy(
+
232 m_singular_basis_elements[i],
+
233 impl.m_singular_basis_elements[i]);
+
+
-
237 Impl(Impl&& x) =
default;
+
237 Impl(Impl
const& x) =
default;
-
+
239 Impl(Impl&& x) =
default;
-
241 Impl& operator=(Impl
const& x) =
default;
+
-
243 Impl& operator=(Impl&& x) =
default;
+
243 Impl& operator=(Impl
const& x) =
default;
-
245 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_basis(
-
246 DSpan1D singular_values,
-
-
248 ddc::Coordinate<DimR, DimP> p)
const;
-
249 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_r(
-
250 DSpan1D singular_derivs,
-
-
252 ddc::Coordinate<DimR, DimP> p)
const;
-
253 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_p(
-
254 DSpan1D singular_derivs,
-
-
256 ddc::Coordinate<DimR, DimP> p)
const;
-
257 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_r_and_p(
-
258 DSpan1D singular_derivs,
-
-
260 ddc::Coordinate<DimR, DimP> p)
const;
-
261 void integrals(DSpan1D singular_int_vals, DSpan2D int_vals)
const;
-
-
263 std::size_t nbasis() const noexcept
-
-
265 std::size_t nr = ddc::discrete_space<BSplinesR>().nbasis() - C - 1;
-
266 std::size_t np = ddc::discrete_space<BSplinesP>().nbasis();
-
267 return n_singular_basis() + nr * np;
-
-
-
270 discrete_domain_type full_domain() const noexcept
-
-
272 return discrete_domain_type(discrete_element_type {0}, discrete_vector_type {nbasis()});
-
-
-
-
-
280 return full_domain().remove_first(discrete_vector_type {n_singular_basis()});
-
-
-
-
284 template <
class EvalTypeR,
class EvalTypeP>
-
285 ddc::DiscreteElement<BSplinesR, BSplinesP> eval(
-
286 DSpan1D singular_values,
-
-
288 ddc::Coordinate<DimR, DimP> coord_eval,
-
-
290 EvalTypeP
const)
const;
-
-
-
-
294 template <
class BSplinesR,
class BSplinesP,
int C>
-
295 template <
class MemorySpace>
-
-
-
298 DSpan1D singular_values,
-
-
300 ddc::Coordinate<DimR, DimP> p)
const
-
-
302 return eval(singular_values, values, p, eval_type(), eval_type());
-
-
-
305 template <
class BSplinesR,
class BSplinesP,
int C>
-
306 template <
class MemorySpace>
-
-
-
309 DSpan1D singular_derivs,
-
-
311 ddc::Coordinate<DimR, DimP> p)
const
-
-
313 return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_type());
-
-
-
316 template <
class BSplinesR,
class BSplinesP,
int C>
-
317 template <
class MemorySpace>
-
-
-
320 DSpan1D singular_derivs,
-
-
322 ddc::Coordinate<DimR, DimP> p)
const
-
-
324 return eval(singular_derivs, derivs, p, eval_type(), eval_deriv_type());
-
-
-
327 template <
class BSplinesR,
class BSplinesP,
int C>
-
328 template <
class MemorySpace>
-
-
-
331 DSpan1D singular_derivs,
-
-
333 ddc::Coordinate<DimR, DimP> p)
const
-
-
335 return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_deriv_type());
-
-
-
338 template <
class BSplinesR,
class BSplinesP,
int C>
-
339 template <
class MemorySpace>
-
340 template <
class EvalTypeR,
class EvalTypeP>
-
-
-
343 DSpan1D singular_values,
-
-
345 ddc::Coordinate<DimR, DimP> coord_eval,
-
-
347 EvalTypeP
const)
const
-
-
349 assert(singular_values.extent(0) == n_singular_basis());
-
350 assert(values.extent(0) == BSplinesR::degree() + 1);
-
351 assert(values.extent(1) == BSplinesP::degree() + 1);
-
352 ddc::DiscreteElement<BSplinesR> jmin_r;
-
353 ddc::DiscreteElement<BSplinesP> jmin_p;
-
354 double vals_r_data[BSplinesR::degree() + 1];
-
355 double vals_p_data[BSplinesP::degree() + 1];
-
356 DSpan1D vals_r(vals_r_data, BSplinesR::degree() + 1);
-
357 DSpan1D vals_p(vals_p_data, BSplinesP::degree() + 1);
-
-
359 std::is_same_v<EvalTypeR, eval_type> || std::is_same_v<EvalTypeR, eval_deriv_type>);
+
245 Impl& operator=(Impl&& x) =
default;
+
+
247 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_basis(
+
248 DSpan1D singular_values,
+
+
250 ddc::Coordinate<DimR, DimP> p)
const;
+
251 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_r(
+
252 DSpan1D singular_derivs,
+
+
254 ddc::Coordinate<DimR, DimP> p)
const;
+
255 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_p(
+
256 DSpan1D singular_derivs,
+
+
258 ddc::Coordinate<DimR, DimP> p)
const;
+
259 ddc::DiscreteElement<BSplinesR, BSplinesP> eval_deriv_r_and_p(
+
260 DSpan1D singular_derivs,
+
+
262 ddc::Coordinate<DimR, DimP> p)
const;
+
263 void integrals(DSpan1D singular_int_vals, DSpan2D int_vals)
const;
+
+
265 std::size_t nbasis() const noexcept
+
+
267 std::size_t nr = ddc::discrete_space<BSplinesR>().nbasis() - C - 1;
+
268 std::size_t np = ddc::discrete_space<BSplinesP>().nbasis();
+
269 return n_singular_basis() + nr * np;
+
+
+
272 discrete_domain_type full_domain() const noexcept
+
+
274 return discrete_domain_type(discrete_element_type {0}, discrete_vector_type {nbasis()});
+
+
+
+
+
282 return full_domain().remove_first(discrete_vector_type {n_singular_basis()});
+
+
+
+
286 template <
class EvalTypeR,
class EvalTypeP>
+
287 ddc::DiscreteElement<BSplinesR, BSplinesP> eval(
+
288 DSpan1D singular_values,
+
+
290 ddc::Coordinate<DimR, DimP> coord_eval,
+
+
292 EvalTypeP
const)
const;
+
+
+
+
296 template <
class BSplinesR,
class BSplinesP,
int C>
+
297 template <
class MemorySpace>
+
+
+
300 DSpan1D singular_values,
+
+
302 ddc::Coordinate<DimR, DimP> p)
const
+
+
304 return eval(singular_values, values, p, eval_type(), eval_type());
+
+
+
307 template <
class BSplinesR,
class BSplinesP,
int C>
+
308 template <
class MemorySpace>
+
+
+
311 DSpan1D singular_derivs,
+
+
313 ddc::Coordinate<DimR, DimP> p)
const
+
+
315 return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_type());
+
+
+
318 template <
class BSplinesR,
class BSplinesP,
int C>
+
319 template <
class MemorySpace>
+
+
+
322 DSpan1D singular_derivs,
+
+
324 ddc::Coordinate<DimR, DimP> p)
const
+
+
326 return eval(singular_derivs, derivs, p, eval_type(), eval_deriv_type());
+
+
+
329 template <
class BSplinesR,
class BSplinesP,
int C>
+
330 template <
class MemorySpace>
+
+
+
333 DSpan1D singular_derivs,
+
+
335 ddc::Coordinate<DimR, DimP> p)
const
+
+
337 return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_deriv_type());
+
+
+
340 template <
class BSplinesR,
class BSplinesP,
int C>
+
341 template <
class MemorySpace>
+
342 template <
class EvalTypeR,
class EvalTypeP>
+
+
+
345 DSpan1D singular_values,
+
+
347 ddc::Coordinate<DimR, DimP> coord_eval,
+
+
349 EvalTypeP
const)
const
+
+
351 assert(singular_values.extent(0) == n_singular_basis());
+
352 assert(values.extent(0) == BSplinesR::degree() + 1);
+
353 assert(values.extent(1) == BSplinesP::degree() + 1);
+
354 ddc::DiscreteElement<BSplinesR> jmin_r;
+
355 ddc::DiscreteElement<BSplinesP> jmin_p;
+
356 double vals_r_data[BSplinesR::degree() + 1];
+
357 double vals_p_data[BSplinesP::degree() + 1];
+
358 DSpan1D vals_r(vals_r_data, BSplinesR::degree() + 1);
+
359 DSpan1D vals_p(vals_p_data, BSplinesP::degree() + 1);
-
361 std::is_same_v<EvalTypeP, eval_type> || std::is_same_v<EvalTypeP, eval_deriv_type>);
-
-
363 if constexpr (std::is_same_v<EvalTypeR, eval_type>) {
-
364 jmin_r = ddc::discrete_space<BSplinesR>().eval_basis(vals_r, ddc::select<DimR>(coord_eval));
-
365 }
else if constexpr (std::is_same_v<EvalTypeR, eval_deriv_type>) {
-
366 jmin_r = ddc::discrete_space<BSplinesR>().eval_deriv(vals_r, ddc::select<DimR>(coord_eval));
-
-
368 if constexpr (std::is_same_v<EvalTypeP, eval_type>) {
-
369 jmin_p = ddc::discrete_space<BSplinesP>().eval_basis(vals_p, ddc::select<DimP>(coord_eval));
-
370 }
else if constexpr (std::is_same_v<EvalTypeP, eval_deriv_type>) {
-
371 jmin_p = ddc::discrete_space<BSplinesP>().eval_deriv(vals_p, ddc::select<DimP>(coord_eval));
-
-
373 std::size_t nr = vals_r.size();
-
374 std::size_t np = vals_p.size();
-
375 std::size_t nr_done = 0;
-
-
377 if (jmin_r.uid() < C + 1) {
-
378 nr_done = C + 1 - jmin_r.uid();
-
379 std::size_t np_eval = BSplinesP::degree() + 1;
-
380 for (std::size_t k(0); k < n_singular_basis(); ++k) {
-
381 singular_values(k) = 0.0;
-
382 for (std::size_t i(0); i < nr_done; ++i) {
-
383 for (std::size_t j(0); j < np_eval; ++j) {
-
384 ddc::DiscreteElement<BSplinesR, BSplinesP> icoeff(jmin_r + i, jmin_p + j);
-
-
386 += m_singular_basis_elements[k](icoeff) * vals_r(i) * vals_p(j);
-
-
-
-
-
391 for (std::size_t k(0); k < n_singular_basis(); ++k) {
-
392 singular_values(k) = 0.0;
-
-
-
-
396 for (std::size_t i(0); i < nr - nr_done; ++i) {
-
397 for (std::size_t j(0); j < np; ++j) {
-
398 values(i, j) = vals_r(i + nr_done) * vals_p(j);
-
-
-
401 for (std::size_t i(nr - nr_done); i < nr; ++i) {
-
402 for (std::size_t j(0); j < np; ++j) {
-
-
-
-
406 return ddc::DiscreteElement<BSplinesR, BSplinesP>(jmin_r, jmin_p);
-
-
-
409 template <
class BSplinesR,
class BSplinesP,
int C>
-
410 template <
class MemorySpace>
-
-
412 DSpan1D singular_int_vals,
-
413 DSpan2D int_vals)
const
-
-
415 const int nr = ddc::discrete_space<BSplinesR>().ncells() + BSplinesR::degree() - C - 1;
-
416 const int np = ddc::discrete_space<BSplinesP>().ncells() + BSplinesP::degree();
-
417 assert(singular_int_vals.extent(0) == n_singular_basis());
-
418 assert(int_vals.extent(0) == nr);
-
419 assert(int_vals.extent(1) == np
-
420 || int_vals.extent(1) == ddc::discrete_space<BSplinesP>().ncells());
-
-
422 std::vector<double> r_integrals_data(nr);
-
423 std::vector<double> p_integrals_data(ddc::discrete_space<BSplinesP>().ncells());
-
424 DSpan1D r_integrals(r_integrals_data.data(), nr);
-
425 DSpan1D p_integrals(p_integrals_data.data(), ddc::discrete_space<BSplinesP>().ncells());
-
426 ddc::discrete_space<BSplinesR>().integrals(r_integrals);
-
427 ddc::discrete_space<BSplinesP>().integrals(p_integrals);
-
-
429 for (
int k(0); k < n_singular_basis(); ++k) {
-
430 singular_int_vals(k) = 0.0;
-
-
432 m_singular_basis_elements[k].domain(),
-
433 [=](ddc::DiscreteElement<BSplinesR, BSplinesP>
const i) {
-
434 singular_int_vals(k) += m_singular_basis_elements[k](i)
-
435 * r_integrals(ddc::select<BSplinesR>(i))
-
436 * p_integrals(ddc::select<BSplinesP>(i));
-
-
-
439 for (
int i(n_singular_basis()); i < nr; ++i) {
-
440 for (
int j(0); j < ddc::discrete_space<BSplinesP>().ncells(); ++j) {
-
441 int_vals(i, j) = r_integrals(i) * p_integrals(j);
-
-
-
444 if (int_vals.extent(1) == np) {
-
445 for (
int i(n_singular_basis()); i < nr; ++i) {
-
446 for (
int j(0); j < BSplinesP::degree(); ++j) {
-
447 int_vals(i, j) = int_vals(i, j + ddc::discrete_space<BSplinesP>().ncells());
-
-
-
-
+
361 std::is_same_v<EvalTypeR, eval_type> || std::is_same_v<EvalTypeR, eval_deriv_type>);
+
+
363 std::is_same_v<EvalTypeP, eval_type> || std::is_same_v<EvalTypeP, eval_deriv_type>);
+
+
365 if constexpr (std::is_same_v<EvalTypeR, eval_type>) {
+
366 jmin_r = ddc::discrete_space<BSplinesR>().eval_basis(vals_r, ddc::select<DimR>(coord_eval));
+
367 }
else if constexpr (std::is_same_v<EvalTypeR, eval_deriv_type>) {
+
368 jmin_r = ddc::discrete_space<BSplinesR>().eval_deriv(vals_r, ddc::select<DimR>(coord_eval));
+
+
370 if constexpr (std::is_same_v<EvalTypeP, eval_type>) {
+
371 jmin_p = ddc::discrete_space<BSplinesP>().eval_basis(vals_p, ddc::select<DimP>(coord_eval));
+
372 }
else if constexpr (std::is_same_v<EvalTypeP, eval_deriv_type>) {
+
373 jmin_p = ddc::discrete_space<BSplinesP>().eval_deriv(vals_p, ddc::select<DimP>(coord_eval));
+
+
375 std::size_t nr = vals_r.size();
+
376 std::size_t np = vals_p.size();
+
377 std::size_t nr_done = 0;
+
+
379 if (jmin_r.uid() < C + 1) {
+
380 nr_done = C + 1 - jmin_r.uid();
+
381 std::size_t np_eval = BSplinesP::degree() + 1;
+
382 for (std::size_t k(0); k < n_singular_basis(); ++k) {
+
383 singular_values(k) = 0.0;
+
384 for (std::size_t i(0); i < nr_done; ++i) {
+
385 for (std::size_t j(0); j < np_eval; ++j) {
+
386 ddc::DiscreteElement<BSplinesR, BSplinesP> icoeff(jmin_r + i, jmin_p + j);
+
+
388 += m_singular_basis_elements[k](icoeff) * vals_r(i) * vals_p(j);
+
+
+
+
+
393 for (std::size_t k(0); k < n_singular_basis(); ++k) {
+
394 singular_values(k) = 0.0;
+
+
+
+
398 for (std::size_t i(0); i < nr - nr_done; ++i) {
+
399 for (std::size_t j(0); j < np; ++j) {
+
400 values(i, j) = vals_r(i + nr_done) * vals_p(j);
+
+
+
403 for (std::size_t i(nr - nr_done); i < nr; ++i) {
+
404 for (std::size_t j(0); j < np; ++j) {
+
+
+
+
408 return ddc::DiscreteElement<BSplinesR, BSplinesP>(jmin_r, jmin_p);
+
+
+
411 template <
class BSplinesR,
class BSplinesP,
int C>
+
412 template <
class MemorySpace>
+
+
414 DSpan1D singular_int_vals,
+
415 DSpan2D int_vals)
const
+
+
417 const int nr = ddc::discrete_space<BSplinesR>().ncells() + BSplinesR::degree() - C - 1;
+
418 const int np = ddc::discrete_space<BSplinesP>().ncells() + BSplinesP::degree();
+
419 assert(singular_int_vals.extent(0) == n_singular_basis());
+
420 assert(int_vals.extent(0) == nr);
+
421 assert(int_vals.extent(1) == np
+
422 || int_vals.extent(1) == ddc::discrete_space<BSplinesP>().ncells());
+
+
424 std::vector<double> r_integrals_data(nr);
+
425 std::vector<double> p_integrals_data(ddc::discrete_space<BSplinesP>().ncells());
+
426 DSpan1D r_integrals(r_integrals_data.data(), nr);
+
427 DSpan1D p_integrals(p_integrals_data.data(), ddc::discrete_space<BSplinesP>().ncells());
+
428 ddc::discrete_space<BSplinesR>().integrals(r_integrals);
+
429 ddc::discrete_space<BSplinesP>().integrals(p_integrals);
+
+
431 for (
int k(0); k < n_singular_basis(); ++k) {
+
432 singular_int_vals(k) = 0.0;
+
+
434 m_singular_basis_elements[k].domain(),
+
435 [=](ddc::DiscreteElement<BSplinesR, BSplinesP>
const i) {
+
436 singular_int_vals(k) += m_singular_basis_elements[k](i)
+
437 * r_integrals(ddc::select<BSplinesR>(i))
+
438 * p_integrals(ddc::select<BSplinesP>(i));
+
+
+
441 for (
int i(n_singular_basis()); i < nr; ++i) {
+
442 for (
int j(0); j < ddc::discrete_space<BSplinesP>().ncells(); ++j) {
+
443 int_vals(i, j) = r_integrals(i) * p_integrals(j);
+
+
+
446 if (int_vals.extent(1) == np) {
+
447 for (
int i(n_singular_basis()); i < nr; ++i) {
+
448 for (
int j(0); j < BSplinesP::degree(); ++j) {
+
449 int_vals(i, j) = int_vals(i, j + ddc::discrete_space<BSplinesP>().ncells());
+
+
+
+
Definition: bernstein.hpp:16
Definition: barycentric_coordinates.hpp:7
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:32
Definition: polar_bsplines.hpp:94
-
discrete_domain_type non_singular_domain() const noexcept
Returns the ddc::DiscreteDomain containing the indices of the non-singular b-splines.
Definition: polar_bsplines.hpp:278
+
discrete_domain_type non_singular_domain() const noexcept
Returns the ddc::DiscreteDomain containing the indices of the non-singular b-splines.
Definition: polar_bsplines.hpp:280
Definition: polar_bsplines.hpp:105
Definition: polar_bsplines.hpp:108
Definition: polar_bsplines.hpp:111
diff --git a/rk2_8hpp_source.html b/rk2_8hpp_source.html
index cf90e338c..a0369c075 100644
--- a/rk2_8hpp_source.html
+++ b/rk2_8hpp_source.html
@@ -160,8 +160,8 @@
114 "MemorySpace has to be accessible for ExecutionSpace.");
115 update(exec_space, y, dt, dy, [&](ValSpan y, DerivView dy,
double dt) {
-
-
117 ddc::policies::policy(exec_space),
+
116 ddc::parallel_for_each(
+
119 KOKKOS_LAMBDA(Index
const idx) { y(idx) = y(idx) + dy(idx) * dt; });
@@ -184,7 +184,7 @@
152 if constexpr (is_field_v<ValChunk>) {
153 ddcHelper::deepcopy(m_y_prime, y);
-
155 ddc::deepcopy(m_y_prime, y);
+
155 ddc::parallel_deepcopy(m_y_prime, y);
diff --git a/rk3_8hpp_source.html b/rk3_8hpp_source.html
index 8f1d4cfc0..8da600cb0 100644
--- a/rk3_8hpp_source.html
+++ b/rk3_8hpp_source.html
@@ -157,8 +157,8 @@
111 "MemorySpace has to be accessible for ExecutionSpace.");
112 static_assert(ddc::is_chunk_v<ValChunk>);
113 update(exec_space, y, dt, dy, [&](ValSpan y, DerivView dy,
double dt) {
-
-
115 ddc::policies::policy(exec_space),
+
114 ddc::parallel_for_each(
+
117 KOKKOS_LAMBDA(Index
const idx) { y(idx) = y(idx) + dy(idx) * dt; });
@@ -208,16 +208,16 @@
179 if constexpr (is_field_v<DerivChunk>) {
-
-
181 ddc::policies::policy(exec_space),
+
180 ddc::parallel_for_each(
+
183 KOKKOS_CLASS_LAMBDA(Index
const i) {
185 fill_k_total(i, m_k_total, 2 * m_k2(i) - m_k1(i));
-
-
189 ddc::policies::policy(exec_space),
+
188 ddc::parallel_for_each(
+
191 KOKKOS_LAMBDA(Index
const i) {
@@ -237,16 +237,16 @@
208 if constexpr (is_field_v<DerivChunk>) {
-
-
210 ddc::policies::policy(exec_space),
+
209 ddc::parallel_for_each(
+
212 KOKKOS_CLASS_LAMBDA(Index
const i) {
214 fill_k_total(i, m_k_total, m_k1(i) + 4 * m_k2(i) + m_k3(i));
-
-
218 ddc::policies::policy(exec_space),
+
217 ddc::parallel_for_each(
+
220 KOKKOS_LAMBDA(Index
const i) {
@@ -264,7 +264,7 @@
233 if constexpr (is_field_v<ValSpan>) {
234 ddcHelper::deepcopy(copy_to, copy_from);
-
236 ddc::deepcopy(copy_to, copy_from);
+
236 ddc::parallel_deepcopy(copy_to, copy_from);
diff --git a/rk4_8hpp_source.html b/rk4_8hpp_source.html
index deec17932..f6bb22912 100644
--- a/rk4_8hpp_source.html
+++ b/rk4_8hpp_source.html
@@ -157,8 +157,8 @@
112 "MemorySpace has to be accessible for ExecutionSpace.");
113 update(exec_space, y, dt, dy, [&](ValSpan y, DerivView dy,
double dt) {
-
-
115 ddc::policies::policy(exec_space),
+
114 ddc::parallel_for_each(
+
117 KOKKOS_LAMBDA(Index
const idx) { y(idx) = y(idx) + dy(idx) * dt; });
@@ -230,16 +230,16 @@
201 if constexpr (is_field_v<DerivChunk>) {
-
-
203 ddc::policies::policy(exec_space),
+
202 ddc::parallel_for_each(
+
205 KOKKOS_CLASS_LAMBDA(Index
const i) {
207 fill_k_total(i, m_k_total, m_k1(i) + 2 * m_k2(i) + 2 * m_k3(i) + m_k4(i));
-
-
211 ddc::policies::policy(exec_space),
+
210 ddc::parallel_for_each(
+
213 KOKKOS_LAMBDA(Index
const i) {
@@ -257,7 +257,7 @@
226 if constexpr (is_field_v<ValSpan>) {
227 ddcHelper::deepcopy(copy_to, copy_from);
-
229 ddc::deepcopy(copy_to, copy_from);
+
229 ddc::parallel_deepcopy(copy_to, copy_from);
diff --git a/search/all_1.js b/search/all_1.js
index 447fa2694..3950948a8 100644
--- a/search/all_1.js
+++ b/search/all_1.js
@@ -30,5 +30,5 @@ var searchData=
['bsplinesr_45',['BSplinesR',['../classPolarSplineEvaluator.html#af95eaa07f8890667fe4feade36d50423',1,'PolarSplineEvaluator']]],
['builder_5ftype1_46',['builder_type1',['../classSplineBuilder2D.html#a32fa22d267cdeb0722572c33fd6c6e11',1,'SplineBuilder2D']]],
['builder_5ftype2_47',['builder_type2',['../classSplineBuilder2D.html#a0a33a10b79cf3d7273c5f20337727dff',1,'SplineBuilder2D']]],
- ['bumpontailequilibrium_48',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#a3d08f6633ffa3867429c946e9ec19db5',1,'BumpontailEquilibrium::BumpontailEquilibrium()'],['../classBumpontailEquilibrium.html',1,'BumpontailEquilibrium']]]
+ ['bumpontailequilibrium_48',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium::BumpontailEquilibrium()'],['../classBumpontailEquilibrium.html',1,'BumpontailEquilibrium']]]
];
diff --git a/search/all_15.js b/search/all_15.js
index bb262ab3c..a810782ac 100644
--- a/search/all_15.js
+++ b/search/all_15.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['vectorfield_453',['VectorField',['../classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8',1,'VectorField::VectorField()=default'],['../classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0',1,'VectorField::VectorField(mdomain_type const &domain, Allocator allocator=Allocator())'],['../classVectorField.html#a8e6b67ec99341f76401f77a27575cbfc',1,'VectorField::VectorField(VectorFieldSpan< OElementType, Domain, NDTag, LayoutDomain, MemorySpace > field_span)'],['../classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9',1,'VectorField::VectorField(VectorField const &other)=delete'],['../classVectorField.html#ae23926389df672431636ef26e20f7780',1,'VectorField::VectorField(VectorField &&other)=default'],['../classVectorField.html',1,'VectorField< ElementType, Domain, NDTag, Allocator >']]],
+ ['vectorfield_453',['VectorField',['../classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8',1,'VectorField::VectorField()=default'],['../classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0',1,'VectorField::VectorField(mdomain_type const &domain, Allocator allocator=Allocator())'],['../classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9',1,'VectorField::VectorField(VectorField const &other)=delete'],['../classVectorField.html#ae23926389df672431636ef26e20f7780',1,'VectorField::VectorField(VectorField &&other)=default'],['../classVectorField.html',1,'VectorField< ElementType, Domain, NDTag, Allocator >']]],
['vectorfieldcommon_454',['VectorFieldCommon',['../classVectorFieldCommon.html',1,'']]],
['vectorfieldcommon_3c_20ddc_3a_3achunk_3c_20elementtype_2c_20domain_2c_20allocator_20_3e_2c_20ndtag_20_3e_455',['VectorFieldCommon< ddc::Chunk< ElementType, Domain, Allocator >, NDTag >',['../classVectorFieldCommon.html',1,'']]],
['vectorfieldcommon_3c_20ddc_3a_3achunkspan_3c_20elementtype_2c_20domain_2c_20layoutstridedpolicy_2c_20memoryspace_20_3e_2c_20ndtag_20_3e_456',['VectorFieldCommon< ddc::ChunkSpan< ElementType, Domain, LayoutStridedPolicy, MemorySpace >, NDTag >',['../classVectorFieldCommon.html',1,'']]],
diff --git a/search/functions_1.js b/search/functions_1.js
index 41c190eeb..8be91ce6e 100644
--- a/search/functions_1.js
+++ b/search/functions_1.js
@@ -8,5 +8,5 @@ var searchData=
['bslexplicitpredcorrrp_713',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html#a1723b95b68fc8c51197ece578f738665',1,'BslExplicitPredCorrRP']]],
['bslimplicitpredcorrrp_714',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html#a8fa4c330fe220d22f8ca4a1ca5946709',1,'BslImplicitPredCorrRP']]],
['bslpredcorrrp_715',['BslPredCorrRP',['../classBslPredCorrRP.html#a0aa06c1ea8888d1bdb795ce74658e1e9',1,'BslPredCorrRP']]],
- ['bumpontailequilibrium_716',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#a3d08f6633ffa3867429c946e9ec19db5',1,'BumpontailEquilibrium']]]
+ ['bumpontailequilibrium_716',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium']]]
];
diff --git a/search/functions_15.js b/search/functions_15.js
index a417dccc5..a7d223571 100644
--- a/search/functions_15.js
+++ b/search/functions_15.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['vectorfield_873',['VectorField',['../classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8',1,'VectorField::VectorField()=default'],['../classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0',1,'VectorField::VectorField(mdomain_type const &domain, Allocator allocator=Allocator())'],['../classVectorField.html#a8e6b67ec99341f76401f77a27575cbfc',1,'VectorField::VectorField(VectorFieldSpan< OElementType, Domain, NDTag, LayoutDomain, MemorySpace > field_span)'],['../classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9',1,'VectorField::VectorField(VectorField const &other)=delete'],['../classVectorField.html#ae23926389df672431636ef26e20f7780',1,'VectorField::VectorField(VectorField &&other)=default']]],
+ ['vectorfield_873',['VectorField',['../classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8',1,'VectorField::VectorField()=default'],['../classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0',1,'VectorField::VectorField(mdomain_type const &domain, Allocator allocator=Allocator())'],['../classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9',1,'VectorField::VectorField(VectorField const &other)=delete'],['../classVectorField.html#ae23926389df672431636ef26e20f7780',1,'VectorField::VectorField(VectorField &&other)=default']]],
['vectorfieldspan_874',['VectorFieldSpan',['../classVectorFieldSpan.html#a496be86209bed2fe0c4637c2068f2e9d',1,'VectorFieldSpan::VectorFieldSpan()=default'],['../classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan const &other)=default'],['../classVectorFieldSpan.html#aa4aea470e10596cd64dbb912ac9c9dfb',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#aa4f77f6e758b991a7c18bb9b25c0ae30',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > &other) noexcept'],['../classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > const &other) noexcept'],['../classVectorFieldSpan.html#a6d06815cd2394ffa4549a154ee796280',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan< OElementType, mdomain_type, NDTag, LayoutStridedPolicy, MemorySpace > const &other) noexcept'],['../classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9',1,'VectorFieldSpan::VectorFieldSpan(mdomain_type const &domain, OElementType *... ptr)']]],
['vlasovpoissonsolver_875',['VlasovPoissonSolver',['../classVlasovPoissonSolver.html#abe5fd578bfe6e432514cfc0c1e1777c4',1,'VlasovPoissonSolver']]],
['vortexmergerdensitysolution_876',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75',1,'VortexMergerDensitySolution']]],
diff --git a/species__info_8hpp_source.html b/species__info_8hpp_source.html
index 8d6c93f26..d22e078e9 100644
--- a/species__info_8hpp_source.html
+++ b/species__info_8hpp_source.html
@@ -155,8 +155,8 @@
62 m_charge_view = m_charge.span_cview();
63 m_mass_view = m_mass.span_cview();
-
64 ddc::deepcopy(m_charge, impl.m_charge);
-
65 ddc::deepcopy(m_mass, impl.m_mass);
+
64 ddc::parallel_deepcopy(m_charge, impl.m_charge);
+
65 ddc::parallel_deepcopy(m_mass, impl.m_mass);
diff --git a/spline__builder__2d_8hpp_source.html b/spline__builder__2d_8hpp_source.html
index 4365a48ff..bf47c582c 100644
--- a/spline__builder__2d_8hpp_source.html
+++ b/spline__builder__2d_8hpp_source.html
@@ -330,7 +330,7 @@
383 ddc::Chunk<double, interpolation_domain_type1> vals1(
384 spline_builder1.interpolation_domain());
-
385 ddc::deepcopy(vals1, vals[i]);
+
385 ddc::parallel_deepcopy(vals1, vals[i]);
388 const std::optional<CDSpan1D> deriv_l(
diff --git a/spline__foot__finder_8hpp_source.html b/spline__foot__finder_8hpp_source.html
index f9d5a8929..5ea37e7d6 100644
--- a/spline__foot__finder_8hpp_source.html
+++ b/spline__foot__finder_8hpp_source.html
@@ -244,7 +244,7 @@
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
-
view_type span_view() const
Get a constant reference to this vector field.
Definition: vector_field.hpp:182
+
view_type span_view() const
Get a constant reference to this vector field.
Definition: vector_field.hpp:157