From 683930b012118c377af5df5fa51f88deb71fde15 Mon Sep 17 00:00:00 2001 From: GitHub CI Documentation builder Date: Tue, 2 Apr 2024 16:02:33 +0000 Subject: [PATCH] Update docs --- ...tion__2d__rp_2test__cases_8hpp_source.html | 637 +++--- advection__domain_8hpp_source.html | 8 +- advection__field__rp_8hpp_source.html | 689 +++---- advection__simulation__utils_8hpp_source.html | 874 ++++---- annotated.html | 381 ++-- annotated.js | 28 - boundary__conditions_8hpp_source.html | 143 -- bsl__advection__rp_8hpp_source.html | 191 +- bsl__predcorr_8hpp_source.html | 255 ++- ...__second__order__explicit_8hpp_source.html | 341 ++-- ...__second__order__implicit_8hpp_source.html | 496 +++-- bspline_8hpp_source.html | 123 -- bsplines_8hpp_source.html | 204 -- bsplines__non__uniform_8hpp_source.html | 627 ------ bsplines__uniform_8hpp_source.html | 578 ------ classBslAdvectionRP-members.html | 2 +- classBslAdvectionRP.html | 12 +- classBslAdvectionRP.js | 2 +- classBslExplicitPredCorrRP-members.html | 2 +- classBslExplicitPredCorrRP.html | 16 +- classBslExplicitPredCorrRP.js | 2 +- classBslImplicitPredCorrRP-members.html | 2 +- classBslImplicitPredCorrRP.html | 16 +- classBslImplicitPredCorrRP.js | 2 +- classBslPredCorrRP-members.html | 2 +- classBslPredCorrRP.html | 14 +- classBslPredCorrRP.js | 2 +- ...antExtrapolationBoundaryValue-members.html | 125 -- classConstantExtrapolationBoundaryValue.html | 254 --- classConstantExtrapolationBoundaryValue.js | 8 - classConstantExtrapolationBoundaryValue.png | Bin 1072 -> 0 bytes ...tExtrapolationBoundaryValue2D-members.html | 134 -- ...sConstantExtrapolationBoundaryValue2D.html | 362 ---- classConstantExtrapolationBoundaryValue2D.js | 14 - classConstantExtrapolationBoundaryValue2D.png | Bin 1334 -> 0 bytes classCurvilinear2DToCartesian.html | 10 +- classCurvilinear2DToCartesian.png | Bin 4599 -> 5247 bytes classDiscreteToCartesian-members.html | 50 +- classDiscreteToCartesian.html | 374 ++-- classDiscreteToCartesian.js | 44 +- classDiscreteToCartesian.png | Bin 1644 -> 1736 bytes classGrevilleInterpolationPoints-members.html | 122 -- classGrevilleInterpolationPoints.html | 276 --- classGrevilleInterpolationPoints.js | 4 - classIInterpolatorRP.html | 7 +- classIInterpolatorRP.png | Bin 1416 -> 2576 bytes classIPreallocatableInterpolatorRP.html | 7 +- classIPreallocatableInterpolatorRP.png | Bin 988 -> 2017 bytes classKnotsAsInterpolationPoints-members.html | 121 -- classKnotsAsInterpolationPoints.html | 213 -- classKnotsAsInterpolationPoints.js | 4 - classNonUniformBSplines-members.html | 133 -- classNonUniformBSplines.html | 230 --- classNonUniformBSplines.js | 13 - classNonUniformBSplines_1_1Impl-members.html | 146 -- classNonUniformBSplines_1_1Impl.html | 211 -- classNonUniformBSplines_1_1Impl.js | 31 - classNullBoundaryValue-members.html | 122 -- classNullBoundaryValue.html | 138 -- classNullBoundaryValue.js | 6 - classNullBoundaryValue.png | Bin 835 -> 0 bytes classNullBoundaryValue2D-members.html | 122 -- classNullBoundaryValue2D.html | 138 -- classNullBoundaryValue2D.js | 6 - classNullBoundaryValue2D.png | Bin 1108 -> 0 bytes classPoissonRHSFunction-members.html | 11 +- classPoissonRHSFunction.html | 53 +- classPoissonRHSFunction.js | 7 +- classPolarBSplines.html | 4 +- classPolarBSplines_1_1Impl-members.html | 2 +- classPolarBSplines_1_1Impl.html | 16 +- classPolarBSplines_1_1Impl.js | 2 +- classPolarNullBoundaryValue2D-members.html | 122 -- classPolarNullBoundaryValue2D.html | 138 -- classPolarNullBoundaryValue2D.js | 6 - classPolarNullBoundaryValue2D.png | Bin 1080 -> 0 bytes classPolarSplineBoundaryValue2D-members.html | 120 -- classPolarSplineBoundaryValue2D.html | 129 -- classPolarSplineBoundaryValue2D.js | 5 - classPolarSplineEvaluator-members.html | 48 +- classPolarSplineEvaluator.html | 288 +-- classPolarSplineEvaluator.js | 42 +- ...locatableSplineInterpolatorRP-members.html | 17 +- classPreallocatableSplineInterpolatorRP.html | 59 +- classPreallocatableSplineInterpolatorRP.js | 7 +- classPreallocatableSplineInterpolatorRP.png | Bin 980 -> 1406 bytes classRefinedDiscreteToCartesian-members.html | 32 +- classRefinedDiscreteToCartesian.html | 236 +-- classRefinedDiscreteToCartesian.js | 26 +- classRefinedDiscreteToCartesian.png | Bin 1826 -> 1923 bytes classSplineBoundaryValue-members.html | 120 -- classSplineBoundaryValue.html | 139 -- classSplineBoundaryValue.js | 5 - classSplineBoundaryValue.png | Bin 1502 -> 0 bytes classSplineBoundaryValue2D-members.html | 120 -- classSplineBoundaryValue2D.html | 139 -- classSplineBoundaryValue2D.js | 5 - classSplineBoundaryValue2D.png | Bin 1810 -> 0 bytes classSplineBuilder-members.html | 138 -- classSplineBuilder.html | 550 ----- classSplineBuilder.js | 16 - classSplineBuilder2D-members.html | 144 -- classSplineBuilder2D.html | 660 ------ classSplineBuilder2D.js | 25 - classSplineErrorBounds-members.html | 126 -- classSplineErrorBounds.html | 150 -- classSplineErrorBounds.js | 11 - classSplineEvaluator-members.html | 132 -- classSplineEvaluator.html | 169 -- classSplineEvaluator.js | 17 - classSplineEvaluator2D-members.html | 138 -- classSplineEvaluator2D.html | 864 -------- classSplineEvaluator2D.js | 23 - classSplineFootFinder-members.html | 2 +- classSplineFootFinder.html | 14 +- classSplineFootFinder.js | 2 +- classSplineInterpolatorRP-members.html | 15 +- classSplineInterpolatorRP.html | 70 +- classSplineInterpolatorRP.js | 7 +- classSplineInterpolatorRP.png | Bin 523 -> 872 bytes classUniformBSplines-members.html | 133 -- classUniformBSplines.html | 222 -- classUniformBSplines.js | 13 - classUniformBSplines_1_1Impl-members.html | 143 -- classUniformBSplines_1_1Impl.html | 255 --- classUniformBSplines_1_1Impl.js | 28 - classVortexMergerEquilibria-members.html | 2 +- classVortexMergerEquilibria.html | 14 +- classVortexMergerEquilibria.js | 2 +- classdeprecated_1_1BSplines-members.html | 142 -- classdeprecated_1_1BSplines.html | 214 -- classdeprecated_1_1BSplines.js | 27 - classdeprecated_1_1BSplines.png | Bin 997 -> 0 bytes ...recated_1_1NonUniformBSplines-members.html | 150 -- classdeprecated_1_1NonUniformBSplines.html | 229 --- classdeprecated_1_1NonUniformBSplines.js | 17 - classdeprecated_1_1NonUniformBSplines.png | Bin 742 -> 0 bytes classdeprecated_1_1Spline1D-members.html | 136 -- classdeprecated_1_1Spline1D.html | 178 -- classdeprecated_1_1Spline1D.js | 21 - classdeprecated_1_1Spline2D-members.html | 135 -- classdeprecated_1_1Spline2D.html | 177 -- classdeprecated_1_1Spline2D.js | 20 - ...deprecated_1_1SplineBuilder1D-members.html | 132 -- classdeprecated_1_1SplineBuilder1D.html | 166 -- classdeprecated_1_1SplineBuilder1D.js | 16 - ...deprecated_1_1SplineBuilder2D-members.html | 137 -- classdeprecated_1_1SplineBuilder2D.html | 185 -- classdeprecated_1_1SplineBuilder2D.js | 21 - ...deprecated_1_1UniformBSplines-members.html | 149 -- classdeprecated_1_1UniformBSplines.html | 226 -- classdeprecated_1_1UniformBSplines.js | 16 - classdeprecated_1_1UniformBSplines.png | Bin 707 -> 0 bytes ...polation__boundary__value_8hpp_source.html | 284 --- ...d_2bsplines__non__uniform_8hpp_source.html | 176 -- ...ecated_2bsplines__uniform_8hpp_source.html | 162 -- ...ated_2spline__builder__2d_8hpp_source.html | 212 -- dir_040b90264b67cd95a975364a9a6adb0b.js | 14 - dir_7702757503aa2c0657bebaab467f2eaa.js | 1 - dir_bf05ee1a50b262d9ca6db6046de9e516.html | 116 -- dir_bf05ee1a50b262d9ca6db6046de9e516.js | 11 - ...e__mapping__to__cartesian_8hpp_source.html | 487 +++-- docs_DDC_in_gyselalibxx.html | 8 +- files.html | 69 +- ...Theta_2geometry_2geometry_8hpp_source.html | 1699 +++++++-------- ...ryXVx_2geometry_2geometry_8hpp_source.html | 18 +- ...YVxVy_2geometry_2geometry_8hpp_source.html | 34 +- ...le__interpolation__points_8hpp_source.html | 322 --- ...as__interpolation__points_8hpp_source.html | 169 -- navtreedata.js | 10 +- navtreeindex0.js | 466 ++--- navtreeindex1.js | 500 ++--- navtreeindex2.js | 500 ++--- navtreeindex3.js | 500 ++--- navtreeindex4.js | 499 +++-- navtreeindex5.js | 253 --- navtreeindex6.js | 89 - neumann__spline__quadrature_8hpp.html | 4 +- neumann__spline__quadrature_8hpp_source.html | 21 +- null__boundary__value_8hpp_source.html | 182 -- poisson__rhs__function_8hpp_source.html | 68 +- polar__bsplines_8hpp_source.html | 1031 +++++----- polar__poisson_2test__cases_8hpp_source.html | 8 +- polar__spline_8hpp_source.html | 216 +- polar__spline__evaluator_8hpp_source.html | 498 +++-- polarpoissonsolver_8hpp_source.html | 1814 +++++++++-------- ...e__mapping__to__cartesian_8hpp_source.html | 852 ++++---- search/all_0.js | 4 +- search/all_1.js | 48 +- search/all_10.js | 12 +- search/all_11.js | 50 +- search/all_12.js | 86 +- search/all_13.js | 67 +- search/all_14.js | 13 +- search/all_15.js | 24 +- search/all_16.js | 4 +- search/all_2.js | 103 +- search/all_3.js | 48 +- search/all_4.js | 37 +- search/all_5.js | 26 +- search/all_6.js | 68 +- search/all_7.js | 2 +- search/all_8.js | 111 +- search/all_9.js | 12 +- search/all_a.js | 8 +- search/all_b.js | 8 +- search/all_c.js | 82 +- search/all_d.js | 22 +- search/all_e.js | 6 +- search/all_f.js | 49 +- search/classes_0.js | 34 +- search/classes_1.js | 21 +- search/classes_10.js | 20 +- search/classes_11.js | 9 +- search/classes_12.html | 37 - search/classes_12.js | 11 - search/classes_2.js | 50 +- search/classes_3.js | 14 +- search/classes_4.js | 14 +- search/classes_5.js | 18 +- search/classes_6.js | 13 +- search/classes_7.js | 60 +- search/classes_8.js | 7 +- search/classes_9.js | 6 +- search/classes_a.js | 26 +- search/classes_b.js | 7 +- search/classes_c.js | 37 +- search/classes_d.js | 6 +- search/classes_e.js | 44 +- search/classes_f.js | 30 +- search/files_0.js | 2 +- search/files_1.js | 2 +- search/files_2.js | 2 +- search/files_3.js | 2 +- search/files_4.js | 2 +- search/files_5.js | 2 +- search/functions_0.js | 22 +- search/functions_1.js | 14 +- search/functions_10.js | 4 +- search/functions_11.js | 14 +- search/functions_12.js | 34 +- search/functions_13.js | 26 +- search/functions_14.js | 2 +- search/functions_15.js | 8 +- search/functions_16.js | 4 +- search/functions_2.js | 46 +- search/functions_3.js | 24 +- search/functions_4.js | 28 +- search/functions_5.js | 18 +- search/functions_6.js | 31 +- search/functions_7.js | 2 +- search/functions_8.js | 25 +- search/functions_9.js | 12 +- search/functions_a.js | 6 +- search/functions_b.js | 4 +- search/functions_c.js | 14 +- search/functions_d.js | 12 +- search/functions_e.js | 6 +- search/functions_f.js | 26 +- search/namespaces_0.js | 2 +- search/pages_0.js | 8 +- search/pages_1.js | 2 +- search/pages_2.js | 4 +- search/pages_3.js | 2 +- search/pages_4.js | 18 +- search/pages_5.js | 6 +- search/pages_6.js | 2 +- search/pages_7.js | 6 +- search/pages_8.js | 2 +- search/pages_9.js | 2 +- search/pages_a.js | 12 +- search/pages_b.js | 14 +- search/pages_c.js | 8 +- search/pages_d.js | 2 +- search/searchdata.js | 6 +- search/typedefs_0.js | 18 +- search/typedefs_1.js | 25 +- search/typedefs_2.js | 16 +- search/typedefs_3.js | 3 +- search/typedefs_4.js | 2 +- search/typedefs_5.js | 4 +- search/typedefs_6.js | 22 +- search/typedefs_7.js | 2 +- search/typedefs_8.js | 6 +- search/typedefs_9.js | 8 +- search/typedefs_a.js | 4 +- search/typedefs_b.js | 6 +- search/typedefs_c.js | 6 +- search/typedefs_d.html | 37 - search/typedefs_d.js | 8 - search/typedefs_e.html | 37 - search/typedefs_e.js | 6 - search/variables_0.js | 8 +- search/variables_1.js | 17 +- search/variables_2.js | 18 +- search/variables_3.js | 6 +- search/variables_4.html | 37 - search/variables_4.js | 15 - spline__1d_8hpp_source.html | 199 -- spline__2d_8hpp_source.html | 194 -- spline__boundary__conditions_8hpp_source.html | 178 -- spline__boundary__value_8hpp_source.html | 158 -- spline__builder_8hpp_source.html | 585 ------ spline__builder__1d_8hpp_source.html | 213 -- spline__builder__2d_8hpp_source.html | 504 ----- spline__error__bounds_8hpp_source.html | 213 -- spline__evaluator_8hpp_source.html | 285 --- spline__evaluator__2d_8hpp_source.html | 477 ----- spline__foot__finder_8hpp_source.html | 22 +- spline__interpolator__2d__rp_8hpp_source.html | 172 +- spline__quadrature_8hpp.html | 8 +- spline__quadrature_8hpp_source.html | 146 +- src_geometryRTheta_advection_field.html | 2 +- src_interpolation.html | 2 +- structBSpline.html | 119 -- structPolarSpline-members.html | 2 + structPolarSpline.html | 67 + structPolarSpline.js | 2 + structPolarSplineSpan-members.html | 2 + structPolarSplineSpan.html | 67 + structPolarSplineSpan.js | 2 + structPolarSplineView-members.html | 7 +- structPolarSplineView.html | 108 +- structPolarSplineView.js | 3 + ...teToCartesian_1_1RDimPRefined-members.html | 6 +- ...edDiscreteToCartesian_1_1RDimPRefined.html | 22 +- ...teToCartesian_1_1RDimRRefined-members.html | 6 +- ...edDiscreteToCartesian_1_1RDimRRefined.html | 22 +- ...teToCartesian_1_1RDimXRefined-members.html | 6 +- ...edDiscreteToCartesian_1_1RDimXRefined.html | 22 +- ...teToCartesian_1_1RDimYRefined-members.html | 6 +- ...edDiscreteToCartesian_1_1RDimYRefined.html | 22 +- ...recated_1_1Boundary__data__2d-members.html | 126 -- structdeprecated_1_1Boundary__data__2d.html | 263 --- structdeprecated_1_1Boundary__data__2d.js | 11 - test__cases__adv__field_8hpp_source.html | 527 +++-- vortex__merger__equilibrium_8hpp_source.html | 282 ++- 337 files changed, 9251 insertions(+), 26806 deletions(-) delete mode 100644 boundary__conditions_8hpp_source.html delete mode 100644 bspline_8hpp_source.html delete mode 100644 bsplines_8hpp_source.html delete mode 100644 bsplines__non__uniform_8hpp_source.html delete mode 100644 bsplines__uniform_8hpp_source.html delete mode 100644 classConstantExtrapolationBoundaryValue-members.html delete mode 100644 classConstantExtrapolationBoundaryValue.html delete mode 100644 classConstantExtrapolationBoundaryValue.js delete mode 100644 classConstantExtrapolationBoundaryValue.png delete mode 100644 classConstantExtrapolationBoundaryValue2D-members.html delete mode 100644 classConstantExtrapolationBoundaryValue2D.html delete mode 100644 classConstantExtrapolationBoundaryValue2D.js delete mode 100644 classConstantExtrapolationBoundaryValue2D.png delete mode 100644 classGrevilleInterpolationPoints-members.html delete mode 100644 classGrevilleInterpolationPoints.html delete mode 100644 classGrevilleInterpolationPoints.js delete mode 100644 classKnotsAsInterpolationPoints-members.html delete mode 100644 classKnotsAsInterpolationPoints.html delete mode 100644 classKnotsAsInterpolationPoints.js delete mode 100644 classNonUniformBSplines-members.html delete mode 100644 classNonUniformBSplines.html delete mode 100644 classNonUniformBSplines.js delete mode 100644 classNonUniformBSplines_1_1Impl-members.html delete mode 100644 classNonUniformBSplines_1_1Impl.html delete mode 100644 classNonUniformBSplines_1_1Impl.js delete mode 100644 classNullBoundaryValue-members.html delete mode 100644 classNullBoundaryValue.html delete mode 100644 classNullBoundaryValue.js delete mode 100644 classNullBoundaryValue.png delete mode 100644 classNullBoundaryValue2D-members.html delete mode 100644 classNullBoundaryValue2D.html delete mode 100644 classNullBoundaryValue2D.js delete mode 100644 classNullBoundaryValue2D.png delete mode 100644 classPolarNullBoundaryValue2D-members.html delete mode 100644 classPolarNullBoundaryValue2D.html delete mode 100644 classPolarNullBoundaryValue2D.js delete mode 100644 classPolarNullBoundaryValue2D.png delete mode 100644 classPolarSplineBoundaryValue2D-members.html delete mode 100644 classPolarSplineBoundaryValue2D.html delete mode 100644 classPolarSplineBoundaryValue2D.js delete mode 100644 classSplineBoundaryValue-members.html delete mode 100644 classSplineBoundaryValue.html delete mode 100644 classSplineBoundaryValue.js delete mode 100644 classSplineBoundaryValue.png delete mode 100644 classSplineBoundaryValue2D-members.html delete mode 100644 classSplineBoundaryValue2D.html delete mode 100644 classSplineBoundaryValue2D.js delete mode 100644 classSplineBoundaryValue2D.png delete mode 100644 classSplineBuilder-members.html delete mode 100644 classSplineBuilder.html delete mode 100644 classSplineBuilder.js delete mode 100644 classSplineBuilder2D-members.html delete mode 100644 classSplineBuilder2D.html delete mode 100644 classSplineBuilder2D.js delete mode 100644 classSplineErrorBounds-members.html delete mode 100644 classSplineErrorBounds.html delete mode 100644 classSplineErrorBounds.js delete mode 100644 classSplineEvaluator-members.html delete mode 100644 classSplineEvaluator.html delete mode 100644 classSplineEvaluator.js delete mode 100644 classSplineEvaluator2D-members.html delete mode 100644 classSplineEvaluator2D.html delete mode 100644 classSplineEvaluator2D.js delete mode 100644 classUniformBSplines-members.html delete mode 100644 classUniformBSplines.html delete mode 100644 classUniformBSplines.js delete mode 100644 classUniformBSplines_1_1Impl-members.html delete mode 100644 classUniformBSplines_1_1Impl.html delete mode 100644 classUniformBSplines_1_1Impl.js delete mode 100644 classdeprecated_1_1BSplines-members.html delete mode 100644 classdeprecated_1_1BSplines.html delete mode 100644 classdeprecated_1_1BSplines.js delete mode 100644 classdeprecated_1_1BSplines.png delete mode 100644 classdeprecated_1_1NonUniformBSplines-members.html delete mode 100644 classdeprecated_1_1NonUniformBSplines.html delete mode 100644 classdeprecated_1_1NonUniformBSplines.js delete mode 100644 classdeprecated_1_1NonUniformBSplines.png delete mode 100644 classdeprecated_1_1Spline1D-members.html delete mode 100644 classdeprecated_1_1Spline1D.html delete mode 100644 classdeprecated_1_1Spline1D.js delete mode 100644 classdeprecated_1_1Spline2D-members.html delete mode 100644 classdeprecated_1_1Spline2D.html delete mode 100644 classdeprecated_1_1Spline2D.js delete mode 100644 classdeprecated_1_1SplineBuilder1D-members.html delete mode 100644 classdeprecated_1_1SplineBuilder1D.html delete mode 100644 classdeprecated_1_1SplineBuilder1D.js delete mode 100644 classdeprecated_1_1SplineBuilder2D-members.html delete mode 100644 classdeprecated_1_1SplineBuilder2D.html delete mode 100644 classdeprecated_1_1SplineBuilder2D.js delete mode 100644 classdeprecated_1_1UniformBSplines-members.html delete mode 100644 classdeprecated_1_1UniformBSplines.html delete mode 100644 classdeprecated_1_1UniformBSplines.js delete mode 100644 classdeprecated_1_1UniformBSplines.png delete mode 100644 constant__extrapolation__boundary__value_8hpp_source.html delete mode 100644 deprecated_2bsplines__non__uniform_8hpp_source.html delete mode 100644 deprecated_2bsplines__uniform_8hpp_source.html delete mode 100644 deprecated_2spline__builder__2d_8hpp_source.html delete mode 100644 dir_bf05ee1a50b262d9ca6db6046de9e516.html delete mode 100644 dir_bf05ee1a50b262d9ca6db6046de9e516.js delete mode 100644 greville__interpolation__points_8hpp_source.html delete mode 100644 knots__as__interpolation__points_8hpp_source.html delete mode 100644 navtreeindex5.js delete mode 100644 navtreeindex6.js delete mode 100644 null__boundary__value_8hpp_source.html delete mode 100644 search/classes_12.html delete mode 100644 search/classes_12.js delete mode 100644 search/typedefs_d.html delete mode 100644 search/typedefs_d.js delete mode 100644 search/typedefs_e.html delete mode 100644 search/typedefs_e.js delete mode 100644 search/variables_4.html delete mode 100644 search/variables_4.js delete mode 100644 spline__1d_8hpp_source.html delete mode 100644 spline__2d_8hpp_source.html delete mode 100644 spline__boundary__conditions_8hpp_source.html delete mode 100644 spline__boundary__value_8hpp_source.html delete mode 100644 spline__builder_8hpp_source.html delete mode 100644 spline__builder__1d_8hpp_source.html delete mode 100644 spline__builder__2d_8hpp_source.html delete mode 100644 spline__error__bounds_8hpp_source.html delete mode 100644 spline__evaluator_8hpp_source.html delete mode 100644 spline__evaluator__2d_8hpp_source.html delete mode 100644 structBSpline.html delete mode 100644 structdeprecated_1_1Boundary__data__2d-members.html delete mode 100644 structdeprecated_1_1Boundary__data__2d.html delete mode 100644 structdeprecated_1_1Boundary__data__2d.js diff --git a/advection__2d__rp_2test__cases_8hpp_source.html b/advection__2d__rp_2test__cases_8hpp_source.html index 622b81bf6..bc4f44b31 100644 --- a/advection__2d__rp_2test__cases_8hpp_source.html +++ b/advection__2d__rp_2test__cases_8hpp_source.html @@ -110,333 +110,330 @@
5 #include <sll/gauss_legendre_integration.hpp>
6 #include <sll/mapping/circular_to_cartesian.hpp>
7 #include <sll/math_tools.hpp>
-
8 #include <sll/null_boundary_value.hpp>
-
9 #include <sll/polar_spline.hpp>
-
10 #include <sll/polar_spline_evaluator.hpp>
-
11 #include <sll/spline_builder_2d.hpp>
-
12 #include <sll/spline_evaluator_2d.hpp>
-
13 
-
14 #include "geometry.hpp"
-
15 #include "paraconfpp.hpp"
-
16 #include "params.yaml.hpp"
-
17 #include "spline_interpolator_2d_rp.hpp"
-
18 
-
19 /*
-
20  * This file defines
-
21  * - the TEST FUNCTIONS,
-
22  * - the TEST ADVECTION FIELDS,
-
23  * - and the TEST SIMULATIONS.
-
24  */
-
25 
-
26 
-
27 
-
28 // TEST FUNCTIONS -----------------------------------------------------------------
-
35 class FunctionToBeAdvected
-
36 {
-
37 public:
-
38  virtual ~FunctionToBeAdvected() = default;
-
39 
-
48  virtual double operator()(CoordRP coord) = 0;
-
49 };
-
50 
-
51 
-
66 template <class Mapping>
-
67 class FunctionToBeAdvected_cos_4_elipse : public FunctionToBeAdvected
-
68 {
-
69 private:
-
70  Mapping const& m_mapping;
-
71 
-
72 public:
-
79  FunctionToBeAdvected_cos_4_elipse(Mapping const& mapping) : m_mapping(mapping) {};
-
80  ~FunctionToBeAdvected_cos_4_elipse() {};
-
81 
-
82  double operator()(CoordRP coord_rp) final
-
83  {
-
84  CoordXY const coord_xy(m_mapping(coord_rp));
-
85  double const x = ddc::get<RDimX>(coord_xy);
-
86  double const y = ddc::get<RDimY>(coord_xy);
-
87 
-
88  double const a = 0.3;
-
89  double const x_bar = 0.;
-
90  double const y_bar = 0.;
+
8 #include <sll/polar_spline.hpp>
+
9 #include <sll/polar_spline_evaluator.hpp>
+
10 
+
11 #include "geometry.hpp"
+
12 #include "paraconfpp.hpp"
+
13 #include "params.yaml.hpp"
+
14 #include "spline_interpolator_2d_rp.hpp"
+
15 
+
16 /*
+
17  * This file defines
+
18  * - the TEST FUNCTIONS,
+
19  * - the TEST ADVECTION FIELDS,
+
20  * - and the TEST SIMULATIONS.
+
21  */
+
22 
+
23 
+
24 
+
25 // TEST FUNCTIONS -----------------------------------------------------------------
+
32 class FunctionToBeAdvected
+
33 {
+
34 public:
+
35  virtual ~FunctionToBeAdvected() = default;
+
36 
+
45  virtual double operator()(CoordRP coord) = 0;
+
46 };
+
47 
+
48 
+
63 template <class Mapping>
+
64 class FunctionToBeAdvected_cos_4_elipse : public FunctionToBeAdvected
+
65 {
+
66 private:
+
67  Mapping const& m_mapping;
+
68 
+
69 public:
+
76  FunctionToBeAdvected_cos_4_elipse(Mapping const& mapping) : m_mapping(mapping) {};
+
77  ~FunctionToBeAdvected_cos_4_elipse() {};
+
78 
+
79  double operator()(CoordRP coord_rp) final
+
80  {
+
81  CoordXY const coord_xy(m_mapping(coord_rp));
+
82  double const x = ddc::get<RDimX>(coord_xy);
+
83  double const y = ddc::get<RDimY>(coord_xy);
+
84 
+
85  double const a = 0.3;
+
86  double const x_bar = 0.;
+
87  double const y_bar = 0.;
+
88 
+
89  double const r_1 = std::sqrt((x - x_bar) * (x - x_bar) + 8 * (y - y_bar) * (y - y_bar));
+
90  double const r_2 = std::sqrt(8 * (x - x_bar) * (x - x_bar) + (y - y_bar) * (y - y_bar));
91 
-
92  double const r_1 = std::sqrt((x - x_bar) * (x - x_bar) + 8 * (y - y_bar) * (y - y_bar));
-
93  double const r_2 = std::sqrt(8 * (x - x_bar) * (x - x_bar) + (y - y_bar) * (y - y_bar));
+
92  double const G_1 = std::pow(std::cos(M_PI * r_1 / 2. / a), 4) * (r_1 < a);
+
93  double const G_2 = std::pow(std::cos(M_PI * r_2 / 2. / a), 4) * (r_2 < a);
94 
-
95  double const G_1 = std::pow(std::cos(M_PI * r_1 / 2. / a), 4) * (r_1 < a);
-
96  double const G_2 = std::pow(std::cos(M_PI * r_2 / 2. / a), 4) * (r_2 < a);
-
97 
-
98  return 1. / 2. * (G_1 + G_2);
-
99  };
-
100 };
-
101 
-
102 
-
111 template <class Mapping>
-
112 class FunctionToBeAdvected_gaussian : public FunctionToBeAdvected
-
113 {
-
114 private:
-
115  Mapping const& m_mapping;
-
116  double const m_constant;
-
117  double const m_x0;
-
118  double const m_y0;
-
119  double const m_sig_x;
-
120  double const m_sig_y;
-
121  double const m_rmin;
-
122  double const m_rmax;
-
123 
-
124 public:
-
145  FunctionToBeAdvected_gaussian(
-
146  Mapping const& mapping,
-
147  double const constant,
-
148  double const x0,
-
149  double const y0,
-
150  double const sig_x,
-
151  double const sig_y,
-
152  double const rmin,
-
153  double const rmax)
-
154  : m_mapping(mapping)
-
155  , m_constant(constant)
-
156  , m_x0(x0)
-
157  , m_y0(y0)
-
158  , m_sig_x(sig_x)
-
159  , m_sig_y(sig_y)
-
160  , m_rmin(rmin)
-
161  , m_rmax(rmax) {};
-
162  ~FunctionToBeAdvected_gaussian() {};
-
163 
-
164  double operator()(CoordRP coord_rp) final
-
165  {
-
166  // Gaussian centered in (x0, y0):
-
167  CoordXY const coord_xy(m_mapping(coord_rp));
-
168  double const x = ddc::get<RDimX>(coord_xy);
-
169  double const y = ddc::get<RDimY>(coord_xy);
-
170  double const r = ddc::get<RDimR>(coord_rp);
-
171  if ((m_rmin <= r) and (r <= m_rmax)) {
-
172  return m_constant
-
173  * std::exp(
-
174  -pow(x - m_x0, 2) / (2 * m_sig_x * m_sig_x)
-
175  - pow(y - m_y0, 2) / (2 * m_sig_y * m_sig_y));
-
176  } else {
-
177  return 0.0;
-
178  }
-
179  };
-
180 };
-
181 
-
182 
-
183 
-
184 // TEST ADVECTION FIELDS ----------------------------------------------------------
-
192 class AdvectionField
-
193 {
-
194 public:
-
195  virtual ~AdvectionField() = default;
-
196 
-
207  virtual CoordXY operator()(CoordXY const coord, double const t = 0.) const = 0;
-
208 
-
219  virtual CoordXY exact_feet(CoordXY coord, double t) const = 0;
-
220 };
-
221 
-
222 
-
237 class AdvectionField_decentred_rotation : public AdvectionField
-
238 {
-
239 private:
-
240  double const m_omega;
-
241  double const m_xc;
-
242  double const m_yc;
-
243  double const m_x_bar;
-
244  double const m_y_bar;
-
245 
-
246 public:
-
251  AdvectionField_decentred_rotation()
-
252  : m_omega(2 * M_PI)
-
253  , m_xc(0.25)
-
254  , m_yc(0.)
-
255  , m_x_bar(0.)
-
256  , m_y_bar(0.) {};
-
257  ~AdvectionField_decentred_rotation() {};
-
258 
-
259  CoordXY operator()(CoordXY const coord, double const t) const final
-
260  {
-
261  double const x = m_omega * (m_yc - ddc::get<RDimY>(coord));
-
262  double const y = m_omega * (ddc::get<RDimX>(coord) - m_xc);
-
263  return CoordXY(x, y);
-
264  };
-
265 
-
266  CoordXY exact_feet(CoordXY coord, double const t) const final
-
267  {
-
268  double const x = ddc::get<RDimX>(coord);
-
269  double const y = ddc::get<RDimY>(coord);
-
270  double const foot_x
-
271  = m_xc + (x - m_xc) * std::cos(m_omega * -t) - (y - m_yc) * std::sin(m_omega * -t);
-
272  double const foot_y
-
273  = m_yc + (x - m_xc) * std::sin(m_omega * -t) + (y - m_yc) * std::cos(m_omega * -t);
-
274  return CoordXY(foot_x, foot_y);
-
275  };
-
276 };
-
277 
-
278 
-
279 
-
295 class AdvectionField_translation : public AdvectionField
-
296 {
-
297 private:
-
298  CoordXY const m_velocity;
-
299 
-
300 public:
-
309  AdvectionField_translation(CoordVx vx, CoordVy vy)
-
310  : m_velocity(ddc::get<RDimVx>(vx), ddc::get<RDimVy>(vy)) {};
-
311  ~AdvectionField_translation() {};
-
312 
-
313  CoordXY operator()(CoordXY const coord, double const t) const final
-
314  {
-
315  return m_velocity;
-
316  };
-
317 
-
318  CoordXY exact_feet(CoordXY coord, double const t) const final
-
319  {
-
320  return coord - t * m_velocity;
-
321  };
-
322 };
-
323 
-
324 
-
325 
-
345 class AdvectionField_rotation : public AdvectionField
-
346 {
-
347 private:
-
348  double const m_vr;
-
349  double const m_vp;
-
350  CircularToCartesian<RDimX, RDimY, RDimR, RDimP> const m_mapping;
-
351 
-
352 public:
-
361  AdvectionField_rotation(CoordVr vr, CoordVp vp) : m_vr(vr), m_vp(vp), m_mapping() {};
-
362  ~AdvectionField_rotation() {};
-
363 
-
364  CoordXY operator()(CoordXY const coord, double const t) const final
-
365  {
-
366  CoordRP const coord_rp(m_mapping(coord));
-
367  std::array<std::array<double, 2>, 2> jacobian;
-
368  m_mapping.jacobian_matrix(coord_rp, jacobian);
-
369  double const vx = m_vr * jacobian[0][0] + m_vp * jacobian[0][1];
-
370  double const vy = m_vr * jacobian[1][0] + m_vp * jacobian[1][1];
-
371  return CoordXY(vx, vy);
-
372  };
-
373 
-
374  CoordXY exact_feet(CoordXY coord_xy, double const t) const final
-
375  {
-
376  CoordRP const coord_rp(m_mapping(coord_xy));
-
377  CoordRP const velocity(m_vr, m_vp);
-
378  return m_mapping(coord_rp - t * velocity);
-
379  };
-
380 };
-
381 
-
382 
-
383 
-
384 // TEST SIMULATIONS ---------------------------------------------------------------
-
397 template <class AdvectionField, class FunctionToBeAdvected>
-
398 class AdvectionSimulation
-
399 {
-
400 protected:
-
404  AdvectionField const m_advection_field;
-
408  FunctionToBeAdvected const m_function;
-
409 
-
410 public:
-
419  AdvectionSimulation(AdvectionField const advection_field, FunctionToBeAdvected const function)
-
420  : m_advection_field(advection_field)
-
421  , m_function(function) {};
-
422  virtual ~AdvectionSimulation() = default;
-
423 
-
424 
-
430  AdvectionField const& get_advection_field() const
-
431  {
-
432  return m_advection_field;
-
433  };
-
434 
-
440  FunctionToBeAdvected const& get_test_function() const
-
441  {
-
442  return m_function;
-
443  };
-
444 };
-
445 
-
446 
-
469 template <class Mapping>
-
470 class TranslationSimulation
-
471  : public AdvectionSimulation<AdvectionField_translation, FunctionToBeAdvected_gaussian<Mapping>>
-
472 {
-
473 public:
-
484  TranslationSimulation(Mapping const& mapping, double const rmin, double const rmax)
-
485  : AdvectionSimulation<AdvectionField_translation, FunctionToBeAdvected_gaussian<Mapping>>(
-
486  AdvectionField_translation(
-
487  CoordVx(std::cos(2 * M_PI * 511. / 4096.) / 2.),
-
488  CoordVy(std::sin(2 * M_PI * 511. / 4096.) / 2.)),
-
489  FunctionToBeAdvected_gaussian<
-
490  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax)) {};
-
491 };
-
492 
-
493 
-
518 template <class Mapping>
-
519 class RotationSimulation
-
520  : public AdvectionSimulation<AdvectionField_rotation, FunctionToBeAdvected_gaussian<Mapping>>
-
521 {
-
522 public:
-
533  RotationSimulation(Mapping const& mapping, double const rmin, double const rmax)
-
534  : AdvectionSimulation<AdvectionField_rotation, FunctionToBeAdvected_gaussian<Mapping>>(
-
535  AdvectionField_rotation(CoordVr(0.), CoordVp(2 * M_PI)),
-
536  FunctionToBeAdvected_gaussian<
-
537  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax)) {};
-
538 };
-
539 
-
540 
-
566 template <class Mapping>
-
567 class DecentredRotationSimulation
-
568  : public AdvectionSimulation<
-
569  AdvectionField_decentred_rotation,
-
570  FunctionToBeAdvected_cos_4_elipse<Mapping>>
-
571 {
-
572 public:
-
579  DecentredRotationSimulation(Mapping const& mapping)
-
580  : AdvectionSimulation<
-
581  AdvectionField_decentred_rotation,
-
582  FunctionToBeAdvected_cos_4_elipse<Mapping>>(
-
583  AdvectionField_decentred_rotation(),
-
584  FunctionToBeAdvected_cos_4_elipse<Mapping>(mapping)) {};
-
585 };
-
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:238
-
AdvectionField_decentred_rotation()
Instantiate an AdvectionField_decentred_rotation advection field.
Definition: test_cases.hpp:251
-
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:259
-
CoordXY exact_feet(CoordXY coord, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:266
-
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:346
-
CoordXY exact_feet(CoordXY coord_xy, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:374
-
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:364
-
AdvectionField_rotation(CoordVr vr, CoordVp vp)
Instantiate an AdvectionField_rotation advection field.
Definition: test_cases.hpp:361
-
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:296
-
CoordXY exact_feet(CoordXY coord, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:318
-
AdvectionField_translation(CoordVx vx, CoordVy vy)
Instantiate an AdvectionField_translation advection field.
Definition: test_cases.hpp:309
-
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:313
-
Base class for the advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:193
+
95  return 1. / 2. * (G_1 + G_2);
+
96  };
+
97 };
+
98 
+
99 
+
108 template <class Mapping>
+
109 class FunctionToBeAdvected_gaussian : public FunctionToBeAdvected
+
110 {
+
111 private:
+
112  Mapping const& m_mapping;
+
113  double const m_constant;
+
114  double const m_x0;
+
115  double const m_y0;
+
116  double const m_sig_x;
+
117  double const m_sig_y;
+
118  double const m_rmin;
+
119  double const m_rmax;
+
120 
+
121 public:
+
142  FunctionToBeAdvected_gaussian(
+
143  Mapping const& mapping,
+
144  double const constant,
+
145  double const x0,
+
146  double const y0,
+
147  double const sig_x,
+
148  double const sig_y,
+
149  double const rmin,
+
150  double const rmax)
+
151  : m_mapping(mapping)
+
152  , m_constant(constant)
+
153  , m_x0(x0)
+
154  , m_y0(y0)
+
155  , m_sig_x(sig_x)
+
156  , m_sig_y(sig_y)
+
157  , m_rmin(rmin)
+
158  , m_rmax(rmax) {};
+
159  ~FunctionToBeAdvected_gaussian() {};
+
160 
+
161  double operator()(CoordRP coord_rp) final
+
162  {
+
163  // Gaussian centered in (x0, y0):
+
164  CoordXY const coord_xy(m_mapping(coord_rp));
+
165  double const x = ddc::get<RDimX>(coord_xy);
+
166  double const y = ddc::get<RDimY>(coord_xy);
+
167  double const r = ddc::get<RDimR>(coord_rp);
+
168  if ((m_rmin <= r) and (r <= m_rmax)) {
+
169  return m_constant
+
170  * std::exp(
+
171  -pow(x - m_x0, 2) / (2 * m_sig_x * m_sig_x)
+
172  - pow(y - m_y0, 2) / (2 * m_sig_y * m_sig_y));
+
173  } else {
+
174  return 0.0;
+
175  }
+
176  };
+
177 };
+
178 
+
179 
+
180 
+
181 // TEST ADVECTION FIELDS ----------------------------------------------------------
+
189 class AdvectionField
+
190 {
+
191 public:
+
192  virtual ~AdvectionField() = default;
+
193 
+
204  virtual CoordXY operator()(CoordXY const coord, double const t = 0.) const = 0;
+
205 
+
216  virtual CoordXY exact_feet(CoordXY coord, double t) const = 0;
+
217 };
+
218 
+
219 
+
234 class AdvectionField_decentred_rotation : public AdvectionField
+
235 {
+
236 private:
+
237  double const m_omega;
+
238  double const m_xc;
+
239  double const m_yc;
+
240  double const m_x_bar;
+
241  double const m_y_bar;
+
242 
+
243 public:
+
248  AdvectionField_decentred_rotation()
+
249  : m_omega(2 * M_PI)
+
250  , m_xc(0.25)
+
251  , m_yc(0.)
+
252  , m_x_bar(0.)
+
253  , m_y_bar(0.) {};
+
254  ~AdvectionField_decentred_rotation() {};
+
255 
+
256  CoordXY operator()(CoordXY const coord, double const t) const final
+
257  {
+
258  double const x = m_omega * (m_yc - ddc::get<RDimY>(coord));
+
259  double const y = m_omega * (ddc::get<RDimX>(coord) - m_xc);
+
260  return CoordXY(x, y);
+
261  };
+
262 
+
263  CoordXY exact_feet(CoordXY coord, double const t) const final
+
264  {
+
265  double const x = ddc::get<RDimX>(coord);
+
266  double const y = ddc::get<RDimY>(coord);
+
267  double const foot_x
+
268  = m_xc + (x - m_xc) * std::cos(m_omega * -t) - (y - m_yc) * std::sin(m_omega * -t);
+
269  double const foot_y
+
270  = m_yc + (x - m_xc) * std::sin(m_omega * -t) + (y - m_yc) * std::cos(m_omega * -t);
+
271  return CoordXY(foot_x, foot_y);
+
272  };
+
273 };
+
274 
+
275 
+
276 
+
292 class AdvectionField_translation : public AdvectionField
+
293 {
+
294 private:
+
295  CoordXY const m_velocity;
+
296 
+
297 public:
+
306  AdvectionField_translation(CoordVx vx, CoordVy vy)
+
307  : m_velocity(ddc::get<RDimVx>(vx), ddc::get<RDimVy>(vy)) {};
+
308  ~AdvectionField_translation() {};
+
309 
+
310  CoordXY operator()(CoordXY const coord, double const t) const final
+
311  {
+
312  return m_velocity;
+
313  };
+
314 
+
315  CoordXY exact_feet(CoordXY coord, double const t) const final
+
316  {
+
317  return coord - t * m_velocity;
+
318  };
+
319 };
+
320 
+
321 
+
322 
+
342 class AdvectionField_rotation : public AdvectionField
+
343 {
+
344 private:
+
345  double const m_vr;
+
346  double const m_vp;
+
347  CircularToCartesian<RDimX, RDimY, RDimR, RDimP> const m_mapping;
+
348 
+
349 public:
+
358  AdvectionField_rotation(CoordVr vr, CoordVp vp) : m_vr(vr), m_vp(vp), m_mapping() {};
+
359  ~AdvectionField_rotation() {};
+
360 
+
361  CoordXY operator()(CoordXY const coord, double const t) const final
+
362  {
+
363  CoordRP const coord_rp(m_mapping(coord));
+
364  std::array<std::array<double, 2>, 2> jacobian;
+
365  m_mapping.jacobian_matrix(coord_rp, jacobian);
+
366  double const vx = m_vr * jacobian[0][0] + m_vp * jacobian[0][1];
+
367  double const vy = m_vr * jacobian[1][0] + m_vp * jacobian[1][1];
+
368  return CoordXY(vx, vy);
+
369  };
+
370 
+
371  CoordXY exact_feet(CoordXY coord_xy, double const t) const final
+
372  {
+
373  CoordRP const coord_rp(m_mapping(coord_xy));
+
374  CoordRP const velocity(m_vr, m_vp);
+
375  return m_mapping(coord_rp - t * velocity);
+
376  };
+
377 };
+
378 
+
379 
+
380 
+
381 // TEST SIMULATIONS ---------------------------------------------------------------
+
394 template <class AdvectionField, class FunctionToBeAdvected>
+
395 class AdvectionSimulation
+
396 {
+
397 protected:
+
401  AdvectionField const m_advection_field;
+
405  FunctionToBeAdvected const m_function;
+
406 
+
407 public:
+
416  AdvectionSimulation(AdvectionField const advection_field, FunctionToBeAdvected const function)
+
417  : m_advection_field(advection_field)
+
418  , m_function(function) {};
+
419  virtual ~AdvectionSimulation() = default;
+
420 
+
421 
+
427  AdvectionField const& get_advection_field() const
+
428  {
+
429  return m_advection_field;
+
430  };
+
431 
+
437  FunctionToBeAdvected const& get_test_function() const
+
438  {
+
439  return m_function;
+
440  };
+
441 };
+
442 
+
443 
+
466 template <class Mapping>
+
467 class TranslationSimulation
+
468  : public AdvectionSimulation<AdvectionField_translation, FunctionToBeAdvected_gaussian<Mapping>>
+
469 {
+
470 public:
+
481  TranslationSimulation(Mapping const& mapping, double const rmin, double const rmax)
+
482  : AdvectionSimulation<AdvectionField_translation, FunctionToBeAdvected_gaussian<Mapping>>(
+
483  AdvectionField_translation(
+
484  CoordVx(std::cos(2 * M_PI * 511. / 4096.) / 2.),
+
485  CoordVy(std::sin(2 * M_PI * 511. / 4096.) / 2.)),
+
486  FunctionToBeAdvected_gaussian<
+
487  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax)) {};
+
488 };
+
489 
+
490 
+
515 template <class Mapping>
+
516 class RotationSimulation
+
517  : public AdvectionSimulation<AdvectionField_rotation, FunctionToBeAdvected_gaussian<Mapping>>
+
518 {
+
519 public:
+
530  RotationSimulation(Mapping const& mapping, double const rmin, double const rmax)
+
531  : AdvectionSimulation<AdvectionField_rotation, FunctionToBeAdvected_gaussian<Mapping>>(
+
532  AdvectionField_rotation(CoordVr(0.), CoordVp(2 * M_PI)),
+
533  FunctionToBeAdvected_gaussian<
+
534  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax)) {};
+
535 };
+
536 
+
537 
+
563 template <class Mapping>
+
564 class DecentredRotationSimulation
+
565  : public AdvectionSimulation<
+
566  AdvectionField_decentred_rotation,
+
567  FunctionToBeAdvected_cos_4_elipse<Mapping>>
+
568 {
+
569 public:
+
576  DecentredRotationSimulation(Mapping const& mapping)
+
577  : AdvectionSimulation<
+
578  AdvectionField_decentred_rotation,
+
579  FunctionToBeAdvected_cos_4_elipse<Mapping>>(
+
580  AdvectionField_decentred_rotation(),
+
581  FunctionToBeAdvected_cos_4_elipse<Mapping>(mapping)) {};
+
582 };
+
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:235
+
AdvectionField_decentred_rotation()
Instantiate an AdvectionField_decentred_rotation advection field.
Definition: test_cases.hpp:248
+
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:256
+
CoordXY exact_feet(CoordXY coord, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:263
+
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:343
+
CoordXY exact_feet(CoordXY coord_xy, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:371
+
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:361
+
AdvectionField_rotation(CoordVr vr, CoordVp vp)
Instantiate an AdvectionField_rotation advection field.
Definition: test_cases.hpp:358
+
Advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:293
+
CoordXY exact_feet(CoordXY coord, double const t) const final
Get the characteristic feet in the physical domain.
Definition: test_cases.hpp:315
+
AdvectionField_translation(CoordVx vx, CoordVy vy)
Instantiate an AdvectionField_translation advection field.
Definition: test_cases.hpp:306
+
CoordXY operator()(CoordXY const coord, double const t) const final
Get the advection field in the physical domain.
Definition: test_cases.hpp:310
+
Base class for the advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:190
virtual CoordXY exact_feet(CoordXY coord, double t) const =0
Get the characteristic feet in the physical domain.
virtual CoordXY operator()(CoordXY const coord, double const t=0.) const =0
Get the advection field in the physical domain.
-
Base class for the tests simulation of the 2D polar advection operator.
Definition: test_cases.hpp:399
-
AdvectionField const m_advection_field
The chosen advection field for the simulation.
Definition: test_cases.hpp:404
-
FunctionToBeAdvected const & get_test_function() const
Get the test function of the simulation.
Definition: test_cases.hpp:440
-
AdvectionField const & get_advection_field() const
Get the advection field of the simulation.
Definition: test_cases.hpp:430
-
AdvectionSimulation(AdvectionField const advection_field, FunctionToBeAdvected const function)
Instantiate a AdvectionSimulation simulation.
Definition: test_cases.hpp:419
-
FunctionToBeAdvected const m_function
The chosen function to be advected for the simulation.
Definition: test_cases.hpp:408
+
Base class for the tests simulation of the 2D polar advection operator.
Definition: test_cases.hpp:396
+
AdvectionField const m_advection_field
The chosen advection field for the simulation.
Definition: test_cases.hpp:401
+
FunctionToBeAdvected const & get_test_function() const
Get the test function of the simulation.
Definition: test_cases.hpp:437
+
AdvectionField const & get_advection_field() const
Get the advection field of the simulation.
Definition: test_cases.hpp:427
+
AdvectionSimulation(AdvectionField const advection_field, FunctionToBeAdvected const function)
Instantiate a AdvectionSimulation simulation.
Definition: test_cases.hpp:416
+
FunctionToBeAdvected const m_function
The chosen function to be advected for the simulation.
Definition: test_cases.hpp:405
void jacobian_matrix(ddc::Coordinate< DimR, DimP > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: circular_to_cartesian.hpp:129
-
Simulation of a decentred rotated elipse-type function.
Definition: test_cases.hpp:571
-
DecentredRotationSimulation(Mapping const &mapping)
Instantiate a DecentredRotationSimulation simulation.
Definition: test_cases.hpp:579
-
Test function for the 2D polar advection operator.
Definition: test_cases.hpp:68
-
double operator()(CoordRP coord_rp) final
Get the value of the function.
Definition: test_cases.hpp:82
-
FunctionToBeAdvected_cos_4_elipse(Mapping const &mapping)
Instantiate a FunctionToBeAdvected_cos_4_elipse function.
Definition: test_cases.hpp:79
-
Test function for the 2D polar advection operator.
Definition: test_cases.hpp:113
-
double operator()(CoordRP coord_rp) final
Get the value of the function.
Definition: test_cases.hpp:164
-
FunctionToBeAdvected_gaussian(Mapping const &mapping, double const constant, double const x0, double const y0, double const sig_x, double const sig_y, double const rmin, double const rmax)
Instantiate a FunctionToBeAdvected_gaussian function.
Definition: test_cases.hpp:145
-
Base class for the test functions for the 2D polar advection operator.
Definition: test_cases.hpp:36
+
Simulation of a decentred rotated elipse-type function.
Definition: test_cases.hpp:568
+
DecentredRotationSimulation(Mapping const &mapping)
Instantiate a DecentredRotationSimulation simulation.
Definition: test_cases.hpp:576
+
Test function for the 2D polar advection operator.
Definition: test_cases.hpp:65
+
double operator()(CoordRP coord_rp) final
Get the value of the function.
Definition: test_cases.hpp:79
+
FunctionToBeAdvected_cos_4_elipse(Mapping const &mapping)
Instantiate a FunctionToBeAdvected_cos_4_elipse function.
Definition: test_cases.hpp:76
+
Test function for the 2D polar advection operator.
Definition: test_cases.hpp:110
+
double operator()(CoordRP coord_rp) final
Get the value of the function.
Definition: test_cases.hpp:161
+
FunctionToBeAdvected_gaussian(Mapping const &mapping, double const constant, double const x0, double const y0, double const sig_x, double const sig_y, double const rmin, double const rmax)
Instantiate a FunctionToBeAdvected_gaussian function.
Definition: test_cases.hpp:142
+
Base class for the test functions for the 2D polar advection operator.
Definition: test_cases.hpp:33
virtual double operator()(CoordRP coord)=0
Get the value of the function.
-
Simulation of a rotated Gaussian.
Definition: test_cases.hpp:521
-
RotationSimulation(Mapping const &mapping, double const rmin, double const rmax)
Instantiate a RotationSimulation simulation.
Definition: test_cases.hpp:533
-
Simulation of a translated Gaussian.
Definition: test_cases.hpp:472
-
TranslationSimulation(Mapping const &mapping, double const rmin, double const rmax)
Instantiate a TranslationSimulation simulation.
Definition: test_cases.hpp:484
-
Define non periodic real X velocity dimension.
Definition: geometry.hpp:446
-
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:659
+
Simulation of a rotated Gaussian.
Definition: test_cases.hpp:518
+
RotationSimulation(Mapping const &mapping, double const rmin, double const rmax)
Instantiate a RotationSimulation simulation.
Definition: test_cases.hpp:530
+
Simulation of a translated Gaussian.
Definition: test_cases.hpp:469
+
TranslationSimulation(Mapping const &mapping, double const rmin, double const rmax)
Instantiate a TranslationSimulation simulation.
Definition: test_cases.hpp:481
+
Define non periodic real X velocity dimension.
Definition: geometry.hpp:525
+
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:736
diff --git a/advection__domain_8hpp_source.html b/advection__domain_8hpp_source.html index 73105247a..7eec33416 100644 --- a/advection__domain_8hpp_source.html +++ b/advection__domain_8hpp_source.html @@ -214,7 +214,7 @@
315  VectorDViewRP<RDimX_adv, RDimY_adv> const& advection_field,
316  double const dt) const
317  {
-
318  assert(typeid(m_mapping) != typeid(CircularToCartesian<RDimX, RDimY, RDimR, RDimP>));
+
318  static_assert(!std::is_same_v<Mapping, CircularToCartesian<RDimX, RDimY, RDimR, RDimP>>);
319  auto const rp_dom = advection_field.domain();
320 
321  CircularToCartesian<RDimX_adv, RDimY_adv, RDimR, RDimP> const pseudo_Cartesian_mapping;
@@ -242,7 +242,7 @@
357  VectorDViewRP<RDimX, RDimY> advection_field,
358  VectorDSpanRP<RDimX_adv, RDimY_adv> advection_field_pseudo_Cart) const
359  {
-
360  assert(typeid(m_mapping) != typeid(CircularToCartesian<RDimX, RDimY, RDimR, RDimP>));
+
360  static_assert(!std::is_same_v<Mapping, CircularToCartesian<RDimX, RDimY, RDimR, RDimP>>);
361 
362  IDomainRP const rp_dom = advection_field.domain();
363  CircularToCartesian<RDimX_adv, RDimY_adv, RDimR, RDimP> const pseudo_Cartesian_mapping;
@@ -321,8 +321,8 @@
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Tag the first non periodic dimension in the pseudo_Cartesian domain.
Definition: geometry_pseudo_cartesian.hpp:11
Tag the second non periodic dimension in the pseudo_Cartesian domain.
Definition: geometry_pseudo_cartesian.hpp:23
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
Define non periodic real Y dimension.
Definition: geometry.hpp:648
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
Define non periodic real Y dimension.
Definition: geometry.hpp:725
File Describing useful functions.
KOKKOS_FUNCTION double norm_inf(ddc::Coordinate< Tags... > coord)
Compute the infinity norm.
Definition: utils_tools.hpp:23
diff --git a/advection__field__rp_8hpp_source.html b/advection__field__rp_8hpp_source.html index 563ef92ba..121f78285 100644 --- a/advection__field__rp_8hpp_source.html +++ b/advection__field__rp_8hpp_source.html @@ -131,363 +131,368 @@
97 private:
98  Mapping const& m_mapping;
99 
-
100  PolarSplineEvaluator<PolarBSplinesRP> const m_polar_spline_evaluator;
-
101 
-
102  SplineRPEvaluator const m_spline_evaluator;
-
103 
-
104  double const m_epsilon;
-
105 
-
106  static constexpr int n_overlap_cells = PolarBSplinesRP::continuity + 1;
-
107 
-
108 public:
-
118  AdvectionFieldFinder(Mapping const& mapping, double const epsilon = 1e-12)
-
119  : m_mapping(mapping)
-
120  , m_polar_spline_evaluator(g_polar_null_boundary_2d<PolarBSplinesRP>)
-
121  , m_spline_evaluator(
-
122  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
123  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
124  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
125  g_null_boundary_2d<BSplinesR, BSplinesP>)
-
126  , m_epsilon(epsilon) {};
+
100  PolarSplineEvaluator<PolarBSplinesRP, ddc::NullExtrapolationRule> const
+
101  m_polar_spline_evaluator;
+
102 
+
103  SplineRPEvaluatorNullBound const m_spline_evaluator;
+
104 
+
105  double const m_epsilon;
+
106 
+
107  static constexpr int n_overlap_cells = PolarBSplinesRP::continuity + 1;
+
108 
+
109 public:
+
119  AdvectionFieldFinder(Mapping const& mapping, double const epsilon = 1e-12)
+
120  : m_mapping(mapping)
+
121  , m_polar_spline_evaluator(ddc::NullExtrapolationRule())
+
122  , m_spline_evaluator {ddc::NullExtrapolationRule(), ddc::NullExtrapolationRule(), ddc::PeriodicExtrapolationRule<RDimP>(), ddc::PeriodicExtrapolationRule<RDimP>()}
+
123  , m_epsilon(epsilon) {};
+
124 
+
125  ~AdvectionFieldFinder() {};
+
126 
127 
-
128  ~AdvectionFieldFinder() {};
-
129 
-
130 
-
131 
+
128 
+
129  // -------------------------------------------------------------------------------------------
+
130  // COMPUTE ADVECTION FIELD IN XY: |
+
131  // Advection field along the physical directions. |
132  // -------------------------------------------------------------------------------------------
-
133  // COMPUTE ADVECTION FIELD IN XY: |
-
134  // Advection field along the physical directions. |
-
135  // -------------------------------------------------------------------------------------------
-
136 
-
137 
-
146  void operator()(
-
147  DSpanRP electrostatic_potential,
-
148  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
-
149  {
-
150  auto const grid = advection_field_xy.domain();
-
151 
-
152  // Compute the spline representation of the electrostatic potential
-
153  SplineRPBuilder const builder(grid);
-
154  BSDomainRP const dom_bsplinesRP = builder.spline_domain();
-
155  Spline2D electrostatic_potential_coef(dom_bsplinesRP);
-
156  builder(electrostatic_potential_coef, electrostatic_potential);
+
133 
+
134 
+
143  void operator()(
+
144  DSpanRP electrostatic_potential,
+
145  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
+
146  {
+
147  auto const grid = advection_field_xy.domain();
+
148 
+
149  // Compute the spline representation of the electrostatic potential
+
150  SplineRPBuilder const builder(grid);
+
151  BSDomainRP const dom_bsplinesRP = builder.spline_domain();
+
152  Spline2D electrostatic_potential_coef(dom_bsplinesRP);
+
153  builder(electrostatic_potential_coef.span_view(), electrostatic_potential.span_cview());
+
154 
+
155  (*this)(electrostatic_potential_coef.span_view(), advection_field_xy);
+
156  }
157 
-
158  (*this)(electrostatic_potential_coef.span_view(), advection_field_xy);
-
159  }
-
160 
-
161 
-
162 
-
172  void operator()(
-
173  Spline2DSpan electrostatic_potential_coef,
-
174  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
-
175  {
-
176  compute_advection_field_XY(
-
177  m_spline_evaluator,
-
178  electrostatic_potential_coef,
-
179  advection_field_xy);
-
180  }
-
181 
-
182 
-
192  void operator()(
-
193  SplinePolar& electrostatic_potential_coef,
-
194  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
-
195  {
-
196  compute_advection_field_XY(
-
197  m_polar_spline_evaluator,
-
198  electrostatic_potential_coef,
-
199  advection_field_xy);
-
200  }
-
201 
-
202 
-
203 private:
-
214  template <class SplineType, class Evaluator>
-
215  void compute_advection_field_XY(
-
216  Evaluator evaluator,
-
217  SplineType& electrostatic_potential_coef,
-
218  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
-
219  {
-
220  assert((std::is_same_v<
-
221  Evaluator,
-
222  SplineRPEvaluator> && std::is_same_v<SplineType, Spline2DSpan>)
-
223  || (std::is_same_v<
-
224  Evaluator,
-
225  PolarSplineEvaluator<
-
226  PolarBSplinesRP>> && std::is_same_v<SplineType, SplinePolar>));
-
227 
-
228  IDomainRP const grid = advection_field_xy.domain();
-
229  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
-
230 
-
231  FieldRP<CoordRP> coords(grid);
-
232  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
-
233 
-
234  // > computation of the phi derivatives
-
235  DFieldRP deriv_r_phi(grid);
-
236  DFieldRP deriv_p_phi(grid);
-
237 
-
238  evaluator.deriv_dim_1(
-
239  deriv_r_phi.span_view(),
-
240  coords.span_cview(),
-
241  electrostatic_potential_coef);
-
242  evaluator.deriv_dim_2(
-
243  deriv_p_phi.span_view(),
-
244  coords.span_cview(),
-
245  electrostatic_potential_coef);
-
246 
-
247  // > computation of the electric field
-
248  ddc::for_each(grid, [&](IndexRP const irp) {
-
249  double const r = ddc::coordinate(ddc::select<IDimR>(irp));
-
250  double const th = ddc::coordinate(ddc::select<IDimP>(irp));
-
251 
-
252  if (r > m_epsilon) {
-
253  CoordRP const coord_rp(r, th);
-
254 
-
255  Matrix_2x2 inv_J; // Inverse Jacobian matrix
-
256  m_mapping.inv_jacobian_matrix(coord_rp, inv_J);
-
257 
-
258  // Gradiant of phi in the physical domain (Cartesian domain)
-
259  double const deriv_x_phi
-
260  = deriv_r_phi(irp) * inv_J[0][0] + deriv_p_phi(irp) * inv_J[1][0];
-
261  double const deriv_y_phi
-
262  = deriv_r_phi(irp) * inv_J[0][1] + deriv_p_phi(irp) * inv_J[1][1];
-
263 
-
264  // E = -grad phi
-
265  ddcHelper::get<RDimX>(electric_field)(irp) = -deriv_x_phi;
-
266  ddcHelper::get<RDimY>(electric_field)(irp) = -deriv_y_phi;
-
267 
-
268  } else {
-
269  // Linearisation of the electric field
-
270  double const th1 = M_PI / 4.;
-
271  double const th2 = -M_PI / 4. + 2 * M_PI;
-
272 
-
273  // --- Value at r = 0:
-
274  CoordRP const coord_1_0(0, th1);
-
275  CoordRP const coord_2_0(0, th2);
-
276 
-
277  double const dr_x_1 = m_mapping.jacobian_11(coord_1_0); // dr_x (0, th1)
-
278  double const dr_y_1 = m_mapping.jacobian_21(coord_1_0); // dr_y (0, th1)
-
279 
-
280  double const dr_x_2 = m_mapping.jacobian_11(coord_2_0); // dr_x (0, th2)
-
281  double const dr_y_2 = m_mapping.jacobian_21(coord_2_0); // dr_y (0, th2)
-
282 
-
283  double deriv_r_phi_1
-
284  = evaluator.deriv_dim_1(coord_1_0, electrostatic_potential_coef);
-
285  double deriv_r_phi_2
-
286  = evaluator.deriv_dim_1(coord_2_0, electrostatic_potential_coef);
-
287 
-
288  double const determinant = dr_x_1 * dr_y_2 - dr_x_2 * dr_y_1;
-
289 
-
290  double const deriv_x_phi_0
-
291  = (dr_y_2 * deriv_r_phi_1 - dr_y_1 * deriv_r_phi_2) / determinant;
-
292  double const deriv_y_phi_0
-
293  = (-dr_x_2 * deriv_r_phi_1 + dr_x_1 * deriv_r_phi_2) / determinant;
-
294 
-
295  // E = -grad phi
-
296  double const electric_field_x_0 = -deriv_x_phi_0;
-
297  double const electric_field_y_0 = -deriv_y_phi_0;
-
298 
+
158 
+
159 
+
169  void operator()(
+
170  Spline2DSpan electrostatic_potential_coef,
+
171  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
+
172  {
+
173  compute_advection_field_XY(
+
174  m_spline_evaluator,
+
175  electrostatic_potential_coef,
+
176  advection_field_xy);
+
177  }
+
178 
+
179 
+
189  void operator()(
+
190  SplinePolar& electrostatic_potential_coef,
+
191  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
+
192  {
+
193  compute_advection_field_XY(
+
194  m_polar_spline_evaluator,
+
195  electrostatic_potential_coef,
+
196  advection_field_xy);
+
197  }
+
198 
+
199 
+
200 private:
+
211  template <class SplineType, class Evaluator>
+
212  void compute_advection_field_XY(
+
213  Evaluator evaluator,
+
214  SplineType& electrostatic_potential_coef,
+
215  VectorFieldSpan<double, IDomainRP, NDTag<RDimX, RDimY>> advection_field_xy) const
+
216  {
+
217  static_assert(
+
218  (std::is_same_v<
+
219  Evaluator,
+
220  SplineRPEvaluatorNullBound> && std::is_same_v<SplineType, Spline2DSpan>)
+
221  || (std::is_same_v<
+
222  Evaluator,
+
223  PolarSplineEvaluator<
+
224  PolarBSplinesRP,
+
225  ddc::NullExtrapolationRule>> && std::is_same_v<SplineType, SplinePolar>));
+
226 
+
227  IDomainRP const grid = advection_field_xy.domain();
+
228  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
+
229 
+
230  FieldRP<CoordRP> coords(grid);
+
231  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
+
232 
+
233  // > computation of the phi derivatives
+
234  DFieldRP deriv_r_phi(grid);
+
235  DFieldRP deriv_p_phi(grid);
+
236 
+
237  evaluator.deriv_dim_1(
+
238  deriv_r_phi.span_view(),
+
239  coords.span_cview(),
+
240  electrostatic_potential_coef.span_cview());
+
241  evaluator.deriv_dim_2(
+
242  deriv_p_phi.span_view(),
+
243  coords.span_cview(),
+
244  electrostatic_potential_coef.span_cview());
+
245 
+
246  // > computation of the electric field
+
247  ddc::for_each(grid, [&](IndexRP const irp) {
+
248  double const r = ddc::coordinate(ddc::select<IDimR>(irp));
+
249  double const th = ddc::coordinate(ddc::select<IDimP>(irp));
+
250 
+
251  if (r > m_epsilon) {
+
252  CoordRP const coord_rp(r, th);
+
253 
+
254  Matrix_2x2 inv_J; // Inverse Jacobian matrix
+
255  m_mapping.inv_jacobian_matrix(coord_rp, inv_J);
+
256 
+
257  // Gradiant of phi in the physical domain (Cartesian domain)
+
258  double const deriv_x_phi
+
259  = deriv_r_phi(irp) * inv_J[0][0] + deriv_p_phi(irp) * inv_J[1][0];
+
260  double const deriv_y_phi
+
261  = deriv_r_phi(irp) * inv_J[0][1] + deriv_p_phi(irp) * inv_J[1][1];
+
262 
+
263  // E = -grad phi
+
264  ddcHelper::get<RDimX>(electric_field)(irp) = -deriv_x_phi;
+
265  ddcHelper::get<RDimY>(electric_field)(irp) = -deriv_y_phi;
+
266 
+
267  } else {
+
268  // Linearisation of the electric field
+
269  double const th1 = M_PI / 4.;
+
270  double const th2 = -M_PI / 4. + 2 * M_PI;
+
271 
+
272  // --- Value at r = 0:
+
273  CoordRP const coord_1_0(0, th1);
+
274  CoordRP const coord_2_0(0, th2);
+
275 
+
276  double const dr_x_1 = m_mapping.jacobian_11(coord_1_0); // dr_x (0, th1)
+
277  double const dr_y_1 = m_mapping.jacobian_21(coord_1_0); // dr_y (0, th1)
+
278 
+
279  double const dr_x_2 = m_mapping.jacobian_11(coord_2_0); // dr_x (0, th2)
+
280  double const dr_y_2 = m_mapping.jacobian_21(coord_2_0); // dr_y (0, th2)
+
281 
+
282  double deriv_r_phi_1 = evaluator.deriv_dim_1(
+
283  coord_1_0,
+
284  electrostatic_potential_coef.span_cview());
+
285  double deriv_r_phi_2 = evaluator.deriv_dim_1(
+
286  coord_2_0,
+
287  electrostatic_potential_coef.span_cview());
+
288 
+
289  double const determinant = dr_x_1 * dr_y_2 - dr_x_2 * dr_y_1;
+
290 
+
291  double const deriv_x_phi_0
+
292  = (dr_y_2 * deriv_r_phi_1 - dr_y_1 * deriv_r_phi_2) / determinant;
+
293  double const deriv_y_phi_0
+
294  = (-dr_x_2 * deriv_r_phi_1 + dr_x_1 * deriv_r_phi_2) / determinant;
+
295 
+
296  // E = -grad phi
+
297  double const electric_field_x_0 = -deriv_x_phi_0;
+
298  double const electric_field_y_0 = -deriv_y_phi_0;
299 
300 
-
301  // --- Value at r = m_epsilon:
-
302  CoordRP const coord_rp_epsilon(m_epsilon, th);
-
303 
-
304  Matrix_2x2 inv_J_eps; // Jacobian matrix
-
305  m_mapping.inv_jacobian_matrix(coord_rp_epsilon, inv_J_eps);
-
306 
-
307  double const deriv_r_phi_epsilon
-
308  = evaluator.deriv_dim_1(coord_rp_epsilon, electrostatic_potential_coef);
-
309  double const deriv_p_phi_epsilon
-
310  = evaluator.deriv_dim_2(coord_rp_epsilon, electrostatic_potential_coef);
-
311 
-
312  // Gradiant of phi in the physical domain (Cartesian domain)
-
313  double const deriv_x_phi_epsilon = deriv_r_phi_epsilon * inv_J_eps[0][0]
-
314  + deriv_p_phi_epsilon * inv_J_eps[1][0];
-
315  double const deriv_y_phi_epsilon = deriv_r_phi_epsilon * inv_J_eps[0][1]
-
316  + deriv_p_phi_epsilon * inv_J_eps[1][1];
-
317 
-
318  // E = -grad phi
-
319  double const electric_field_x_epsilon = -deriv_x_phi_epsilon;
-
320  double const electric_field_y_epsilon = -deriv_y_phi_epsilon;
-
321 
-
322 
-
323  // --- Linearisation:
-
324  ddcHelper::get<RDimX>(electric_field)(irp)
-
325  = electric_field_x_0 * (1 - r / m_epsilon)
-
326  + electric_field_x_epsilon * r / m_epsilon;
-
327  ddcHelper::get<RDimY>(electric_field)(irp)
-
328  = electric_field_y_0 * (1 - r / m_epsilon)
-
329  + electric_field_y_epsilon * r / m_epsilon;
-
330  }
-
331 
-
332  // > computation of the advection field
-
333  ddcHelper::get<RDimX>(advection_field_xy)(irp)
-
334  = -ddcHelper::get<RDimY>(electric_field)(irp);
-
335  ddcHelper::get<RDimY>(advection_field_xy)(irp)
-
336  = ddcHelper::get<RDimX>(electric_field)(irp);
-
337  });
-
338  }
-
339 
-
340 
-
341 
-
342 public:
-
343  // -------------------------------------------------------------------------------------------
-
344  // COMPUTE ADVECTION FIELD IN RP: |
-
345  // Advection field along the logical directions. |
+
301 
+
302  // --- Value at r = m_epsilon:
+
303  CoordRP const coord_rp_epsilon(m_epsilon, th);
+
304 
+
305  Matrix_2x2 inv_J_eps; // Jacobian matrix
+
306  m_mapping.inv_jacobian_matrix(coord_rp_epsilon, inv_J_eps);
+
307 
+
308  double const deriv_r_phi_epsilon = evaluator.deriv_dim_1(
+
309  coord_rp_epsilon,
+
310  electrostatic_potential_coef.span_cview());
+
311  double const deriv_p_phi_epsilon = evaluator.deriv_dim_2(
+
312  coord_rp_epsilon,
+
313  electrostatic_potential_coef.span_cview());
+
314 
+
315  // Gradiant of phi in the physical domain (Cartesian domain)
+
316  double const deriv_x_phi_epsilon = deriv_r_phi_epsilon * inv_J_eps[0][0]
+
317  + deriv_p_phi_epsilon * inv_J_eps[1][0];
+
318  double const deriv_y_phi_epsilon = deriv_r_phi_epsilon * inv_J_eps[0][1]
+
319  + deriv_p_phi_epsilon * inv_J_eps[1][1];
+
320 
+
321  // E = -grad phi
+
322  double const electric_field_x_epsilon = -deriv_x_phi_epsilon;
+
323  double const electric_field_y_epsilon = -deriv_y_phi_epsilon;
+
324 
+
325 
+
326  // --- Linearisation:
+
327  ddcHelper::get<RDimX>(electric_field)(irp)
+
328  = electric_field_x_0 * (1 - r / m_epsilon)
+
329  + electric_field_x_epsilon * r / m_epsilon;
+
330  ddcHelper::get<RDimY>(electric_field)(irp)
+
331  = electric_field_y_0 * (1 - r / m_epsilon)
+
332  + electric_field_y_epsilon * r / m_epsilon;
+
333  }
+
334 
+
335  // > computation of the advection field
+
336  ddcHelper::get<RDimX>(advection_field_xy)(irp)
+
337  = -ddcHelper::get<RDimY>(electric_field)(irp);
+
338  ddcHelper::get<RDimY>(advection_field_xy)(irp)
+
339  = ddcHelper::get<RDimX>(electric_field)(irp);
+
340  });
+
341  }
+
342 
+
343 
+
344 
+
345 public:
346  // -------------------------------------------------------------------------------------------
-
347 
-
348 
-
359  void operator()(
-
360  DSpanRP electrostatic_potential,
-
361  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
-
362  CoordXY& advection_field_xy_center) const
-
363  {
-
364  auto const grid = electrostatic_potential.domain();
-
365 
-
366  // Compute the spline representation of the electrostatic potential
-
367  SplineRPBuilder const builder(grid);
-
368  BSDomainRP const dom_bsplinesRP = builder.spline_domain();
-
369  Spline2D electrostatic_potential_coef(dom_bsplinesRP);
-
370  builder(electrostatic_potential_coef, electrostatic_potential);
-
371 
-
372  (*this)(electrostatic_potential_coef.span_view(),
-
373  advection_field_rp,
-
374  advection_field_xy_center);
-
375  }
-
376 
-
377 
-
378 
-
390  void operator()(
-
391  Spline2DSpan electrostatic_potential_coef,
-
392  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
-
393  CoordXY& advection_field_xy_center) const
-
394  {
-
395  compute_advection_field_RP(
-
396  m_spline_evaluator,
-
397  electrostatic_potential_coef,
-
398  advection_field_rp,
-
399  advection_field_xy_center);
-
400  }
-
401 
-
402 
-
414  void operator()(
-
415  SplinePolar& electrostatic_potential_coef,
-
416  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
-
417  CoordXY& advection_field_xy_center) const
-
418  {
-
419  compute_advection_field_RP(
-
420  m_polar_spline_evaluator,
-
421  electrostatic_potential_coef,
-
422  advection_field_rp,
-
423  advection_field_xy_center);
-
424  }
-
425 
-
426 
-
427 
-
428 private:
-
441  template <class SplineType, class Evaluator>
-
442  void compute_advection_field_RP(
-
443  Evaluator evaluator,
-
444  SplineType& electrostatic_potential_coef,
-
445  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
-
446  CoordXY& advection_field_xy_center) const
-
447  {
-
448  assert((std::is_same_v<
-
449  Evaluator,
-
450  SplineRPEvaluator> && std::is_same_v<SplineType, Spline2DSpan>)
-
451  || (std::is_same_v<
-
452  Evaluator,
-
453  PolarSplineEvaluator<
-
454  PolarBSplinesRP>> && std::is_same_v<SplineType, SplinePolar>));
-
455 
-
456  IDomainRP const grid_without_Opoint = advection_field_rp.domain();
-
457 
-
458  FieldRP<CoordRP> coords(grid_without_Opoint);
-
459  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
-
460  coords(irp) = ddc::coordinate(irp);
-
461  });
+
347  // COMPUTE ADVECTION FIELD IN RP: |
+
348  // Advection field along the logical directions. |
+
349  // -------------------------------------------------------------------------------------------
+
350 
+
351 
+
362  void operator()(
+
363  DSpanRP electrostatic_potential,
+
364  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
+
365  CoordXY& advection_field_xy_center) const
+
366  {
+
367  auto const grid = electrostatic_potential.domain();
+
368 
+
369  // Compute the spline representation of the electrostatic potential
+
370  SplineRPBuilder const builder(grid);
+
371  BSDomainRP const dom_bsplinesRP = builder.spline_domain();
+
372  Spline2D electrostatic_potential_coef(dom_bsplinesRP);
+
373  builder(electrostatic_potential_coef.span_view(), electrostatic_potential.span_cview());
+
374 
+
375  (*this)(electrostatic_potential_coef.span_view(),
+
376  advection_field_rp,
+
377  advection_field_xy_center);
+
378  }
+
379 
+
380 
+
381 
+
393  void operator()(
+
394  Spline2DSpan electrostatic_potential_coef,
+
395  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
+
396  CoordXY& advection_field_xy_center) const
+
397  {
+
398  compute_advection_field_RP(
+
399  m_spline_evaluator,
+
400  electrostatic_potential_coef,
+
401  advection_field_rp,
+
402  advection_field_xy_center);
+
403  }
+
404 
+
405 
+
417  void operator()(
+
418  SplinePolar& electrostatic_potential_coef,
+
419  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
+
420  CoordXY& advection_field_xy_center) const
+
421  {
+
422  compute_advection_field_RP(
+
423  m_polar_spline_evaluator,
+
424  electrostatic_potential_coef,
+
425  advection_field_rp,
+
426  advection_field_xy_center);
+
427  }
+
428 
+
429 
+
430 
+
431 private:
+
444  template <class SplineType, class Evaluator>
+
445  void compute_advection_field_RP(
+
446  Evaluator evaluator,
+
447  SplineType& electrostatic_potential_coef,
+
448  VectorFieldSpan<double, IDomainRP, NDTag<RDimR, RDimP>> advection_field_rp,
+
449  CoordXY& advection_field_xy_center) const
+
450  {
+
451  static_assert(
+
452  (std::is_same_v<
+
453  Evaluator,
+
454  SplineRPEvaluatorNullBound> && std::is_same_v<SplineType, Spline2DSpan>)
+
455  || (std::is_same_v<
+
456  Evaluator,
+
457  PolarSplineEvaluator<
+
458  PolarBSplinesRP,
+
459  ddc::NullExtrapolationRule>> && std::is_same_v<SplineType, SplinePolar>));
+
460 
+
461  IDomainRP const grid_without_Opoint = advection_field_rp.domain();
462 
-
463  // > computation of the phi derivatives
-
464  DFieldRP deriv_r_phi(grid_without_Opoint);
-
465  DFieldRP deriv_p_phi(grid_without_Opoint);
-
466 
-
467  evaluator.deriv_dim_1(
-
468  deriv_r_phi.span_view(),
-
469  coords.span_cview(),
-
470  electrostatic_potential_coef);
-
471  evaluator.deriv_dim_2(
-
472  deriv_p_phi.span_view(),
-
473  coords.span_cview(),
-
474  electrostatic_potential_coef);
-
475 
-
476  // > computation of the advection field
-
477  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
-
478  CoordRP const coord_rp(ddc::coordinate(irp));
-
479 
-
480  Matrix_2x2 J; // Jacobian matrix
-
481  m_mapping.jacobian_matrix(coord_rp, J);
-
482  Matrix_2x2 inv_G; // Inverse metric tensor
-
483  m_mapping.inverse_metric_tensor(coord_rp, inv_G);
-
484  Matrix_2x2 G; // Metric tensor
-
485  m_mapping.metric_tensor(coord_rp, G);
-
486 
-
487  // E = -grad phi
-
488  double const electric_field_r
-
489  = (-deriv_r_phi(irp) * inv_G[0][0] - deriv_p_phi(irp) * inv_G[1][0])
-
490  * std::sqrt(G[0][0]);
-
491  double const electric_field_p
-
492  = (-deriv_r_phi(irp) * inv_G[0][1] - deriv_p_phi(irp) * inv_G[1][1])
-
493  * std::sqrt(G[1][1]);
-
494 
-
495  // A = E \wedge e_z
-
496  ddcHelper::get<RDimR>(advection_field_rp)(irp) = -electric_field_p;
-
497  ddcHelper::get<RDimP>(advection_field_rp)(irp) = electric_field_r;
-
498  });
+
463  FieldRP<CoordRP> coords(grid_without_Opoint);
+
464  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
+
465  coords(irp) = ddc::coordinate(irp);
+
466  });
+
467 
+
468  // > computation of the phi derivatives
+
469  DFieldRP deriv_r_phi(grid_without_Opoint);
+
470  DFieldRP deriv_p_phi(grid_without_Opoint);
+
471 
+
472  evaluator.deriv_dim_1(
+
473  deriv_r_phi.span_view(),
+
474  coords.span_cview(),
+
475  electrostatic_potential_coef.span_cview());
+
476  evaluator.deriv_dim_2(
+
477  deriv_p_phi.span_view(),
+
478  coords.span_cview(),
+
479  electrostatic_potential_coef.span_cview());
+
480 
+
481  // > computation of the advection field
+
482  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
+
483  CoordRP const coord_rp(ddc::coordinate(irp));
+
484 
+
485  Matrix_2x2 J; // Jacobian matrix
+
486  m_mapping.jacobian_matrix(coord_rp, J);
+
487  Matrix_2x2 inv_G; // Inverse metric tensor
+
488  m_mapping.inverse_metric_tensor(coord_rp, inv_G);
+
489  Matrix_2x2 G; // Metric tensor
+
490  m_mapping.metric_tensor(coord_rp, G);
+
491 
+
492  // E = -grad phi
+
493  double const electric_field_r
+
494  = (-deriv_r_phi(irp) * inv_G[0][0] - deriv_p_phi(irp) * inv_G[1][0])
+
495  * std::sqrt(G[0][0]);
+
496  double const electric_field_p
+
497  = (-deriv_r_phi(irp) * inv_G[0][1] - deriv_p_phi(irp) * inv_G[1][1])
+
498  * std::sqrt(G[1][1]);
499 
-
500  // SPECIAL TREATMENT FOR THE O-POINT =====================================================
-
501  // Linearisation of the electric field
-
502  double const th1 = M_PI / 4.;
-
503  double const th2 = -M_PI / 4. + 2 * M_PI;
+
500  // A = E \wedge e_z
+
501  ddcHelper::get<RDimR>(advection_field_rp)(irp) = -electric_field_p;
+
502  ddcHelper::get<RDimP>(advection_field_rp)(irp) = electric_field_r;
+
503  });
504 
-
505  // --- Value at r = 0:
-
506  CoordRP const coord_1_0(0, th1);
-
507  CoordRP const coord_2_0(0, th2);
-
508 
-
509  double const dr_x_1 = m_mapping.jacobian_11(coord_1_0); // dr_x (0, th1)
-
510  double const dr_y_1 = m_mapping.jacobian_21(coord_1_0); // dr_y (0, th1)
-
511 
-
512  double const dr_x_2 = m_mapping.jacobian_11(coord_2_0); // dr_x (0, th2)
-
513  double const dr_y_2 = m_mapping.jacobian_21(coord_2_0); // dr_y (0, th2)
-
514 
-
515  double const deriv_r_phi_1 = evaluator.deriv_dim_1(coord_1_0, electrostatic_potential_coef);
-
516  double const deriv_r_phi_2 = evaluator.deriv_dim_1(coord_2_0, electrostatic_potential_coef);
-
517 
-
518  double const determinant = dr_x_1 * dr_y_2 - dr_x_2 * dr_y_1;
+
505  // SPECIAL TREATMENT FOR THE O-POINT =====================================================
+
506  // Linearisation of the electric field
+
507  double const th1 = M_PI / 4.;
+
508  double const th2 = -M_PI / 4. + 2 * M_PI;
+
509 
+
510  // --- Value at r = 0:
+
511  CoordRP const coord_1_0(0, th1);
+
512  CoordRP const coord_2_0(0, th2);
+
513 
+
514  double const dr_x_1 = m_mapping.jacobian_11(coord_1_0); // dr_x (0, th1)
+
515  double const dr_y_1 = m_mapping.jacobian_21(coord_1_0); // dr_y (0, th1)
+
516 
+
517  double const dr_x_2 = m_mapping.jacobian_11(coord_2_0); // dr_x (0, th2)
+
518  double const dr_y_2 = m_mapping.jacobian_21(coord_2_0); // dr_y (0, th2)
519 
-
520  double const deriv_x_phi_0
-
521  = (dr_y_2 * deriv_r_phi_1 - dr_y_1 * deriv_r_phi_2) / determinant;
-
522  double const deriv_y_phi_0
-
523  = (-dr_x_2 * deriv_r_phi_1 + dr_x_1 * deriv_r_phi_2) / determinant;
+
520  double const deriv_r_phi_1
+
521  = evaluator.deriv_dim_1(coord_1_0, electrostatic_potential_coef.span_cview());
+
522  double const deriv_r_phi_2
+
523  = evaluator.deriv_dim_1(coord_2_0, electrostatic_potential_coef.span_cview());
524 
-
525  advection_field_xy_center = CoordXY(deriv_y_phi_0, -deriv_x_phi_0);
-
526  }
-
527 };
+
525  double const determinant = dr_x_1 * dr_y_2 - dr_x_2 * dr_y_1;
+
526 
+
527  double const deriv_x_phi_0
+
528  = (dr_y_2 * deriv_r_phi_1 - dr_y_1 * deriv_r_phi_2) / determinant;
+
529  double const deriv_y_phi_0
+
530  = (-dr_x_2 * deriv_r_phi_1 + dr_x_1 * deriv_r_phi_2) / determinant;
+
531 
+
532  advection_field_xy_center = CoordXY(deriv_y_phi_0, -deriv_x_phi_0);
+
533  }
+
534 };
Solve the Poisson equation and return the electric field for the coupled Vlasov equation.
Definition: advection_field_rp.hpp:90
-
AdvectionFieldFinder(Mapping const &mapping, double const epsilon=1e-12)
Instantiate a AdvectionFieldRP .
Definition: advection_field_rp.hpp:118
-
void operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from the Poisson equation solution.
Definition: advection_field_rp.hpp:192
-
void operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from a Chunk of values.
Definition: advection_field_rp.hpp:146
-
void operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from a spline representation of .
Definition: advection_field_rp.hpp:390
-
void operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from a spline representation of solution.
Definition: advection_field_rp.hpp:172
-
void operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from the Poisson equation.
Definition: advection_field_rp.hpp:414
-
void operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from a Chunk of values.
Definition: advection_field_rp.hpp:359
+
AdvectionFieldFinder(Mapping const &mapping, double const epsilon=1e-12)
Instantiate a AdvectionFieldRP .
Definition: advection_field_rp.hpp:119
+
void operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from the Poisson equation solution.
Definition: advection_field_rp.hpp:189
+
void operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from a Chunk of values.
Definition: advection_field_rp.hpp:143
+
void operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from a spline representation of .
Definition: advection_field_rp.hpp:393
+
void operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const
Compute the advection field from a spline representation of solution.
Definition: advection_field_rp.hpp:169
+
void operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from the Poisson equation.
Definition: advection_field_rp.hpp:417
+
void operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const
Compute the advection field from a Chunk of values.
Definition: advection_field_rp.hpp:362
std::array< std::array< double, 2 >, 2 > Matrix_2x2
Define a 2x2 matrix with an 2D array of an 2D array.
Definition: advection_field_rp.hpp:95
-
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:33
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
+
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:28
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
+
Define periodic real Theta dimension.
Definition: geometry.hpp:39
diff --git a/advection__simulation__utils_8hpp_source.html b/advection__simulation__utils_8hpp_source.html index ba76e8cba..1f4aacfec 100644 --- a/advection__simulation__utils_8hpp_source.html +++ b/advection__simulation__utils_8hpp_source.html @@ -108,469 +108,459 @@
3 
4 #include <ddc/ddc.hpp>
5 
-
6 #include <sll/constant_extrapolation_boundary_value.hpp>
-
7 #include <sll/math_tools.hpp>
-
8 #include <sll/null_boundary_value.hpp>
-
9 #include <sll/polar_spline.hpp>
-
10 #include <sll/polar_spline_evaluator.hpp>
-
11 #include <sll/spline_builder_2d.hpp>
-
12 #include <sll/spline_evaluator_2d.hpp>
-
13 
-
14 #include "geometry.hpp"
-
15 #include "paraconfpp.hpp"
-
16 #include "params.yaml.hpp"
-
17 #include "spline_interpolator_2d_rp.hpp"
-
18 #include "utils_tools.hpp"
-
19 
-
20 
-
21 // ...
-
22 #include <cstring>
-
23 #include <filesystem>
-
24 #include <fstream>
-
25 #include <iostream>
+
6 #include <sll/math_tools.hpp>
+
7 #include <sll/polar_spline.hpp>
+
8 #include <sll/polar_spline_evaluator.hpp>
+
9 
+
10 #include "geometry.hpp"
+
11 #include "paraconfpp.hpp"
+
12 #include "params.yaml.hpp"
+
13 #include "spline_interpolator_2d_rp.hpp"
+
14 #include "utils_tools.hpp"
+
15 
+
16 
+
17 // ...
+
18 #include <cstring>
+
19 #include <filesystem>
+
20 #include <fstream>
+
21 #include <iostream>
+
22 
+
23 #include <stdio.h>
+
24 // ...
+
25 
26 
-
27 #include <stdio.h>
-
28 // ...
-
29 
+
27 #include <directional_tag.hpp>
+
28 #include <vector_field.hpp>
+
29 #include <vector_field_span.hpp>
30 
-
31 #include <sll/bsplines_non_uniform.hpp>
-
32 #include <sll/bsplines_uniform.hpp>
-
33 #include <sll/greville_interpolation_points.hpp>
-
34 #include <sll/spline_builder.hpp>
-
35 #include <sll/spline_evaluator.hpp>
-
36 
-
37 #include <directional_tag.hpp>
-
38 #include <vector_field.hpp>
-
39 #include <vector_field_span.hpp>
+
31 #include "bsl_advection_rp.hpp"
+
32 #include "compute_norms.hpp"
+
33 #include "quadrature.hpp"
+
34 #include "spline_quadrature.hpp"
+
35 #include "test_cases.hpp"
+
36 #include "trapezoid_quadrature.hpp"
+
37 
+
38 
+
39 namespace fs = std::filesystem;
40 
-
41 #include "bsl_advection_rp.hpp"
-
42 #include "compute_norms.hpp"
-
43 #include "quadrature.hpp"
-
44 #include "spline_quadrature.hpp"
-
45 #include "test_cases.hpp"
-
46 #include "trapezoid_quadrature.hpp"
-
47 
-
48 
-
49 namespace fs = std::filesystem;
-
50 
-
51 std::string to_lower(std::string s)
-
52 {
-
53  std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c) {
-
54  if (c == ' ') {
-
55  return '_';
-
56  } else {
-
57  return static_cast<char>(std::tolower(c));
-
58  }
-
59  });
-
60  return s;
-
61 }
-
62 
-
75 template <class Mapping>
-
76 void print_coordinate(
-
77  std::ofstream& out_file,
-
78  CoordRP coord_rp,
-
79  Mapping const& mapping,
-
80  IDomainP p_dom)
-
81 {
-
82  double const r = ddc::get<RDimR>(coord_rp);
-
83  double const th = ddcHelper::restrict_to_domain(ddc::select<RDimP>(coord_rp), p_dom);
-
84 
-
85  CoordXY coord_xy(mapping(coord_rp));
-
86  double const x = ddc::get<RDimX>(coord_xy);
-
87  double const y = ddc::get<RDimY>(coord_xy);
-
88 
-
89  out_file << std::setw(25) << r << std::setw(25) << th << std::setw(25) << x << std::setw(25)
-
90  << y;
-
91 }
-
92 
-
107 template <class Mapping>
-
108 void save_feet(
-
109  Mapping const& mapping,
-
110  IDomainRP const& rp_dom,
-
111  SpanRP<CoordRP> const& feet_coords_rp,
-
112  std::string const& name)
-
113 {
-
114  std::ofstream file_feet(name, std::ofstream::out);
-
115  file_feet << std::fixed << std::setprecision(16);
-
116  ddc::for_each(rp_dom, [&](IndexRP const irp) {
-
117  IDomainP p_dom = ddc::select<IDimP>(rp_dom);
+
41 std::string to_lower(std::string s)
+
42 {
+
43  std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c) {
+
44  if (c == ' ') {
+
45  return '_';
+
46  } else {
+
47  return static_cast<char>(std::tolower(c));
+
48  }
+
49  });
+
50  return s;
+
51 }
+
52 
+
65 template <class Mapping>
+
66 void print_coordinate(
+
67  std::ofstream& out_file,
+
68  CoordRP coord_rp,
+
69  Mapping const& mapping,
+
70  IDomainP p_dom)
+
71 {
+
72  double const r = ddc::get<RDimR>(coord_rp);
+
73  double const th = ddcHelper::restrict_to_domain(ddc::select<RDimP>(coord_rp), p_dom);
+
74 
+
75  CoordXY coord_xy(mapping(coord_rp));
+
76  double const x = ddc::get<RDimX>(coord_xy);
+
77  double const y = ddc::get<RDimY>(coord_xy);
+
78 
+
79  out_file << std::setw(25) << r << std::setw(25) << th << std::setw(25) << x << std::setw(25)
+
80  << y;
+
81 }
+
82 
+
97 template <class Mapping>
+
98 void save_feet(
+
99  Mapping const& mapping,
+
100  IDomainRP const& rp_dom,
+
101  SpanRP<CoordRP> const& feet_coords_rp,
+
102  std::string const& name)
+
103 {
+
104  std::ofstream file_feet(name, std::ofstream::out);
+
105  file_feet << std::fixed << std::setprecision(16);
+
106  ddc::for_each(rp_dom, [&](IndexRP const irp) {
+
107  IDomainP p_dom = ddc::select<IDimP>(rp_dom);
+
108 
+
109  file_feet << std::setw(15) << ddc::select<IDimR>(irp).uid() << std::setw(15)
+
110  << ddc::select<IDimP>(irp).uid();
+
111  print_coordinate(file_feet, ddc::coordinate(irp), mapping, p_dom);
+
112  print_coordinate(file_feet, feet_coords_rp(irp), mapping, p_dom);
+
113  file_feet << std::endl;
+
114  });
+
115  file_feet.close();
+
116 }
+
117 
118 
-
119  file_feet << std::setw(15) << ddc::select<IDimR>(irp).uid() << std::setw(15)
-
120  << ddc::select<IDimP>(irp).uid();
-
121  print_coordinate(file_feet, ddc::coordinate(irp), mapping, p_dom);
-
122  print_coordinate(file_feet, feet_coords_rp(irp), mapping, p_dom);
-
123  file_feet << std::endl;
-
124  });
-
125  file_feet.close();
-
126 }
-
127 
-
128 
-
140 template <class Mapping>
-
141 void saving_computed(Mapping const& mapping, DSpanRP function, std::string const& name)
-
142 {
-
143  IDomainRP const grid = function.domain();
-
144  std::ofstream out_file(name, std::ofstream::out);
-
145  out_file << std::fixed << std::setprecision(16);
-
146 
-
147  ddc::for_each(grid, [&](IndexRP const irp) {
-
148  IDomainP p_dom = ddc::select<IDimP>(grid);
-
149 
-
150  IndexR const ir(ddc::select<IDimR>(irp));
-
151  IndexP const ip(ddc::select<IDimP>(irp));
-
152 
-
153  out_file << std::setw(15) << ir.uid() << std::setw(15) << ip.uid();
-
154  print_coordinate(out_file, ddc::coordinate(irp), mapping, p_dom);
-
155  out_file << std::setw(25) << function(irp);
-
156  out_file << std::endl;
-
157  });
-
158  out_file.close();
-
159 }
-
160 
-
178 template <class AdvectionField, class Mapping>
-
179 FieldRP<CoordRP> compute_exact_feet_rp(
-
180  IDomainRP const& rp_dom,
-
181  Mapping const& mapping,
-
182  AdvectionField const& advection_field,
-
183  double const time)
-
184 {
-
185  static_assert(!std::is_same_v<Mapping, DiscreteToCartesian<RDimX, RDimY, SplineRPBuilder>>);
-
186 
-
187  FieldRP<CoordRP> feet_coords_rp(rp_dom);
-
188  CoordXY const coord_xy_center = CoordXY(mapping(CoordRP(0, 0)));
-
189 
-
190  ddc::for_each(rp_dom, [&](IndexRP const irp) {
-
191  CoordRP const coord_rp = ddc::coordinate(irp);
-
192  CoordXY const coord_xy = advection_field.exact_feet(mapping(coord_rp), time);
+
130 template <class Mapping>
+
131 void saving_computed(Mapping const& mapping, DSpanRP function, std::string const& name)
+
132 {
+
133  IDomainRP const grid = function.domain();
+
134  std::ofstream out_file(name, std::ofstream::out);
+
135  out_file << std::fixed << std::setprecision(16);
+
136 
+
137  ddc::for_each(grid, [&](IndexRP const irp) {
+
138  IDomainP p_dom = ddc::select<IDimP>(grid);
+
139 
+
140  IndexR const ir(ddc::select<IDimR>(irp));
+
141  IndexP const ip(ddc::select<IDimP>(irp));
+
142 
+
143  out_file << std::setw(15) << ir.uid() << std::setw(15) << ip.uid();
+
144  print_coordinate(out_file, ddc::coordinate(irp), mapping, p_dom);
+
145  out_file << std::setw(25) << function(irp);
+
146  out_file << std::endl;
+
147  });
+
148  out_file.close();
+
149 }
+
150 
+
168 template <class AdvectionField, class Mapping>
+
169 FieldRP<CoordRP> compute_exact_feet_rp(
+
170  IDomainRP const& rp_dom,
+
171  Mapping const& mapping,
+
172  AdvectionField const& advection_field,
+
173  double const time)
+
174 {
+
175  static_assert(!std::is_same_v<
+
176  Mapping,
+
177  DiscreteToCartesian<RDimX, RDimY, SplineRPBuilder, SplineRPEvaluatorConstBound>>);
+
178 
+
179  FieldRP<CoordRP> feet_coords_rp(rp_dom);
+
180  CoordXY const coord_xy_center = CoordXY(mapping(CoordRP(0, 0)));
+
181 
+
182  ddc::for_each(rp_dom, [&](IndexRP const irp) {
+
183  CoordRP const coord_rp = ddc::coordinate(irp);
+
184  CoordXY const coord_xy = advection_field.exact_feet(mapping(coord_rp), time);
+
185 
+
186  CoordXY const coord_diff = coord_xy - coord_xy_center;
+
187  if (norm_inf(coord_diff) < 1e-15) {
+
188  feet_coords_rp(irp) = CoordRP(0, 0);
+
189  } else {
+
190  feet_coords_rp(irp) = mapping(coord_xy);
+
191  }
+
192  });
193 
-
194  CoordXY const coord_diff = coord_xy - coord_xy_center;
-
195  if (norm_inf(coord_diff) < 1e-15) {
-
196  feet_coords_rp(irp) = CoordRP(0, 0);
-
197  } else {
-
198  feet_coords_rp(irp) = mapping(coord_xy);
-
199  }
-
200  });
-
201 
-
202  return feet_coords_rp;
-
203 }
-
204 
-
205 
-
226 template <class Mapping, class Function>
-
227 double compute_difference_L2_norm(
-
228  Mapping const& mapping,
-
229  IDomainRP const& grid,
-
230  DSpanRP allfdistribu_advected,
-
231  Function& function_to_be_advected,
-
232  SpanRP<CoordRP> const& feet_coord)
-
233 {
-
234  DFieldRP exact_function(grid);
-
235  ddc::for_each(grid, [&](IndexRP const irp) {
-
236  exact_function(irp) = function_to_be_advected(feet_coord(irp));
-
237  });
-
238 
-
239  DFieldRP quadrature_coeffs
-
240  = compute_coeffs_on_mapping(mapping, trapezoid_quadrature_coefficients(grid));
-
241  Quadrature<IDimR, IDimP> quadrature(quadrature_coeffs);
-
242 
-
243  double const normL2_exact_function = compute_L2_norm(quadrature, exact_function.span_view());
-
244  double const normL2_computed_function = compute_L2_norm(quadrature, allfdistribu_advected);
-
245 
-
246  return (normL2_exact_function - normL2_computed_function) / normL2_exact_function;
-
247 }
-
248 
-
249 
-
260 void display_time(
-
261  std::chrono::time_point<std::chrono::system_clock> const& start,
-
262  std::chrono::time_point<std::chrono::system_clock> const& end,
-
263  std::string const& title)
-
264 {
-
265  double const time_h = std::chrono::duration_cast<std::chrono::hours>(end - start).count();
-
266  double const time_min = std::chrono::duration_cast<std::chrono::minutes>(end - start).count();
-
267  double const time_s = std::chrono::duration_cast<std::chrono::seconds>(end - start).count();
-
268  double const time_ms
-
269  = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
-
270  std::cout << title << time_h << "h " << time_min - time_h * 60 << "min "
-
271  << time_s - time_min * 60 << "s " << time_ms - time_s * 1000 << "ms " << std::endl;
-
272 }
-
273 
-
274 
-
331 template <
-
332  class Mapping,
-
333  class AnalyticalMapping,
-
334  class TimeStepper,
-
335  class AdvectionDomain,
-
336  class Simulation>
-
337 void simulate(
-
338  Mapping const& mapping,
-
339  AnalyticalMapping const& analytical_mapping,
-
340  IDomainRP const& grid,
-
341  TimeStepper const& time_stepper,
-
342  AdvectionDomain& advection_domain,
-
343  Simulation& simulation,
-
344  PreallocatableSplineInterpolatorRP const& function_interpolator,
-
345  SplineRPBuilder const& advection_builder,
-
346  SplineRPEvaluator& advection_evaluator,
-
347  double const final_time,
-
348  double const dt,
-
349  bool if_save_curves,
-
350  bool if_save_feet,
-
351  std::string const& output_folder)
-
352 {
-
353  SplineFootFinder<TimeStepper, AdvectionDomain> const
-
354  foot_finder(time_stepper, advection_domain, advection_builder, advection_evaluator);
-
355 
-
356  BslAdvectionRP advection_operator(function_interpolator, foot_finder, mapping);
-
357  auto function_to_be_advected_test = simulation.get_test_function();
-
358  auto advection_field_test = simulation.get_advection_field();
+
194  return feet_coords_rp;
+
195 }
+
196 
+
197 
+
218 template <class Mapping, class Function>
+
219 double compute_difference_L2_norm(
+
220  Mapping const& mapping,
+
221  IDomainRP const& grid,
+
222  DSpanRP allfdistribu_advected,
+
223  Function& function_to_be_advected,
+
224  SpanRP<CoordRP> const& feet_coord)
+
225 {
+
226  DFieldRP exact_function(grid);
+
227  ddc::for_each(grid, [&](IndexRP const irp) {
+
228  exact_function(irp) = function_to_be_advected(feet_coord(irp));
+
229  });
+
230 
+
231  DFieldRP quadrature_coeffs
+
232  = compute_coeffs_on_mapping(mapping, trapezoid_quadrature_coefficients(grid));
+
233  Quadrature<IDimR, IDimP> quadrature(quadrature_coeffs);
+
234 
+
235  double const normL2_exact_function = compute_L2_norm(quadrature, exact_function.span_view());
+
236  double const normL2_computed_function = compute_L2_norm(quadrature, allfdistribu_advected);
+
237 
+
238  return (normL2_exact_function - normL2_computed_function) / normL2_exact_function;
+
239 }
+
240 
+
241 
+
252 void display_time(
+
253  std::chrono::time_point<std::chrono::system_clock> const& start,
+
254  std::chrono::time_point<std::chrono::system_clock> const& end,
+
255  std::string const& title)
+
256 {
+
257  double const time_h = std::chrono::duration_cast<std::chrono::hours>(end - start).count();
+
258  double const time_min = std::chrono::duration_cast<std::chrono::minutes>(end - start).count();
+
259  double const time_s = std::chrono::duration_cast<std::chrono::seconds>(end - start).count();
+
260  double const time_ms
+
261  = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
+
262  std::cout << title << time_h << "h " << time_min - time_h * 60 << "min "
+
263  << time_s - time_min * 60 << "s " << time_ms - time_s * 1000 << "ms " << std::endl;
+
264 }
+
265 
+
266 
+
323 template <
+
324  class Mapping,
+
325  class AnalyticalMapping,
+
326  class TimeStepper,
+
327  class AdvectionDomain,
+
328  class Simulation>
+
329 void simulate(
+
330  Mapping const& mapping,
+
331  AnalyticalMapping const& analytical_mapping,
+
332  IDomainRP const& grid,
+
333  TimeStepper const& time_stepper,
+
334  AdvectionDomain& advection_domain,
+
335  Simulation& simulation,
+
336  PreallocatableSplineInterpolatorRP<ddc::NullExtrapolationRule> const& function_interpolator,
+
337  SplineRPBuilder const& advection_builder,
+
338  SplineRPEvaluatorConstBound& advection_evaluator,
+
339  double const final_time,
+
340  double const dt,
+
341  bool if_save_curves,
+
342  bool if_save_feet,
+
343  std::string const& output_folder)
+
344 {
+
345  SplineFootFinder<TimeStepper, AdvectionDomain> const
+
346  foot_finder(time_stepper, advection_domain, advection_builder, advection_evaluator);
+
347 
+
348  BslAdvectionRP advection_operator(function_interpolator, foot_finder, mapping);
+
349  auto function_to_be_advected_test = simulation.get_test_function();
+
350  auto advection_field_test = simulation.get_advection_field();
+
351 
+
352 
+
353 
+
354  // TO CLOCK THE SIMULATION ------------------------------------------------------------------
+
355  std::chrono::time_point<std::chrono::system_clock> start_simulation;
+
356  std::chrono::time_point<std::chrono::system_clock> end_simulation;
+
357 
+
358 
359 
-
360 
-
361 
-
362  // TO CLOCK THE SIMULATION ------------------------------------------------------------------
-
363  std::chrono::time_point<std::chrono::system_clock> start_simulation;
-
364  std::chrono::time_point<std::chrono::system_clock> end_simulation;
-
365 
-
366 
+
360  // PARAMETERS OF THE TEST -------------------------------------------------------------------
+
361  int const iteration_number = int(final_time / dt);
+
362  double const end_time = dt * iteration_number;
+
363 
+
364 
+
365  DFieldRP allfdistribu_test(grid);
+
366  DSpanRP allfdistribu_advected_test;
367 
-
368  // PARAMETERS OF THE TEST -------------------------------------------------------------------
-
369  int const iteration_number = int(final_time / dt);
-
370  double const end_time = dt * iteration_number;
-
371 
-
372 
-
373  DFieldRP allfdistribu_test(grid);
-
374  DSpanRP allfdistribu_advected_test;
-
375 
-
376  VectorDFieldRP<RDimX, RDimY> advection_field_test_vec(grid);
-
377 
-
378 
-
379  // START TEST -------------------------------------------------------------------------------
-
380  start_simulation = std::chrono::system_clock::now();
-
381 
-
382  // Initialization of the advected function:
-
383  ddc::for_each(grid, [&](IndexRP const irp) {
-
384  CoordRP coord = coordinate(irp);
-
385  if (ddc::get<RDimR>(coord) <= 1e-15) {
-
386  ddc::get<RDimP>(coord) = 0;
-
387  }
-
388  allfdistribu_test(irp) = function_to_be_advected_test(coord);
-
389  });
+
368  VectorDFieldRP<RDimX, RDimY> advection_field_test_vec(grid);
+
369 
+
370 
+
371  // START TEST -------------------------------------------------------------------------------
+
372  start_simulation = std::chrono::system_clock::now();
+
373 
+
374  // Initialization of the advected function:
+
375  ddc::for_each(grid, [&](IndexRP const irp) {
+
376  CoordRP coord = coordinate(irp);
+
377  if (ddc::get<RDimR>(coord) <= 1e-15) {
+
378  ddc::get<RDimP>(coord) = 0;
+
379  }
+
380  allfdistribu_test(irp) = function_to_be_advected_test(coord);
+
381  });
+
382 
+
383 
+
384 
+
385  // Definition of advection field:
+
386  ddc::for_each(grid, [&](IndexRP const irp) {
+
387  // Moving the coordinates in the physical domain:
+
388  CoordXY const coord_xy = mapping(ddc::coordinate(irp));
+
389  CoordXY const advection_field = advection_field_test(coord_xy, 0.);
390 
-
391 
-
392 
-
393  // Definition of advection field:
-
394  ddc::for_each(grid, [&](IndexRP const irp) {
-
395  // Moving the coordinates in the physical domain:
-
396  CoordXY const coord_xy = mapping(ddc::coordinate(irp));
-
397  CoordXY const advection_field = advection_field_test(coord_xy, 0.);
-
398 
-
399  // Define the advection field on the physical domain:
-
400  ddcHelper::get<RDimX>(advection_field_test_vec)(irp) = ddc::get<RDimX>(advection_field);
-
401  ddcHelper::get<RDimY>(advection_field_test_vec)(irp) = ddc::get<RDimY>(advection_field);
-
402  });
-
403 
-
404 
-
405  // SIMULATION -------------------------------------------------------------------------------
-
406  // Advect "iteration_number" times:
-
407  for (int i(0); i < iteration_number; ++i) {
-
408  allfdistribu_advected_test
-
409  = advection_operator(allfdistribu_test, advection_field_test_vec.span_cview(), dt);
+
391  // Define the advection field on the physical domain:
+
392  ddcHelper::get<RDimX>(advection_field_test_vec)(irp) = ddc::get<RDimX>(advection_field);
+
393  ddcHelper::get<RDimY>(advection_field_test_vec)(irp) = ddc::get<RDimY>(advection_field);
+
394  });
+
395 
+
396 
+
397  // SIMULATION -------------------------------------------------------------------------------
+
398  // Advect "iteration_number" times:
+
399  for (int i(0); i < iteration_number; ++i) {
+
400  allfdistribu_advected_test
+
401  = advection_operator(allfdistribu_test, advection_field_test_vec.span_cview(), dt);
+
402 
+
403  // Save the advected function for each iteration:
+
404  if (if_save_curves) {
+
405  std::string const name = output_folder + "/after_" + std::to_string(i + 1) + ".txt";
+
406  saving_computed(mapping, allfdistribu_advected_test.span_view(), name);
+
407  }
+
408  }
+
409 
410 
-
411  // Save the advected function for each iteration:
-
412  if (if_save_curves) {
-
413  std::string const name = output_folder + "/after_" + std::to_string(i + 1) + ".txt";
-
414  saving_computed(mapping, allfdistribu_advected_test.span_view(), name);
-
415  }
-
416  }
-
417 
-
418 
+
411 
+
412  // TREATMENT OF DATA ------------------------------------------------------------------------
+
413  // Compute the exact characteristic feet:
+
414  FieldRP<CoordRP> feet_coords_rp_end_time(grid);
+
415  FieldRP<CoordRP> feet_coords_rp_dt(grid);
+
416  feet_coords_rp_end_time
+
417  = compute_exact_feet_rp(grid, analytical_mapping, advection_field_test, end_time);
+
418  feet_coords_rp_dt = compute_exact_feet_rp(grid, analytical_mapping, advection_field_test, dt);
419 
-
420  // TREATMENT OF DATA ------------------------------------------------------------------------
-
421  // Compute the exact characteristic feet:
-
422  FieldRP<CoordRP> feet_coords_rp_end_time(grid);
-
423  FieldRP<CoordRP> feet_coords_rp_dt(grid);
-
424  feet_coords_rp_end_time
-
425  = compute_exact_feet_rp(grid, analytical_mapping, advection_field_test, end_time);
-
426  feet_coords_rp_dt = compute_exact_feet_rp(grid, analytical_mapping, advection_field_test, dt);
-
427 
-
428 
-
429  // Compute the maximal absolute error on the space at the end of the simulation:
-
430  double max_err = 0.;
-
431  ddc::for_each(grid, [&](IndexRP const irp) {
-
432  double const err
-
433  = fabs(allfdistribu_advected_test(irp)
-
434  - function_to_be_advected_test(feet_coords_rp_end_time(irp)));
-
435  max_err = max_err > err ? max_err : err;
-
436  });
-
437 
-
438 
-
439  std::cout << " - [" << iteration_number << " iterations] Max absolute error : " << max_err;
-
440  std::cout << std::endl;
-
441 
-
442 
-
443  // Print the density difference [density conservation expected]:
-
444  std::cout << " ... "
-
445  << "Relative L2 norm error: "
-
446  << compute_difference_L2_norm(
-
447  mapping,
-
448  grid,
-
449  allfdistribu_advected_test,
-
450  function_to_be_advected_test,
-
451  feet_coords_rp_end_time.span_view())
-
452  << std::endl;
+
420 
+
421  // Compute the maximal absolute error on the space at the end of the simulation:
+
422  double max_err = 0.;
+
423  ddc::for_each(grid, [&](IndexRP const irp) {
+
424  double const err
+
425  = fabs(allfdistribu_advected_test(irp)
+
426  - function_to_be_advected_test(feet_coords_rp_end_time(irp)));
+
427  max_err = max_err > err ? max_err : err;
+
428  });
+
429 
+
430 
+
431  std::cout << " - [" << iteration_number << " iterations] Max absolute error : " << max_err;
+
432  std::cout << std::endl;
+
433 
+
434 
+
435  // Print the density difference [density conservation expected]:
+
436  std::cout << " ... "
+
437  << "Relative L2 norm error: "
+
438  << compute_difference_L2_norm(
+
439  mapping,
+
440  grid,
+
441  allfdistribu_advected_test,
+
442  function_to_be_advected_test,
+
443  feet_coords_rp_end_time.span_view())
+
444  << std::endl;
+
445 
+
446 
+
447 
+
448  end_simulation = std::chrono::system_clock::now();
+
449 
+
450  // Control simulation time
+
451  display_time(start_simulation, end_simulation, " ... Complete simulation time: ");
+
452 
453 
-
454 
-
455 
-
456  end_simulation = std::chrono::system_clock::now();
-
457 
-
458  // Control simulation time
-
459  display_time(start_simulation, end_simulation, " ... Complete simulation time: ");
-
460 
-
461 
-
462  // SAVE DATA --------------------------------------------------------------------------------
-
463  // Save the computed characteristic feet:
-
464  if (if_save_feet) {
-
465  FieldRP<CoordRP> feet(grid);
-
466  ddc::for_each(grid, [&](const IndexRP irp) { feet(irp) = ddc::coordinate(irp); });
-
467  foot_finder(feet.span_view(), advection_field_test_vec, dt);
-
468  std::string const name = output_folder + "/feet_computed.txt";
-
469  save_feet(mapping, grid, feet.span_view(), name);
-
470  }
-
471 
-
472  // Save the values of the exact function at the initial and final states:
-
473  if (if_save_curves) {
-
474  std::string const name_0 = output_folder + "/after_" + std::to_string(0) + ".txt";
-
475  std::string const name_1
-
476  = output_folder + "/after_" + std::to_string(iteration_number) + "_exact.txt";
-
477 
-
478  DFieldRP initial_function(grid);
-
479  DFieldRP end_function(grid);
-
480  ddc::for_each(grid, [&](const IndexRP irp) {
-
481  initial_function(irp) = function_to_be_advected_test(ddc::coordinate(irp));
+
454  // SAVE DATA --------------------------------------------------------------------------------
+
455  // Save the computed characteristic feet:
+
456  if (if_save_feet) {
+
457  FieldRP<CoordRP> feet(grid);
+
458  ddc::for_each(grid, [&](const IndexRP irp) { feet(irp) = ddc::coordinate(irp); });
+
459  foot_finder(feet.span_view(), advection_field_test_vec, dt);
+
460  std::string const name = output_folder + "/feet_computed.txt";
+
461  save_feet(mapping, grid, feet.span_view(), name);
+
462  }
+
463 
+
464  // Save the values of the exact function at the initial and final states:
+
465  if (if_save_curves) {
+
466  std::string const name_0 = output_folder + "/after_" + std::to_string(0) + ".txt";
+
467  std::string const name_1
+
468  = output_folder + "/after_" + std::to_string(iteration_number) + "_exact.txt";
+
469 
+
470  DFieldRP initial_function(grid);
+
471  DFieldRP end_function(grid);
+
472  ddc::for_each(grid, [&](const IndexRP irp) {
+
473  initial_function(irp) = function_to_be_advected_test(ddc::coordinate(irp));
+
474 
+
475  // Exact final state
+
476  end_function(irp) = function_to_be_advected_test(feet_coords_rp_end_time(irp));
+
477  });
+
478  saving_computed(mapping, initial_function.span_view(), name_0);
+
479  saving_computed(mapping, end_function.span_view(), name_1);
+
480  }
+
481 
482 
-
483  // Exact final state
-
484  end_function(irp) = function_to_be_advected_test(feet_coords_rp_end_time(irp));
-
485  });
-
486  saving_computed(mapping, initial_function.span_view(), name_0);
-
487  saving_computed(mapping, end_function.span_view(), name_1);
+
483 
+
484  // Save the exact characteristic feet for a displacement on dt:
+
485  if (if_save_feet) {
+
486  std::string const name = output_folder + "/feet_exact.txt";
+
487  save_feet(mapping, grid, feet_coords_rp_dt.span_view(), name);
488  }
489 
490 
-
491 
-
492  // Save the exact characteristic feet for a displacement on dt:
-
493  if (if_save_feet) {
-
494  std::string const name = output_folder + "/feet_exact.txt";
-
495  save_feet(mapping, grid, feet_coords_rp_dt.span_view(), name);
-
496  }
-
497 
-
498 
-
499  std::cout << "--------------------------------------------------------------------------------"
-
500  << std::endl;
-
501 }
-
502 
-
503 
-
549 template <class Mapping, class AnalyticalMapping, class TimeStepper, class AdvectionDomain>
-
550 void simulate_the_3_simulations(
-
551  Mapping const& mapping,
-
552  AnalyticalMapping const& analytical_mapping,
-
553  IDomainRP const& grid,
-
554  TimeStepper& time_stepper,
-
555  AdvectionDomain& advection_domain,
-
556  PreallocatableSplineInterpolatorRP const& function_interpolator,
-
557  SplineRPBuilder const& advection_builder,
-
558  SplineRPEvaluator& advection_evaluator,
-
559  double const final_time,
-
560  double const dt,
-
561  bool const& save_curves,
-
562  bool const& save_feet,
-
563  std::string const& output_stem,
-
564  std::string const& title)
-
565 {
-
566  auto const r_domain = ddc::select<IDimR>(grid);
-
567  double const rmin = ddc::coordinate(r_domain.front());
-
568  double const rmax = ddc::coordinate(r_domain.back());
+
491  std::cout << "--------------------------------------------------------------------------------"
+
492  << std::endl;
+
493 }
+
494 
+
495 
+
541 template <class Mapping, class AnalyticalMapping, class TimeStepper, class AdvectionDomain>
+
542 void simulate_the_3_simulations(
+
543  Mapping const& mapping,
+
544  AnalyticalMapping const& analytical_mapping,
+
545  IDomainRP const& grid,
+
546  TimeStepper& time_stepper,
+
547  AdvectionDomain& advection_domain,
+
548  PreallocatableSplineInterpolatorRP<ddc::NullExtrapolationRule> const& function_interpolator,
+
549  SplineRPBuilder const& advection_builder,
+
550  SplineRPEvaluatorConstBound& advection_evaluator,
+
551  double const final_time,
+
552  double const dt,
+
553  bool const& save_curves,
+
554  bool const& save_feet,
+
555  std::string const& output_stem,
+
556  std::string const& title)
+
557 {
+
558  auto const r_domain = ddc::select<IDimR>(grid);
+
559  double const rmin = ddc::coordinate(r_domain.front());
+
560  double const rmax = ddc::coordinate(r_domain.back());
+
561 
+
562  TranslationSimulation simulation_1(mapping, rmin, rmax);
+
563  RotationSimulation simulation_2(mapping, rmin, rmax);
+
564  DecentredRotationSimulation simulation_3(mapping);
+
565 
+
566  std::string const title_simu_1 = " TRANSLATION : ";
+
567  std::string const title_simu_2 = " ROTATION : ";
+
568  std::string const title_simu_3 = " DECENTRED ROTATION : ";
569 
-
570  TranslationSimulation simulation_1(mapping, rmin, rmax);
-
571  RotationSimulation simulation_2(mapping, rmin, rmax);
-
572  DecentredRotationSimulation simulation_3(mapping);
-
573 
-
574  std::string const title_simu_1 = " TRANSLATION : ";
-
575  std::string const title_simu_2 = " ROTATION : ";
-
576  std::string const title_simu_3 = " DECENTRED ROTATION : ";
-
577 
-
578  std::string output_folder = output_stem + "Translation_output";
-
579  if (save_curves or save_feet) {
-
580  fs::create_directory(output_folder);
-
581  }
-
582  std::cout << title + title_simu_1 << std::endl;
-
583  simulate(
-
584  mapping,
-
585  analytical_mapping,
-
586  grid,
-
587  time_stepper,
-
588  advection_domain,
-
589  simulation_1,
-
590  function_interpolator,
-
591  advection_builder,
-
592  advection_evaluator,
-
593  final_time,
-
594  dt,
-
595  save_curves,
-
596  save_feet,
-
597  output_folder);
-
598 
-
599  output_folder = output_stem + "Rotation_output";
-
600  if (save_curves or save_feet) {
-
601  fs::create_directory(output_folder);
-
602  }
-
603  std::cout << title + title_simu_2 << std::endl;
-
604  simulate(
-
605  mapping,
-
606  analytical_mapping,
-
607  grid,
-
608  time_stepper,
-
609  advection_domain,
-
610  simulation_2,
-
611  function_interpolator,
-
612  advection_builder,
-
613  advection_evaluator,
-
614  final_time,
-
615  dt,
-
616  save_curves,
-
617  save_feet,
-
618  output_folder);
-
619 
-
620  output_folder = output_stem + "Decentred_rotation_output";
-
621  if (save_curves or save_feet) {
-
622  fs::create_directory(output_folder);
-
623  }
-
624  std::cout << title + title_simu_3 << std::endl;
-
625  simulate(
-
626  mapping,
-
627  analytical_mapping,
-
628  grid,
-
629  time_stepper,
-
630  advection_domain,
-
631  simulation_3,
-
632  function_interpolator,
-
633  advection_builder,
-
634  advection_evaluator,
-
635  final_time,
-
636  dt,
-
637  save_curves,
-
638  save_feet,
-
639  output_folder);
-
640 }
+
570  std::string output_folder = output_stem + "Translation_output";
+
571  if (save_curves or save_feet) {
+
572  fs::create_directory(output_folder);
+
573  }
+
574  std::cout << title + title_simu_1 << std::endl;
+
575  simulate(
+
576  mapping,
+
577  analytical_mapping,
+
578  grid,
+
579  time_stepper,
+
580  advection_domain,
+
581  simulation_1,
+
582  function_interpolator,
+
583  advection_builder,
+
584  advection_evaluator,
+
585  final_time,
+
586  dt,
+
587  save_curves,
+
588  save_feet,
+
589  output_folder);
+
590 
+
591  output_folder = output_stem + "Rotation_output";
+
592  if (save_curves or save_feet) {
+
593  fs::create_directory(output_folder);
+
594  }
+
595  std::cout << title + title_simu_2 << std::endl;
+
596  simulate(
+
597  mapping,
+
598  analytical_mapping,
+
599  grid,
+
600  time_stepper,
+
601  advection_domain,
+
602  simulation_2,
+
603  function_interpolator,
+
604  advection_builder,
+
605  advection_evaluator,
+
606  final_time,
+
607  dt,
+
608  save_curves,
+
609  save_feet,
+
610  output_folder);
+
611 
+
612  output_folder = output_stem + "Decentred_rotation_output";
+
613  if (save_curves or save_feet) {
+
614  fs::create_directory(output_folder);
+
615  }
+
616  std::cout << title + title_simu_3 << std::endl;
+
617  simulate(
+
618  mapping,
+
619  analytical_mapping,
+
620  grid,
+
621  time_stepper,
+
622  advection_domain,
+
623  simulation_3,
+
624  function_interpolator,
+
625  advection_builder,
+
626  advection_evaluator,
+
627  final_time,
+
628  dt,
+
629  save_curves,
+
630  save_feet,
+
631  output_folder);
+
632 }
Define a domain for the advection.
Definition: advection_domain.hpp:41
-
Base class for the advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:193
+
Base class for the advection field for the tests of the 2D polar advection operator.
Definition: test_cases.hpp:190
virtual CoordXY exact_feet(CoordXY coord, double t) const =0
Get the characteristic feet in the physical domain.
Define an advection operator on 2D domain.
Definition: bsl_advection_rp.hpp:61
-
Simulation of a decentred rotated elipse-type function.
Definition: test_cases.hpp:571
-
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:32
-
A class which stores information necessary to create a pointer to an instance of the SplineInterpolat...
Definition: spline_interpolator_2d_rp.hpp:65
+
Simulation of a decentred rotated elipse-type function.
Definition: test_cases.hpp:568
+
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:30
+
A class providing an operator for integrating functions defined on a discrete domain.
Definition: quadrature.hpp:14
-
Simulation of a rotated Gaussian.
Definition: test_cases.hpp:521
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
+
Simulation of a rotated Gaussian.
Definition: test_cases.hpp:518
Define a base class for all the time integration methods used for the advection.
Definition: spline_foot_finder.hpp:19
-
Simulation of a translated Gaussian.
Definition: test_cases.hpp:472
+
Simulation of a translated Gaussian.
Definition: test_cases.hpp:469
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
File providing the L1 and the L2 norms.
ddc::Chunk< double, ddc::DiscreteDomain< IDim... > > compute_coeffs_on_mapping(Mapping &mapping, ddc::Chunk< double, ddc::DiscreteDomain< IDim... >> &&coefficients)
Add the Jacobian determinant to the coefficients.
Definition: compute_norms.hpp:95
diff --git a/annotated.html b/annotated.html index 6de1fc7f0..85820704e 100644 --- a/annotated.html +++ b/annotated.html @@ -105,212 +105,181 @@
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ndeprecated
 CAdvectionDomainDefine a domain for the advection
 CAdvectionFieldBase class for the advection field for the tests of the 2D polar advection operator
 CAdvectionField_decentred_rotationAdvection field for the tests of the 2D polar advection operator
 CAdvectionField_rotationAdvection field for the tests of the 2D polar advection operator
 CAdvectionField_translationAdvection field for the tests of the 2D polar advection operator
 CAdvectionFieldFinderSolve the Poisson equation and return the electric field for the coupled Vlasov equation
 CAdvectionFieldSimulationBase class for the tests simulation of the 2D polar advection operator
 CAdvectionPhysicalDomainDefine the physical domain for the advection
 CAdvectionPseudoCartesianDomainDefine the pseudo-Cartesian domain for the advection
 CAdvectionSimulationBase class for the tests simulation of the 2D polar advection operator
 CAnalyticalInvertibleCurvilinear2DToCartesianA class for describing analytical invertible curvilinear 2D mappings from the logical domain to the physical domain
 CBernsteinPolynomialBasis
 CBslAdvectionRPDefine an advection operator on 2D \((r, \theta)\) domain
 CBslAdvectionSpatialBatchedA class which computes the spatial advection along the dimension of interest DDimX
 CBslAdvectionVelocityBatchedA class which computes the velocity advection along the dimension of interest DDimV
 CBslExplicitPredCorrRPA second order explicit predictor-corrector for the Vlasov-Poisson equations
 CBslImplicitPredCorrRPA second order implicit predictor-corrector for the Vlasov-Poisson equations
 CBslPredCorrRPPredictor-corrector for the Vlasov-Poisson equations
 CBSpline
 CBumpontailEquilibriumA class that initializes the distribution function as a sum of two Maxwellian functions
 Ccartesian_product_impl
 Ccartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >
 Ccartesian_product_impl< std::tuple<>, OutTupleOfTuples >
 CCartesianSolutionDefine a Cartesian solution of the Poisson equation
 CCartesianToBarycentricCoordinates
 CChargeDensityCalculatorA class which computes charges density with Kokkos
 CCircularToCartesianA class for describing the circular 2D mapping
 CCollisionsA class which computes the collision operator in (vpar,mu)
 CCollisionsGuardHeader Guard for collision operator
 CCollisionsInterClass describing the inter-species collision operator
 CCollisionsIntraClass describing the intra-species collision operator
 CConstantExtrapolationBoundaryValueA class for describing a spline boundary value by a constant extrapolation for 1D evaluator
 CConstantExtrapolationBoundaryValue2DA class for describing a spline boundary value by a constant extrapolation for 2D evaluator
 CCosineEvaluator
 CCrankNicolsonA class which provides an implementation of a Crank-Nicolson method
 CCurvilinear2DToCartesianA class for describing curvilinear 2D mappings from the logical domain to the physical domain
 CCurvilinearSolutionDefine a curvilinear solution of the Poisson equation
 CCzarnyToCartesianA class for describing the Czarny 2D mapping
 CDecentredRotationAdvectionFieldSimulationSimulation of a decentred rotated elipse-type function
 CDecentredRotationSimulationSimulation of a decentred rotated elipse-type function
 CDimX_pCTag the first non periodic dimension in the pseudo_Cartesian domain
 CDimY_pCTag the second non periodic dimension in the pseudo_Cartesian domain
 CDiocotronDensitySolutionThe diocotron exact solution of the density \( \rho \)
 CDiscreteToCartesianA class for describing discrete 2D mappings from the logical domain to the physical domain
 CElectrostaticalPotentialSimulationBase class for the advection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_decentred_rotationAdvection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_rotationAdvection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_translationAdvection field for the tests of the 2D polar advection operator
 CEulerA class which provides an implementation of an explicit Euler method
 CEvaluator2D
 CFemNonPeriodicPoissonSolverAn operator which solves the Poisson equation using Finite Elements on a non-periodic domain
 CFemPeriodicPoissonSolverAn operator which solves the Poisson equation using Finite Elements on a periodic domain
 CFftPoissonSolverAn operator which solves the Poisson equation using a fast Fourier transform
 CFluidMomentsA class that computes fluid moments of the distribution function
 Cfor_each_tuple_cat
 Cfor_each_tuple_cat< std::tuple< Tuples... >, Tuple >
 CFunctionToBeAdvectedBase class for the test functions for the 2D polar advection operator
 CFunctionToBeAdvected_cos_4_elipseTest function for the 2D polar advection operator
 CFunctionToBeAdvected_gaussianTest function for the 2D polar advection operator
 CGaussLegendre
 CGaussLegendreCoefficients
 CGeometryXVxA class providing aliases for useful subdomains of the geometry
 CGeometryXYVxVyA class providing aliases for useful subdomains of the geometry
 CGrevilleInterpolationPointsA class which provides helper functions to initialise the Greville points from a B-Spline definition
 CIAdvectionRPDefine the base class of 2D advection operators in polar domain
 CIAdvectionSpatialA class which provides an advection operator
 CIAdvectionVelocityA class which provides an advection operator
 CIBoltzmannSolverAn abstract class for solving a Boltzmann equation
 CIChargeDensityCalculatorA class which calculates the charge density
 CIEquilibriumAn abstract class for initializing a distribution function that does not depend on space
 CIFootFinderDefine a base class for all the time integration methods used for the advection
 CIInitializationAn abstract class that allows for initializing a distribution function
 CIInterpolatorBatchedA class which provides an interpolating function
 CIInterpolatorRPA class which provides an interpolating function
 Cinterpolator_on_domain
 Cinterpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >A structure which builds an interpolation type
 CIPoissonSolverBase class for Poisson solver
 CIPreallocatableInterpolatorBatchedA class which provides access to an interpolating function which can be preallocated where useful
 CIPreallocatableInterpolatorRPA class which provides access to an interpolating function which can be preallocated where useful
 CIRightHandSideAn abstract class representing a source in Boltzmann equation
 CITimeSolverAn abstract class for solving a Boltzmann-Poisson system of equations
 CITimeSolverRPBase class for the time solvers
 CITimeStepper
 CIVlasovSolver
 CKineticSourceA class that describes a source of particles
 CKnotsAsInterpolationPointsHelper class for the initialisation of the mesh of interpolation points
 CKrookSourceAdaptiveA class that describes a source of particles
 CKrookSourceConstantA class that describes a source of particles
 CLagrangeA class which implements Lagrange polynomials
 CLagrangeInterpolatorBatchedA class for interpolating a function using Lagrange polynomials
 CManufacturedPoissonTestDefining the corresponding RHS of the Poisson equation for a given exact solution
 CMatrix
 CMatrix_Banded
 CMatrix_Center_Block
 CMatrix_Corner_Block
 CMatrix_Dense
 CMatrix_PDS_Tridiag
 CMatrix_Periodic_Banded
 CMaxwellianEquilibriumA class that initializes the distribution function as a Maxwellian
 CMuDefine non periodic magnetic momentum \(\mu\)
 CNonUniformBSplinesNonUniformPointSampling specialization of BSplines
 CNullAdvectionVelocity
 CNullBoundaryValue
 CNullBoundaryValue2D
 CNullPoissonSolverNull operator
 CPoissonRHSFunctionType of right-hand side (rhs) function of the Poisson equation
 CPoissonSolutionBase class for the exact solutions of the Poisson equation
 CPolarBSplinesA class containing all information describing polar bsplines
 CPolarNullBoundaryValue2D
 CPolarSplineA structure containing the two Chunks necessary to define a spline on a set of polar basis splines
 CPolarSplineBoundaryValue2D
 CPolarSplineEvaluatorDefine an evaluator on polar B-splines
 CPolarSplineFEMPoissonSolverDefine a polar Poisson solver
 CPolarSplineSpanA structure containing the two ChunkSpans necessary to define a reference to a spline on a set of polar basis splines
 CPolarSplineViewA structure containing the two ChunkViews necessary to define a constant reference to a spline on a set of polar basis splines
 CPolynomialEvaluator
 CPreallocatableLagrangeInterpolatorBatchedA class which stores information necessary to create an instance of the LagrangeInterpolatorBatched class
 CPreallocatableSplineInterpolatorBatchedA class which stores information necessary to create an instance of the SplineInterpolatorBatched class
 CPreallocatableSplineInterpolatorRPA class which stores information necessary to create a pointer to an instance of the SplineInterpolatorRP class
 CPredCorrA class that solves a Boltzmann-Poisson system of equations using a predictor-corrector scheme
 CQuadratureA class providing an operator for integrating functions defined on a discrete domain
 CRDimPDefine periodic real Theta dimension
 CRDimRDefine non periodic real R dimension
 CRDimTA class which describes the real space in the temporal direction
 CRDimVpDefine periodic real Theta velocity dimension
 CRDimVrDefine non periodic real R velocity dimension
 CRDimVxDefine non periodic real X velocity dimension
 CRDimVyDefine non periodic real Y velocity dimension
 CRDimXDefine non periodic real X dimension
 CRDimYDefine non periodic real Y dimension
 CRefinedDiscreteToCartesianA class for describing refined discrete 2D mappings from the logical domain to the physical domain
 CRestartInitializationA class that initializes the distribution function from a previous simulation
 CRK2A class which provides an implementation of a second-order Runge-Kutta method
 CRK3A class which provides an implementation of a third-order Runge-Kutta method
 CRK4A class which provides an implementation of a fourth-order Runge-Kutta method
 CRotationAdvectionFieldSimulationSimulation of a rotated Gaussian
 CRotationSimulationSimulation of a rotated Gaussian
 CSingleModePerturbInitializationA class that initializes the distribution function as a perturbed Maxwellian
 CSpeciesInformationSpecies discrete dimension to access constant attributes related to species
 CSplineBoundaryValue
 CSplineBoundaryValue2D
 CSplineBuilderA class for creating a spline approximation of a function
 CSplineBuilder2DA class for creating a 2D spline approximation of a function
 CSplineErrorBounds
 CSplineEvaluator
 CSplineEvaluator2DDefine an evaluator 2D on B-splines
 CSplineFootFinderDefine a base class for all the time integration methods used for the advection
 CSplineInterpolatorBatchedA class for interpolating a function using splines
 CSplineInterpolatorRPA class for interpolating a function using splines in polar coordinates
 CSplitRightHandSideSolverA class that solves a Boltzmann equation using Strang's splitting
 CSplitVlasovSolverA class that solves a Vlasov equation using Strang's splitting
 Cto_tupleTransform a sequence S to a tuple:
 Cto_tuple< std::integer_sequence< T, Ints... > >
 Cto_tuple< std::pair< T, U > >
 CTor1Define non periodic radial dimension \(r\)
 CTor2Define periodic poloidal dimension \(\theta\)
 CTor3Define periodic toroidal dimension \(\varphi\)
 CTranslationAdvectionFieldSimulationSimulation of a translated Gaussian
 CTranslationSimulationSimulation of a translated Gaussian
 Ctuple_to_typesTransform a std::tuple<Args...> to a testing::Types<Args...>, identity otherwise
 Ctuple_to_types< std::tuple< Args... > >
 CUniformBSplines
 CVectorFieldPre-declaration of VectorField
 CVectorFieldCommon
 CVectorFieldSpanPre-declaration of VectorFieldSpan
 CVortexMergerDensitySolutionInitial condition for the vortex merger simulation
 CVortexMergerEquilibriaEquilibrium solution of a Vlasov-Poissson equations system in polar coordinates
 CVparDefine non periodic parallel velocity \(v_\parallel\)
 CAdvectionDomainDefine a domain for the advection
 CAdvectionFieldBase class for the advection field for the tests of the 2D polar advection operator
 CAdvectionField_decentred_rotationAdvection field for the tests of the 2D polar advection operator
 CAdvectionField_rotationAdvection field for the tests of the 2D polar advection operator
 CAdvectionField_translationAdvection field for the tests of the 2D polar advection operator
 CAdvectionFieldFinderSolve the Poisson equation and return the electric field for the coupled Vlasov equation
 CAdvectionFieldSimulationBase class for the tests simulation of the 2D polar advection operator
 CAdvectionPhysicalDomainDefine the physical domain for the advection
 CAdvectionPseudoCartesianDomainDefine the pseudo-Cartesian domain for the advection
 CAdvectionSimulationBase class for the tests simulation of the 2D polar advection operator
 CAnalyticalInvertibleCurvilinear2DToCartesianA class for describing analytical invertible curvilinear 2D mappings from the logical domain to the physical domain
 CBernsteinPolynomialBasis
 CBslAdvectionRPDefine an advection operator on 2D \((r, \theta)\) domain
 CBslAdvectionSpatialBatchedA class which computes the spatial advection along the dimension of interest DDimX
 CBslAdvectionVelocityBatchedA class which computes the velocity advection along the dimension of interest DDimV
 CBslExplicitPredCorrRPA second order explicit predictor-corrector for the Vlasov-Poisson equations
 CBslImplicitPredCorrRPA second order implicit predictor-corrector for the Vlasov-Poisson equations
 CBslPredCorrRPPredictor-corrector for the Vlasov-Poisson equations
 CBumpontailEquilibriumA class that initializes the distribution function as a sum of two Maxwellian functions
 Ccartesian_product_impl
 Ccartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >
 Ccartesian_product_impl< std::tuple<>, OutTupleOfTuples >
 CCartesianSolutionDefine a Cartesian solution of the Poisson equation
 CCartesianToBarycentricCoordinates
 CChargeDensityCalculatorA class which computes charges density with Kokkos
 CCircularToCartesianA class for describing the circular 2D mapping
 CCollisionsA class which computes the collision operator in (vpar,mu)
 CCollisionsGuardHeader Guard for collision operator
 CCollisionsInterClass describing the inter-species collision operator
 CCollisionsIntraClass describing the intra-species collision operator
 CCosineEvaluator
 CCrankNicolsonA class which provides an implementation of a Crank-Nicolson method
 CCurvilinear2DToCartesianA class for describing curvilinear 2D mappings from the logical domain to the physical domain
 CCurvilinearSolutionDefine a curvilinear solution of the Poisson equation
 CCzarnyToCartesianA class for describing the Czarny 2D mapping
 CDecentredRotationAdvectionFieldSimulationSimulation of a decentred rotated elipse-type function
 CDecentredRotationSimulationSimulation of a decentred rotated elipse-type function
 CDimX_pCTag the first non periodic dimension in the pseudo_Cartesian domain
 CDimY_pCTag the second non periodic dimension in the pseudo_Cartesian domain
 CDiocotronDensitySolutionThe diocotron exact solution of the density \( \rho \)
 CDiscreteToCartesianA class for describing discrete 2D mappings from the logical domain to the physical domain
 CElectrostaticalPotentialSimulationBase class for the advection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_decentred_rotationAdvection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_rotationAdvection field for the tests of the 2D polar advection operator
 CElectrostaticalPotentialSimulation_translationAdvection field for the tests of the 2D polar advection operator
 CEulerA class which provides an implementation of an explicit Euler method
 CEvaluator2D
 CFemNonPeriodicPoissonSolverAn operator which solves the Poisson equation using Finite Elements on a non-periodic domain
 CFemPeriodicPoissonSolverAn operator which solves the Poisson equation using Finite Elements on a periodic domain
 CFftPoissonSolverAn operator which solves the Poisson equation using a fast Fourier transform
 CFluidMomentsA class that computes fluid moments of the distribution function
 Cfor_each_tuple_cat
 Cfor_each_tuple_cat< std::tuple< Tuples... >, Tuple >
 CFunctionToBeAdvectedBase class for the test functions for the 2D polar advection operator
 CFunctionToBeAdvected_cos_4_elipseTest function for the 2D polar advection operator
 CFunctionToBeAdvected_gaussianTest function for the 2D polar advection operator
 CGaussLegendre
 CGaussLegendreCoefficients
 CGeometryXVxA class providing aliases for useful subdomains of the geometry
 CGeometryXYVxVyA class providing aliases for useful subdomains of the geometry
 CIAdvectionRPDefine the base class of 2D advection operators in polar domain
 CIAdvectionSpatialA class which provides an advection operator
 CIAdvectionVelocityA class which provides an advection operator
 CIBoltzmannSolverAn abstract class for solving a Boltzmann equation
 CIChargeDensityCalculatorA class which calculates the charge density
 CIEquilibriumAn abstract class for initializing a distribution function that does not depend on space
 CIFootFinderDefine a base class for all the time integration methods used for the advection
 CIInitializationAn abstract class that allows for initializing a distribution function
 CIInterpolatorBatchedA class which provides an interpolating function
 CIInterpolatorRPA class which provides an interpolating function
 Cinterpolator_on_domain
 Cinterpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >A structure which builds an interpolation type
 CIPoissonSolverBase class for Poisson solver
 CIPreallocatableInterpolatorBatchedA class which provides access to an interpolating function which can be preallocated where useful
 CIPreallocatableInterpolatorRPA class which provides access to an interpolating function which can be preallocated where useful
 CIRightHandSideAn abstract class representing a source in Boltzmann equation
 CITimeSolverAn abstract class for solving a Boltzmann-Poisson system of equations
 CITimeSolverRPBase class for the time solvers
 CITimeStepper
 CIVlasovSolver
 CKineticSourceA class that describes a source of particles
 CKrookSourceAdaptiveA class that describes a source of particles
 CKrookSourceConstantA class that describes a source of particles
 CLagrangeA class which implements Lagrange polynomials
 CLagrangeInterpolatorBatchedA class for interpolating a function using Lagrange polynomials
 CManufacturedPoissonTestDefining the corresponding RHS of the Poisson equation for a given exact solution
 CMatrix
 CMatrix_Banded
 CMatrix_Center_Block
 CMatrix_Corner_Block
 CMatrix_Dense
 CMatrix_PDS_Tridiag
 CMatrix_Periodic_Banded
 CMaxwellianEquilibriumA class that initializes the distribution function as a Maxwellian
 CMuDefine non periodic magnetic momentum \(\mu\)
 CNullAdvectionVelocity
 CNullPoissonSolverNull operator
 CPoissonRHSFunctionType of right-hand side (rhs) function of the Poisson equation
 CPoissonSolutionBase class for the exact solutions of the Poisson equation
 CPolarBSplinesA class containing all information describing polar bsplines
 CPolarSplineA structure containing the two Chunks necessary to define a spline on a set of polar basis splines
 CPolarSplineEvaluatorDefine an evaluator on polar B-splines
 CPolarSplineFEMPoissonSolverDefine a polar Poisson solver
 CPolarSplineSpanA structure containing the two ChunkSpans necessary to define a reference to a spline on a set of polar basis splines
 CPolarSplineViewA structure containing the two ChunkViews necessary to define a constant reference to a spline on a set of polar basis splines
 CPolynomialEvaluator
 CPreallocatableLagrangeInterpolatorBatchedA class which stores information necessary to create an instance of the LagrangeInterpolatorBatched class
 CPreallocatableSplineInterpolatorBatchedA class which stores information necessary to create an instance of the SplineInterpolatorBatched class
 CPreallocatableSplineInterpolatorRPA class which stores information necessary to create a pointer to an instance of the SplineInterpolatorRP class
 CPredCorrA class that solves a Boltzmann-Poisson system of equations using a predictor-corrector scheme
 CQuadratureA class providing an operator for integrating functions defined on a discrete domain
 CRDimPDefine periodic real Theta dimension
 CRDimRDefine non periodic real R dimension
 CRDimTA class which describes the real space in the temporal direction
 CRDimVpDefine periodic real Theta velocity dimension
 CRDimVrDefine non periodic real R velocity dimension
 CRDimVxDefine non periodic real X velocity dimension
 CRDimVyDefine non periodic real Y velocity dimension
 CRDimXDefine non periodic real X dimension
 CRDimYDefine non periodic real Y dimension
 CRefinedDiscreteToCartesianA class for describing refined discrete 2D mappings from the logical domain to the physical domain
 CRestartInitializationA class that initializes the distribution function from a previous simulation
 CRK2A class which provides an implementation of a second-order Runge-Kutta method
 CRK3A class which provides an implementation of a third-order Runge-Kutta method
 CRK4A class which provides an implementation of a fourth-order Runge-Kutta method
 CRotationAdvectionFieldSimulationSimulation of a rotated Gaussian
 CRotationSimulationSimulation of a rotated Gaussian
 CSingleModePerturbInitializationA class that initializes the distribution function as a perturbed Maxwellian
 CSpeciesInformationSpecies discrete dimension to access constant attributes related to species
 CSplineFootFinderDefine a base class for all the time integration methods used for the advection
 CSplineInterpolatorBatchedA class for interpolating a function using splines
 CSplineInterpolatorRPA class for interpolating a function using splines in polar coordinates
 CSplitRightHandSideSolverA class that solves a Boltzmann equation using Strang's splitting
 CSplitVlasovSolverA class that solves a Vlasov equation using Strang's splitting
 Cto_tupleTransform a sequence S to a tuple:
 Cto_tuple< std::integer_sequence< T, Ints... > >
 Cto_tuple< std::pair< T, U > >
 CTor1Define non periodic radial dimension \(r\)
 CTor2Define periodic poloidal dimension \(\theta\)
 CTor3Define periodic toroidal dimension \(\varphi\)
 CTranslationAdvectionFieldSimulationSimulation of a translated Gaussian
 CTranslationSimulationSimulation of a translated Gaussian
 Ctuple_to_typesTransform a std::tuple<Args...> to a testing::Types<Args...>, identity otherwise
 Ctuple_to_types< std::tuple< Args... > >
 CVectorFieldPre-declaration of VectorField
 CVectorFieldCommon
 CVectorFieldSpanPre-declaration of VectorFieldSpan
 CVortexMergerDensitySolutionInitial condition for the vortex merger simulation
 CVortexMergerEquilibriaEquilibrium solution of a Vlasov-Poissson equations system in polar coordinates
 CVparDefine non periodic parallel velocity \(v_\parallel\)
diff --git a/annotated.js b/annotated.js index 1df206314..4452dba9e 100644 --- a/annotated.js +++ b/annotated.js @@ -1,15 +1,5 @@ var annotated = [ - [ "deprecated", null, [ - [ "BSplines", "classdeprecated_1_1BSplines.html", "classdeprecated_1_1BSplines" ], - [ "NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html", "classdeprecated_1_1NonUniformBSplines" ], - [ "UniformBSplines", "classdeprecated_1_1UniformBSplines.html", "classdeprecated_1_1UniformBSplines" ], - [ "Spline1D", "classdeprecated_1_1Spline1D.html", "classdeprecated_1_1Spline1D" ], - [ "Spline2D", "classdeprecated_1_1Spline2D.html", "classdeprecated_1_1Spline2D" ], - [ "SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html", "classdeprecated_1_1SplineBuilder1D" ], - [ "Boundary_data_2d", "structdeprecated_1_1Boundary__data__2d.html", "structdeprecated_1_1Boundary__data__2d" ], - [ "SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html", "classdeprecated_1_1SplineBuilder2D" ] - ] ], [ "AdvectionDomain", "classAdvectionDomain.html", "classAdvectionDomain" ], [ "AdvectionField", "classAdvectionField.html", "classAdvectionField" ], [ "AdvectionField_decentred_rotation", "classAdvectionField__decentred__rotation.html", "classAdvectionField__decentred__rotation" ], @@ -28,7 +18,6 @@ var annotated = [ "BslExplicitPredCorrRP", "classBslExplicitPredCorrRP.html", "classBslExplicitPredCorrRP" ], [ "BslImplicitPredCorrRP", "classBslImplicitPredCorrRP.html", "classBslImplicitPredCorrRP" ], [ "BslPredCorrRP", "classBslPredCorrRP.html", "classBslPredCorrRP" ], - [ "BSpline", "structBSpline.html", null ], [ "BumpontailEquilibrium", "classBumpontailEquilibrium.html", "classBumpontailEquilibrium" ], [ "cartesian_product_impl", "structcartesian__product__impl.html", null ], [ "cartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >", "structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html", null ], @@ -41,8 +30,6 @@ var annotated = [ "CollisionsGuard", "classCollisionsGuard.html", "classCollisionsGuard" ], [ "CollisionsInter", "classCollisionsInter.html", "classCollisionsInter" ], [ "CollisionsIntra", "classCollisionsIntra.html", "classCollisionsIntra" ], - [ "ConstantExtrapolationBoundaryValue", "classConstantExtrapolationBoundaryValue.html", "classConstantExtrapolationBoundaryValue" ], - [ "ConstantExtrapolationBoundaryValue2D", "classConstantExtrapolationBoundaryValue2D.html", "classConstantExtrapolationBoundaryValue2D" ], [ "CosineEvaluator", "structCosineEvaluator.html", [ [ "Evaluator", "classCosineEvaluator_1_1Evaluator.html", "classCosineEvaluator_1_1Evaluator" ] ] ], @@ -77,7 +64,6 @@ var annotated = [ "GaussLegendreCoefficients", "structGaussLegendreCoefficients.html", null ], [ "GeometryXVx", "classGeometryXVx.html", "classGeometryXVx" ], [ "GeometryXYVxVy", "classGeometryXYVxVy.html", "classGeometryXYVxVy" ], - [ "GrevilleInterpolationPoints", "classGrevilleInterpolationPoints.html", "classGrevilleInterpolationPoints" ], [ "IAdvectionRP", "classIAdvectionRP.html", "classIAdvectionRP" ], [ "IAdvectionSpatial", "classIAdvectionSpatial.html", "classIAdvectionSpatial" ], [ "IAdvectionVelocity", "classIAdvectionVelocity.html", "classIAdvectionVelocity" ], @@ -99,7 +85,6 @@ var annotated = [ "ITimeStepper", "classITimeStepper.html", null ], [ "IVlasovSolver", "classIVlasovSolver.html", "classIVlasovSolver" ], [ "KineticSource", "classKineticSource.html", "classKineticSource" ], - [ "KnotsAsInterpolationPoints", "classKnotsAsInterpolationPoints.html", "classKnotsAsInterpolationPoints" ], [ "KrookSourceAdaptive", "classKrookSourceAdaptive.html", "classKrookSourceAdaptive" ], [ "KrookSourceConstant", "classKrookSourceConstant.html", "classKrookSourceConstant" ], [ "Lagrange", "classLagrange.html", "classLagrange" ], @@ -114,17 +99,12 @@ var annotated = [ "Matrix_Periodic_Banded", "classMatrix__Periodic__Banded.html", "classMatrix__Periodic__Banded" ], [ "MaxwellianEquilibrium", "classMaxwellianEquilibrium.html", "classMaxwellianEquilibrium" ], [ "Mu", "structMu.html", null ], - [ "NonUniformBSplines", "classNonUniformBSplines.html", "classNonUniformBSplines" ], [ "NullAdvectionVelocity", "classNullAdvectionVelocity.html", "classNullAdvectionVelocity" ], - [ "NullBoundaryValue", "classNullBoundaryValue.html", "classNullBoundaryValue" ], - [ "NullBoundaryValue2D", "classNullBoundaryValue2D.html", "classNullBoundaryValue2D" ], [ "NullPoissonSolver", "classNullPoissonSolver.html", "classNullPoissonSolver" ], [ "PoissonRHSFunction", "classPoissonRHSFunction.html", "classPoissonRHSFunction" ], [ "PoissonSolution", "classPoissonSolution.html", "classPoissonSolution" ], [ "PolarBSplines", "classPolarBSplines.html", "classPolarBSplines" ], - [ "PolarNullBoundaryValue2D", "classPolarNullBoundaryValue2D.html", "classPolarNullBoundaryValue2D" ], [ "PolarSpline", "structPolarSpline.html", "structPolarSpline" ], - [ "PolarSplineBoundaryValue2D", "classPolarSplineBoundaryValue2D.html", "classPolarSplineBoundaryValue2D" ], [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html", "classPolarSplineEvaluator" ], [ "PolarSplineFEMPoissonSolver", "classPolarSplineFEMPoissonSolver.html", "classPolarSplineFEMPoissonSolver" ], [ "PolarSplineSpan", "structPolarSplineSpan.html", "structPolarSplineSpan" ], @@ -155,13 +135,6 @@ var annotated = [ "RotationSimulation", "classRotationSimulation.html", "classRotationSimulation" ], [ "SingleModePerturbInitialization", "classSingleModePerturbInitialization.html", "classSingleModePerturbInitialization" ], [ "SpeciesInformation", "classSpeciesInformation.html", "classSpeciesInformation" ], - [ "SplineBoundaryValue", "classSplineBoundaryValue.html", "classSplineBoundaryValue" ], - [ "SplineBoundaryValue2D", "classSplineBoundaryValue2D.html", "classSplineBoundaryValue2D" ], - [ "SplineBuilder", "classSplineBuilder.html", "classSplineBuilder" ], - [ "SplineBuilder2D", "classSplineBuilder2D.html", "classSplineBuilder2D" ], - [ "SplineErrorBounds", "classSplineErrorBounds.html", "classSplineErrorBounds" ], - [ "SplineEvaluator", "classSplineEvaluator.html", "classSplineEvaluator" ], - [ "SplineEvaluator2D", "classSplineEvaluator2D.html", "classSplineEvaluator2D" ], [ "SplineFootFinder", "classSplineFootFinder.html", "classSplineFootFinder" ], [ "SplineInterpolatorBatched", "classSplineInterpolatorBatched.html", "classSplineInterpolatorBatched" ], [ "SplineInterpolatorRP", "classSplineInterpolatorRP.html", "classSplineInterpolatorRP" ], @@ -177,7 +150,6 @@ var annotated = [ "TranslationSimulation", "classTranslationSimulation.html", "classTranslationSimulation" ], [ "tuple_to_types", "structtuple__to__types.html", "structtuple__to__types" ], [ "tuple_to_types< std::tuple< Args... > >", "structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html", "structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4" ], - [ "UniformBSplines", "classUniformBSplines.html", "classUniformBSplines" ], [ "VectorField", "classVectorField.html", "classVectorField" ], [ "VectorFieldCommon", "classVectorFieldCommon.html", null ], [ "VectorFieldSpan", "classVectorFieldSpan.html", "classVectorFieldSpan" ], diff --git a/boundary__conditions_8hpp_source.html b/boundary__conditions_8hpp_source.html deleted file mode 100644 index 895239c07..000000000 --- a/boundary__conditions_8hpp_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/boundary_conditions.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
boundary_conditions.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <iostream>
-
4 
-
5 enum class BoundCond {
-
6  // Periodic boundary condition u(1)=u(n)
-
7  PERIODIC,
-
8  // Hermite boundary condition
-
9  HERMITE,
-
10  // Use Greville points instead of conditions on derivative for B-Spline
-
11  // interpolation
-
12  GREVILLE,
-
13 };
-
14 
-
15 static inline std::ostream& operator<<(std::ostream& out, BoundCond bc)
-
16 {
-
17  switch (bc) {
-
18  case BoundCond::PERIODIC:
-
19  return out << "PERIODIC";
-
20  case BoundCond::HERMITE:
-
21  return out << "HERMITE";
-
22  case BoundCond::GREVILLE:
-
23  return out << "GREVILLE";
-
24  default:
-
25  std::exit(1);
-
26  }
-
27 }
-
-
- - - - diff --git a/bsl__advection__rp_8hpp_source.html b/bsl__advection__rp_8hpp_source.html index 4135e7ea4..0f68dddd7 100644 --- a/bsl__advection__rp_8hpp_source.html +++ b/bsl__advection__rp_8hpp_source.html @@ -128,7 +128,7 @@
60 class BslAdvectionRP : public IAdvectionRP
61 {
62 private:
-
63  PreallocatableSplineInterpolatorRP const& m_interpolator;
+
63  PreallocatableSplineInterpolatorRP<ddc::NullExtrapolationRule> const& m_interpolator;
64 
65  FootFinder const& m_find_feet;
66 
@@ -136,105 +136,106 @@
68 
69 
70 public:
-
86  BslAdvectionRP(
-
87  PreallocatableSplineInterpolatorRP const& function_interpolator,
-
88  FootFinder const& foot_finder,
-
89  Mapping const& mapping)
-
90  : m_interpolator(function_interpolator)
-
91  , m_find_feet(foot_finder)
-
92  , m_mapping(mapping)
-
93  {
-
94  }
-
95 
-
96  ~BslAdvectionRP() override = default;
-
97 
+
86  BslAdvectionRP(
+
87  PreallocatableSplineInterpolatorRP<ddc::NullExtrapolationRule> const&
+
88  function_interpolator,
+
89  FootFinder const& foot_finder,
+
90  Mapping const& mapping)
+
91  : m_interpolator(function_interpolator)
+
92  , m_find_feet(foot_finder)
+
93  , m_mapping(mapping)
+
94  {
+
95  }
+
96 
+
97  ~BslAdvectionRP() override = default;
98 
-
112  DSpanRP operator()(
-
113  DSpanRP allfdistribu,
-
114  VectorDViewRP<RDimX, RDimY> advection_field_xy,
-
115  double dt) const
-
116  {
-
117  // Pre-allocate some memory to prevent allocation later in loop
-
118  std::unique_ptr<IInterpolatorRP> const interpolator_ptr = m_interpolator.preallocate();
-
119 
-
120  // Initialise the feet
-
121  FieldRP<CoordRP> feet_rp(advection_field_xy.domain());
-
122  ddc::for_each(advection_field_xy.domain(), [&](IndexRP const irp) {
-
123  feet_rp(irp) = ddc::coordinate(irp);
-
124  });
-
125 
-
126  // Compute the characteristic feet at tn ----------------------------------------------------
-
127  m_find_feet(feet_rp.span_view(), advection_field_xy, dt);
-
128 
-
129  // Interpolate the function on the characteristic feet. -------------------------------------
-
130  (*interpolator_ptr)(allfdistribu, feet_rp.span_cview());
-
131 
-
132  return allfdistribu;
-
133  }
-
134 
+
99 
+
113  DSpanRP operator()(
+
114  DSpanRP allfdistribu,
+
115  VectorDViewRP<RDimX, RDimY> advection_field_xy,
+
116  double dt) const
+
117  {
+
118  // Pre-allocate some memory to prevent allocation later in loop
+
119  std::unique_ptr<IInterpolatorRP> const interpolator_ptr = m_interpolator.preallocate();
+
120 
+
121  // Initialise the feet
+
122  FieldRP<CoordRP> feet_rp(advection_field_xy.domain());
+
123  ddc::for_each(advection_field_xy.domain(), [&](IndexRP const irp) {
+
124  feet_rp(irp) = ddc::coordinate(irp);
+
125  });
+
126 
+
127  // Compute the characteristic feet at tn ----------------------------------------------------
+
128  m_find_feet(feet_rp.span_view(), advection_field_xy, dt);
+
129 
+
130  // Interpolate the function on the characteristic feet. -------------------------------------
+
131  (*interpolator_ptr)(allfdistribu, feet_rp.span_cview());
+
132 
+
133  return allfdistribu;
+
134  }
135 
-
152  DSpanRP operator()(
-
153  DSpanRP allfdistribu,
-
154  VectorDViewRP<RDimR, RDimP> advection_field_rp,
-
155  CoordXY const& advection_field_xy_center,
-
156  double dt) const
-
157  {
-
158  IDomainRP grid(allfdistribu.domain<IDimR, IDimP>());
-
159 
-
160  const int npoints_p = IDomainP(grid).size();
-
161  IDomainRP const grid_without_Opoint(grid.remove_first(IVectRP(1, 0)));
-
162  IDomainRP const Opoint_grid(grid.take_first(IVectRP(1, npoints_p)));
-
163 
+
136 
+
153  DSpanRP operator()(
+
154  DSpanRP allfdistribu,
+
155  VectorDViewRP<RDimR, RDimP> advection_field_rp,
+
156  CoordXY const& advection_field_xy_center,
+
157  double dt) const
+
158  {
+
159  IDomainRP grid(allfdistribu.domain<IDimR, IDimP>());
+
160 
+
161  const int npoints_p = IDomainP(grid).size();
+
162  IDomainRP const grid_without_Opoint(grid.remove_first(IVectRP(1, 0)));
+
163  IDomainRP const Opoint_grid(grid.take_first(IVectRP(1, npoints_p)));
164 
-
165  // Convert advection field on RP to advection field on XY
-
166  VectorDFieldRP<RDimX, RDimY> advection_field_xy(grid);
-
167 
-
168  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
-
169  CoordRP const coord_rp(ddc::coordinate(irp));
-
170 
-
171  std::array<std::array<double, 2>, 2> J; // Jacobian matrix
-
172  m_mapping.jacobian_matrix(coord_rp, J);
-
173  std::array<std::array<double, 2>, 2> G; // Metric tensor
-
174  m_mapping.metric_tensor(coord_rp, G);
-
175 
-
176  ddcHelper::get<RDimX>(advection_field_xy)(irp)
-
177  = ddcHelper::get<RDimR>(advection_field_rp)(irp) * J[1][1] / std::sqrt(G[1][1])
-
178  + ddcHelper::get<RDimP>(advection_field_rp)(irp) * -J[1][0]
-
179  / std::sqrt(G[0][0]);
-
180  ddcHelper::get<RDimY>(advection_field_xy)(irp)
-
181  = ddcHelper::get<RDimR>(advection_field_rp)(irp) * -J[0][1] / std::sqrt(G[1][1])
-
182  + ddcHelper::get<RDimP>(advection_field_rp)(irp) * J[0][0]
-
183  / std::sqrt(G[0][0]);
-
184  });
-
185 
-
186  ddc::for_each(Opoint_grid, [&](IndexRP const irp) {
-
187  ddcHelper::get<RDimX>(advection_field_xy)(irp) = CoordX(advection_field_xy_center);
-
188  ddcHelper::get<RDimY>(advection_field_xy)(irp) = CoordY(advection_field_xy_center);
-
189  });
-
190 
-
191  // Pre-allocate some memory to prevent allocation later in loop
-
192  std::unique_ptr<IInterpolatorRP> const interpolator_ptr = m_interpolator.preallocate();
-
193 
-
194  // Initialise the feet
-
195  FieldRP<CoordRP> feet_rp(grid);
-
196  ddc::for_each(grid, [&](IndexRP const irp) { feet_rp(irp) = ddc::coordinate(irp); });
-
197 
-
198  // Compute the characteristic feet at tn ----------------------------------------------------
-
199  m_find_feet(feet_rp.span_view(), advection_field_xy, dt);
-
200 
-
201  // Interpolate the function on the characteristic feet. -------------------------------------
-
202  (*interpolator_ptr)(allfdistribu, feet_rp.span_cview());
-
203 
-
204  return allfdistribu;
-
205  }
-
206 };
+
165 
+
166  // Convert advection field on RP to advection field on XY
+
167  VectorDFieldRP<RDimX, RDimY> advection_field_xy(grid);
+
168 
+
169  ddc::for_each(grid_without_Opoint, [&](IndexRP const irp) {
+
170  CoordRP const coord_rp(ddc::coordinate(irp));
+
171 
+
172  std::array<std::array<double, 2>, 2> J; // Jacobian matrix
+
173  m_mapping.jacobian_matrix(coord_rp, J);
+
174  std::array<std::array<double, 2>, 2> G; // Metric tensor
+
175  m_mapping.metric_tensor(coord_rp, G);
+
176 
+
177  ddcHelper::get<RDimX>(advection_field_xy)(irp)
+
178  = ddcHelper::get<RDimR>(advection_field_rp)(irp) * J[1][1] / std::sqrt(G[1][1])
+
179  + ddcHelper::get<RDimP>(advection_field_rp)(irp) * -J[1][0]
+
180  / std::sqrt(G[0][0]);
+
181  ddcHelper::get<RDimY>(advection_field_xy)(irp)
+
182  = ddcHelper::get<RDimR>(advection_field_rp)(irp) * -J[0][1] / std::sqrt(G[1][1])
+
183  + ddcHelper::get<RDimP>(advection_field_rp)(irp) * J[0][0]
+
184  / std::sqrt(G[0][0]);
+
185  });
+
186 
+
187  ddc::for_each(Opoint_grid, [&](IndexRP const irp) {
+
188  ddcHelper::get<RDimX>(advection_field_xy)(irp) = CoordX(advection_field_xy_center);
+
189  ddcHelper::get<RDimY>(advection_field_xy)(irp) = CoordY(advection_field_xy_center);
+
190  });
+
191 
+
192  // Pre-allocate some memory to prevent allocation later in loop
+
193  std::unique_ptr<IInterpolatorRP> const interpolator_ptr = m_interpolator.preallocate();
+
194 
+
195  // Initialise the feet
+
196  FieldRP<CoordRP> feet_rp(grid);
+
197  ddc::for_each(grid, [&](IndexRP const irp) { feet_rp(irp) = ddc::coordinate(irp); });
+
198 
+
199  // Compute the characteristic feet at tn ----------------------------------------------------
+
200  m_find_feet(feet_rp.span_view(), advection_field_xy, dt);
+
201 
+
202  // Interpolate the function on the characteristic feet. -------------------------------------
+
203  (*interpolator_ptr)(allfdistribu, feet_rp.span_cview());
+
204 
+
205  return allfdistribu;
+
206  }
+
207 };
Define an advection operator on 2D domain.
Definition: bsl_advection_rp.hpp:61
-
BslAdvectionRP(PreallocatableSplineInterpolatorRP const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)
Instantiate an advection operator.
Definition: bsl_advection_rp.hpp:86
-
DSpanRP operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const
Allocate a ChunkSpan to the advected function.
Definition: bsl_advection_rp.hpp:152
-
DSpanRP operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const
Allocate a ChunkSpan to the advected function.
Definition: bsl_advection_rp.hpp:112
+
DSpanRP operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const
Allocate a ChunkSpan to the advected function.
Definition: bsl_advection_rp.hpp:153
+
BslAdvectionRP(PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)
Instantiate an advection operator.
Definition: bsl_advection_rp.hpp:86
+
DSpanRP operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const
Allocate a ChunkSpan to the advected function.
Definition: bsl_advection_rp.hpp:113
Define the base class of 2D advection operators in polar domain.
Definition: iadvectionrp.hpp:13
-
A class which stores information necessary to create a pointer to an instance of the SplineInterpolat...
Definition: spline_interpolator_2d_rp.hpp:65
-
std::unique_ptr< IInterpolatorRP > preallocate() const override
Create a pointer to an instance of the SplineInterpolatorRP class.
Definition: spline_interpolator_2d_rp.hpp:91
+
+
std::unique_ptr< IInterpolatorRP > preallocate() const override
Create a pointer to an instance of the SplineInterpolatorRP class.
Definition: spline_interpolator_2d_rp.hpp:146
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
diff --git a/bsl__predcorr_8hpp_source.html b/bsl__predcorr_8hpp_source.html index 377e8d113..049ebf117 100644 --- a/bsl__predcorr_8hpp_source.html +++ b/bsl__predcorr_8hpp_source.html @@ -117,81 +117,81 @@
12 #include <geometry.hpp>
13 #include <utils_tools.hpp>
14 
-
15 #include "sll/spline_evaluator_2d.hpp"
-
16 
-
17 #include "advection_domain.hpp"
-
18 #include "advection_field_rp.hpp"
-
19 #include "bsl_advection_rp.hpp"
-
20 #include "geometry.hpp"
-
21 #include "ifoot_finder.hpp"
-
22 #include "itimesolver.hpp"
-
23 #include "poisson_rhs_function.hpp"
-
24 #include "polarpoissonsolver.hpp"
-
25 #include "rk2.hpp"
-
26 #include "spline_interpolator_2d_rp.hpp"
-
27 
-
59 template <class Mapping, class FootFinder>
-
60 class BslPredCorrRP : public ITimeSolverRP
-
61 {
-
62 private:
-
63  Mapping const& m_mapping;
+
15 #include "advection_domain.hpp"
+
16 #include "advection_field_rp.hpp"
+
17 #include "bsl_advection_rp.hpp"
+
18 #include "geometry.hpp"
+
19 #include "ifoot_finder.hpp"
+
20 #include "itimesolver.hpp"
+
21 #include "poisson_rhs_function.hpp"
+
22 #include "polarpoissonsolver.hpp"
+
23 #include "rk2.hpp"
+
24 #include "spline_interpolator_2d_rp.hpp"
+
25 
+
57 template <class Mapping, class FootFinder>
+
58 class BslPredCorrRP : public ITimeSolverRP
+
59 {
+
60 private:
+
61  Mapping const& m_mapping;
+
62 
+
63  BslAdvectionRP<FootFinder, Mapping> const& m_advection_solver;
64 
-
65  BslAdvectionRP<FootFinder, Mapping> const& m_advection_solver;
+
65  PolarSplineFEMPoissonSolver const& m_poisson_solver;
66 
-
67  PolarSplineFEMPoissonSolver const& m_poisson_solver;
-
68 
-
69  SplineRPBuilder const& m_builder;
-
70  SplineRPEvaluator const& m_spline_evaluator;
-
71 
-
72 
-
73 public:
-
91  BslPredCorrRP(
-
92  Mapping const& mapping,
-
93  BslAdvectionRP<FootFinder, Mapping> const& advection_solver,
-
94  SplineRPBuilder const& builder,
-
95  SplineRPEvaluator const& rhs_evaluator,
-
96  PolarSplineFEMPoissonSolver const& poisson_solver)
-
97  : m_mapping(mapping)
-
98  , m_advection_solver(advection_solver)
-
99  , m_poisson_solver(poisson_solver)
-
100  , m_builder(builder)
-
101  , m_spline_evaluator(rhs_evaluator)
-
102  {
-
103  }
-
104 
+
67  SplineRPBuilder const& m_builder;
+
68  SplineRPEvaluatorNullBound const& m_spline_evaluator;
+
69 
+
70 
+
71 public:
+
89  BslPredCorrRP(
+
90  Mapping const& mapping,
+
91  BslAdvectionRP<FootFinder, Mapping> const& advection_solver,
+
92  SplineRPBuilder const& builder,
+
93  SplineRPEvaluatorNullBound const& rhs_evaluator,
+
94  PolarSplineFEMPoissonSolver const& poisson_solver)
+
95  : m_mapping(mapping)
+
96  , m_advection_solver(advection_solver)
+
97  , m_poisson_solver(poisson_solver)
+
98  , m_builder(builder)
+
99  , m_spline_evaluator(rhs_evaluator)
+
100  {
+
101  }
+
102 
+
103 
+
104  ~BslPredCorrRP() {};
105 
-
106  ~BslPredCorrRP() {};
-
107 
-
108 
-
109  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
-
110  {
-
111  std::chrono::time_point<std::chrono::system_clock> start_time
-
112  = std::chrono::system_clock::now();
-
113  std::chrono::time_point<std::chrono::system_clock> end_time;
-
114 
-
115 
-
116  // Grid. ------------------------------------------------------------------------------------------
-
117  IDomainRP grid(allfdistribu.domain<IDimR, IDimP>());
-
118  FieldRP<CoordRP> coords(grid);
-
119  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
-
120  AdvectionFieldFinder advection_field_computer(m_mapping);
-
121 
-
122  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
-
123  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
-
124  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
-
125 
-
126  SplinePolar electrostatic_potential_coef(
-
127  PolarBSplinesRP::singular_domain(),
-
128  BSDomainRP(radial_bsplines, polar_domain));
-
129  PolarSplineEvaluator<PolarBSplinesRP> polar_spline_evaluator(
-
130  g_polar_null_boundary_2d<PolarBSplinesRP>);
+
106 
+
107  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
+
108  {
+
109  std::chrono::time_point<std::chrono::system_clock> start_time
+
110  = std::chrono::system_clock::now();
+
111  std::chrono::time_point<std::chrono::system_clock> end_time;
+
112 
+
113 
+
114  // Grid. ------------------------------------------------------------------------------------------
+
115  IDomainRP grid(allfdistribu.domain<IDimR, IDimP>());
+
116  FieldRP<CoordRP> coords(grid);
+
117  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
+
118  AdvectionFieldFinder advection_field_computer(m_mapping);
+
119 
+
120  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
+
121  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
+
122  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
+
123 
+
124  SplinePolar electrostatic_potential_coef(
+
125  PolarBSplinesRP::singular_domain(),
+
126  BSDomainRP(radial_bsplines, polar_domain));
+
127  ddc::NullExtrapolationRule extrapolation_rule;
+
128  PolarSplineEvaluator<PolarBSplinesRP, ddc::NullExtrapolationRule> polar_spline_evaluator(
+
129  extrapolation_rule);
+
130 
131 
-
132 
-
133  DFieldRP electrical_potential0(grid);
-
134 
-
135  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
136  m_builder(allfdistribu_coef, allfdistribu);
-
137  PoissonRHSFunction const charge_density_coord(allfdistribu_coef, m_spline_evaluator);
+
132  DFieldRP electrical_potential0(grid);
+
133 
+
134  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
135  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
136  PoissonRHSFunction const
+
137  charge_density_coord(allfdistribu_coef.span_cview(), m_spline_evaluator);
138  m_poisson_solver(charge_density_coord, coords, electrical_potential0);
139 
140  ddc::PdiEvent("iteration")
@@ -204,72 +204,71 @@
147  std::function<void(VectorDSpanRP<RDimX, RDimY>, DViewRP)> define_advection_field
148  = [&](VectorDSpanRP<RDimX, RDimY> advection_field, DViewRP allfdistribu) {
149  // --- compute electrostatic potential:
-
150  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
151  m_builder(allfdistribu_coef, allfdistribu);
-
152  PoissonRHSFunction const
-
153  charge_density_coord(allfdistribu_coef, m_spline_evaluator);
-
154  m_poisson_solver(charge_density_coord, electrostatic_potential_coef);
-
155 
-
156  // --- compute advection field:
-
157  advection_field_computer(electrostatic_potential_coef, advection_field);
-
158  };
-
159 
-
160  std::function<void(DSpanRP, VectorDViewRP<RDimX, RDimY>, double)> advect_allfdistribu =
-
161  [&](DSpanRP allfdistribu, VectorDViewRP<RDimX, RDimY> advection_field, double dt) {
-
162  m_advection_solver(allfdistribu, advection_field, dt);
-
163  };
-
164 
-
165  RK2<DFieldRP, VectorDFieldRP<RDimX, RDimY>> time_stepper(grid);
-
166 
-
167  start_time = std::chrono::system_clock::now();
-
168  for (int iter(0); iter < steps; ++iter) {
-
169  time_stepper
-
170  .update(Kokkos::DefaultHostExecutionSpace(),
-
171  allfdistribu,
-
172  dt,
-
173  define_advection_field,
-
174  advect_allfdistribu);
-
175 
-
176  DFieldRP electrical_potential(grid);
-
177  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
178  m_builder(allfdistribu_coef, allfdistribu);
-
179  PoissonRHSFunction const charge_density_coord(allfdistribu_coef, m_spline_evaluator);
-
180  m_poisson_solver(charge_density_coord, coords, electrical_potential);
-
181 
-
182  ddc::PdiEvent("iteration")
-
183  .with("iter", iter + 1)
-
184  .and_with("time", iter * dt)
-
185  .and_with("density", allfdistribu)
-
186  .and_with("electrical_potential", electrical_potential);
-
187  }
-
188  end_time = std::chrono::system_clock::now();
-
189 
-
190 
-
191  display_time_difference("Iterations time: ", start_time, end_time);
+
150  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
151  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
152  PoissonRHSFunction const charge_density_coord(
+
153  allfdistribu_coef.span_cview(),
+
154  m_spline_evaluator);
+
155  m_poisson_solver(charge_density_coord, electrostatic_potential_coef);
+
156 
+
157  // --- compute advection field:
+
158  advection_field_computer(electrostatic_potential_coef, advection_field);
+
159  };
+
160 
+
161  std::function<void(DSpanRP, VectorDViewRP<RDimX, RDimY>, double)> advect_allfdistribu =
+
162  [&](DSpanRP allfdistribu, VectorDViewRP<RDimX, RDimY> advection_field, double dt) {
+
163  m_advection_solver(allfdistribu, advection_field, dt);
+
164  };
+
165 
+
166  RK2<DFieldRP, VectorDFieldRP<RDimX, RDimY>> time_stepper(grid);
+
167 
+
168  start_time = std::chrono::system_clock::now();
+
169  for (int iter(0); iter < steps; ++iter) {
+
170  time_stepper
+
171  .update(Kokkos::DefaultHostExecutionSpace(),
+
172  allfdistribu,
+
173  dt,
+
174  define_advection_field,
+
175  advect_allfdistribu);
+
176 
+
177  DFieldRP electrical_potential(grid);
+
178  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
179  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
180  PoissonRHSFunction const
+
181  charge_density_coord(allfdistribu_coef.span_cview(), m_spline_evaluator);
+
182  m_poisson_solver(charge_density_coord, coords, electrical_potential);
+
183 
+
184  ddc::PdiEvent("iteration")
+
185  .with("iter", iter + 1)
+
186  .and_with("time", iter * dt)
+
187  .and_with("density", allfdistribu)
+
188  .and_with("electrical_potential", electrical_potential);
+
189  }
+
190  end_time = std::chrono::system_clock::now();
+
191 
192 
-
193 
-
194  return allfdistribu;
-
195  }
-
196 };
+
193  display_time_difference("Iterations time: ", start_time, end_time);
+
194 
+
195 
+
196  return allfdistribu;
+
197  }
+
198 };
Solve the Poisson equation and return the electric field for the coupled Vlasov equation.
Definition: advection_field_rp.hpp:90
Define an advection operator on 2D domain.
Definition: bsl_advection_rp.hpp:61
-
Predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr.hpp:61
-
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr.hpp:109
-
BslPredCorrRP(Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
Instantiate a BslPredCorrRP.
Definition: bsl_predcorr.hpp:91
+
Predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr.hpp:59
+
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr.hpp:107
+
BslPredCorrRP(Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
Instantiate a BslPredCorrRP.
Definition: bsl_predcorr.hpp:89
Base class for the time solvers.
Definition: itimesolver.hpp:11
void display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) const
Displays the time difference between two given times and a title.
Definition: itimesolver.hpp:45
Type of right-hand side (rhs) function of the Poisson equation.
Definition: poisson_rhs_function.hpp:16
-
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:141
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:37
+
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:136
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
+
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:36
A class which provides an implementation of a second-order Runge-Kutta method.
Definition: rk2.hpp:32
void update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const
Carry out one step of the Runge-Kutta scheme.
Definition: rk2.hpp:76
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
File Describing useful functions.
diff --git a/bsl__predcorr__second__order__explicit_8hpp_source.html b/bsl__predcorr__second__order__explicit_8hpp_source.html index a2cb0413e..a124338af 100644 --- a/bsl__predcorr__second__order__explicit_8hpp_source.html +++ b/bsl__predcorr__second__order__explicit_8hpp_source.html @@ -116,114 +116,114 @@
11 
12 #include <geometry.hpp>
13 
-
14 #include "sll/spline_evaluator_2d.hpp"
-
15 
-
16 #include "advection_domain.hpp"
-
17 #include "advection_field_rp.hpp"
-
18 #include "bsl_advection_rp.hpp"
-
19 #include "euler.hpp"
-
20 #include "geometry.hpp"
-
21 #include "itimesolver.hpp"
-
22 #include "poisson_rhs_function.hpp"
-
23 #include "polarpoissonsolver.hpp"
-
24 #include "spline_foot_finder.hpp"
-
25 #include "spline_interpolator_2d_rp.hpp"
+
14 #include "advection_domain.hpp"
+
15 #include "advection_field_rp.hpp"
+
16 #include "bsl_advection_rp.hpp"
+
17 #include "euler.hpp"
+
18 #include "geometry.hpp"
+
19 #include "itimesolver.hpp"
+
20 #include "poisson_rhs_function.hpp"
+
21 #include "polarpoissonsolver.hpp"
+
22 #include "spline_foot_finder.hpp"
+
23 #include "spline_interpolator_2d_rp.hpp"
+
24 
+
25 
26 
-
27 
-
28 
-
67 template <class Mapping, class AdvectionDomain>
-
68 class BslExplicitPredCorrRP : public ITimeSolverRP
-
69 {
-
70 private:
-
71  using EulerMethod = Euler<FieldRP<CoordRP>, VectorDFieldRP<RDimX, RDimY>>;
-
72 
+
65 template <class Mapping, class AdvectionDomain>
+
66 class BslExplicitPredCorrRP : public ITimeSolverRP
+
67 {
+
68 private:
+
69  using EulerMethod = Euler<FieldRP<CoordRP>, VectorDFieldRP<RDimX, RDimY>>;
+
70 
+
71 
+
72  Mapping const& m_mapping;
73 
-
74  Mapping const& m_mapping;
-
75 
-
76  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
-
77  m_advection_solver;
-
78 
-
79  EulerMethod const m_euler;
-
80  SplineFootFinder<EulerMethod, AdvectionDomain> const m_find_feet;
+
74  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
+
75  m_advection_solver;
+
76 
+
77  EulerMethod const m_euler;
+
78  SplineFootFinder<EulerMethod, AdvectionDomain> const m_find_feet;
+
79 
+
80  PolarSplineFEMPoissonSolver const& m_poisson_solver;
81 
-
82  PolarSplineFEMPoissonSolver const& m_poisson_solver;
-
83 
-
84  SplineRPBuilder const& m_builder;
-
85  SplineRPEvaluator const& m_evaluator;
+
82  SplineRPBuilder const& m_builder;
+
83  SplineRPEvaluatorConstBound const& m_evaluator;
+
84 
+
85 
86 
-
87 
-
88 
-
89 public:
-
114  BslExplicitPredCorrRP(
-
115  AdvectionDomain const& advection_domain,
-
116  Mapping const& mapping,
-
117  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping>&
-
118  advection_solver,
-
119  IDomainRP const& grid,
-
120  SplineRPBuilder const& builder,
-
121  SplineRPEvaluator const& rhs_evaluator,
-
122  PolarSplineFEMPoissonSolver const& poisson_solver,
-
123  SplineRPEvaluator const& advection_evaluator)
-
124  : m_mapping(mapping)
-
125  , m_advection_solver(advection_solver)
-
126  , m_euler(grid)
-
127  , m_find_feet(m_euler, advection_domain, builder, advection_evaluator)
-
128  , m_poisson_solver(poisson_solver)
-
129  , m_builder(builder)
-
130  , m_evaluator(advection_evaluator)
-
131 
-
132  {
-
133  }
-
134 
+
87 public:
+
112  BslExplicitPredCorrRP(
+
113  AdvectionDomain const& advection_domain,
+
114  Mapping const& mapping,
+
115  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping>&
+
116  advection_solver,
+
117  IDomainRP const& grid,
+
118  SplineRPBuilder const& builder,
+
119  SplineRPEvaluatorNullBound const& rhs_evaluator,
+
120  PolarSplineFEMPoissonSolver const& poisson_solver,
+
121  SplineRPEvaluatorConstBound const& advection_evaluator)
+
122  : m_mapping(mapping)
+
123  , m_advection_solver(advection_solver)
+
124  , m_euler(grid)
+
125  , m_find_feet(m_euler, advection_domain, builder, advection_evaluator)
+
126  , m_poisson_solver(poisson_solver)
+
127  , m_builder(builder)
+
128  , m_evaluator(advection_evaluator)
+
129 
+
130  {
+
131  }
+
132 
+
133 
+
134  ~BslExplicitPredCorrRP() {};
135 
-
136  ~BslExplicitPredCorrRP() {};
+
136 
137 
-
138 
-
139 
-
140  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
-
141  {
-
142  std::chrono::time_point<std::chrono::system_clock> start_time
-
143  = std::chrono::system_clock::now();
-
144  std::chrono::time_point<std::chrono::system_clock> end_time;
-
145 
-
146  // Grid. ------------------------------------------------------------------------------------------
-
147  IDomainRP const grid(allfdistribu.domain<IDimR, IDimP>());
-
148 
-
149  FieldRP<CoordRP> coords(grid);
-
150  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
-
151 
-
152  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
-
153  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
-
154  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
-
155 
-
156  // --- Electrostatic potential (phi). -------------------------------------------------------------
-
157  DFieldRP electrical_potential(grid);
-
158 
-
159  SplinePolar electrostatic_potential_coef(
-
160  PolarBSplinesRP::singular_domain(),
-
161  BSDomainRP(radial_bsplines, polar_domain));
-
162 
-
163  PolarSplineEvaluator<PolarBSplinesRP> polar_spline_evaluator(
-
164  g_polar_null_boundary_2d<PolarBSplinesRP>);
-
165 
-
166  // --- For the computation of advection field from the electrostatic potential (phi): -------------
-
167  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
-
168  VectorDFieldRP<RDimX, RDimY> electric_field_predicted(grid);
-
169  VectorDFieldRP<RDimX, RDimY> advection_field(grid);
-
170  VectorDFieldRP<RDimX, RDimY> advection_field_predicted(grid);
-
171 
-
172  AdvectionFieldFinder advection_field_computer(m_mapping);
+
138  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
+
139  {
+
140  std::chrono::time_point<std::chrono::system_clock> start_time
+
141  = std::chrono::system_clock::now();
+
142  std::chrono::time_point<std::chrono::system_clock> end_time;
+
143 
+
144  // Grid. ------------------------------------------------------------------------------------------
+
145  IDomainRP const grid(allfdistribu.domain<IDimR, IDimP>());
+
146 
+
147  FieldRP<CoordRP> coords(grid);
+
148  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
+
149 
+
150  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
+
151  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
+
152  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
+
153 
+
154  // --- Electrostatic potential (phi). -------------------------------------------------------------
+
155  DFieldRP electrical_potential(grid);
+
156 
+
157  SplinePolar electrostatic_potential_coef(
+
158  PolarBSplinesRP::singular_domain(),
+
159  BSDomainRP(radial_bsplines, polar_domain));
+
160 
+
161  ddc::NullExtrapolationRule extrapolation_rule;
+
162  PolarSplineEvaluator<PolarBSplinesRP, ddc::NullExtrapolationRule> polar_spline_evaluator(
+
163  extrapolation_rule);
+
164 
+
165  // --- For the computation of advection field from the electrostatic potential (phi): -------------
+
166  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
+
167  VectorDFieldRP<RDimX, RDimY> electric_field_predicted(grid);
+
168  VectorDFieldRP<RDimX, RDimY> advection_field(grid);
+
169  VectorDFieldRP<RDimX, RDimY> advection_field_predicted(grid);
+
170 
+
171  AdvectionFieldFinder advection_field_computer(m_mapping);
+
172 
173 
174 
-
175 
-
176  // --- Parameter for linearisation of advection field: --------------------------------------------
-
177  start_time = std::chrono::system_clock::now();
-
178  for (int iter(0); iter < steps; ++iter) {
-
179  double const time = iter * dt;
-
180  // STEP 1: From rho^n, we compute phi^n: Poisson equation
-
181  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
182  m_builder(allfdistribu_coef, allfdistribu);
-
183  PoissonRHSFunction const charge_density_coord_1(allfdistribu_coef, m_evaluator);
+
175  // --- Parameter for linearisation of advection field: --------------------------------------------
+
176  start_time = std::chrono::system_clock::now();
+
177  for (int iter(0); iter < steps; ++iter) {
+
178  double const time = iter * dt;
+
179  // STEP 1: From rho^n, we compute phi^n: Poisson equation
+
180  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
181  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
182  PoissonRHSFunction const
+
183  charge_density_coord_1(allfdistribu_coef.span_cview(), m_evaluator);
184  m_poisson_solver(charge_density_coord_1, electrostatic_potential_coef);
185 
186  polar_spline_evaluator(
@@ -256,92 +256,91 @@
213 
214 
215  // STEP 4: From rho^P, we compute phi^P: Poisson equation
-
216  m_builder(allfdistribu_coef, allfdistribu);
-
217  PoissonRHSFunction const charge_density_coord_4(allfdistribu_coef, m_evaluator);
-
218  m_poisson_solver(charge_density_coord_4, electrostatic_potential_coef);
-
219 
-
220  // STEP 5: From phi^P, we compute A^P:
-
221  advection_field_computer(electrostatic_potential_coef, advection_field_predicted);
-
222 
+
216  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
217  PoissonRHSFunction const
+
218  charge_density_coord_4(allfdistribu_coef.span_cview(), m_evaluator);
+
219  m_poisson_solver(charge_density_coord_4, electrostatic_potential_coef);
+
220 
+
221  // STEP 5: From phi^P, we compute A^P:
+
222  advection_field_computer(electrostatic_potential_coef, advection_field_predicted);
223 
-
224  // --- we evaluate the advection field A^n at the characteristic feet X^P
-
225  VectorDFieldRP<RDimX, RDimY> advection_field_evaluated(grid);
-
226  VectorSpline2D<RDimX, RDimY> advection_field_coefs(m_builder.spline_domain());
-
227 
-
228  m_builder(
-
229  ddcHelper::get<RDimX>(advection_field_coefs),
-
230  ddcHelper::get<RDimX>(advection_field));
-
231  m_builder(
-
232  ddcHelper::get<RDimY>(advection_field_coefs),
-
233  ddcHelper::get<RDimY>(advection_field));
-
234 
-
235  m_evaluator(
-
236  ddcHelper::get<RDimX>(advection_field_evaluated).span_view(),
-
237  feet_coords.span_cview(),
-
238  ddcHelper::get<RDimX>(advection_field_coefs));
-
239  m_evaluator(
-
240  ddcHelper::get<RDimY>(advection_field_evaluated).span_view(),
-
241  feet_coords.span_cview(),
-
242  ddcHelper::get<RDimY>(advection_field_coefs));
-
243 
+
224 
+
225  // --- we evaluate the advection field A^n at the characteristic feet X^P
+
226  VectorDFieldRP<RDimX, RDimY> advection_field_evaluated(grid);
+
227  VectorSpline2D<RDimX, RDimY> advection_field_coefs(m_builder.spline_domain());
+
228 
+
229  m_builder(
+
230  ddcHelper::get<RDimX>(advection_field_coefs),
+
231  ddcHelper::get<RDimX>(advection_field.span_cview()));
+
232  m_builder(
+
233  ddcHelper::get<RDimY>(advection_field_coefs),
+
234  ddcHelper::get<RDimY>(advection_field.span_cview()));
+
235 
+
236  m_evaluator(
+
237  ddcHelper::get<RDimX>(advection_field_evaluated).span_view(),
+
238  feet_coords.span_cview(),
+
239  ddcHelper::get<RDimX>(advection_field_coefs.span_cview()));
+
240  m_evaluator(
+
241  ddcHelper::get<RDimY>(advection_field_evaluated).span_view(),
+
242  feet_coords.span_cview(),
+
243  ddcHelper::get<RDimY>(advection_field_coefs.span_cview()));
244 
-
245  // STEP 6: From rho^n and (A^n(X^P) + A^P(X^n))/2, we compute rho^{n+1}: Vlasov equation
-
246  ddc::for_each(grid, [&](IndexRP const irp) {
-
247  ddcHelper::get<RDimX>(advection_field)(irp)
-
248  = (ddcHelper::get<RDimX>(advection_field_evaluated)(irp)
-
249  + ddcHelper::get<RDimX>(advection_field_predicted)(irp))
-
250  / 2.;
-
251  ddcHelper::get<RDimY>(advection_field)(irp)
-
252  = (ddcHelper::get<RDimY>(advection_field_evaluated)(irp)
-
253  + ddcHelper::get<RDimY>(advection_field_predicted)(irp))
-
254  / 2.;
-
255  });
-
256 
+
245 
+
246  // STEP 6: From rho^n and (A^n(X^P) + A^P(X^n))/2, we compute rho^{n+1}: Vlasov equation
+
247  ddc::for_each(grid, [&](IndexRP const irp) {
+
248  ddcHelper::get<RDimX>(advection_field)(irp)
+
249  = (ddcHelper::get<RDimX>(advection_field_evaluated)(irp)
+
250  + ddcHelper::get<RDimX>(advection_field_predicted)(irp))
+
251  / 2.;
+
252  ddcHelper::get<RDimY>(advection_field)(irp)
+
253  = (ddcHelper::get<RDimY>(advection_field_evaluated)(irp)
+
254  + ddcHelper::get<RDimY>(advection_field_predicted)(irp))
+
255  / 2.;
+
256  });
257 
-
258  m_advection_solver(allfdistribu, advection_field.span_view(), dt);
-
259  }
-
260 
-
261  // STEP 1: From rho^n, we compute phi^n: Poisson equation
-
262  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
263  m_builder(allfdistribu_coef, allfdistribu);
-
264  PoissonRHSFunction const charge_density_coord(allfdistribu_coef, m_evaluator);
-
265  m_poisson_solver(charge_density_coord, coords, electrical_potential);
-
266 
-
267  ddc::PdiEvent("last_iteration")
-
268  .with("iter", steps)
-
269  .and_with("time", steps * dt)
-
270  .and_with("density", allfdistribu)
-
271  .and_with("electrical_potential", electrical_potential);
-
272 
+
258 
+
259  m_advection_solver(allfdistribu, advection_field.span_view(), dt);
+
260  }
+
261 
+
262  // STEP 1: From rho^n, we compute phi^n: Poisson equation
+
263  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
264  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
265  PoissonRHSFunction const charge_density_coord(allfdistribu_coef.span_cview(), m_evaluator);
+
266  m_poisson_solver(charge_density_coord, coords, electrical_potential);
+
267 
+
268  ddc::PdiEvent("last_iteration")
+
269  .with("iter", steps)
+
270  .and_with("time", steps * dt)
+
271  .and_with("density", allfdistribu)
+
272  .and_with("electrical_potential", electrical_potential);
273 
-
274  end_time = std::chrono::system_clock::now();
-
275  display_time_difference("Iterations time: ", start_time, end_time);
-
276 
+
274 
+
275  end_time = std::chrono::system_clock::now();
+
276  display_time_difference("Iterations time: ", start_time, end_time);
277 
-
278  return allfdistribu;
-
279  }
-
280 };
+
278 
+
279  return allfdistribu;
+
280  }
+
281 };
Define a domain for the advection.
Definition: advection_domain.hpp:41
Solve the Poisson equation and return the electric field for the coupled Vlasov equation.
Definition: advection_field_rp.hpp:90
Define an advection operator on 2D domain.
Definition: bsl_advection_rp.hpp:61
-
A second order explicit predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr_second_order_explicit.hpp:69
-
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr_second_order_explicit.hpp:140
-
BslExplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)
Instantiate a BslExplicitPredCorrRP.
Definition: bsl_predcorr_second_order_explicit.hpp:114
+
A second order explicit predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr_second_order_explicit.hpp:67
+
BslExplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)
Instantiate a BslExplicitPredCorrRP.
Definition: bsl_predcorr_second_order_explicit.hpp:112
+
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr_second_order_explicit.hpp:138
A class which provides an implementation of an explicit Euler method.
Definition: euler.hpp:28
Base class for the time solvers.
Definition: itimesolver.hpp:11
void display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) const
Displays the time difference between two given times and a title.
Definition: itimesolver.hpp:45
Type of right-hand side (rhs) function of the Poisson equation.
Definition: poisson_rhs_function.hpp:16
-
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:141
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:37
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
+
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:136
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
+
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:36
Define a base class for all the time integration methods used for the advection.
Definition: spline_foot_finder.hpp:19
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:153
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
+
view_type span_cview() const
Get a constant reference to this vector field.
Definition: vector_field.hpp:143
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
diff --git a/bsl__predcorr__second__order__implicit_8hpp_source.html b/bsl__predcorr__second__order__implicit_8hpp_source.html index 2b5bb7157..d30bae7f7 100644 --- a/bsl__predcorr__second__order__implicit_8hpp_source.html +++ b/bsl__predcorr__second__order__implicit_8hpp_source.html @@ -116,108 +116,108 @@
11 
12 #include <geometry.hpp>
13 
-
14 #include "sll/spline_evaluator_2d.hpp"
-
15 
-
16 #include "advection_domain.hpp"
-
17 #include "advection_field_rp.hpp"
-
18 #include "bsl_advection_rp.hpp"
-
19 #include "geometry.hpp"
-
20 #include "itimesolver.hpp"
-
21 #include "poisson_rhs_function.hpp"
-
22 #include "polarpoissonsolver.hpp"
-
23 #include "spline_foot_finder.hpp"
-
24 #include "spline_interpolator_2d_rp.hpp"
+
14 #include "advection_domain.hpp"
+
15 #include "advection_field_rp.hpp"
+
16 #include "bsl_advection_rp.hpp"
+
17 #include "geometry.hpp"
+
18 #include "itimesolver.hpp"
+
19 #include "poisson_rhs_function.hpp"
+
20 #include "polarpoissonsolver.hpp"
+
21 #include "spline_foot_finder.hpp"
+
22 #include "spline_interpolator_2d_rp.hpp"
+
23 
+
24 
25 
-
26 
-
27 
-
68 template <class Mapping, class AdvectionDomain>
-
69 class BslImplicitPredCorrRP : public ITimeSolverRP
-
70 {
-
71 private:
-
72  using EulerMethod = Euler<FieldRP<CoordRP>, VectorDFieldRP<RDimX, RDimY>>;
+
66 template <class Mapping, class AdvectionDomain>
+
67 class BslImplicitPredCorrRP : public ITimeSolverRP
+
68 {
+
69 private:
+
70  using EulerMethod = Euler<FieldRP<CoordRP>, VectorDFieldRP<RDimX, RDimY>>;
+
71 
+
72  Mapping const& m_mapping;
73 
-
74  Mapping const& m_mapping;
-
75 
-
76  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
-
77  m_advection_solver;
-
78 
-
79  EulerMethod const m_euler;
-
80  SplineFootFinder<EulerMethod, AdvectionDomain> const m_foot_finder;
+
74  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
+
75  m_advection_solver;
+
76 
+
77  EulerMethod const m_euler;
+
78  SplineFootFinder<EulerMethod, AdvectionDomain> const m_foot_finder;
+
79 
+
80  PolarSplineFEMPoissonSolver const& m_poisson_solver;
81 
-
82  PolarSplineFEMPoissonSolver const& m_poisson_solver;
-
83 
-
84  SplineRPBuilder const& m_builder;
-
85  SplineRPEvaluator const& m_evaluator;
+
82  SplineRPBuilder const& m_builder;
+
83  SplineRPEvaluatorConstBound const& m_evaluator;
+
84 
+
85 
86 
-
87 
-
88 
-
89 public:
-
114  BslImplicitPredCorrRP(
-
115  AdvectionDomain const& advection_domain,
-
116  Mapping const& mapping,
-
117  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
-
118  advection_solver,
-
119  IDomainRP const& grid,
-
120  SplineRPBuilder const& builder,
-
121  SplineRPEvaluator const& rhs_evaluator,
-
122  PolarSplineFEMPoissonSolver const& poisson_solver,
-
123  SplineRPEvaluator const& advection_evaluator)
-
124  : m_mapping(mapping)
-
125  , m_advection_solver(advection_solver)
-
126  , m_euler(grid)
-
127  , m_foot_finder(m_euler, advection_domain, builder, advection_evaluator)
-
128  , m_poisson_solver(poisson_solver)
-
129  , m_builder(builder)
-
130  , m_evaluator(advection_evaluator)
-
131 
-
132  {
-
133  }
-
134 
+
87 public:
+
112  BslImplicitPredCorrRP(
+
113  AdvectionDomain const& advection_domain,
+
114  Mapping const& mapping,
+
115  BslAdvectionRP<SplineFootFinder<EulerMethod, AdvectionDomain>, Mapping> const&
+
116  advection_solver,
+
117  IDomainRP const& grid,
+
118  SplineRPBuilder const& builder,
+
119  SplineRPEvaluatorNullBound const& rhs_evaluator,
+
120  PolarSplineFEMPoissonSolver const& poisson_solver,
+
121  SplineRPEvaluatorConstBound const& advection_evaluator)
+
122  : m_mapping(mapping)
+
123  , m_advection_solver(advection_solver)
+
124  , m_euler(grid)
+
125  , m_foot_finder(m_euler, advection_domain, builder, advection_evaluator)
+
126  , m_poisson_solver(poisson_solver)
+
127  , m_builder(builder)
+
128  , m_evaluator(advection_evaluator)
+
129 
+
130  {
+
131  }
+
132 
+
133 
+
134  ~BslImplicitPredCorrRP() {};
135 
-
136  ~BslImplicitPredCorrRP() {};
+
136 
137 
-
138 
-
139 
-
140  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
-
141  {
-
142  std::chrono::time_point<std::chrono::system_clock> start_time
-
143  = std::chrono::system_clock::now();
-
144  std::chrono::time_point<std::chrono::system_clock> end_time;
-
145 
-
146  // Grid. ------------------------------------------------------------------------------------------
-
147  IDomainRP const grid(allfdistribu.domain<IDimR, IDimP>());
-
148 
-
149  FieldRP<CoordRP> coords(grid);
-
150  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
-
151 
-
152  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
-
153  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
-
154  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
-
155 
-
156  // --- Electrostatic potential (phi). -------------------------------------------------------------
-
157  DFieldRP electrical_potential(grid);
-
158 
-
159  SplinePolar electrostatic_potential_coef(
-
160  PolarBSplinesRP::singular_domain(),
-
161  BSDomainRP(radial_bsplines, polar_domain));
-
162 
-
163  PolarSplineEvaluator<PolarBSplinesRP> polar_spline_evaluator(
-
164  g_polar_null_boundary_2d<PolarBSplinesRP>);
-
165 
-
166  // --- For the computation of advection field from the electrostatic potential (phi): -------------
-
167  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
-
168  VectorDFieldRP<RDimX, RDimY> advection_field(grid);
-
169 
-
170  AdvectionFieldFinder advection_field_computer(m_mapping);
+
138  DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
+
139  {
+
140  std::chrono::time_point<std::chrono::system_clock> start_time
+
141  = std::chrono::system_clock::now();
+
142  std::chrono::time_point<std::chrono::system_clock> end_time;
+
143 
+
144  // Grid. ------------------------------------------------------------------------------------------
+
145  IDomainRP const grid(allfdistribu.domain<IDimR, IDimP>());
+
146 
+
147  FieldRP<CoordRP> coords(grid);
+
148  ddc::for_each(grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
+
149 
+
150  BSDomainR radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
+
151  ddc::DiscreteVector<BSplinesR> {PolarBSplinesRP::continuity + 1}));
+
152  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
+
153 
+
154  // --- Electrostatic potential (phi). -------------------------------------------------------------
+
155  DFieldRP electrical_potential(grid);
+
156 
+
157  SplinePolar electrostatic_potential_coef(
+
158  PolarBSplinesRP::singular_domain(),
+
159  BSDomainRP(radial_bsplines, polar_domain));
+
160 
+
161  ddc::NullExtrapolationRule extrapolation_rule;
+
162  PolarSplineEvaluator<PolarBSplinesRP, ddc::NullExtrapolationRule> polar_spline_evaluator(
+
163  extrapolation_rule);
+
164 
+
165  // --- For the computation of advection field from the electrostatic potential (phi): -------------
+
166  VectorDFieldRP<RDimX, RDimY> electric_field(grid);
+
167  VectorDFieldRP<RDimX, RDimY> advection_field(grid);
+
168 
+
169  AdvectionFieldFinder advection_field_computer(m_mapping);
+
170 
171 
172 
-
173 
-
174  start_time = std::chrono::system_clock::now();
-
175  for (int iter(0); iter < steps; ++iter) {
-
176  // STEP 1: From rho^n, we compute phi^n: Poisson equation
-
177  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
178  m_builder(allfdistribu_coef, allfdistribu);
-
179  PoissonRHSFunction const charge_density_coord_1(allfdistribu_coef, m_evaluator);
+
173  start_time = std::chrono::system_clock::now();
+
174  for (int iter(0); iter < steps; ++iter) {
+
175  // STEP 1: From rho^n, we compute phi^n: Poisson equation
+
176  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
177  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
178  PoissonRHSFunction const
+
179  charge_density_coord_1(allfdistribu_coef.span_cview(), m_evaluator);
180  m_poisson_solver(charge_density_coord_1, electrostatic_potential_coef);
181 
182  polar_spline_evaluator(
@@ -240,13 +240,13 @@
199  VectorDFieldRP<RDimX, RDimY> advection_field_k(grid);
200  VectorDFieldRP<RDimX, RDimY> advection_field_k_tot(grid);
201 
-
202  VectorSpline2D<RDimX, RDimY> advection_field_coefs_k(m_builder.spline_domain());
+
202  VectorSpline2D<RDimX, RDimY> advection_field_coefs_k(m_builder.spline_domain());
203  m_builder(
204  ddcHelper::get<RDimX>(advection_field_coefs_k),
-
205  ddcHelper::get<RDimX>(advection_field));
+
205  ddcHelper::get<RDimX>(advection_field.span_cview()));
206  m_builder(
207  ddcHelper::get<RDimY>(advection_field_coefs_k),
-
208  ddcHelper::get<RDimY>(advection_field));
+
208  ddcHelper::get<RDimY>(advection_field.span_cview()));
209 
210  FieldRP<CoordRP> feet_coords(grid);
211  FieldRP<CoordRP> feet_coords_tmp(grid);
@@ -264,11 +264,11 @@
223  m_evaluator(
224  ddcHelper::get<RDimX>(advection_field_k).span_view(),
225  feet_coords.span_cview(),
-
226  ddcHelper::get<RDimX>(advection_field_coefs_k));
+
226  ddcHelper::get<RDimX>(advection_field_coefs_k.span_cview()));
227  m_evaluator(
228  ddcHelper::get<RDimY>(advection_field_k).span_view(),
229  feet_coords.span_cview(),
-
230  ddcHelper::get<RDimY>(advection_field_coefs_k));
+
230  ddcHelper::get<RDimY>(advection_field_coefs_k.span_cview()));
231 
232  // Compute the new advection field (E^n(X^n) + E^n(X^P)) /2:
233  ddc::for_each(grid, [&](IndexRP const irp) {
@@ -300,175 +300,173 @@
259 
260 
261  // STEP 4: From rho^P, we compute phi^P: Poisson equation
-
262  m_builder(allfdistribu_coef, allfdistribu);
-
263  PoissonRHSFunction const charge_density_coord_4(allfdistribu_coef, m_evaluator);
-
264  m_poisson_solver(charge_density_coord_4, electrostatic_potential_coef);
-
265 
-
266  // STEP 5: From phi^P, we compute A^P:
-
267  advection_field_computer(electrostatic_potential_coef, advection_field);
-
268 
+
262  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
263  PoissonRHSFunction const
+
264  charge_density_coord_4(allfdistribu_coef.span_cview(), m_evaluator);
+
265  m_poisson_solver(charge_density_coord_4, electrostatic_potential_coef);
+
266 
+
267  // STEP 5: From phi^P, we compute A^P:
+
268  advection_field_computer(electrostatic_potential_coef, advection_field);
269 
-
270  // STEP 6: From rho^n and A^P, we compute rho^{n+1}: Vlasov equation
-
271  m_builder(
-
272  ddcHelper::get<RDimX>(advection_field_coefs_k),
-
273  ddcHelper::get<RDimX>(advection_field));
-
274  m_builder(
-
275  ddcHelper::get<RDimY>(advection_field_coefs_k),
-
276  ddcHelper::get<RDimY>(advection_field));
-
277 
+
270 
+
271  // STEP 6: From rho^n and A^P, we compute rho^{n+1}: Vlasov equation
+
272  m_builder(
+
273  ddcHelper::get<RDimX>(advection_field_coefs_k),
+
274  ddcHelper::get<RDimX>(advection_field.span_cview()));
+
275  m_builder(
+
276  ddcHelper::get<RDimY>(advection_field_coefs_k),
+
277  ddcHelper::get<RDimY>(advection_field.span_cview()));
278 
-
279  // initialisation:
-
280  ddc::for_each(grid, [&](IndexRP const irp) {
-
281  feet_coords(irp) = CoordRP(ddc::coordinate(irp));
-
282  });
-
283 
-
284  implicit_loop(advection_field, advection_field_coefs_k, feet_coords, dt / 2., tau);
-
285 
-
286  // Evaluate A^P at X^P:
-
287  m_evaluator(
-
288  ddcHelper::get<RDimX>(advection_field_k).span_view(),
-
289  feet_coords.span_cview(),
-
290  ddcHelper::get<RDimX>(advection_field_coefs_k));
-
291  m_evaluator(
-
292  ddcHelper::get<RDimY>(advection_field_k).span_view(),
-
293  feet_coords.span_cview(),
-
294  ddcHelper::get<RDimY>(advection_field_coefs_k));
-
295 
-
296  // Computed advection field (A^P(X^n) + A^P(X^P)) /2:
-
297  ddc::for_each(grid, [&](IndexRP const irp) {
-
298  ddcHelper::get<RDimX>(advection_field_k_tot)(irp)
-
299  = (ddcHelper::get<RDimX>(advection_field)(irp)
-
300  + ddcHelper::get<RDimX>(advection_field_k)(irp))
-
301  / 2.;
-
302  ddcHelper::get<RDimY>(advection_field_k_tot)(irp)
-
303  = (ddcHelper::get<RDimY>(advection_field)(irp)
-
304  + ddcHelper::get<RDimY>(advection_field_k)(irp))
-
305  / 2.;
-
306  });
-
307  // X^k = X^n - dt * ( A^P(X^n) + A^P(X^P) )/2
-
308  m_advection_solver(allfdistribu, advection_field_k_tot.span_cview(), dt);
-
309  }
-
310 
-
311  // STEP 1: From rho^n, we compute phi^n: Poisson equation
-
312  Spline2D allfdistribu_coef(m_builder.spline_domain());
-
313  m_builder(allfdistribu_coef, allfdistribu);
-
314  PoissonRHSFunction const charge_density_coord(allfdistribu_coef, m_evaluator);
-
315  m_poisson_solver(charge_density_coord, coords, electrical_potential);
-
316 
-
317  ddc::PdiEvent("last_iteration")
-
318  .with("iter", steps)
-
319  .and_with("time", steps * dt)
-
320  .and_with("density", allfdistribu)
-
321  .and_with("electrical_potential", electrical_potential);
-
322 
-
323  end_time = std::chrono::system_clock::now();
-
324  display_time_difference("Iterations time: ", start_time, end_time);
-
325 
+
279 
+
280  // initialisation:
+
281  ddc::for_each(grid, [&](IndexRP const irp) {
+
282  feet_coords(irp) = CoordRP(ddc::coordinate(irp));
+
283  });
+
284 
+
285  implicit_loop(advection_field, advection_field_coefs_k, feet_coords, dt / 2., tau);
+
286 
+
287  // Evaluate A^P at X^P:
+
288  m_evaluator(
+
289  ddcHelper::get<RDimX>(advection_field_k).span_view(),
+
290  feet_coords.span_cview(),
+
291  ddcHelper::get<RDimX>(advection_field_coefs_k.span_cview()));
+
292  m_evaluator(
+
293  ddcHelper::get<RDimY>(advection_field_k).span_view(),
+
294  feet_coords.span_cview(),
+
295  ddcHelper::get<RDimY>(advection_field_coefs_k.span_cview()));
+
296 
+
297  // Computed advection field (A^P(X^n) + A^P(X^P)) /2:
+
298  ddc::for_each(grid, [&](IndexRP const irp) {
+
299  ddcHelper::get<RDimX>(advection_field_k_tot)(irp)
+
300  = (ddcHelper::get<RDimX>(advection_field)(irp)
+
301  + ddcHelper::get<RDimX>(advection_field_k)(irp))
+
302  / 2.;
+
303  ddcHelper::get<RDimY>(advection_field_k_tot)(irp)
+
304  = (ddcHelper::get<RDimY>(advection_field)(irp)
+
305  + ddcHelper::get<RDimY>(advection_field_k)(irp))
+
306  / 2.;
+
307  });
+
308  // X^k = X^n - dt * ( A^P(X^n) + A^P(X^P) )/2
+
309  m_advection_solver(allfdistribu, advection_field_k_tot.span_cview(), dt);
+
310  }
+
311 
+
312  // STEP 1: From rho^n, we compute phi^n: Poisson equation
+
313  Spline2D allfdistribu_coef(m_builder.spline_domain());
+
314  m_builder(allfdistribu_coef.span_view(), allfdistribu.span_cview());
+
315  PoissonRHSFunction const charge_density_coord(allfdistribu_coef.span_cview(), m_evaluator);
+
316  m_poisson_solver(charge_density_coord, coords, electrical_potential);
+
317 
+
318  ddc::PdiEvent("last_iteration")
+
319  .with("iter", steps)
+
320  .and_with("time", steps * dt)
+
321  .and_with("density", allfdistribu)
+
322  .and_with("electrical_potential", electrical_potential);
+
323 
+
324  end_time = std::chrono::system_clock::now();
+
325  display_time_difference("Iterations time: ", start_time, end_time);
326 
327 
-
328  return allfdistribu;
-
329  }
-
330 
+
328 
+
329  return allfdistribu;
+
330  }
331 
332 
-
333 private:
-
334  double compute_square_polar_distance(CoordRP const& coord1, CoordRP const& coord2) const
-
335  {
-
336  CoordXY coord_xy1(m_mapping(coord1));
-
337  CoordXY coord_xy2(m_mapping(coord2));
-
338 
-
339  const double x1 = ddc::select<RDimX>(coord_xy1);
-
340  const double y1 = ddc::select<RDimY>(coord_xy1);
-
341  const double x2 = ddc::select<RDimX>(coord_xy2);
-
342  const double y2 = ddc::select<RDimY>(coord_xy2);
-
343 
-
344  return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
-
345  }
-
346 
+
333 
+
334 private:
+
335  double compute_square_polar_distance(CoordRP const& coord1, CoordRP const& coord2) const
+
336  {
+
337  CoordXY coord_xy1(m_mapping(coord1));
+
338  CoordXY coord_xy2(m_mapping(coord2));
+
339 
+
340  const double x1 = ddc::select<RDimX>(coord_xy1);
+
341  const double y1 = ddc::select<RDimY>(coord_xy1);
+
342  const double x2 = ddc::select<RDimX>(coord_xy2);
+
343  const double y2 = ddc::select<RDimY>(coord_xy2);
+
344 
+
345  return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
+
346  }
347 
-
348  void implicit_loop(
-
349  VectorDSpanRP<RDimX, RDimY> advection_field,
-
350  VectorSpline2DView<RDimX, RDimY> advection_field_coefs_k,
-
351  SpanRP<CoordRP> feet_coords,
-
352  double const dt,
-
353  double const tau) const
-
354  {
-
355  IDomainRP const grid = advection_field.domain();
-
356  VectorDFieldRP<RDimX, RDimY> advection_field_k(grid);
-
357  VectorDFieldRP<RDimX, RDimY> advection_field_k_tot(grid);
-
358  FieldRP<CoordRP> feet_coords_tmp(grid);
-
359 
-
360  double square_difference_feet = 0.;
-
361  int count = 0;
-
362  const int max_count = 50;
-
363  do {
-
364  count++;
-
365 
-
366  // Evaluate A at X^{k-1}:
-
367  m_evaluator(
-
368  ddcHelper::get<RDimX>(advection_field_k).span_view(),
-
369  feet_coords.span_cview(),
-
370  ddcHelper::get<RDimX>(advection_field_coefs_k));
-
371  m_evaluator(
-
372  ddcHelper::get<RDimY>(advection_field_k).span_view(),
-
373  feet_coords.span_cview(),
-
374  ddcHelper::get<RDimY>(advection_field_coefs_k));
-
375 
-
376  // Compute the new advection field A(X^n) + A(X^{k-1}):
-
377  ddc::for_each(grid, [&](IndexRP const irp) {
-
378  ddcHelper::get<RDimX>(advection_field_k_tot)(irp)
-
379  = ddcHelper::get<RDimX>(advection_field)(irp)
-
380  + ddcHelper::get<RDimX>(advection_field_k)(irp);
-
381  ddcHelper::get<RDimY>(advection_field_k_tot)(irp)
-
382  = ddcHelper::get<RDimY>(advection_field)(irp)
-
383  + ddcHelper::get<RDimY>(advection_field_k)(irp);
-
384  });
-
385 
-
386  // X^{k-1} = X^k:
-
387  ddc::parallel_deepcopy(feet_coords_tmp, feet_coords);
-
388 
-
389  // X^k = X^n - dt* X^k:
-
390  ddc::for_each(grid, [&](IndexRP const irp) {
-
391  feet_coords(irp) = CoordRP(ddc::coordinate(irp));
-
392  });
-
393  m_foot_finder(feet_coords, advection_field_k_tot.span_cview(), dt);
-
394 
+
348 
+
349  void implicit_loop(
+
350  VectorDSpanRP<RDimX, RDimY> advection_field,
+
351  VectorSpline2DView<RDimX, RDimY> advection_field_coefs_k,
+
352  SpanRP<CoordRP> feet_coords,
+
353  double const dt,
+
354  double const tau) const
+
355  {
+
356  IDomainRP const grid = advection_field.domain();
+
357  VectorDFieldRP<RDimX, RDimY> advection_field_k(grid);
+
358  VectorDFieldRP<RDimX, RDimY> advection_field_k_tot(grid);
+
359  FieldRP<CoordRP> feet_coords_tmp(grid);
+
360 
+
361  double square_difference_feet = 0.;
+
362  int count = 0;
+
363  const int max_count = 50;
+
364  do {
+
365  count++;
+
366 
+
367  // Evaluate A at X^{k-1}:
+
368  m_evaluator(
+
369  ddcHelper::get<RDimX>(advection_field_k).span_view(),
+
370  feet_coords.span_cview(),
+
371  ddcHelper::get<RDimX>(advection_field_coefs_k));
+
372  m_evaluator(
+
373  ddcHelper::get<RDimY>(advection_field_k).span_view(),
+
374  feet_coords.span_cview(),
+
375  ddcHelper::get<RDimY>(advection_field_coefs_k));
+
376 
+
377  // Compute the new advection field A(X^n) + A(X^{k-1}):
+
378  ddc::for_each(grid, [&](IndexRP const irp) {
+
379  ddcHelper::get<RDimX>(advection_field_k_tot)(irp)
+
380  = ddcHelper::get<RDimX>(advection_field)(irp)
+
381  + ddcHelper::get<RDimX>(advection_field_k)(irp);
+
382  ddcHelper::get<RDimY>(advection_field_k_tot)(irp)
+
383  = ddcHelper::get<RDimY>(advection_field)(irp)
+
384  + ddcHelper::get<RDimY>(advection_field_k)(irp);
+
385  });
+
386 
+
387  // X^{k-1} = X^k:
+
388  ddc::parallel_deepcopy(feet_coords_tmp, feet_coords);
+
389 
+
390  // X^k = X^n - dt* X^k:
+
391  ddc::for_each(grid, [&](IndexRP const irp) {
+
392  feet_coords(irp) = CoordRP(ddc::coordinate(irp));
+
393  });
+
394  m_foot_finder(feet_coords, advection_field_k_tot.span_cview(), dt);
395 
-
396  // Convergence test:
-
397  square_difference_feet = 0.;
-
398  ddc::for_each(grid, [&](IndexRP const irp) {
-
399  double sqr_diff_feet
-
400  = compute_square_polar_distance(feet_coords(irp), feet_coords_tmp(irp));
-
401  square_difference_feet = square_difference_feet > sqr_diff_feet
-
402  ? square_difference_feet
-
403  : sqr_diff_feet;
-
404  });
-
405 
-
406  } while ((square_difference_feet > tau * tau) and (count < max_count));
-
407  }
-
408 };
+
396 
+
397  // Convergence test:
+
398  square_difference_feet = 0.;
+
399  ddc::for_each(grid, [&](IndexRP const irp) {
+
400  double sqr_diff_feet
+
401  = compute_square_polar_distance(feet_coords(irp), feet_coords_tmp(irp));
+
402  square_difference_feet = square_difference_feet > sqr_diff_feet
+
403  ? square_difference_feet
+
404  : sqr_diff_feet;
+
405  });
+
406 
+
407  } while ((square_difference_feet > tau * tau) and (count < max_count));
+
408  }
+
409 };
Define a domain for the advection.
Definition: advection_domain.hpp:41
Solve the Poisson equation and return the electric field for the coupled Vlasov equation.
Definition: advection_field_rp.hpp:90
Define an advection operator on 2D domain.
Definition: bsl_advection_rp.hpp:61
-
A second order implicit predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr_second_order_implicit.hpp:70
-
BslImplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)
Instantiate a BslImplicitPredCorrRP.
Definition: bsl_predcorr_second_order_implicit.hpp:114
-
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr_second_order_implicit.hpp:140
+
A second order implicit predictor-corrector for the Vlasov-Poisson equations.
Definition: bsl_predcorr_second_order_implicit.hpp:68
+
DSpanRP operator()(DSpanRP allfdistribu, double const dt, int const steps) const
Solves on the equations system.
Definition: bsl_predcorr_second_order_implicit.hpp:138
+
BslImplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)
Instantiate a BslImplicitPredCorrRP.
Definition: bsl_predcorr_second_order_implicit.hpp:112
A class which provides an implementation of an explicit Euler method.
Definition: euler.hpp:28
Base class for the time solvers.
Definition: itimesolver.hpp:11
void display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) const
Displays the time difference between two given times and a title.
Definition: itimesolver.hpp:45
Type of right-hand side (rhs) function of the Poisson equation.
Definition: poisson_rhs_function.hpp:16
-
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:141
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:37
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
+
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:136
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
+
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:36
Define a base class for all the time integration methods used for the advection.
Definition: spline_foot_finder.hpp:19
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
view_type span_cview() const
Get a constant reference to this vector field.
Definition: vector_field.hpp:143
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
diff --git a/bspline_8hpp_source.html b/bspline_8hpp_source.html deleted file mode 100644 index c50b3eb6c..000000000 --- a/bspline_8hpp_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bspline.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bspline.hpp
-
-
-
1 #pragma once
-
2 
-
3 template <class Tag>
-
4 struct BSpline
-
5 {
-
6 };
-
Definition: bspline.hpp:5
-
-
- - - - diff --git a/bsplines_8hpp_source.html b/bsplines_8hpp_source.html deleted file mode 100644 index fa5b683f6..000000000 --- a/bsplines_8hpp_source.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/bsplines.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bsplines.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include "sll/view.hpp"
-
4 
-
5 namespace deprecated {
-
6 
-
7 class BSplines
-
8 {
-
9 protected:
-
10  int m_degree;
-
11  bool m_radial;
-
12  int m_nbasis;
-
13 
-
15  int m_ncells;
-
16  bool m_periodic;
-
17  double m_xmin;
-
18  double m_xmax;
-
19  double m_length;
-
20 
-
21 public:
-
22  virtual ~BSplines() = default;
-
23 
-
24  constexpr inline int degree() const
-
25  {
-
26  return m_degree;
-
27  }
-
28 
-
29  constexpr inline bool radial() const
-
30  {
-
31  return m_radial;
-
32  }
-
33 
-
34  constexpr inline int nbasis() const
-
35  {
-
36  return m_nbasis;
-
37  }
-
38 
-
39  constexpr inline int ncells() const
-
40  {
-
41  return m_ncells;
-
42  }
-
43 
-
44  constexpr inline bool is_periodic() const
-
45  {
-
46  return m_periodic;
-
47  }
-
48 
-
49  constexpr inline double xmin() const
-
50  {
-
51  return m_xmin;
-
52  }
-
53 
-
54  constexpr inline double xmax() const
-
55  {
-
56  return m_xmax;
-
57  }
-
58 
-
59  constexpr inline double length() const
-
60  {
-
61  return m_length;
-
62  }
-
63 
-
64  virtual void eval_basis(double x, DSpan1D& values, int& jmin) const = 0;
-
65 
-
66  virtual void eval_deriv(double x, DSpan1D& derivs, int& jmin) const = 0;
-
67 
-
68  virtual void eval_basis_and_n_derivs(double x, int n, DSpan2D& derivs, int& jmin) const = 0;
-
69 
-
70  virtual void integrals(DSpan1D& int_vals) const = 0;
-
71 
-
72  virtual double get_knot(int idx) const = 0;
-
73 
-
74  virtual bool is_uniform() const = 0;
-
75 
-
76 protected:
-
77  BSplines(
-
78  int degree,
-
79  bool periodic,
-
80  int ncells,
-
81  int nbasis,
-
82  double xmin,
-
83  double xmax,
-
84  bool radial);
-
85 };
-
86 
-
87 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
int m_ncells
TODO: take all that from a Mesh object.
Definition: bsplines.hpp:15
-
-
- - - - diff --git a/bsplines__non__uniform_8hpp_source.html b/bsplines__non__uniform_8hpp_source.html deleted file mode 100644 index bd82b1546..000000000 --- a/bsplines__non__uniform_8hpp_source.html +++ /dev/null @@ -1,627 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bsplines_non_uniform.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bsplines_non_uniform.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 #include <cassert>
-
5 #include <memory>
-
6 #include <vector>
-
7 
-
8 #include <ddc/ddc.hpp>
-
9 
-
10 #include "sll/bspline.hpp"
-
11 #include "sll/view.hpp"
-
12 
-
14 template <class Tag, std::size_t D>
- -
16 {
-
17  static_assert(D > 0, "Parameter `D` must be positive");
-
18 
-
19 public:
-
20  // From nvcc: 'A type that is defined inside a class and has private or protected access cannot be used
-
21  // in the template argument type of a variable template instantiation'
-
22  template <class T>
- -
24 
- -
28 
-
29  using mesh_type = ddc::NonUniformPointSampling<KnotDim>;
-
30 
-
31  static inline ddc::Coordinate<KnotDim> knot_from_coord(ddc::Coordinate<Tag> const& coord)
-
32  {
-
33  return ddc::Coordinate<KnotDim>(ddc::get<Tag>(coord));
-
34  }
-
35  static inline ddc::Coordinate<Tag> coord_from_knot(ddc::Coordinate<KnotDim> const& coord)
-
36  {
-
37  return ddc::Coordinate<Tag>(ddc::get<KnotDim>(coord));
-
38  }
-
39 
-
40 public:
-
41  using tag_type = Tag;
-
42 
-
43  using continuous_dimension_type = BSpline<Tag>;
-
44 
-
45 
-
46  using discrete_dimension_type = NonUniformBSplines;
-
47 
-
48  using discrete_element_type = ddc::DiscreteElement<NonUniformBSplines>;
-
49 
-
50  using discrete_domain_type = ddc::DiscreteDomain<NonUniformBSplines>;
-
51 
-
52  using discrete_vector_type = ddc::DiscreteVector<NonUniformBSplines>;
-
53 
-
54 public:
-
55  static constexpr std::size_t rank()
-
56  {
-
57  return 1;
-
58  }
-
59 
-
60  static constexpr std::size_t degree() noexcept
-
61  {
-
62  return D;
-
63  }
-
64 
-
65  static constexpr bool is_periodic() noexcept
-
66  {
-
67  return Tag::PERIODIC;
-
68  }
-
69 
-
70  static constexpr bool is_radial() noexcept
-
71  {
-
72  return false;
-
73  }
-
74 
-
75  static constexpr bool is_uniform() noexcept
-
76  {
-
77  return false;
-
78  }
-
79 
-
80  template <class MemorySpace>
-
81  class Impl
-
82  {
-
83  template <class OMemorySpace>
-
84  friend class Impl;
-
85 
-
86  private:
-
87  ddc::DiscreteDomain<mesh_type> m_domain;
-
88  const int m_nknots;
-
89 
-
90  public:
- -
92 
-
93  Impl() = default;
-
94 
-
95  template <class OriginMemorySpace>
-
96  explicit Impl(Impl<OriginMemorySpace> const& impl)
-
97  : m_domain(impl.m_domain)
-
98  , m_nknots(impl.m_nknots)
-
99  {
-
100  }
-
101 
-
103  explicit Impl(std::initializer_list<ddc::Coordinate<Tag>> breaks)
-
104  : Impl(breaks.begin(), breaks.end())
-
105  {
-
106  }
-
107 
-
109  explicit Impl(std::vector<ddc::Coordinate<Tag>> const& breaks)
-
110  : Impl(breaks.begin(), breaks.end())
-
111  {
-
112  }
-
113 
-
115  template <class RandomIt>
-
116  Impl(RandomIt breaks_begin, RandomIt breaks_end);
-
117 
-
118  Impl(Impl const& x) = default;
-
119 
-
120  Impl(Impl&& x) = default;
-
121 
-
122  ~Impl() = default;
-
123 
-
124  Impl& operator=(Impl const& x) = default;
-
125 
-
126  Impl& operator=(Impl&& x) = default;
-
127 
-
128  discrete_element_type eval_basis(DSpan1D values, ddc::Coordinate<Tag> const& x) const;
-
129 
-
130  discrete_element_type eval_deriv(DSpan1D derivs, ddc::Coordinate<Tag> const& x) const;
-
131 
-
132  discrete_element_type eval_basis_and_n_derivs(
-
133  DSpan2D derivs,
-
134  ddc::Coordinate<Tag> const& x,
-
135  std::size_t n) const;
-
136 
-
137  ddc::ChunkSpan<double, discrete_domain_type> integrals(
-
138  ddc::ChunkSpan<double, discrete_domain_type> int_vals) const;
-
139 
-
140  ddc::Coordinate<Tag> get_knot(int knot_idx) const noexcept
-
141  {
-
142  return coord_from_knot(
-
143  ddc::coordinate(ddc::DiscreteElement<mesh_type>(knot_idx + degree())));
-
144  }
-
145 
-
146  ddc::Coordinate<Tag> get_first_support_knot(discrete_element_type const& ix) const
-
147  {
-
148  return coord_from_knot(ddc::coordinate(ddc::DiscreteElement<mesh_type>(ix.uid())));
-
149  }
-
150 
-
151  ddc::Coordinate<Tag> get_last_support_knot(discrete_element_type const& ix) const
-
152  {
-
153  return coord_from_knot(
-
154  ddc::coordinate(ddc::DiscreteElement<mesh_type>(ix.uid() + degree() + 1)));
-
155  }
-
156 
-
157  ddc::Coordinate<Tag> get_support_knot_n(discrete_element_type const& ix, int n) const
-
158  {
-
159  return coord_from_knot(ddc::coordinate(ddc::DiscreteElement<mesh_type>(ix.uid() + n)));
-
160  }
-
161 
-
162  ddc::Coordinate<Tag> rmin() const noexcept
-
163  {
-
164  return get_knot(0);
-
165  }
-
166 
-
167  ddc::Coordinate<Tag> rmax() const noexcept
-
168  {
-
169  return get_knot(ncells());
-
170  }
-
171 
-
172  double length() const noexcept
-
173  {
-
174  return rmax() - rmin();
-
175  }
-
176 
-
177  std::size_t size() const noexcept
-
178  {
-
179  return degree() + ncells();
-
180  }
-
181 
-
183  discrete_domain_type full_domain() const
-
184  {
-
185  return discrete_domain_type(discrete_element_type(0), discrete_vector_type(size()));
-
186  }
-
187 
-
188  std::size_t npoints() const noexcept
-
189  {
-
190  return m_nknots - 2 * degree();
-
191  }
-
192 
-
193  std::size_t nbasis() const noexcept
-
194  {
-
195  return ncells() + !is_periodic() * degree();
-
196  }
-
197 
-
198  std::size_t ncells() const noexcept
-
199  {
-
200  return npoints() - 1;
-
201  }
-
202 
-
203  private:
-
204  int find_cell(ddc::Coordinate<Tag> const& x) const;
-
205  };
-
206 };
-
207 
-
208 template <class Tag, std::size_t D>
-
209 template <class MemorySpace>
-
210 template <class RandomIt>
- -
212  RandomIt const break_begin,
-
213  RandomIt const break_end)
-
214  : m_domain(
-
215  ddc::DiscreteElement<mesh_type>(0),
-
216  ddc::DiscreteVector<mesh_type>(
-
217  (break_end - break_begin)
-
218  + 2 * degree())) // Create a mesh including the eventual periodic point
-
219  , m_nknots((break_end - break_begin) + 2 * degree())
-
220 {
-
221  std::vector<ddc::Coordinate<KnotDim>> knots((break_end - break_begin) + 2 * degree());
-
222  // Fill the provided knots
-
223  int ii = 0;
-
224  for (RandomIt it = break_begin; it < break_end; ++it) {
-
225  knots[degree() + ii] = knot_from_coord(*it);
-
226  ++ii;
-
227  }
-
228  ddc::Coordinate<KnotDim> const rmin = knots[degree()];
-
229  ddc::Coordinate<KnotDim> const rmax = knots[(break_end - break_begin) + degree() - 1];
-
230  assert(rmin < rmax);
-
231 
-
232  // Fill out the extra knots
-
233  if constexpr (is_periodic()) {
-
234  double const period = rmax - rmin;
-
235  for (std::size_t i = 1; i < degree() + 1; ++i) {
-
236  knots[degree() + -i]
-
237  = ddc::Coordinate<KnotDim>(knots[degree() + ncells() - i] - period);
-
238  knots[degree() + ncells() + i] = ddc::Coordinate<KnotDim>(knots[degree() + i] + period);
-
239  }
-
240  } else // open
-
241  {
-
242  for (std::size_t i = 1; i < degree() + 1; ++i) {
-
243  knots[degree() + -i] = rmin;
-
244  knots[degree() + npoints() - 1 + i] = rmax;
-
245  }
-
246  }
-
247  ddc::init_discrete_space<mesh_type>(knots);
-
248 }
-
249 
-
250 template <class Tag, std::size_t D>
-
251 template <class MemorySpace>
-
252 ddc::DiscreteElement<NonUniformBSplines<Tag, D>> NonUniformBSplines<Tag, D>::Impl<
-
253  MemorySpace>::eval_basis(DSpan1D const values, ddc::Coordinate<Tag> const& x) const
-
254 {
-
255  std::array<double, degree()> left;
-
256  std::array<double, degree()> right;
-
257 
-
258  assert(x >= rmin());
-
259  assert(x <= rmax());
-
260  assert(values.extent(0) == degree() + 1);
-
261 
-
262  // 1. Compute cell index 'icell'
-
263  int const icell = find_cell(x);
-
264 
-
265  assert(icell >= 0);
-
266  assert(icell <= int(ncells() - 1));
-
267  assert(get_knot(icell) <= x);
-
268  assert(get_knot(icell + 1) >= x);
-
269 
-
270  // 2. Compute values of B-splines with support over cell 'icell'
-
271  double temp;
-
272  values(0) = 1.0;
-
273  for (std::size_t j = 0; j < degree(); ++j) {
-
274  left[j] = x - get_knot(icell - j);
-
275  right[j] = get_knot(icell + j + 1) - x;
-
276  double saved = 0.0;
-
277  for (std::size_t r = 0; r < j + 1; ++r) {
-
278  temp = values(r) / (right[r] + left[j - r]);
-
279  values(r) = saved + right[r] * temp;
-
280  saved = left[j - r] * temp;
-
281  }
-
282  values(j + 1) = saved;
-
283  }
-
284 
-
285  return discrete_element_type(icell);
-
286 }
-
287 
-
288 template <class Tag, std::size_t D>
-
289 template <class MemorySpace>
-
290 ddc::DiscreteElement<NonUniformBSplines<Tag, D>> NonUniformBSplines<Tag, D>::Impl<
-
291  MemorySpace>::eval_deriv(DSpan1D const derivs, ddc::Coordinate<Tag> const& x) const
-
292 {
-
293  std::array<double, degree()> left;
-
294  std::array<double, degree()> right;
-
295 
-
296  assert(x >= rmin());
-
297  assert(x <= rmax());
-
298  assert(derivs.extent(0) == degree() + 1);
-
299 
-
300  // 1. Compute cell index 'icell'
-
301  int const icell = find_cell(x);
-
302 
-
303  assert(icell >= 0);
-
304  assert(icell <= int(ncells() - 1));
-
305  assert(get_knot(icell) <= x);
-
306  assert(get_knot(icell + 1) >= x);
-
307 
-
308  // 2. Compute values of derivatives of B-splines with support over cell 'icell'
-
309 
-
310  /*
-
311  * Compute nonzero basis functions and knot differences
-
312  * for splines up to degree degree-1 which are needed to compute derivative
-
313  * First part of Algorithm A3.2 of NURBS book
-
314  */
-
315  double saved, temp;
-
316  derivs(0) = 1.0;
-
317  for (std::size_t j = 0; j < degree() - 1; ++j) {
-
318  left[j] = x - get_knot(icell - j);
-
319  right[j] = get_knot(icell + j + 1) - x;
-
320  saved = 0.0;
-
321  for (std::size_t r = 0; r < j + 1; ++r) {
-
322  temp = derivs(r) / (right[r] + left[j - r]);
-
323  derivs(r) = saved + right[r] * temp;
-
324  saved = left[j - r] * temp;
-
325  }
-
326  derivs(j + 1) = saved;
-
327  }
-
328 
-
329  /*
-
330  * Compute derivatives at x using values stored in bsdx and formula
-
331  * for spline derivative based on difference of splines of degree degree-1
-
332  */
-
333  saved = degree() * derivs(0) / (get_knot(icell + 1) - get_knot(icell + 1 - degree()));
-
334  derivs(0) = -saved;
-
335  for (std::size_t j = 1; j < degree(); ++j) {
-
336  temp = saved;
-
337  saved = degree() * derivs(j)
-
338  / (get_knot(icell + j + 1) - get_knot(icell + j + 1 - degree()));
-
339  derivs(j) = temp - saved;
-
340  }
-
341  derivs(degree()) = saved;
-
342 
-
343  return discrete_element_type(icell);
-
344 }
-
345 
-
346 template <class Tag, std::size_t D>
-
347 template <class MemorySpace>
-
348 ddc::DiscreteElement<NonUniformBSplines<Tag, D>> NonUniformBSplines<Tag, D>::Impl<MemorySpace>::
- -
350  DSpan2D const derivs,
-
351  ddc::Coordinate<Tag> const& x,
-
352  std::size_t const n) const
-
353 {
-
354  std::array<double, degree()> left;
-
355  std::array<double, degree()> right;
-
356 
-
357  std::array<double, 2 * (degree() + 1)> a_ptr;
-
358  std::experimental::
-
359  mdspan<double, std::experimental::extents<std::size_t, degree() + 1, 2>> const a(
-
360  a_ptr.data());
-
361 
-
362  std::array<double, (degree() + 1) * (degree() + 1)> ndu_ptr;
-
363  std::experimental::mdspan<
-
364  double,
-
365  std::experimental::extents<std::size_t, degree() + 1, degree() + 1>> const
-
366  ndu(ndu_ptr.data());
-
367 
-
368  assert(x >= rmin());
-
369  assert(x <= rmax());
-
370  // assert(n >= 0); as long as n is unsigned
-
371  assert(n <= degree());
-
372  assert(derivs.extent(0) == 1 + degree());
-
373  assert(derivs.extent(1) == 1 + n);
-
374 
-
375  // 1. Compute cell index 'icell' and x_offset
-
376  int const icell = find_cell(x);
-
377 
-
378  assert(icell >= 0);
-
379  assert(icell <= int(ncells() - 1));
-
380  assert(get_knot(icell) <= x);
-
381  assert(get_knot(icell + 1) >= x);
-
382 
-
383  // 2. Compute nonzero basis functions and knot differences for splines
-
384  // up to degree (degree-1) which are needed to compute derivative
-
385  // Algorithm A2.3 of NURBS book
-
386  //
-
387  // 21.08.2017: save inverse of knot differences to avoid unnecessary
-
388  // divisions
-
389  // [Yaman Güçlü, Edoardo Zoni]
-
390 
-
391  double saved, temp;
-
392  ndu(0, 0) = 1.0;
-
393  for (std::size_t j = 0; j < degree(); ++j) {
-
394  left[j] = x - get_knot(icell - j);
-
395  right[j] = get_knot(icell + j + 1) - x;
-
396  saved = 0.0;
-
397  for (std::size_t r = 0; r < j + 1; ++r) {
-
398  // compute inverse of knot differences and save them into lower
-
399  // triangular part of ndu
-
400  ndu(r, j + 1) = 1.0 / (right[r] + left[j - r]);
-
401  // compute basis functions and save them into upper triangular part
-
402  // of ndu
-
403  temp = ndu(j, r) * ndu(r, j + 1);
-
404  ndu(j + 1, r) = saved + right[r] * temp;
-
405  saved = left[j - r] * temp;
-
406  }
-
407  ndu(j + 1, j + 1) = saved;
-
408  }
-
409  // Save 0-th derivative
-
410  for (std::size_t j = 0; j < degree() + 1; ++j) {
-
411  derivs(j, 0) = ndu(degree(), j);
-
412  }
-
413 
-
414  for (int r = 0; r < int(degree() + 1); ++r) {
-
415  int s1 = 0;
-
416  int s2 = 1;
-
417  a(0, 0) = 1.0;
-
418  for (int k = 1; k < int(n + 1); ++k) {
-
419  double d = 0.0;
-
420  int const rk = r - k;
-
421  int const pk = degree() - k;
-
422  if (r >= k) {
-
423  a(0, s2) = a(0, s1) * ndu(rk, pk + 1);
-
424  d = a(0, s2) * ndu(pk, rk);
-
425  }
-
426  int const j1 = rk > -1 ? 1 : (-rk);
-
427  int const j2 = (r - 1) <= pk ? k : (degree() - r + 1);
-
428  for (int j = j1; j < j2; ++j) {
-
429  a(j, s2) = (a(j, s1) - a(j - 1, s1)) * ndu(rk + j, pk + 1);
-
430  d += a(j, s2) * ndu(pk, rk + j);
-
431  }
-
432  if (r <= pk) {
-
433  a(k, s2) = -a(k - 1, s1) * ndu(r, pk + 1);
-
434  d += a(k, s2) * ndu(pk, r);
-
435  }
-
436  derivs(r, k) = d;
-
437  std::swap(s1, s2);
-
438  }
-
439  }
-
440 
-
441  int r = degree();
-
442  for (int k = 1; k < int(n + 1); ++k) {
-
443  for (std::size_t i = 0; i < derivs.extent(0); i++) {
-
444  derivs(i, k) *= r;
-
445  }
-
446  r *= degree() - k;
-
447  }
-
448 
-
449  return discrete_element_type(icell);
-
450 }
-
451 
-
452 template <class Tag, std::size_t D>
-
453 template <class MemorySpace>
-
454 int NonUniformBSplines<Tag, D>::Impl<MemorySpace>::find_cell(ddc::Coordinate<Tag> const& x) const
-
455 {
-
456  if (x > rmax())
-
457  return -1;
-
458  if (x < rmin())
-
459  return -1;
-
460 
-
461  if (x == rmin())
-
462  return 0;
-
463  if (x == rmax())
-
464  return ncells() - 1;
-
465 
-
466  // Binary search
-
467  int low = 0, high = ncells();
-
468  int icell = (low + high) / 2;
-
469  while (x < get_knot(icell) || x >= get_knot(icell + 1)) {
-
470  if (x < get_knot(icell)) {
-
471  high = icell;
-
472  } else {
-
473  low = icell;
-
474  }
-
475  icell = (low + high) / 2;
-
476  }
-
477  return icell;
-
478 }
-
479 
-
480 template <class Tag, std::size_t D>
-
481 template <class MemorySpace>
-
482 ddc::ChunkSpan<double, ddc::DiscreteDomain<NonUniformBSplines<Tag, D>>> NonUniformBSplines<Tag, D>::
- -
484  ddc::ChunkSpan<double, ddc::DiscreteDomain<NonUniformBSplines<Tag, D>>> int_vals)
-
485  const
-
486 {
-
487  if constexpr (is_periodic()) {
-
488  assert(int_vals.size() == nbasis() || int_vals.size() == size());
-
489  } else {
-
490  assert(int_vals.size() == nbasis());
-
491  }
-
492 
-
493  double const inv_deg = 1.0 / (degree() + 1);
-
494 
-
495  discrete_domain_type const dom_bsplines(
-
496  full_domain().take_first(discrete_vector_type {nbasis()}));
-
497  for (auto ix : dom_bsplines) {
-
498  int_vals(ix) = (get_last_support_knot(ix) - get_first_support_knot(ix)) * inv_deg;
-
499  }
-
500 
-
501  if constexpr (is_periodic()) {
-
502  if (int_vals.size() == size()) {
-
503  discrete_domain_type const dom_bsplines_wrap(
-
504  full_domain().take_last(discrete_vector_type {degree()}));
-
505  for (auto ix : dom_bsplines_wrap) {
-
506  int_vals(ix) = 0;
-
507  }
-
508  }
-
509  }
-
510  return int_vals;
-
511 }
-
Definition: bsplines_non_uniform.hpp:82
-
Impl(std::initializer_list< ddc::Coordinate< Tag >> breaks)
Construct a Impl using a brace-list, i.e. Impl bsplines({0., 1.})
Definition: bsplines_non_uniform.hpp:103
-
discrete_domain_type full_domain() const
Returns the discrete domain including ghost bsplines.
Definition: bsplines_non_uniform.hpp:183
-
Impl(std::vector< ddc::Coordinate< Tag >> const &breaks)
Construct a Impl using a C++20 "common range".
Definition: bsplines_non_uniform.hpp:109
-
NonUniformPointSampling specialization of BSplines.
Definition: bsplines_non_uniform.hpp:16
-
Definition: bsplines_non_uniform.hpp:23
-
Definition: bspline.hpp:5
-
-
- - - - diff --git a/bsplines__uniform_8hpp_source.html b/bsplines__uniform_8hpp_source.html deleted file mode 100644 index 4cf55d0e9..000000000 --- a/bsplines__uniform_8hpp_source.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bsplines_uniform.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bsplines_uniform.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 #include <cassert>
-
5 #include <memory>
-
6 
-
7 #include <ddc/ddc.hpp>
-
8 
-
9 #include "sll/bspline.hpp"
-
10 #include "sll/math_tools.hpp"
-
11 #include "sll/view.hpp"
-
12 
-
13 template <class Tag, std::size_t D>
- -
15 {
-
16  static_assert(D > 0, "Parameter `D` must be positive");
-
17 
-
18 public:
-
19  // From nvcc: 'A type that is defined inside a class and has private or protected access cannot be used
-
20  // in the template argument type of a variable template instantiation'
-
21  template <class T>
- -
23 
- -
27 
-
28  using mesh_type = ddc::UniformPointSampling<KnotDim>;
-
29 
-
30  static inline ddc::Coordinate<KnotDim> knot_from_coord(ddc::Coordinate<Tag> const& coord)
-
31  {
-
32  return ddc::Coordinate<KnotDim>(ddc::get<Tag>(coord));
-
33  }
-
34  static inline ddc::Coordinate<Tag> coord_from_knot(ddc::Coordinate<KnotDim> const& coord)
-
35  {
-
36  return ddc::Coordinate<Tag>(ddc::get<KnotDim>(coord));
-
37  }
-
38 
-
39 public:
-
40  using tag_type = Tag;
-
41 
-
42  using continuous_dimension_type = BSpline<Tag>;
-
43 
-
44 
-
45  using discrete_dimension_type = UniformBSplines;
-
46 
-
47  using discrete_element_type = ddc::DiscreteElement<UniformBSplines>;
-
48 
-
49  using discrete_domain_type = ddc::DiscreteDomain<UniformBSplines>;
-
50 
-
51  using discrete_vector_type = ddc::DiscreteVector<UniformBSplines>;
-
52 
-
53 public:
-
54  static constexpr std::size_t rank()
-
55  {
-
56  return 1;
-
57  }
-
58 
-
59  static constexpr std::size_t degree() noexcept
-
60  {
-
61  return D;
-
62  }
-
63 
-
64  static constexpr bool is_periodic() noexcept
-
65  {
-
66  return Tag::PERIODIC;
-
67  }
-
68 
-
69  static constexpr bool is_radial() noexcept
-
70  {
-
71  return false;
-
72  }
-
73 
-
74  static constexpr bool is_uniform() noexcept
-
75  {
-
76  return true;
-
77  }
-
78 
-
79  template <class MemorySpace>
-
80  class Impl
-
81  {
-
82  template <class OMemorySpace>
-
83  friend class Impl;
-
84 
-
85  private:
-
86  // In the periodic case, it contains twice the periodic point!!!
-
87  ddc::DiscreteDomain<mesh_type> m_domain;
-
88 
-
89  public:
- -
91 
-
92  Impl() = default;
-
93 
-
94  template <class OriginMemorySpace>
-
95  explicit Impl(Impl<OriginMemorySpace> const& impl) : m_domain(impl.m_domain)
-
96  {
-
97  }
-
98 
-
105  explicit Impl(ddc::Coordinate<Tag> rmin, ddc::Coordinate<Tag> rmax, std::size_t ncells)
-
106  : m_domain(
-
107  ddc::DiscreteElement<mesh_type>(0),
-
108  ddc::DiscreteVector<mesh_type>(
-
109  ncells + 1)) // Create a mesh including the eventual periodic point
-
110  {
-
111  assert(ncells > 0);
-
112  ddc::init_discrete_space(mesh_type::
-
113  init(knot_from_coord(rmin),
-
114  knot_from_coord(rmax),
-
115  ddc::DiscreteVector<mesh_type>(ncells + 1)));
-
116  }
-
117 
-
118  Impl(Impl const& x) = default;
-
119 
-
120  Impl(Impl&& x) = default;
-
121 
-
122  ~Impl() = default;
-
123 
-
124  Impl& operator=(Impl const& x) = default;
-
125 
-
126  Impl& operator=(Impl&& x) = default;
-
127 
-
128  discrete_element_type eval_basis(DSpan1D values, ddc::Coordinate<Tag> const& x) const
-
129  {
-
130  return eval_basis(values, x, degree());
-
131  }
-
132 
-
133  discrete_element_type eval_deriv(DSpan1D derivs, ddc::Coordinate<Tag> const& x) const;
-
134 
-
135  discrete_element_type eval_basis_and_n_derivs(
-
136  DSpan2D derivs,
-
137  ddc::Coordinate<Tag> const& x,
-
138  std::size_t n) const;
-
139 
-
140  ddc::ChunkSpan<double, discrete_domain_type> integrals(
-
141  ddc::ChunkSpan<double, discrete_domain_type> int_vals) const;
-
142 
-
143  ddc::Coordinate<Tag> get_knot(int idx) const noexcept
-
144  {
-
145  return ddc::Coordinate<Tag>(rmin() + idx * ddc::step<mesh_type>());
-
146  }
-
147 
-
148  double get_first_support_knot(discrete_element_type const& ix) const
-
149  {
-
150  return get_knot(ix.uid() - degree());
-
151  }
-
152 
-
153  double get_last_support_knot(discrete_element_type const& ix) const
-
154  {
-
155  return get_knot(ix.uid() + 1);
-
156  }
-
157 
-
158  double get_support_knot_n(discrete_element_type const& ix, int n) const
-
159  {
-
160  return get_knot(ix.uid() + n - degree());
-
161  }
-
162 
-
163  ddc::Coordinate<Tag> rmin() const noexcept
-
164  {
-
165  return coord_from_knot(ddc::coordinate(m_domain.front()));
-
166  }
-
167 
-
168  ddc::Coordinate<Tag> rmax() const noexcept
-
169  {
-
170  return coord_from_knot(ddc::coordinate(m_domain.back()));
-
171  }
-
172 
-
173  double length() const noexcept
-
174  {
-
175  return rmax() - rmin();
-
176  }
-
177 
-
178  std::size_t size() const noexcept
-
179  {
-
180  return degree() + ncells();
-
181  }
-
182 
-
184  discrete_domain_type full_domain() const
-
185  {
-
186  return discrete_domain_type(discrete_element_type(0), discrete_vector_type(size()));
-
187  }
-
188 
-
189  std::size_t nbasis() const noexcept
-
190  {
-
191  return ncells() + !is_periodic() * degree();
-
192  }
-
193 
-
194  std::size_t ncells() const noexcept
-
195  {
-
196  return m_domain.size() - 1;
-
197  }
-
198 
-
199  private:
-
200  double inv_step() const noexcept
-
201  {
-
202  return 1.0 / ddc::step<mesh_type>();
-
203  }
-
204 
-
205  discrete_element_type eval_basis(
-
206  DSpan1D values,
-
207  ddc::Coordinate<Tag> const& x,
-
208  std::size_t degree) const;
-
209  void get_icell_and_offset(int& icell, double& offset, ddc::Coordinate<Tag> const& x) const;
-
210  };
-
211 };
-
212 
-
213 template <class Tag, std::size_t D>
-
214 template <class MemorySpace>
-
215 ddc::DiscreteElement<UniformBSplines<Tag, D>> UniformBSplines<Tag, D>::Impl<MemorySpace>::
-
216  eval_basis(DSpan1D const values, ddc::Coordinate<Tag> const& x, std::size_t const deg) const
-
217 {
-
218  assert(values.extent(0) == deg + 1);
-
219 
-
220  double offset;
-
221  int jmin;
-
222  // 1. Compute cell index 'icell' and x_offset
-
223  // 2. Compute index range of B-splines with support over cell 'icell'
-
224  get_icell_and_offset(jmin, offset, x);
-
225 
-
226  // 3. Compute values of aforementioned B-splines
-
227  double xx, temp, saved;
-
228  values(0) = 1.0;
-
229  for (std::size_t j = 1; j < deg + 1; ++j) {
-
230  xx = -offset;
-
231  saved = 0.0;
-
232  for (std::size_t r = 0; r < j; ++r) {
-
233  xx += 1;
-
234  temp = values(r) / j;
-
235  values(r) = saved + xx * temp;
-
236  saved = (j - xx) * temp;
-
237  }
-
238  values(j) = saved;
-
239  }
-
240 
-
241  return discrete_element_type(jmin);
-
242 }
-
243 
-
244 template <class Tag, std::size_t D>
-
245 template <class MemorySpace>
-
246 ddc::DiscreteElement<UniformBSplines<Tag, D>> UniformBSplines<Tag, D>::Impl<
-
247  MemorySpace>::eval_deriv(DSpan1D const derivs, ddc::Coordinate<Tag> const& x) const
-
248 {
-
249  assert(derivs.extent(0) == degree() + 1);
-
250 
-
251  double offset;
-
252  int jmin;
-
253  // 1. Compute cell index 'icell' and x_offset
-
254  // 2. Compute index range of B-splines with support over cell 'icell'
-
255  get_icell_and_offset(jmin, offset, x);
-
256 
-
257  // 3. Compute derivatives of aforementioned B-splines
-
258  // Derivatives are normalized, hence they should be divided by dx
-
259  double xx, temp, saved;
-
260  derivs(0) = 1.0 / ddc::step<mesh_type>();
-
261  for (std::size_t j = 1; j < degree(); ++j) {
-
262  xx = -offset;
-
263  saved = 0.0;
-
264  for (std::size_t r = 0; r < j; ++r) {
-
265  xx += 1.0;
-
266  temp = derivs(r) / j;
-
267  derivs(r) = saved + xx * temp;
-
268  saved = (j - xx) * temp;
-
269  }
-
270  derivs(j) = saved;
-
271  }
-
272 
-
273  // Compute derivatives
-
274  double bjm1 = derivs(0);
-
275  double bj = bjm1;
-
276  derivs(0) = -bjm1;
-
277  for (std::size_t j = 1; j < degree(); ++j) {
-
278  bj = derivs(j);
-
279  derivs(j) = bjm1 - bj;
-
280  bjm1 = bj;
-
281  }
-
282  derivs(degree()) = bj;
-
283 
-
284  return discrete_element_type(jmin);
-
285 }
-
286 
-
287 template <class Tag, std::size_t D>
-
288 template <class MemorySpace>
-
289 ddc::DiscreteElement<UniformBSplines<Tag, D>> UniformBSplines<Tag, D>::Impl<MemorySpace>::
- -
291  DSpan2D const derivs,
-
292  ddc::Coordinate<Tag> const& x,
-
293  std::size_t const n) const
-
294 {
-
295  std::array<double, (degree() + 1) * (degree() + 1)> ndu_ptr;
-
296  std::experimental::mdspan<
-
297  double,
-
298  std::experimental::extents<std::size_t, degree() + 1, degree() + 1>> const
-
299  ndu(ndu_ptr.data());
-
300  std::array<double, 2 * (degree() + 1)> a_ptr;
-
301  std::experimental::
-
302  mdspan<double, std::experimental::extents<std::size_t, degree() + 1, 2>> const a(
-
303  a_ptr.data());
-
304  double offset;
-
305  int jmin;
-
306 
-
307  assert(x >= rmin());
-
308  assert(x <= rmax());
-
309  // assert(n >= 0); as long as n is unsigned
-
310  assert(n <= degree());
-
311  assert(derivs.extent(0) == 1 + degree());
-
312  assert(derivs.extent(1) == 1 + n);
-
313 
-
314  // 1. Compute cell index 'icell' and x_offset
-
315  // 2. Compute index range of B-splines with support over cell 'icell'
-
316  get_icell_and_offset(jmin, offset, x);
-
317 
-
318  // 3. Recursively evaluate B-splines (see
-
319  // "sll_s_uniform_BSplines_eval_basis")
-
320  // up to self%degree, and store them all in the upper-right triangle of
-
321  // ndu
-
322  double xx, temp, saved;
-
323  ndu(0, 0) = 1.0;
-
324  for (std::size_t j = 1; j < degree() + 1; ++j) {
-
325  xx = -offset;
-
326  saved = 0.0;
-
327  for (std::size_t r = 0; r < j; ++r) {
-
328  xx += 1.0;
-
329  temp = ndu(j - 1, r) / j;
-
330  ndu(j, r) = saved + xx * temp;
-
331  saved = (j - xx) * temp;
-
332  }
-
333  ndu(j, j) = saved;
-
334  }
-
335  for (std::size_t i = 0; i < ndu.extent(1); ++i) {
-
336  derivs(i, 0) = ndu(degree(), i);
-
337  }
-
338 
-
339  for (int r = 0; r < int(degree() + 1); ++r) {
-
340  int s1 = 0;
-
341  int s2 = 1;
-
342  a(0, 0) = 1.0;
-
343  for (int k = 1; k < int(n + 1); ++k) {
-
344  double d = 0.0;
-
345  int const rk = r - k;
-
346  int const pk = degree() - k;
-
347  if (r >= k) {
-
348  a(0, s2) = a(0, s1) / (pk + 1);
-
349  d = a(0, s2) * ndu(pk, rk);
-
350  }
-
351  int const j1 = rk > -1 ? 1 : (-rk);
-
352  int const j2 = (r - 1) <= pk ? k : (degree() - r + 1);
-
353  for (int j = j1; j < j2; ++j) {
-
354  a(j, s2) = (a(j, s1) - a(j - 1, s1)) / (pk + 1);
-
355  d += a(j, s2) * ndu(pk, rk + j);
-
356  }
-
357  if (r <= pk) {
-
358  a(k, s2) = -a(k - 1, s1) / (pk + 1);
-
359  d += a(k, s2) * ndu(pk, r);
-
360  }
-
361  derivs(r, k) = d;
-
362  std::swap(s1, s2);
-
363  }
-
364  }
-
365 
-
366  // Multiply result by correct factors:
-
367  // degree!/(degree-n)! = degree*(degree-1)*...*(degree-n+1)
-
368  // k-th derivatives are normalized, hence they should be divided by dx^k
-
369  double const inv_dx = inv_step();
-
370  double d = degree() * inv_dx;
-
371  for (int k = 1; k < int(n + 1); ++k) {
-
372  for (std::size_t i = 0; i < derivs.extent(0); ++i) {
-
373  derivs(i, k) *= d;
-
374  }
-
375  d *= (degree() - k) * inv_dx;
-
376  }
-
377 
-
378  return discrete_element_type(jmin);
-
379 }
-
380 
-
381 template <class Tag, std::size_t D>
-
382 template <class MemorySpace>
- -
384  int& icell,
-
385  double& offset,
-
386  ddc::Coordinate<Tag> const& x) const
-
387 {
-
388  assert(x >= rmin());
-
389  assert(x <= rmax());
-
390 
-
391  double const inv_dx = inv_step();
-
392  if (x == rmin()) {
-
393  icell = 0;
-
394  offset = 0.0;
-
395  } else if (x == rmax()) {
-
396  icell = ncells() - 1;
-
397  offset = 1.0;
-
398  } else {
-
399  offset = (x - rmin()) * inv_dx;
-
400  icell = static_cast<int>(offset);
-
401  offset = offset - icell;
-
402 
-
403  // When x is very close to xmax, round-off may cause the wrong answer
-
404  // icell=ncells and x_offset=0, which we convert to the case x=xmax:
-
405  if (icell == int(ncells()) && offset == 0.0) {
-
406  icell = ncells() - 1;
-
407  offset = 1.0;
-
408  }
-
409  }
-
410 }
-
411 
-
412 template <class Tag, std::size_t D>
-
413 template <class MemorySpace>
-
414 ddc::ChunkSpan<double, ddc::DiscreteDomain<UniformBSplines<Tag, D>>> UniformBSplines<Tag, D>::Impl<
-
415  MemorySpace>::integrals(ddc::ChunkSpan<double, ddc::DiscreteDomain<UniformBSplines<Tag, D>>>
-
416  int_vals) const
-
417 {
-
418  if constexpr (is_periodic()) {
-
419  assert(int_vals.size() == nbasis() || int_vals.size() == size());
-
420  } else {
-
421  assert(int_vals.size() == nbasis());
-
422  }
-
423  discrete_domain_type const full_dom_splines(full_domain());
-
424 
-
425  if constexpr (is_periodic()) {
-
426  discrete_domain_type const dom_bsplines(
-
427  full_dom_splines.take_first(discrete_vector_type {nbasis()}));
-
428  for (auto ix : dom_bsplines) {
-
429  int_vals(ix) = ddc::step<mesh_type>();
-
430  }
-
431  if (int_vals.size() == size()) {
-
432  discrete_domain_type const dom_bsplines_repeated(
-
433  full_dom_splines.take_last(discrete_vector_type {degree()}));
-
434  for (auto ix : dom_bsplines_repeated) {
-
435  int_vals(ix) = 0;
-
436  }
-
437  }
-
438  } else {
-
439  discrete_domain_type const dom_bspline_entirely_in_domain
-
440  = full_dom_splines
-
441  .remove(discrete_vector_type(degree()), discrete_vector_type(degree()));
-
442  for (auto ix : dom_bspline_entirely_in_domain) {
-
443  int_vals(ix) = ddc::step<mesh_type>();
-
444  }
-
445 
-
446  std::array<double, degree() + 2> edge_vals_ptr;
-
447  std::experimental::
-
448  mdspan<double, std::experimental::extents<std::size_t, degree() + 2>> const
-
449  edge_vals(edge_vals_ptr.data());
-
450 
-
451  eval_basis(edge_vals, rmin(), degree() + 1);
-
452 
-
453  double const d_eval = sum(edge_vals);
-
454 
-
455  for (std::size_t i = 0; i < degree(); ++i) {
-
456  double const c_eval = sum(edge_vals, 0, degree() - i);
-
457 
-
458  double const edge_value = ddc::step<mesh_type>() * (d_eval - c_eval);
-
459 
-
460  int_vals(discrete_element_type(i)) = edge_value;
-
461  int_vals(discrete_element_type(nbasis() - 1 - i)) = edge_value;
-
462  }
-
463  }
-
464  return int_vals;
-
465 }
-
Definition: bsplines_uniform.hpp:81
-
Impl(ddc::Coordinate< Tag > rmin, ddc::Coordinate< Tag > rmax, std::size_t ncells)
Constructs a BSpline basis with n equidistant knots over .
Definition: bsplines_uniform.hpp:105
-
discrete_domain_type full_domain() const
Returns the discrete domain including ghost bsplines.
Definition: bsplines_uniform.hpp:184
-
Definition: bsplines_uniform.hpp:15
-
Definition: bsplines_uniform.hpp:22
-
Definition: bspline.hpp:5
-
-
- - - - diff --git a/classBslAdvectionRP-members.html b/classBslAdvectionRP-members.html index 337ce83e2..bcf48dac1 100644 --- a/classBslAdvectionRP-members.html +++ b/classBslAdvectionRP-members.html @@ -106,7 +106,7 @@

This is the complete list of members for BslAdvectionRP< FootFinder, Mapping >, including all inherited members.

- + diff --git a/classBslAdvectionRP.html b/classBslAdvectionRP.html index 2c648d9b3..7c878612c 100644 --- a/classBslAdvectionRP.html +++ b/classBslAdvectionRP.html @@ -121,9 +121,9 @@
BslAdvectionRP(PreallocatableSplineInterpolatorRP const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)BslAdvectionRP< FootFinder, Mapping >inline
BslAdvectionRP(PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)BslAdvectionRP< FootFinder, Mapping >inline
operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) constBslAdvectionRP< FootFinder, Mapping >inlinevirtual
operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) constBslAdvectionRP< FootFinder, Mapping >inlinevirtual
~BslAdvectionRP() override=default (defined in BslAdvectionRP< FootFinder, Mapping >)BslAdvectionRP< FootFinder, Mapping >
- - - + + + @@ -149,8 +149,8 @@
AdvectionDomain

Constructor & Destructor Documentation

- -

◆ BslAdvectionRP()

+ +

◆ BslAdvectionRP()

@@ -163,7 +163,7 @@

BslAdvectionRP< FootFinder, Mapping >::BslAdvectionRP

- + diff --git a/classBslAdvectionRP.js b/classBslAdvectionRP.js index 08112f56c..412dea592 100644 --- a/classBslAdvectionRP.js +++ b/classBslAdvectionRP.js @@ -1,6 +1,6 @@ var classBslAdvectionRP = [ - [ "BslAdvectionRP", "classBslAdvectionRP.html#a1625a858ae285a69f801c8400df039fe", null ], + [ "BslAdvectionRP", "classBslAdvectionRP.html#a977b86e07de90942c18e1af5428f59c8", null ], [ "~BslAdvectionRP", "classBslAdvectionRP.html#a78993f4b02f23d73510ef1836f037c0e", null ], [ "operator()", "classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6", null ], [ "operator()", "classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4", null ] diff --git a/classBslExplicitPredCorrRP-members.html b/classBslExplicitPredCorrRP-members.html index 471ea9f9c..7fa7d7365 100644 --- a/classBslExplicitPredCorrRP-members.html +++ b/classBslExplicitPredCorrRP-members.html @@ -106,7 +106,7 @@

This is the complete list of members for BslExplicitPredCorrRP< Mapping, AdvectionDomain >, including all inherited members.

Public Member Functions

 BslAdvectionRP (PreallocatableSplineInterpolatorRP const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)
 Instantiate an advection operator. More...
 
 BslAdvectionRP (PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > const &function_interpolator, FootFinder const &foot_finder, Mapping const &mapping)
 Instantiate an advection operator. More...
 
DSpanRP operator() (DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const
 Allocate a ChunkSpan to the advected function. More...
 
(PreallocatableSplineInterpolatorRP const & PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > const &  function_interpolator,
- + diff --git a/classBslExplicitPredCorrRP.html b/classBslExplicitPredCorrRP.html index 0b596c6b9..aa19c9d2e 100644 --- a/classBslExplicitPredCorrRP.html +++ b/classBslExplicitPredCorrRP.html @@ -121,9 +121,9 @@
BslExplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)BslExplicitPredCorrRP< Mapping, AdvectionDomain >inline
BslExplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)BslExplicitPredCorrRP< Mapping, AdvectionDomain >inline
display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) constITimeSolverRPinlineprotected
operator()(DSpanRP allfdistribu, double const dt, int const steps) constBslExplicitPredCorrRP< Mapping, AdvectionDomain >inlinevirtual
~BslExplicitPredCorrRP() (defined in BslExplicitPredCorrRP< Mapping, AdvectionDomain >)BslExplicitPredCorrRP< Mapping, AdvectionDomain >inline
- - - + + + @@ -170,8 +170,8 @@

Constructor & Destructor Documentation

- -

◆ BslExplicitPredCorrRP()

+ +

◆ BslExplicitPredCorrRP()

@@ -208,13 +208,13 @@

- + - + @@ -226,7 +226,7 @@

- + diff --git a/classBslExplicitPredCorrRP.js b/classBslExplicitPredCorrRP.js index 636595642..48ed722a7 100644 --- a/classBslExplicitPredCorrRP.js +++ b/classBslExplicitPredCorrRP.js @@ -1,6 +1,6 @@ var classBslExplicitPredCorrRP = [ - [ "BslExplicitPredCorrRP", "classBslExplicitPredCorrRP.html#ad5ebb8d18489eaf101db816f8187d5bc", null ], + [ "BslExplicitPredCorrRP", "classBslExplicitPredCorrRP.html#a08e13f4e1ce35d6962b4e73fce3580c4", null ], [ "~BslExplicitPredCorrRP", "classBslExplicitPredCorrRP.html#a43d145119cdc3d0468355094737f7e51", null ], [ "operator()", "classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121", null ] ]; \ No newline at end of file diff --git a/classBslImplicitPredCorrRP-members.html b/classBslImplicitPredCorrRP-members.html index 4a18003b6..9d1168eb1 100644 --- a/classBslImplicitPredCorrRP-members.html +++ b/classBslImplicitPredCorrRP-members.html @@ -106,7 +106,7 @@

This is the complete list of members for BslImplicitPredCorrRP< Mapping, AdvectionDomain >, including all inherited members.

Public Member Functions

 BslExplicitPredCorrRP (AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)
 Instantiate a BslExplicitPredCorrRP. More...
 
 BslExplicitPredCorrRP (AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)
 Instantiate a BslExplicitPredCorrRP. More...
 
DSpanRP operator() (DSpanRP allfdistribu, double const dt, int const steps) const
 Solves on \( T = dt*N \) the equations system. More...
 
SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & SplineRPEvaluatorNullBound const &  rhs_evaluator,
SplineRPEvaluator const & SplineRPEvaluatorConstBound const &  advection_evaluator 
- + diff --git a/classBslImplicitPredCorrRP.html b/classBslImplicitPredCorrRP.html index e11b45ccc..9238dd2ed 100644 --- a/classBslImplicitPredCorrRP.html +++ b/classBslImplicitPredCorrRP.html @@ -121,9 +121,9 @@
BslImplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)BslImplicitPredCorrRP< Mapping, AdvectionDomain >inline
BslImplicitPredCorrRP(AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)BslImplicitPredCorrRP< Mapping, AdvectionDomain >inline
display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) constITimeSolverRPinlineprotected
operator()(DSpanRP allfdistribu, double const dt, int const steps) constBslImplicitPredCorrRP< Mapping, AdvectionDomain >inlinevirtual
~BslImplicitPredCorrRP() (defined in BslImplicitPredCorrRP< Mapping, AdvectionDomain >)BslImplicitPredCorrRP< Mapping, AdvectionDomain >inline
- - - + + + @@ -181,8 +181,8 @@

Constructor & Destructor Documentation

- -

◆ BslImplicitPredCorrRP()

+ +

◆ BslImplicitPredCorrRP()

@@ -219,13 +219,13 @@

- + - + @@ -237,7 +237,7 @@

- + diff --git a/classBslImplicitPredCorrRP.js b/classBslImplicitPredCorrRP.js index ddf626c12..e89646b06 100644 --- a/classBslImplicitPredCorrRP.js +++ b/classBslImplicitPredCorrRP.js @@ -1,6 +1,6 @@ var classBslImplicitPredCorrRP = [ - [ "BslImplicitPredCorrRP", "classBslImplicitPredCorrRP.html#a85e452a6d8a3bfcbbd94e671179135ab", null ], + [ "BslImplicitPredCorrRP", "classBslImplicitPredCorrRP.html#ad068d165e927773fc85c5b06c267ea2f", null ], [ "~BslImplicitPredCorrRP", "classBslImplicitPredCorrRP.html#a3bf4626163f959b5925c95095d94bfd1", null ], [ "operator()", "classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb", null ] ]; \ No newline at end of file diff --git a/classBslPredCorrRP-members.html b/classBslPredCorrRP-members.html index e41e85353..66fa64010 100644 --- a/classBslPredCorrRP-members.html +++ b/classBslPredCorrRP-members.html @@ -106,7 +106,7 @@

This is the complete list of members for BslPredCorrRP< Mapping, FootFinder >, including all inherited members.

Public Member Functions

 BslImplicitPredCorrRP (AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluator const &advection_evaluator)
 Instantiate a BslImplicitPredCorrRP. More...
 
 BslImplicitPredCorrRP (AdvectionDomain const &advection_domain, Mapping const &mapping, BslAdvectionRP< SplineFootFinder< EulerMethod, AdvectionDomain >, Mapping > const &advection_solver, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver, SplineRPEvaluatorConstBound const &advection_evaluator)
 Instantiate a BslImplicitPredCorrRP. More...
 
DSpanRP operator() (DSpanRP allfdistribu, double const dt, int const steps) const
 Solves on \( T = dt*N \) the equations system. More...
 
SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & SplineRPEvaluatorNullBound const &  rhs_evaluator,
SplineRPEvaluator const & SplineRPEvaluatorConstBound const &  advection_evaluator 
- + diff --git a/classBslPredCorrRP.html b/classBslPredCorrRP.html index 28ef07d1c..9575261ba 100644 --- a/classBslPredCorrRP.html +++ b/classBslPredCorrRP.html @@ -121,9 +121,9 @@
BslPredCorrRP(Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)BslPredCorrRP< Mapping, FootFinder >inline
BslPredCorrRP(Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)BslPredCorrRP< Mapping, FootFinder >inline
display_time_difference(std::string const &title, std::chrono::time_point< std::chrono::system_clock > const &start_time, std::chrono::time_point< std::chrono::system_clock > const &end_time) constITimeSolverRPinlineprotected
operator()(DSpanRP allfdistribu, double const dt, int const steps) constBslPredCorrRP< Mapping, FootFinder >inlinevirtual
~BslPredCorrRP() (defined in BslPredCorrRP< Mapping, FootFinder >)BslPredCorrRP< Mapping, FootFinder >inline
- - - + + + @@ -167,8 +167,8 @@

Constructor & Destructor Documentation

- -

◆ BslPredCorrRP()

+ +

◆ BslPredCorrRP()

@@ -193,13 +193,13 @@

- + - + diff --git a/classBslPredCorrRP.js b/classBslPredCorrRP.js index 89ea3ff3a..7f9a8c80e 100644 --- a/classBslPredCorrRP.js +++ b/classBslPredCorrRP.js @@ -1,6 +1,6 @@ var classBslPredCorrRP = [ - [ "BslPredCorrRP", "classBslPredCorrRP.html#ad59df29ecec81d37cd221b9bff3b96e7", null ], + [ "BslPredCorrRP", "classBslPredCorrRP.html#a4a6c5378bd5ea4f7f8dfb3e2088cd12a", null ], [ "~BslPredCorrRP", "classBslPredCorrRP.html#aef27516358cec8ae26f09e0a154d718a", null ], [ "operator()", "classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6", null ] ]; \ No newline at end of file diff --git a/classConstantExtrapolationBoundaryValue-members.html b/classConstantExtrapolationBoundaryValue-members.html deleted file mode 100644 index a4178fa8f..000000000 --- a/classConstantExtrapolationBoundaryValue-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
-

Public Member Functions

 BslPredCorrRP (Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluator const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
 Instantiate a BslPredCorrRP. More...
 
 BslPredCorrRP (Mapping const &mapping, BslAdvectionRP< FootFinder, Mapping > const &advection_solver, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &rhs_evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
 Instantiate a BslPredCorrRP. More...
 
DSpanRP operator() (DSpanRP allfdistribu, double const dt, int const steps) const
 Solves on \( T = dt*N \) the equations system. More...
 
SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & SplineRPEvaluatorNullBound const &  rhs_evaluator,
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ConstantExtrapolationBoundaryValue< BSplines > Member List
-
-
- -

This is the complete list of members for ConstantExtrapolationBoundaryValue< BSplines >, including all inherited members.

- - - - - - - - -
ConstantExtrapolationBoundaryValue(coord_type eval_pos)ConstantExtrapolationBoundaryValue< BSplines >inlineexplicit
coord_type typedefConstantExtrapolationBoundaryValue< BSplines >
operator()(coord_type const pos, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >> const spline_coef) const finalConstantExtrapolationBoundaryValue< BSplines >inline
operator()(ddc::Coordinate< typename BSplines::tag_type > x, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >>) const =0 (defined in SplineBoundaryValue< BSplines >)SplineBoundaryValue< BSplines >pure virtual
tag_type typedefConstantExtrapolationBoundaryValue< BSplines >
~ConstantExtrapolationBoundaryValue() override=default (defined in ConstantExtrapolationBoundaryValue< BSplines >)ConstantExtrapolationBoundaryValue< BSplines >
~SplineBoundaryValue()=default (defined in SplineBoundaryValue< BSplines >)SplineBoundaryValue< BSplines >virtual
-
- - - - diff --git a/classConstantExtrapolationBoundaryValue.html b/classConstantExtrapolationBoundaryValue.html deleted file mode 100644 index 52eed89cd..000000000 --- a/classConstantExtrapolationBoundaryValue.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Gyselalib++: ConstantExtrapolationBoundaryValue< BSplines > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ConstantExtrapolationBoundaryValue< BSplines > Class Template Reference
-
-
- -

A class for describing a spline boundary value by a constant extrapolation for 1D evaluator. - More...

-
-Inheritance diagram for ConstantExtrapolationBoundaryValue< BSplines >:
-
-
- - -SplineBoundaryValue< BSplines > - -
- - - - - - - - -

-Public Types

-using tag_type = typename BSplines::tag_type
 Indicate the dimension we are working on.
 
-using coord_type = ddc::Coordinate< tag_type >
 Indicate the coordinate type in the dimension of the boundary condition.
 
- - - - - - - - - - -

-Public Member Functions

 ConstantExtrapolationBoundaryValue (coord_type eval_pos)
 Instantiate a ConstantExtrapolationBoundaryValue. More...
 
double operator() (coord_type const pos, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >> const spline_coef) const final
 Get the value of the function on B-splines at a coordinate outside the domain. More...
 
- Public Member Functions inherited from SplineBoundaryValue< BSplines >
-virtual double operator() (ddc::Coordinate< typename BSplines::tag_type > x, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >>) const =0
 
-

Detailed Description

-

template<class BSplines>
-class ConstantExtrapolationBoundaryValue< BSplines >

- -

A class for describing a spline boundary value by a constant extrapolation for 1D evaluator.

-

To define the value of a function on B-splines out of the domain, we here use a constant extrapolation on the edge.

-
See also
SplineBoundaryValue
-

Constructor & Destructor Documentation

- -

◆ ConstantExtrapolationBoundaryValue()

- -
-
-
-template<class BSplines >
- - - - - -
- - - - - - - - -
ConstantExtrapolationBoundaryValue< BSplines >::ConstantExtrapolationBoundaryValue (coord_type eval_pos)
-
-inlineexplicit
-
- -

Instantiate a ConstantExtrapolationBoundaryValue.

-

The boundary value will be the same as at the coordinate eval_pos given.

-
Parameters
- - -
[in]eval_posCoordinate inside the domain where we will evaluate each points outside the domain.
-
-
- -
-
-

Member Function Documentation

- -

◆ operator()()

- -
-
-
-template<class BSplines >
- - - - - -
- - - - - - - - - - - - - - - - - - -
double ConstantExtrapolationBoundaryValue< BSplines >::operator() (coord_type const pos,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >> const spline_coef 
) const
-
-inlinefinal
-
- -

Get the value of the function on B-splines at a coordinate outside the domain.

-
Parameters
- - - -
[in]posThe coordinate where we want to evaluate the function on B-splines.
[in]spline_coefThe coefficients of the function on B-splines.
-
-
-
Returns
A double with the value of the function on B-splines evaluated at the coordinate.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classConstantExtrapolationBoundaryValue.js b/classConstantExtrapolationBoundaryValue.js deleted file mode 100644 index 273f4f084..000000000 --- a/classConstantExtrapolationBoundaryValue.js +++ /dev/null @@ -1,8 +0,0 @@ -var classConstantExtrapolationBoundaryValue = -[ - [ "tag_type", "classConstantExtrapolationBoundaryValue.html#aae8a770049d4897e5472c2d01772bf5e", null ], - [ "coord_type", "classConstantExtrapolationBoundaryValue.html#af08b80060384a655dc1b1e8c96a65086", null ], - [ "ConstantExtrapolationBoundaryValue", "classConstantExtrapolationBoundaryValue.html#ad8756c3fca7296f63a606b171cabe682", null ], - [ "~ConstantExtrapolationBoundaryValue", "classConstantExtrapolationBoundaryValue.html#ab09155181c597a2488288c776da5a7b6", null ], - [ "operator()", "classConstantExtrapolationBoundaryValue.html#a0065a13a55757e01d555d68bc4729921", null ] -]; \ No newline at end of file diff --git a/classConstantExtrapolationBoundaryValue.png b/classConstantExtrapolationBoundaryValue.png deleted file mode 100644 index 6d660b17f3cb4c5a3688b24313d0592685d3edc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072 zcmeAS@N?(olHy`uVBq!ia0y~yU{nXP12~w0WX=`meLzYgz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-op58nYHn2Wxp-|Tq1YwpMt0P&dPVM{I$Q@ z?>_b~*_S=tL2H&#PlEl;HAhtFn|6U_2Q?#lW(fn$8taSf3mzP;STF#y&eAV zGQRiv8_i$#?7+^_`}azFRc9tW=Q#A!`TN}sQ&nHiuBqSPet6=OQ~n>n9EjL|@UpP; z-w6LnU!pOBZu;`n$Z08&)1LA)%s(dXz*OK>#l-RRmscQz;7d-0CrdS58CjO7H)t(9iILShCn51wv0!B3Mi12f4Oo>(4-(Q%T}fd409%++Hmah ztgDP}ZNI{g*73@0ol#!@ojIoPF~gTL@p)VGG8!yP`RuRj$TUoRmMP7akn)N%xz!)9ch@q0lZyWP@BX*jVVP@RSLgeu_5Avf8Io+?d-u=V zyH>54A?f*IK980C^RmoC|0XdUfARA2euwb3tj$}ueNa2Q>)q##yVUNwoMRAK#-n`0 z-z+;Y{)_OBLaXHC^WHFRF-zNUe&+Vw2{~!cWNl`;n9sdYYs|W=r2Fa8KFbZWUu)br z7xLsJ&+hqa~>fnXT59iO; zd;0LW8@EKoC+~;0zUS{2to9go_j3!3=Pyci|@r}Fxy~&5FscnYHiFI-dRM&pzggzWS64?C$?>EB_I(q5B%>!jrPh)t))|z eObI&ogZpZ?oo1>c_ZMLHX7F_Nb6Mw<&;$TOCIZy} diff --git a/classConstantExtrapolationBoundaryValue2D-members.html b/classConstantExtrapolationBoundaryValue2D-members.html deleted file mode 100644 index a9901ab08..000000000 --- a/classConstantExtrapolationBoundaryValue2D-members.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim > Member List
-
-
- -

This is the complete list of members for ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >, including all inherited members.

- - - - - - - - - - - - - - - - - -
BSplines1_is_periodicConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >static
BSplines2_is_periodicConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >static
BSplinesNoBC_is_periodicConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >static
ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc, coord_type_no_bc const eval_pos_no_bc_min, coord_type_no_bc const eval_pos_no_bc_max)ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >inlineexplicit
ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc)ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >inlineexplicit
coord_type1 typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
coord_type2 typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
coord_type_bc typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
coord_type_no_bc typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
Dim1 typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
Dim2 typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
NoBCDim typedefConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
operator()(coord_type1 const pos_1, coord_type2 const pos_2, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >> const spline_coef) const finalConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >inline
operator()(ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const =0 (defined in SplineBoundaryValue2D< BSplines1, BSplines2 >)SplineBoundaryValue2D< BSplines1, BSplines2 >pure virtual
~ConstantExtrapolationBoundaryValue2D() override=default (defined in ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >)ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >
~SplineBoundaryValue2D()=default (defined in SplineBoundaryValue2D< BSplines1, BSplines2 >)SplineBoundaryValue2D< BSplines1, BSplines2 >virtual
-
- - - - diff --git a/classConstantExtrapolationBoundaryValue2D.html b/classConstantExtrapolationBoundaryValue2D.html deleted file mode 100644 index ea6ad8655..000000000 --- a/classConstantExtrapolationBoundaryValue2D.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -Gyselalib++: ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim > Class Template Reference
-
-
- -

A class for describing a spline boundary value by a constant extrapolation for 2D evaluator. - More...

-
-Inheritance diagram for ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >:
-
-
- - -SplineBoundaryValue2D< BSplines1, BSplines2 > - -
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Types

-using Dim1 = typename BSplines1::tag_type
 Indicate the first dimension we are working on.
 
-using Dim2 = typename BSplines2::tag_type
 Indicate the second dimension we are working on.
 
-using coord_type1 = ddc::Coordinate< Dim1 >
 Indicate coordinate type in the first dimension we are working on.
 
-using coord_type2 = ddc::Coordinate< Dim2 >
 Indicate coordinate type in the second dimension we are working on.
 
-using coord_type_bc = ddc::Coordinate< BCDim >
 Indicate coordinate type in the dimension of the boundary condition.
 
-using NoBCDim = typename std::conditional_t< std::is_same_v< Dim1, BCDim >, Dim2, Dim1 >
 Indicate the complementary dimension of the boundary condition dimension.
 
-using coord_type_no_bc = ddc::Coordinate< NoBCDim >
 Indicate the coordinate type of the complementary dimension of the boundary condition dimension.
 
- - - - - - - - - - - - - - - -

-Public Member Functions

template<typename T = std::enable_if<!BSplinesNoBC_is_periodic>>
 ConstantExtrapolationBoundaryValue2D (coord_type_bc const eval_pos_bc, coord_type_no_bc const eval_pos_no_bc_min, coord_type_no_bc const eval_pos_no_bc_max)
 Instantiate a ConstantExtrapolationBoundaryValue2D. More...
 
template<typename T = std::enable_if<BSplinesNoBC_is_periodic>>
 ConstantExtrapolationBoundaryValue2D (coord_type_bc const eval_pos_bc)
 Instantiate a ConstantExtrapolationBoundaryValue2D with periodic splines on the no-boundary condition dimension. More...
 
double operator() (coord_type1 const pos_1, coord_type2 const pos_2, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >> const spline_coef) const final
 Get the value of the function on B-splines at a coordinate outside the domain. More...
 
- Public Member Functions inherited from SplineBoundaryValue2D< BSplines1, BSplines2 >
-virtual double operator() (ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const =0
 
- - - - - - - - - - -

-Static Public Attributes

-static constexpr bool BSplines1_is_periodic = BSplines1::is_periodic()
 Boolean set at True if the Bsplines on the first dimension is periodic.
 
-static constexpr bool BSplines2_is_periodic = BSplines2::is_periodic()
 Boolean set at True if the Bsplines on the second dimension is periodic.
 
-static constexpr bool BSplinesNoBC_is_periodic = std::is_same_v<Dim1, BCDim> ? BSplines2_is_periodic : BSplines1_is_periodic
 Boolean set at True if the Bsplines on the complementary dimension of the boundary condition dimension is periodic.
 
-

Detailed Description

-

template<class BSplines1, class BSplines2, class BCDim>
-class ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >

- -

A class for describing a spline boundary value by a constant extrapolation for 2D evaluator.

-

To define the value of a function on B-splines out of the domain, we here use a constant extrapolation on the edge.

-
See also
SplineBoundaryValue
-

Constructor & Destructor Documentation

- -

◆ ConstantExtrapolationBoundaryValue2D() [1/2]

- -
-
-
-template<class BSplines1 , class BSplines2 , class BCDim >
-
-template<typename T = std::enable_if<!BSplinesNoBC_is_periodic>>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >::ConstantExtrapolationBoundaryValue2D (coord_type_bc const eval_pos_bc,
coord_type_no_bc const eval_pos_no_bc_min,
coord_type_no_bc const eval_pos_no_bc_max 
)
-
-inlineexplicit
-
- -

Instantiate a ConstantExtrapolationBoundaryValue2D.

-

The boundary value will be the same as at the coordinate given in a dimension given. The dimension of the input defines the dimension of the boundary condition. The second and the third parameters are needed in case of non-periodic splines on the no-boundary condition dimension (the complementary dimension of the boundary condition), because the evaluator can receive coordinates outside the domain in both dimension.

-
Parameters
- - - - -
[in]eval_pos_bcCoordinate in the dimension given inside the domain where we will evaluate each points outside the domain.
[in]eval_pos_no_bc_minThe minimum coordinate inside the domain on the complementary dimension of the boundary condition.
[in]eval_pos_no_bc_maxThe maximum coordinate inside the domain on the complementary dimension of the boundary condition.
-
-
- -
-
- -

◆ ConstantExtrapolationBoundaryValue2D() [2/2]

- -
-
-
-template<class BSplines1 , class BSplines2 , class BCDim >
-
-template<typename T = std::enable_if<BSplinesNoBC_is_periodic>>
- - - - - -
- - - - - - - - -
ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >::ConstantExtrapolationBoundaryValue2D (coord_type_bc const eval_pos_bc)
-
-inlineexplicit
-
- -

Instantiate a ConstantExtrapolationBoundaryValue2D with periodic splines on the no-boundary condition dimension.

-

The boundary value will be the same as at the coordinate given in a dimension given. The dimension of the input defines the dimension of the boundary condition. This constructor can only be used with periodic splines on the no-boundary condition dimension. Otherwise, we have to use the previous constructor.

-
Parameters
- - -
[in]eval_pos_bcCoordinate in the dimension given inside the domain where we will evaluate each point outside the domain.
-
-
- -
-
-

Member Function Documentation

- -

◆ operator()()

- -
-
-
-template<class BSplines1 , class BSplines2 , class BCDim >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
double ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >::operator() (coord_type1 const pos_1,
coord_type2 const pos_2,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >> const spline_coef 
) const
-
-inlinefinal
-
- -

Get the value of the function on B-splines at a coordinate outside the domain.

-

In the dimension defined in the constructor Dim1 (or Dim2), it sets the coordinate pos_1 (or pos_2) given at the m_eval_pos_bc coordinate if it is outside the domain. If the coordinate on the complementary dimension of the boundary condition dimension pos_2 (or pos_1) is outside the domain, then it also sets the coordinate at eval_pos_no_bc_min (if pos_2 (or pos_1) \( < \) eval_pos_no_bc_min) or at eval_pos_no_bc_max (if pos_2 (or pos_1) \( > \) eval_pos_no_bc_max).

-
Parameters
- - - - -
[in]pos_1The coordinate in the first dimension where we want to evaluate the function on B-splines
[in]pos_2The coordinate in the second dimension where we want to evaluate the function on B-splines.
[in]spline_coefThe coefficients of the function on B-splines.
-
-
-
Returns
A double with the value of the function on B-splines evaluated at the coordinate.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classConstantExtrapolationBoundaryValue2D.js b/classConstantExtrapolationBoundaryValue2D.js deleted file mode 100644 index af29f5b1c..000000000 --- a/classConstantExtrapolationBoundaryValue2D.js +++ /dev/null @@ -1,14 +0,0 @@ -var classConstantExtrapolationBoundaryValue2D = -[ - [ "Dim1", "classConstantExtrapolationBoundaryValue2D.html#a026277035a0c82fcacad36615880c0b2", null ], - [ "Dim2", "classConstantExtrapolationBoundaryValue2D.html#a387b995ef1c83a6231f48f639b8cceb2", null ], - [ "coord_type1", "classConstantExtrapolationBoundaryValue2D.html#a299e90d013db5760d9d5eddf09e65983", null ], - [ "coord_type2", "classConstantExtrapolationBoundaryValue2D.html#af2dbe50fa1a5e2c0a886f68050b0cb14", null ], - [ "coord_type_bc", "classConstantExtrapolationBoundaryValue2D.html#a60fca7bd0cfc5d62eac436aed6999478", null ], - [ "NoBCDim", "classConstantExtrapolationBoundaryValue2D.html#a75bbdf35f1f8bcb4893cbae1fae4414b", null ], - [ "coord_type_no_bc", "classConstantExtrapolationBoundaryValue2D.html#a29a881d8ec135b757133504275194143", null ], - [ "ConstantExtrapolationBoundaryValue2D", "classConstantExtrapolationBoundaryValue2D.html#ab4eb4f906370d95343681984c1286539", null ], - [ "ConstantExtrapolationBoundaryValue2D", "classConstantExtrapolationBoundaryValue2D.html#ade982cfc826992a284c102549a553638", null ], - [ "~ConstantExtrapolationBoundaryValue2D", "classConstantExtrapolationBoundaryValue2D.html#a3c1338e996570852fd9ea690ed6a8e17", null ], - [ "operator()", "classConstantExtrapolationBoundaryValue2D.html#aa2d150cef282326983fab5e3567e6c7f", null ] -]; \ No newline at end of file diff --git a/classConstantExtrapolationBoundaryValue2D.png b/classConstantExtrapolationBoundaryValue2D.png deleted file mode 100644 index a618db014079608f8a332b80b8a13c7b375250e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1334 zcmeAS@N?(olHy`uVBq!ia0y~yU|a`e2XHV0$+9Dfr9es|z$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-op#nce7h9QrZO5s#oh#?rx=&SE{3%ZE zZ1(K(>dirETl+8H&bxK_>%KJ@I*^JL6eI@ANoNsZ|&9?ysD-GwSBD_<769@9efS-XVPB?2cb^ z(=2`c!o%-NEy+&Rxm$N;f0ya$RPL{VRmYEh*yR}Am(N^Q{eD*MIh`jBvkrz#T{83i zo06+*pIhvmcD9}E?ZYWcs=o-wc&=K1_+Dt~if!drcjPon?Y*_G^!n~~OUqfqC%ww< zxZwEyRBPsX|80k^<|_QZF+=9o*Ec*5f3D%w+q$h}rsHc%|MOypZNBbiJ8YuzGW+hm z-M>!hdd`3S@BF?u7TkY$IX$he?(cie?p=JfNJ@N%O6HRIHD|8R`!A{I$>n+JEj%_f z3OpxCv+8*kEoNVr8aeI4CY^3(#y|bPm<5M z7%hShFcmBYO1d?2ALwNgZvYy=0E}RUJdqs?cYq3Z1U{gOg8!o7UYe~zUMHJ97!(`o zk+@d%?tc?!n``ba}UexpQkrp7YPlRx3{KHG$wy_ zn(P^=nIUJcRI>g8rn`d@;lcAa9n8tzzT;b@ut~Uij@pUyIT4?K-B`_;sb-|0U>Nc| zVcVCu@?Cpl<+cb%-RE3q&a>vQ;X3gTb8>2{(s!^`UtYFB{Pr)OFNvXEvg=lH@~NA7 z`!_9|Wt;5X!ogVbGv^x^2TG*7m>&W3=+t|;W@0K^6e#g}CCVcOzrAIrhfoUf=aP_NTdH zZS1?)>AYz>tki{`&ib}4CV$@kueYA_{m-gnJ$`NXH`X)4d5LqcTkW%)aVkyyUeccC1c&($dpBQU2>@SG#Rvm~EA^tnT`Px1p+QV~oCkkWB36exUdF$d~qa z(`C~eFVdQ&MBb@0PYfom;e9( diff --git a/classCurvilinear2DToCartesian.html b/classCurvilinear2DToCartesian.html index 0db9a7291..49cdb594b 100644 --- a/classCurvilinear2DToCartesian.html +++ b/classCurvilinear2DToCartesian.html @@ -116,11 +116,11 @@
-DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineBuilder2D > -AnalyticalInvertibleCurvilinear2DToCartesian< DimX, DimY, DimR, DimP > -CircularToCartesian< RDimX, RDimY, RDimR, RDimP > -CircularToCartesian< DimX, DimY, DimR, DimP > -CzarnyToCartesian< DimX, DimY, DimR, DimP > +DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineRPBuilderRefined, SplineRPEvaluatorRefined > +AnalyticalInvertibleCurvilinear2DToCartesian< DimX, DimY, DimR, DimP > +CircularToCartesian< RDimX, RDimY, RDimR, RDimP > +CircularToCartesian< DimX, DimY, DimR, DimP > +CzarnyToCartesian< DimX, DimY, DimR, DimP >
diff --git a/classCurvilinear2DToCartesian.png b/classCurvilinear2DToCartesian.png index 0659d3a8d408beedba692fec9cc20ad1b46afc79..2753fe5b6b2dda3ae6d44d6545d826dc18f3a706 100644 GIT binary patch literal 5247 zcmdT|3sjQXzPIaGbEnswQVbcl-p=vWFO2f( zz37$UGZY2GB1`rX~DmklL7cE$B-=i=6aJO`NGrxKa= zwCFXOS|W^_jg|!=yl)k}ZDfoON8QsACtr`)m-$ZZ%kDrw*{%2Io_SsN_@7HUrH{mp zcZr`-Qqu*^LrLniRBmA8CT+Y{AZfRumYbW>@w(a;R4_utKz7}2J%ue+^#*2155BNg zeensy_ETH?My{@7AZI8~Mp{d&Y_P$)fwX%ak(D!K5h07j4)3#>%d3?>oIJx-%GKNo zm1RI;WvTm4Luo9)p8inL&P@;D&Z}#~-1bzXVVST>YJ+GYo72unpbOr0MFg438d?d2 zd1Z5wTk8#RZJ96&Nmh4u)V7yr1YZ-?7Fw<6|6;xND?^$5d8-BOed26n(Ck9%M9^Bs z!fMuyc3uKUbjo}MBEbWqXTP7%y-}={rz2xPA)+T9PeKQkRaao+(kq|PhNZjV^^uYJ z1*!&C6Mt@2Iw3p#AGC0{3_Oi7BOCYttDetp-hv9G(k2QReUmxa$n2)flPSNvb6cT5 z?Ej}vMwB5?PEE;ls*|*mzJ|To;$E7(KDj}RWQcvZ}9QXldX8Ke9)}MsAk~dfDP{`IFM`M)Xhd&x}`-$e60b$VV`7a4a{p~*u z|1S*qe`NnYEIYQH?+IT+$9k{`9RMJ)*J$WqJ6(LvsA#ZFJ*IFq?%Cjg2MQ${jXDF{ z(pOsflB)t9$BZFpK8d^>WB1v_i-qO)mddEp@2=)|zz77`x{^O%iUkCMrNWH8Zd5wh zN`7aVQ8$Gv^IN7O+}O2jTRh=(#4xt}-s!MHgz=Ogf>2Z-i0ti!8JEteq(to8Ih6m_ z+;~u0AkPNSiML`gs0b@iz!%ETnrp^ApxG4Q3vWQX=wA(SJm3o|mS8;aXjr}M(7_iJ zJGycG>8Jm~R8R*;RHnyG!Lko zpZyKQ!nK7WfIbE)_j^wsijWHqJZrkaaPBM)WohhrYA>2}5~%TQe+JJuJw1$F8jEVs z_>ztRb#?F<2&ZKvFJW=)eVIKSejKQ^%d$b}UbOS-1yb=;$_{vyV}?3Z7nI4reYPn> z>C~O%v~f}>VW{->3&TEY(}?0W-W( zY0;P%6s|xBy@W038%g4Itkm>JONU!iq-ltu9dMh*WHnzDm1cWicmnI(#j7Aa3^Jap z;Q}>=*aCG*S;&YWICAGtFd4baswSyZN9ndKT~&eg^stEs4w@->x3+iI&nt6IB*`7Z zHzvn>*p)y-no_g1%MFdZDr{u6b2GVWye^90q504)-NXF#43kx+ z&&+i}Q>j|3?p&AR{#@^RdL9SYrRj)3wBqgkXb8!>Mqa}7S!Ww-bNQWtT&O@CmGTLhOx^dgmZ#tfJSce-^&{sRNTThzy#X-PbzzeW*uDm6b*ZWB_zkXx1KhDQD5>uqd2r zC@en2we=KH&+wm9%srp!3;P@IfJ!Lr*b1ZRls?S2cYMahjk?+G8gDN;x);SgwJaPY0FoyoX$jng5#3348WDOa=#x>4qo-sVN@nL?XRREbs)5tz zv2?tC=0m)2wL+d4>Hb}TnIvZ-Uc~HE9wPcYQenaL4i;~?=ulA{`fu^S321L3zAafNXC!$qG4Y@g9JGB?wjdZ-k8^SQOI z0`=6n4X)?9sX6`vk>&WWiX0C&*2;^;Br#_AAlixKk*uub=#!LWa&iqrT0?loXb8W_ z^pT*D_#h@>S})j@)wXAN(uNL~4+dRw#D^iiXL%>L{E5NBOLyB;>tk>EWxkbP3nwSv zWuggp&h^AOQJEe`<@3m{kj&uvUz{|>P-g6pAN@lKB&tZ^CEG_pK(Q;iVC(Eg zN0jo<^D_+}B58TWB-F0Ig| zOv_OQd9nsOQ|GZtVgJ^jnJn0yzs_;W5m0tJd`R05$&{@0qL&TQpH?DVH^y+Yh`B?M z&dHf$FwwZQyrfO8wQ{`l#?HPW)w{lR4%K|{9N>ky|%ny4gkn^$(a z#C1cAN29Qo`VIC0Ufr$~tQfrZb;L0M+VP?fI-w8g7$*F)SWXu;@p`2FdO0`snH1U` zm`&jU(PF;TB?cbE$cYhAYD?;TVA-pv$Wy zeIX<^M#OD=`h;u`cSkJ(grWkWUQV@qV&*ZFOxjXl$S7lO#Efk~t{8i~M-FD!wbdvG z_->%upYF#N373-3$2H+Q;5)jP@A+3Gsu7Fm!KKHw`7Q3IZJgnum>F3C(7N0I9>3Yu ztN5I)oG*wR6J~8!~X7)9W^cEzu_k3pp5M4;1Z4UUZiZi{hN43ce%Vo+VbBTeTjm!qrl}JKKg~o5z^Sp zv~h1~m?}*;o*up#=QR2oK2S%Y4a-Z!lMfoiq^ z9FNaHIiOkKzRSJ^R?{>;PqzoS+58zi6R}e>D5F6}<cO{mD+F$uT`r0dHm4EE)?4aORmYB+_%CIHS1Zga0CnkVAfqO#^Z zd+&QfW)U*#hm0Zd*F(DVmD4TD)B3soR_XOxOk#B&V$HNKJBC>VK;0Aw!t}xvfN6{H zj*y4p0mos+0=&=NFJUs!g7b%jG!TG`psEpAOA5P7MZR#*jhm@bC0$LSk9htj6vn3Z z;b=A5J;JHHDZ2J}%7bF4{;)wVO!9Yf<3PFjYT31YFcL=zSW349v=iFIb$co`OL*aV zHmM^blRrDBk+F80jzda-4DEDd>L)~xnl10B83`^KYqaZu%aI0n=w*_#p)d#R;O2Qn z2j7atC7rFYtA@)_g+gc((Q_5->Wu3?gGTsqpz$Cf4P2GE`IWTN_agJIKisN`(9iA1 z#b}(FLu@(YMQaej@iwn=vk0o$umrzP$X%%;vlS{FNa1`gY|M`kR)9d8KgN-Jy#e zJ+Njf3%`cV*p|P&Sd9Kr+5VUAx?sQK^9h=o$wzYbI!R{}6hK(d27D7YQ+bJI+vV_9 zP2t-E5IqMWD!^Y|i_Y3-Gk4PH4)&ls@Z2{(VCFeIfXmxKo9FT^>Ulkdz=s{cuC%4X zMorNORI?e}QRcAq_Sq&m;Gl$1K-;c&X9ZBrIzY1KTY8ehp%pIo`sYzVxZfB^$T|NP zLBenwGc#mr;99m9*tX$X#{ittaQ9oebg>HqwraQ-=0`2%MIbv`0uGxgLq0^WD6QD(7Z~y=R literal 4599 zcmd5=3sh5A)~2;e>xB)92B`>w%2NaBR7Xq|a73gi5FH4L8p1P?M-r70>!_p# zB}#<&DkvbSL0*O=P&!0R11d%cAqi~)QDPD#gplW*dlTz))^z>r|JRyX>)%=T-gE9b zXPuwj94`pEa>knsu_nG&$dV>%5T|4*u2><}F z`0}+Om-78LV99Z{x3|wcI|Ku(ALi_iig5uuK_Ys*XM>B&C&j3(f82BYJ&jb2AN=um zAGF_WERz8jqmRv?em)SQ+VPidnw>L0-e0utUKshtFf61Zs(RDg>;4}h={PX>=Ei~J z^ENL6<@}u$u-V1^-)(^!zW!e|99EW)%?4K^32S#BZ|C>mvJ=q#eVUzi(IFqjCh5a5 zg)LP8#NZ3g_r`WynV(g@3zQ8183Zf)w1;4N><2j)zyx-uQaIhbTwfzaYpq3JlEQiw zEL~j3m6FUdNB;l?-m1RJ;h4s!D1E8d!pn>rL7s|IE=W){>pTUR{rEgGq2lGlEfoPq z*Ui`EFRGOf?6D&;wYTh1i_gDuKlIT|P$D*_^LdqG%siy8+O(lw_oCJ&c_AuM0ZgD` zt#LJv4p>bO1$kqlA7E(S1xOb7GqJXv+v{Fy zxtcQH2pdLJlRC6@t_S`zP(oNwmo(@X*r)6dTeA0Eu+VB_O=gWjZAmPnaZGYMFJatp zj6SIG75lN-I5ws>8K@cCw?1QK@qCBRcnmyR0ZgiOZK;g@Nznpcokq9rvhG`zFHX|q zC;0YZVZv&(hE;wz@Qqm&>`EZ`2tG}!AqdKJNMH7`<2Pq_5w6FaJ_X8*H2xWes@pP= z5Rc1Z&T#l+?Fty_nio!xjp6V)A49I-{~f;YGxwy<`H&q~9pRrj^;6($N5jqkdqdx= zoSL`SvgOc(pjf#}XTOys{#`8%%65bH+j*FN=G3Y*Ewq9I?pXb<47e~1+Qi&j*p;(OZnvI+W;yuZnZ&xLFCa27 zvTrg@__h!nXaq~Zu52XuwjVV6!JVkx;BNyfmX6bw-lnD;uLXD1F+4cxtOUu2yilIq z<9nfnb~Fl|6)d+kn))U6r+Zo8CX0^Jot44DYzF)?ymS8uXrNjBLC#8}X*3+=jVf+_ z4DNfbc4#yjN7mt}%9Cn>P6RUuis9-vA{AWFa#h=}vYFA#0rAD8)q`OtC`NUs#k@0r zs=(C{w1X;a2|IVRTiSu6tnW^(8?=TRQ4^(_iY^w`xQ}SK6ZViqSvM$Lhhilci~tEm z0~e%ZXSVe0j(#^cFJXhRpv&ATl*z~53tosAGCsoqf4`W7mm*IXtL&VOOI5F#a~{Dq zSu8MVd?ju9`1l|0Ip->>n2J&ejv8M1N`0nkANQ6Tb}F0V?3AFd>1VWhmPL`5FlDQO zn_f9hRUxsap4>!4bgF2^dpI2pC|e;z-ZN`*8M$v7U+yMVCReA`kq)m(sA`?kk~418 zXWFf)p*Phfy$n<@sX=?Kb_yR4OpjR92(_LU+6AZIKcZI+d3C$t!|$?dGh4$XYct5U zrr^me9*!$dO%`hqd0G3qgcq#J$H2*1Z~XB9N<4Ol7jqeolzM~y>)(=1mxn)AA2PLV zl^&B$Ua-7qS;MWE*r31=Wr@7Kr)$%+FZy{|w*^h?nRd=XCfyp`lOl;gn_u^H3#Mq% z5(Zm}0Y1m|kQ*)~HZ)oXYJ?2%#F71njBBcW6eNi(PQ9b8*(k$}UJ@M-QQIy9Gv@vL z)0So;b!C-a&l~+L6NFr!FV{3p$Z~59IJ=@6iG7|irbhxx{m8hnmmgpvo~wG zR?RBT<}T%f6@n>MZ_4cko=-3@bBYEpY)X+wvKt=B>gsCcEwiwq(O%FO8AplfbW0ZD z)3OzKruFZ&lGvhp!Omh`Scf)pplOSN3u2B zV7-&(S2A5vu;9sv;u*82uPyMJ@O`pzi}9SK=Y4=sl2fhos@8n9z0 zH0Kpdu*8!fP*2S!7k<@f%GQ=DRr?r{QSMOEIZ>pvupnwgh>&pNXw%wl3<5c)8_Avk zh(+6@B$>pQTyM5ek}ghM2ixlz-!Yao{q_u1kkGOO><qHjA6iC4EzG*lQxWgNN;<}>%9 zR-ruLRz+X|JGY@zGm$MXf%(w;M>BXN4Yy4M&{uI1A0op}c=akvXWB)MMcivZda5(o zmFergpZeQtUzXsaAM)K&lF+&&t=5q4t^1qOr%Ltn=)a{Tq zBHksHWb7A>96y?b!>L!{;tG!GfGknjIZo*Xk*1X=A|R)S9|Qb(KlhzU&!dJ%s#F-k zVzW88RC&72kqrw@gNbide)rz1aNw+@0hkk)EE+|J8Tma?RN?W7BZ#;l*|&*~Gd7N4 z!%<1k@5kL?gZ*ewKg6&54gb>bXRx0)DoKX^YVTgGy)hd(yxQC z=hXhE^L4#r=HlifdLfazhdLMM^ofATn8>~WQ9xwhK)EHYysEq^ZPS9cFg;EDO_c6J z^uEJh@6o(>K)qx=&*tO+ARHb2H4BLSpTYV+#{t|s5WU$#J)-|#9&WQ{&+dBB;zWN3 zYq^BM(DA%c+nUn#Z;65f%}Y{_3_%2;5DUG|f;*hUqx*Ra#1Ez&AnEQq`6OKZbHqq~`eSJOV4a{D>G(e$9uYaCq$kaDSW$F5-Q5eQe*Ud2IssgEL4 z3*HXOz}xoFXx38xkGAIY{1^tj=<2Kzi=m2idkmY0One`oq(%l67UrE5HIBCF8jsFO2rz*X^a! zi-=!wVbc*KmJV`_SsNNj&GcXiffK6XZY%PtMKwWELYCMvY7bvT{}^{m{@knkaMei# z3HD6L*HlNm#}kwFh7Fx~Vo1cRemVA~mOx@zwXM^2)`<~ZtefpaNS)%J>L#7)NXuF3 z1-#|Ts&G{C#(5q_uR*hh#alQY+wJY^{KN_pi|sGh#8Ye^kau&92?!r_g}PLPDqBCk zD&tWQpkow)U>=Ph_v$Z_ws}>vFQx>}e?I1R)e`C5b8+CW)8U6BiPZDS%R;p1W&;}o zgby2|J173Wp>u&z!({67X#&f!a38sw_11*?ECNmZW*X+$`0uNab(L~V%P-i&b)h48 zj}{@!-$>t8w}lA#!Kaa{_(V<(Zi^XDLt@p8*Yud6e*0M!5JXNCUa#Ps+i=u(v_sMINO;wI=0dGg3B!v8QxRV?`CkT{ylJ_^7oS;zyK5jVD4)~dp0|#c@Q7Ny>%TZ~>K`vtT66#a diff --git a/classDiscreteToCartesian-members.html b/classDiscreteToCartesian-members.html index 9a6becc37..485934a68 100644 --- a/classDiscreteToCartesian-members.html +++ b/classDiscreteToCartesian-members.html @@ -100,28 +100,28 @@
-
DiscreteToCartesian< DimX, DimY, SplineBuilder > Member List
+
DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator > Member List
-

This is the complete list of members for DiscreteToCartesian< DimX, DimY, SplineBuilder >, including all inherited members.

+

This is the complete list of members for DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >, including all inherited members.

- - - - - - - - + + + + + + + + - - - + + + @@ -129,28 +129,28 @@ - + - + - + - + - + - + - + - - - - - + + + + +
analytical_to_discrete(Mapping const &analytical_mapping, Builder2D const &builder, Evaluator2D const &evaluator)DiscreteToCartesian< DimX, DimY, SplineBuilder >inlinestatic
BSplineP typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
BSplineR typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
cartesian_tag_x typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
cartesian_tag_y typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
circular_tag_p typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
circular_tag_r typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
control_point(ddc::DiscreteElement< BSplineR, BSplineP > const &el) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
analytical_to_discrete(Mapping const &analytical_mapping, SplineBuilder const &builder, SplineEvaluator const &evaluator)DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inlinestatic
BSplineP typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
BSplineR typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
cartesian_tag_x typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
cartesian_tag_y typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
circular_tag_p typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
circular_tag_r typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
control_point(ddc::DiscreteElement< BSplineR, BSplineP > const &el) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian()=default (defined in Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >)Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
Curvilinear2DToCartesian(Curvilinear2DToCartesian const &other)=defaultCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
Curvilinear2DToCartesian(Curvilinear2DToCartesian &&x)=defaultCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
curvilinear_tag_p typedefCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
curvilinear_tag_r typedefCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
DiscreteToCartesian(ddc::Chunk< double, spline_domain > &&curvilinear_to_x, ddc::Chunk< double, spline_domain > &&curvilinear_to_y, SplineEvaluator2D< BSplineR, BSplineP > const &evaluator)DiscreteToCartesian< DimX, DimY, SplineBuilder >inline
IDimP typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
IDimR typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
DiscreteToCartesian(SplineType &&curvilinear_to_x, SplineType &&curvilinear_to_y, SplineEvaluator const &evaluator)DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
IDimP typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
IDimR typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
inv_jacobian_11(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
inv_jacobian_12(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
inv_jacobian_21(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
inv_jacobian_matrix(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
inverse_metric_tensor(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
jacobian(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
jacobian_11(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
jacobian_11(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::jacobian_11(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
jacobian_12(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
jacobian_12(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::jacobian_12(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
jacobian_21(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
jacobian_21(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::jacobian_21(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
jacobian_22(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
jacobian_22(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::jacobian_22(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
jacobian_matrix(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
jacobian_matrix(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::jacobian_matrix(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
Matrix_2x2 typedefDiscreteToCartesian< DimX, DimY, SplineBuilder >
Matrix_2x2 typedefDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >
metric_tensor(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inlinevirtual
operator()(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
operator()(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const finalDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >::operator()(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >pure virtual
operator=(Curvilinear2DToCartesian const &x)=defaultCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
operator=(Curvilinear2DToCartesian &&x)=defaultCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
to_covariant(std::array< double, 2 > const &contravariant_vector, ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >inline
to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) constDiscreteToCartesian< DimX, DimY, SplineBuilder >inline
to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) constDiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >inline
~Curvilinear2DToCartesian()=default (defined in Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >)Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >virtual
diff --git a/classDiscreteToCartesian.html b/classDiscreteToCartesian.html index ac0173828..038a4ccb3 100644 --- a/classDiscreteToCartesian.html +++ b/classDiscreteToCartesian.html @@ -5,7 +5,7 @@ -Gyselalib++: DiscreteToCartesian< DimX, DimY, SplineBuilder > Class Template Reference +Gyselalib++: DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator > Class Template Reference @@ -105,60 +105,60 @@ Static Public Member Functions | List of all members
-
DiscreteToCartesian< DimX, DimY, SplineBuilder > Class Template Reference
+
DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator > Class Template Reference

A class for describing discrete 2D mappings from the logical domain to the physical domain. More...

-Inheritance diagram for DiscreteToCartesian< DimX, DimY, SplineBuilder >:
+Inheritance diagram for DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >:
- - + + Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -183,45 +183,45 @@

Public Types

-using BSplineR = typename SplineBuilder::bsplines_type1
 Indicate the bspline type of the first logical dimension.
 
-using BSplineP = typename SplineBuilder::bsplines_type2
 Indicate the bspline type of the second logical dimension.
 
-using cartesian_tag_x = DimX
 Indicate the first physical coordinate.
 
-using cartesian_tag_y = DimY
 Indicate the second physical coordinate.
 
-using circular_tag_r = typename BSplineR::tag_type
 Indicate the first logical coordinate.
 
-using circular_tag_p = typename BSplineP::tag_type
 Indicate the second logical coordinate.
 
-using IDimR = typename SplineBuilder::interpolation_mesh_type1
 Indicate the first logical coordinate in the discrete space.
 
-using IDimP = typename SplineBuilder::interpolation_mesh_type2
 Indicate the second logical coordinate in the discrete space.
 
-using Matrix_2x2 = std::array< std::array< double, 2 >, 2 >
 Define a 2x2 matrix with an 2D array of an 2D array.
 
+using BSplineR = typename SplineBuilder::bsplines_type1
 Indicate the bspline type of the first logical dimension.
 
+using BSplineP = typename SplineBuilder::bsplines_type2
 Indicate the bspline type of the second logical dimension.
 
+using cartesian_tag_x = DimX
 Indicate the first physical coordinate.
 
+using cartesian_tag_y = DimY
 Indicate the second physical coordinate.
 
+using circular_tag_r = typename BSplineR::tag_type
 Indicate the first logical coordinate.
 
+using circular_tag_p = typename BSplineP::tag_type
 Indicate the second logical coordinate.
 
+using IDimR = typename SplineBuilder::interpolation_mesh_type1
 Indicate the first logical coordinate in the discrete space.
 
+using IDimP = typename SplineBuilder::interpolation_mesh_type2
 Indicate the second logical coordinate in the discrete space.
 
+using Matrix_2x2 = std::array< std::array< double, 2 >, 2 >
 Define a 2x2 matrix with an 2D array of an 2D array.
 
- Public Types inherited from Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
using cartesian_tag_x = DimX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -283,14 +283,14 @@

Public Member Functions

 DiscreteToCartesian (ddc::Chunk< double, spline_domain > &&curvilinear_to_x, ddc::Chunk< double, spline_domain > &&curvilinear_to_y, SplineEvaluator2D< BSplineR, BSplineP > const &evaluator)
 Instantiate a DiscreteToCartesian from the coefficients of 2D splines approximating the mapping. More...
 
ddc::Coordinate< DimX, DimY > operator() (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the physical coordinates from the logical coordinates. More...
 
void jacobian_matrix (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const final
 Compute full Jacobian matrix. More...
 
double jacobian_11 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (1,1) coefficient of the Jacobian matrix. More...
 
double jacobian_12 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (1,2) coefficient of the Jacobian matrix. More...
 
double jacobian_21 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (2,1) coefficient of the Jacobian matrix. More...
 
double jacobian_22 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (2,2) coefficient of the Jacobian matrix. More...
 
void to_pseudo_cartesian_jacobian_center_matrix (ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
 Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central point. More...
 
double to_pseudo_cartesian_jacobian_11_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_12_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_21_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_22_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
const ddc::Coordinate< DimX, DimY > control_point (ddc::DiscreteElement< BSplineR, BSplineP > const &el) const
 Get a control point of the mapping on B-splines. More...
 
 DiscreteToCartesian (SplineType &&curvilinear_to_x, SplineType &&curvilinear_to_y, SplineEvaluator const &evaluator)
 Instantiate a DiscreteToCartesian from the coefficients of 2D splines approximating the mapping. More...
 
ddc::Coordinate< DimX, DimY > operator() (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the physical coordinates from the logical coordinates. More...
 
void jacobian_matrix (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const final
 Compute full Jacobian matrix. More...
 
double jacobian_11 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (1,1) coefficient of the Jacobian matrix. More...
 
double jacobian_12 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (1,2) coefficient of the Jacobian matrix. More...
 
double jacobian_21 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (2,1) coefficient of the Jacobian matrix. More...
 
double jacobian_22 (ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
 Compute the (2,2) coefficient of the Jacobian matrix. More...
 
void to_pseudo_cartesian_jacobian_center_matrix (ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
 Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central point. More...
 
double to_pseudo_cartesian_jacobian_11_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_12_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_21_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_22_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
const ddc::Coordinate< DimX, DimY > control_point (ddc::DiscreteElement< BSplineR, BSplineP > const &el) const
 Get a control point of the mapping on B-splines. More...
 
- Public Member Functions inherited from Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >
 Curvilinear2DToCartesian (Curvilinear2DToCartesian const &other)=default
 Instantiate a Curvilinear2DToCartesian from another Curvilinear2DToCartesian (lvalue). More...
- - - - + + + +

Static Public Member Functions

template<class Mapping , class Builder2D , class Evaluator2D >
static DiscreteToCartesian analytical_to_discrete (Mapping const &analytical_mapping, Builder2D const &builder, Evaluator2D const &evaluator)
 Define a DiscreteToCartesian mapping from an analytical mapping. More...
 
template<class Mapping >
static DiscreteToCartesian analytical_to_discrete (Mapping const &analytical_mapping, SplineBuilder const &builder, SplineEvaluator const &evaluator)
 Define a DiscreteToCartesian mapping from an analytical mapping. More...
 

Detailed Description

-

template<class DimX, class DimY, class SplineBuilder>
-class DiscreteToCartesian< DimX, DimY, SplineBuilder >

+

template<class DimX, class DimY, class SplineBuilder, class SplineEvaluator>
+class DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >

A class for describing discrete 2D mappings from the logical domain to the physical domain.

The mapping describe here is only defined on a grid. The DiscreteToCartesian class decomposes the mapping on B-splines to evaluate it on the physical domain.

@@ -299,33 +299,33 @@

This mapping could be costly to inverse.

See also
Curvilinear2DToCartesian

Constructor & Destructor Documentation

- -

◆ DiscreteToCartesian()

+ +

◆ DiscreteToCartesian()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >
- + - + - + - + @@ -342,7 +342,7 @@

Instantiate a DiscreteToCartesian from the coefficients of 2D splines approximating the mapping.

-

A discrete mapping is a mapping whose values are known only at the mesh points of the grid. To interpolate the mapping, we use B-splines. The DiscreteToCartesian mapping is initialized from the coefficients in front of the basis splines which arise when we approximate the functions \( x(r,\theta) \), and \( y(r,\theta) \) (with \( x \) and \( y \) the physical dimensions in the logical domain) with Splines (using SplineBuilder2D). Then to interpolate the mapping, we will evaluate the decomposed functions on B-splines (see DiscreteToCartesian::operator()).

+

A discrete mapping is a mapping whose values are known only at the mesh points of the grid. To interpolate the mapping, we use B-splines. The DiscreteToCartesian mapping is initialized from the coefficients in front of the basis splines which arise when we approximate the functions \( x(r,\theta) \), and \( y(r,\theta) \) (with \( x \) and \( y \) the physical dimensions in the logical domain) with Splines (using SplineBuilder2D). Then to interpolate the mapping, we will evaluate the decomposed functions on B-splines (see DiscreteToCartesian::operator()).

Here, the evaluator is given as input.

Parameters

DiscreteToCartesian< DimX, DimY, SplineBuilder >::DiscreteToCartesian DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::DiscreteToCartesian (ddc::Chunk< double, spline_domain > && SplineType &&  curvilinear_to_x,
ddc::Chunk< double, spline_domain > && SplineType &&  curvilinear_to_y,
SplineEvaluator2D< BSplineR, BSplineP > const & SplineEvaluator const &  evaluator 
@@ -352,30 +352,30 @@

See also
SplineBuilder2D
+
See also
SplineBuilder2D
DiscreteToCartesian::operator()
-SplineBoundaryValue
+SplineBoundaryValue

Member Function Documentation

- -

◆ operator()()

+ +

◆ operator()()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

- + - + @@ -388,7 +388,7 @@

Compute the physical coordinates from the logical coordinates.

-

It evaluates the decomposed mapping on B-splines at the coordinate point with a SplineEvaluator2D.

+

It evaluates the decomposed mapping on B-splines at the coordinate point with a SplineEvaluator2D.

Parameters

ddc::Coordinate<DimX, DimY> DiscreteToCartesian< DimX, DimY, SplineBuilder >::operator() ddc::Coordinate<DimX, DimY> DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::operator() (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord) const
@@ -396,31 +396,31 @@

Returns
The coordinates of the mapping in the physical domain.
-
See also
SplineEvaluator2D
+
See also
SplineEvaluator2D
- -

◆ jacobian_matrix()

+ +

◆ jacobian_matrix()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

[in]coordThe coordinates in the logical domain.
- + - + - + @@ -455,21 +455,21 @@

-

◆ jacobian_11()

+ +

◆ jacobian_11()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

void DiscreteToCartesian< DimX, DimY, SplineBuilder >::jacobian_matrix void DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::jacobian_matrix (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord,
Matrix_2x2Matrix_2x2 matrix 
- + - + @@ -482,7 +482,7 @@

Compute the (1,1) coefficient of the Jacobian matrix.

-

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (1,1) coefficient of the Jacobian matrix is given by \( \frac{\partial x}{\partial r} \). As the mapping is decomposed on B-splines, it means it computes the derivatives of B-splines \( \frac{\partial x}{\partial r} (r,\theta)= \sum_k c_{x,k} \frac{\partial B_k}{\partial r}(r,\theta)\) (the derivatives are implemented in SplineEvaluator2D).

+

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (1,1) coefficient of the Jacobian matrix is given by \( \frac{\partial x}{\partial r} \). As the mapping is decomposed on B-splines, it means it computes the derivatives of B-splines \( \frac{\partial x}{\partial r} (r,\theta)= \sum_k c_{x,k} \frac{\partial B_k}{\partial r}(r,\theta)\) (the derivatives are implemented in SplineEvaluator2D).

Parameters

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::jacobian_11 double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::jacobian_11 (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord) const
@@ -490,25 +490,25 @@

Returns
A double with the value of the (1,1) coefficient of the Jacobian matrix.
-
See also
SplineEvaluator2D
+
See also
SplineEvaluator2D
- -

◆ jacobian_12()

+ +

◆ jacobian_12()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

[in]coordThe coordinate where we evaluate the Jacobian matrix.
- + - + @@ -521,7 +521,7 @@

Compute the (1,2) coefficient of the Jacobian matrix.

-

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (1,2) coefficient of the Jacobian matrix is given by \( \frac{\partial x}{\partial \theta} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial x}{\partial \theta}(r,\theta) = \sum_k c_{x,k} \frac{\partial B_k}{\partial \theta}(r,\theta) \) (the derivatives of B-splines are implemented in SplineEvaluator2D).

+

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (1,2) coefficient of the Jacobian matrix is given by \( \frac{\partial x}{\partial \theta} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial x}{\partial \theta}(r,\theta) = \sum_k c_{x,k} \frac{\partial B_k}{\partial \theta}(r,\theta) \) (the derivatives of B-splines are implemented in SplineEvaluator2D).

Parameters

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::jacobian_12 double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::jacobian_12 (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord) const
@@ -529,25 +529,25 @@

Returns
A double with the value of the (1,2) coefficient of the Jacobian matrix.
-
See also
SplineEvaluator2D
+
See also
SplineEvaluator2D
- -

◆ jacobian_21()

+ +

◆ jacobian_21()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

[in]coordThe coordinate where we evaluate the Jacobian matrix.
- + - + @@ -560,7 +560,7 @@

Compute the (2,1) coefficient of the Jacobian matrix.

-

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (2,1) coefficient of the Jacobian matrix is given by \( \frac{\partial y}{\partial r} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial y}{\partial r}(r,\theta) = \sum_k c_{y,k} \frac{\partial B_k}{\partial r}(r,\theta)\) (the derivatives of B-splines are implemented in SplineEvaluator2D).

+

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (2,1) coefficient of the Jacobian matrix is given by \( \frac{\partial y}{\partial r} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial y}{\partial r}(r,\theta) = \sum_k c_{y,k} \frac{\partial B_k}{\partial r}(r,\theta)\) (the derivatives of B-splines are implemented in SplineEvaluator2D).

Parameters

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::jacobian_21 double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::jacobian_21 (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord) const
@@ -568,25 +568,25 @@

Returns
A double with the value of the (2,1) coefficient of the Jacobian matrix.
-
See also
SplineEvaluator2D
+
See also
SplineEvaluator2D
- -

◆ jacobian_22()

+ +

◆ jacobian_22()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

[in]coordThe coordinate where we evaluate the Jacobian matrix. .
- + - + @@ -599,7 +599,7 @@

Compute the (2,2) coefficient of the Jacobian matrix.

-

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (2,2) coefficient of the Jacobian matrix is given by \( \frac{\partial y}{\partial \theta} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial y}{\partial \theta} (r,\theta) = \sum_k c_{y,k} \frac{\partial B_k}{\partial \theta}(r,\theta) \) (the derivatives of B-splines are implemented in SplineEvaluator2D).

+

For a mapping given by \( \mathcal{F} : (r,\theta)\mapsto (x,y) \), the (2,2) coefficient of the Jacobian matrix is given by \( \frac{\partial y}{\partial \theta} \). As the mapping is decomposed on B-splines, it means it computes \( \frac{\partial y}{\partial \theta} (r,\theta) = \sum_k c_{y,k} \frac{\partial B_k}{\partial \theta}(r,\theta) \) (the derivatives of B-splines are implemented in SplineEvaluator2D).

Parameters

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::jacobian_22 double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::jacobian_22 (ddc::Coordinate< circular_tag_r, circular_tag_p > const & ddc::Coordinate< circular_tag_r, circular_tag_p > const &  coord) const
@@ -607,31 +607,31 @@

Returns
A double with the value of the (2,2) coefficient of the Jacobian matrix.
-
See also
SplineEvaluator2D
+
See also
SplineEvaluator2D
- -

◆ to_pseudo_cartesian_jacobian_center_matrix()

+ +

◆ to_pseudo_cartesian_jacobian_center_matrix()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

[in]coordThe coordinate where we evaluate the Jacobian matrix.
- + - + - + @@ -675,21 +675,21 @@

-

◆ to_pseudo_cartesian_jacobian_11_center()

+ +

◆ to_pseudo_cartesian_jacobian_11_center()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

void DiscreteToCartesian< DimX, DimY, SplineBuilder >::to_pseudo_cartesian_jacobian_center_matrix void DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::to_pseudo_cartesian_jacobian_center_matrix (ddc::DiscreteDomain< IDimR, IDimP > const & ddc::DiscreteDomain< IDimR, IDimP > const &  grid,
Matrix_2x2Matrix_2x2 matrix 
- + - + @@ -709,25 +709,25 @@

Returns
A double with the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ to_pseudo_cartesian_jacobian_12_center()

+ +

◆ to_pseudo_cartesian_jacobian_12_center()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::to_pseudo_cartesian_jacobian_11_center double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::to_pseudo_cartesian_jacobian_11_center (ddc::DiscreteDomain< IDimR, IDimP > const & ddc::DiscreteDomain< IDimR, IDimP > const &  grid) const
- + - + @@ -751,21 +751,21 @@

-

◆ to_pseudo_cartesian_jacobian_21_center()

+ +

◆ to_pseudo_cartesian_jacobian_21_center()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::to_pseudo_cartesian_jacobian_12_center double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::to_pseudo_cartesian_jacobian_12_center (ddc::DiscreteDomain< IDimR, IDimP > const & ddc::DiscreteDomain< IDimR, IDimP > const &  grid) const
- + - + @@ -785,25 +785,25 @@

Returns
A double with the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ to_pseudo_cartesian_jacobian_22_center()

+ +

◆ to_pseudo_cartesian_jacobian_22_center()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::to_pseudo_cartesian_jacobian_21_center double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::to_pseudo_cartesian_jacobian_21_center (ddc::DiscreteDomain< IDimR, IDimP > const & ddc::DiscreteDomain< IDimR, IDimP > const &  grid) const
- + - + @@ -823,25 +823,25 @@

Returns
A double with the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ control_point()

+ +

◆ control_point()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >

double DiscreteToCartesian< DimX, DimY, SplineBuilder >::to_pseudo_cartesian_jacobian_22_center double DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::to_pseudo_cartesian_jacobian_22_center (ddc::DiscreteDomain< IDimR, IDimP > const & ddc::DiscreteDomain< IDimR, IDimP > const &  grid) const
- + - + @@ -858,7 +858,7 @@

GrevilleInterpolationPoints or KnotsAsInterpolationPoints). We can also note that the first control points \( \{(c_{x,k}, c_{y,k})\}_{k=0}^{N_{\theta}} \) are equal to the pole \( (c_{x,k}, c_{y,k}) = (x_0,y_0) \), \( \forall k = 0, ..., N_{\theta}-1 \) where \( x(0,\theta), y(0,\theta) = (x_0,y_0) \) \( \forall \theta \).

+

The control points can be obtained by interpolating the mapping on interpolation points (see GrevilleInterpolationPoints or KnotsAsInterpolationPoints). We can also note that the first control points \( \{(c_{x,k}, c_{y,k})\}_{k=0}^{N_{\theta}} \) are equal to the pole \( (c_{x,k}, c_{y,k}) = (x_0,y_0) \), \( \forall k = 0, ..., N_{\theta}-1 \) where \( x(0,\theta), y(0,\theta) = (x_0,y_0) \) \( \forall \theta \).

Parameters

const ddc::Coordinate<DimX, DimY> DiscreteToCartesian< DimX, DimY, SplineBuilder >::control_point const ddc::Coordinate<DimX, DimY> DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::control_point (ddc::DiscreteElement< BSplineR, BSplineP > const & ddc::DiscreteElement< BSplineR, BSplineP > const &  el) const
@@ -866,27 +866,27 @@

Returns
The el-th control point.
-
See also
GrevilleInterpolationPoints
+
See also
GrevilleInterpolationPoints
-KnotsAsInterpolationPoints
+KnotsAsInterpolationPoints
- -

◆ analytical_to_discrete()

+ +

◆ analytical_to_discrete()

-template<class DimX , class DimY , class SplineBuilder >
+template<class DimX , class DimY , class SplineBuilder , class SplineEvaluator >
-template<class Mapping , class Builder2D , class Evaluator2D >
+template<class Mapping >

[in]elThe number of the control point.
- + @@ -894,13 +894,13 @@

- + - + @@ -921,14 +921,20 @@

- + +
static DiscreteToCartesian DiscreteToCartesian< DimX, DimY, SplineBuilder >::analytical_to_discrete static DiscreteToCartesian DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >::analytical_to_discrete ( Mapping const &  analytical_mapping, Builder2D const & SplineBuilder const &  builder,
Evaluator2D const & SplineEvaluator const &  evaluator 
[in]analytical_mappingThe mapping defined analytically.
[in]builderThe spline builder on the B-splines on which we want to decompose the mapping.
[in]evaluatorThe spline evaluator with which we want to evaluate the mapping.
[in]evaluatorThe spline evaluator with which we want to evaluate the mapping.
+ + +
Template Parameters
+ +
MappingThe analytical mapping described by this discrete mapping.
Returns
A DiscreteToCartesian version of the analytical mapping.
-
See also
SplineBuilder2D
+
See also
ddc::SplineBuilder2D
-SplineEvaluator2D
+ddc::SplineEvaluator2D
diff --git a/classDiscreteToCartesian.js b/classDiscreteToCartesian.js index 9069608fd..19e538ea0 100644 --- a/classDiscreteToCartesian.js +++ b/classDiscreteToCartesian.js @@ -1,25 +1,25 @@ var classDiscreteToCartesian = [ - [ "BSplineR", "classDiscreteToCartesian.html#a56a6643d010d176c4ebe807e8d44624f", null ], - [ "BSplineP", "classDiscreteToCartesian.html#aabeacc8cb7637a03d010696e2b7645ed", null ], - [ "cartesian_tag_x", "classDiscreteToCartesian.html#a0859a3a3f5153b0803dec995b33da10f", null ], - [ "cartesian_tag_y", "classDiscreteToCartesian.html#a3915c637ee4b9d88366151d7906155b0", null ], - [ "circular_tag_r", "classDiscreteToCartesian.html#a6bed491350aa17dda83454512e3ea70e", null ], - [ "circular_tag_p", "classDiscreteToCartesian.html#ae1c7b39ab242d555ed6f74529cce5ccc", null ], - [ "IDimR", "classDiscreteToCartesian.html#afd9f4a75683b2b502184ec363897300a", null ], - [ "IDimP", "classDiscreteToCartesian.html#a28e4fcd138bbb895cfe2af37da909119", null ], - [ "Matrix_2x2", "classDiscreteToCartesian.html#aff278fecc61e7bf4519da6b8e32f6fa8", null ], - [ "DiscreteToCartesian", "classDiscreteToCartesian.html#ae2bc5f7be14ee231156b039074859bab", null ], - [ "operator()", "classDiscreteToCartesian.html#a2886ad4e22efd1d8d875478e5b50c823", null ], - [ "jacobian_matrix", "classDiscreteToCartesian.html#a4f53f0eb32eb687dec8c4071c390811f", null ], - [ "jacobian_11", "classDiscreteToCartesian.html#ae724fc03c7fca1e9f61b138f22fa28cc", null ], - [ "jacobian_12", "classDiscreteToCartesian.html#ad5483889f614f6910a5bf2dd7e212905", null ], - [ "jacobian_21", "classDiscreteToCartesian.html#ac8d071392fbd8b069143b5406e656421", null ], - [ "jacobian_22", "classDiscreteToCartesian.html#abb903e9bbfacef685339c6b97be0405c", null ], - [ "to_pseudo_cartesian_jacobian_center_matrix", "classDiscreteToCartesian.html#ac835fa42f73cd1018f7d3b40bce558b2", null ], - [ "to_pseudo_cartesian_jacobian_11_center", "classDiscreteToCartesian.html#aae9a0fdd75d4eb4b3e41f5a29c7617b5", null ], - [ "to_pseudo_cartesian_jacobian_12_center", "classDiscreteToCartesian.html#ace0bcbe9dc37e8aa5d248ca2fdee3158", null ], - [ "to_pseudo_cartesian_jacobian_21_center", "classDiscreteToCartesian.html#a1132f1474ca6b5c3ff27398ab7ed18a5", null ], - [ "to_pseudo_cartesian_jacobian_22_center", "classDiscreteToCartesian.html#a2dae457c21862f95bf41773e3b87a79f", null ], - [ "control_point", "classDiscreteToCartesian.html#a37da629bdc955f87e99c5b93f7c869bb", null ] + [ "BSplineR", "classDiscreteToCartesian.html#a8cc25d288b46b3e30dce665d9930b6e6", null ], + [ "BSplineP", "classDiscreteToCartesian.html#a5a62d9f5bba1aae83ab17068764dbc96", null ], + [ "cartesian_tag_x", "classDiscreteToCartesian.html#a0516a634ec97a4e6c9b83bb78b21d087", null ], + [ "cartesian_tag_y", "classDiscreteToCartesian.html#a4a47016434b23eceeb14da74fff5bdb5", null ], + [ "circular_tag_r", "classDiscreteToCartesian.html#a8a15804f7a85290d750293738aaf7594", null ], + [ "circular_tag_p", "classDiscreteToCartesian.html#a1c8ed111382283d1656c8509ffce07ea", null ], + [ "IDimR", "classDiscreteToCartesian.html#a8724b6b60097ada309a254030df44ed2", null ], + [ "IDimP", "classDiscreteToCartesian.html#a6f3ffd5e1a75024792d0c1b084c1f772", null ], + [ "Matrix_2x2", "classDiscreteToCartesian.html#acebb0c8ce43be04e7bd8a097f7415514", null ], + [ "DiscreteToCartesian", "classDiscreteToCartesian.html#aab258ec1dcafc8ee5e162daa5c0ee756", null ], + [ "operator()", "classDiscreteToCartesian.html#a9ad936fbb7dcb9146eea744086e583d8", null ], + [ "jacobian_matrix", "classDiscreteToCartesian.html#a2155fe8040b53865df4a2c31a16ab82e", null ], + [ "jacobian_11", "classDiscreteToCartesian.html#a877114081962f3bb5bca708b90574ba9", null ], + [ "jacobian_12", "classDiscreteToCartesian.html#a333d4057c581b13ff1b15a8635565c50", null ], + [ "jacobian_21", "classDiscreteToCartesian.html#a8a725ddbd503b023730b36b8f4f41b4f", null ], + [ "jacobian_22", "classDiscreteToCartesian.html#a22ad931ba89dd5cfe03aa339d2742b9a", null ], + [ "to_pseudo_cartesian_jacobian_center_matrix", "classDiscreteToCartesian.html#a096a8b63f61587613c8022ebadbdda0e", null ], + [ "to_pseudo_cartesian_jacobian_11_center", "classDiscreteToCartesian.html#a07c73338061696ea437f46f81d7a76a4", null ], + [ "to_pseudo_cartesian_jacobian_12_center", "classDiscreteToCartesian.html#a5e057de7bd71315b89e0c1b833d60658", null ], + [ "to_pseudo_cartesian_jacobian_21_center", "classDiscreteToCartesian.html#a9bb82bca2da44831a78f7f6850a7616a", null ], + [ "to_pseudo_cartesian_jacobian_22_center", "classDiscreteToCartesian.html#ae1bf31c827fc3abbf866d77068a93367", null ], + [ "control_point", "classDiscreteToCartesian.html#a5d6ccb4e18f3ea4546c70261c27e4cf5", null ] ]; \ No newline at end of file diff --git a/classDiscreteToCartesian.png b/classDiscreteToCartesian.png index b2d80f05b9533d8de033b8939ab610f3aaba3b15..9d12a445f5e991d2966feadbf0c8421a17b6549c 100644 GIT binary patch literal 1736 zcmd6o|2NZn9LGPt+`dRj3N5DCFi{sZ)RlB5ZH%x&WKmjZty0_6W~!x0k&WCEZmCwj zb&-#iY1C@Igp@INtU|uzdt!5&?XG^UKj6O3c|RV{_c^cg{^@znJ7u?@_fkEG9smGK z(YsKA0H7_@sh=kjc0 zMI%TI`u`cSn9Db>t!r_s8*bL2GmJP#7Ts&y~f{vcrxgH8S zI-1fEs}6S$b&h+!8s7OTADbMR29;&|vXk2v`UHw9M_OCk@|1~bC9GgEQ;1epeVP_97Mi3Gk@T1UdBWx#2y`gza}mdjy8{zdAN9glUAkhzVN0M{uuF= zf$({5y>RH0f@d%QdK!4A`**b^3{Ay2f$=K`u6P<5H-GUg=x@2YXED?m{`wZL=j@o+ zdX~x_vnv22qDjMVX%!qZER!@y-Pnt)9zz+~gO3`e)UloJG;dBnv2u2Gn1yxk;z6FHbe-BA8-@33eBCv4Ud zx4t|$P5x>HN>3f^h^>LB`ud?RFR!BGLxUZg`N+Ci0T@ifXH_=~tVQ6E>eR zX!P|ZEFL0^oEaTGIRot0lcql;bp)YKNKn0A_yy6?1Kho%< z%Se5#*6)5dq0joCi%rNSEJN`FWf5CUs_~6fnzFBM%+0E#(_m-D*SupW{%51VEK&NC z!Sxub9$`Y__7&=Hk>8|lOdfQ3C*_MEgo1Z8Cs5ue*BP{o*xa-*`Yfm8Nt;Tg|Ckv{ zA&R*vHXbEV+{LN8NAQ+NtousIfQnamJ6Wkkb<*547r59d&X&Q%8uQQ0O!A zP~WH|QbF6HprL0N5q$;N2qdSD6 zRk1toCLE_Fl6xP>A3j&QNOQ4vujWq57|?L>tm54EiVp9?Vr;oxvs4D!a&)c15o^uiBGttO7OgXJML9iv+>tBkg3DGe1E6u&si}QhHnkFbu zC*B$Q-tx7;aW9sshCV;BDVr69LF_`@TYE3l?2E-TJ?&ufB=foE+X2vCeyGwN2hRTo DINvFA literal 1644 zcmcJQdr*>D7{)(ybIr61w%Qu%R;Y_hR+@#CnyoGZYKpj$lDAAFLsl!%@q*p9VJvM4 zDI>L7XiFP4X|Ytu62)$sB55LJBBE3d(6eQ*HYZ)s@>ltUxhQw7g1gX&9fXlPhY z@3jY)rYCVhp#TVdZqgTcR{&T(kM{M!ryGqHYZ&Z$h~L$nVHry(ufxW*FSk`}b&`~L z#y0JI=(1%?1nnK4>?Y%r6J-1?n~pQ$VbA?>dl3&{-=fX(99Xc;=-3A$a2JkX5f~R? z=eZ1I_5!-2rE7G7!C9WEK-tgo#*#Z`r4+RCgT9i4IcM!`J%!5rR-Xb& zUUhL|$ffP?&aq=NZXQfcY)n{TxAw?&kIC9mO_WAtM@=PKc2qLaMConCm$9_^#Ms#0v_ek)J!e)&u65s^`ve4mtk-S=&U(M&5?QjwY?xECr zxwK#IEyHNp-X+_tv2PE=R6`d`y2?}K$e;2TRKh~Vq{5Rv=sy3e=rFzXwJy!UuHX%2 z-H3EdzN+Z>#E~lx+K+pfth^I;tR3l_U-?oifQm81M7+RRD-TNJDTkIn+BBKb z;aw8tZ!q<(eGb|;IhLYSR6j#9vUZ}X({9^F)7-f z@F;Wy4;hjZna@yb++aD9kFJR1jhTm((rqmXQJ{J z5rQtg^?<(aOETa3M>01-u#De0RfIUSD`OpNE4_v+d&MWSK}W1K%{9^|8H~08Cf{vh zt#1H)m2LKs<}tvTIJ%MfKD-dhZvsP(pF>|Yn;Eaq1y2Et*H~de=Ghm9fY_dEWSZw- zvJC(&1j2~V@VO?){|)Cp!C>G;Oq?s6yKXHc7ktBH)xX})TFpdyE`I6-R0D}^L!QE3 zK&?^l3a%KQ_}j(N(HEZ1gFcQ9E%6HJ-?IT(Hho)L!#e6^P&6x%Ze6ksyrPSq2jgi|*f^GemKGuC}#VrSt2K_r^?)f4DjA=lo5^S{!xmv<>Z%s3{kr6e^{vt+269 zB+ZJ9zkBQs_<9cehKP8HyA^7MNeWZs^2k*`pJdK0FPtO2zp;W!~#j<%c3nQKZ&zjacZ> zfSNiDF*XpBU8we|L(2#;bfZOD{csg^Ma+2z6a8%ZRlw@M(rcE1 - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax > Member List
-
- -
- - - - diff --git a/classGrevilleInterpolationPoints.html b/classGrevilleInterpolationPoints.html deleted file mode 100644 index 9d44cbd8a..000000000 --- a/classGrevilleInterpolationPoints.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -Gyselalib++: GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax > Class Template Reference
-
-
- -

A class which provides helper functions to initialise the Greville points from a B-Spline definition. - More...

- - - - - -

-Public Types

using interpolation_mesh_type = typename decltype(get_sampling())::discrete_dimension_type
 The type of the mesh. More...
 
- - - - - - - - - - - - -

-Static Public Member Functions

template<typename U = BSplines, std::enable_if_t< is_uniform_mesh_v< U >, bool > = true>
static auto get_sampling ()
 Get the UniformPointSampling defining the Greville points. More...
 
template<typename U = BSplines, std::enable_if_t< !is_uniform_mesh_v< U >, bool > = true>
static auto get_sampling ()
 Get the NonUniformPointSampling defining the Greville points. More...
 
static ddc::DiscreteDomain< interpolation_mesh_typeget_domain ()
 Get the domain which gives us access to all of the Greville points. More...
 
-

Detailed Description

-

template<class BSplines, BoundCond BcXmin, BoundCond BcXmax>
-class GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax >

- -

A class which provides helper functions to initialise the Greville points from a B-Spline definition.

-
Template Parameters
- - - - -
BSplinesThe bspline class relative to which the Greville points will be calculated.
BcXminThe (left) boundary condition that will be used to build the splines.
BcXmaxThe (right) boundary condition that will be used to build the splines.
-
-
-

Member Typedef Documentation

- -

◆ interpolation_mesh_type

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
- - - - -
using GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax >::interpolation_mesh_type = typename decltype(get_sampling())::discrete_dimension_type
-
- -

The type of the mesh.

-

This is either NonUniformPointSampling or UniformPointSampling.

- -
-
-

Member Function Documentation

- -

◆ get_sampling() [1/2]

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
-
-template<typename U = BSplines, std::enable_if_t< is_uniform_mesh_v< U >, bool > = true>
- - - - - -
- - - - - - - -
static auto GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax >::get_sampling ()
-
-inlinestatic
-
- -

Get the UniformPointSampling defining the Greville points.

-

This function is called when the result is a UniformPointSampling. This is the case when uniform splines are used with an odd degree and with boundary conditions which do not introduce additional interpolation points.

-
Returns
The mesh of uniform Greville points.
- -
-
- -

◆ get_sampling() [2/2]

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
-
-template<typename U = BSplines, std::enable_if_t< !is_uniform_mesh_v< U >, bool > = true>
- - - - - -
- - - - - - - -
static auto GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax >::get_sampling ()
-
-inlinestatic
-
- -

Get the NonUniformPointSampling defining the Greville points.

-
Returns
The mesh of non-uniform Greville points.
- -
-
- -

◆ get_domain()

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - -
static ddc::DiscreteDomain<interpolation_mesh_type> GrevilleInterpolationPoints< BSplines, BcXmin, BcXmax >::get_domain ()
-
-inlinestatic
-
- -

Get the domain which gives us access to all of the Greville points.

-
Returns
The domain of the Greville points.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classGrevilleInterpolationPoints.js b/classGrevilleInterpolationPoints.js deleted file mode 100644 index a0083b8c7..000000000 --- a/classGrevilleInterpolationPoints.js +++ /dev/null @@ -1,4 +0,0 @@ -var classGrevilleInterpolationPoints = -[ - [ "interpolation_mesh_type", "classGrevilleInterpolationPoints.html#a80607a4c866ff36244d980e41870a347", null ] -]; \ No newline at end of file diff --git a/classIInterpolatorRP.html b/classIInterpolatorRP.html index b369b2f2c..9597d704e 100644 --- a/classIInterpolatorRP.html +++ b/classIInterpolatorRP.html @@ -115,9 +115,10 @@
-IPreallocatableInterpolatorRP -SplineInterpolatorRP -PreallocatableSplineInterpolatorRP +IPreallocatableInterpolatorRP +SplineInterpolatorRP< RadialExtrapolationRule > +PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > +PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >
diff --git a/classIInterpolatorRP.png b/classIInterpolatorRP.png index 181b27fc2959ea9a2c2849e65d9155ac729ef91c..4b4bb8a6c889877bba33501a0e1eb171b400be4e 100644 GIT binary patch literal 2576 zcmbtW2~bmM5=NXX7y+FjTt+~~aEu5+Q4ZyBMPxG^VF)4u8W_A-4&@3EZpPqPz(fKg zAQBj^h#)~g4haN~6_6`j;ZEicTeY=Yvo%$-^QvCIe*fRq{kr@6{(cYa z?X0AshoE9&V$!I8TyPK*+sgp@kCJ}oKP@epXccVlBC zUnzJ1qjxkC_l4KO+^GjZ4GFj)qs#jCDNcHjRvOpABW7tt4YQw3^r0lu#) zC*!{Ofv$^jI=3f(X|(va3B5ddDDKspU_(YGOJ+fMahO;4lwm)jcFl>ic!nOFVxQAE zyqF+oMpOPpwRLKmPE2M^g-r$hs%u*e%nCL-pxL$p*s4X(;?&A$go|9fIJJXnMxYMR z^fq0{e8HU+X?nsjDTvDVs?h96H^=qm(ei1!bL#GrA%$n$r%kw{+B4?L3HgoyK5X_P z2kGZl0(=XbWnhAll5sd?SQVS?Ku@}g-VND*^=Q2f_p%4b?~-Cw4%8y{{!>O7+5r|tCivIo-SW#m634=d~6cLAU&-4*d(tna~koVOv_H_ zh{K%GbrJ@JmNDWpUTcjlm6G=ErgJKN>GFG^C6xc$Nts%co>bk0kyKNetIItP#rUMy zEPVtDMbgxFGD3YzGRZjh1fh=V!4Oiedp^5MN<~~j%h{2ViWn#d(sk2IMks?qs3x#q zb>txW(}D3Ym&XqirXhN1SX&ZAcZ`C)yf+1lIyp938F(&4+?u31;!mKcAtx3zD=PF1 z_Ho?isL2cW@75EGpKG+4=Rh^v){GTy)r!Nv+2%Hq#w9|XIal6VzZPD{$+u`kU+rFA zIKMvcl(HMVfmx#aCsX>E<_%|u zPz^yg-ftjMp|tadjY`ZpY^-`4Ce)3CSssdp2-vfU0jE0qo)_q@q2JeUmp4=pm(L_X z&5!ttyy!ax4jnOs30|ENoG$(Rp)W}zYxtqXNi`I?m2SV@IlU^|pOL4=8A|mvL1<2goFH)eCgptxIn%JskWwGRxPN_nqklG{zdWZ~nt;~l zLWiX}g$x#3MYaZX>ChyUJ|UQy$zx=9yu3S|7nGf1)`FD1h0C7b^vUQt&xPxH&tW-h zzKOUqvb@%cz>F1t?$-0XugLLc=S{S?Cq`>ht<`J{^qfNZ4-sLBp#1by?%524HYk(? zZgYS6vNqI_kTRa;0EGM{QA{cTTbs_ayP!@aMD%-ej0mG8l>bKHAH#K09i|fRp#@;i zEVNXN_vlm9DwDR-0_PhU9C$g6Lq;kydN8dr{bwR+I3!it1Xde%_hgD1fj+;h|2a7l z-L@EN@@Q-^bl@v3dw03N&fLF5e`zInHE-^XUR?lXY=3dF4+`hlq~JUl!gSqTtr+MDP&Nc5(qC)l9|_q5V?kW4&6Jm zKQ08ewN<5LRbBQ*hd{Nc`!qTXSs6?cqBsi0&5XWrs%^QD0adj_HnX(nNSwAlZtnzr zjcpf*49SvL(Fxe}r15;Rh+M2~9e%*;lQLnrFmlL9MsT?6_GNtnlev@VTUA#O({i@K zC!&0FeA*ipmF(ii54`rzS480Y9hAv8_gjRgnWdP*jS3?1oTb+8#`UThuVpOOqw~{b zu}j{i(vScv&Z6fdTs7?1)%=Nc%{@`poV23m4lCbBI|^X74H`asf1JYVov3j)#Nfib zhGy#tQRxGLs}I{!G3{x6tyXhMPg9zv^yjCj-GxfdxXI4a&Y9x|U0QG1P`Zmwr)S6` zJf4qTfi=)}kgGLa2H3O~x(3SaGsTOnaL3gzb3@t~Av@V!OXYD!q33GPy4QlYXbt>$NREln(@b-WF zJ~f%CY{U0Igvar*XbxiI%lUjHN`50VoHX9Lo*d%`aB9x5^Il9*1Hi2nO(=DM*N7jE zNmT=|E=h>MYbh7cHYo}x=flTc6(sZT=OXlR{gs}=Rt!CnA3}tLNu!_McA(SCh z@9c6O{$kU^yIwEf!L+A0lriL{bLh1>HfuFJf3sy(7@t~~x9yp9(F4Wb!c5Oqhh7bcG~abz2V~5x zRZ^GNg=`g%zbWz{cMaEqQ_k%Ab3(&dKS=FfB~^AHGxX{2Oz%B+c$aPl8_$0HoA~9l zP=^0N*Su*5y7fUyGSC)*2vG-)HCzfTKwmTkuYR>_owXnX+k@OH2IdcMfpRRr?yX~B z0{TgC$Ba$d4eyVyVrWVTWKi6Isue8&K+@$efA6!`WJrIsM}HS0Xo%1VcT#(=&eAD; z3;Z>gGFyB+F-c`^d(c#sx$LVaEfI*As?vI3m5L@yn5w5@#;R9(_g}kDx)zhIy7ExS zy!TMCBWUXM zkkZQDr{c-0=1%3E{_^=Po#WHiiaBn7Vp+r${q$6#e7NcBZ+rK<^EpgfwP#tDNpM_N zYWF9v2di}Y_e@L_{1zBmx$Svu%=b5!nI|mK(w`gpefdQg&+ZL_O&hlhZtcdVN>jl0IGtGG_hi zS$D66T)nqv(SpD*`OM#UV|9`}XKnnrrfS1+c@qZDRiENleY03CC4Ja@<*Oy1sy~2y zcY4)2?W#R7|Br?4TPO9cE&9S1$DZ<~M?Wd(2>0?Xi)mkRsygiA+oDDM(m-cqu9~#u zaK-A^leVNij{KUIUM2$++^FR_D=~D^l|!pkUUJ@F=ryS>n)BS~|tgWg&=UIiUCjm}G8m)N0`PvNx8I1(*wz3Jg=j8SeLoGO`?81kMwrL_B7W zBA|P=hvrh{7r|aH85sP$CN24l;#P1vv0t!icb!V+*`+%IgQq;-tyC~?!?cvEQIoEj z96n|@z4kwA=v&EZ|Eo%gx`)$3Q{NZe)nEB4uUY=yr9YRRb#2Po;bVV2&9W?Os<61{ zC;QY#uJdkx4o_Tt{OJZ@@|dNmzjc%APa}i#-}WT^N)HV%i*DC_|L*P|*U-mx_4B)n zzR$Lf%I&#&^2{c=-|H-9Y>l){5&LvF{pyxY%Pcci>rH=se+T>8)opWMi<#ucfA3hBvPMIFm&WejI_FP)icD^PS-5|#*Cab9%l=7UxZZC8 zM)j>0U{TNnDhe(G diff --git a/classIPreallocatableInterpolatorRP.html b/classIPreallocatableInterpolatorRP.html index e6bb23d04..62f0e613b 100644 --- a/classIPreallocatableInterpolatorRP.html +++ b/classIPreallocatableInterpolatorRP.html @@ -115,8 +115,9 @@
-IInterpolatorRP -PreallocatableSplineInterpolatorRP +IInterpolatorRP +PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule > +PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >
@@ -162,7 +163,7 @@

Returns
A pointer to an InterpolatorRP.
See also
IInterpolatorRP
-

Implemented in PreallocatableSplineInterpolatorRP.

+

Implemented in PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >, and PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule >.

diff --git a/classIPreallocatableInterpolatorRP.png b/classIPreallocatableInterpolatorRP.png index 43cee2daea12142178449148a7815761747dfc28..edef6a3caff12beffd7b2fb535af10080e620df6 100644 GIT binary patch literal 2017 zcmcIlc~DbF9Ns)51Onxd3eieDN~tY3g+WAu6^dAzAQC7=IqDIvn2eeT3L%;bQc$eY zf*?n$1NKEgiV_eosZ4cRz}Q;OBn?LqViE`pDo;350exGgo8eghvGZ9E#em!Bv(K!sy*Q@qF&)06N{+3Jl}|I()^EZVkE^4FO|PQ#bNh@VY-SPLfgW%*vE0*|3yI zikbXq^fJa9v9f@Ns4$^0}qu?|K`Pm8zzs_2+!- z61trcNqYKSFj=9pN$V6lO7@gWXQwk5G^a;0mABDLf?4eQP=mfyzRIT9TX_Z)#7wh} ze>pqw8vbL--~%LW17tqw_4p|cjo;S0d~2wZ8OI+He9HM{<+%EwTIrj4hqfW=Xg)2|jXbWGycdb*>lhun5!V!E!JaWA%gDUOPzoZb&-gcc$SH9P-EXu(eKt_Sf~MI9d*lzB%_K^mDM|{|%k4t`FSI+UrJr&DwP-Ay(N5b|vnw>V&6l zCHhVTy{#B?&@Ska94qM9D(X8TyjuOB#)t0ayKiH1-<1%v)j_mzfh$|jwAgHtjb^S36es~?_W z2=Xb1ydmBdwh22g>&wuc1D$k38yFn#b_I;&d!gS-CS~g zQRhNfU6=kiuBS9nDrUG|UOCQ+8`f@`kBgXuUK zw|!b(viP}%^7`OPUsGJw$eV+< zQ@Ynm5FE9~r0R)DH3w64C|311K}CCE_rNLaoVB+L>B;X6&}R_gnc~{CAJOcMJD$EH-I(+I@ZTo9dTlQSmvKW7Y+PXC9O} zmdW>hg5a&y(phO^ROiUyd1A?S~}&D6GKfa_W`dpY9%{$(zeXHa5Y_b z@za(?rx|~!wJ_KSJ2A}TRAe~cBG8cT#Bsn_k>$Zm0j3W=9E=sH(g&<_Zf{%5B7MLL zrZjkA_K%Au3|4vJjBHaX>|Qfnm2^04lB@s1Gx2=uv+e)Xm(2x9qfN_-;q{*mEUEgj*Q)9qTl05jgNt zN1dfW2l1d4Iq6>%8fg#nP#+|eH$k@X^H*Am-{6=r9PaSAuwr4d4!+Gq2=wCU{+-CboFyt=akR{0PKj!;s5{u diff --git a/classKnotsAsInterpolationPoints-members.html b/classKnotsAsInterpolationPoints-members.html deleted file mode 100644 index 0b9f8e3c8..000000000 --- a/classKnotsAsInterpolationPoints-members.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
-

- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax > Member List
-
- -
- - - - diff --git a/classKnotsAsInterpolationPoints.html b/classKnotsAsInterpolationPoints.html deleted file mode 100644 index c67efa2d3..000000000 --- a/classKnotsAsInterpolationPoints.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Gyselalib++: KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax > Class Template Reference
-
-
- -

Helper class for the initialisation of the mesh of interpolation points. - More...

- - - - - -

-Public Types

-using interpolation_mesh_type = typename decltype(get_sampling())::discrete_dimension_type
 The DDC type of the sampling for the interpolation points.
 
- - - - - - - - -

-Static Public Member Functions

template<typename U = BSplines>
static auto get_sampling ()
 Get the sampling of interpolation points. More...
 
static ddc::DiscreteDomain< interpolation_mesh_typeget_domain ()
 Get the domain which can be used to access the interpolation points in the sampling. More...
 
-

Detailed Description

-

template<class BSplines, BoundCond BcXmin, BoundCond BcXmax>
-class KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax >

- -

Helper class for the initialisation of the mesh of interpolation points.

-

A helper class for the initialisation of the mesh of interpolation points. This class should be used when the interpolation points should be located at the knots of the spline. This is possible with any kind of boundary condition except Greville boundary conditions (as there will not be enough interpolation points). In the case of strongly non-uniform splines this choice may result in a less well conditioned problem, however most mathematical stability results are proven with this choice of interpolation points.

-

Member Function Documentation

- -

◆ get_sampling()

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
-
-template<typename U = BSplines>
- - - - - -
- - - - - - - -
static auto KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax >::get_sampling ()
-
-inlinestatic
-
- -

Get the sampling of interpolation points.

-
Returns
sampling The DDC point sampling of the interpolation points.
- -
-
- -

◆ get_domain()

- -
-
-
-template<class BSplines , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - -
static ddc::DiscreteDomain<interpolation_mesh_type> KnotsAsInterpolationPoints< BSplines, BcXmin, BcXmax >::get_domain ()
-
-inlinestatic
-
- -

Get the domain which can be used to access the interpolation points in the sampling.

-
Returns
domain The DDC discrete domain which maps to the sampling of interpolation points.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classKnotsAsInterpolationPoints.js b/classKnotsAsInterpolationPoints.js deleted file mode 100644 index 873023440..000000000 --- a/classKnotsAsInterpolationPoints.js +++ /dev/null @@ -1,4 +0,0 @@ -var classKnotsAsInterpolationPoints = -[ - [ "interpolation_mesh_type", "classKnotsAsInterpolationPoints.html#a9a6cd19c503370d4a3abf8083bbfad57", null ] -]; \ No newline at end of file diff --git a/classNonUniformBSplines-members.html b/classNonUniformBSplines-members.html deleted file mode 100644 index d5004eb36..000000000 --- a/classNonUniformBSplines-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
NonUniformBSplines< Tag, D > Member List
-
-
- -

This is the complete list of members for NonUniformBSplines< Tag, D >, including all inherited members.

- - - - - - - - - - - - - - - - -
continuous_dimension_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
coord_from_knot(ddc::Coordinate< KnotDim > const &coord) (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
degree() noexcept (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
discrete_dimension_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
discrete_domain_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
discrete_element_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
discrete_vector_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
is_periodic() noexcept (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
is_radial() noexcept (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
is_uniform() noexcept (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
knot_from_coord(ddc::Coordinate< Tag > const &coord) (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
KnotDim typedefNonUniformBSplines< Tag, D >
mesh_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
rank() (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >inlinestatic
tag_type typedef (defined in NonUniformBSplines< Tag, D >)NonUniformBSplines< Tag, D >
-
- - - - diff --git a/classNonUniformBSplines.html b/classNonUniformBSplines.html deleted file mode 100644 index 340417972..000000000 --- a/classNonUniformBSplines.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - -Gyselalib++: NonUniformBSplines< Tag, D > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
NonUniformBSplines< Tag, D > Class Template Reference
-
-
- -

NonUniformPointSampling specialization of BSplines. - More...

- - - - - - -

-Classes

class  Impl
 
struct  InternalTagGenerator
 
- - - - - - - - - - - - - - - - - - -

-Public Types

using KnotDim = InternalTagGenerator< Tag >
 An internal tag necessary to allocate an internal ddc::discrete_space function. More...
 
-using mesh_type = ddc::NonUniformPointSampling< KnotDim >
 
-using tag_type = Tag
 
-using continuous_dimension_type = BSpline< Tag >
 
-using discrete_dimension_type = NonUniformBSplines
 
-using discrete_element_type = ddc::DiscreteElement< NonUniformBSplines >
 
-using discrete_domain_type = ddc::DiscreteDomain< NonUniformBSplines >
 
-using discrete_vector_type = ddc::DiscreteVector< NonUniformBSplines >
 
- - - - - - - - - - - - - - - -

-Static Public Member Functions

-static ddc::Coordinate< KnotDimknot_from_coord (ddc::Coordinate< Tag > const &coord)
 
-static ddc::Coordinate< Tag > coord_from_knot (ddc::Coordinate< KnotDim > const &coord)
 
-static constexpr std::size_t rank ()
 
-static constexpr std::size_t degree () noexcept
 
-static constexpr bool is_periodic () noexcept
 
-static constexpr bool is_radial () noexcept
 
-static constexpr bool is_uniform () noexcept
 
-

Detailed Description

-

template<class Tag, std::size_t D>
-class NonUniformBSplines< Tag, D >

- -

NonUniformPointSampling specialization of BSplines.

-

Class Documentation

- -

◆ NonUniformBSplines::InternalTagGenerator

- -
-
- - - - -
struct NonUniformBSplines::InternalTagGenerator
-
-

template<class Tag, std::size_t D>
-template<class T>
-struct NonUniformBSplines< Tag, D >::InternalTagGenerator< T >

- -
-
-
-

Member Typedef Documentation

- -

◆ KnotDim

- -
-
-
-template<class Tag , std::size_t D>
- - - - -
using NonUniformBSplines< Tag, D >::KnotDim = InternalTagGenerator<Tag>
-
- -

An internal tag necessary to allocate an internal ddc::discrete_space function.

-

It must remain internal, for example it shall not be exposed when returning ddc::coordinates. Instead use Tag

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classNonUniformBSplines.js b/classNonUniformBSplines.js deleted file mode 100644 index 57c5e70d8..000000000 --- a/classNonUniformBSplines.js +++ /dev/null @@ -1,13 +0,0 @@ -var classNonUniformBSplines = -[ - [ "Impl", "classNonUniformBSplines_1_1Impl.html", "classNonUniformBSplines_1_1Impl" ], - [ "InternalTagGenerator", "classNonUniformBSplines.html#structNonUniformBSplines_1_1InternalTagGenerator", null ], - [ "KnotDim", "classNonUniformBSplines.html#a266155b617441df530bb202effb00199", null ], - [ "mesh_type", "classNonUniformBSplines.html#a39aa243dd134be9784caf37b2748f011", null ], - [ "tag_type", "classNonUniformBSplines.html#a02429754302e899ade58e314f6a117ed", null ], - [ "continuous_dimension_type", "classNonUniformBSplines.html#afef09ceda055aea33e669f7c99ebbbff", null ], - [ "discrete_dimension_type", "classNonUniformBSplines.html#a1003c61e5cc6d0643a1e4b517fb9fc38", null ], - [ "discrete_element_type", "classNonUniformBSplines.html#aef7fc1c4c6234f73bcea1e0088d987be", null ], - [ "discrete_domain_type", "classNonUniformBSplines.html#a8b973c34eeca3bc2cdd815aca8337e8b", null ], - [ "discrete_vector_type", "classNonUniformBSplines.html#a896e1554318ee8ea05c72959f217ac33", null ] -]; \ No newline at end of file diff --git a/classNonUniformBSplines_1_1Impl-members.html b/classNonUniformBSplines_1_1Impl-members.html deleted file mode 100644 index 3ceec8a29..000000000 --- a/classNonUniformBSplines_1_1Impl-members.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
NonUniformBSplines< Tag, D >::Impl< MemorySpace > Member List
-
-
- -

This is the complete list of members for NonUniformBSplines< Tag, D >::Impl< MemorySpace >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
discrete_dimension_type typedef (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
eval_basis(DSpan1D values, ddc::Coordinate< Tag > const &x) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
eval_basis_and_n_derivs(DSpan2D derivs, ddc::Coordinate< Tag > const &x, std::size_t n) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
eval_deriv(DSpan1D derivs, ddc::Coordinate< Tag > const &x) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
full_domain() constNonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_first_support_knot(discrete_element_type const &ix) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_knot(int knot_idx) const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_last_support_knot(discrete_element_type const &ix) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_support_knot_n(discrete_element_type const &ix, int n) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
Impl (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >friend
Impl()=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
Impl(Impl< OriginMemorySpace > const &impl) (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inlineexplicit
Impl(std::initializer_list< ddc::Coordinate< Tag >> breaks)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inlineexplicit
Impl(std::vector< ddc::Coordinate< Tag >> const &breaks)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inlineexplicit
Impl(RandomIt breaks_begin, RandomIt breaks_end)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
Impl(Impl const &x)=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
Impl(Impl &&x)=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
integrals(ddc::ChunkSpan< double, discrete_domain_type > int_vals) const (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
length() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
nbasis() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
ncells() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
npoints() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
operator=(Impl const &x)=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
operator=(Impl &&x)=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
rmax() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
rmin() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
size() const noexcept (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >inline
~Impl()=default (defined in NonUniformBSplines< Tag, D >::Impl< MemorySpace >)NonUniformBSplines< Tag, D >::Impl< MemorySpace >
-
- - - - diff --git a/classNonUniformBSplines_1_1Impl.html b/classNonUniformBSplines_1_1Impl.html deleted file mode 100644 index 9e263ee08..000000000 --- a/classNonUniformBSplines_1_1Impl.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - -Gyselalib++: NonUniformBSplines< Tag, D >::Impl< MemorySpace > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
NonUniformBSplines< Tag, D >::Impl< MemorySpace > Class Template Reference
-
-
- - - - -

-Public Types

-using discrete_dimension_type = NonUniformBSplines
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-template<class OriginMemorySpace >
 Impl (Impl< OriginMemorySpace > const &impl)
 
Impl (std::initializer_list< ddc::Coordinate< Tag >> breaks)
 Construct a Impl using a brace-list, i.e. Impl bsplines({0., 1.})
 
Impl (std::vector< ddc::Coordinate< Tag >> const &breaks)
 Construct a Impl using a C++20 "common range".
 
-template<class RandomIt >
 Impl (RandomIt breaks_begin, RandomIt breaks_end)
 Construct a Impl using a pair of iterators.
 
Impl (Impl const &x)=default
 
Impl (Impl &&x)=default
 
-Imploperator= (Impl const &x)=default
 
-Imploperator= (Impl &&x)=default
 
-discrete_element_type eval_basis (DSpan1D values, ddc::Coordinate< Tag > const &x) const
 
-discrete_element_type eval_deriv (DSpan1D derivs, ddc::Coordinate< Tag > const &x) const
 
-discrete_element_type eval_basis_and_n_derivs (DSpan2D derivs, ddc::Coordinate< Tag > const &x, std::size_t n) const
 
-ddc::ChunkSpan< double, discrete_domain_type > integrals (ddc::ChunkSpan< double, discrete_domain_type > int_vals) const
 
-ddc::Coordinate< Tag > get_knot (int knot_idx) const noexcept
 
-ddc::Coordinate< Tag > get_first_support_knot (discrete_element_type const &ix) const
 
-ddc::Coordinate< Tag > get_last_support_knot (discrete_element_type const &ix) const
 
-ddc::Coordinate< Tag > get_support_knot_n (discrete_element_type const &ix, int n) const
 
-ddc::Coordinate< Tag > rmin () const noexcept
 
-ddc::Coordinate< Tag > rmax () const noexcept
 
-double length () const noexcept
 
-std::size_t size () const noexcept
 
-discrete_domain_type full_domain () const
 Returns the discrete domain including ghost bsplines.
 
-std::size_t npoints () const noexcept
 
-std::size_t nbasis () const noexcept
 
-std::size_t ncells () const noexcept
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classNonUniformBSplines_1_1Impl.js b/classNonUniformBSplines_1_1Impl.js deleted file mode 100644 index cf60b4180..000000000 --- a/classNonUniformBSplines_1_1Impl.js +++ /dev/null @@ -1,31 +0,0 @@ -var classNonUniformBSplines_1_1Impl = -[ - [ "discrete_dimension_type", "classNonUniformBSplines_1_1Impl.html#a9cc8ae746548b058f377125e3a65886e", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#a213ae90f58a073a231132ecc45b9393f", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#a43ebb570773de26acf70b47ef72fb22b", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#aa401e9626386fee2831742b4a65f867a", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#af49330b0d18915f9bfff5e7a5954d4d2", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#add53c595b626c160a4333ee3f8cf8819", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#a7a3eaf042804f09244682a57d3afcfa4", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#acbea4f01e1cf90a587fbd1d3b05fd482", null ], - [ "~Impl", "classNonUniformBSplines_1_1Impl.html#aab26d2d53f07f82341c9e2f8ae219d82", null ], - [ "operator=", "classNonUniformBSplines_1_1Impl.html#a12768f75178df7101c65c97861c95da2", null ], - [ "operator=", "classNonUniformBSplines_1_1Impl.html#a9ea77cab8b17d2c9e2017c669ffaadff", null ], - [ "eval_basis", "classNonUniformBSplines_1_1Impl.html#a2132aef539a91cd2c2fed5bb92517bf0", null ], - [ "eval_deriv", "classNonUniformBSplines_1_1Impl.html#aeef5d2dae4584c9d9ec63692ca951112", null ], - [ "eval_basis_and_n_derivs", "classNonUniformBSplines_1_1Impl.html#a42b1264e7629298070fa71909cefcc13", null ], - [ "integrals", "classNonUniformBSplines_1_1Impl.html#af745dc09b547464e40f6d2adeb827c84", null ], - [ "get_knot", "classNonUniformBSplines_1_1Impl.html#aced22fd972d273dff5a6d6c62f1a307e", null ], - [ "get_first_support_knot", "classNonUniformBSplines_1_1Impl.html#ab24bd5dbcbd2c767b91699255bf255fa", null ], - [ "get_last_support_knot", "classNonUniformBSplines_1_1Impl.html#a2ce215005a100d67eeb893acb92e8572", null ], - [ "get_support_knot_n", "classNonUniformBSplines_1_1Impl.html#abf30e16afac8311af45359026a87f27f", null ], - [ "rmin", "classNonUniformBSplines_1_1Impl.html#aea1f417883c31c42701dfea3c8461838", null ], - [ "rmax", "classNonUniformBSplines_1_1Impl.html#aa61f2315c25d2e7d5278c69d6e19bde2", null ], - [ "length", "classNonUniformBSplines_1_1Impl.html#a10444f984d0b813bef4ea5e2d11c314f", null ], - [ "size", "classNonUniformBSplines_1_1Impl.html#ab196a05e1742f2ebbdf846a88bf3bd50", null ], - [ "full_domain", "classNonUniformBSplines_1_1Impl.html#ac8a6caf50fd6643695e349fc63600008", null ], - [ "npoints", "classNonUniformBSplines_1_1Impl.html#a04f72d5840fefbff6b4c5361485f8b60", null ], - [ "nbasis", "classNonUniformBSplines_1_1Impl.html#ad6200b6716ae8ff9842416f1ce929aa9", null ], - [ "ncells", "classNonUniformBSplines_1_1Impl.html#a970250fa00c632d66944ee1b74c92f3d", null ], - [ "Impl", "classNonUniformBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc", null ] -]; \ No newline at end of file diff --git a/classNullBoundaryValue-members.html b/classNullBoundaryValue-members.html deleted file mode 100644 index b758c564d..000000000 --- a/classNullBoundaryValue-members.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
NullBoundaryValue< BSplines > Member List
-
-
- -

This is the complete list of members for NullBoundaryValue< BSplines >, including all inherited members.

- - - - - -
NullBoundaryValue()=default (defined in NullBoundaryValue< BSplines >)NullBoundaryValue< BSplines >
operator()(ddc::Coordinate< typename BSplines::tag_type >, ddc::ChunkSpan< const double, ddc::DiscreteDomain< BSplines >>) const final (defined in NullBoundaryValue< BSplines >)NullBoundaryValue< BSplines >inlinevirtual
~NullBoundaryValue() override=default (defined in NullBoundaryValue< BSplines >)NullBoundaryValue< BSplines >
~SplineBoundaryValue()=default (defined in SplineBoundaryValue< BSplines >)SplineBoundaryValue< BSplines >virtual
-
- - - - diff --git a/classNullBoundaryValue.html b/classNullBoundaryValue.html deleted file mode 100644 index 5f90cb471..000000000 --- a/classNullBoundaryValue.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Gyselalib++: NullBoundaryValue< BSplines > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
NullBoundaryValue< BSplines > Class Template Reference
-
-
-
-Inheritance diagram for NullBoundaryValue< BSplines >:
-
-
- - -SplineBoundaryValue< BSplines > - -
- - - - -

-Public Member Functions

-double operator() (ddc::Coordinate< typename BSplines::tag_type >, ddc::ChunkSpan< const double, ddc::DiscreteDomain< BSplines >>) const final
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classNullBoundaryValue.js b/classNullBoundaryValue.js deleted file mode 100644 index 79c7e14c0..000000000 --- a/classNullBoundaryValue.js +++ /dev/null @@ -1,6 +0,0 @@ -var classNullBoundaryValue = -[ - [ "NullBoundaryValue", "classNullBoundaryValue.html#afc247e5ce2a30330469ed4b2630c05ae", null ], - [ "~NullBoundaryValue", "classNullBoundaryValue.html#a2e8c2a7d602f7e7c8b2710520cae0a92", null ], - [ "operator()", "classNullBoundaryValue.html#a622aa9a03a97ba14b06962fdb7fdc502", null ] -]; \ No newline at end of file diff --git a/classNullBoundaryValue.png b/classNullBoundaryValue.png deleted file mode 100644 index 59ff1e2b29857c11b28d8251ca36c9a18021bdaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmeAS@N?(olHy`uVBq!ia0vp^7l1f`gBeK1pW>beq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0E_u2*hEy=Vo%?p(V+9`8cHx!p|DU*R z#(AUd(iZdb>Afo~ynYthuvynfPD|Z6DMIC?)hvfeCY#hIsPwL3n(}VHQQiOSs#I6g z7h)bkOG~$$`Re=TeZ~7em8+*5R!@BweOSozlNIxcUG)Y1OD@@5`24fyOjhx0n?tFM zUf0(e7WW6Lo?Q9n^x~_X)(iGoN4rnT{dVf9d*;viy|ccb$|+dq<>?zLwkBUKgZ<9Q z-CVPDx$NHQUO#+s%iQ2ev$Q_0;9E6ydH&sxJFl-P61+cokHx}QVyrK|{+sI3Uv~Fw z;m*tD>M=XlhKsg_D`x7wEU*+Po*ZSkO9}mX=_=tbhROGd$(XL z?~8NAx{FRTp4DPE*rq0M;KVEk2IXuf#-25tEC!nh34G`c@_Ol|#2Di)%#o1dtI#k} zwBeec$+V&}kALON>L`QmZF_(3vx%C!gE{JLg#4$MQ#UYQ`Ng4eW@_bgEtOfTbRzEi zT=?Wt)42Vz+v?&K8_W0K7hO}{$Kw0*wDgN)zTCy3E`OC(JhyAuwD-*kDD7q{*|_iA z&BL`k7V$Cfw#aN~e5){*?Md-5X4CaCA5_I!!_`Hyk2VUQGT+9WVx;SDFvT-?y85}Sb4q9e04EK9 AcK`qY diff --git a/classNullBoundaryValue2D-members.html b/classNullBoundaryValue2D-members.html deleted file mode 100644 index 6a7a8a1d2..000000000 --- a/classNullBoundaryValue2D-members.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
NullBoundaryValue2D< BSplines1, BSplines2 > Member List
-
-
- -

This is the complete list of members for NullBoundaryValue2D< BSplines1, BSplines2 >, including all inherited members.

- - - - - -
NullBoundaryValue2D()=default (defined in NullBoundaryValue2D< BSplines1, BSplines2 >)NullBoundaryValue2D< BSplines1, BSplines2 >
operator()(ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const final (defined in NullBoundaryValue2D< BSplines1, BSplines2 >)NullBoundaryValue2D< BSplines1, BSplines2 >inlinevirtual
~NullBoundaryValue2D() override=default (defined in NullBoundaryValue2D< BSplines1, BSplines2 >)NullBoundaryValue2D< BSplines1, BSplines2 >
~SplineBoundaryValue2D()=default (defined in SplineBoundaryValue2D< BSplines1, BSplines2 >)SplineBoundaryValue2D< BSplines1, BSplines2 >virtual
-
- - - - diff --git a/classNullBoundaryValue2D.html b/classNullBoundaryValue2D.html deleted file mode 100644 index 692cfcfb0..000000000 --- a/classNullBoundaryValue2D.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Gyselalib++: NullBoundaryValue2D< BSplines1, BSplines2 > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
NullBoundaryValue2D< BSplines1, BSplines2 > Class Template Reference
-
-
-
-Inheritance diagram for NullBoundaryValue2D< BSplines1, BSplines2 >:
-
-
- - -SplineBoundaryValue2D< BSplines1, BSplines2 > - -
- - - - -

-Public Member Functions

-double operator() (ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const final
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classNullBoundaryValue2D.js b/classNullBoundaryValue2D.js deleted file mode 100644 index 1655b5642..000000000 --- a/classNullBoundaryValue2D.js +++ /dev/null @@ -1,6 +0,0 @@ -var classNullBoundaryValue2D = -[ - [ "NullBoundaryValue2D", "classNullBoundaryValue2D.html#a86011128f45c7df46a03ecd8ffa14120", null ], - [ "~NullBoundaryValue2D", "classNullBoundaryValue2D.html#a7193419626806e22c87f36ab6e6cf0fa", null ], - [ "operator()", "classNullBoundaryValue2D.html#afbaabb1c4eb941a453916e1b35a64744", null ] -]; \ No newline at end of file diff --git a/classNullBoundaryValue2D.png b/classNullBoundaryValue2D.png deleted file mode 100644 index da883986fd2a23f1cfed96e8f782b4cf79a95bf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1108 zcmeAS@N?(olHy`uVBq!ia0y~yVAKGz12~w0^u~o{Xv*o?IG^ zouL4 ztlD*ltMBwkmflU^UA1qS$J7n?Tc zKQr^UQE}G#IXi4(jOn?@#&_9v+w#_a%&d4V_jQ&d@6mZx%CX)rR2DDGl1g}2dgIqh z|9#QfOj~mkMeptU@`x?@~uCMgP?`?9wYGkmy$?{oWQGR<%?)~GJR%%~+ zd;RbRd!_zUd3TRw8lFGAd1-ij?bQRk$!`Mxoz(DL|8i~Gb(!;G`=lB(pl+{DD8X~@VjWdQ?FD+4gj8XAN|92_{g6c(_s3IqV9 zH5@6G{xWrem!@i{mu7Y#&>h-nc3fb{+MnsXJ%0c7y|0<)oS0v7rs3bM+}Ph%8S38~ z7}9QbzGge^+qay`IQ;{LaUt zyLRq&-u~j_n~yQFYj>}Tujsh=ruh5Yy}swduXzo-5-!Nh2{ZVrar}|Scg{t3O;}@YD!rTk((K0DlUrsSfAQt%oB6K& zRc8}io|=6A9RNumX5VYq`5)W11DHVGDt~8sl^eEH++5^QyB{px3xn@+BfS{-5CF*qsOcCiXbn~sX?cL{xdKguuU-em2@6h P1Tc8I`njxgN@xNA)i3vx diff --git a/classPoissonRHSFunction-members.html b/classPoissonRHSFunction-members.html index ec27d07e4..53a86564a 100644 --- a/classPoissonRHSFunction-members.html +++ b/classPoissonRHSFunction-members.html @@ -100,15 +100,16 @@
-
PoissonRHSFunction Member List
+
PoissonRHSFunction< RadialExtrapolationRule > Member List
-

This is the complete list of members for PoissonRHSFunction, including all inherited members.

+

This is the complete list of members for PoissonRHSFunction< RadialExtrapolationRule >, including all inherited members.

- - - + + + +
operator()(CoordRP const &coord_rp) constPoissonRHSFunctioninline
PoissonRHSFunction(Spline2DView coefs, SplineRPEvaluator const &evaluator)PoissonRHSFunctioninline
~PoissonRHSFunction() (defined in PoissonRHSFunction)PoissonRHSFunctioninline
evaluator_type typedefPoissonRHSFunction< RadialExtrapolationRule >
operator()(CoordRP const &coord_rp) constPoissonRHSFunction< RadialExtrapolationRule >inline
PoissonRHSFunction(Spline2DView coefs, evaluator_type const &evaluator)PoissonRHSFunction< RadialExtrapolationRule >inline
~PoissonRHSFunction() (defined in PoissonRHSFunction< RadialExtrapolationRule >)PoissonRHSFunction< RadialExtrapolationRule >inline
diff --git a/classPoissonRHSFunction.html b/classPoissonRHSFunction.html index 0f1032c73..9701ab02d 100644 --- a/classPoissonRHSFunction.html +++ b/classPoissonRHSFunction.html @@ -5,7 +5,7 @@ -Gyselalib++: PoissonRHSFunction Class Reference +Gyselalib++: PoissonRHSFunction< RadialExtrapolationRule > Class Template Reference @@ -100,39 +100,58 @@
-
PoissonRHSFunction Class Reference
+
PoissonRHSFunction< RadialExtrapolationRule > Class Template Reference

Type of right-hand side (rhs) function of the Poisson equation. More...

+ + + + +

+Public Types

+using evaluator_type = ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP >
 The type of the 2D Spline Evaluator used by this class.
 
- - - - - - + + + + + +

Public Member Functions

 PoissonRHSFunction (Spline2DView coefs, SplineRPEvaluator const &evaluator)
 Instantiate a PoissonRHSFunction. More...
 
double operator() (CoordRP const &coord_rp) const
 Get the value of the function at a given coordinate. More...
 
 PoissonRHSFunction (Spline2DView coefs, evaluator_type const &evaluator)
 Instantiate a PoissonRHSFunction. More...
 
double operator() (CoordRP const &coord_rp) const
 Get the value of the function at a given coordinate. More...
 

Detailed Description

-

Type of right-hand side (rhs) function of the Poisson equation.

+

template<class RadialExtrapolationRule>
+class PoissonRHSFunction< RadialExtrapolationRule >

+ +

Type of right-hand side (rhs) function of the Poisson equation.

+
Template Parameters
+ + +
RadialExtrapolationRuleThe extrapolation rule applied at the outer radial bound.
+
+

Constructor & Destructor Documentation

- -

◆ PoissonRHSFunction()

+ +

◆ PoissonRHSFunction()

+
+template<class RadialExtrapolationRule >
- + @@ -140,7 +159,7 @@

- + @@ -168,17 +187,19 @@

Member Function Documentation

- -

◆ operator()()

+ +

◆ operator()()

+
+template<class RadialExtrapolationRule >
PoissonRHSFunction::PoissonRHSFunction PoissonRHSFunction< RadialExtrapolationRule >::PoissonRHSFunction ( Spline2DView  coefs, SplineRPEvaluator const & evaluator_type const &  evaluator 
- + diff --git a/classPolarBSplines_1_1Impl.html b/classPolarBSplines_1_1Impl.html index 9ae91f297..4cc9dcc49 100644 --- a/classPolarBSplines_1_1Impl.html +++ b/classPolarBSplines_1_1Impl.html @@ -133,10 +133,10 @@
- + diff --git a/classPoissonRHSFunction.js b/classPoissonRHSFunction.js index 1c837c10b..9e6d33b14 100644 --- a/classPoissonRHSFunction.js +++ b/classPoissonRHSFunction.js @@ -1,6 +1,7 @@ var classPoissonRHSFunction = [ - [ "PoissonRHSFunction", "classPoissonRHSFunction.html#a2287f1a0481b7e8dd07d24a902743876", null ], - [ "~PoissonRHSFunction", "classPoissonRHSFunction.html#a329db95bfd1a7edd920d4e73c137c75c", null ], - [ "operator()", "classPoissonRHSFunction.html#a98c05540209406a0c79c53c43767314f", null ] + [ "evaluator_type", "classPoissonRHSFunction.html#aa1f52a141ac086564a6cd00ddaa6f01b", null ], + [ "PoissonRHSFunction", "classPoissonRHSFunction.html#a1d014ed759a8fbee81a13893e1980171", null ], + [ "~PoissonRHSFunction", "classPoissonRHSFunction.html#abc02c25855c00ab2bdb16916f1aabea2", null ], + [ "operator()", "classPoissonRHSFunction.html#a62cc8e961e80992b062179ec78e8685f", null ] ]; \ No newline at end of file diff --git a/classPolarBSplines.html b/classPolarBSplines.html index d2a55cb36..b66c2b759 100644 --- a/classPolarBSplines.html +++ b/classPolarBSplines.html @@ -312,7 +312,7 @@

Parameters

double PoissonRHSFunction::operator() double PoissonRHSFunction< RadialExtrapolationRule >::operator() ( CoordRP const &  coord_rp)
- +
idxThe index of a 2D BSpline which is expressed as a tensor product of 1D BSplines.
idxThe index of a 2D BSpline which is expressed as a tensor product of 1D BSplines.
@@ -353,7 +353,7 @@

Returns
The index of the equivalent 2D BSpline expressed as a 2D tensor product of 1D BSplines.
+
Returns
The index of the equivalent 2D BSpline expressed as a 2D tensor product of 1D BSplines.
diff --git a/classPolarBSplines_1_1Impl-members.html b/classPolarBSplines_1_1Impl-members.html index f1011cc85..87d112a7d 100644 --- a/classPolarBSplines_1_1Impl-members.html +++ b/classPolarBSplines_1_1Impl-members.html @@ -113,7 +113,7 @@

eval_deriv_r_and_p(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) constPolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >
full_domain() const noexceptPolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >inline
Impl (defined in PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >)PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >friend
Impl(const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >inline
Impl(const DiscreteMapping &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >inline
Impl(Impl< OriginMemorySpace > const &impl)PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >inlineexplicit
Impl(Impl const &x)=defaultPolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >
Impl(Impl &&x)=defaultPolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >
- - - - + + + + @@ -254,8 +254,8 @@

Constructor & Destructor Documentation

- -

◆ Impl() [1/4]

+ +

◆ Impl() [1/4]

Public Member Functions

template<class DimX , class DimY , class SplineBuilderR , class SplineBuilderP >
 Impl (const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)
 A constructor for the PolarBSplines. More...
 
template<class DiscreteMapping , class SplineBuilderR , class SplineBuilderP >
 Impl (const DiscreteMapping &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)
 A constructor for the PolarBSplines. More...
 
template<class OriginMemorySpace >
 Impl (Impl< OriginMemorySpace > const &impl)
 A copy constructor for the PolarBSplines. More...
- + diff --git a/classPolarBSplines_1_1Impl.js b/classPolarBSplines_1_1Impl.js index 6bdfc71a9..302a6a378 100644 --- a/classPolarBSplines_1_1Impl.js +++ b/classPolarBSplines_1_1Impl.js @@ -4,7 +4,7 @@ var classPolarBSplines_1_1Impl = [ "Corner2Tag", "classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag", null ], [ "Corner3Tag", "classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag", null ], [ "discrete_dimension_type", "classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d", null ], - [ "Impl", "classPolarBSplines_1_1Impl.html#aaed9f0037acefbb5acdecff592114967", null ], + [ "Impl", "classPolarBSplines_1_1Impl.html#a4f6c28472809eb95951c92a5d8a21541", null ], [ "Impl", "classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d", null ], [ "Impl", "classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd", null ], [ "Impl", "classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e", null ], diff --git a/classPolarNullBoundaryValue2D-members.html b/classPolarNullBoundaryValue2D-members.html deleted file mode 100644 index 79e60e054..000000000 --- a/classPolarNullBoundaryValue2D-members.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
-
@@ -272,7 +272,7 @@

PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >::Impl

(const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> & const DiscreteMapping &  curvilinear_to_cartesian,
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- - - - diff --git a/classPolarNullBoundaryValue2D.html b/classPolarNullBoundaryValue2D.html deleted file mode 100644 index 0c245bf44..000000000 --- a/classPolarNullBoundaryValue2D.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Gyselalib++: PolarNullBoundaryValue2D< PolarBSplines > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
PolarNullBoundaryValue2D< PolarBSplines > Class Template Reference
-
-
-
-Inheritance diagram for PolarNullBoundaryValue2D< PolarBSplines >:
-
-
- - -PolarSplineBoundaryValue2D< PolarBSplines > - -
- - - - -

-Public Member Functions

-double operator() (double x, double y, PolarSplineView< PolarBSplines >) const final
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classPolarNullBoundaryValue2D.js b/classPolarNullBoundaryValue2D.js deleted file mode 100644 index 17ed5f77d..000000000 --- a/classPolarNullBoundaryValue2D.js +++ /dev/null @@ -1,6 +0,0 @@ -var classPolarNullBoundaryValue2D = -[ - [ "PolarNullBoundaryValue2D", "classPolarNullBoundaryValue2D.html#a48aa7163261140027d5d0b7161d6ca08", null ], - [ "~PolarNullBoundaryValue2D", "classPolarNullBoundaryValue2D.html#a8964cdc59303ca2cd9236138b4c96770", null ], - [ "operator()", "classPolarNullBoundaryValue2D.html#a9f8f81dc8e89da0f8059cfa320cad63a", null ] -]; \ No newline at end of file diff --git a/classPolarNullBoundaryValue2D.png b/classPolarNullBoundaryValue2D.png deleted file mode 100644 index 1231937987e81820866cbf8a501bbcadd792d44a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1080 zcmeAS@N?(olHy`uVBq!ia0y~yV3Yx}12~w0@aU=K@qUCoY*dMcI>4(|rN>|Gz#vc9!wajJLtukt(_~lp^YX$1A^8$Xxu+>632Sb(57p z?vza9-%E27#kQS|*xmnlN$grnzq%b^x3@D}76*1b)o+)vC<;3Bv;UEs`tzbo>L-79 z)joWpb6s;%ZoBF6kZBvAMOg0Jux44Gz0ba9G1G%pZpW>#d?q*h(EX(M{jmqj?L~j{ zzW;h({Dk3>+flEj*}g~L<~~ug_L}GI9=}QUKetX=QXHnJ@>2KT<%CHkhfcr#yJ(L8 z?w@Lw^5vh8KlQluza2fucbr_g_1cnaQR)o;lMC6fP)ESFB1G$rU1532&B z1khGw(;d%kcAFiyVEgmy|2}+sdGC)5!}(psf;=1EN|s6fQ#rr4Tdxyx7WFKC$Q(0BXqwr_S8lZ?N7{in$#qPC3V+WmjmJ*>}Mu6cPr z#;WdFRB%A?n~8Bb2kU1(Ut{LgsQRzzmgTdk8EfNCY`#7#@ru#@g*h_w=OixH>wVs$ zt)9M1^K#m^t@CTYUHE!1ZH@02oAU>)TkqXbVz2UhDstd+-yFqU_4LZMe;Q}|pUa&0 z`b?Pnv3c$XwoHGz#kyJnoFI0X#wJGk%GS@QIlEJDc|-2|Ycj+xJNP - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PolarSplineBoundaryValue2D< BSplines > Member List
-
-
- -

This is the complete list of members for PolarSplineBoundaryValue2D< BSplines >, including all inherited members.

- - - -
operator()(double x, double y, PolarSplineView< BSplines >) const =0 (defined in PolarSplineBoundaryValue2D< BSplines >)PolarSplineBoundaryValue2D< BSplines >pure virtual
~PolarSplineBoundaryValue2D()=default (defined in PolarSplineBoundaryValue2D< BSplines >)PolarSplineBoundaryValue2D< BSplines >virtual
-
- - - - diff --git a/classPolarSplineBoundaryValue2D.html b/classPolarSplineBoundaryValue2D.html deleted file mode 100644 index 71f1055ea..000000000 --- a/classPolarSplineBoundaryValue2D.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Gyselalib++: PolarSplineBoundaryValue2D< BSplines > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
PolarSplineBoundaryValue2D< BSplines > Class Template Referenceabstract
-
-
- - - - -

-Public Member Functions

-virtual double operator() (double x, double y, PolarSplineView< BSplines >) const =0
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classPolarSplineBoundaryValue2D.js b/classPolarSplineBoundaryValue2D.js deleted file mode 100644 index 30c47d76c..000000000 --- a/classPolarSplineBoundaryValue2D.js +++ /dev/null @@ -1,5 +0,0 @@ -var classPolarSplineBoundaryValue2D = -[ - [ "~PolarSplineBoundaryValue2D", "classPolarSplineBoundaryValue2D.html#a07ba0f8eed5ec56ef84687d316cafb3d", null ], - [ "operator()", "classPolarSplineBoundaryValue2D.html#a491113540178c12f525e58888991fdc3", null ] -]; \ No newline at end of file diff --git a/classPolarSplineEvaluator-members.html b/classPolarSplineEvaluator-members.html index 3b22c346e..24310ccbf 100644 --- a/classPolarSplineEvaluator-members.html +++ b/classPolarSplineEvaluator-members.html @@ -100,34 +100,34 @@
-
PolarSplineEvaluator< PolarBSplinesType > Member List
+
PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > Member List
-

This is the complete list of members for PolarSplineEvaluator< PolarBSplinesType >, including all inherited members.

+

This is the complete list of members for PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
bsplines_type typedefPolarSplineEvaluator< PolarBSplinesType >
BSplinesP typedefPolarSplineEvaluator< PolarBSplinesType >
BSplinesR typedefPolarSplineEvaluator< PolarBSplinesType >
continuityPolarSplineEvaluator< PolarBSplinesType >static
deriv_1_and_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
DimP typedefPolarSplineEvaluator< PolarBSplinesType >
DimR typedefPolarSplineEvaluator< PolarBSplinesType >
integrate(PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) constPolarSplineEvaluator< PolarBSplinesType >inline
operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType >inline
operator=(PolarSplineEvaluator const &x)=defaultPolarSplineEvaluator< PolarBSplinesType >
operator=(PolarSplineEvaluator &&x)=defaultPolarSplineEvaluator< PolarBSplinesType >
PolarSplineEvaluator()=delete (defined in PolarSplineEvaluator< PolarBSplinesType >)PolarSplineEvaluator< PolarBSplinesType >
PolarSplineEvaluator(PolarSplineBoundaryValue2D< PolarBSplinesType > const &outer_bc)PolarSplineEvaluator< PolarBSplinesType >inlineexplicit
PolarSplineEvaluator(PolarSplineEvaluator const &x)=defaultPolarSplineEvaluator< PolarBSplinesType >
PolarSplineEvaluator(PolarSplineEvaluator &&x)=defaultPolarSplineEvaluator< PolarBSplinesType >
~PolarSplineEvaluator()=default (defined in PolarSplineEvaluator< PolarBSplinesType >)PolarSplineEvaluator< PolarBSplinesType >
bsplines_type typedefPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
BSplinesP typedefPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
BSplinesR typedefPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
continuityPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >static
deriv_1_and_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
DimP typedefPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
DimR typedefPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
integrate(PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) constPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inline
operator=(PolarSplineEvaluator const &x)=defaultPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
operator=(PolarSplineEvaluator &&x)=defaultPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
PolarSplineEvaluator()=delete (defined in PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >)PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
PolarSplineEvaluator(OuterExtrapolationRule const &outer_bc)PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >inlineexplicit
PolarSplineEvaluator(PolarSplineEvaluator const &x)=defaultPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
PolarSplineEvaluator(PolarSplineEvaluator &&x)=defaultPolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
~PolarSplineEvaluator()=default (defined in PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >)PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >
diff --git a/classPolarSplineEvaluator.html b/classPolarSplineEvaluator.html index b6a4277aa..7f7e685a6 100644 --- a/classPolarSplineEvaluator.html +++ b/classPolarSplineEvaluator.html @@ -5,7 +5,7 @@ -Gyselalib++: PolarSplineEvaluator< PolarBSplinesType > Class Template Reference +Gyselalib++: PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > Class Template Reference @@ -106,7 +106,7 @@ Static Public Attributes | List of all members
-
PolarSplineEvaluator< PolarBSplinesType > Class Template Reference
+
PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > Class Template Reference
@@ -115,106 +115,106 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +

Public Types

-using bsplines_type = PolarBSplinesType
 Tag the type of B-splines.
 
-using BSplinesR = typename PolarBSplinesType::BSplinesR_tag
 Tag the type of first dimension B-splines.
 
-using BSplinesP = typename PolarBSplinesType::BSplinesP_tag
 Tag the type of second dimension B-splines.
 
-using DimR = typename BSplinesR::tag_type
 Tag the first dimension of the space.
 
-using DimP = typename BSplinesP::tag_type
 Tag the second dimension of the space.
 
+using bsplines_type = PolarBSplinesType
 Tag the type of B-splines.
 
+using BSplinesR = typename PolarBSplinesType::BSplinesR_tag
 Tag the type of first dimension B-splines.
 
+using BSplinesP = typename PolarBSplinesType::BSplinesP_tag
 Tag the type of second dimension B-splines.
 
+using DimR = typename BSplinesR::tag_type
 Tag the first dimension of the space.
 
+using DimP = typename BSplinesP::tag_type
 Tag the second dimension of the space.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 PolarSplineEvaluator (PolarSplineBoundaryValue2D< PolarBSplinesType > const &outer_bc)
 Instantiate a PolarSplineEvaluator with boundary evaluation conditions. More...
 
 PolarSplineEvaluator (PolarSplineEvaluator const &x)=default
 Instantiate a PolarSplineEvaluator from another. More...
 
 PolarSplineEvaluator (PolarSplineEvaluator &&x)=default
 Instantiate a PolarSplineEvaluator from another temporary. More...
 
PolarSplineEvaluatoroperator= (PolarSplineEvaluator const &x)=default
 Assign a PolarSplineEvaluator from another. More...
 
PolarSplineEvaluatoroperator= (PolarSplineEvaluator &&x)=default
 Assign a PolarSplineEvaluator from another temporary. More...
 
double operator() (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the spline function at a given coordinate. More...
 
template<class Domain >
void operator() (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the spline function on a domain. More...
 
double deriv_dim_1 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the derivative of the spline function on the first dimension. More...
 
double deriv_dim_2 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the derivative of the spline function on the second dimension. More...
 
double deriv_1_and_2 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the cross derivative of the spline function. More...
 
template<class Domain >
void deriv_dim_1 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the derivative of the spline function on the first dimension. More...
 
template<class Domain >
void deriv_dim_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the derivative of the spline function on the second dimension. More...
 
template<class Domain >
void deriv_dim_1_and_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the cross derivative of the spline function. More...
 
template<class Mapping >
double integrate (PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) const
 Get the in integral of a spline function over the domain. More...
 
 PolarSplineEvaluator (OuterExtrapolationRule const &outer_bc)
 Instantiate a PolarSplineEvaluator with boundary evaluation conditions. More...
 
 PolarSplineEvaluator (PolarSplineEvaluator const &x)=default
 Instantiate a PolarSplineEvaluator from another. More...
 
 PolarSplineEvaluator (PolarSplineEvaluator &&x)=default
 Instantiate a PolarSplineEvaluator from another temporary. More...
 
PolarSplineEvaluatoroperator= (PolarSplineEvaluator const &x)=default
 Assign a PolarSplineEvaluator from another. More...
 
PolarSplineEvaluatoroperator= (PolarSplineEvaluator &&x)=default
 Assign a PolarSplineEvaluator from another temporary. More...
 
double operator() (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the spline function at a given coordinate. More...
 
template<class Domain >
void operator() (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the spline function on a domain. More...
 
double deriv_dim_1 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the derivative of the spline function on the first dimension. More...
 
double deriv_dim_2 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the derivative of the spline function on the second dimension. More...
 
double deriv_1_and_2 (ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the value of the cross derivative of the spline function. More...
 
template<class Domain >
void deriv_dim_1 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the derivative of the spline function on the first dimension. More...
 
template<class Domain >
void deriv_dim_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the derivative of the spline function on the second dimension. More...
 
template<class Domain >
void deriv_dim_1_and_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
 Get the values of the cross derivative of the spline function. More...
 
template<class Mapping >
double integrate (PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) const
 Get the in integral of a spline function over the domain. More...
 
- - - + + +

Static Public Attributes

-static constexpr int continuity = PolarBSplinesType::continuity
 Tag the order of continuity of the B-splines basis at the O-point.
 
+static constexpr int continuity = PolarBSplinesType::continuity
 Tag the order of continuity of the B-splines basis at the O-point.
 

Detailed Description

-

template<class PolarBSplinesType>
-class PolarSplineEvaluator< PolarBSplinesType >

+

template<class PolarBSplinesType, class OuterExtrapolationRule>
+class PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >

Define an evaluator on polar B-splines.

See also
PolarBSplines

Constructor & Destructor Documentation

- -

◆ PolarSplineEvaluator() [1/3]

+ +

◆ PolarSplineEvaluator() [1/3]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
- + - + @@ -237,21 +237,21 @@

-

◆ PolarSplineEvaluator() [2/3]

+ +

◆ PolarSplineEvaluator() [2/3]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

PolarSplineEvaluator< PolarBSplinesType >::PolarSplineEvaluator PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::PolarSplineEvaluator (PolarSplineBoundaryValue2D< PolarBSplinesType > const & OuterExtrapolationRule const &  outer_bc)
- + - + @@ -273,21 +273,21 @@

-

◆ PolarSplineEvaluator() [3/3]

+ +

◆ PolarSplineEvaluator() [3/3]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

PolarSplineEvaluator< PolarBSplinesType >::PolarSplineEvaluator PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::PolarSplineEvaluator (PolarSplineEvaluator< PolarBSplinesType > const & PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > const &  x)
- + - + @@ -310,21 +310,21 @@

Member Function Documentation

- -

◆ operator=() [1/2]

+ +

◆ operator=() [1/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
PolarSplineEvaluator< PolarBSplinesType >::PolarSplineEvaluator PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::PolarSplineEvaluator (PolarSplineEvaluator< PolarBSplinesType > && PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > &&  x)
- + - + @@ -347,21 +347,21 @@

-

◆ operator=() [2/2]

+ +

◆ operator=() [2/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

PolarSplineEvaluator& PolarSplineEvaluator< PolarBSplinesType >::operator= PolarSplineEvaluator& PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::operator= (PolarSplineEvaluator< PolarBSplinesType > const & PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > const &  x)
- + - + @@ -384,21 +384,21 @@

-

◆ operator()() [1/2]

+ +

◆ operator()() [1/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

PolarSplineEvaluator& PolarSplineEvaluator< PolarBSplinesType >::operator= PolarSplineEvaluator& PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::operator= (PolarSplineEvaluator< PolarBSplinesType > && PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule > &&  x)
- + - + @@ -432,13 +432,13 @@

-

◆ operator()() [2/2]

+ +

◆ operator()() [2/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
template<class Domain >

double PolarSplineEvaluator< PolarBSplinesType >::operator() double PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::operator() (ddc::Coordinate< DimR, DimPddc::Coordinate< DimR, DimP coord_eval,
@@ -446,7 +446,7 @@

- + @@ -454,7 +454,7 @@

- + @@ -488,21 +488,21 @@

-

◆ deriv_dim_1() [1/2]

+ +

◆ deriv_dim_1() [1/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
void PolarSplineEvaluator< PolarBSplinesType >::operator() void PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::operator() ( ddc::ChunkSpan< double, Domain > const  spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const  coords_eval,
- + - + @@ -536,21 +536,21 @@

-

◆ deriv_dim_2() [1/2]

+ +

◆ deriv_dim_2() [1/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

double PolarSplineEvaluator< PolarBSplinesType >::deriv_dim_1 double PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_dim_1 (ddc::Coordinate< DimR, DimPddc::Coordinate< DimR, DimP coord_eval,
- + - + @@ -584,21 +584,21 @@

-

◆ deriv_1_and_2()

+ +

◆ deriv_1_and_2()

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >

double PolarSplineEvaluator< PolarBSplinesType >::deriv_dim_2 double PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_dim_2 (ddc::Coordinate< DimR, DimPddc::Coordinate< DimR, DimP coord_eval,
- + - + @@ -632,13 +632,13 @@

-

◆ deriv_dim_1() [2/2]

+ +

◆ deriv_dim_1() [2/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
template<class Domain >

double PolarSplineEvaluator< PolarBSplinesType >::deriv_1_and_2 double PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_1_and_2 (ddc::Coordinate< DimR, DimPddc::Coordinate< DimR, DimP coord_eval,
@@ -646,7 +646,7 @@

- + @@ -654,7 +654,7 @@

- + @@ -688,13 +688,13 @@

-

◆ deriv_dim_2() [2/2]

+ +

◆ deriv_dim_2() [2/2]

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
template<class Domain >
void PolarSplineEvaluator< PolarBSplinesType >::deriv_dim_1 void PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_dim_1 ( ddc::ChunkSpan< double, Domain > const  spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const  coords_eval,
@@ -702,7 +702,7 @@

- + @@ -710,7 +710,7 @@

- + @@ -744,13 +744,13 @@

-

◆ deriv_dim_1_and_2()

+ +

◆ deriv_dim_1_and_2()

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
template<class Domain >
void PolarSplineEvaluator< PolarBSplinesType >::deriv_dim_2 void PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_dim_2 ( ddc::ChunkSpan< double, Domain > const  spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const  coords_eval,
@@ -758,7 +758,7 @@

- + @@ -766,7 +766,7 @@

- + @@ -800,13 +800,13 @@

-

◆ integrate()

+ +

◆ integrate()

-template<class PolarBSplinesType >
+template<class PolarBSplinesType , class OuterExtrapolationRule >
template<class Mapping >
void PolarSplineEvaluator< PolarBSplinesType >::deriv_dim_1_and_2 void PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::deriv_dim_1_and_2 ( ddc::ChunkSpan< double, Domain > const  spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const  coords_eval,
@@ -814,7 +814,7 @@

- + diff --git a/classPolarSplineEvaluator.js b/classPolarSplineEvaluator.js index a8dd48844..376f5e43c 100644 --- a/classPolarSplineEvaluator.js +++ b/classPolarSplineEvaluator.js @@ -1,24 +1,24 @@ var classPolarSplineEvaluator = [ - [ "bsplines_type", "classPolarSplineEvaluator.html#a26a1961933d750d08fb027e9142cb6ba", null ], - [ "BSplinesR", "classPolarSplineEvaluator.html#af95eaa07f8890667fe4feade36d50423", null ], - [ "BSplinesP", "classPolarSplineEvaluator.html#a21c225b744962b5b83476156e737b46f", null ], - [ "DimR", "classPolarSplineEvaluator.html#a131aa5dd99b62b024c4b0ae386db1489", null ], - [ "DimP", "classPolarSplineEvaluator.html#a6d98892294bafa10455c71f68c0cfb12", null ], - [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a85c09157c0eb1a996e201d256f289a5c", null ], - [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#ad16dac26ccca13b143d00d7aa53febcf", null ], - [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a117fe2ce4d5dcb58f90c781d3c39c233", null ], - [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a0b951375b57b56e51acd207739d21eb5", null ], - [ "~PolarSplineEvaluator", "classPolarSplineEvaluator.html#a3bf37551c2474a7034d53cdedde7dcc7", null ], - [ "operator=", "classPolarSplineEvaluator.html#a6e5b5a439964fa71862689834cf5c1eb", null ], - [ "operator=", "classPolarSplineEvaluator.html#aa404705c242b03294d522da12fdfdc81", null ], - [ "operator()", "classPolarSplineEvaluator.html#a2dfd0747f1aa1bd56676980918723d68", null ], - [ "operator()", "classPolarSplineEvaluator.html#a60de03671b33a0daf678b6df31cc9206", null ], - [ "deriv_dim_1", "classPolarSplineEvaluator.html#a41bb228d256a0785988519f9683b100c", null ], - [ "deriv_dim_2", "classPolarSplineEvaluator.html#a27b0b79479680b3d506184bf1febc231", null ], - [ "deriv_1_and_2", "classPolarSplineEvaluator.html#aa8f280512a34519fbb3f3dabfc0a1d87", null ], - [ "deriv_dim_1", "classPolarSplineEvaluator.html#a0615c3c92b01a46d9c2a7804688af657", null ], - [ "deriv_dim_2", "classPolarSplineEvaluator.html#a87a65b0a223262639ba069a9182993bc", null ], - [ "deriv_dim_1_and_2", "classPolarSplineEvaluator.html#a6e40a306765075a23ffc64f56a823605", null ], - [ "integrate", "classPolarSplineEvaluator.html#aacce24543106f51ca08ce5d8fc96cb21", null ] + [ "bsplines_type", "classPolarSplineEvaluator.html#a4fda8acef6472fb27ffe42d078943f26", null ], + [ "BSplinesR", "classPolarSplineEvaluator.html#af825f47ac1278302e5dd3ac0d906f09c", null ], + [ "BSplinesP", "classPolarSplineEvaluator.html#a372867a0573a0adaf9a9006a2d78f30c", null ], + [ "DimR", "classPolarSplineEvaluator.html#aaccc486ada502c4b48ab55b683c2cbb7", null ], + [ "DimP", "classPolarSplineEvaluator.html#add8585efe107f2cb0e91a765d71f68ec", null ], + [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#ab875829c2c8dd226e73ad9c88a7fee65", null ], + [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a8960c721f4ef12c2343fae7c36dae0da", null ], + [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a13c5887c37f94a933cdd431c122a0124", null ], + [ "PolarSplineEvaluator", "classPolarSplineEvaluator.html#a87b7163ab815cc562d0222b1d5dcd27e", null ], + [ "~PolarSplineEvaluator", "classPolarSplineEvaluator.html#a286fe6663e3004aead728b7d8acb38a9", null ], + [ "operator=", "classPolarSplineEvaluator.html#a050a2b7f7baeaccdfeddbbe571580bb5", null ], + [ "operator=", "classPolarSplineEvaluator.html#aa9f2c3bbb2863cd856857fd978cc9af1", null ], + [ "operator()", "classPolarSplineEvaluator.html#a452214ac565140c42c611324dbc8ca5c", null ], + [ "operator()", "classPolarSplineEvaluator.html#a32288ba8cc125ab9579b157060cb744a", null ], + [ "deriv_dim_1", "classPolarSplineEvaluator.html#abdb659ded74486dc5d90b41aece39224", null ], + [ "deriv_dim_2", "classPolarSplineEvaluator.html#ab1d9832c70778fabd91dcf990a481001", null ], + [ "deriv_1_and_2", "classPolarSplineEvaluator.html#acf859a6e71699daf14b5e7fe6995797e", null ], + [ "deriv_dim_1", "classPolarSplineEvaluator.html#a26c51eff107663001aee27e8285da70d", null ], + [ "deriv_dim_2", "classPolarSplineEvaluator.html#af5de8a13917331a541a20a989b1564a0", null ], + [ "deriv_dim_1_and_2", "classPolarSplineEvaluator.html#a81098a11be51318e8172b18983f812bc", null ], + [ "integrate", "classPolarSplineEvaluator.html#a0dace1c41499a5500a1f1c10e01794d1", null ] ]; \ No newline at end of file diff --git a/classPreallocatableSplineInterpolatorRP-members.html b/classPreallocatableSplineInterpolatorRP-members.html index ac6b62f03..456c14f2f 100644 --- a/classPreallocatableSplineInterpolatorRP-members.html +++ b/classPreallocatableSplineInterpolatorRP-members.html @@ -100,18 +100,19 @@
-
PreallocatableSplineInterpolatorRP Member List
+
PreallocatableSplineInterpolatorRP< RadialExtrapolationRule > Member List
-

This is the complete list of members for PreallocatableSplineInterpolatorRP, including all inherited members.

+

This is the complete list of members for PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >, including all inherited members.

double PolarSplineEvaluator< PolarBSplinesType >::integrate double PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >::integrate ( PolarSplineView< PolarBSplinesType > const  spline_coef,
- - - - - - + + + + + + +
operator()(DSpanRP const inout_data, ViewRP< CoordRP > const coordinates) const overrideIPreallocatableInterpolatorRPinlinevirtual
PreallocatableSplineInterpolatorRP(SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)PreallocatableSplineInterpolatorRPinline
preallocate() const overridePreallocatableSplineInterpolatorRPinlinevirtual
~IInterpolatorRP()=default (defined in IInterpolatorRP)IInterpolatorRPvirtual
~IPreallocatableInterpolatorRP() override=default (defined in IPreallocatableInterpolatorRP)IPreallocatableInterpolatorRP
~PreallocatableSplineInterpolatorRP() override=default (defined in PreallocatableSplineInterpolatorRP)PreallocatableSplineInterpolatorRP
evaluator_type typedefPreallocatableSplineInterpolatorRP< RadialExtrapolationRule >
operator()(DSpanRP const inout_data, ViewRP< CoordRP > const coordinates) const overrideIPreallocatableInterpolatorRPinlinevirtual
PreallocatableSplineInterpolatorRP(SplineRPBuilder const &builder, evaluator_type const &evaluator)PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >inline
preallocate() const overridePreallocatableSplineInterpolatorRP< RadialExtrapolationRule >inlinevirtual
~IInterpolatorRP()=default (defined in IInterpolatorRP)IInterpolatorRPvirtual
~IPreallocatableInterpolatorRP() override=default (defined in IPreallocatableInterpolatorRP)IPreallocatableInterpolatorRP
~PreallocatableSplineInterpolatorRP() override=default (defined in PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >)PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >
diff --git a/classPreallocatableSplineInterpolatorRP.html b/classPreallocatableSplineInterpolatorRP.html index d1db45c01..e87526b66 100644 --- a/classPreallocatableSplineInterpolatorRP.html +++ b/classPreallocatableSplineInterpolatorRP.html @@ -5,7 +5,7 @@ -Gyselalib++: PreallocatableSplineInterpolatorRP Class Reference +Gyselalib++: PreallocatableSplineInterpolatorRP< RadialExtrapolationRule > Class Template Reference @@ -100,62 +100,75 @@
-
PreallocatableSplineInterpolatorRP Class Reference
+
PreallocatableSplineInterpolatorRP< RadialExtrapolationRule > Class Template Reference

A class which stores information necessary to create a pointer to an instance of the SplineInterpolatorRP class. More...

-Inheritance diagram for PreallocatableSplineInterpolatorRP:
+Inheritance diagram for PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >:
- - -IPreallocatableInterpolatorRP -IInterpolatorRP + + +IPreallocatableInterpolatorRP +IInterpolatorRP
+ + + + +

+Public Types

+using evaluator_type = ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP >
 The type of the 2D Spline Evaluator used by this class.
 
- - - - - - + + + + + +

Public Member Functions

 PreallocatableSplineInterpolatorRP (SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)
 Create an object capable of creating SplineInterpolatorRP objects. More...
 
std::unique_ptr< IInterpolatorRPpreallocate () const override
 Create a pointer to an instance of the SplineInterpolatorRP class. More...
 
 PreallocatableSplineInterpolatorRP (SplineRPBuilder const &builder, evaluator_type const &evaluator)
 Create an object capable of creating SplineInterpolatorRP objects. More...
 
std::unique_ptr< IInterpolatorRPpreallocate () const override
 Create a pointer to an instance of the SplineInterpolatorRP class. More...
 
- Public Member Functions inherited from IPreallocatableInterpolatorRP
DSpanRP operator() (DSpanRP const inout_data, ViewRP< CoordRP > const coordinates) const override
 Approximate the value of a function at a set of coordinates using the current values at a known set of interpolation points. More...
 

Detailed Description

-

A class which stores information necessary to create a pointer to an instance of the SplineInterpolatorRP class.

+

template<class RadialExtrapolationRule>
+class PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >

+ +

A class which stores information necessary to create a pointer to an instance of the SplineInterpolatorRP class.

This class allows an instance of the SplineInterpolatorRP class where necessary. This allows the memory allocated in the private members of the SplineInterpolatorRP to be freed when the object is not in use. These objects are: m_coefs.

Constructor & Destructor Documentation

- -

◆ PreallocatableSplineInterpolatorRP()

+ +

◆ PreallocatableSplineInterpolatorRP()

+
+template<class RadialExtrapolationRule >
- + - + - + @@ -183,17 +196,19 @@

Member Function Documentation

- -

◆ preallocate()

+ +

◆ preallocate()

+
+template<class RadialExtrapolationRule >
PreallocatableSplineInterpolatorRP::PreallocatableSplineInterpolatorRP PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >::PreallocatableSplineInterpolatorRP (SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & evaluator_type const &  evaluator 
- + diff --git a/classPreallocatableSplineInterpolatorRP.js b/classPreallocatableSplineInterpolatorRP.js index 3269774a7..7cc304b71 100644 --- a/classPreallocatableSplineInterpolatorRP.js +++ b/classPreallocatableSplineInterpolatorRP.js @@ -1,6 +1,7 @@ var classPreallocatableSplineInterpolatorRP = [ - [ "PreallocatableSplineInterpolatorRP", "classPreallocatableSplineInterpolatorRP.html#ade36aac246ed7b8003ec0e227ca95b7e", null ], - [ "~PreallocatableSplineInterpolatorRP", "classPreallocatableSplineInterpolatorRP.html#a415bb619fad457874e41e7afd7895ac5", null ], - [ "preallocate", "classPreallocatableSplineInterpolatorRP.html#a96c0faf84015ec3b49d8d98b3eeef938", null ] + [ "evaluator_type", "classPreallocatableSplineInterpolatorRP.html#abdf68fc355d1eb8329a511896febde4c", null ], + [ "PreallocatableSplineInterpolatorRP", "classPreallocatableSplineInterpolatorRP.html#ad92427481b794b783f83e137e52108f9", null ], + [ "~PreallocatableSplineInterpolatorRP", "classPreallocatableSplineInterpolatorRP.html#ab98b35cbba0d395bf4d0c6c8e2ec4689", null ], + [ "preallocate", "classPreallocatableSplineInterpolatorRP.html#aedfcd0cff398fd0d6766aeac6b6bb366", null ] ]; \ No newline at end of file diff --git a/classPreallocatableSplineInterpolatorRP.png b/classPreallocatableSplineInterpolatorRP.png index 5ab6afe75ccc715ac60815cd684710c49b6f2f7f..3aba5b10eda78abfad5d75b36a938577bd88ce69 100644 GIT binary patch literal 1406 zcmb`Hc~BEq9LF~tj(`vf7HX-4jsa~)5~gw*YDBJXD7S@TL;)2Pc3})h8*MCQ3aC_R z*BGD(h=Laik;tx10HfHb+y$vgR1t#Oe%gxErmUYcn9c0lcjFm=kR z>gy{++ajCnCzt^mh}Rzgw9;3B2R5RfV5}0Qho<7l%3?SoZe>e4Yn1(@l-`$A(unWO z7dAMLGu6$r?IPWSYcM&Jp^jv`DAMor_Sg^YbZn^2?` z#b#Tv?E|h?A}isDA@+-+1-jN|$=$Ckm8fA(fx3TWO+K;?;v#3nFnDw#lchNo*&o2B z75e>YmI9cG;X*ft^VG7#H&IH_^=>q~&>nJevy&}5d<&(JR|?mW(i(rOav~YloRZuN z&;WOl-E^&X$@A-szDlu$D(b-i5sidpcOc&N*K#s~gL6H=)ji^l(^Tsd4R!QEgSv;Q z`nTN+TmTQsC^m8?1oJGj~u zTEdu)#>cQbyA=9kdwr;^-a9Wcj}`kqqE8RZ;CloWRSbxhtWOd=N{4N56X1R^2r+x< ziT7!H4G<;KwhaA+(64#+o6R=lQ02~RCP$+otxQZP41{WoiY=P>G?}aH_NN!1ca2Gc zHIo%vYWC7%cqTqcOxWp7;DXr_L(iSbs%51uk+ihDzpW;>-$Qe%jw*NIQM>?((s#3c zMOnW2?Gzjc+P;VDw|O~gYhRjd9+HX!vE=SbQWnE+RX%S<<2m;lgmC~JFn^Z!KLqUX z@Drgo#oQ_DR%h;Ycft7TG)Rpy02Fx2%kTS{`?1$RhlE zo(-T=lTL!+KnW;l`CbyAtm?#|xlHaxZusa@>3&eR#2^rR@^*5qQC}(^=W&%*cz6d9 zc$6@4$}^?&y_^dtgco(H>LxRNMw-keL2$0rbea0_63pr@udjFYEzxI$SJe=^kh9WIovRWQLa~mQ zg?FjP!p2GxW|cqd+;u1w)_;@k?(MjDY={U2w%Or8^f+t2F4Y0;0T^vIy7~jr) z-M89+hfO_x$-e)}^W&Iymft+|En;H$T&G@Po0f|ILdiYaj#HMD7ASgd>f!dBlLmFonTzK|X>vv?8 z(F@;RecAGiJJMX-^Vfv^wNLrp zC_Z*d{e7z{{`S+ZzKlSRNog@b3swFyiBDRxSVvvO^Zv0`m6Jw#DxTAJavzm=?8H#h zDt*9fjatcW-Lx&UF5FGmUHr6V&uPXR$66V5fYQ?n6&X(N5NJq^;W%KV$C4mfFV3`~ zhnq11RsMkb5sAlM0;-v^F&>kE`X;5!Tp6&VUao%9mCrl0JeiAZ=9V_T@|h&HEHm0M zpQ~EmWdGNCpUBs(dt4X^V0nI&2+`{{ae#3@~OQ_u4!gVX$8Kl92A=gj>&y*+SE zC%@3{2%$M=E-aZ_FM2EPYVD;eRGXKiM+F-z?nYRk^A2LfuLmZTYhr zW`bGl8XlsPOdjnBD76xj(sdS`apaiO=hm9*{dKw}N9AVi@xCvv6@7E{Yu?>4?~p%IO^wRO%z2>4_u*L*RpG z9)tGASr^`Jn{hGAseJy{o@v6L^w<-mu?7$#08ypq3pjCTJ2FJDLxt1Ct4cW<`l>6^ z=03h{Qu@2b-qT!aLHew1S7WZtYkl^)u3qhmkHxHqTLL2Q#yMzz=}~$7h2c`G(Ko9n z>yK}kGTS}3{KVuX@=uSPwK@O0JoE0`pj(Oy*Z%ut&}I73%F_b7ZyEA zyAiQMw%(zkYv1Wmr>ieLGQRY5J8VvVKDp#DC}?w{uf@E0BX{e)*n&SYtG*nN`!zM- z=Bc>Y{2Nb;x^GDb&yCo=Kg-)ZEA_XO$>C>Z?kx=eTKu2c2TtZ@{L}Tcg<)R@G+BNA gkuK`Q@%jV*LA#K5ORjF^2If8nPgg&ebxsLQ04{p3`v3p{ diff --git a/classRefinedDiscreteToCartesian-members.html b/classRefinedDiscreteToCartesian-members.html index db0d4937a..841f877af 100644 --- a/classRefinedDiscreteToCartesian-members.html +++ b/classRefinedDiscreteToCartesian-members.html @@ -100,13 +100,13 @@
-
RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt > Member List
+
RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt > Member List
-

This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >, including all inherited members.

+

This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >, including all inherited members.

std::unique_ptr<IInterpolatorRP> PreallocatableSplineInterpolatorRP::preallocate std::unique_ptr<IInterpolatorRP> PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >::preallocate ( ) const
- + @@ -121,29 +121,29 @@ - + - + - + - + - + - + - - + + - - - - - + + + + +
analytical_to_refined(Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inlinestatic
analytical_to_refined(Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inlinestatic
cartesian_tag_x typedefCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
cartesian_tag_y typedefCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
Curvilinear2DToCartesian()=default (defined in Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >)Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
inv_jacobian_matrix(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >inlinevirtual
inverse_metric_tensor(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >inlinevirtual
jacobian(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >inlinevirtual
jacobian_11(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
jacobian_11(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::jacobian_11(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
jacobian_12(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
jacobian_12(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::jacobian_12(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
jacobian_21(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
jacobian_21(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::jacobian_21(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
jacobian_22(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
jacobian_22(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::jacobian_22(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
jacobian_matrix(ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
jacobian_matrix(ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::jacobian_matrix(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
metric_tensor(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord, Matrix_2x2 &matrix) constCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >inlinevirtual
operator()(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
operator()(ddc::Coordinate< RDimR, RDimP > const &coord) const finalRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >::operator()(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const=0Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >pure virtual
operator=(Curvilinear2DToCartesian const &x)=defaultCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
operator=(Curvilinear2DToCartesian &&x)=defaultCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=defaultRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=defaultRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=defaultRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=defaultRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >
to_covariant(std::array< double, 2 > const &contravariant_vector, ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) constCurvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >inline
to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >inline
to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) constRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >inline
~Curvilinear2DToCartesian()=default (defined in Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >)Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >virtual
diff --git a/classRefinedDiscreteToCartesian.html b/classRefinedDiscreteToCartesian.html index 84ccfc630..01f58dfd3 100644 --- a/classRefinedDiscreteToCartesian.html +++ b/classRefinedDiscreteToCartesian.html @@ -5,7 +5,7 @@ -Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt > Class Template Reference +Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt > Class Template Reference @@ -105,18 +105,18 @@ Static Public Member Functions | List of all members
-
RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt > Class Template Reference
+
RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt > Class Template Reference

A class for describing refined discrete 2D mappings from the logical domain to the physical domain. More...

-Inheritance diagram for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >:
+Inheritance diagram for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >:
- - + + Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
@@ -138,45 +138,45 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -238,10 +238,10 @@

Public Member Functions

 RefinedDiscreteToCartesian (RefinedDiscreteToCartesian &&x)=default
 Instantiate a RefinedDiscreteToCartesian from another RefinedDiscreteToCartesian. More...
 
 RefinedDiscreteToCartesian (RefinedDiscreteToCartesian const &x)=default
 Instantiate a RefinedDiscreteToCartesian from another temporary RefinedDiscreteToCartesian. More...
 
ddc::Coordinate< RDimX, RDimYoperator() (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the physical coordinates from the logical coordinates. More...
 
void jacobian_matrix (ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const final
 Compute full Jacobian matrix. More...
 
double jacobian_11 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (1,1) coefficient of the Jacobian matrix. More...
 
double jacobian_12 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (1,2) coefficient of the Jacobian matrix. More...
 
double jacobian_21 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (2,1) coefficient of the Jacobian matrix. More...
 
double jacobian_22 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (2,2) coefficient of the Jacobian matrix. More...
 
void to_pseudo_cartesian_jacobian_center_matrix (ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
 Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central point. More...
 
double to_pseudo_cartesian_jacobian_11_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_12_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_21_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_22_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
 RefinedDiscreteToCartesian (RefinedDiscreteToCartesian &&x)=default
 Instantiate a RefinedDiscreteToCartesian from another RefinedDiscreteToCartesian. More...
 
 RefinedDiscreteToCartesian (RefinedDiscreteToCartesian const &x)=default
 Instantiate a RefinedDiscreteToCartesian from another temporary RefinedDiscreteToCartesian. More...
 
ddc::Coordinate< RDimX, RDimYoperator() (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the physical coordinates from the logical coordinates. More...
 
void jacobian_matrix (ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const final
 Compute full Jacobian matrix. More...
 
double jacobian_11 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (1,1) coefficient of the Jacobian matrix. More...
 
double jacobian_12 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (1,2) coefficient of the Jacobian matrix. More...
 
double jacobian_21 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (2,1) coefficient of the Jacobian matrix. More...
 
double jacobian_22 (ddc::Coordinate< RDimR, RDimP > const &coord) const final
 Compute the (2,2) coefficient of the Jacobian matrix. More...
 
void to_pseudo_cartesian_jacobian_center_matrix (ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
 Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central point. More...
 
double to_pseudo_cartesian_jacobian_11_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_12_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_21_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
double to_pseudo_cartesian_jacobian_22_center (ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
 Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point. More...
 
- Public Member Functions inherited from Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >
 Curvilinear2DToCartesian (Curvilinear2DToCartesian const &other)=default
 Instantiate a Curvilinear2DToCartesian from another Curvilinear2DToCartesian (lvalue). More...
- - - - + + + +

Static Public Member Functions

template<class Mapping >
static RefinedDiscreteToCartesian analytical_to_refined (Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)
 Define a RefinedDiscreteToCartesian mapping from an analytical mapping. More...
 
template<class Mapping >
static RefinedDiscreteToCartesian analytical_to_refined (Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)
 Define a RefinedDiscreteToCartesian mapping from an analytical mapping. More...
 
@@ -268,8 +268,8 @@

Additional Inherited Members

 

Detailed Description

-

template<class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
-class RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >

+

template<class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
+class RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >

A class for describing refined discrete 2D mappings from the logical domain to the physical domain.

The mapping is a DiscreteToCartesian mapping but built on a different grid. To be independent of errors due to the use of a discrete mapping, it could be interesting to work with a discrete mapping built on a refined grid.

@@ -278,21 +278,21 @@
Curvilinear2DToCartesian

Constructor & Destructor Documentation

- -

◆ RefinedDiscreteToCartesian() [1/2]

+ +

◆ RefinedDiscreteToCartesian() [1/2]

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
- + - + @@ -314,21 +314,21 @@

-

◆ RefinedDiscreteToCartesian() [2/2]

+ +

◆ RefinedDiscreteToCartesian() [2/2]

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RefinedDiscreteToCartesian RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RefinedDiscreteToCartesian (RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt > && RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt > &&  x)
- + - + @@ -351,19 +351,19 @@

Member Function Documentation

- -

◆ operator()()

+ +

◆ operator()()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RefinedDiscreteToCartesian RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RefinedDiscreteToCartesian (RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt > const & RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt > const &  x)
- + @@ -378,7 +378,7 @@

Compute the physical coordinates from the logical coordinates.

-

It evaluates the decomposed mapping on B-splines at the coordinate point with a SplineEvaluator2D.

+

It evaluates the decomposed mapping on B-splines at the coordinate point with a SplineEvaluator2D.

Parameters

ddc::Coordinate<RDimX, RDimY> RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::operator() ddc::Coordinate<RDimX, RDimY> RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::operator() ( ddc::Coordinate< RDimR, RDimP > const &  coord)
@@ -388,23 +388,23 @@

Returns
The coordinates of the mapping in the initial physical domain.
See also
DiscreteToCartesian
-SplineEvaluator2D
+SplineEvaluator2D - -

◆ jacobian_matrix()

+ +

◆ jacobian_matrix()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

[in]coordThe coordinates in the initial logical domain.
- + @@ -449,19 +449,19 @@

-

◆ jacobian_11()

+ +

◆ jacobian_11()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

void RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::jacobian_matrix void RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::jacobian_matrix ( ddc::Coordinate< RDimR, RDimP > const &  coord,
- + @@ -485,23 +485,23 @@

Returns
A double with the value of the (1,1) coefficient of the Jacobian matrix.
See also
DiscreteToCartesian
-SplineEvaluator2D
+SplineEvaluator2D - -

◆ jacobian_12()

+ +

◆ jacobian_12()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::jacobian_11 double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::jacobian_11 ( ddc::Coordinate< RDimR, RDimP > const &  coord)
- + @@ -525,23 +525,23 @@

Returns
A double with the value of the (1,2) coefficient of the Jacobian matrix.
See also
DiscreteToCartesian
-SplineEvaluator2D
+SplineEvaluator2D - -

◆ jacobian_21()

+ +

◆ jacobian_21()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::jacobian_12 double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::jacobian_12 ( ddc::Coordinate< RDimR, RDimP > const &  coord)
- + @@ -565,23 +565,23 @@

Returns
A double with the value of the (2,1) coefficient of the Jacobian matrix.
See also
DiscreteToCartesian
-SplineEvaluator2D
+SplineEvaluator2D - -

◆ jacobian_22()

+ +

◆ jacobian_22()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::jacobian_21 double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::jacobian_21 ( ddc::Coordinate< RDimR, RDimP > const &  coord)
+ + + + + + + + +
- + @@ -605,23 +605,23 @@

Returns
A double with the value of the (2,2) coefficient of the Jacobian matrix.
See also
DiscreteToCartesian
-SplineEvaluator2D
+SplineEvaluator2D - -

◆ to_pseudo_cartesian_jacobian_center_matrix()

+ +

◆ to_pseudo_cartesian_jacobian_center_matrix()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::jacobian_22 double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::jacobian_22 ( ddc::Coordinate< RDimR, RDimP > const &  coord)
- - + + + + +
- + @@ -646,7 +646,7 @@

Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central point.

-

Call the DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix() function.

+

Call the DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix() function.

Parameters

void RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::to_pseudo_cartesian_jacobian_center_matrix void RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::to_pseudo_cartesian_jacobian_center_matrix ( ddc::DiscreteDomain< IDimR, IDimP > const &  grid,
@@ -662,19 +662,19 @@

-

◆ to_pseudo_cartesian_jacobian_11_center()

+ +

◆ to_pseudo_cartesian_jacobian_11_center()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

[in]gridThe domain where the mapping is defined.
+ + + + + +
- + @@ -696,23 +696,23 @@

Returns
A double with the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ to_pseudo_cartesian_jacobian_12_center()

+ +

◆ to_pseudo_cartesian_jacobian_12_center()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::to_pseudo_cartesian_jacobian_11_center double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::to_pseudo_cartesian_jacobian_11_center ( ddc::DiscreteDomain< IDimR, IDimP > const &  grid)
+ +
- + @@ -738,19 +738,19 @@

-

◆ to_pseudo_cartesian_jacobian_21_center()

+ +

◆ to_pseudo_cartesian_jacobian_21_center()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::to_pseudo_cartesian_jacobian_12_center double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::to_pseudo_cartesian_jacobian_12_center ( ddc::DiscreteDomain< IDimR, IDimP > const &  grid)
+ + + + + +
- + @@ -772,23 +772,23 @@

Returns
A double with the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ to_pseudo_cartesian_jacobian_22_center()

+ +

◆ to_pseudo_cartesian_jacobian_22_center()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::to_pseudo_cartesian_jacobian_21_center double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::to_pseudo_cartesian_jacobian_21_center ( ddc::DiscreteDomain< IDimR, IDimP > const &  grid)
+ +
- + @@ -810,17 +810,17 @@

Returns
A double with the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
-
See also
to_pseudo_cartesian_jacobian_center_matrix
+
See also
to_pseudo_cartesian_jacobian_center_matrix
- -

◆ analytical_to_refined()

+ +

◆ analytical_to_refined()

-template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
+template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
template<class Mapping >

double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::to_pseudo_cartesian_jacobian_22_center double RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::to_pseudo_cartesian_jacobian_22_center ( ddc::DiscreteDomain< IDimR, IDimP > const &  grid)
@@ -828,7 +828,7 @@

- + diff --git a/classRefinedDiscreteToCartesian.js b/classRefinedDiscreteToCartesian.js index b91159ee2..5496c22a3 100644 --- a/classRefinedDiscreteToCartesian.js +++ b/classRefinedDiscreteToCartesian.js @@ -4,17 +4,17 @@ var classRefinedDiscreteToCartesian = [ "RDimRRefined", "structRefinedDiscreteToCartesian_1_1RDimRRefined.html", null ], [ "RDimXRefined", "structRefinedDiscreteToCartesian_1_1RDimXRefined.html", null ], [ "RDimYRefined", "structRefinedDiscreteToCartesian_1_1RDimYRefined.html", null ], - [ "RefinedDiscreteToCartesian", "classRefinedDiscreteToCartesian.html#a71cf6ce493ab0b2d2648bbf37fe0a1b0", null ], - [ "RefinedDiscreteToCartesian", "classRefinedDiscreteToCartesian.html#ad15636dc573eac8f0822134b87be904a", null ], - [ "operator()", "classRefinedDiscreteToCartesian.html#ab2bd385b85af4de24b2b551ad7d08395", null ], - [ "jacobian_matrix", "classRefinedDiscreteToCartesian.html#afa1403f0c31addf1ddc2a32546e95968", null ], - [ "jacobian_11", "classRefinedDiscreteToCartesian.html#a92814d6e27ac7ea37614afebb77b948c", null ], - [ "jacobian_12", "classRefinedDiscreteToCartesian.html#a9e3a54843420a1bb60def2673e76f6b5", null ], - [ "jacobian_21", "classRefinedDiscreteToCartesian.html#a3566dfb3c96667eb21a1f2bf7cef9e20", null ], - [ "jacobian_22", "classRefinedDiscreteToCartesian.html#aadcec35fb2e9e3d3374319c2083252ac", null ], - [ "to_pseudo_cartesian_jacobian_center_matrix", "classRefinedDiscreteToCartesian.html#ad036c1e505c4f6aff7c898f8780b4aae", null ], - [ "to_pseudo_cartesian_jacobian_11_center", "classRefinedDiscreteToCartesian.html#a416da5763f9fbc1102116d87a9d16406", null ], - [ "to_pseudo_cartesian_jacobian_12_center", "classRefinedDiscreteToCartesian.html#afc5ed6dcc2450da218198df4ce5d99db", null ], - [ "to_pseudo_cartesian_jacobian_21_center", "classRefinedDiscreteToCartesian.html#aae2b4b51ccbf6904311b898cf6294697", null ], - [ "to_pseudo_cartesian_jacobian_22_center", "classRefinedDiscreteToCartesian.html#aed3ea390d002eebaa27fde9077fd9fc8", null ] + [ "RefinedDiscreteToCartesian", "classRefinedDiscreteToCartesian.html#ae5bba01bd6c921ef16dc603188003936", null ], + [ "RefinedDiscreteToCartesian", "classRefinedDiscreteToCartesian.html#ae29f077f94f09fc84bd19d45f8e7e225", null ], + [ "operator()", "classRefinedDiscreteToCartesian.html#a0f901e23b2dfd8a35174d35fdd7ba4b5", null ], + [ "jacobian_matrix", "classRefinedDiscreteToCartesian.html#aaedfa0d22464f78665eb0065a985edd3", null ], + [ "jacobian_11", "classRefinedDiscreteToCartesian.html#a1c1f98fdaf4b64cb7084909773a85664", null ], + [ "jacobian_12", "classRefinedDiscreteToCartesian.html#a7c5f9aada92d9fdb721f49963ed4c931", null ], + [ "jacobian_21", "classRefinedDiscreteToCartesian.html#a308b497ac063952739c487bdce48145c", null ], + [ "jacobian_22", "classRefinedDiscreteToCartesian.html#ac688e376939b25dae506045883181fb5", null ], + [ "to_pseudo_cartesian_jacobian_center_matrix", "classRefinedDiscreteToCartesian.html#a188b82d80a44d2d7cdda04c6dce91690", null ], + [ "to_pseudo_cartesian_jacobian_11_center", "classRefinedDiscreteToCartesian.html#a2db78ed9508f2ba5653cbbae7a5fe0b1", null ], + [ "to_pseudo_cartesian_jacobian_12_center", "classRefinedDiscreteToCartesian.html#a9ccad9ea32431d2129672501ef9ae453", null ], + [ "to_pseudo_cartesian_jacobian_21_center", "classRefinedDiscreteToCartesian.html#a0f14e02728459802da5197828535c1e2", null ], + [ "to_pseudo_cartesian_jacobian_22_center", "classRefinedDiscreteToCartesian.html#a663d2043b6fd23ddbb86815f70f8edf4", null ] ]; \ No newline at end of file diff --git a/classRefinedDiscreteToCartesian.png b/classRefinedDiscreteToCartesian.png index f3042818254623ddb9f566420322ddaddb4a9762..eb902146e2693c6e0631faf966468ec80194dcbb 100644 GIT binary patch literal 1923 zcmd5-`8V6?8vmk(nyOlgYKczeTE`mwV3r2kv{$^FE*V`8?a$!q`VuS_OF3%_ zB!8-2NBDma$eTW&kyn8>0HC4;^>7bNRuGiJ3+C)qJ)6oni&87RMb?Ro8*!#*P%AY4 zU@`sJK1I}XtKLVJwU>S<7=C2gdm!=-on}&Pvbgna#XUKKRo(b850Q5|TZ;hog}y%R z%Lki-p+hg+(4BiwL{k%+3Wh2{&b~<oA)by;zK% z)~eBjIG?OFx%nv_Tszdc#Oa;zBDsFh73Zi!d5)iOOkfPbka`BrrdcKBNaz$3T{px zo9+zq=9Dink}byp>QG_GMgD~%OnOz6H_)mzofH={{44}5fyd1MdRc5dXF&cJXCCF*gIey^q10p}zQS9Gw_&AHGA+CuV zf&Y=ZWRPI9Q>6Q{v300xEk_7m%8R$c4vWGv0DI#e8AE(-I{gMI(uJ{i7d!!<8kRdFtOvKV|pfJrlC$7za zR6ZoGI5GQQbcAj$Mkhb!+RgJK4!NOC+EXn=C5?M6V3G6l|59`Gs zJs;K8d5|+*Mve<%_iovdqXsVWISX;iXZd64S7jnVT)fy;<$_}OpS@5vJjx;6z8ZCm zx7K|)UfTtD+Ftge!_ben-g!<^Jf0^2*4|GhJ`!1XhE+Z{BMtM?k#%~5jIwu{yWty` z7k1~Dm?hweOXc_I7lLV(Ch9slsZenp!Q7WO0gkD6uPcOHh9*f*^1EK{x+=1mbrWTz zl`syatqb2%0)8s$b!3_l&&$HbkT8xQ`tr`xe(i-4?%xrUWy zU|}9Dj~+w&iyYJw{+CDgDf%evw(bFR00G#VRjBwV^i{f&^9X4=EE8Y80s{CC|Mm{u z$XNMQrq<`8hwr?+IP|5{ujWrUjZ;_Zh3XsTnJ;N%FZ$ zbU?loja*~Vyn;fYjXl^Ou%(T;GsURU9WtaYqce`?O+t<|f z?G&DJiN`M&t z&TiFCoRr%>XNgN#hJf5;2?u}&8(fW_pR5|a&Ae_c+@gHiej~M{g33V1o1<2HTi8S6 zviN97XhHl>OGdF_*<}msA<;PxOJhOey9>y-za2QiZy*}xx7fVNju=2TOeqEXfF4eI zQZtS#u4T08641S`NX(*xAoR}4N9os>RAV<= z)Esm-4S}@$I`An_o@XS zCWgz@E2tFA#%apTk2&Nc&-@oj)UO6+h}3>bce6@V$iHooJ>CRxkC(Tdzhp=JH{lRg z+&%2|FrTWkpReg#3rlzO#fnK!!g{z8RHnB@_!#_`-!iuC zC7Nt%Y+-C}mw}j9vK$Zwnz<6`)e_Ua&^^@soI4dFt#hn{_2^>;S6y*iQFkUPzcR-8 zcr7H@Kvs#6XB#G{BaX(5U+SfVWaNEJ&nbUDY>T}H8UA~X<@8){c$Y3A4PC8wd%Q@N z?X;bxpY}tBs>~>SKZJ!7!4_mahPxgISoPEhmkO2EFxRUpc+MAPy8NX~+W$(H=#KU^ iuSNJm^AWH1i8YFy3+H9ql2`H{6M%a9do-R4|JR>=NV{bK literal 1826 zcmd5-YgCe17kxFu=Uyn*a0nJ8PY@pZz@h&)I7~YiIfS z;EW9{3;+Ny#(Q}Z0AQO8#C|(;z}Ma6i%l??`V!$|2AZ$Y_6DRYjhu5KP*yVH+)QC2$L7++0}9S z)0qR^9@gtY%6Du^a5RtY@C${_tZl6*1`4!OJ_2x41c|qFrGRYn+5-eN4EvYQFcfiyGI{zt)sOE6UWog6F{n ztV;5jI(TM}czeTGNyj3W^!0TZu6qcGv!m8UhP{7%kt9ick%qm>DnlrB^~u z*~;to6kJGS7X3L~HLNgAVQT6ciLIWwzGq8qf?R{!uMPaCM$VPo%qeO?e$}PkD=h>;T2D_DW^e)I9R9d?ngeOp`#;ajO!v6DS<4+!8=D{XYmAvm$~wtB^pbE_|78yY;Q% z3m(vdZ5L1JyPYry1$zUMU~6=$fZ~zCa#TK6?uyY)ggep9LTP_AvFqD%_u;Oi6I%@P z*OjX}ivD(2{{E1zTt3-~M07OVKl$OTp!pKtn3@6|YqU!I-=3Mw!1j@2A5&o&^v~wL z2B^n+lKvz(HNSEREwsTU?u5kFw0UUjE;VSMxVOVCtyX;gKxq{G9pV(@=NE#SbmK|n z+}e>ac=P>L^OX=uMQ0@6IdAkZoj*Mh7=>OKne2hp^!eOx%^^hY=5m?7bO9JtT`{I@=y^&X+=e*yCNfD-@! diff --git a/classSplineBoundaryValue-members.html b/classSplineBoundaryValue-members.html deleted file mode 100644 index 788105f25..000000000 --- a/classSplineBoundaryValue-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
-
static RefinedDiscreteToCartesian RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::analytical_to_refined static RefinedDiscreteToCartesian RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::analytical_to_refined ( Mapping const &  analytical_mapping,
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineBoundaryValue< BSplines > Member List
-
-
- -

This is the complete list of members for SplineBoundaryValue< BSplines >, including all inherited members.

- - - -
operator()(ddc::Coordinate< typename BSplines::tag_type > x, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >>) const =0 (defined in SplineBoundaryValue< BSplines >)SplineBoundaryValue< BSplines >pure virtual
~SplineBoundaryValue()=default (defined in SplineBoundaryValue< BSplines >)SplineBoundaryValue< BSplines >virtual
-
- - - - diff --git a/classSplineBoundaryValue.html b/classSplineBoundaryValue.html deleted file mode 100644 index bf90d65a8..000000000 --- a/classSplineBoundaryValue.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Gyselalib++: SplineBoundaryValue< BSplines > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineBoundaryValue< BSplines > Class Template Referenceabstract
-
-
-
-Inheritance diagram for SplineBoundaryValue< BSplines >:
-
-
- - -ConstantExtrapolationBoundaryValue< BSplines > -NullBoundaryValue< BSplines > - -
- - - - -

-Public Member Functions

-virtual double operator() (ddc::Coordinate< typename BSplines::tag_type > x, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >>) const =0
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classSplineBoundaryValue.js b/classSplineBoundaryValue.js deleted file mode 100644 index d7a01b094..000000000 --- a/classSplineBoundaryValue.js +++ /dev/null @@ -1,5 +0,0 @@ -var classSplineBoundaryValue = -[ - [ "~SplineBoundaryValue", "classSplineBoundaryValue.html#ab8c255bfff4881701559b44dbe568db1", null ], - [ "operator()", "classSplineBoundaryValue.html#a772793f39da3ff86099ca45d56d3a4b6", null ] -]; \ No newline at end of file diff --git a/classSplineBoundaryValue.png b/classSplineBoundaryValue.png deleted file mode 100644 index 65874f7213764be6b08830fd69c7b975db1e7370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1502 zcmcJPeKga19LIl%7%K9xLbpy7-J#@Z6-kUAg=YAP;;wL(?d%x#=zu(XMdtRT1^EsdM%?b+e(MPRC z0RW&6`g-93KpjHtAZ-og{FF3Tgb9}uaX zgbxS?5J;kC`pw$~}zQ$wa?PaSP^VKF2{D2MLm+w4}jtoV~o>b)dFgkLlPSsae zPf6-7w+sg^?@fU)v{mEJ4xjq`@O*`iN1Hb6m*Y;+>NPacUEk~tmo>Eeji=R)v3zE% zMF#^p<leh#`U7ZX4!eeBV$(*)g`7#!$s5cFz#Er(w<(hOldHrryA78P*+7v$n8# zzYx7c94t42Az*`@cc{GFE#oSlZ?B_64i~&JswS@RH&z71#YF&=T#>qV;x=B5`74|S zf!ij(n?E*rsPt~vmk2CO;4UVuy<&GK1_nGM^=5|muXDnVa}2Ad8gwpEu-f*Y7F-k0G_T6v~>YG>o0s?vJ04?&8=WSPiVSb4Gm~)MKLs^0i45rXI&wn z*GyDH)AHw2V;&%YE5?MThR)`zZw2-uEz^p&Hc>Gm6;lpj5MLveZzd5&;GnNCUGyIu z^}=yK>qeo*UdCwh2D+4|5YZ4g+EJXV)tQ(DBH~;33mB= zwI6KR>MPYT@n_CL7!VZ=TUO?Ym~7yihYV= z_31sF5~sYeDVbxuR+R&bN$#2m$|O7%4B&QpybWZHH<&6qRW2>W!rXhZO7xkq@f&ouo&wV0OUaLgB$&=GA}Xo1yG=MYIXJtOa$ z@XD;l#Wb#EVat=UaFT^pr^BZ#$R)DgQUr;vik1Df505U6g-7Womfa$CIen%V#g^0` zmiM?3G6d_U-&UZ{QXfC#P20wXlB2>VlCx9#Ui(I6+k;L`&07YsbssfVP04_mj`VFT z7TfJiPx_;a21HP*y%;^iH0n1Kt$jJ;!k9EwVNuqdm+BiJ?(T3T`?L>2Ezx&UQC1^g zkh%JB1h%xHA#>%9%$52#5A&A_Ns>)NrR~ - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineBoundaryValue2D< BSplines1, BSplines2 > Member List
-
-
- -

This is the complete list of members for SplineBoundaryValue2D< BSplines1, BSplines2 >, including all inherited members.

- - - -
operator()(ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const =0 (defined in SplineBoundaryValue2D< BSplines1, BSplines2 >)SplineBoundaryValue2D< BSplines1, BSplines2 >pure virtual
~SplineBoundaryValue2D()=default (defined in SplineBoundaryValue2D< BSplines1, BSplines2 >)SplineBoundaryValue2D< BSplines1, BSplines2 >virtual
-
- - - - diff --git a/classSplineBoundaryValue2D.html b/classSplineBoundaryValue2D.html deleted file mode 100644 index 9fafbf2b8..000000000 --- a/classSplineBoundaryValue2D.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Gyselalib++: SplineBoundaryValue2D< BSplines1, BSplines2 > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineBoundaryValue2D< BSplines1, BSplines2 > Class Template Referenceabstract
-
-
-
-Inheritance diagram for SplineBoundaryValue2D< BSplines1, BSplines2 >:
-
-
- - -ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim > -NullBoundaryValue2D< BSplines1, BSplines2 > - -
- - - - -

-Public Member Functions

-virtual double operator() (ddc::Coordinate< typename BSplines1::tag_type > x, ddc::Coordinate< typename BSplines2::tag_type > y, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >>) const =0
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classSplineBoundaryValue2D.js b/classSplineBoundaryValue2D.js deleted file mode 100644 index 4fd117e13..000000000 --- a/classSplineBoundaryValue2D.js +++ /dev/null @@ -1,5 +0,0 @@ -var classSplineBoundaryValue2D = -[ - [ "~SplineBoundaryValue2D", "classSplineBoundaryValue2D.html#a2ea44746fb1c6e0751d2883d21e7732c", null ], - [ "operator()", "classSplineBoundaryValue2D.html#a2204ee78e1716a11e69bf609dcb66fc2", null ] -]; \ No newline at end of file diff --git a/classSplineBoundaryValue2D.png b/classSplineBoundaryValue2D.png deleted file mode 100644 index ff6f101d06c086cbd32436174bc1f6105c3fd6e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 zcmchXYf#cz7{>o-vRzQjycMZ!Qf6a@8n)VYGjEuhp_#YL%J2dRnr5Jh+QrH(5>m&% z5n0|!1e3gyiaAzlXr)G`SZ!V+LbnK8vS85<`>km|?K^YM^E>lA=gfO%&YbfB{$Bcv zS1bkqKp*4njs*Z+oR$L?>S|{XVZj@%m%WhlJjF z^hemN*=sz;b`2BjvlKu9?c^k2CpiRIn)nlSK{b6=1e%NvY@;`-gz8S!2P$z(y#4S7 z_MTC8WSd%{HIR~sq1h*UcceNbv41UuGT_Ch*Rddl>(Tv{arUSk;8*6 zYUUKwe=(*Sdq&JY{v@6H+&n!d(($^0n`?udB=3!!t?L)XAFW@1jkb|h8fVq{`Y@sH zaSw@-Mr}F>k$p_hnqXPlfN0%wj}p6x7B2}3dTekCk0Wk=kt&-?;s05bS}t}~9?q&? zuCwygTnrEyUGWmEkmWajx%Hg0sgj15c}GeRyN#|qd~j6&u31OtQmv7E9N^%R#QUx) z8hnw=Qq;-LQR?hz?;R+yk(_+Ho;n$qOYwoMg7ub$BKTbF$~Z(ggn$Ugik^Zq5q@O zNg^UxE?wf{*T3ncRj-z9Eqxi$NU6dW%|u#b*mN|r6cyrxxsdZ?@G1%Ys>&-hC{}E@ z>Fp3BW~K=C*QS|47W*tP@zR4=`-02XCN3un zOc|YI)FR~{^WS(sE8&2W3yoDprOFc#PMF(`g8E3`PeyP3RpZge5^1JHgFdrZ?gS!r zJ?2?K9!PBKw&s8BCL^T*wYW~g#7P`wT2TSnq=^e4tFS zsV*R?bP8jf`=|YRf?^^?aXYM?LQt;l;oTc1FeUPY=dlGg4#9lY#cj_-ty{0& z^bk}HaaTxM;x}JPLv*u{c%}@Q2EP?fj_I&7Q(cs%98SBl12GZ^ey>QFxq*9S+WRP> zUgJi>2j3gU@-IdBgwcyZH1XKRF2_=JH4&!LOUU-dQj%NWvyjXn%kRpU!->N_+LZH5 zJ2=iu+{GusV=|-5aJyyOH5*u=8LT}qtX@qYF_qGw3O|rTj2BJvOuD`7@?Fr{ZZtilL?MloF zw~`{HMduS2c%_=$*^)&vyIeX88}MaZT9x!0W7Fw#p#C~_Y?mZ)-bio7<#pthIxH9< zxXT;x>I&rcNPgSOOGr7&+X>^yNVa3Y5+S?1ZyVs(Vh+{d7{>4)1Kmng9tS?&3% diff --git a/classSplineBuilder-members.html b/classSplineBuilder-members.html deleted file mode 100644 index 1394fb7a7..000000000 --- a/classSplineBuilder-members.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > Member List
-
-
- -

This is the complete list of members for SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
bsplines_type typedefSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
get_interpolation_matrix() const noexceptSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >inline
interpolation_domain() const noexceptSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >inline
interpolation_domain_type typedefSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
mesh_type typedefSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
operator()(ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan1D > const derivs_xmin=std::nullopt, std::optional< CDSpan1D > const derivs_xmax=std::nullopt) constSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
operator=(SplineBuilder const &x)=delete (defined in SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >)SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
operator=(SplineBuilder &&x)=defaultSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
s_bc_xmaxSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_bc_xminSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_nbc_xmaxSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_nbc_xminSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_nbe_xmaxSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_nbe_xminSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
s_oddSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >static
spline_domain() const noexceptSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >inline
SplineBuilder(interpolation_domain_type const &interpolation_domain)SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
SplineBuilder(SplineBuilder const &x)=deleteSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
SplineBuilder(SplineBuilder &&x)=defaultSplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
~SplineBuilder()=default (defined in SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >)SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >
-
- - - - diff --git a/classSplineBuilder.html b/classSplineBuilder.html deleted file mode 100644 index a3f37f289..000000000 --- a/classSplineBuilder.html +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - -Gyselalib++: SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > Class Template Reference
-
-
- -

A class for creating a spline approximation of a function. - More...

- - - - - - - - - - - -

-Public Types

-using bsplines_type = BSplines
 The type of the BSplines which are compatible with this class.
 
-using mesh_type = interpolation_mesh_type
 The type of the interpolation mesh used by this class.
 
-using interpolation_domain_type = ddc::DiscreteDomain< interpolation_mesh_type >
 The type of the domain for the interpolation mesh used by this class.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SplineBuilder (interpolation_domain_type const &interpolation_domain)
 Create a new SplineBuilder. More...
 
 SplineBuilder (SplineBuilder const &x)=delete
 Create a new SplineBuilder by copy. More...
 
 SplineBuilder (SplineBuilder &&x)=default
 Create a new SplineBuilder by copy. More...
 
-SplineBuilderoperator= (SplineBuilder const &x)=delete
 
SplineBuilderoperator= (SplineBuilder &&x)=default
 Copy a SplineBuilder. More...
 
void operator() (ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan1D > const derivs_xmin=std::nullopt, std::optional< CDSpan1D > const derivs_xmax=std::nullopt) const
 Build a spline approximation of a function. More...
 
interpolation_domain_type const & interpolation_domain () const noexcept
 Get the domain from which the approximation is defined. More...
 
ddc::DiscreteDomain< BSplines > spline_domain () const noexcept
 Get the domain on which the approximation is defined. More...
 
const Matrixget_interpolation_matrix () const noexcept
 Get the interpolation matrix. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Static Public Attributes

-static constexpr bool s_odd = BSplines::degree() % 2
 Indicates if the degree of the splines is odd or even.
 
-static constexpr int s_nbe_xmin = n_boundary_equations(BcXmin, BSplines::degree())
 The number of equations which define the boundary conditions at the lower bound.
 
-static constexpr int s_nbe_xmax = n_boundary_equations(BcXmax, BSplines::degree())
 The number of equations which define the boundary conditions at the upper bound.
 
static constexpr int s_nbc_xmin = n_user_input(BcXmin, BSplines::degree())
 The number of boundary conditions which must be provided by the user at the lower bound. More...
 
static constexpr int s_nbc_xmax = n_user_input(BcXmax, BSplines::degree())
 The number of boundary conditions which must be provided by the user at the upper bound. More...
 
-static constexpr BoundCond s_bc_xmin = BcXmin
 The boundary condition implemented at the lower bound.
 
-static constexpr BoundCond s_bc_xmax = BcXmax
 The boundary condition implemented at the upper bound.
 
-

Detailed Description

-

template<class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
-class SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >

- -

A class for creating a spline approximation of a function.

-

A class which contains an operator () which can be used to build a spline approximation of a function. A spline approximation is represented by coefficients stored in a Chunk of BSplines. The spline is constructed such that it respects the boundary conditions BcXmin and BcXmax, and it interpolates the function at the points on the interpolation_mesh associated with interpolation_mesh_type.

-

Constructor & Destructor Documentation

- -

◆ SplineBuilder() [1/3]

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - - - - -
SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::SplineBuilder (interpolation_domain_type const & interpolation_domain)
-
- -

Create a new SplineBuilder.

-
Parameters
- - -
interpolation_domainThe domain on which points will be provided in order to create the spline approximation.
-
-
- -
-
- -

◆ SplineBuilder() [2/3]

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - - -
SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::SplineBuilder (SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > const & x)
-
-delete
-
- -

Create a new SplineBuilder by copy.

-
Parameters
- - -
xThe SplineBuilder being copied.
-
-
- -
-
- -

◆ SplineBuilder() [3/3]

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - - -
SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::SplineBuilder (SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > && x)
-
-default
-
- -

Create a new SplineBuilder by copy.

-
Parameters
- - -
xThe SplineBuilder being copied.
-
-
- -
-
-

Member Function Documentation

- -

◆ operator=()

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - - -
SplineBuilder& SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::operator= (SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax > && x)
-
-default
-
- -

Copy a SplineBuilder.

-
Parameters
- - -
xThe SplineBuilder being copied.
-
-
-
Returns
A reference to this object.
- -
-
- -

◆ operator()()

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::operator() (ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type >> spline,
ddc::ChunkSpan< double const, interpolation_domain_typevals,
std::optional< CDSpan1D > const derivs_xmin = std::nullopt,
std::optional< CDSpan1D > const derivs_xmax = std::nullopt 
) const
-
- -

Build a spline approximation of a function.

-

Use the values of a function at known grid points (as specified by SplineBuilder::interpolation_domain) and the derivatives of the function at the boundaries (if necessary for the chosen boundary conditions) to calculate a spline approximation of a function.

-

The spline approximation is stored as a ChunkSpan of coefficients associated with basis-splines.

-
Parameters
- - - - - -
[out]splineThe coefficients of the spline calculated by the function.
[in]valsThe values of the function at the grid points.
[in]derivs_xminThe values of the derivatives at the lower boundary.
[in]derivs_xmaxThe values of the derivatives at the upper boundary.
-
-
- -
-
- -

◆ interpolation_domain()

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - -
interpolation_domain_type const& SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::interpolation_domain () const
-
-inlinenoexcept
-
- -

Get the domain from which the approximation is defined.

-

Get the domain on which values of the function must be provided in order to build a spline approximation of the function.

-
Returns
The domain for the grid points.
- -
-
- -

◆ spline_domain()

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - -
ddc::DiscreteDomain<BSplines> SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::spline_domain () const
-
-inlinenoexcept
-
- -

Get the domain on which the approximation is defined.

-

Get the domain of the basis-splines for which the coefficients of the spline approximation must be calculated.

-
Returns
The domain for the splines.
- -
-
- -

◆ get_interpolation_matrix()

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - - - - -
const Matrix& SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::get_interpolation_matrix () const
-
-inlinenoexcept
-
- -

Get the interpolation matrix.

-

Get the interpolation matrix. This can be useful for debugging (as it allows one to print the matrix) or for more complex quadrature schemes.

-
Returns
A reference to the interpolation matrix.
- -
-
-

Member Data Documentation

- -

◆ s_nbc_xmin

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - -
constexpr int SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::s_nbc_xmin = n_user_input(BcXmin, BSplines::degree())
-
-staticconstexpr
-
- -

The number of boundary conditions which must be provided by the user at the lower bound.

-

This value is usually equal to s_nbe_xmin, but it may be difference if the chosen boundary conditions impose a specific value (e.g. no values need to be provided for Dirichlet boundary conditions).

- -
-
- -

◆ s_nbc_xmax

- -
-
-
-template<class BSplines , class interpolation_mesh_type , BoundCond BcXmin, BoundCond BcXmax>
- - - - - -
- - - - -
constexpr int SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >::s_nbc_xmax = n_user_input(BcXmax, BSplines::degree())
-
-staticconstexpr
-
- -

The number of boundary conditions which must be provided by the user at the upper bound.

-

This value is usually equal to s_nbe_xmin, but it may be difference if the chosen boundary conditions impose a specific value (e.g. no values need to be provided for Dirichlet boundary conditions).

- -
-
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_builder.hpp
  • -
-
-
- - - - diff --git a/classSplineBuilder.js b/classSplineBuilder.js deleted file mode 100644 index 9860e292b..000000000 --- a/classSplineBuilder.js +++ /dev/null @@ -1,16 +0,0 @@ -var classSplineBuilder = -[ - [ "bsplines_type", "classSplineBuilder.html#a8e306ff751612410e7c80db1eeabd0c8", null ], - [ "mesh_type", "classSplineBuilder.html#a277cde780e9a94f7f2dbc8a3fef5e4ff", null ], - [ "interpolation_domain_type", "classSplineBuilder.html#aec9bd498c486b22848aeb026de467fcf", null ], - [ "SplineBuilder", "classSplineBuilder.html#aa1c79d6ada6f3253febfc994b9a2d55e", null ], - [ "SplineBuilder", "classSplineBuilder.html#aff30d3c9ee7e83246b37719a0866874c", null ], - [ "SplineBuilder", "classSplineBuilder.html#ad62a92276f053ebdfcc38f1ede5b7198", null ], - [ "~SplineBuilder", "classSplineBuilder.html#a0187dbc5d9a7c8af08031f2c24b1d1be", null ], - [ "operator=", "classSplineBuilder.html#a002107d0fdbfd399afca2f822e048f4f", null ], - [ "operator=", "classSplineBuilder.html#a2763318a2269b27a7a051200bbc5b659", null ], - [ "operator()", "classSplineBuilder.html#a60ece27168e990dd396dd059ce238267", null ], - [ "interpolation_domain", "classSplineBuilder.html#aea5b09d866bfabd34f93dc7244061e51", null ], - [ "spline_domain", "classSplineBuilder.html#a2d211caa5dd227dd6d05947484d1b6e9", null ], - [ "get_interpolation_matrix", "classSplineBuilder.html#ab66639ab2f9529f4430ce60320eb9e17", null ] -]; \ No newline at end of file diff --git a/classSplineBuilder2D-members.html b/classSplineBuilder2D-members.html deleted file mode 100644 index adba9e39f..000000000 --- a/classSplineBuilder2D-members.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineBuilder2D< SplineBuilder1, SplineBuilder2 > Member List
-
-
- -

This is the complete list of members for SplineBuilder2D< SplineBuilder1, SplineBuilder2 >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
BcXmax1SplineBuilder2D< SplineBuilder1, SplineBuilder2 >static
BcXmax2SplineBuilder2D< SplineBuilder1, SplineBuilder2 >static
BcXmin1SplineBuilder2D< SplineBuilder1, SplineBuilder2 >static
BcXmin2SplineBuilder2D< SplineBuilder1, SplineBuilder2 >static
bsplines_type1 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
bsplines_type2 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
builder_type1 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
builder_type2 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
get_builder_1() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
get_builder_2() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
interpolation_domain() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
interpolation_domain1() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
interpolation_domain2() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
interpolation_domain_type typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
interpolation_domain_type1 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
interpolation_domain_type2 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
interpolation_mesh_type1 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
interpolation_mesh_type2 typedefSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
operator()(ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type1, bsplines_type2 >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan2D > const derivs_xmin=std::nullopt, std::optional< CDSpan2D > const derivs_xmax=std::nullopt, std::optional< CDSpan2D > const derivs_ymin=std::nullopt, std::optional< CDSpan2D > const derivs_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymax=std::nullopt) constSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
operator=(SplineBuilder2D const &x)=delete (defined in SplineBuilder2D< SplineBuilder1, SplineBuilder2 >)SplineBuilder2D< SplineBuilder1, SplineBuilder2 >
operator=(SplineBuilder2D &&x)=defaultSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
spline_domain() const noexceptSplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
SplineBuilder2D(interpolation_domain_type const &interpolation_domain)SplineBuilder2D< SplineBuilder1, SplineBuilder2 >inline
SplineBuilder2D(SplineBuilder2D const &x)=deleteSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
SplineBuilder2D(SplineBuilder2D &&x)=defaultSplineBuilder2D< SplineBuilder1, SplineBuilder2 >
~SplineBuilder2D()=default (defined in SplineBuilder2D< SplineBuilder1, SplineBuilder2 >)SplineBuilder2D< SplineBuilder1, SplineBuilder2 >
-
- - - - diff --git a/classSplineBuilder2D.html b/classSplineBuilder2D.html deleted file mode 100644 index cafce6bff..000000000 --- a/classSplineBuilder2D.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - - - - -Gyselalib++: SplineBuilder2D< SplineBuilder1, SplineBuilder2 > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineBuilder2D< SplineBuilder1, SplineBuilder2 > Class Template Reference
-
-
- -

A class for creating a 2D spline approximation of a function. - More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Types

-using bsplines_type1 = typename SplineBuilder1::bsplines_type
 The type of the BSplines in the first dimension which are compatible with this class.
 
-using bsplines_type2 = typename SplineBuilder2::bsplines_type
 The type of the BSplines in the second dimension which are compatible with this class.
 
-using builder_type1 = SplineBuilder1
 Tag the type of the Bsplines in the first dimension.
 
-using builder_type2 = SplineBuilder2
 Tag the type of the Bsplines in the second dimension.
 
-using interpolation_mesh_type1 = typename SplineBuilder1::mesh_type
 The type of the interpolation mesh in the first dimension used by this class.
 
-using interpolation_mesh_type2 = typename SplineBuilder2::mesh_type
 The type of the interpolation mesh in the second dimension used by this class.
 
-using interpolation_domain_type1 = ddc::DiscreteDomain< interpolation_mesh_type1 >
 The type of the domain for the interpolation mesh is the first dimension used by this class.
 
-using interpolation_domain_type2 = ddc::DiscreteDomain< interpolation_mesh_type2 >
 The type of the domain for the interpolation mesh is the second dimension used by this class.
 
-using interpolation_domain_type = ddc::DiscreteDomain< interpolation_mesh_type1, interpolation_mesh_type2 >
 The type of the domain for the interpolation mesh is the 2D dimension used by this class.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SplineBuilder2D (interpolation_domain_type const &interpolation_domain)
 Create a new SplineBuilder2D. More...
 
 SplineBuilder2D (SplineBuilder2D const &x)=delete
 Create a new SplineBuilder2D by copy. More...
 
 SplineBuilder2D (SplineBuilder2D &&x)=default
 Create a new SplineBuilder2D by copy. More...
 
-SplineBuilder2Doperator= (SplineBuilder2D const &x)=delete
 
SplineBuilder2Doperator= (SplineBuilder2D &&x)=default
 Copy a SplineBuilder2D. More...
 
void operator() (ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type1, bsplines_type2 >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan2D > const derivs_xmin=std::nullopt, std::optional< CDSpan2D > const derivs_xmax=std::nullopt, std::optional< CDSpan2D > const derivs_ymin=std::nullopt, std::optional< CDSpan2D > const derivs_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymax=std::nullopt) const
 Build a 2D spline approximation of a function. More...
 
interpolation_domain_type1 const & interpolation_domain1 () const noexcept
 Get the first dimension domain from which the approximation is defined. More...
 
interpolation_domain_type2 const & interpolation_domain2 () const noexcept
 Get the second dimension domain from which the approximation is defined. More...
 
interpolation_domain_type const & interpolation_domain () const noexcept
 Get the 2D dimension domain from which the approximation is defined. More...
 
ddc::DiscreteDomain< bsplines_type1, bsplines_type2spline_domain () const noexcept
 Get the 2D domain on which the approximation is defined. More...
 
builder_type1 const & get_builder_1 () const noexcept
 Get the 1D spline builder in the first dimension. More...
 
builder_type2 const & get_builder_2 () const noexcept
 Get the 1D spline builder in the second dimension. More...
 
- - - - - - - - - - - - - -

-Static Public Attributes

-static constexpr BoundCond BcXmin1 = SplineBuilder1::s_bc_xmin
 The boundary condition implemented at the lower bound in the first dimension.
 
-static constexpr BoundCond BcXmax1 = SplineBuilder1::s_bc_xmax
 The boundary condition implemented at the upper bound in the first dimension.
 
-static constexpr BoundCond BcXmin2 = SplineBuilder2::s_bc_xmin
 The boundary condition implemented at the lower bound in the second dimension.
 
-static constexpr BoundCond BcXmax2 = SplineBuilder2::s_bc_xmax
 The boundary condition implemented at the upper bound in the second dimension.
 
-

Detailed Description

-

template<class SplineBuilder1, class SplineBuilder2>
-class SplineBuilder2D< SplineBuilder1, SplineBuilder2 >

- -

A class for creating a 2D spline approximation of a function.

-

A class which contains an operator () which can be used to build a 2D spline approximation of a function. A 2D spline approximation uses a cross-product between two 1D spline builder.

-
See also
SplineBuilder
-

Constructor & Destructor Documentation

- -

◆ SplineBuilder2D() [1/3]

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - - -
SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::SplineBuilder2D (interpolation_domain_type const & interpolation_domain)
-
-inline
-
- -

Create a new SplineBuilder2D.

-
Parameters
- - -
interpolation_domainThe 2D domain on which points will be provided in order to create the 2D spline approximation.
-
-
- -
-
- -

◆ SplineBuilder2D() [2/3]

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - - -
SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::SplineBuilder2D (SplineBuilder2D< SplineBuilder1, SplineBuilder2 > const & x)
-
-delete
-
- -

Create a new SplineBuilder2D by copy.

-
Parameters
- - -
xThe SplineBuilder2D being copied.
-
-
- -
-
- -

◆ SplineBuilder2D() [3/3]

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - - -
SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::SplineBuilder2D (SplineBuilder2D< SplineBuilder1, SplineBuilder2 > && x)
-
-default
-
- -

Create a new SplineBuilder2D by copy.

-
Parameters
- - -
xThe temporary SplineBuilder2D being copied.
-
-
- -
-
-

Member Function Documentation

- -

◆ operator=()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - - -
SplineBuilder2D& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::operator= (SplineBuilder2D< SplineBuilder1, SplineBuilder2 > && x)
-
-default
-
- -

Copy a SplineBuilder2D.

-
Parameters
- - -
xThe temporary SplineBuilder2D being copied.
-
-
-
Returns
A reference to this object.
- -
-
- -

◆ operator()()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::operator() (ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type1, bsplines_type2 >> spline,
ddc::ChunkSpan< double const, interpolation_domain_typevals,
std::optional< CDSpan2D > const derivs_xmin = std::nullopt,
std::optional< CDSpan2D > const derivs_xmax = std::nullopt,
std::optional< CDSpan2D > const derivs_ymin = std::nullopt,
std::optional< CDSpan2D > const derivs_ymax = std::nullopt,
std::optional< CDSpan2D > const mixed_derivs_xmin_ymin = std::nullopt,
std::optional< CDSpan2D > const mixed_derivs_xmax_ymin = std::nullopt,
std::optional< CDSpan2D > const mixed_derivs_xmin_ymax = std::nullopt,
std::optional< CDSpan2D > const mixed_derivs_xmax_ymax = std::nullopt 
) const
-
- -

Build a 2D spline approximation of a function.

-

Use the values of a function at known grid points (as specified by SplineBuilder2D::interpolation_domain_type) and the derivatives of the function at the boundaries (if necessary for the chosen boundary conditions) to calculate a 2D spline approximation of a function.

-

The spline approximation is stored as a ChunkSpan of coefficients associated with basis-splines.

-
Parameters
- - - - - - - - - - - -
[out]splineThe coefficients of the spline calculated by the function.
[in]valsThe values of the function at the grid points.
[in]derivs_xminThe values of the derivatives at the lower boundary in the first dimension.
[in]derivs_xmaxThe values of the derivatives at the upper boundary in the first dimension.
[in]derivs_yminThe values of the derivatives at the lower boundary in the second dimension.
[in]derivs_ymaxThe values of the derivatives at the upper boundary in the second dimension.
[in]mixed_derivs_xmin_yminThe values of the the cross-derivatives at the lower boundary in the first dimension and the lower boundary in the second dimension.
[in]mixed_derivs_xmax_yminThe values of the the cross-derivatives at the upper boundary in the first dimension and the lower boundary in the second dimension.
[in]mixed_derivs_xmin_ymaxThe values of the the cross-derivatives at the lower boundary in the first dimension and the upper boundary in the second dimension.
[in]mixed_derivs_xmax_ymaxThe values of the the cross-derivatives at the upper boundary in the first dimension and the upper boundary in the second dimension.
-
-
- -
-
- -

◆ interpolation_domain1()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
interpolation_domain_type1 const& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::interpolation_domain1 () const
-
-inlinenoexcept
-
- -

Get the first dimension domain from which the approximation is defined.

-

Get the first dimension domain on which values of the function must be provided in order to build a spline approximation of the function.

-
Returns
The first dimension domain for the grid points.
- -
-
- -

◆ interpolation_domain2()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
interpolation_domain_type2 const& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::interpolation_domain2 () const
-
-inlinenoexcept
-
- -

Get the second dimension domain from which the approximation is defined.

-

Get the second dimension domain on which values of the function must be provided in order to build a spline approximation of the function.

-
Returns
The second dimension domain for the grid points.
- -
-
- -

◆ interpolation_domain()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
interpolation_domain_type const& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::interpolation_domain () const
-
-inlinenoexcept
-
- -

Get the 2D dimension domain from which the approximation is defined.

-

Get the 2D dimension domain on which values of the function must be provided in order to build a spline approximation of the function.

-
Returns
The 2D dimension domain for the grid points.
- -
-
- -

◆ spline_domain()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
ddc::DiscreteDomain<bsplines_type1, bsplines_type2> SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::spline_domain () const
-
-inlinenoexcept
-
- -

Get the 2D domain on which the approximation is defined.

-

Get the 2D domain of the basis-splines for which the coefficients of the spline approximation must be calculated.

-
Returns
The 2D domain for the splines.
- -
-
- -

◆ get_builder_1()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
builder_type1 const& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::get_builder_1 () const
-
-inlinenoexcept
-
- -

Get the 1D spline builder in the first dimension.

-
Returns
the 1D spline builder in the first dimension.
- -
-
- -

◆ get_builder_2()

- -
-
-
-template<class SplineBuilder1 , class SplineBuilder2 >
- - - - - -
- - - - - - - -
builder_type2 const& SplineBuilder2D< SplineBuilder1, SplineBuilder2 >::get_builder_2 () const
-
-inlinenoexcept
-
- -

Get the 1D spline builder in the second dimension.

-
Returns
the 1D spline builder in the second dimension.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classSplineBuilder2D.js b/classSplineBuilder2D.js deleted file mode 100644 index f0084832b..000000000 --- a/classSplineBuilder2D.js +++ /dev/null @@ -1,25 +0,0 @@ -var classSplineBuilder2D = -[ - [ "bsplines_type1", "classSplineBuilder2D.html#aceec329f2770bef48e3d35871ae01502", null ], - [ "bsplines_type2", "classSplineBuilder2D.html#ad1c9fafdefd9b45835b8b89573571900", null ], - [ "builder_type1", "classSplineBuilder2D.html#a32fa22d267cdeb0722572c33fd6c6e11", null ], - [ "builder_type2", "classSplineBuilder2D.html#a0a33a10b79cf3d7273c5f20337727dff", null ], - [ "interpolation_mesh_type1", "classSplineBuilder2D.html#ad56825cbd307241b22beb1d33eaea1f4", null ], - [ "interpolation_mesh_type2", "classSplineBuilder2D.html#ad02722b76506e82b67798ccee4c52fff", null ], - [ "interpolation_domain_type1", "classSplineBuilder2D.html#aef863d05ef8f81f401a463b333d076b7", null ], - [ "interpolation_domain_type2", "classSplineBuilder2D.html#a8ae9bfa7b55d920faeb880abbb1a0c0c", null ], - [ "interpolation_domain_type", "classSplineBuilder2D.html#a35bda9e84e8cb84738504561b0263968", null ], - [ "SplineBuilder2D", "classSplineBuilder2D.html#aba437ab9712bba5ffa5dc5a88641bde9", null ], - [ "SplineBuilder2D", "classSplineBuilder2D.html#a49f64925a4092c41f0d2ef47bfee3300", null ], - [ "SplineBuilder2D", "classSplineBuilder2D.html#a1d58b27d28466b2ea7cee506ad619c5a", null ], - [ "~SplineBuilder2D", "classSplineBuilder2D.html#acd4a14a7f938241a3b019ade5023f7ce", null ], - [ "operator=", "classSplineBuilder2D.html#a81b27475c41175f3360482d560a63638", null ], - [ "operator=", "classSplineBuilder2D.html#a79579f5213c410988e0caa6da989d2c8", null ], - [ "operator()", "classSplineBuilder2D.html#a31e3e45f0a33da08793e546b2e4e5981", null ], - [ "interpolation_domain1", "classSplineBuilder2D.html#a3c9bff8d716e44e4eddd2d0ca3f96a2e", null ], - [ "interpolation_domain2", "classSplineBuilder2D.html#aa8b6177989a74d8e158343ae555ca22d", null ], - [ "interpolation_domain", "classSplineBuilder2D.html#a39af65f3e39ba9570fbc517ac614241e", null ], - [ "spline_domain", "classSplineBuilder2D.html#a10d968260f75240a4be9d38d8c853353", null ], - [ "get_builder_1", "classSplineBuilder2D.html#ab9e9788616d4be20d309ec04da8e25fe", null ], - [ "get_builder_2", "classSplineBuilder2D.html#a5a406c6bc3f47c2895963a66c40e5cee", null ] -]; \ No newline at end of file diff --git a/classSplineErrorBounds-members.html b/classSplineErrorBounds-members.html deleted file mode 100644 index 2cd3ca316..000000000 --- a/classSplineErrorBounds-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineErrorBounds< Evaluator > Member List
-
-
- -

This is the complete list of members for SplineErrorBounds< Evaluator >, including all inherited members.

- - - - - - - - - -
error_bound(double cell_width, int degree) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound(double cell_width1, double cell_width2, int degree1, int degree2) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound_on_deriv(double cell_width, int degree) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound_on_deriv_1(double cell_width1, double cell_width2, int degree1, int degree2) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound_on_deriv_12(double cell_width1, double cell_width2, int degree1, int degree2) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound_on_deriv_2(double cell_width1, double cell_width2, int degree1, int degree2) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
error_bound_on_int(double cell_width, int degree) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
SplineErrorBounds(Evaluator const &evaluator) (defined in SplineErrorBounds< Evaluator >)SplineErrorBounds< Evaluator >inline
-
- - - - diff --git a/classSplineErrorBounds.html b/classSplineErrorBounds.html deleted file mode 100644 index f282161a1..000000000 --- a/classSplineErrorBounds.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Gyselalib++: SplineErrorBounds< Evaluator > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineErrorBounds< Evaluator > Class Template Reference
-
-
- - - - - - - - - - - - - - - - - - -

-Public Member Functions

SplineErrorBounds (Evaluator const &evaluator)
 
-double error_bound (double cell_width, int degree)
 
-double error_bound (double cell_width1, double cell_width2, int degree1, int degree2)
 
-double error_bound_on_deriv (double cell_width, int degree)
 
-double error_bound_on_deriv_1 (double cell_width1, double cell_width2, int degree1, int degree2)
 
-double error_bound_on_deriv_2 (double cell_width1, double cell_width2, int degree1, int degree2)
 
-double error_bound_on_deriv_12 (double cell_width1, double cell_width2, int degree1, int degree2)
 
-double error_bound_on_int (double cell_width, int degree)
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classSplineErrorBounds.js b/classSplineErrorBounds.js deleted file mode 100644 index aebfeb27f..000000000 --- a/classSplineErrorBounds.js +++ /dev/null @@ -1,11 +0,0 @@ -var classSplineErrorBounds = -[ - [ "SplineErrorBounds", "classSplineErrorBounds.html#a3d8f0a91691e659e75a2d9af9d43b761", null ], - [ "error_bound", "classSplineErrorBounds.html#a5f92b0b5cf0a22fcbb08e4c9d0922d8c", null ], - [ "error_bound", "classSplineErrorBounds.html#a77733bf17dd00c03396bbc51b0682586", null ], - [ "error_bound_on_deriv", "classSplineErrorBounds.html#a8f28330a9c6d7123091ac6e4b2dfd2fc", null ], - [ "error_bound_on_deriv_1", "classSplineErrorBounds.html#aea6d159bb90fc1295cc7396326a3a2e6", null ], - [ "error_bound_on_deriv_2", "classSplineErrorBounds.html#a47c8226eaaf8c50e9d82db97a1cb78ca", null ], - [ "error_bound_on_deriv_12", "classSplineErrorBounds.html#a976a99d030a1279c17e683527e3c752c", null ], - [ "error_bound_on_int", "classSplineErrorBounds.html#a72694708bdf582f1538db911fe03a506", null ] -]; \ No newline at end of file diff --git a/classSplineEvaluator-members.html b/classSplineEvaluator-members.html deleted file mode 100644 index 48bce6d44..000000000 --- a/classSplineEvaluator-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineEvaluator< BSplinesType > Member List
-
-
- -

This is the complete list of members for SplineEvaluator< BSplinesType >, including all inherited members.

- - - - - - - - - - - - - - - -
bsplines_type typedef (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
deriv(ddc::Coordinate< tag_type > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inline
deriv(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< const ddc::Coordinate< tag_type >, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inline
integrate(ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inline
operator()(ddc::Coordinate< tag_type > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inline
operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< const ddc::Coordinate< tag_type >, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inline
operator=(SplineEvaluator const &x)=default (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
operator=(SplineEvaluator &&x)=default (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
SplineEvaluator()=delete (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
SplineEvaluator(SplineBoundaryValue< BSplinesType > const &left_bc, SplineBoundaryValue< BSplinesType > const &right_bc) (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >inlineexplicit
SplineEvaluator(SplineEvaluator const &x)=default (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
SplineEvaluator(SplineEvaluator &&x)=default (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
tag_type typedef (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
~SplineEvaluator()=default (defined in SplineEvaluator< BSplinesType >)SplineEvaluator< BSplinesType >
-
- - - - diff --git a/classSplineEvaluator.html b/classSplineEvaluator.html deleted file mode 100644 index 22874bdae..000000000 --- a/classSplineEvaluator.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - -Gyselalib++: SplineEvaluator< BSplinesType > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineEvaluator< BSplinesType > Class Template Reference
-
-
- - - - - - -

-Public Types

-using bsplines_type = BSplinesType
 
-using tag_type = typename BSplinesType::tag_type
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

SplineEvaluator (SplineBoundaryValue< BSplinesType > const &left_bc, SplineBoundaryValue< BSplinesType > const &right_bc)
 
SplineEvaluator (SplineEvaluator const &x)=default
 
SplineEvaluator (SplineEvaluator &&x)=default
 
-SplineEvaluatoroperator= (SplineEvaluator const &x)=default
 
-SplineEvaluatoroperator= (SplineEvaluator &&x)=default
 
-double operator() (ddc::Coordinate< tag_type > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const
 
-template<class Domain >
void operator() (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< const ddc::Coordinate< tag_type >, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const
 
-double deriv (ddc::Coordinate< tag_type > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const
 
-template<class Domain >
void deriv (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< const ddc::Coordinate< tag_type >, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const
 
-double integrate (ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType >> const spline_coef) const
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_evaluator.hpp
  • -
-
-
- - - - diff --git a/classSplineEvaluator.js b/classSplineEvaluator.js deleted file mode 100644 index 0eb74eece..000000000 --- a/classSplineEvaluator.js +++ /dev/null @@ -1,17 +0,0 @@ -var classSplineEvaluator = -[ - [ "bsplines_type", "classSplineEvaluator.html#a1cac9392d93405a0bb7df57a5a292928", null ], - [ "tag_type", "classSplineEvaluator.html#a00e0a2a546fc2ac8ab9c617f9ddbdb89", null ], - [ "SplineEvaluator", "classSplineEvaluator.html#a0901813a9cf6ef1f002439672b338bc5", null ], - [ "SplineEvaluator", "classSplineEvaluator.html#a2e647e0bb2db801a40a9317c5b066d5f", null ], - [ "SplineEvaluator", "classSplineEvaluator.html#a31e0775bfcea8809f6ecae83e392f524", null ], - [ "SplineEvaluator", "classSplineEvaluator.html#ab6392a9c60eb6c57f17b0e49969dc9ea", null ], - [ "~SplineEvaluator", "classSplineEvaluator.html#a04715bbcbfe4b7711dc82b03ffcff439", null ], - [ "operator=", "classSplineEvaluator.html#a8a81e816168fcac8cdf85c11cd8abb74", null ], - [ "operator=", "classSplineEvaluator.html#a7e81f69bd082e92a03924afabf5d8e20", null ], - [ "operator()", "classSplineEvaluator.html#aef512933ff1e9b894bc6e3118f5882a6", null ], - [ "operator()", "classSplineEvaluator.html#a0035a9d73c46c1a8dbb91197632cb870", null ], - [ "deriv", "classSplineEvaluator.html#a3bc96c76766bb691ca4d86036bc88831", null ], - [ "deriv", "classSplineEvaluator.html#a292c72c3516773f2e1d8e90b5f3dec69", null ], - [ "integrate", "classSplineEvaluator.html#af81cb731a8c52f3e92e784f349cf4774", null ] -]; \ No newline at end of file diff --git a/classSplineEvaluator2D-members.html b/classSplineEvaluator2D-members.html deleted file mode 100644 index 801571a97..000000000 --- a/classSplineEvaluator2D-members.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SplineEvaluator2D< BSplinesType1, BSplinesType2 > Member List
-
-
- -

This is the complete list of members for SplineEvaluator2D< BSplinesType1, BSplinesType2 >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
bsplines_type1 typedefSplineEvaluator2D< BSplinesType1, BSplinesType2 >
bsplines_type2 typedefSplineEvaluator2D< BSplinesType1, BSplinesType2 >
deriv_1_and_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
deriv_dim_1(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
deriv_dim_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
Dim1 typedefSplineEvaluator2D< BSplinesType1, BSplinesType2 >
Dim2 typedefSplineEvaluator2D< BSplinesType1, BSplinesType2 >
integrate(ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
operator()(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) constSplineEvaluator2D< BSplinesType1, BSplinesType2 >inline
operator=(SplineEvaluator2D const &x)=defaultSplineEvaluator2D< BSplinesType1, BSplinesType2 >
operator=(SplineEvaluator2D &&x)=defaultSplineEvaluator2D< BSplinesType1, BSplinesType2 >
SplineEvaluator2D()=delete (defined in SplineEvaluator2D< BSplinesType1, BSplinesType2 >)SplineEvaluator2D< BSplinesType1, BSplinesType2 >
SplineEvaluator2D(SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_2, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_2)SplineEvaluator2D< BSplinesType1, BSplinesType2 >inlineexplicit
SplineEvaluator2D(SplineEvaluator2D const &x)=defaultSplineEvaluator2D< BSplinesType1, BSplinesType2 >
SplineEvaluator2D(SplineEvaluator2D &&x)=defaultSplineEvaluator2D< BSplinesType1, BSplinesType2 >
~SplineEvaluator2D()=default (defined in SplineEvaluator2D< BSplinesType1, BSplinesType2 >)SplineEvaluator2D< BSplinesType1, BSplinesType2 >
-
- - - - diff --git a/classSplineEvaluator2D.html b/classSplineEvaluator2D.html deleted file mode 100644 index 541011950..000000000 --- a/classSplineEvaluator2D.html +++ /dev/null @@ -1,864 +0,0 @@ - - - - - - - -Gyselalib++: SplineEvaluator2D< BSplinesType1, BSplinesType2 > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
SplineEvaluator2D< BSplinesType1, BSplinesType2 > Class Template Reference
-
-
- -

Define an evaluator 2D on B-splines. - More...

- - - - - - - - - - - - - - -

-Public Types

-using bsplines_type1 = BSplinesType1
 Tag the B-spline type of the first dimension.
 
-using bsplines_type2 = BSplinesType2
 Tag the B-spline type of the second dimension.
 
-using Dim1 = typename BSplinesType1::tag_type
 Tag the first dimension.
 
-using Dim2 = typename BSplinesType2::tag_type
 Tag the second dimension.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SplineEvaluator2D (SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_2, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_2)
 Instantiate an evaluator operator. More...
 
 SplineEvaluator2D (SplineEvaluator2D const &x)=default
 Instantiate a SplineEvaluator2D from another SplineEvaluator2D (lvalue). More...
 
 SplineEvaluator2D (SplineEvaluator2D &&x)=default
 Instantiate a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue). More...
 
SplineEvaluator2Doperator= (SplineEvaluator2D const &x)=default
 Assign a SplineEvaluator2D from another SplineEvaluator2D (lvalue). More...
 
SplineEvaluator2Doperator= (SplineEvaluator2D &&x)=default
 Assign a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue). More...
 
double operator() (ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the value of the function on B-splines at the coordinate given. More...
 
template<class Domain >
void operator() (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the values of the function on B-splines at the coordinates given. More...
 
double deriv_dim_1 (ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the value of the derivative of the first dimension of the function on B-splines at the coordinate given. More...
 
double deriv_dim_2 (ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the value of the derivative of the second dimension of the function on B-splines at the coordinate given. More...
 
double deriv_1_and_2 (ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the value of the cross derivative of the function on B-splines at the coordinate given. More...
 
template<class Domain >
void deriv_dim_1 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the values of the derivative of the first dimension of the function on B-splines at the coordinates given. More...
 
template<class Domain >
void deriv_dim_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the values of the derivative of the second dimension of the function on B-splines at the coordinates given. More...
 
template<class Domain >
void deriv_dim_1_and_2 (ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the values of the cross derivative of the function on B-splines at the coordinates given. More...
 
double integrate (ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
 Get the the integral of the function on B-splines on the domain. More...
 
-

Detailed Description

-

template<class BSplinesType1, class BSplinesType2>
-class SplineEvaluator2D< BSplinesType1, BSplinesType2 >

- -

Define an evaluator 2D on B-splines.

-

Constructor & Destructor Documentation

- -

◆ SplineEvaluator2D() [1/3]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SplineEvaluator2D< BSplinesType1, BSplinesType2 >::SplineEvaluator2D (SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const & left_bc_1,
SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const & right_bc_1,
SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const & left_bc_2,
SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const & right_bc_2 
)
-
-inlineexplicit
-
- -

Instantiate an evaluator operator.

-
Parameters
- - - - - -
[in]left_bc_1A SplineBoundaryValue2D object giving the value on the "left side" of the domain in the first dimension.
[in]right_bc_1A SplineBoundaryValue2D object giving the value on the "right side" of the domain in the first dimension.
[in]left_bc_2A SplineBoundaryValue2D object giving the value on the "left side" of the domain in the second dimension.
[in]right_bc_2A SplineBoundaryValue2D object giving the value on the "right side" of the domain in the second dimension.
-
-
-
See also
SplineBoundaryValue2D
- -
-
- -

◆ SplineEvaluator2D() [2/3]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - -
SplineEvaluator2D< BSplinesType1, BSplinesType2 >::SplineEvaluator2D (SplineEvaluator2D< BSplinesType1, BSplinesType2 > const & x)
-
-default
-
- -

Instantiate a SplineEvaluator2D from another SplineEvaluator2D (lvalue).

-
Parameters
- - -
[in]xSplineEvaluator2D evaluator used to instantiate the new one.
-
-
- -
-
- -

◆ SplineEvaluator2D() [3/3]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - -
SplineEvaluator2D< BSplinesType1, BSplinesType2 >::SplineEvaluator2D (SplineEvaluator2D< BSplinesType1, BSplinesType2 > && x)
-
-default
-
- -

Instantiate a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue).

-
Parameters
- - -
[in]xSplineEvaluator2D evaluator used to instantiate the new one.
-
-
- -
-
-

Member Function Documentation

- -

◆ operator=() [1/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - -
SplineEvaluator2D& SplineEvaluator2D< BSplinesType1, BSplinesType2 >::operator= (SplineEvaluator2D< BSplinesType1, BSplinesType2 > const & x)
-
-default
-
- -

Assign a SplineEvaluator2D from another SplineEvaluator2D (lvalue).

-
Parameters
- - -
[in]xSplineEvaluator2D mapping used to assign.
-
-
-
Returns
The SplineEvaluator2D assigned.
- -
-
- -

◆ operator=() [2/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - -
SplineEvaluator2D& SplineEvaluator2D< BSplinesType1, BSplinesType2 >::operator= (SplineEvaluator2D< BSplinesType1, BSplinesType2 > && x)
-
-default
-
- -

Assign a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue).

-
Parameters
- - -
[in]xSplineEvaluator2D mapping used to assign.
-
-
-
Returns
The SplineEvaluator2D assigned.
- -
-
- -

◆ operator()() [1/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - - - - - - - - - - - -
double SplineEvaluator2D< BSplinesType1, BSplinesType2 >::operator() (ddc::Coordinate< Dim1, Dim2 > const & coord_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the value of the function on B-splines at the coordinate given.

-
Parameters
- - - -
[in]coord_evalThe 2D coordinate where we want to evaluate the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
-
Returns
A double containing the value of the function at the coordinate given.
- -
-
- -

◆ operator()() [2/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
-
-template<class Domain >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void SplineEvaluator2D< BSplinesType1, BSplinesType2 >::operator() (ddc::ChunkSpan< double, Domain > const spline_eval,
ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the values of the function on B-splines at the coordinates given.

-
Parameters
- - - - -
[out]spline_evalA ChunkSpan containing the values of the function evaluated at the coordinates given.
[in]coords_evalA ChunkSpan with the 2D coordinates where we want to evaluate the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
- -
-
- -

◆ deriv_dim_1() [1/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - - - - - - - - - - - -
double SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_dim_1 (ddc::Coordinate< Dim1, Dim2 > const & coord_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the value of the derivative of the first dimension of the function on B-splines at the coordinate given.

-
Parameters
- - - -
[in]coord_evalThe 2D coordinate where we want to evaluate the derivative of the first dimension of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
-
Returns
A double containing the value of the derivative of the first dimension of the function at the coordinate given.
- -
-
- -

◆ deriv_dim_2() [1/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - - - - - - - - - - - -
double SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_dim_2 (ddc::Coordinate< Dim1, Dim2 > const & coord_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the value of the derivative of the second dimension of the function on B-splines at the coordinate given.

-
Parameters
- - - -
[in]coord_evalThe 2D coordinate where we want to evaluate the derivative of the second dimension of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
-
Returns
A double containing the value of the derivative of the second dimension of the function at the coordinate given.
- -
-
- -

◆ deriv_1_and_2()

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - - - - - - - - - - - -
double SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_1_and_2 (ddc::Coordinate< Dim1, Dim2 > const & coord_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the value of the cross derivative of the function on B-splines at the coordinate given.

-
Parameters
- - - -
[in]coord_evalThe 2D coordinate where we want to evaluate the cross derivative of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
-
Returns
A double containing the value of the cross derivative of the function at the coordinate given.
- -
-
- -

◆ deriv_dim_1() [2/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
-
-template<class Domain >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_dim_1 (ddc::ChunkSpan< double, Domain > const spline_eval,
ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the values of the derivative of the first dimension of the function on B-splines at the coordinates given.

-
Parameters
- - - - -
[out]spline_evalA ChunkSpan with the values of the derivative of the first dimension of the function at the coordinates given.
[in]coords_evalA ChunkSpan with the 2D coordinates where we want to evaluate the derivative of the first dimension of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
- -
-
- -

◆ deriv_dim_2() [2/2]

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
-
-template<class Domain >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_dim_2 (ddc::ChunkSpan< double, Domain > const spline_eval,
ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the values of the derivative of the second dimension of the function on B-splines at the coordinates given.

-
Parameters
- - - - -
[out]spline_evalA ChunkSpan with the values of the derivative of the second dimension of the function at the coordinates given.
[in]coords_evalA ChunkSpan with the 2D coordinates where we want to evaluate the derivative of the second dimension of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
- -
-
- -

◆ deriv_dim_1_and_2()

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
-
-template<class Domain >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void SplineEvaluator2D< BSplinesType1, BSplinesType2 >::deriv_dim_1_and_2 (ddc::ChunkSpan< double, Domain > const spline_eval,
ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval,
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef 
) const
-
-inline
-
- -

Get the values of the cross derivative of the function on B-splines at the coordinates given.

-
Parameters
- - - - -
[out]spline_evalA ChunkSpan with the values of the cross derivative of the function at the coordinates given.
[in]coords_evalA ChunkSpan with the 2D coordinates where we want to evaluate the cross derivative of the function.
[in]spline_coefThe B-splines coefficients of the function we want to evaluate.
-
-
- -
-
- -

◆ integrate()

- -
-
-
-template<class BSplinesType1 , class BSplinesType2 >
- - - - - -
- - - - - - - - -
double SplineEvaluator2D< BSplinesType1, BSplinesType2 >::integrate (ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
-
-inline
-
- -

Get the the integral of the function on B-splines on the domain.

-
Parameters
- - -
[in]spline_coefThe B-splines coefficients of the function we want to integrate.
-
-
-
Returns
A double with the value of the integral of the function.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classSplineEvaluator2D.js b/classSplineEvaluator2D.js deleted file mode 100644 index 0ae28c432..000000000 --- a/classSplineEvaluator2D.js +++ /dev/null @@ -1,23 +0,0 @@ -var classSplineEvaluator2D = -[ - [ "bsplines_type1", "classSplineEvaluator2D.html#a61d223c29a716634e15dca19daa41955", null ], - [ "bsplines_type2", "classSplineEvaluator2D.html#a20ef11c270ad545361a8b3f683a724d8", null ], - [ "Dim1", "classSplineEvaluator2D.html#a447cf63370c2b8a11dc0dea976e780fb", null ], - [ "Dim2", "classSplineEvaluator2D.html#a4256b16add450444f496675008d3c474", null ], - [ "SplineEvaluator2D", "classSplineEvaluator2D.html#a979360beca7dfbb025d032e76084f7f3", null ], - [ "SplineEvaluator2D", "classSplineEvaluator2D.html#a8e40a6e9c33c1c2d66ae6e6f5cedf0f8", null ], - [ "SplineEvaluator2D", "classSplineEvaluator2D.html#a3f4db4c81b8bd50014edc7ac2565ac0d", null ], - [ "SplineEvaluator2D", "classSplineEvaluator2D.html#a6835911453688bae264dd2669f1bd9b7", null ], - [ "~SplineEvaluator2D", "classSplineEvaluator2D.html#acbf3459658cd6a78ec023be15e656900", null ], - [ "operator=", "classSplineEvaluator2D.html#a7a4962219e4e0a3cf1e7fdd0afba8efe", null ], - [ "operator=", "classSplineEvaluator2D.html#a838efa37db6564eed9af26f72327403b", null ], - [ "operator()", "classSplineEvaluator2D.html#a93fe4a102cca7e2469c7230d8e2a6ecc", null ], - [ "operator()", "classSplineEvaluator2D.html#a7fd273468ec33acdc19eeb08c088f944", null ], - [ "deriv_dim_1", "classSplineEvaluator2D.html#ab8309401577bd1bb5f664ba9dc1f29b1", null ], - [ "deriv_dim_2", "classSplineEvaluator2D.html#a42054a88c7008abd492b360cd65b57e1", null ], - [ "deriv_1_and_2", "classSplineEvaluator2D.html#a68e1e037a75b290490c648c32d7d197f", null ], - [ "deriv_dim_1", "classSplineEvaluator2D.html#ae0358adc831ede3cecf877df29328a81", null ], - [ "deriv_dim_2", "classSplineEvaluator2D.html#abacca820d80fb41219658e8984eb7cb7", null ], - [ "deriv_dim_1_and_2", "classSplineEvaluator2D.html#a7dc8bd0e513453b6b24c62eb1d6c9ba4", null ], - [ "integrate", "classSplineEvaluator2D.html#ad5a55c54ec1a16b245e4b314a1c74701", null ] -]; \ No newline at end of file diff --git a/classSplineFootFinder-members.html b/classSplineFootFinder-members.html index 6304406f3..0ab601e00 100644 --- a/classSplineFootFinder-members.html +++ b/classSplineFootFinder-members.html @@ -107,7 +107,7 @@

This is the complete list of members for SplineFootFinder< TimeStepper, AdvectionDomain >, including all inherited members.

- +
operator()(SpanRP< CoordRP > feet, VectorDViewRP< RDimX, RDimY > advection_field, double dt) const finalSplineFootFinder< TimeStepper, AdvectionDomain >inlinevirtual
SplineFootFinder(TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluator const &evaluator_advection_field)SplineFootFinder< TimeStepper, AdvectionDomain >inline
SplineFootFinder(TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluatorConstBound const &evaluator_advection_field)SplineFootFinder< TimeStepper, AdvectionDomain >inline
~IFootFinder()=default (defined in IFootFinder)IFootFindervirtual
~SplineFootFinder() (defined in SplineFootFinder< TimeStepper, AdvectionDomain >)SplineFootFinder< TimeStepper, AdvectionDomain >inline
diff --git a/classSplineFootFinder.html b/classSplineFootFinder.html index 30080ceee..f65bcae37 100644 --- a/classSplineFootFinder.html +++ b/classSplineFootFinder.html @@ -121,9 +121,9 @@ - - - + + + @@ -142,8 +142,8 @@
See also
BslAdvectionRP

Constructor & Destructor Documentation

- -

◆ SplineFootFinder()

+ +

◆ SplineFootFinder()

@@ -168,13 +168,13 @@

- + - + diff --git a/classSplineFootFinder.js b/classSplineFootFinder.js index 786e71b64..d62894dcb 100644 --- a/classSplineFootFinder.js +++ b/classSplineFootFinder.js @@ -1,6 +1,6 @@ var classSplineFootFinder = [ - [ "SplineFootFinder", "classSplineFootFinder.html#a2250f61945c089d58d3d30cb555aa739", null ], + [ "SplineFootFinder", "classSplineFootFinder.html#a3da5df4e45c0771002568987d24f922c", null ], [ "~SplineFootFinder", "classSplineFootFinder.html#a318c630fd5384ed0093581774239c9df", null ], [ "operator()", "classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d", null ] ]; \ No newline at end of file diff --git a/classSplineInterpolatorRP-members.html b/classSplineInterpolatorRP-members.html index 66dcf0f3c..7517155a7 100644 --- a/classSplineInterpolatorRP-members.html +++ b/classSplineInterpolatorRP-members.html @@ -100,17 +100,18 @@
-
SplineInterpolatorRP Member List
+
SplineInterpolatorRP< RadialExtrapolationRule > Member List
-

This is the complete list of members for SplineInterpolatorRP, including all inherited members.

+

This is the complete list of members for SplineInterpolatorRP< RadialExtrapolationRule >, including all inherited members.

Public Member Functions

 SplineFootFinder (TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluator const &evaluator_advection_field)
 Instantiate a time integration method for the advection operator. More...
 
 SplineFootFinder (TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluatorConstBound const &evaluator_advection_field)
 Instantiate a time integration method for the advection operator. More...
 
void operator() (SpanRP< CoordRP > feet, VectorDViewRP< RDimX, RDimY > advection_field, double dt) const final
 Advect the feet over \( dt \). More...
 
SplineRPBuilder const & SplineRPBuilder const &  builder_advection_field,
SplineRPEvaluator const & SplineRPEvaluatorConstBound const &  evaluator_advection_field 
- - - - - + + + + + +
operator()(DSpanRP inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > coordinates) const overrideSplineInterpolatorRP
IInterpolatorRP::operator()(DSpanRP inout_data, ViewRP< CoordRP > coordinates) const =0IInterpolatorRPpure virtual
SplineInterpolatorRP(SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)SplineInterpolatorRPinline
~IInterpolatorRP()=default (defined in IInterpolatorRP)IInterpolatorRPvirtual
~SplineInterpolatorRP() override=default (defined in SplineInterpolatorRP)SplineInterpolatorRP
evaluator_type typedefSplineInterpolatorRP< RadialExtrapolationRule >
operator()(DSpanRP const inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > const coordinates) const overrideSplineInterpolatorRP< RadialExtrapolationRule >inline
IInterpolatorRP::operator()(DSpanRP inout_data, ViewRP< CoordRP > coordinates) const =0IInterpolatorRPpure virtual
SplineInterpolatorRP(SplineRPBuilder const &builder, evaluator_type const &evaluator)SplineInterpolatorRP< RadialExtrapolationRule >inline
~IInterpolatorRP()=default (defined in IInterpolatorRP)IInterpolatorRPvirtual
~SplineInterpolatorRP() override=default (defined in SplineInterpolatorRP< RadialExtrapolationRule >)SplineInterpolatorRP< RadialExtrapolationRule >
diff --git a/classSplineInterpolatorRP.html b/classSplineInterpolatorRP.html index 4255b528a..761e0db31 100644 --- a/classSplineInterpolatorRP.html +++ b/classSplineInterpolatorRP.html @@ -5,7 +5,7 @@ -Gyselalib++: SplineInterpolatorRP Class Reference +Gyselalib++: SplineInterpolatorRP< RadialExtrapolationRule > Class Template Reference @@ -100,61 +100,79 @@
-
SplineInterpolatorRP Class Reference
+
SplineInterpolatorRP< RadialExtrapolationRule > Class Template Reference

A class for interpolating a function using splines in polar coordinates. More...

-Inheritance diagram for SplineInterpolatorRP:
+Inheritance diagram for SplineInterpolatorRP< RadialExtrapolationRule >:
- - -IInterpolatorRP + + +IInterpolatorRP
+ + + + +

+Public Types

+using evaluator_type = ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP >
 The type of the 2D Spline Evaluator used by this class.
 
- - - - - - + + + + + +

Public Member Functions

 SplineInterpolatorRP (SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)
 Create a spline interpolator object. More...
 
DSpanRP operator() (DSpanRP inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > coordinates) const override
 Approximate the value of a function at a set of polar coordinates using the current values at a known set of interpolation points. More...
 
 SplineInterpolatorRP (SplineRPBuilder const &builder, evaluator_type const &evaluator)
 Create a spline interpolator object. More...
 
DSpanRP operator() (DSpanRP const inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > const coordinates) const override
 Approximate the value of a function at a set of polar coordinates using the current values at a known set of interpolation points. More...
 
- Public Member Functions inherited from IInterpolatorRP
virtual DSpanRP operator() (DSpanRP inout_data, ViewRP< CoordRP > coordinates) const =0
 Approximate the value of a function at a set of coordinates using the current values at a known set of interpolation points. More...
 

Detailed Description

-

A class for interpolating a function using splines in polar coordinates.

-

@tag Spline_interpolator_polar

+

template<class RadialExtrapolationRule>
+class SplineInterpolatorRP< RadialExtrapolationRule >

+ +

A class for interpolating a function using splines in polar coordinates.

+
Template Parameters
+ + +
RadialExtrapolationRuleThe extrapolation rule applied at the outer radial bound.
+
+

Constructor & Destructor Documentation

- -

◆ SplineInterpolatorRP()

+ +

◆ SplineInterpolatorRP()

+
+template<class RadialExtrapolationRule >
- + @@ -146,7 +146,7 @@

- + diff --git a/neumann__spline__quadrature_8hpp_source.html b/neumann__spline__quadrature_8hpp_source.html index 8960d1e50..fa6ea494a 100644 --- a/neumann__spline__quadrature_8hpp_source.html +++ b/neumann__spline__quadrature_8hpp_source.html @@ -125,16 +125,16 @@
43 template <class IDim, class SplineBuilder>
44 ddc::Chunk<double, ddc::DiscreteDomain<IDim>> neumann_spline_quadrature_coefficients_1d(
45  ddc::DiscreteDomain<IDim> const& domain,
-
46  SplineBuilder const& builder)
+
46  SplineBuilder const& builder)
47 {
-
48  constexpr int nbe_xmin = SplineBuilder::s_nbe_xmin;
-
49  constexpr int nbe_xmax = SplineBuilder::s_nbe_xmax;
+
48  constexpr int nbe_xmin = SplineBuilder::s_nbe_xmin;
+
49  constexpr int nbe_xmax = SplineBuilder::s_nbe_xmax;
50  static_assert(
-
51  SplineBuilder::s_bc_xmin == ddc::BoundCond::HERMITE,
+
51  SplineBuilder::s_bc_xmin == ddc::BoundCond::HERMITE,
52  "The neumann spline quadrature requires a builder which uses Hermite boundary "
53  "conditions.");
54  static_assert(
-
55  SplineBuilder::s_bc_xmax == ddc::BoundCond::HERMITE,
+
55  SplineBuilder::s_bc_xmax == ddc::BoundCond::HERMITE,
56  "The neumann spline quadrature requires a builder which uses Hermite boundary "
57  "conditions.");
58  static_assert(
@@ -146,7 +146,7 @@
64  "The neumann spline quadrature requires a builder which uses the value of the "
65  "derivative.");
66 
-
67  using bsplines_type = typename SplineBuilder::bsplines_type;
+
67  using bsplines_type = typename SplineBuilder::bsplines_type;
68 
69  assert(domain.size() == ddc::discrete_space<bsplines_type>().nbasis() - nbe_xmin - nbe_xmax);
70 
@@ -156,7 +156,7 @@
74  ddc::discrete_space<bsplines_type>().integrals(integral_bsplines.span_view());
75 
76  // Solve matrix equation
-
77  builder.get_interpolation_matrix().solve_transpose_inplace(
+
77  builder.get_interpolation_matrix().solve_transpose_inplace(
78  integral_bsplines.allocation_mdspan());
79 
80  ddc::Chunk<double, ddc::DiscreteDomain<IDim>> coefficients(domain);
@@ -202,13 +202,6 @@
134 
135  return coefficients;
136 }
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
static constexpr BoundCond s_bc_xmin
The boundary condition implemented at the lower bound.
Definition: spline_builder.hpp:106
-
static constexpr int s_nbe_xmin
The number of equations which define the boundary conditions at the lower bound.
Definition: spline_builder.hpp:78
-
BSplines bsplines_type
The type of the BSplines which are compatible with this class.
Definition: spline_builder.hpp:57
-
const Matrix & get_interpolation_matrix() const noexcept
Get the interpolation matrix.
Definition: spline_builder.hpp:213
-
static constexpr int s_nbe_xmax
The number of equations which define the boundary conditions at the upper bound.
Definition: spline_builder.hpp:83
-
static constexpr BoundCond s_bc_xmax
The boundary condition implemented at the upper bound.
Definition: spline_builder.hpp:110
ddc::Chunk< double, ddc::DiscreteDomain< DDims... > > neumann_spline_quadrature_coefficients(ddc::DiscreteDomain< DDims... > const &domain, SplineBuilders const &... builders)
Get the spline quadrature coefficients in ND from N 1D quadrature coefficient.
Definition: neumann_spline_quadrature.hpp:113
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > neumann_spline_quadrature_coefficients_1d(ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
Get the spline quadrature coefficients in 1D.
Definition: neumann_spline_quadrature.hpp:44
diff --git a/null__boundary__value_8hpp_source.html b/null__boundary__value_8hpp_source.html deleted file mode 100644 index 3045fb64a..000000000 --- a/null__boundary__value_8hpp_source.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/null_boundary_value.hpp Source File - - - - - - - - - - - - - - - - -
-
-
- + - + - + @@ -182,25 +200,27 @@

Member Function Documentation

- -

◆ operator()()

+ +

◆ operator()()

+
+template<class RadialExtrapolationRule >
SplineInterpolatorRP::SplineInterpolatorRP SplineInterpolatorRP< RadialExtrapolationRule >::SplineInterpolatorRP (SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & evaluator_type const &  evaluator 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - +
- + - + - + @@ -211,7 +231,7 @@

-override +inlineoverride

DSpanRP SplineInterpolatorRP::operator() DSpanRP SplineInterpolatorRP< RadialExtrapolationRule >::operator() (DSpanRP DSpanRP const  inout_data,
ddc::ChunkSpan< CoordRP const, IDomainRP > ddc::ChunkSpan< CoordRP const, IDomainRP > const  coordinates 
diff --git a/classSplineInterpolatorRP.js b/classSplineInterpolatorRP.js index cc3dd93f7..9ea4b4313 100644 --- a/classSplineInterpolatorRP.js +++ b/classSplineInterpolatorRP.js @@ -1,6 +1,7 @@ var classSplineInterpolatorRP = [ - [ "SplineInterpolatorRP", "classSplineInterpolatorRP.html#abe1253b38fc582c49d9f0ac08ef8b013", null ], - [ "~SplineInterpolatorRP", "classSplineInterpolatorRP.html#ad61213cad3541fb584c780bda822270b", null ], - [ "operator()", "classSplineInterpolatorRP.html#a7186f69f12ef92492b5cb334bafa220e", null ] + [ "evaluator_type", "classSplineInterpolatorRP.html#abe963c4d63a8d95b2d5401699305787f", null ], + [ "SplineInterpolatorRP", "classSplineInterpolatorRP.html#a527491e617038baf55192cd315f08187", null ], + [ "~SplineInterpolatorRP", "classSplineInterpolatorRP.html#abb44af3c0c166112fc9684bb8ca5a079", null ], + [ "operator()", "classSplineInterpolatorRP.html#a2963c57f391e96345b0ac6b4d44cbaf1", null ] ]; \ No newline at end of file diff --git a/classSplineInterpolatorRP.png b/classSplineInterpolatorRP.png index 7f7b4982c9680c91cc9682fa77a56f0099874779..946135279b4dd2fd20d79ca75ce17876cca31260 100644 GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0y~yV3Yx}12~w0O>&ir>ZB62ryi3Ok?=#$qEkh(|2=|w z-iF!L@7k^M*WmwzIdFe$FOH;FReWQz9?%s>>E8e0NVe)0|j1^tD)PL=|TsKFob$;*#qsNG=1p@}b)DYf+P&mtw%qn;!O@7Q(4r7;dZh5@U>3d$rRXgGDOSxJJ(HHCgZN8O%eCvNxQ<>t9U333u#hxqrW_ebauUT&I zuLbdbiSIfZY%wnzj2hhMfF<$TIx zeeL;V(|xHQH*7r2Q9LWE{r44r<$ie|nXFq!UbOz)`{1R<^ANsU;U#txVxPHKURnPt zsp;(MlEdu_eZ1r1Qj=U7gh(|&Hw-x~R+F;>NDmdpQaOF#E- zCeKx^6%x8>+Rp1jN~WGY)w%krl~cG!RAkoC5MVGf{^8cUQ#MnW;KuO6NJsfqs3n;RdY)kM;&N(}ZEJqgyUbh-t%zi|HF<=et;T`|_b z>6I_=CFw|~uLDWCuHeV_Pm;V8{G4-k6u=!l037Aae>{8>aOOYpt_gVa|NHt6K7gZw z58$WZ1NbTU0DcNSfS-a7;HTgN_$l}RHjxEuecQcg7x`tPP$<26lZYTU2VvGMC@4LyclU8oyU2{3% z*9^L;`@?bIZjPy&h1=Qr+p3%R+k{~!%x+KoaRLcCP4#a#XSM#-PPBO+Y}43SGe3bH zmjYin|KIqn|A+cF<=h>JGb!vvo0L1#D_8heS{q=Y8?Vsd$M+AwOTkYmB}e@L1cn=c T!s%LM00000NkvXXu0mjfYeDcZ diff --git a/classUniformBSplines-members.html b/classUniformBSplines-members.html deleted file mode 100644 index 9cd62c015..000000000 --- a/classUniformBSplines-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UniformBSplines< Tag, D > Member List
-
-
- -

This is the complete list of members for UniformBSplines< Tag, D >, including all inherited members.

- - - - - - - - - - - - - - - - -
continuous_dimension_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
coord_from_knot(ddc::Coordinate< KnotDim > const &coord) (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
degree() noexcept (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
discrete_dimension_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
discrete_domain_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
discrete_element_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
discrete_vector_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
is_periodic() noexcept (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
is_radial() noexcept (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
is_uniform() noexcept (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
knot_from_coord(ddc::Coordinate< Tag > const &coord) (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
KnotDim typedefUniformBSplines< Tag, D >
mesh_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
rank() (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >inlinestatic
tag_type typedef (defined in UniformBSplines< Tag, D >)UniformBSplines< Tag, D >
-
- - - - diff --git a/classUniformBSplines.html b/classUniformBSplines.html deleted file mode 100644 index b1b128a0e..000000000 --- a/classUniformBSplines.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Gyselalib++: UniformBSplines< Tag, D > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
UniformBSplines< Tag, D > Class Template Reference
-
-
- - - - - - -

-Classes

class  Impl
 
struct  InternalTagGenerator
 
- - - - - - - - - - - - - - - - - - -

-Public Types

using KnotDim = InternalTagGenerator< Tag >
 An internal tag necessary to allocate an internal ddc::discrete_space function. More...
 
-using mesh_type = ddc::UniformPointSampling< KnotDim >
 
-using tag_type = Tag
 
-using continuous_dimension_type = BSpline< Tag >
 
-using discrete_dimension_type = UniformBSplines
 
-using discrete_element_type = ddc::DiscreteElement< UniformBSplines >
 
-using discrete_domain_type = ddc::DiscreteDomain< UniformBSplines >
 
-using discrete_vector_type = ddc::DiscreteVector< UniformBSplines >
 
- - - - - - - - - - - - - - - -

-Static Public Member Functions

-static ddc::Coordinate< KnotDimknot_from_coord (ddc::Coordinate< Tag > const &coord)
 
-static ddc::Coordinate< Tag > coord_from_knot (ddc::Coordinate< KnotDim > const &coord)
 
-static constexpr std::size_t rank ()
 
-static constexpr std::size_t degree () noexcept
 
-static constexpr bool is_periodic () noexcept
 
-static constexpr bool is_radial () noexcept
 
-static constexpr bool is_uniform () noexcept
 
-

Class Documentation

- -

◆ UniformBSplines::InternalTagGenerator

- -
-
- - - - -
struct UniformBSplines::InternalTagGenerator
-
-

template<class Tag, std::size_t D>
-template<class T>
-struct UniformBSplines< Tag, D >::InternalTagGenerator< T >

- -
-
-
-

Member Typedef Documentation

- -

◆ KnotDim

- -
-
-
-template<class Tag , std::size_t D>
- - - - -
using UniformBSplines< Tag, D >::KnotDim = InternalTagGenerator<Tag>
-
- -

An internal tag necessary to allocate an internal ddc::discrete_space function.

-

It must remain internal, for example it shall not be exposed when returning ddc::coordinates. Instead use Tag

- -
-
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bsplines_uniform.hpp
  • -
-
-
- - - - diff --git a/classUniformBSplines.js b/classUniformBSplines.js deleted file mode 100644 index b041cb848..000000000 --- a/classUniformBSplines.js +++ /dev/null @@ -1,13 +0,0 @@ -var classUniformBSplines = -[ - [ "Impl", "classUniformBSplines_1_1Impl.html", "classUniformBSplines_1_1Impl" ], - [ "InternalTagGenerator", "classUniformBSplines.html#structUniformBSplines_1_1InternalTagGenerator", null ], - [ "KnotDim", "classUniformBSplines.html#a35a003b75d534eac96c099cb4fdcad0f", null ], - [ "mesh_type", "classUniformBSplines.html#a083e6e94f4879e891bd49286be97be1f", null ], - [ "tag_type", "classUniformBSplines.html#adcc2fed796168f318e5dd0613d9626f7", null ], - [ "continuous_dimension_type", "classUniformBSplines.html#aa6483d7ae85620eb4bd88644a185f0b2", null ], - [ "discrete_dimension_type", "classUniformBSplines.html#a418c97fdfcd448136f4b976933607da1", null ], - [ "discrete_element_type", "classUniformBSplines.html#ae36eba54fb68fde6c57760ec745f2412", null ], - [ "discrete_domain_type", "classUniformBSplines.html#a740bb4b0982f34b3f071cf367dbbafcf", null ], - [ "discrete_vector_type", "classUniformBSplines.html#a1e966355b98c1d718293ed057e757b24", null ] -]; \ No newline at end of file diff --git a/classUniformBSplines_1_1Impl-members.html b/classUniformBSplines_1_1Impl-members.html deleted file mode 100644 index e92eab780..000000000 --- a/classUniformBSplines_1_1Impl-members.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UniformBSplines< Tag, D >::Impl< MemorySpace > Member List
-
-
- -

This is the complete list of members for UniformBSplines< Tag, D >::Impl< MemorySpace >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
discrete_dimension_type typedef (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
eval_basis(DSpan1D values, ddc::Coordinate< Tag > const &x) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
eval_basis_and_n_derivs(DSpan2D derivs, ddc::Coordinate< Tag > const &x, std::size_t n) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
eval_deriv(DSpan1D derivs, ddc::Coordinate< Tag > const &x) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
full_domain() constUniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_first_support_knot(discrete_element_type const &ix) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_knot(int idx) const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_last_support_knot(discrete_element_type const &ix) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
get_support_knot_n(discrete_element_type const &ix, int n) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
Impl (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >friend
Impl()=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
Impl(Impl< OriginMemorySpace > const &impl) (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inlineexplicit
Impl(ddc::Coordinate< Tag > rmin, ddc::Coordinate< Tag > rmax, std::size_t ncells)UniformBSplines< Tag, D >::Impl< MemorySpace >inlineexplicit
Impl(Impl const &x)=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
Impl(Impl &&x)=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
integrals(ddc::ChunkSpan< double, discrete_domain_type > int_vals) const (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
length() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
nbasis() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
ncells() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
operator=(Impl const &x)=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
operator=(Impl &&x)=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
rmax() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
rmin() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
size() const noexcept (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >inline
~Impl()=default (defined in UniformBSplines< Tag, D >::Impl< MemorySpace >)UniformBSplines< Tag, D >::Impl< MemorySpace >
-
- - - - diff --git a/classUniformBSplines_1_1Impl.html b/classUniformBSplines_1_1Impl.html deleted file mode 100644 index 5362ced95..000000000 --- a/classUniformBSplines_1_1Impl.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - -Gyselalib++: UniformBSplines< Tag, D >::Impl< MemorySpace > Class Template Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
UniformBSplines< Tag, D >::Impl< MemorySpace > Class Template Reference
-
-
- - - - -

-Public Types

-using discrete_dimension_type = UniformBSplines
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-template<class OriginMemorySpace >
 Impl (Impl< OriginMemorySpace > const &impl)
 
 Impl (ddc::Coordinate< Tag > rmin, ddc::Coordinate< Tag > rmax, std::size_t ncells)
 Constructs a BSpline basis with n equidistant knots over \([a, b]\). More...
 
Impl (Impl const &x)=default
 
Impl (Impl &&x)=default
 
-Imploperator= (Impl const &x)=default
 
-Imploperator= (Impl &&x)=default
 
-discrete_element_type eval_basis (DSpan1D values, ddc::Coordinate< Tag > const &x) const
 
-discrete_element_type eval_deriv (DSpan1D derivs, ddc::Coordinate< Tag > const &x) const
 
-discrete_element_type eval_basis_and_n_derivs (DSpan2D derivs, ddc::Coordinate< Tag > const &x, std::size_t n) const
 
-ddc::ChunkSpan< double, discrete_domain_type > integrals (ddc::ChunkSpan< double, discrete_domain_type > int_vals) const
 
-ddc::Coordinate< Tag > get_knot (int idx) const noexcept
 
-double get_first_support_knot (discrete_element_type const &ix) const
 
-double get_last_support_knot (discrete_element_type const &ix) const
 
-double get_support_knot_n (discrete_element_type const &ix, int n) const
 
-ddc::Coordinate< Tag > rmin () const noexcept
 
-ddc::Coordinate< Tag > rmax () const noexcept
 
-double length () const noexcept
 
-std::size_t size () const noexcept
 
-discrete_domain_type full_domain () const
 Returns the discrete domain including ghost bsplines.
 
-std::size_t nbasis () const noexcept
 
-std::size_t ncells () const noexcept
 
-

Constructor & Destructor Documentation

- -

◆ Impl()

- -
-
-
-template<class Tag , std::size_t D>
-
-template<class MemorySpace >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
UniformBSplines< Tag, D >::Impl< MemorySpace >::Impl (ddc::Coordinate< Tag > rmin,
ddc::Coordinate< Tag > rmax,
std::size_t ncells 
)
-
-inlineexplicit
-
- -

Constructs a BSpline basis with n equidistant knots over \([a, b]\).

-
Parameters
- - - - -
rminthe real ddc::coordinate of the first knot
rmaxthe real ddc::coordinate of the last knot
n_knotsthe number of knots
-
-
- -
-
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bsplines_uniform.hpp
  • -
-
-
- - - - diff --git a/classUniformBSplines_1_1Impl.js b/classUniformBSplines_1_1Impl.js deleted file mode 100644 index 3cbad96b3..000000000 --- a/classUniformBSplines_1_1Impl.js +++ /dev/null @@ -1,28 +0,0 @@ -var classUniformBSplines_1_1Impl = -[ - [ "discrete_dimension_type", "classUniformBSplines_1_1Impl.html#a950c1075bc1aac8ee83188c2c3bf446c", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#ac909268e7b4b5410d8febcf74b9bd412", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#ae2c9aec041a35f7e2d0a7dca00d2840f", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#a28f27bb74cd250b6ff9508494dd280a9", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#ada0089187d6a1c4eb42c76ca58ce34f6", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#aafd958f6cf9eebff6b36d09e56b7d32f", null ], - [ "~Impl", "classUniformBSplines_1_1Impl.html#a82c7f587af6e947bed8a897243a0e229", null ], - [ "operator=", "classUniformBSplines_1_1Impl.html#a712f3e4a6ecf72d48c808f0f7decbfb9", null ], - [ "operator=", "classUniformBSplines_1_1Impl.html#a7596bfb1ab533bec4752a86b58551428", null ], - [ "eval_basis", "classUniformBSplines_1_1Impl.html#ae89a55de902590b4f758069e27af4eff", null ], - [ "eval_deriv", "classUniformBSplines_1_1Impl.html#a1bc1815e3d90b033e455c7976de25b2a", null ], - [ "eval_basis_and_n_derivs", "classUniformBSplines_1_1Impl.html#a7f8da130a3163f992a5179189a7c9d5d", null ], - [ "integrals", "classUniformBSplines_1_1Impl.html#a1b2b1baf55ddc98ab5cf3d5256957a58", null ], - [ "get_knot", "classUniformBSplines_1_1Impl.html#a413ffb1354d4daf67fe964a12a5fb3f8", null ], - [ "get_first_support_knot", "classUniformBSplines_1_1Impl.html#af2e32bbd9bf5ed8e5946ae7008a1e64d", null ], - [ "get_last_support_knot", "classUniformBSplines_1_1Impl.html#ace2f1fc78a496b71bb22baa456742a38", null ], - [ "get_support_knot_n", "classUniformBSplines_1_1Impl.html#a6ef8211be621f941d6c4a6a53055ebee", null ], - [ "rmin", "classUniformBSplines_1_1Impl.html#afbb52253d31711933be3c5b0c950a398", null ], - [ "rmax", "classUniformBSplines_1_1Impl.html#a6494cc4c573a35c2466d703091b045bb", null ], - [ "length", "classUniformBSplines_1_1Impl.html#abfe2a70e17f6ac8ff2c7c2fd204061e7", null ], - [ "size", "classUniformBSplines_1_1Impl.html#a2ade31e36f818fddf254b9d1f1fa4c34", null ], - [ "full_domain", "classUniformBSplines_1_1Impl.html#a4ec6f3bfdd493458acbf5db3c2488eec", null ], - [ "nbasis", "classUniformBSplines_1_1Impl.html#a4689d1ad792db426377427b319533644", null ], - [ "ncells", "classUniformBSplines_1_1Impl.html#a0f6de65a4cce530299bd1af78be08dde", null ], - [ "Impl", "classUniformBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc", null ] -]; \ No newline at end of file diff --git a/classVortexMergerEquilibria-members.html b/classVortexMergerEquilibria-members.html index afccfd652..037daedb2 100644 --- a/classVortexMergerEquilibria-members.html +++ b/classVortexMergerEquilibria-members.html @@ -108,7 +108,7 @@ - +
find_equilibrium(DSpanRP sigma, DSpanRP phi_eq, DSpanRP rho_eq, std::function< double(double const)> const &function, double const phi_max, double const tau, int count_max=25) constVortexMergerEquilibria< Mapping >inline
set_equilibrium(DSpanRP rho_eq, std::function< double(double const)> function, double const phi_max, double const tau)VortexMergerEquilibria< Mapping >inline
VortexMergerEquilibria(Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)VortexMergerEquilibria< Mapping >inline
VortexMergerEquilibria(Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)VortexMergerEquilibria< Mapping >inline
~VortexMergerEquilibria() (defined in VortexMergerEquilibria< Mapping >)VortexMergerEquilibria< Mapping >inline
diff --git a/classVortexMergerEquilibria.html b/classVortexMergerEquilibria.html index 9e18b6454..8cd7a4043 100644 --- a/classVortexMergerEquilibria.html +++ b/classVortexMergerEquilibria.html @@ -112,9 +112,9 @@ - - - + + + @@ -134,8 +134,8 @@

Constructor & Destructor Documentation

- -

◆ VortexMergerEquilibria()

+ +

◆ VortexMergerEquilibria()

@@ -160,13 +160,13 @@

- + - + diff --git a/classVortexMergerEquilibria.js b/classVortexMergerEquilibria.js index 0f505c1f9..090566071 100644 --- a/classVortexMergerEquilibria.js +++ b/classVortexMergerEquilibria.js @@ -1,6 +1,6 @@ var classVortexMergerEquilibria = [ - [ "VortexMergerEquilibria", "classVortexMergerEquilibria.html#a797e9f9c68a96d1f73bc7e1c0b1e1d06", null ], + [ "VortexMergerEquilibria", "classVortexMergerEquilibria.html#aee9cf588de7231a419e3798c1d72c6c1", null ], [ "~VortexMergerEquilibria", "classVortexMergerEquilibria.html#adb62eb154af9f2ef0a8a5858bf375abb", null ], [ "find_equilibrium", "classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091", null ], [ "set_equilibrium", "classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a", null ] diff --git a/classdeprecated_1_1BSplines-members.html b/classdeprecated_1_1BSplines-members.html deleted file mode 100644 index 12cc4fad6..000000000 --- a/classdeprecated_1_1BSplines-members.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
-

Public Member Functions

 VortexMergerEquilibria (Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
 Instantiate a VortexMergerEquilibria. More...
 
 VortexMergerEquilibria (Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
 Instantiate a VortexMergerEquilibria. More...
 
void find_equilibrium (DSpanRP sigma, DSpanRP phi_eq, DSpanRP rho_eq, std::function< double(double const)> const &function, double const phi_max, double const tau, int count_max=25) const
 Get an equilibrium. More...
 
SplineRPBuilder const & SplineRPBuilder const &  builder,
SplineRPEvaluator const & SplineRPEvaluatorNullBound const &  evaluator,
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::BSplines Member List
-
-
- -

This is the complete list of members for deprecated::BSplines, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
BSplines(int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial) (defined in deprecated::BSplines)deprecated::BSplinesprotected
degree() const (defined in deprecated::BSplines)deprecated::BSplinesinline
eval_basis(double x, DSpan1D &values, int &jmin) const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
eval_basis_and_n_derivs(double x, int n, DSpan2D &derivs, int &jmin) const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
eval_deriv(double x, DSpan1D &derivs, int &jmin) const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
get_knot(int idx) const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
integrals(DSpan1D &int_vals) const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
is_periodic() const (defined in deprecated::BSplines)deprecated::BSplinesinline
is_uniform() const =0 (defined in deprecated::BSplines)deprecated::BSplinespure virtual
length() const (defined in deprecated::BSplines)deprecated::BSplinesinline
m_degree (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_length (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_nbasis (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_ncellsdeprecated::BSplinesprotected
m_periodic (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_radial (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmax (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmin (defined in deprecated::BSplines)deprecated::BSplinesprotected
nbasis() const (defined in deprecated::BSplines)deprecated::BSplinesinline
ncells() const (defined in deprecated::BSplines)deprecated::BSplinesinline
radial() const (defined in deprecated::BSplines)deprecated::BSplinesinline
xmax() const (defined in deprecated::BSplines)deprecated::BSplinesinline
xmin() const (defined in deprecated::BSplines)deprecated::BSplinesinline
~BSplines()=default (defined in deprecated::BSplines)deprecated::BSplinesvirtual
-
- - - - diff --git a/classdeprecated_1_1BSplines.html b/classdeprecated_1_1BSplines.html deleted file mode 100644 index 423f79e97..000000000 --- a/classdeprecated_1_1BSplines.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::BSplines Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::BSplines Class Referenceabstract
-
-
-
-Inheritance diagram for deprecated::BSplines:
-
-
- - -deprecated::NonUniformBSplines -deprecated::UniformBSplines - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-constexpr int degree () const
 
-constexpr bool radial () const
 
-constexpr int nbasis () const
 
-constexpr int ncells () const
 
-constexpr bool is_periodic () const
 
-constexpr double xmin () const
 
-constexpr double xmax () const
 
-constexpr double length () const
 
-virtual void eval_basis (double x, DSpan1D &values, int &jmin) const =0
 
-virtual void eval_deriv (double x, DSpan1D &derivs, int &jmin) const =0
 
-virtual void eval_basis_and_n_derivs (double x, int n, DSpan2D &derivs, int &jmin) const =0
 
-virtual void integrals (DSpan1D &int_vals) const =0
 
-virtual double get_knot (int idx) const =0
 
-virtual bool is_uniform () const =0
 
- - - -

-Protected Member Functions

BSplines (int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial)
 
- - - - - - - - - - - - - - - - - - -

-Protected Attributes

-int m_degree
 
-bool m_radial
 
-int m_nbasis
 
-int m_ncells
 TODO: take all that from a Mesh object.
 
-bool m_periodic
 
-double m_xmin
 
-double m_xmax
 
-double m_length
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/bsplines.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1BSplines.js b/classdeprecated_1_1BSplines.js deleted file mode 100644 index 487dbe49a..000000000 --- a/classdeprecated_1_1BSplines.js +++ /dev/null @@ -1,27 +0,0 @@ -var classdeprecated_1_1BSplines = -[ - [ "~BSplines", "classdeprecated_1_1BSplines.html#aa988a402d049367148d42a802ae6cd28", null ], - [ "BSplines", "classdeprecated_1_1BSplines.html#a4f9a4112a9f796342fb7d1d881c55ddc", null ], - [ "degree", "classdeprecated_1_1BSplines.html#a252b828716d1b96f7d546f9298536885", null ], - [ "radial", "classdeprecated_1_1BSplines.html#ac10f9df03a1d22f91ed1c3b0c81a765a", null ], - [ "nbasis", "classdeprecated_1_1BSplines.html#a93d7206c3355d3489bc7f8b7ab94e96f", null ], - [ "ncells", "classdeprecated_1_1BSplines.html#a6c8f121fccaf4ebf176c9f9282a5507d", null ], - [ "is_periodic", "classdeprecated_1_1BSplines.html#aa12bc672d6daf3844d21f754d3a1bc04", null ], - [ "xmin", "classdeprecated_1_1BSplines.html#a13092f46541ed8b97fdb22d44633a0c7", null ], - [ "xmax", "classdeprecated_1_1BSplines.html#a302f6b136922a81b4c6bf57565817014", null ], - [ "length", "classdeprecated_1_1BSplines.html#a79ecbace784afbe5c901892153d5736c", null ], - [ "eval_basis", "classdeprecated_1_1BSplines.html#a34057a6f2e50d74467ca34891df2ea29", null ], - [ "eval_deriv", "classdeprecated_1_1BSplines.html#adaaebe730e66c05d02367ea9a99845a1", null ], - [ "eval_basis_and_n_derivs", "classdeprecated_1_1BSplines.html#a7bb03cafc77673161d43e9059e2f8e6c", null ], - [ "integrals", "classdeprecated_1_1BSplines.html#a1761b9f1d086e3c1ce6ea6fa730e1bf1", null ], - [ "get_knot", "classdeprecated_1_1BSplines.html#a70a9350c913ae7c6ec0998cc449ba9ae", null ], - [ "is_uniform", "classdeprecated_1_1BSplines.html#a7206b67f3bcfc6e1abe4ec3135e4965a", null ], - [ "m_degree", "classdeprecated_1_1BSplines.html#a9c1d8df02196c2ed5dbbd90c722425c4", null ], - [ "m_radial", "classdeprecated_1_1BSplines.html#a39994f9d8e2cde1a3c849c21c50cc417", null ], - [ "m_nbasis", "classdeprecated_1_1BSplines.html#a7710617ec02931e9749d338d55c907de", null ], - [ "m_ncells", "classdeprecated_1_1BSplines.html#ae6644ef87cc1a18daf0bdac1ec059697", null ], - [ "m_periodic", "classdeprecated_1_1BSplines.html#a24214a7282ca8b29fe11e650028463e9", null ], - [ "m_xmin", "classdeprecated_1_1BSplines.html#a86b2a4466e301b09dcc76f59e39f042c", null ], - [ "m_xmax", "classdeprecated_1_1BSplines.html#ad5a406e78eb4069f8b37f6421a83e6be", null ], - [ "m_length", "classdeprecated_1_1BSplines.html#afccf99ea1b7e1faa252192f81c4ca57e", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1BSplines.png b/classdeprecated_1_1BSplines.png deleted file mode 100644 index b937b04ac0019332ed0e7f1444ad4725705131db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 997 zcmeAS@N?(olHy`uVBq!ia0y~yV4MPE2XHV0Nlww?79b@N;1lBd|Nnm=^TnI5rTvE{ z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|z+B?#;uuoF_;&8=NvjnE*k<=@-Tyz) zUx-KCu=A$Jxs0^aeL9CuT;Ql@+~>%lC?nTkT-eqU!_{DjjO(IKN$1{P_H%#1-`(P~ zp3nDLzvFVpp=M_0|!ezkeemQ{~Tf>wc?6RYX4 z^V_Vp+DAJ?rZX9cO=n8zF;;mJ#L)8)2^ZRFDz+4qFvv8l^8D<<> z%5dY+qa$k>B7m$Jho>?~99~Kg=cLYB_R@zzX5M7oM4){f(+)LHZ+(4#?**3% zqg~U3%1-4Za49dVz=|7s1`0UoDXV*0MX3Pu}UifAGy*;j{{ATw0CWfBM)v(Oa3ky9R9ePSM(o0&M ze{)vE#Cc0JPn^z{%e%akE1b1XF?Ic!W6M5xc-bGAl~*2Pk~{y)!?4eBdlYmp{eE>) z{^sTtvzNS?eDi|HJTFhi+o2OypL%)KeC?tdm8JLUrpMlL%)7Ji+v%JXuJ!vwJQE$O zv-j)?M=Ztf5XTY9Gb%Gcdq ztM}HleCCV1d+Bk^!UaWB*CuWZ{L=kVE}_)K>+%ZKMNHKqG6Y<>C=RHv+d54InQ5%eL%+;&MP;Ral bn5=&o8qBwh!*VMyPcnGA`njxgN@xNATB6C| diff --git a/classdeprecated_1_1NonUniformBSplines-members.html b/classdeprecated_1_1NonUniformBSplines-members.html deleted file mode 100644 index eb0aa97f1..000000000 --- a/classdeprecated_1_1NonUniformBSplines-members.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::NonUniformBSplines Member List
-
-
- -

This is the complete list of members for deprecated::NonUniformBSplines, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BSplines(int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial) (defined in deprecated::BSplines)deprecated::BSplinesprotected
degree() const (defined in deprecated::BSplines)deprecated::BSplinesinline
eval_basis(double x, DSpan1D &values, int &jmin) const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
eval_basis_and_n_derivs(double x, int n, DSpan2D &derivs, int &jmin) const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
eval_deriv(double x, DSpan1D &derivs, int &jmin) const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
get_knot(int break_idx) const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesinlinevirtual
integrals(DSpan1D &int_vals) const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
is_periodic() const (defined in deprecated::BSplines)deprecated::BSplinesinline
is_uniform() const override (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
length() const (defined in deprecated::BSplines)deprecated::BSplinesinline
m_degree (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_length (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_nbasis (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_ncellsdeprecated::BSplinesprotected
m_periodic (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_radial (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmax (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmin (defined in deprecated::BSplines)deprecated::BSplinesprotected
nbasis() const (defined in deprecated::BSplines)deprecated::BSplinesinline
ncells() const (defined in deprecated::BSplines)deprecated::BSplinesinline
NonUniformBSplines()=delete (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
NonUniformBSplines(int degree, bool periodic, const std::vector< double > &breaks) (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
NonUniformBSplines(const NonUniformBSplines &x)=delete (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
NonUniformBSplines(NonUniformBSplines &&x)=delete (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
npoints() const noexcept (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesinline
operator=(const NonUniformBSplines &x)=delete (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
operator=(NonUniformBSplines &&x)=delete (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplines
radial() const (defined in deprecated::BSplines)deprecated::BSplinesinline
xmax() const (defined in deprecated::BSplines)deprecated::BSplinesinline
xmin() const (defined in deprecated::BSplines)deprecated::BSplinesinline
~BSplines()=default (defined in deprecated::BSplines)deprecated::BSplinesvirtual
~NonUniformBSplines()=default (defined in deprecated::NonUniformBSplines)deprecated::NonUniformBSplinesvirtual
-
- - - - diff --git a/classdeprecated_1_1NonUniformBSplines.html b/classdeprecated_1_1NonUniformBSplines.html deleted file mode 100644 index 17d0f32e6..000000000 --- a/classdeprecated_1_1NonUniformBSplines.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::NonUniformBSplines Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::NonUniformBSplines Class Reference
-
-
-
-Inheritance diagram for deprecated::NonUniformBSplines:
-
-
- - -deprecated::BSplines - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

NonUniformBSplines (int degree, bool periodic, const std::vector< double > &breaks)
 
NonUniformBSplines (const NonUniformBSplines &x)=delete
 
NonUniformBSplines (NonUniformBSplines &&x)=delete
 
-NonUniformBSplinesoperator= (const NonUniformBSplines &x)=delete
 
-NonUniformBSplinesoperator= (NonUniformBSplines &&x)=delete
 
-int npoints () const noexcept
 
-virtual void eval_basis (double x, DSpan1D &values, int &jmin) const override
 
-virtual void eval_deriv (double x, DSpan1D &derivs, int &jmin) const override
 
-virtual void eval_basis_and_n_derivs (double x, int n, DSpan2D &derivs, int &jmin) const override
 
-virtual void integrals (DSpan1D &int_vals) const override
 
-virtual double get_knot (int break_idx) const override
 
-bool is_uniform () const override
 
- Public Member Functions inherited from deprecated::BSplines
-constexpr int degree () const
 
-constexpr bool radial () const
 
-constexpr int nbasis () const
 
-constexpr int ncells () const
 
-constexpr bool is_periodic () const
 
-constexpr double xmin () const
 
-constexpr double xmax () const
 
-constexpr double length () const
 
- - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from deprecated::BSplines
BSplines (int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial)
 
- Protected Attributes inherited from deprecated::BSplines
-int m_degree
 
-bool m_radial
 
-int m_nbasis
 
-int m_ncells
 TODO: take all that from a Mesh object.
 
-bool m_periodic
 
-double m_xmin
 
-double m_xmax
 
-double m_length
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/classdeprecated_1_1NonUniformBSplines.js b/classdeprecated_1_1NonUniformBSplines.js deleted file mode 100644 index 8b482970a..000000000 --- a/classdeprecated_1_1NonUniformBSplines.js +++ /dev/null @@ -1,17 +0,0 @@ -var classdeprecated_1_1NonUniformBSplines = -[ - [ "NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html#a5238536e33547fa1911717d70a9cc6ec", null ], - [ "NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html#a88d78112e4181a28b0f2797c8e2deb7d", null ], - [ "NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html#aca28715948e3430c34af5beb5d435de9", null ], - [ "NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html#ac20bfa597bb3cafc0a6e7f152b421112", null ], - [ "~NonUniformBSplines", "classdeprecated_1_1NonUniformBSplines.html#a82babc1fd0fa390c154e6f615fb49000", null ], - [ "operator=", "classdeprecated_1_1NonUniformBSplines.html#a5cd87e52b042f57830f60d10a6557edf", null ], - [ "operator=", "classdeprecated_1_1NonUniformBSplines.html#aa3bb229053c4030b492bbf351bca697b", null ], - [ "npoints", "classdeprecated_1_1NonUniformBSplines.html#ac18514ccf75f200bd268b8bb7870446a", null ], - [ "eval_basis", "classdeprecated_1_1NonUniformBSplines.html#a47fec32aafc3c43bb49cbaef2600894c", null ], - [ "eval_deriv", "classdeprecated_1_1NonUniformBSplines.html#a0b6d12f4a7044fdec2fe2954511e100f", null ], - [ "eval_basis_and_n_derivs", "classdeprecated_1_1NonUniformBSplines.html#a839d897cc109f79f742c83335203b25a", null ], - [ "integrals", "classdeprecated_1_1NonUniformBSplines.html#ac22ee2e750df202a77727151d8aea88b", null ], - [ "get_knot", "classdeprecated_1_1NonUniformBSplines.html#a565396adc8f843a478bda007694007c3", null ], - [ "is_uniform", "classdeprecated_1_1NonUniformBSplines.html#a1a6eace470509ed7966ebaa5cb7d6d90", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1NonUniformBSplines.png b/classdeprecated_1_1NonUniformBSplines.png deleted file mode 100644 index e19db886702edfc31f6ed3630243715e881b84c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmeAS@N?(olHy`uVBq!ia0vp^M}atigBeK9^K~==QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;q~SVzS2#GmS(uj^TVQL*b<_j_?e4nzjPIR>bGKF_l=f{8%sXCy%sCu{p)h&N4;ya_Eb1eRQVq>SNwfe zNa&oR$@cA1qKnSd>93MXRjdl_o%CehWY&MD%h*~~=3f23bi$H46AhJ>{JdPAubhpK zn)qJ6%UZBej$!+C{{S1g{S6<5MU0Q|C;VYMx+0KaZ$<#amxYdu7uwla9pt4%7-|U$ zR8I-=+Ahxd;2B)CLm`8P-`4GSGT+#+pL%g=_G>PO#W6+K{5E_zxH~^MKJ&8=6a zrOYx3(XC0kyMD4f``!k(;?#^R=g=gJP&w0LRPoS@$&Xlit&$}MIoGQ6# zo%AZ{>zf%Dca)tmHNU7?e{y+Z`G#E*(=3Y56)ef9{hHOZWtPYtSRRE1OpqYfBkg4|McVn sh8;2K8Vq?$U?CP&7ZT+4^4Txu*Ppf6=DltW2PR4ePgg&ebxsLQ0MC_BZvX%Q diff --git a/classdeprecated_1_1Spline1D-members.html b/classdeprecated_1_1Spline1D-members.html deleted file mode 100644 index 431674d98..000000000 --- a/classdeprecated_1_1Spline1D-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::Spline1D Member List
-
-
- -

This is the complete list of members for deprecated::Spline1D, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
bcoef() const noexcept (defined in deprecated::Spline1D)deprecated::Spline1Dinline
bcoef(std::size_t i) const noexcept (defined in deprecated::Spline1D)deprecated::Spline1Dinline
bcoef(std::size_t i) noexcept (defined in deprecated::Spline1D)deprecated::Spline1Dinline
belongs_to_space(const BSplines &bspline) const (defined in deprecated::Spline1D)deprecated::Spline1D
eval(double x) const (defined in deprecated::Spline1D)deprecated::Spline1D
eval_array(DSpan1D const x, DSpan1D y) const (defined in deprecated::Spline1D)deprecated::Spline1D
eval_array_deriv(DSpan1D const x, DSpan1D y) const (defined in deprecated::Spline1D)deprecated::Spline1D
eval_deriv(double x) const (defined in deprecated::Spline1D)deprecated::Spline1D
integrate() const (defined in deprecated::Spline1D)deprecated::Spline1D
operator=(const Spline1D &x)=delete (defined in deprecated::Spline1D)deprecated::Spline1D
operator=(Spline1D &&x)=delete (defined in deprecated::Spline1D)deprecated::Spline1D
Spline1D()=delete (defined in deprecated::Spline1D)deprecated::Spline1D
Spline1D(const BSplines &bspl, const BoundaryValue &left_bc=NullBoundaryValue::value, const BoundaryValue &right_bc=NullBoundaryValue::value) (defined in deprecated::Spline1D)deprecated::Spline1D
Spline1D(const Spline1D &x)=delete (defined in deprecated::Spline1D)deprecated::Spline1D
Spline1D(Spline1D &&x)=delete (defined in deprecated::Spline1D)deprecated::Spline1D
SplineBuilder1D (defined in deprecated::Spline1D)deprecated::Spline1Dfriend
SplineBuilder2D (defined in deprecated::Spline1D)deprecated::Spline1Dfriend
~Spline1D()=default (defined in deprecated::Spline1D)deprecated::Spline1D
-
- - - - diff --git a/classdeprecated_1_1Spline1D.html b/classdeprecated_1_1Spline1D.html deleted file mode 100644 index 3cacd9d77..000000000 --- a/classdeprecated_1_1Spline1D.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::Spline1D Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::Spline1D Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Spline1D (const BSplines &bspl, const BoundaryValue &left_bc=NullBoundaryValue::value, const BoundaryValue &right_bc=NullBoundaryValue::value)
 
Spline1D (const Spline1D &x)=delete
 
Spline1D (Spline1D &&x)=delete
 
-Spline1Doperator= (const Spline1D &x)=delete
 
-Spline1Doperator= (Spline1D &&x)=delete
 
-DSpan1D const & bcoef () const noexcept
 
-double const & bcoef (std::size_t i) const noexcept
 
-double & bcoef (std::size_t i) noexcept
 
-bool belongs_to_space (const BSplines &bspline) const
 
-double eval (double x) const
 
-double eval_deriv (double x) const
 
-void eval_array (DSpan1D const x, DSpan1D y) const
 
-void eval_array_deriv (DSpan1D const x, DSpan1D y) const
 
-double integrate () const
 
- - - - - -

-Friends

-class SplineBuilder1D
 
-class SplineBuilder2D
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_1d.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1Spline1D.js b/classdeprecated_1_1Spline1D.js deleted file mode 100644 index c8ce23571..000000000 --- a/classdeprecated_1_1Spline1D.js +++ /dev/null @@ -1,21 +0,0 @@ -var classdeprecated_1_1Spline1D = -[ - [ "Spline1D", "classdeprecated_1_1Spline1D.html#ad05cae5ee948f78843a7a3827b4a446a", null ], - [ "Spline1D", "classdeprecated_1_1Spline1D.html#a710d5bae2282257423bc1f2e148f6a4f", null ], - [ "Spline1D", "classdeprecated_1_1Spline1D.html#af3c4dc27ef332ea07e7f7ddb4b051a86", null ], - [ "Spline1D", "classdeprecated_1_1Spline1D.html#ab1836fa7fff7f7be1bfd4d1cd6e90e94", null ], - [ "~Spline1D", "classdeprecated_1_1Spline1D.html#ae6a3b5accc50ea430cabfeab6d339570", null ], - [ "operator=", "classdeprecated_1_1Spline1D.html#a9b42c3f2da23cd8818adb7f099c11e6e", null ], - [ "operator=", "classdeprecated_1_1Spline1D.html#ae3dfe50c5ffea4bf78b4a4a5b2c8f000", null ], - [ "bcoef", "classdeprecated_1_1Spline1D.html#adf870573be3a577220a992440cc2059d", null ], - [ "bcoef", "classdeprecated_1_1Spline1D.html#a2bf4b4003db316555f6a26a1b5320991", null ], - [ "bcoef", "classdeprecated_1_1Spline1D.html#a8e30b577a5f7fd8246aabb6f742ea36c", null ], - [ "belongs_to_space", "classdeprecated_1_1Spline1D.html#a9b12fa2b40430c86ef29456b2a85a083", null ], - [ "eval", "classdeprecated_1_1Spline1D.html#a30bb87b9b9c3e8cfa231551fa9e5db24", null ], - [ "eval_deriv", "classdeprecated_1_1Spline1D.html#af73c0b9f437f89edba9f0db4903376be", null ], - [ "eval_array", "classdeprecated_1_1Spline1D.html#a2a4bf85c408fcb9ecba4382bb15512a5", null ], - [ "eval_array_deriv", "classdeprecated_1_1Spline1D.html#a1c55d11d519aafed580bb1ec8b9cbe93", null ], - [ "integrate", "classdeprecated_1_1Spline1D.html#a4eca6bdba41567bc4fcafa49ec613b2e", null ], - [ "SplineBuilder1D", "classdeprecated_1_1Spline1D.html#ac5c5ccb890c9101dc4c5e79eb66f725e", null ], - [ "SplineBuilder2D", "classdeprecated_1_1Spline1D.html#ab57d8d422b3aaf3a91a8b96336f6b734", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1Spline2D-members.html b/classdeprecated_1_1Spline2D-members.html deleted file mode 100644 index cc0ee0c63..000000000 --- a/classdeprecated_1_1Spline2D-members.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::Spline2D Member List
-
-
- -

This is the complete list of members for deprecated::Spline2D, including all inherited members.

- - - - - - - - - - - - - - - - - - -
bcoef() const noexcept (defined in deprecated::Spline2D)deprecated::Spline2Dinline
bcoef(std::size_t i, std::size_t j) const noexcept (defined in deprecated::Spline2D)deprecated::Spline2Dinline
belongs_to_space(const BSplines &bspline1, const BSplines &bspline2) const (defined in deprecated::Spline2D)deprecated::Spline2D
eval(const double x1, const double x2) const (defined in deprecated::Spline2D)deprecated::Spline2D
eval_array(DSpan2D const &x1, DSpan2D const &x2, DSpan2D &y) const (defined in deprecated::Spline2D)deprecated::Spline2D
eval_array_deriv(DSpan2D const &x1, DSpan2D const &x2, DSpan2D &y) const (defined in deprecated::Spline2D)deprecated::Spline2D
eval_deriv(const double x1, const double x2) const (defined in deprecated::Spline2D)deprecated::Spline2D
integrate() const (defined in deprecated::Spline2D)deprecated::Spline2D
integrate_dim(DSpan1D &y, const int dim) const (defined in deprecated::Spline2D)deprecated::Spline2D
operator=(const Spline2D &x)=delete (defined in deprecated::Spline2D)deprecated::Spline2D
operator=(Spline2D &&x)=delete (defined in deprecated::Spline2D)deprecated::Spline2D
Spline2D()=delete (defined in deprecated::Spline2D)deprecated::Spline2D
Spline2D(const BSplines &bspl1, const BSplines &bspl2) (defined in deprecated::Spline2D)deprecated::Spline2D
Spline2D(const Spline2D &x)=delete (defined in deprecated::Spline2D)deprecated::Spline2D
Spline2D(Spline2D &&x)=delete (defined in deprecated::Spline2D)deprecated::Spline2D
SplineBuilder2D (defined in deprecated::Spline2D)deprecated::Spline2Dfriend
~Spline2D()=default (defined in deprecated::Spline2D)deprecated::Spline2D
-
- - - - diff --git a/classdeprecated_1_1Spline2D.html b/classdeprecated_1_1Spline2D.html deleted file mode 100644 index a149a4c32..000000000 --- a/classdeprecated_1_1Spline2D.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::Spline2D Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::Spline2D Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Spline2D (const BSplines &bspl1, const BSplines &bspl2)
 
Spline2D (const Spline2D &x)=delete
 
Spline2D (Spline2D &&x)=delete
 
-Spline2Doperator= (const Spline2D &x)=delete
 
-Spline2Doperator= (Spline2D &&x)=delete
 
-DSpan2D const & bcoef () const noexcept
 
-double & bcoef (std::size_t i, std::size_t j) const noexcept
 
-bool belongs_to_space (const BSplines &bspline1, const BSplines &bspline2) const
 
-double eval (const double x1, const double x2) const
 
-template<bool deriv1, bool deriv2>
double eval_deriv (const double x1, const double x2) const
 
-void eval_array (DSpan2D const &x1, DSpan2D const &x2, DSpan2D &y) const
 
-template<bool deriv1, bool deriv2>
void eval_array_deriv (DSpan2D const &x1, DSpan2D const &x2, DSpan2D &y) const
 
-void integrate_dim (DSpan1D &y, const int dim) const
 
-double integrate () const
 
- - - -

-Friends

-class SplineBuilder2D
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_2d.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1Spline2D.js b/classdeprecated_1_1Spline2D.js deleted file mode 100644 index c75ec9d06..000000000 --- a/classdeprecated_1_1Spline2D.js +++ /dev/null @@ -1,20 +0,0 @@ -var classdeprecated_1_1Spline2D = -[ - [ "Spline2D", "classdeprecated_1_1Spline2D.html#a7048da14e61740d6da8c1d0596e19beb", null ], - [ "Spline2D", "classdeprecated_1_1Spline2D.html#a18c11bc546bfbf66093d25de95a9dfb2", null ], - [ "Spline2D", "classdeprecated_1_1Spline2D.html#a36814015df494f53c71b40f6b18f3cf5", null ], - [ "Spline2D", "classdeprecated_1_1Spline2D.html#a4c576ee09e98fddd860d4f8bd35b16e8", null ], - [ "~Spline2D", "classdeprecated_1_1Spline2D.html#a32c50af9a640446a06ab78e2a9d7d7bf", null ], - [ "operator=", "classdeprecated_1_1Spline2D.html#af333fc33be14349591f5dc2e4e78591f", null ], - [ "operator=", "classdeprecated_1_1Spline2D.html#a3af30f7921a8ffcdfb243bf88d8c7333", null ], - [ "bcoef", "classdeprecated_1_1Spline2D.html#a941666c92e10b8ca27aebd1fc8cf9431", null ], - [ "bcoef", "classdeprecated_1_1Spline2D.html#a74f4439493b2057d72554eb06881c397", null ], - [ "belongs_to_space", "classdeprecated_1_1Spline2D.html#a55b2a17dc7d4786bdaa291d7a68e6151", null ], - [ "eval", "classdeprecated_1_1Spline2D.html#aedb4fe4a56b54c277184bf172c798af5", null ], - [ "eval_deriv", "classdeprecated_1_1Spline2D.html#af524064a135e87c239ae444fc52f8338", null ], - [ "eval_array", "classdeprecated_1_1Spline2D.html#a1a095d43c1d4d12e637039d4e85e0393", null ], - [ "eval_array_deriv", "classdeprecated_1_1Spline2D.html#a32d298e6353dbb04e56b8579d570ea66", null ], - [ "integrate_dim", "classdeprecated_1_1Spline2D.html#a8fafa1324a5c9cc04f96a5308ed95f65", null ], - [ "integrate", "classdeprecated_1_1Spline2D.html#accf6110486d0e134e5ce729f192bb3aa", null ], - [ "SplineBuilder2D", "classdeprecated_1_1Spline2D.html#ab57d8d422b3aaf3a91a8b96336f6b734", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1SplineBuilder1D-members.html b/classdeprecated_1_1SplineBuilder1D-members.html deleted file mode 100644 index 720c0350a..000000000 --- a/classdeprecated_1_1SplineBuilder1D-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::SplineBuilder1D Member List
-
-
- -

This is the complete list of members for deprecated::SplineBuilder1D, including all inherited members.

- - - - - - - - - - - - - - - -
compute_interpolant(Spline1D &spline, const DSpan1D &vals, const DSpan1D *derivs_xmin=nullptr, const DSpan1D *derivs_xmax=nullptr) const (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
compute_num_cells(int degree, BoundCond xmin, BoundCond xmax, int nipts) (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1Dstatic
get_interp_points() const (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
nbc_xmax() const noexcept (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1Dinline
nbc_xmin() const noexcept (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1Dinline
operator=(const SplineBuilder1D &x)=delete (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
operator=(SplineBuilder1D &&x)=delete (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
SplineBuilder1D()=delete (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
SplineBuilder1D(const BSplines &bspl, BoundCond xmin_bc, BoundCond xmax_bc) (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
SplineBuilder1D(const SplineBuilder1D &x)=delete (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
SplineBuilder1D(SplineBuilder1D &&x)=delete (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
xmax_bc() const noexcept (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1Dinline
xmin_bc() const noexcept (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1Dinline
~SplineBuilder1D()=default (defined in deprecated::SplineBuilder1D)deprecated::SplineBuilder1D
-
- - - - diff --git a/classdeprecated_1_1SplineBuilder1D.html b/classdeprecated_1_1SplineBuilder1D.html deleted file mode 100644 index 3c5b2cfcc..000000000 --- a/classdeprecated_1_1SplineBuilder1D.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::SplineBuilder1D Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::SplineBuilder1D Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

SplineBuilder1D (const BSplines &bspl, BoundCond xmin_bc, BoundCond xmax_bc)
 
SplineBuilder1D (const SplineBuilder1D &x)=delete
 
SplineBuilder1D (SplineBuilder1D &&x)=delete
 
-SplineBuilder1Doperator= (const SplineBuilder1D &x)=delete
 
-SplineBuilder1Doperator= (SplineBuilder1D &&x)=delete
 
-const DSpan1D & get_interp_points () const
 
-void compute_interpolant (Spline1D &spline, const DSpan1D &vals, const DSpan1D *derivs_xmin=nullptr, const DSpan1D *derivs_xmax=nullptr) const
 
-BoundCond xmin_bc () const noexcept
 
-BoundCond xmax_bc () const noexcept
 
-int nbc_xmin () const noexcept
 
-int nbc_xmax () const noexcept
 
- - - -

-Static Public Member Functions

-static int compute_num_cells (int degree, BoundCond xmin, BoundCond xmax, int nipts)
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_builder_1d.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1SplineBuilder1D.js b/classdeprecated_1_1SplineBuilder1D.js deleted file mode 100644 index 583274175..000000000 --- a/classdeprecated_1_1SplineBuilder1D.js +++ /dev/null @@ -1,16 +0,0 @@ -var classdeprecated_1_1SplineBuilder1D = -[ - [ "SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html#a2d0b53ec4beef6a8703ac2be7ecb648b", null ], - [ "SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html#a76118de79f5da4cd5de44a30fb0f956c", null ], - [ "SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html#ad91fe465261abbd7f19244b938848190", null ], - [ "SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html#aa1eb2d3cb1a1f072ae3a86b5843adb12", null ], - [ "~SplineBuilder1D", "classdeprecated_1_1SplineBuilder1D.html#aec9f480a426fbafec239ce21d838285c", null ], - [ "operator=", "classdeprecated_1_1SplineBuilder1D.html#aaf3bbaedfa7a8ac6fe351def74265617", null ], - [ "operator=", "classdeprecated_1_1SplineBuilder1D.html#ae2231d8fceb1a1e0d69ce2616c6e88a8", null ], - [ "get_interp_points", "classdeprecated_1_1SplineBuilder1D.html#ad83c92afab39e7f74fdfb82259e8afd5", null ], - [ "compute_interpolant", "classdeprecated_1_1SplineBuilder1D.html#a1cdeebadafc04e2e8c4130e21a4774cb", null ], - [ "xmin_bc", "classdeprecated_1_1SplineBuilder1D.html#a9a752dccaa438d1ee806e0ea15736b51", null ], - [ "xmax_bc", "classdeprecated_1_1SplineBuilder1D.html#ad501035259194133bfb6f24b94a7c54a", null ], - [ "nbc_xmin", "classdeprecated_1_1SplineBuilder1D.html#a3da82074c81dd09939f68d62d9bd17ac", null ], - [ "nbc_xmax", "classdeprecated_1_1SplineBuilder1D.html#a91bfee3f8fcbaad78815b11f66f0157c", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1SplineBuilder2D-members.html b/classdeprecated_1_1SplineBuilder2D-members.html deleted file mode 100644 index f6368ad71..000000000 --- a/classdeprecated_1_1SplineBuilder2D-members.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::SplineBuilder2D Member List
-
-
- -

This is the complete list of members for deprecated::SplineBuilder2D, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
compute_interpolant(Spline2D const &spline, DSpan2D const &vals, Boundary_data_2d boundary_data) const (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
compute_interpolant(Spline2D const &spline, DSpan2D const &vals) const (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
compute_num_cells(std::array< int, 2 > degree, std::array< BoundCond, 2 > xmin, std::array< BoundCond, 2 > xmax, std::array< int, 2 > nipts) (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2Dstatic
get_interp_points() const (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
m_nbc_xmax (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
m_nbc_xmin (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
m_xmax_bc (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
m_xmin_bc (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
nbc_xmax() const noexcept (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2Dinline
nbc_xmin() const noexcept (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2Dinline
operator=(const SplineBuilder2D &x)=delete (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
operator=(SplineBuilder2D &&x)=delete (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
SplineBuilder2D()=delete (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
SplineBuilder2D(std::array< std::unique_ptr< const BSplines >, 2 > bspl, std::array< BoundCond, 2 > xmin_bc, std::array< BoundCond, 2 > xmax_bc) (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
SplineBuilder2D(const SplineBuilder2D &x)=delete (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
SplineBuilder2D(SplineBuilder2D &&x)=delete (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
xmax_bc() const noexcept (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2Dinline
xmin_bc() const noexcept (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2Dinline
~SplineBuilder2D()=default (defined in deprecated::SplineBuilder2D)deprecated::SplineBuilder2D
-
- - - - diff --git a/classdeprecated_1_1SplineBuilder2D.html b/classdeprecated_1_1SplineBuilder2D.html deleted file mode 100644 index 99520a225..000000000 --- a/classdeprecated_1_1SplineBuilder2D.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::SplineBuilder2D Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::SplineBuilder2D Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

SplineBuilder2D (std::array< std::unique_ptr< const BSplines >, 2 > bspl, std::array< BoundCond, 2 > xmin_bc, std::array< BoundCond, 2 > xmax_bc)
 
SplineBuilder2D (const SplineBuilder2D &x)=delete
 
SplineBuilder2D (SplineBuilder2D &&x)=delete
 
-SplineBuilder2Doperator= (const SplineBuilder2D &x)=delete
 
-SplineBuilder2Doperator= (SplineBuilder2D &&x)=delete
 
-std::array< const DSpan1D, 2 > get_interp_points () const
 
-void compute_interpolant (Spline2D const &spline, DSpan2D const &vals, Boundary_data_2d boundary_data) const
 
-void compute_interpolant (Spline2D const &spline, DSpan2D const &vals) const
 
-std::array< BoundCond, 2 > const & xmin_bc () const noexcept
 
-std::array< BoundCond, 2 > const & xmax_bc () const noexcept
 
-std::array< int, 2 > const & nbc_xmin () const noexcept
 
-std::array< int, 2 > const & nbc_xmax () const noexcept
 
- - - -

-Static Public Member Functions

-static std::array< int, 2 > compute_num_cells (std::array< int, 2 > degree, std::array< BoundCond, 2 > xmin, std::array< BoundCond, 2 > xmax, std::array< int, 2 > nipts)
 
- - - - - - - - - -

-Public Attributes

-const std::array< BoundCond, 2 > m_xmin_bc
 
-const std::array< BoundCond, 2 > m_xmax_bc
 
-const std::array< int, 2 > m_nbc_xmin
 
-const std::array< int, 2 > m_nbc_xmax
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_builder_2d.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1SplineBuilder2D.js b/classdeprecated_1_1SplineBuilder2D.js deleted file mode 100644 index 5436dd9f5..000000000 --- a/classdeprecated_1_1SplineBuilder2D.js +++ /dev/null @@ -1,21 +0,0 @@ -var classdeprecated_1_1SplineBuilder2D = -[ - [ "SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html#a6d7cc996c0b1e0e2d23ed3d1565895d2", null ], - [ "SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html#aebf5afa3b94881c81c253e9239b7c43e", null ], - [ "SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html#a6d92f41f4b24116d1a052435ee144f26", null ], - [ "SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html#a6f3a4f3bdf818f45a7e09bb980454d25", null ], - [ "~SplineBuilder2D", "classdeprecated_1_1SplineBuilder2D.html#a0e1d451139e811fd1c82dff503c2dc1f", null ], - [ "operator=", "classdeprecated_1_1SplineBuilder2D.html#ade1a16bb2fe0a9427b4f1ead8fe6cf51", null ], - [ "operator=", "classdeprecated_1_1SplineBuilder2D.html#a82a72d00c034901c97cc03ead89a5a07", null ], - [ "get_interp_points", "classdeprecated_1_1SplineBuilder2D.html#adbe08fbe0995c905fb04a21bdcb9e9b1", null ], - [ "compute_interpolant", "classdeprecated_1_1SplineBuilder2D.html#aa7285c34d0d072758c19239535dee692", null ], - [ "compute_interpolant", "classdeprecated_1_1SplineBuilder2D.html#acf3f6c012a7a44539632f504ecd503eb", null ], - [ "xmin_bc", "classdeprecated_1_1SplineBuilder2D.html#a8b307e049811d794b2bdf5e30243aa35", null ], - [ "xmax_bc", "classdeprecated_1_1SplineBuilder2D.html#a21dab2716e7b150d22cbe76c41cd2e47", null ], - [ "nbc_xmin", "classdeprecated_1_1SplineBuilder2D.html#a20f5e6fccab88772c46ed35dd0092821", null ], - [ "nbc_xmax", "classdeprecated_1_1SplineBuilder2D.html#ab642615780cc2eb609fae4f6dff75f99", null ], - [ "m_xmin_bc", "classdeprecated_1_1SplineBuilder2D.html#ab527252e7c81631cd6cf7b40a3cff885", null ], - [ "m_xmax_bc", "classdeprecated_1_1SplineBuilder2D.html#a635328d9d61b3602fdd18eda2da44682", null ], - [ "m_nbc_xmin", "classdeprecated_1_1SplineBuilder2D.html#a4a969fa37fa4d678fa8671b0d3bbb957", null ], - [ "m_nbc_xmax", "classdeprecated_1_1SplineBuilder2D.html#a16b01d28b6f25781067b093110aae28a", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1UniformBSplines-members.html b/classdeprecated_1_1UniformBSplines-members.html deleted file mode 100644 index c2dfdfa57..000000000 --- a/classdeprecated_1_1UniformBSplines-members.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated::UniformBSplines Member List
-
-
- -

This is the complete list of members for deprecated::UniformBSplines, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BSplines(int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial) (defined in deprecated::BSplines)deprecated::BSplinesprotected
degree() const (defined in deprecated::BSplines)deprecated::BSplinesinline
eval_basis(double x, DSpan1D &values, int &jmin) const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesinlinevirtual
eval_basis_and_n_derivs(double x, int n, DSpan2D &derivs, int &jmin) const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesvirtual
eval_deriv(double x, DSpan1D &derivs, int &jmin) const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesvirtual
get_knot(int idx) const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesinlinevirtual
integrals(DSpan1D &int_vals) const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesvirtual
is_periodic() const (defined in deprecated::BSplines)deprecated::BSplinesinline
is_uniform() const override (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesvirtual
length() const (defined in deprecated::BSplines)deprecated::BSplinesinline
m_degree (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_length (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_nbasis (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_ncellsdeprecated::BSplinesprotected
m_periodic (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_radial (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmax (defined in deprecated::BSplines)deprecated::BSplinesprotected
m_xmin (defined in deprecated::BSplines)deprecated::BSplinesprotected
nbasis() const (defined in deprecated::BSplines)deprecated::BSplinesinline
ncells() const (defined in deprecated::BSplines)deprecated::BSplinesinline
operator=(const UniformBSplines &x)=delete (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
operator=(UniformBSplines &&x)=delete (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
radial() const (defined in deprecated::BSplines)deprecated::BSplinesinline
UniformBSplines()=delete (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
UniformBSplines(int degree, bool periodic, double xmin, double xmax, int ncells) (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
UniformBSplines(const UniformBSplines &x)=delete (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
UniformBSplines(UniformBSplines &&x)=delete (defined in deprecated::UniformBSplines)deprecated::UniformBSplines
xmax() const (defined in deprecated::BSplines)deprecated::BSplinesinline
xmin() const (defined in deprecated::BSplines)deprecated::BSplinesinline
~BSplines()=default (defined in deprecated::BSplines)deprecated::BSplinesvirtual
~UniformBSplines()=default (defined in deprecated::UniformBSplines)deprecated::UniformBSplinesvirtual
-
- - - - diff --git a/classdeprecated_1_1UniformBSplines.html b/classdeprecated_1_1UniformBSplines.html deleted file mode 100644 index 33ff7fc41..000000000 --- a/classdeprecated_1_1UniformBSplines.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::UniformBSplines Class Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
deprecated::UniformBSplines Class Reference
-
-
-
-Inheritance diagram for deprecated::UniformBSplines:
-
-
- - -deprecated::BSplines - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

UniformBSplines (int degree, bool periodic, double xmin, double xmax, int ncells)
 
UniformBSplines (const UniformBSplines &x)=delete
 
UniformBSplines (UniformBSplines &&x)=delete
 
-UniformBSplinesoperator= (const UniformBSplines &x)=delete
 
-UniformBSplinesoperator= (UniformBSplines &&x)=delete
 
-virtual void eval_basis (double x, DSpan1D &values, int &jmin) const override
 
-virtual void eval_deriv (double x, DSpan1D &derivs, int &jmin) const override
 
-virtual void eval_basis_and_n_derivs (double x, int n, DSpan2D &derivs, int &jmin) const override
 
-virtual void integrals (DSpan1D &int_vals) const override
 
-virtual double get_knot (int idx) const override
 
-bool is_uniform () const override
 
- Public Member Functions inherited from deprecated::BSplines
-constexpr int degree () const
 
-constexpr bool radial () const
 
-constexpr int nbasis () const
 
-constexpr int ncells () const
 
-constexpr bool is_periodic () const
 
-constexpr double xmin () const
 
-constexpr double xmax () const
 
-constexpr double length () const
 
- - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from deprecated::BSplines
BSplines (int degree, bool periodic, int ncells, int nbasis, double xmin, double xmax, bool radial)
 
- Protected Attributes inherited from deprecated::BSplines
-int m_degree
 
-bool m_radial
 
-int m_nbasis
 
-int m_ncells
 TODO: take all that from a Mesh object.
 
-bool m_periodic
 
-double m_xmin
 
-double m_xmax
 
-double m_length
 
-
The documentation for this class was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/bsplines_uniform.hpp
  • -
-
-
- - - - diff --git a/classdeprecated_1_1UniformBSplines.js b/classdeprecated_1_1UniformBSplines.js deleted file mode 100644 index 44aeacf8b..000000000 --- a/classdeprecated_1_1UniformBSplines.js +++ /dev/null @@ -1,16 +0,0 @@ -var classdeprecated_1_1UniformBSplines = -[ - [ "UniformBSplines", "classdeprecated_1_1UniformBSplines.html#aabb15b788320ba5569f9b367458180e0", null ], - [ "UniformBSplines", "classdeprecated_1_1UniformBSplines.html#a82a1b392d8b1a0e0d945fb3239116557", null ], - [ "UniformBSplines", "classdeprecated_1_1UniformBSplines.html#a6b03b449195dc181c581d019bb0c5796", null ], - [ "UniformBSplines", "classdeprecated_1_1UniformBSplines.html#a1bb4bd4d749e844c02082e8f72814875", null ], - [ "~UniformBSplines", "classdeprecated_1_1UniformBSplines.html#a027ce5971d5eb77174c6bceac8d4d88a", null ], - [ "operator=", "classdeprecated_1_1UniformBSplines.html#a55df0565aa8c096134f39900a06ea4dc", null ], - [ "operator=", "classdeprecated_1_1UniformBSplines.html#a859b2511e123e5149743cdde48bf5ed5", null ], - [ "eval_basis", "classdeprecated_1_1UniformBSplines.html#a111fbc375138d9125e3fdc93203cad7c", null ], - [ "eval_deriv", "classdeprecated_1_1UniformBSplines.html#af1bb464a54caed6e7a3f5f9683327855", null ], - [ "eval_basis_and_n_derivs", "classdeprecated_1_1UniformBSplines.html#a7f02b5a1658abc3f11cca02a114052d7", null ], - [ "integrals", "classdeprecated_1_1UniformBSplines.html#a2019621f9c8a2169526a7f131050608b", null ], - [ "get_knot", "classdeprecated_1_1UniformBSplines.html#aa1628eb190f71f8c421b88496745bcf5", null ], - [ "is_uniform", "classdeprecated_1_1UniformBSplines.html#af5e682fb4af6e3eb639894bf667a814e", null ] -]; \ No newline at end of file diff --git a/classdeprecated_1_1UniformBSplines.png b/classdeprecated_1_1UniformBSplines.png deleted file mode 100644 index dbe00699c4408b00c1dac8c9ffa45f6e7cb7c437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmeAS@N?(olHy`uVBq!ia0vp^>wq|bgBeI}_u97=NJ#|vgt-3y{~ySF@#br3|Dg#$ z78oBmaDcV*jy#adQ4-`A%m7pb0#{Fk7%?y~1$nwShEy=VoqN0QwE~Z;xOLF~|C9ZL zjo6r9rW&1*QE|W7TCg!(=JCEwxwp6V-B8ICWnHIoHt2!ZC7r#;d?$UG_a~^@>-X2I zg`eeb{Byk{wQkMN8DCA`*-GucDl@hE|A!sFw>3lt*X1PlN56R@Xq@$1<)zR0Liu-_ z=kJQ<-RgUFGh_FwgOAcqIq!{{Q#gDzgNhydzW6KmCpj;TPM!)aFW? zZ61H<>eK7fGQYR7@A$gn={v?Z>ejP_@8ldgex&Wx$rsb>dZN>_b|1amGx;Fv-P7i0 zzwd0bzGKAkI(ldIG_}}wamRfF?w>FIzQ)KzRnffiRw$eG>{_L;sfkl|Z#x>wW^BHW z$D#E9!T7t;dd%Vvq<1xOf3VjoU`*2l;!OQ>noGBI{bM{(s;YRJ(cu6v#W8rg`njxg HN@xNA-&s*S diff --git a/constant__extrapolation__boundary__value_8hpp_source.html b/constant__extrapolation__boundary__value_8hpp_source.html deleted file mode 100644 index 129c21601..000000000 --- a/constant__extrapolation__boundary__value_8hpp_source.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/constant_extrapolation_boundary_value.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
constant_extrapolation_boundary_value.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <sll/spline_boundary_value.hpp>
-
4 
-
5 #include "sll/view.hpp"
-
6 
-
15 template <class BSplines>
- -
17 {
-
18 public:
-
22  using tag_type = typename BSplines::tag_type;
-
26  using coord_type = ddc::Coordinate<tag_type>;
-
27 
-
28 private:
-
29  coord_type m_eval_pos;
-
30 
-
31 public:
-
40  explicit ConstantExtrapolationBoundaryValue(coord_type eval_pos) : m_eval_pos(eval_pos) {}
-
41 
-
42  ~ConstantExtrapolationBoundaryValue() override = default;
-
43 
-
54  double operator()(
-
55  coord_type const pos,
-
56  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplines>> const spline_coef)
-
57  const final
-
58  {
-
59  std::array<double, BSplines::degree() + 1> values;
-
60  DSpan1D const vals = as_span(values);
-
61 
-
62  ddc::DiscreteElement<BSplines> idx
-
63  = ddc::discrete_space<BSplines>().eval_basis(vals, m_eval_pos);
-
64 
-
65  double y = 0.0;
-
66  for (std::size_t i = 0; i < BSplines::degree() + 1; ++i) {
-
67  y += spline_coef(idx + i) * vals(i);
-
68  }
-
69  return y;
-
70  }
-
71 };
-
72 
-
73 
-
74 
-
83 template <class BSplines1, class BSplines2, class BCDim>
-
84 class ConstantExtrapolationBoundaryValue2D : public SplineBoundaryValue2D<BSplines1, BSplines2>
-
85 {
-
86 public:
-
90  using Dim1 = typename BSplines1::tag_type;
-
94  using Dim2 = typename BSplines2::tag_type;
-
98  using coord_type1 = ddc::Coordinate<Dim1>;
-
102  using coord_type2 = ddc::Coordinate<Dim2>;
-
106  using coord_type_bc = ddc::Coordinate<BCDim>;
-
110  using NoBCDim = typename std::conditional_t<std::is_same_v<Dim1, BCDim>, Dim2, Dim1>;
-
114  using coord_type_no_bc = ddc::Coordinate<NoBCDim>;
-
118  static constexpr bool BSplines1_is_periodic = BSplines1::is_periodic();
-
122  static constexpr bool BSplines2_is_periodic = BSplines2::is_periodic();
-
127  static constexpr bool BSplinesNoBC_is_periodic
-
128  = std::is_same_v<Dim1, BCDim> ? BSplines2_is_periodic : BSplines1_is_periodic;
-
129 
-
130 
-
131 
-
132  static_assert(std::is_same_v<BCDim, Dim1> || std::is_same_v<BCDim, Dim2>);
-
133  static_assert(std::is_same_v<NoBCDim, Dim1> || std::is_same_v<NoBCDim, Dim2>);
-
134 
-
135 private:
-
136  coord_type_bc const m_eval_pos_bc;
-
137  coord_type_no_bc const m_eval_pos_no_bc_min;
-
138  coord_type_no_bc const m_eval_pos_no_bc_max;
-
139 
-
140 public:
-
158  template <typename T = std::enable_if<!BSplinesNoBC_is_periodic>>
- -
160  coord_type_bc const eval_pos_bc,
-
161  coord_type_no_bc const eval_pos_no_bc_min,
-
162  coord_type_no_bc const eval_pos_no_bc_max)
-
163  : m_eval_pos_bc(eval_pos_bc)
-
164  , m_eval_pos_no_bc_min(eval_pos_no_bc_min)
-
165  , m_eval_pos_no_bc_max(eval_pos_no_bc_max)
-
166  {
-
167  }
-
168 
-
182  template <typename T = std::enable_if<BSplinesNoBC_is_periodic>>
- -
184  : m_eval_pos_bc(eval_pos_bc)
-
185  , m_eval_pos_no_bc_min(coord_type_no_bc(0.))
-
186  , m_eval_pos_no_bc_max(coord_type_no_bc(0.))
-
187  {
-
188  }
-
189 
-
190 
-
191  ~ConstantExtrapolationBoundaryValue2D() override = default;
-
192 
-
212  double operator()(
-
213  coord_type1 const pos_1,
-
214  coord_type2 const pos_2,
-
215  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplines1, BSplines2>> const
-
216  spline_coef) const final
-
217  {
-
218  coord_type1 eval_pos_1;
-
219  coord_type2 eval_pos_2;
-
220 
-
221  if constexpr (BSplinesNoBC_is_periodic) {
-
222  if constexpr (std::is_same_v<BCDim, Dim1>) {
-
223  eval_pos_1 = m_eval_pos_bc;
-
224  eval_pos_2 = pos_2;
-
225  } else {
-
226  eval_pos_1 = pos_1;
-
227  eval_pos_2 = m_eval_pos_bc;
-
228  }
-
229 
-
230  } else {
-
231  double bc_min = m_eval_pos_no_bc_min;
-
232  double bc_max = m_eval_pos_no_bc_max;
-
233 
-
234  if constexpr (std::is_same_v<BCDim, Dim1>) {
-
235  eval_pos_1 = m_eval_pos_bc;
-
236  // Take the maximum between m_eval_pos_no_bc_min and pos_2
-
237  // and the minimum between m_eval_pos_no_bc_max and pos_2
-
238  // to be inside the domain.
-
239  eval_pos_2 = coord_type2(std::max(bc_min, std::min(bc_max, double(pos_2))));
-
240  } else {
-
241  // Take the maximum between m_eval_pos_no_bc_min and pos_1
-
242  // and the minimum between m_eval_pos_no_bc_max and pos_1
-
243  // to be inside the domain.
-
244  eval_pos_1 = coord_type1(std::max(bc_min, std::min(bc_max, double(pos_1))));
-
245  eval_pos_2 = m_eval_pos_bc;
-
246  }
-
247  }
-
248 
-
249  std::array<double, BSplines1::degree() + 1> values1;
-
250  DSpan1D const vals1 = as_span(values1);
-
251  std::array<double, BSplines2::degree() + 1> values2;
-
252  DSpan1D const vals2 = as_span(values2);
-
253 
-
254  ddc::DiscreteElement<BSplines1> idx1
-
255  = ddc::discrete_space<BSplines1>().eval_basis(vals1, eval_pos_1);
-
256  ddc::DiscreteElement<BSplines2> idx2
-
257  = ddc::discrete_space<BSplines2>().eval_basis(vals2, eval_pos_2);
-
258 
-
259  double y = 0.0;
-
260  for (std::size_t i = 0; i < BSplines1::degree() + 1; ++i) {
-
261  for (std::size_t j = 0; j < BSplines2::degree() + 1; ++j) {
-
262  y += spline_coef(idx1 + i, idx2 + j) * vals1(i) * vals2(j);
-
263  }
-
264  }
-
265  return y;
-
266  }
-
267 };
-
A class for describing a spline boundary value by a constant extrapolation for 2D evaluator.
Definition: constant_extrapolation_boundary_value.hpp:85
-
typename BSplines1::tag_type Dim1
Indicate the first dimension we are working on.
Definition: constant_extrapolation_boundary_value.hpp:90
-
ddc::Coordinate< Dim1 > coord_type1
Indicate coordinate type in the first dimension we are working on.
Definition: constant_extrapolation_boundary_value.hpp:98
-
ddc::Coordinate< NoBCDim > coord_type_no_bc
Indicate the coordinate type of the complementary dimension of the boundary condition dimension.
Definition: constant_extrapolation_boundary_value.hpp:114
-
typename BSplines2::tag_type Dim2
Indicate the second dimension we are working on.
Definition: constant_extrapolation_boundary_value.hpp:94
-
ddc::Coordinate< BCDim > coord_type_bc
Indicate coordinate type in the dimension of the boundary condition.
Definition: constant_extrapolation_boundary_value.hpp:106
-
typename std::conditional_t< std::is_same_v< Dim1, BCDim >, Dim2, Dim1 > NoBCDim
Indicate the complementary dimension of the boundary condition dimension.
Definition: constant_extrapolation_boundary_value.hpp:110
-
static constexpr bool BSplines2_is_periodic
Boolean set at True if the Bsplines on the second dimension is periodic.
Definition: constant_extrapolation_boundary_value.hpp:122
-
double operator()(coord_type1 const pos_1, coord_type2 const pos_2, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines1, BSplines2 >> const spline_coef) const final
Get the value of the function on B-splines at a coordinate outside the domain.
Definition: constant_extrapolation_boundary_value.hpp:212
-
ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc, coord_type_no_bc const eval_pos_no_bc_min, coord_type_no_bc const eval_pos_no_bc_max)
Instantiate a ConstantExtrapolationBoundaryValue2D.
Definition: constant_extrapolation_boundary_value.hpp:159
-
static constexpr bool BSplinesNoBC_is_periodic
Boolean set at True if the Bsplines on the complementary dimension of the boundary condition dimensio...
Definition: constant_extrapolation_boundary_value.hpp:128
-
ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc)
Instantiate a ConstantExtrapolationBoundaryValue2D with periodic splines on the no-boundary condition...
Definition: constant_extrapolation_boundary_value.hpp:183
-
static constexpr bool BSplines1_is_periodic
Boolean set at True if the Bsplines on the first dimension is periodic.
Definition: constant_extrapolation_boundary_value.hpp:118
-
ddc::Coordinate< Dim2 > coord_type2
Indicate coordinate type in the second dimension we are working on.
Definition: constant_extrapolation_boundary_value.hpp:102
-
A class for describing a spline boundary value by a constant extrapolation for 1D evaluator.
Definition: constant_extrapolation_boundary_value.hpp:17
-
double operator()(coord_type const pos, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplines >> const spline_coef) const final
Get the value of the function on B-splines at a coordinate outside the domain.
Definition: constant_extrapolation_boundary_value.hpp:54
-
typename BSplines::tag_type tag_type
Indicate the dimension we are working on.
Definition: constant_extrapolation_boundary_value.hpp:22
-
ConstantExtrapolationBoundaryValue(coord_type eval_pos)
Instantiate a ConstantExtrapolationBoundaryValue.
Definition: constant_extrapolation_boundary_value.hpp:40
-
ddc::Coordinate< tag_type > coord_type
Indicate the coordinate type in the dimension of the boundary condition.
Definition: constant_extrapolation_boundary_value.hpp:26
-
Definition: spline_boundary_value.hpp:21
-
Definition: spline_boundary_value.hpp:10
-
-
- - - - diff --git a/deprecated_2bsplines__non__uniform_8hpp_source.html b/deprecated_2bsplines__non__uniform_8hpp_source.html deleted file mode 100644 index bc51856c6..000000000 --- a/deprecated_2bsplines__non__uniform_8hpp_source.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/bsplines_non_uniform.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bsplines_non_uniform.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <memory>
-
4 #include <vector>
-
5 
-
6 #include "sll/deprecated/bsplines.hpp"
-
7 #include "sll/view.hpp"
-
8 
-
9 namespace deprecated {
-
10 
- -
12 {
-
13 private:
-
14  std::unique_ptr<double[]> m_knots;
-
15 
-
16  int m_npoints;
-
17 
-
18 public:
-
19  NonUniformBSplines() = delete;
-
20  NonUniformBSplines(int degree, bool periodic, const std::vector<double>& breaks);
-
21  NonUniformBSplines(const NonUniformBSplines& x) = delete;
- -
23  virtual ~NonUniformBSplines() = default;
-
24  NonUniformBSplines& operator=(const NonUniformBSplines& x) = delete;
-
25  NonUniformBSplines& operator=(NonUniformBSplines&& x) = delete;
-
26 
-
27  int npoints() const noexcept
-
28  {
-
29  return m_npoints;
-
30  }
-
31 
-
32  virtual void eval_basis(double x, DSpan1D& values, int& jmin) const override;
-
33  virtual void eval_deriv(double x, DSpan1D& derivs, int& jmin) const override;
-
34  virtual void eval_basis_and_n_derivs(double x, int n, DSpan2D& derivs, int& jmin)
-
35  const override;
-
36  virtual void integrals(DSpan1D& int_vals) const override;
-
37 
-
38  virtual double get_knot(int break_idx) const override
-
39  {
-
40  // TODO: assert break_idx >= 1 - degree
-
41  // TODO: assert break_idx <= npoints + degree
-
42  return m_knots[break_idx + m_degree];
-
43  }
-
44 
-
45  bool is_uniform() const override;
-
46 
-
47 private:
-
48  int find_cell(double x) const;
-
49 
-
50  inline double& get_knot(int break_idx)
-
51  {
-
52  // TODO: assert break_idx >= 1 - degree
-
53  // TODO: assert break_idx <= npoints + degree
-
54  return m_knots[break_idx + m_degree];
-
55  }
-
56 };
-
57 
-
58 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
Definition: bsplines_non_uniform.hpp:12
-
-
- - - - diff --git a/deprecated_2bsplines__uniform_8hpp_source.html b/deprecated_2bsplines__uniform_8hpp_source.html deleted file mode 100644 index 70412a216..000000000 --- a/deprecated_2bsplines__uniform_8hpp_source.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/bsplines_uniform.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
bsplines_uniform.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include "sll/deprecated/bsplines.hpp"
-
4 #include "sll/view.hpp"
-
5 
-
6 namespace deprecated {
-
7 
-
8 class UniformBSplines : public BSplines
-
9 {
-
10 private:
-
11  double m_inv_dx;
-
12 
-
13  double m_dx;
-
14 
-
15 public:
-
16  UniformBSplines() = delete;
-
17  UniformBSplines(int degree, bool periodic, double xmin, double xmax, int ncells);
-
18  UniformBSplines(const UniformBSplines& x) = delete;
-
19  UniformBSplines(UniformBSplines&& x) = delete;
-
20  virtual ~UniformBSplines() = default;
-
21  UniformBSplines& operator=(const UniformBSplines& x) = delete;
-
22  UniformBSplines& operator=(UniformBSplines&& x) = delete;
-
23  virtual inline void eval_basis(double x, DSpan1D& values, int& jmin) const override
-
24  {
-
25  return eval_basis(x, values, jmin, m_degree);
-
26  }
-
27  virtual void eval_deriv(double x, DSpan1D& derivs, int& jmin) const override;
-
28  virtual void eval_basis_and_n_derivs(double x, int n, DSpan2D& derivs, int& jmin)
-
29  const override;
-
30  virtual void integrals(DSpan1D& int_vals) const override;
-
31 
-
32  virtual double get_knot(int idx) const override
-
33  {
-
34  return m_xmin + idx * m_dx;
-
35  }
-
36 
-
37  bool is_uniform() const override;
-
38 
-
39 private:
-
40  void eval_basis(double x, DSpan1D& values, int& jmin, int degree) const;
-
41  void get_icell_and_offset(double x, int& icell, double& offset) const;
-
42 };
-
43 
-
44 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
Definition: bsplines_uniform.hpp:9
-
-
- - - - diff --git a/deprecated_2spline__builder__2d_8hpp_source.html b/deprecated_2spline__builder__2d_8hpp_source.html deleted file mode 100644 index e92d8a344..000000000 --- a/deprecated_2spline__builder__2d_8hpp_source.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_builder_2d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_builder_2d.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 #include <memory>
-
5 
-
6 #include "sll/view.hpp"
-
7 
-
8 #include "boundary_conditions.hpp"
-
9 
-
10 namespace deprecated {
-
11 class BSplines;
-
12 class Spline1D;
-
13 class Spline2D;
-
14 class SplineBuilder1D;
-
15 
- -
17 {
-
18  DSpan2D* derivs_x1_min = nullptr;
-
19  DSpan2D* derivs_x1_max = nullptr;
-
20  DSpan2D* derivs_x2_min = nullptr;
-
21  DSpan2D* derivs_x2_max = nullptr;
-
22  DSpan2D* mixed_derivs_a = nullptr;
-
23  DSpan2D* mixed_derivs_b = nullptr;
-
24  DSpan2D* mixed_derivs_c = nullptr;
-
25  DSpan2D* mixed_derivs_d = nullptr;
-
26 };
-
27 
- -
29 {
-
30 private:
-
31  const std::array<std::unique_ptr<const BSplines>, 2> bspl;
-
32  std::array<SplineBuilder1D, 2> interp_1d;
-
33  // TODO: Improve
-
34  std::array<Spline1D, 2> spline_1d;
-
35 
-
36 public:
-
37  const std::array<BoundCond, 2> m_xmin_bc;
-
38  const std::array<BoundCond, 2> m_xmax_bc;
-
39  const std::array<int, 2> m_nbc_xmin;
-
40  const std::array<int, 2> m_nbc_xmax;
-
41 
-
42 public:
-
43  SplineBuilder2D() = delete;
- -
45  std::array<std::unique_ptr<const BSplines>, 2> bspl,
-
46  std::array<BoundCond, 2> xmin_bc,
-
47  std::array<BoundCond, 2> xmax_bc);
-
48  SplineBuilder2D(const SplineBuilder2D& x) = delete;
-
49  SplineBuilder2D(SplineBuilder2D&& x) = delete;
-
50  ~SplineBuilder2D() = default;
-
51  SplineBuilder2D& operator=(const SplineBuilder2D& x) = delete;
-
52  SplineBuilder2D& operator=(SplineBuilder2D&& x) = delete;
-
53 
-
54  std::array<const DSpan1D, 2> get_interp_points() const;
-
55 
-
56  void compute_interpolant(
-
57  Spline2D const& spline,
-
58  DSpan2D const& vals,
-
59  Boundary_data_2d boundary_data) const;
-
60 
-
61  void compute_interpolant(Spline2D const& spline, DSpan2D const& vals) const;
-
62 
-
63  static std::array<int, 2> compute_num_cells(
-
64  std::array<int, 2> degree,
-
65  std::array<BoundCond, 2> xmin,
-
66  std::array<BoundCond, 2> xmax,
-
67  std::array<int, 2> nipts);
-
68 
-
69  std::array<BoundCond, 2> const& xmin_bc() const noexcept
-
70  {
-
71  return m_xmin_bc;
-
72  }
-
73 
-
74  std::array<BoundCond, 2> const& xmax_bc() const noexcept
-
75  {
-
76  return m_xmax_bc;
-
77  }
-
78 
-
79  std::array<int, 2> const& nbc_xmin() const noexcept
-
80  {
-
81  return m_nbc_xmin;
-
82  }
-
83 
-
84  std::array<int, 2> const& nbc_xmax() const noexcept
-
85  {
-
86  return m_nbc_xmax;
-
87  }
-
88 
-
89 private:
-
90  void compute_interpolant_boundary_done(Spline2D const& spline, DSpan2D const& vals) const;
-
91 };
-
92 
-
93 } // namespace deprecated
-
Definition: spline_2d.hpp:13
-
Definition: spline_builder_2d.hpp:29
-
Definition: spline_builder_2d.hpp:17
-
-
- - - - diff --git a/dir_040b90264b67cd95a975364a9a6adb0b.js b/dir_040b90264b67cd95a975364a9a6adb0b.js index 564e3af81..6755032d9 100644 --- a/dir_040b90264b67cd95a975364a9a6adb0b.js +++ b/dir_040b90264b67cd95a975364a9a6adb0b.js @@ -1,15 +1,8 @@ var dir_040b90264b67cd95a975364a9a6adb0b = [ - [ "deprecated", "dir_bf05ee1a50b262d9ca6db6046de9e516.html", "dir_bf05ee1a50b262d9ca6db6046de9e516" ], [ "mapping", "dir_401f8b249764c6753d0f677d3a20782c.html", "dir_401f8b249764c6753d0f677d3a20782c" ], [ "bernstein.hpp", "bernstein_8hpp_source.html", null ], - [ "bspline.hpp", "bspline_8hpp_source.html", null ], - [ "bsplines_non_uniform.hpp", "bsplines__non__uniform_8hpp_source.html", null ], - [ "bsplines_uniform.hpp", "bsplines__uniform_8hpp_source.html", null ], - [ "constant_extrapolation_boundary_value.hpp", "constant__extrapolation__boundary__value_8hpp_source.html", null ], [ "gauss_legendre_integration.hpp", "gauss__legendre__integration_8hpp_source.html", null ], - [ "greville_interpolation_points.hpp", "greville__interpolation__points_8hpp_source.html", null ], - [ "knots_as_interpolation_points.hpp", "knots__as__interpolation__points_8hpp_source.html", null ], [ "math_tools.hpp", "math__tools_8hpp_source.html", null ], [ "matrix.hpp", "matrix_8hpp_source.html", null ], [ "matrix_banded.hpp", "matrix__banded_8hpp_source.html", null ], @@ -18,15 +11,8 @@ var dir_040b90264b67cd95a975364a9a6adb0b = [ "matrix_dense.hpp", "matrix__dense_8hpp_source.html", null ], [ "matrix_pds_tridiag.hpp", "matrix__pds__tridiag_8hpp_source.html", null ], [ "matrix_periodic_banded.hpp", "matrix__periodic__banded_8hpp_source.html", null ], - [ "null_boundary_value.hpp", "null__boundary__value_8hpp_source.html", null ], [ "polar_bsplines.hpp", "polar__bsplines_8hpp_source.html", null ], [ "polar_spline.hpp", "polar__spline_8hpp_source.html", null ], [ "polar_spline_evaluator.hpp", "polar__spline__evaluator_8hpp_source.html", null ], - [ "spline_boundary_conditions.hpp", "spline__boundary__conditions_8hpp_source.html", null ], - [ "spline_boundary_value.hpp", "spline__boundary__value_8hpp_source.html", null ], - [ "spline_builder.hpp", "spline__builder_8hpp_source.html", null ], - [ "spline_builder_2d.hpp", "spline__builder__2d_8hpp_source.html", null ], - [ "spline_evaluator.hpp", "spline__evaluator_8hpp_source.html", null ], - [ "spline_evaluator_2d.hpp", "spline__evaluator__2d_8hpp_source.html", null ], [ "view.hpp", "view_8hpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_7702757503aa2c0657bebaab467f2eaa.js b/dir_7702757503aa2c0657bebaab467f2eaa.js index 4744ad062..7a94c06dd 100644 --- a/dir_7702757503aa2c0657bebaab467f2eaa.js +++ b/dir_7702757503aa2c0657bebaab467f2eaa.js @@ -3,6 +3,5 @@ var dir_7702757503aa2c0657bebaab467f2eaa = [ "cosine_evaluator.hpp", "cosine__evaluator_8hpp_source.html", null ], [ "evaluator_2d.hpp", "evaluator__2d_8hpp_source.html", null ], [ "polynomial_evaluator.hpp", "polynomial__evaluator_8hpp_source.html", null ], - [ "spline_error_bounds.hpp", "spline__error__bounds_8hpp_source.html", null ], [ "test_utils.hpp", "test__utils_8hpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_bf05ee1a50b262d9ca6db6046de9e516.html b/dir_bf05ee1a50b262d9ca6db6046de9e516.html deleted file mode 100644 index 0cca92128..000000000 --- a/dir_bf05ee1a50b262d9ca6db6046de9e516.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated Directory Reference - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
deprecated Directory Reference
-
-
-
-
- - - - diff --git a/dir_bf05ee1a50b262d9ca6db6046de9e516.js b/dir_bf05ee1a50b262d9ca6db6046de9e516.js deleted file mode 100644 index 3dd8765c3..000000000 --- a/dir_bf05ee1a50b262d9ca6db6046de9e516.js +++ /dev/null @@ -1,11 +0,0 @@ -var dir_bf05ee1a50b262d9ca6db6046de9e516 = -[ - [ "boundary_conditions.hpp", "boundary__conditions_8hpp_source.html", null ], - [ "bsplines.hpp", "bsplines_8hpp_source.html", null ], - [ "bsplines_non_uniform.hpp", "deprecated_2bsplines__non__uniform_8hpp_source.html", null ], - [ "bsplines_uniform.hpp", "deprecated_2bsplines__uniform_8hpp_source.html", null ], - [ "spline_1d.hpp", "spline__1d_8hpp_source.html", null ], - [ "spline_2d.hpp", "spline__2d_8hpp_source.html", null ], - [ "spline_builder_1d.hpp", "spline__builder__1d_8hpp_source.html", null ], - [ "spline_builder_2d.hpp", "deprecated_2spline__builder__2d_8hpp_source.html", null ] -]; \ No newline at end of file diff --git a/discrete__mapping__to__cartesian_8hpp_source.html b/discrete__mapping__to__cartesian_8hpp_source.html index dc6d9bbc8..9fc572ad4 100644 --- a/discrete__mapping__to__cartesian_8hpp_source.html +++ b/discrete__mapping__to__cartesian_8hpp_source.html @@ -106,253 +106,252 @@
1 #pragma once
2 
3 #include <ddc/ddc.hpp>
-
4 
-
5 #include <sll/mapping/curvilinear2d_to_cartesian.hpp>
-
6 #include <sll/null_boundary_value.hpp>
-
7 #include <sll/spline_builder_2d.hpp>
-
8 #include <sll/spline_evaluator_2d.hpp>
-
9 
-
10 
-
25 template <class DimX, class DimY, class SplineBuilder>
- -
27  : public Curvilinear2DToCartesian<
-
28  DimX,
-
29  DimY,
-
30  typename SplineBuilder::bsplines_type1::tag_type,
-
31  typename SplineBuilder::bsplines_type2::tag_type>
-
32 {
-
33 public:
-
37  using BSplineR = typename SplineBuilder::bsplines_type1;
-
41  using BSplineP = typename SplineBuilder::bsplines_type2;
-
42 
-
46  using cartesian_tag_x = DimX;
-
50  using cartesian_tag_y = DimY;
-
54  using circular_tag_r = typename BSplineR::tag_type;
-
58  using circular_tag_p = typename BSplineP::tag_type;
-
59 
-
63  using IDimR = typename SplineBuilder::interpolation_mesh_type1;
-
64 
-
68  using IDimP = typename SplineBuilder::interpolation_mesh_type2;
-
69 
-
73  using Matrix_2x2 = std::array<std::array<double, 2>, 2>;
-
74 
-
75 private:
-
76  using interpolation_domain = typename SplineBuilder::interpolation_domain_type;
-
77  using spline_domain = ddc::DiscreteDomain<BSplineR, BSplineP>;
-
78 
-
79 private:
-
80  ddc::Chunk<double, spline_domain> x_spline_representation;
-
81  ddc::Chunk<double, spline_domain> y_spline_representation;
-
82  SplineEvaluator2D<BSplineR, BSplineP> const& spline_evaluator;
-
83 
-
84 public:
- -
113  ddc::Chunk<double, spline_domain>&& curvilinear_to_x,
-
114  ddc::Chunk<double, spline_domain>&& curvilinear_to_y,
-
115  SplineEvaluator2D<BSplineR, BSplineP> const& evaluator)
-
116  : x_spline_representation(std::move(curvilinear_to_x))
-
117  , y_spline_representation(std::move(curvilinear_to_y))
-
118  , spline_evaluator(evaluator)
-
119  {
-
120  }
-
121 
-
135  ddc::Coordinate<DimX, DimY> operator()(
-
136  ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
-
137  {
-
138  const double x = spline_evaluator(coord, x_spline_representation);
-
139  const double y = spline_evaluator(coord, y_spline_representation);
-
140  return ddc::Coordinate<DimX, DimY>(x, y);
-
141  }
-
142 
- -
162  ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord,
-
163  Matrix_2x2& matrix) const final
-
164  {
-
165  matrix[0][0] = spline_evaluator.deriv_dim_1(coord, x_spline_representation);
-
166  matrix[0][1] = spline_evaluator.deriv_dim_2(coord, x_spline_representation);
-
167  matrix[1][0] = spline_evaluator.deriv_dim_1(coord, y_spline_representation);
-
168  matrix[1][1] = spline_evaluator.deriv_dim_2(coord, y_spline_representation);
-
169  }
-
170 
-
187  double jacobian_11(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
-
188  {
-
189  return spline_evaluator.deriv_dim_1(coord, x_spline_representation);
-
190  }
-
191 
-
208  double jacobian_12(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
-
209  {
-
210  return spline_evaluator.deriv_dim_2(coord, x_spline_representation);
-
211  }
-
212 
-
229  double jacobian_21(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
-
230  {
-
231  return spline_evaluator.deriv_dim_1(coord, y_spline_representation);
-
232  }
-
233 
-
250  double jacobian_22(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
-
251  {
-
252  return spline_evaluator.deriv_dim_2(coord, y_spline_representation);
-
253  }
-
254 
-
255 
-
256 
- -
303  ddc::DiscreteDomain<IDimR, IDimP> const& grid,
-
304  Matrix_2x2& matrix) const
-
305  {
-
306  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
-
307 
-
308  matrix[0][0] = 0;
-
309  matrix[0][1] = 0;
-
310  matrix[1][0] = 0;
-
311  matrix[1][1] = 0;
-
312 
-
313  // Average the values at (r = 0, theta):
-
314  ddc::for_each(theta_domain, [&](auto const ip) {
-
315  const double th = ddc::coordinate(ip);
-
316  ddc::Coordinate<circular_tag_r, circular_tag_p> const coord(0, th);
-
317  double const deriv_1_x = spline_evaluator.deriv_dim_1(coord, x_spline_representation);
-
318  double const deriv_1_2_x
-
319  = spline_evaluator.deriv_1_and_2(coord, x_spline_representation);
-
320  double const deriv_1_y = spline_evaluator.deriv_dim_1(coord, y_spline_representation);
-
321  double const deriv_1_2_y
-
322  = spline_evaluator.deriv_1_and_2(coord, y_spline_representation);
-
323 
-
324  // Matrix from pseudo-Cart domain to physical domain by logical domain
-
325  double const j11 = deriv_1_x * std::cos(th) - deriv_1_2_x * std::sin(th);
-
326  double const j12 = deriv_1_x * std::sin(th) + deriv_1_2_x * std::cos(th);
-
327  double const j21 = deriv_1_y * std::cos(th) - deriv_1_2_y * std::sin(th);
-
328  double const j22 = deriv_1_y * std::sin(th) + deriv_1_2_y * std::cos(th);
-
329 
-
330  double const jacobian = j11 * j22 - j12 * j21;
-
331  // Matrix from physical domain to pseudo_cart domain by logical domain
-
332  if (fabs(jacobian) <= 1e-16) {
-
333  std::cout << "WARNING! - Non invertible Jacobian matrix. ((r, theta) = (0, " << th
-
334  << "))" << std::endl;
-
335  }
-
336  assert(fabs(jacobian) >= 1e-16);
-
337 
-
338  matrix[0][0] += j22 / jacobian;
-
339  matrix[0][1] += -j12 / jacobian;
-
340  matrix[1][0] += -j21 / jacobian;
-
341  matrix[1][1] += j11 / jacobian;
-
342  });
-
343 
-
344  int const theta_size = theta_domain.size();
-
345  matrix[0][0] /= theta_size;
-
346  matrix[0][1] /= theta_size;
-
347  matrix[1][0] /= theta_size;
-
348  matrix[1][1] /= theta_size;
-
349  }
-
350 
-
351 
- -
363  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
364  {
- - -
367  return jacobian[0][0];
-
368  }
-
369 
-
370 
- -
382  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
383  {
- - -
386  return jacobian[0][1];
-
387  }
-
388 
-
389 
- -
401  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
402  {
- - -
405  return jacobian[1][0];
-
406  }
-
407 
-
408 
- -
420  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
421  {
-
422  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
-
423 
- - -
426  return jacobian[1][1];
-
427  }
+
4 #include <ddc/kernels/splines.hpp>
+
5 
+
6 #include <sll/mapping/curvilinear2d_to_cartesian.hpp>
+
7 
+
8 
+
23 template <class DimX, class DimY, class SplineBuilder, class SplineEvaluator>
+ +
25  : public Curvilinear2DToCartesian<
+
26  DimX,
+
27  DimY,
+
28  typename SplineBuilder::bsplines_type1::tag_type,
+
29  typename SplineBuilder::bsplines_type2::tag_type>
+
30 {
+
31 public:
+
35  using BSplineR = typename SplineBuilder::bsplines_type1;
+
39  using BSplineP = typename SplineBuilder::bsplines_type2;
+
40 
+
44  using cartesian_tag_x = DimX;
+
48  using cartesian_tag_y = DimY;
+
52  using circular_tag_r = typename BSplineR::tag_type;
+
56  using circular_tag_p = typename BSplineP::tag_type;
+
57 
+
61  using IDimR = typename SplineBuilder::interpolation_mesh_type1;
+
62 
+
66  using IDimP = typename SplineBuilder::interpolation_mesh_type2;
+
67 
+
71  using Matrix_2x2 = std::array<std::array<double, 2>, 2>;
+
72 
+
73 private:
+
74  using interpolation_domain = typename SplineBuilder::interpolation_domain_type;
+
75  using spline_domain = ddc::DiscreteDomain<BSplineR, BSplineP>;
+
76 
+
77  using SplineType = ddc::Chunk<
+
78  double,
+
79  spline_domain,
+
80  ddc::KokkosAllocator<double, typename SplineBuilder::memory_space>>;
+
81 
+
82 private:
+
83  SplineType x_spline_representation;
+
84  SplineType y_spline_representation;
+
85  SplineEvaluator const& spline_evaluator;
+
86 
+
87 public:
+ +
116  SplineType&& curvilinear_to_x,
+
117  SplineType&& curvilinear_to_y,
+
118  SplineEvaluator const& evaluator)
+
119  : x_spline_representation(std::move(curvilinear_to_x))
+
120  , y_spline_representation(std::move(curvilinear_to_y))
+
121  , spline_evaluator(evaluator)
+
122  {
+
123  }
+
124 
+
138  ddc::Coordinate<DimX, DimY> operator()(
+
139  ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
+
140  {
+
141  const double x = spline_evaluator(coord, x_spline_representation.span_cview());
+
142  const double y = spline_evaluator(coord, y_spline_representation.span_cview());
+
143  return ddc::Coordinate<DimX, DimY>(x, y);
+
144  }
+
145 
+ +
165  ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord,
+
166  Matrix_2x2& matrix) const final
+
167  {
+
168  matrix[0][0] = spline_evaluator.deriv_dim_1(coord, x_spline_representation.span_cview());
+
169  matrix[0][1] = spline_evaluator.deriv_dim_2(coord, x_spline_representation.span_cview());
+
170  matrix[1][0] = spline_evaluator.deriv_dim_1(coord, y_spline_representation.span_cview());
+
171  matrix[1][1] = spline_evaluator.deriv_dim_2(coord, y_spline_representation.span_cview());
+
172  }
+
173 
+
190  double jacobian_11(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
+
191  {
+
192  return spline_evaluator.deriv_dim_1(coord, x_spline_representation.span_cview());
+
193  }
+
194 
+
211  double jacobian_12(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
+
212  {
+
213  return spline_evaluator.deriv_dim_2(coord, x_spline_representation.span_cview());
+
214  }
+
215 
+
232  double jacobian_21(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
+
233  {
+
234  return spline_evaluator.deriv_dim_1(coord, y_spline_representation.span_cview());
+
235  }
+
236 
+
253  double jacobian_22(ddc::Coordinate<circular_tag_r, circular_tag_p> const& coord) const final
+
254  {
+
255  return spline_evaluator.deriv_dim_2(coord, y_spline_representation.span_cview());
+
256  }
+
257 
+
258 
+
259 
+ +
306  ddc::DiscreteDomain<IDimR, IDimP> const& grid,
+
307  Matrix_2x2& matrix) const
+
308  {
+
309  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
+
310 
+
311  matrix[0][0] = 0;
+
312  matrix[0][1] = 0;
+
313  matrix[1][0] = 0;
+
314  matrix[1][1] = 0;
+
315 
+
316  // Average the values at (r = 0, theta):
+
317  ddc::for_each(theta_domain, [&](auto const ip) {
+
318  const double th = ddc::coordinate(ip);
+
319  ddc::Coordinate<circular_tag_r, circular_tag_p> const coord(0, th);
+
320  double const deriv_1_x
+
321  = spline_evaluator.deriv_dim_1(coord, x_spline_representation.span_cview());
+
322  double const deriv_1_2_x
+
323  = spline_evaluator.deriv_1_and_2(coord, x_spline_representation.span_cview());
+
324  double const deriv_1_y
+
325  = spline_evaluator.deriv_dim_1(coord, y_spline_representation.span_cview());
+
326  double const deriv_1_2_y
+
327  = spline_evaluator.deriv_1_and_2(coord, y_spline_representation.span_cview());
+
328 
+
329  // Matrix from pseudo-Cart domain to physical domain by logical domain
+
330  double const j11 = deriv_1_x * std::cos(th) - deriv_1_2_x * std::sin(th);
+
331  double const j12 = deriv_1_x * std::sin(th) + deriv_1_2_x * std::cos(th);
+
332  double const j21 = deriv_1_y * std::cos(th) - deriv_1_2_y * std::sin(th);
+
333  double const j22 = deriv_1_y * std::sin(th) + deriv_1_2_y * std::cos(th);
+
334 
+
335  double const jacobian = j11 * j22 - j12 * j21;
+
336  // Matrix from physical domain to pseudo_cart domain by logical domain
+
337  if (fabs(jacobian) <= 1e-16) {
+
338  std::cout << "WARNING! - Non invertible Jacobian matrix. ((r, theta) = (0, " << th
+
339  << "))" << std::endl;
+
340  }
+
341  assert(fabs(jacobian) >= 1e-16);
+
342 
+
343  matrix[0][0] += j22 / jacobian;
+
344  matrix[0][1] += -j12 / jacobian;
+
345  matrix[1][0] += -j21 / jacobian;
+
346  matrix[1][1] += j11 / jacobian;
+
347  });
+
348 
+
349  int const theta_size = theta_domain.size();
+
350  matrix[0][0] /= theta_size;
+
351  matrix[0][1] /= theta_size;
+
352  matrix[1][0] /= theta_size;
+
353  matrix[1][1] /= theta_size;
+
354  }
+
355 
+
356 
+ +
368  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
369  {
+ + +
372  return jacobian[0][0];
+
373  }
+
374 
+
375 
+ +
387  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
388  {
+ + +
391  return jacobian[0][1];
+
392  }
+
393 
+
394 
+ +
406  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
407  {
+ + +
410  return jacobian[1][0];
+
411  }
+
412 
+
413 
+ +
425  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
426  {
+
427  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
428 
-
429 
-
430 
-
459  inline const ddc::Coordinate<DimX, DimY> control_point(
-
460  ddc::DiscreteElement<BSplineR, BSplineP> const& el) const
-
461  {
-
462  return ddc::
-
463  Coordinate<DimX, DimY>(x_spline_representation(el), y_spline_representation(el));
-
464  }
-
465 
-
466 
-
482  template <class Mapping, class Builder2D, class Evaluator2D>
- -
484  Mapping const& analytical_mapping,
-
485  Builder2D const& builder,
-
486  Evaluator2D const& evaluator)
-
487  {
-
488  using Domain = typename Builder2D::interpolation_domain_type;
-
489  ddc::Chunk<double, spline_domain> curvilinear_to_x_spline(builder.spline_domain());
-
490  ddc::Chunk<double, spline_domain> curvilinear_to_y_spline(builder.spline_domain());
-
491  ddc::Chunk<double, Domain> curvilinear_to_x_vals(builder.interpolation_domain());
-
492  ddc::Chunk<double, Domain> curvilinear_to_y_vals(builder.interpolation_domain());
-
493  ddc::for_each(
-
494  builder.interpolation_domain(),
-
495  [&](typename Domain::discrete_element_type const& el) {
-
496  ddc::Coordinate<circular_tag_r, circular_tag_p> polar_coord(
-
497  ddc::coordinate(el));
-
498  ddc::Coordinate<DimX, DimY> cart_coord = analytical_mapping(polar_coord);
-
499  curvilinear_to_x_vals(el) = ddc::select<DimX>(cart_coord);
-
500  curvilinear_to_y_vals(el) = ddc::select<DimY>(cart_coord);
-
501  });
-
502  builder(curvilinear_to_x_spline, curvilinear_to_x_vals);
-
503  builder(curvilinear_to_y_spline, curvilinear_to_y_vals);
-
504  return DiscreteToCartesian(
-
505  std::move(curvilinear_to_x_spline),
-
506  std::move(curvilinear_to_y_spline),
-
507  evaluator);
-
508  }
-
509 };
+ + +
431  return jacobian[1][1];
+
432  }
+
433 
+
434 
+
435 
+
464  inline const ddc::Coordinate<DimX, DimY> control_point(
+
465  ddc::DiscreteElement<BSplineR, BSplineP> const& el) const
+
466  {
+
467  return ddc::
+
468  Coordinate<DimX, DimY>(x_spline_representation(el), y_spline_representation(el));
+
469  }
+
470 
+
471 
+
489  template <class Mapping>
+ +
491  Mapping const& analytical_mapping,
+
492  SplineBuilder const& builder,
+
493  SplineEvaluator const& evaluator)
+
494  {
+
495  using Domain = typename SplineBuilder::interpolation_domain_type;
+
496  SplineType curvilinear_to_x_spline(builder.spline_domain());
+
497  SplineType curvilinear_to_y_spline(builder.spline_domain());
+
498  ddc::Chunk<double, Domain> curvilinear_to_x_vals(builder.interpolation_domain());
+
499  ddc::Chunk<double, Domain> curvilinear_to_y_vals(builder.interpolation_domain());
+
500  ddc::for_each(
+
501  builder.interpolation_domain(),
+
502  [&](typename Domain::discrete_element_type const& el) {
+
503  ddc::Coordinate<circular_tag_r, circular_tag_p> polar_coord(
+
504  ddc::coordinate(el));
+
505  ddc::Coordinate<DimX, DimY> cart_coord = analytical_mapping(polar_coord);
+
506  curvilinear_to_x_vals(el) = ddc::select<DimX>(cart_coord);
+
507  curvilinear_to_y_vals(el) = ddc::select<DimY>(cart_coord);
+
508  });
+
509  builder(curvilinear_to_x_spline.span_view(), curvilinear_to_x_vals.span_cview());
+
510  builder(curvilinear_to_y_spline.span_view(), curvilinear_to_y_vals.span_cview());
+
511  return DiscreteToCartesian(
+
512  std::move(curvilinear_to_x_spline),
+
513  std::move(curvilinear_to_y_spline),
+
514  evaluator);
+
515  }
+
516 };
A class for describing curvilinear 2D mappings from the logical domain to the physical domain.
Definition: curvilinear2d_to_cartesian.hpp:15
virtual double jacobian(ddc::Coordinate< SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type > const &coord) const
Compute the Jacobian, the determinant of the Jacobian matrix of the mapping.
Definition: curvilinear2d_to_cartesian.hpp:106
-
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:32
-
DimX cartesian_tag_x
Indicate the first physical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:46
-
double to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:400
-
ddc::Coordinate< DimX, DimY > operator()(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the physical coordinates from the logical coordinates.
Definition: discrete_mapping_to_cartesian.hpp:135
-
typename SplineBuilder::interpolation_mesh_type2 IDimP
Indicate the second logical coordinate in the discrete space.
Definition: discrete_mapping_to_cartesian.hpp:68
-
double to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:419
-
const ddc::Coordinate< DimX, DimY > control_point(ddc::DiscreteElement< BSplineR, BSplineP > const &el) const
Get a control point of the mapping on B-splines.
Definition: discrete_mapping_to_cartesian.hpp:459
-
DimY cartesian_tag_y
Indicate the second physical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:50
-
void jacobian_matrix(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:161
-
typename SplineBuilder::bsplines_type1 BSplineR
Indicate the bspline type of the first logical dimension.
Definition: discrete_mapping_to_cartesian.hpp:37
-
typename BSplineR::tag_type circular_tag_r
Indicate the first logical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:54
-
static DiscreteToCartesian analytical_to_discrete(Mapping const &analytical_mapping, Builder2D const &builder, Evaluator2D const &evaluator)
Define a DiscreteToCartesian mapping from an analytical mapping.
Definition: discrete_mapping_to_cartesian.hpp:483
-
typename SplineBuilder::bsplines_type2 BSplineP
Indicate the bspline type of the second logical dimension.
Definition: discrete_mapping_to_cartesian.hpp:41
-
double to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:362
-
double jacobian_22(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:250
-
void to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
Definition: discrete_mapping_to_cartesian.hpp:302
-
double jacobian_21(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:229
-
double to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:381
-
double jacobian_12(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:208
-
typename BSplineP::tag_type circular_tag_p
Indicate the second logical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:58
-
DiscreteToCartesian(ddc::Chunk< double, spline_domain > &&curvilinear_to_x, ddc::Chunk< double, spline_domain > &&curvilinear_to_y, SplineEvaluator2D< BSplineR, BSplineP > const &evaluator)
Instantiate a DiscreteToCartesian from the coefficients of 2D splines approximating the mapping.
Definition: discrete_mapping_to_cartesian.hpp:112
-
double jacobian_11(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:187
-
typename SplineBuilder::interpolation_mesh_type1 IDimR
Indicate the first logical coordinate in the discrete space.
Definition: discrete_mapping_to_cartesian.hpp:63
-
std::array< std::array< double, 2 >, 2 > Matrix_2x2
Define a 2x2 matrix with an 2D array of an 2D array.
Definition: discrete_mapping_to_cartesian.hpp:73
-
ddc::DiscreteDomain< interpolation_mesh_type > interpolation_domain_type
The type of the domain for the interpolation mesh used by this class.
Definition: spline_builder.hpp:67
- -
double deriv_dim_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the derivative of the second dimension of the function on B-splines at the coordinat...
Definition: spline_evaluator_2d.hpp:221
-
double deriv_1_and_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the cross derivative of the function on B-splines at the coordinate given.
Definition: spline_evaluator_2d.hpp:251
-
double deriv_dim_1(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the derivative of the first dimension of the function on B-splines at the coordinate...
Definition: spline_evaluator_2d.hpp:191
-
Definition: evaluator_2d.hpp:6
+
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:30
+
DimX cartesian_tag_x
Indicate the first physical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:44
+
double to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:367
+
void to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
Definition: discrete_mapping_to_cartesian.hpp:305
+
typename BSplineP::tag_type circular_tag_p
Indicate the second logical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:56
+
void jacobian_matrix(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:164
+
double jacobian_22(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:253
+
static DiscreteToCartesian analytical_to_discrete(Mapping const &analytical_mapping, SplineBuilder const &builder, SplineEvaluator const &evaluator)
Define a DiscreteToCartesian mapping from an analytical mapping.
Definition: discrete_mapping_to_cartesian.hpp:490
+
double jacobian_12(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:211
+
DimY cartesian_tag_y
Indicate the second physical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:48
+
typename SplineBuilder::bsplines_type2 BSplineP
Indicate the bspline type of the second logical dimension.
Definition: discrete_mapping_to_cartesian.hpp:39
+
const ddc::Coordinate< DimX, DimY > control_point(ddc::DiscreteElement< BSplineR, BSplineP > const &el) const
Get a control point of the mapping on B-splines.
Definition: discrete_mapping_to_cartesian.hpp:464
+
double to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:386
+
typename SplineBuilder::interpolation_mesh_type2 IDimP
Indicate the second logical coordinate in the discrete space.
Definition: discrete_mapping_to_cartesian.hpp:66
+
typename SplineBuilder::interpolation_mesh_type1 IDimR
Indicate the first logical coordinate in the discrete space.
Definition: discrete_mapping_to_cartesian.hpp:61
+
double jacobian_11(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:190
+
typename BSplineR::tag_type circular_tag_r
Indicate the first logical coordinate.
Definition: discrete_mapping_to_cartesian.hpp:52
+
double jacobian_21(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:232
+
typename SplineBuilder::bsplines_type1 BSplineR
Indicate the bspline type of the first logical dimension.
Definition: discrete_mapping_to_cartesian.hpp:35
+
ddc::Coordinate< DimX, DimY > operator()(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the physical coordinates from the logical coordinates.
Definition: discrete_mapping_to_cartesian.hpp:138
+
double to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:405
+
DiscreteToCartesian(SplineType &&curvilinear_to_x, SplineType &&curvilinear_to_y, SplineEvaluator const &evaluator)
Instantiate a DiscreteToCartesian from the coefficients of 2D splines approximating the mapping.
Definition: discrete_mapping_to_cartesian.hpp:115
+
std::array< std::array< double, 2 >, 2 > Matrix_2x2
Define a 2x2 matrix with an 2D array of an 2D array.
Definition: discrete_mapping_to_cartesian.hpp:71
+
double to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: discrete_mapping_to_cartesian.hpp:424
diff --git a/docs_DDC_in_gyselalibxx.html b/docs_DDC_in_gyselalibxx.html index d518e86e4..9d9e33549 100644 --- a/docs_DDC_in_gyselalibxx.html +++ b/docs_DDC_in_gyselalibxx.html @@ -241,10 +241,10 @@

struct RDimVx {
static bool constexpr PERIODIC = false;
}
-
Define non periodic real X velocity dimension.
Definition: geometry.hpp:446
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:451
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:440
+
Define non periodic real X velocity dimension.
Definition: geometry.hpp:525
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:530
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:519

We also need types to define the discrete domain on which the simulation will evolve. The distribution function \(f_s(t,x,v)\) will evolve over the discrete domain \([i, e]\times[x_0,...,x_N]\times[v_0,...,v_{N_v}]\). Point samplings are required to define the positions of the grid points in each of the three dimensions:

  • The object \([x_0,...,x_N]\) is defined with a point sampling and will be denoted \(IDimX\).
  • The object \([v_0,...,v_{N_v}]\) is defined with a point sampling and will be denoted \(IDimVx\).
  • diff --git a/files.html b/files.html index b6bfb9561..c9b52fd18 100644 --- a/files.html +++ b/files.html @@ -252,56 +252,33 @@

  sll
  include
  tests
diff --git a/geometryRTheta_2geometry_2geometry_8hpp_source.html b/geometryRTheta_2geometry_2geometry_8hpp_source.html index 26e4517b6..8c76e4d02 100644 --- a/geometryRTheta_2geometry_2geometry_8hpp_source.html +++ b/geometryRTheta_2geometry_2geometry_8hpp_source.html @@ -106,924 +106,989 @@
1 #pragma once
2 
3 #include <ddc/ddc.hpp>
-
4 
-
5 #include <sll/bsplines_non_uniform.hpp>
-
6 #include <sll/bsplines_uniform.hpp>
-
7 #include <sll/greville_interpolation_points.hpp>
-
8 #include <sll/null_boundary_value.hpp>
-
9 #include <sll/polar_bsplines.hpp>
-
10 #include <sll/spline_builder.hpp>
-
11 #include <sll/spline_builder_2d.hpp>
-
12 #include <sll/spline_evaluator.hpp>
-
13 #include <sll/spline_evaluator_2d.hpp>
-
14 
-
15 #include <directional_tag.hpp>
-
16 #include <species_info.hpp>
-
17 #include <vector_field.hpp>
-
18 #include <vector_field_span.hpp>
-
19 
-
20 
-
21 /*
-
22  * @file geometry.hpp
-
23  *
-
24  * Definition of
-
25  * - @f$ r@f$, @f$ \theta@f$, @f$(r, \theta)@f$ dimensions.
-
26  * - @f$x@f$, @f$y@f$, @f$(x, y)@f$ dimensions.
-
27  */
-
28 
-
29 
-
30 
-
34 struct RDimR
-
35 {
-
40  static bool constexpr PERIODIC = false;
-
41 };
-
45 struct RDimP
-
46 {
-
51  static bool constexpr PERIODIC = true;
-
52 };
+
4 #include <ddc/kernels/splines.hpp>
+
5 
+
6 #include <sll/polar_bsplines.hpp>
+
7 
+
8 #include <directional_tag.hpp>
+
9 #include <species_info.hpp>
+
10 #include <vector_field.hpp>
+
11 #include <vector_field_span.hpp>
+
12 
+
13 
+
14 /*
+
15  * @file geometry.hpp
+
16  *
+
17  * Definition of
+
18  * - @f$ r@f$, @f$ \theta@f$, @f$(r, \theta)@f$ dimensions.
+
19  * - @f$x@f$, @f$y@f$, @f$(x, y)@f$ dimensions.
+
20  */
+
21 
+
22 
+
23 
+
27 struct RDimR
+
28 {
+
33  static bool constexpr PERIODIC = false;
+
34 };
+
38 struct RDimP
+
39 {
+
44  static bool constexpr PERIODIC = true;
+
45 };
+
46 
+
47 using CoordR = ddc::Coordinate<RDimR>;
+
48 using CoordP = ddc::Coordinate<RDimP>;
+
49 using CoordRP = ddc::Coordinate<RDimR, RDimP>;
+
50 
+
51 int constexpr BSDegreeR = 3;
+
52 int constexpr BSDegreeP = 3;
53 
-
54 using CoordR = ddc::Coordinate<RDimR>;
-
55 using CoordP = ddc::Coordinate<RDimP>;
-
56 using CoordRP = ddc::Coordinate<RDimR, RDimP>;
-
57 
-
58 int constexpr BSDegreeR = 3;
-
59 int constexpr BSDegreeP = 3;
-
60 
-
61 bool constexpr BsplineOnUniformCellsR = false;
-
62 bool constexpr BsplineOnUniformCellsP = false;
-
63 
-
64 using BSplinesR = std::conditional_t<
-
65  BsplineOnUniformCellsR,
- - -
68 using BSplinesP = std::conditional_t<
-
69  BsplineOnUniformCellsP,
- - - -
73 
-
74 auto constexpr SplineRBoundary = RDimR::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
75 auto constexpr SplinePBoundary = RDimP::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
76 
-
77 bool constexpr UniformMeshR = is_spline_interpolation_mesh_uniform(
-
78  BsplineOnUniformCellsR,
-
79  SplineRBoundary,
-
80  SplineRBoundary,
-
81  BSDegreeR);
-
82 bool constexpr UniformMeshP = is_spline_interpolation_mesh_uniform(
-
83  BsplineOnUniformCellsP,
-
84  SplinePBoundary,
-
85  SplinePBoundary,
-
86  BSDegreeP);
-
87 
-
88 using IDimR = std::conditional_t<
-
89  UniformMeshR,
-
90  ddc::UniformPointSampling<RDimR>,
-
91  ddc::NonUniformPointSampling<RDimR>>;
-
92 using IDimP = std::conditional_t<
-
93  UniformMeshP,
-
94  ddc::UniformPointSampling<RDimP>,
-
95  ddc::NonUniformPointSampling<RDimP>>;
-
96 
- - - - -
101 
- - - -
105 
- -
107 
-
108 using BSDomainR = ddc::DiscreteDomain<BSplinesR>;
-
109 using BSDomainP = ddc::DiscreteDomain<BSplinesP>;
-
110 using BSDomainRP = ddc::DiscreteDomain<BSplinesR, BSplinesP>;
-
111 using BSDomainPolar = ddc::DiscreteDomain<PolarBSplinesRP>;
-
112 
-
113 using IndexR = ddc::DiscreteElement<IDimR>;
-
114 using IndexP = ddc::DiscreteElement<IDimP>;
-
115 using IndexRP = ddc::DiscreteElement<IDimR, IDimP>;
-
116 
-
117 using IVectR = ddc::DiscreteVector<IDimR>;
-
118 using IVectP = ddc::DiscreteVector<IDimP>;
-
119 using IVectRP = ddc::DiscreteVector<IDimR, IDimP>;
-
120 
-
121 using IDomainR = ddc::DiscreteDomain<IDimR>;
-
122 using IDomainP = ddc::DiscreteDomain<IDimP>;
-
123 using IDomainRP = ddc::DiscreteDomain<IDimR, IDimP>;
-
124 
-
125 
-
126 template <class ElementType>
-
127 using FieldR = ddc::Chunk<ElementType, IDomainR>;
-
128 
-
129 template <class ElementType>
-
130 using FieldP = ddc::Chunk<ElementType, IDomainP>;
-
131 
-
132 template <class ElementType>
-
133 using FieldRP = ddc::Chunk<ElementType, IDomainRP>;
-
134 
-
135 
-
136 using DFieldR = FieldR<double>;
-
137 using DFieldP = FieldP<double>;
-
138 using DFieldRP = FieldRP<double>;
-
139 
-
140 
-
141 template <class ElementType>
-
142 using SpanR = ddc::ChunkSpan<ElementType, IDomainR>;
-
143 
-
144 template <class ElementType>
-
145 using SpanP = ddc::ChunkSpan<ElementType, IDomainP>;
-
146 
-
147 template <class ElementType>
-
148 using SpanRP = ddc::ChunkSpan<ElementType, IDomainRP>;
-
149 
-
150 
-
151 using DSpanR = SpanR<double>;
-
152 using DSpanP = SpanP<double>;
-
153 using DSpanRP = SpanRP<double>;
-
154 
+
54 bool constexpr BsplineOnUniformCellsR = false;
+
55 bool constexpr BsplineOnUniformCellsP = false;
+
56 
+
57 using BSplinesR = std::conditional_t<
+
58  BsplineOnUniformCellsR,
+
59  ddc::UniformBSplines<RDimR, BSDegreeR>,
+
60  ddc::NonUniformBSplines<RDimR, BSDegreeR>>;
+
61 using BSplinesP = std::conditional_t<
+
62  BsplineOnUniformCellsP,
+
63  ddc::UniformBSplines<RDimP, BSDegreeP>,
+
64  ddc::NonUniformBSplines<RDimP, BSDegreeP>>;
+ +
66 
+
67 auto constexpr SplineRBoundary = ddc::BoundCond::GREVILLE;
+
68 auto constexpr SplinePBoundary = ddc::BoundCond::PERIODIC;
+
69 
+
70 bool constexpr UniformMeshR = ddc::is_spline_interpolation_mesh_uniform(
+
71  BsplineOnUniformCellsR,
+
72  SplineRBoundary,
+
73  SplineRBoundary,
+
74  BSDegreeR);
+
75 bool constexpr UniformMeshP = ddc::is_spline_interpolation_mesh_uniform(
+
76  BsplineOnUniformCellsP,
+
77  SplinePBoundary,
+
78  SplinePBoundary,
+
79  BSDegreeP);
+
80 
+
81 using IDimR = std::conditional_t<
+
82  UniformMeshR,
+
83  ddc::UniformPointSampling<RDimR>,
+
84  ddc::NonUniformPointSampling<RDimR>>;
+
85 using IDimP = std::conditional_t<
+
86  UniformMeshP,
+
87  ddc::UniformPointSampling<RDimP>,
+
88  ddc::NonUniformPointSampling<RDimP>>;
+
89 
+
90 using SplineInterpPointsR
+
91  = ddc::GrevilleInterpolationPoints<BSplinesR, SplineRBoundary, SplineRBoundary>;
+
92 using SplineInterpPointsP
+
93  = ddc::GrevilleInterpolationPoints<BSplinesP, SplinePBoundary, SplinePBoundary>;
+
94 
+
95 using SplineRBuilder = ddc::SplineBuilder<
+
96  Kokkos::DefaultHostExecutionSpace,
+
97  Kokkos::DefaultHostExecutionSpace::memory_space,
+
98  BSplinesR,
+
99  IDimR,
+
100  SplineRBoundary, // boundary at r=0
+
101  SplineRBoundary, // boundary at rmax
+
102  ddc::SplineSolver::GINKGO,
+
103  IDimR>;
+
104 using SplinePBuilder = ddc::SplineBuilder<
+
105  Kokkos::DefaultHostExecutionSpace,
+
106  Kokkos::DefaultHostExecutionSpace::memory_space,
+
107  BSplinesP,
+
108  IDimP,
+
109  SplinePBoundary,
+
110  SplinePBoundary,
+
111  ddc::SplineSolver::GINKGO,
+
112  IDimP>;
+
113 using SplineRPBuilder = ddc::SplineBuilder2D<
+
114  Kokkos::DefaultHostExecutionSpace,
+
115  Kokkos::DefaultHostExecutionSpace::memory_space,
+
116  BSplinesR,
+
117  BSplinesP,
+
118  IDimR,
+
119  IDimP,
+
120  SplineRBoundary, // boundary at r=0
+
121  SplineRBoundary, // boundary at rmax
+
122  SplinePBoundary,
+
123  SplinePBoundary,
+
124  ddc::SplineSolver::GINKGO,
+
125  IDimR,
+
126  IDimP>;
+
127 
+
128 using SplineRPEvaluatorConstBound = ddc::SplineEvaluator2D<
+
129  Kokkos::DefaultHostExecutionSpace,
+
130  Kokkos::DefaultHostExecutionSpace::memory_space,
+
131  BSplinesR,
+
132  BSplinesP,
+
133  IDimR,
+
134  IDimP,
+
135  ddc::ConstantExtrapolationRule<RDimR, RDimP>, // boundary at r=0
+
136  ddc::ConstantExtrapolationRule<RDimR, RDimP>, // boundary at rmax
+
137  ddc::PeriodicExtrapolationRule<RDimP>,
+
138  ddc::PeriodicExtrapolationRule<RDimP>,
+
139  IDimR,
+
140  IDimP>;
+
141 
+
142 using SplineRPEvaluatorNullBound = ddc::SplineEvaluator2D<
+
143  Kokkos::DefaultHostExecutionSpace,
+
144  Kokkos::DefaultHostExecutionSpace::memory_space,
+
145  BSplinesR,
+
146  BSplinesP,
+
147  IDimR,
+
148  IDimP,
+
149  ddc::NullExtrapolationRule, // boundary at r=0
+
150  ddc::NullExtrapolationRule, // boundary at rmax
+
151  ddc::PeriodicExtrapolationRule<RDimP>,
+
152  ddc::PeriodicExtrapolationRule<RDimP>,
+
153  IDimR,
+
154  IDimP>;
155 
-
156 template <class ElementType>
-
157 using ViewR = ddc::ChunkView<ElementType const, IDomainR>;
-
158 
-
159 template <class ElementType>
-
160 using ViewP = ddc::ChunkView<ElementType const, IDomainP>;
-
161 
-
162 template <class ElementType>
-
163 using ViewRP = ddc::ChunkView<ElementType const, IDomainRP>;
+
156 using BSDomainR = ddc::DiscreteDomain<BSplinesR>;
+
157 using BSDomainP = ddc::DiscreteDomain<BSplinesP>;
+
158 using BSDomainRP = ddc::DiscreteDomain<BSplinesR, BSplinesP>;
+
159 using BSDomainPolar = ddc::DiscreteDomain<PolarBSplinesRP>;
+
160 
+
161 using IndexR = ddc::DiscreteElement<IDimR>;
+
162 using IndexP = ddc::DiscreteElement<IDimP>;
+
163 using IndexRP = ddc::DiscreteElement<IDimR, IDimP>;
164 
-
165 
-
166 using DViewR = ViewR<double>;
-
167 using DViewP = ViewP<double>;
-
168 using DViewRP = ViewRP<double>;
-
169 
-
170 using Spline2D = ddc::Chunk<double, BSDomainRP>;
-
171 using Spline2DSpan = ddc::ChunkSpan<double, BSDomainRP>;
-
172 using Spline2DView = ddc::ChunkSpan<double const, BSDomainRP>;
+
165 using IVectR = ddc::DiscreteVector<IDimR>;
+
166 using IVectP = ddc::DiscreteVector<IDimP>;
+
167 using IVectRP = ddc::DiscreteVector<IDimR, IDimP>;
+
168 
+
169 using IDomainR = ddc::DiscreteDomain<IDimR>;
+
170 using IDomainP = ddc::DiscreteDomain<IDimP>;
+
171 using IDomainRP = ddc::DiscreteDomain<IDimR, IDimP>;
+
172 
173 
- -
180 
-
185 using IDimBSpline2D = ddc::DiscreteElement<BSplinesR, BSplinesP>;
-
189 using IDimPolarBspl = ddc::DiscreteElement<PolarBSplinesRP>;
-
190 
+
174 template <class ElementType>
+
175 using FieldR = ddc::Chunk<ElementType, IDomainR>;
+
176 
+
177 template <class ElementType>
+
178 using FieldP = ddc::Chunk<ElementType, IDomainP>;
+
179 
+
180 template <class ElementType>
+
181 using FieldRP = ddc::Chunk<ElementType, IDomainRP>;
+
182 
+
183 
+
184 using DFieldR = FieldR<double>;
+
185 using DFieldP = FieldP<double>;
+
186 using DFieldRP = FieldRP<double>;
+
187 
+
188 
+
189 template <class ElementType>
+
190 using SpanR = ddc::ChunkSpan<ElementType, IDomainR>;
191 
-
192 
-
193 template <class Dim1, class Dim2>
- -
195 
-
196 template <class Dim1, class Dim2>
- +
192 template <class ElementType>
+
193 using SpanP = ddc::ChunkSpan<ElementType, IDomainP>;
+
194 
+
195 template <class ElementType>
+
196 using SpanRP = ddc::ChunkSpan<ElementType, IDomainRP>;
+
197 
198 
-
199 template <class Dim1, class Dim2>
- -
201 
+
199 using DSpanR = SpanR<double>;
+
200 using DSpanP = SpanP<double>;
+
201 using DSpanRP = SpanRP<double>;
202 
203 
-
204 template <class Dim1, class Dim2>
- +
204 template <class ElementType>
+
205 using ViewR = ddc::ChunkView<ElementType const, IDomainR>;
206 
-
207 template <class Dim1, class Dim2>
- +
207 template <class ElementType>
+
208 using ViewP = ddc::ChunkView<ElementType const, IDomainP>;
209 
-
210 template <class Dim1, class Dim2>
- +
210 template <class ElementType>
+
211 using ViewRP = ddc::ChunkView<ElementType const, IDomainRP>;
212 
213 
-
214 // VELOCITY ----------------------------------------------------------
-
218 struct RDimVr
-
219 {
-
224  static bool constexpr PERIODIC = false;
-
225 };
-
226 
-
230 struct RDimVp
-
231 {
-
236  static bool constexpr PERIODIC = true;
-
237 };
+
214 using DViewR = ViewR<double>;
+
215 using DViewP = ViewP<double>;
+
216 using DViewRP = ViewRP<double>;
+
217 
+
218 using Spline2D = ddc::Chunk<double, BSDomainRP>;
+
219 using Spline2DSpan = ddc::ChunkSpan<double, BSDomainRP>;
+
220 using Spline2DView = ddc::ChunkSpan<double const, BSDomainRP>;
+
221 
+ +
228 
+
233 using IDimBSpline2D = ddc::DiscreteElement<BSplinesR, BSplinesP>;
+
237 using IDimPolarBspl = ddc::DiscreteElement<PolarBSplinesRP>;
238 
-
239 using CoordVr = ddc::Coordinate<RDimVr>;
-
240 using CoordVp = ddc::Coordinate<RDimVp>;
-
241 using CoordVrVp = ddc::Coordinate<RDimVr, RDimVp>;
-
242 
-
243 int constexpr BSDegreeVr = 3;
-
244 int constexpr BSDegreeVp = 3;
-
245 
-
246 bool constexpr BsplineOnUniformCellsVr = false;
-
247 bool constexpr BsplineOnUniformCellsVp = false;
-
248 
-
249 using BSplinesVr = std::conditional_t<
-
250  BsplineOnUniformCellsVr,
- - -
253 using BSplinesVp = std::conditional_t<
-
254  BsplineOnUniformCellsVp,
- - - -
258 
-
259 
+
239 
+
240 
+
241 template <class Dim1, class Dim2>
+ +
243 
+
244 template <class Dim1, class Dim2>
+ +
246 
+
247 template <class Dim1, class Dim2>
+ +
249 
+
250 
+
251 
+
252 template <class Dim1, class Dim2>
+ +
254 
+
255 template <class Dim1, class Dim2>
+ +
257 
+
258 template <class Dim1, class Dim2>
+
260 
-
261 auto constexpr SplineVrBoundary = RDimVr::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
262 auto constexpr SplineVpBoundary = RDimVp::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
263 
-
264 bool constexpr UniformMeshVr = is_spline_interpolation_mesh_uniform(
-
265  BsplineOnUniformCellsVr,
-
266  SplineVrBoundary,
-
267  SplineVrBoundary,
-
268  BSDegreeVr);
-
269 bool constexpr UniformMeshVp = is_spline_interpolation_mesh_uniform(
-
270  BsplineOnUniformCellsVp,
-
271  SplineVpBoundary,
-
272  SplineVpBoundary,
-
273  BSDegreeVp);
+
261 
+
262 // VELOCITY ----------------------------------------------------------
+
266 struct RDimVr
+
267 {
+
272  static bool constexpr PERIODIC = false;
+
273 };
274 
-
275 using IDimVr = std::conditional_t<
-
276  UniformMeshVr,
-
277  ddc::UniformPointSampling<RDimVr>,
-
278  ddc::NonUniformPointSampling<RDimVr>>;
-
279 using IDimVp = std::conditional_t<
-
280  UniformMeshVp,
-
281  ddc::UniformPointSampling<RDimVp>,
-
282  ddc::NonUniformPointSampling<RDimVp>>;
-
283 
-
284 
- - - - -
289 
- - - +
278 struct RDimVp
+
279 {
+
284  static bool constexpr PERIODIC = true;
+
285 };
+
286 
+
287 using CoordVr = ddc::Coordinate<RDimVr>;
+
288 using CoordVp = ddc::Coordinate<RDimVp>;
+
289 using CoordVrVp = ddc::Coordinate<RDimVr, RDimVp>;
+
290 
+
291 int constexpr BSDegreeVr = 3;
+
292 int constexpr BSDegreeVp = 3;
293 
-
294 
-
295 using BSDomainVr = ddc::DiscreteDomain<BSplinesVr>;
-
296 using BSDomainVp = ddc::DiscreteDomain<BSplinesVp>;
-
297 using BSDomainVrVp = ddc::DiscreteDomain<BSplinesVr, BSplinesVp>;
-
298 using BSDomainPolar = ddc::DiscreteDomain<PolarBSplinesRP>;
-
299 
-
300 
-
301 using IndexVr = ddc::DiscreteElement<IDimVr>;
-
302 using IndexVp = ddc::DiscreteElement<IDimVp>;
-
303 using IndexVrVp = ddc::DiscreteElement<IDimVr, IDimVp>;
-
304 
-
305 
-
306 using IVectVr = ddc::DiscreteVector<IDimVr>;
-
307 using IVectVp = ddc::DiscreteVector<IDimVp>;
-
308 using IVectVrVp = ddc::DiscreteVector<IDimVr, IDimVp>;
-
309 
-
310 
-
311 using IDomainVr = ddc::DiscreteDomain<IDimVr>;
-
312 using IDomainVp = ddc::DiscreteDomain<IDimVp>;
-
313 using IDomainVrVp = ddc::DiscreteDomain<IDimVr, IDimVp>;
-
314 
-
315 
-
316 template <class ElementType>
-
317 using FieldVr = ddc::Chunk<ElementType, IDomainVr>;
-
318 
-
319 template <class ElementType>
-
320 using FieldVp = ddc::Chunk<ElementType, IDomainVp>;
-
321 
-
322 template <class ElementType>
-
323 using FieldVrVp = ddc::Chunk<ElementType, IDomainVrVp>;
+
294 bool constexpr BsplineOnUniformCellsVr = false;
+
295 bool constexpr BsplineOnUniformCellsVp = false;
+
296 
+
297 using BSplinesVr = std::conditional_t<
+
298  BsplineOnUniformCellsVr,
+
299  ddc::UniformBSplines<RDimVr, BSDegreeVr>,
+
300  ddc::NonUniformBSplines<RDimVr, BSDegreeVr>>;
+
301 using BSplinesVp = std::conditional_t<
+
302  BsplineOnUniformCellsVp,
+
303  ddc::UniformBSplines<RDimVp, BSDegreeVp>,
+
304  ddc::NonUniformBSplines<RDimVp, BSDegreeVp>>;
+ +
306 
+
307 
+
308 
+
309 auto constexpr SplineVrBoundary
+
310  = RDimVr::PERIODIC ? ddc::BoundCond::PERIODIC : ddc::BoundCond::GREVILLE;
+
311 auto constexpr SplineVpBoundary
+
312  = RDimVp::PERIODIC ? ddc::BoundCond::PERIODIC : ddc::BoundCond::GREVILLE;
+
313 
+
314 bool constexpr UniformMeshVr = ddc::is_spline_interpolation_mesh_uniform(
+
315  BsplineOnUniformCellsVr,
+
316  SplineVrBoundary,
+
317  SplineVrBoundary,
+
318  BSDegreeVr);
+
319 bool constexpr UniformMeshVp = ddc::is_spline_interpolation_mesh_uniform(
+
320  BsplineOnUniformCellsVp,
+
321  SplineVpBoundary,
+
322  SplineVpBoundary,
+
323  BSDegreeVp);
324 
-
325 
-
326 using DFieldVr = FieldVr<double>;
-
327 using DFieldVp = FieldVp<double>;
-
328 using DFieldVrVp = FieldVrVp<double>;
-
329 
-
330 
-
331 template <class ElementType>
-
332 using SpanVr = ddc::ChunkSpan<ElementType, IDomainVr>;
+
325 using IDimVr = std::conditional_t<
+
326  UniformMeshVr,
+
327  ddc::UniformPointSampling<RDimVr>,
+
328  ddc::NonUniformPointSampling<RDimVr>>;
+
329 using IDimVp = std::conditional_t<
+
330  UniformMeshVp,
+
331  ddc::UniformPointSampling<RDimVp>,
+
332  ddc::NonUniformPointSampling<RDimVp>>;
333 
-
334 template <class ElementType>
-
335 using SpanVp = ddc::ChunkSpan<ElementType, IDomainVp>;
-
336 
-
337 template <class ElementType>
-
338 using SpanVrVp = ddc::ChunkSpan<ElementType, IDomainVrVp>;
+
334 
+
335 using SplineInterpPointsVr
+
336  = ddc::GrevilleInterpolationPoints<BSplinesVr, SplineVrBoundary, SplineVrBoundary>;
+
337 using SplineInterpPointsVp
+
338  = ddc::GrevilleInterpolationPoints<BSplinesVp, SplineVpBoundary, SplineVpBoundary>;
339 
-
340 
-
341 using DSpanVr = SpanVr<double>;
-
342 using DSpanVp = SpanVp<double>;
-
343 using DSpanVrVp = SpanVrVp<double>;
-
344 
-
345 
-
346 template <class ElementType>
-
347 using ViewVr = ddc::ChunkView<ElementType const, IDomainVr>;
-
348 
-
349 template <class ElementType>
-
350 using ViewVp = ddc::ChunkView<ElementType const, IDomainVp>;
-
351 
-
352 template <class ElementType>
-
353 using ViewVrVp = ddc::ChunkView<ElementType const, IDomainVrVp>;
-
354 
-
355 
-
356 using DViewVr = ViewVr<double>;
-
357 using DViewVp = ViewVp<double>;
-
358 using DViewVrVp = ViewVrVp<double>;
-
359 
-
360 
-
361 using Spline2DV = ddc::Chunk<double, BSDomainVrVp>;
-
362 using Spline2DSpanV = ddc::ChunkSpan<double, BSDomainVrVp>;
-
363 using Spline2DViewV = ddc::ChunkSpan<double const, BSDomainVrVp>;
-
364 
-
365 
-
366 
-
367 // SPACE AND VELOCITY ------------------------------------------------
-
368 using IndexRVr = ddc::DiscreteElement<IDimR, IDimVr>;
-
369 using IndexPVp = ddc::DiscreteElement<IDimP, IDimVp>;
-
370 using IndexRPVrVp = ddc::DiscreteElement<IDimR, IDimP, IDimVr, IDimVp>;
-
371 
+
340 using SplineVrBuilder = ddc::SplineBuilder<
+
341  Kokkos::DefaultHostExecutionSpace,
+
342  Kokkos::DefaultHostExecutionSpace::memory_space,
+
343  BSplinesVr,
+
344  IDimVr,
+
345  SplineVrBoundary,
+
346  SplineVrBoundary,
+
347  ddc::SplineSolver::GINKGO,
+
348  IDimVr>;
+
349 using SplineVpBuilder = ddc::SplineBuilder<
+
350  Kokkos::DefaultHostExecutionSpace,
+
351  Kokkos::DefaultHostExecutionSpace::memory_space,
+
352  BSplinesVp,
+
353  IDimVp,
+
354  SplineVpBoundary,
+
355  SplineVpBoundary,
+
356  ddc::SplineSolver::GINKGO,
+
357  IDimVp>;
+
358 using SplineVrVpBuilder = ddc::SplineBuilder2D<
+
359  Kokkos::DefaultHostExecutionSpace,
+
360  Kokkos::DefaultHostExecutionSpace::memory_space,
+
361  BSplinesVr,
+
362  BSplinesVp,
+
363  IDimVr,
+
364  IDimVp,
+
365  SplineVrBoundary,
+
366  SplineVrBoundary,
+
367  SplineVpBoundary,
+
368  SplineVpBoundary,
+
369  ddc::SplineSolver::GINKGO,
+
370  IDimVr,
+
371  IDimVp>;
372 
-
373 using IVectRVr = ddc::DiscreteVector<IDimR, IDimVr>;
-
374 using IVectPVp = ddc::DiscreteVector<IDimP, IDimVp>;
-
375 using IVectRPVrVp = ddc::DiscreteVector<IDimR, IDimP, IDimVr, IDimVp>;
-
376 
-
377 
-
378 using IDomainRVr = ddc::DiscreteDomain<IDimR, IDimVr>;
-
379 using IDomainPVp = ddc::DiscreteDomain<IDimP, IDimVp>;
-
380 using IDomainRPVrVp = ddc::DiscreteDomain<IDimR, IDimP, IDimVr, IDimVp>;
-
381 
-
382 
-
383 template <class ElementType>
-
384 using FieldRVr = ddc::Chunk<ElementType, IDomainRVr>;
-
385 
-
386 template <class ElementType>
-
387 using FieldPVp = ddc::Chunk<ElementType, IDomainPVp>;
+
373 
+
374 using BSDomainVr = ddc::DiscreteDomain<BSplinesVr>;
+
375 using BSDomainVp = ddc::DiscreteDomain<BSplinesVp>;
+
376 using BSDomainVrVp = ddc::DiscreteDomain<BSplinesVr, BSplinesVp>;
+
377 using BSDomainPolar = ddc::DiscreteDomain<PolarBSplinesRP>;
+
378 
+
379 
+
380 using IndexVr = ddc::DiscreteElement<IDimVr>;
+
381 using IndexVp = ddc::DiscreteElement<IDimVp>;
+
382 using IndexVrVp = ddc::DiscreteElement<IDimVr, IDimVp>;
+
383 
+
384 
+
385 using IVectVr = ddc::DiscreteVector<IDimVr>;
+
386 using IVectVp = ddc::DiscreteVector<IDimVp>;
+
387 using IVectVrVp = ddc::DiscreteVector<IDimVr, IDimVp>;
388 
-
389 template <class ElementType>
-
390 using FieldRPVrVp = ddc::Chunk<ElementType, IDomainRPVrVp>;
-
391 
-
392 
-
393 using DFieldRVr = FieldRVr<double>;
-
394 using DFieldPVp = FieldPVp<double>;
-
395 using DFieldRPVrVp = FieldRPVrVp<double>;
-
396 
+
389 
+
390 using IDomainVr = ddc::DiscreteDomain<IDimVr>;
+
391 using IDomainVp = ddc::DiscreteDomain<IDimVp>;
+
392 using IDomainVrVp = ddc::DiscreteDomain<IDimVr, IDimVp>;
+
393 
+
394 
+
395 template <class ElementType>
+
396 using FieldVr = ddc::Chunk<ElementType, IDomainVr>;
397 
398 template <class ElementType>
-
399 using SpanRVr = ddc::ChunkSpan<ElementType, IDomainRVr>;
+
399 using FieldVp = ddc::Chunk<ElementType, IDomainVp>;
400 
401 template <class ElementType>
-
402 using SpanPVp = ddc::ChunkSpan<ElementType, IDomainPVp>;
+
402 using FieldVrVp = ddc::Chunk<ElementType, IDomainVrVp>;
403 
-
404 template <class ElementType>
-
405 using SpanRPVrVp = ddc::ChunkSpan<ElementType, IDomainRPVrVp>;
-
406 
-
407 
-
408 using DSpanRVr = SpanRVr<double>;
-
409 using DSpanPVp = SpanPVp<double>;
-
410 using DSpanRPVrVp = SpanRPVrVp<double>;
-
411 
+
404 
+
405 using DFieldVr = FieldVr<double>;
+
406 using DFieldVp = FieldVp<double>;
+
407 using DFieldVrVp = FieldVrVp<double>;
+
408 
+
409 
+
410 template <class ElementType>
+
411 using SpanVr = ddc::ChunkSpan<ElementType, IDomainVr>;
412 
413 template <class ElementType>
-
414 using ViewRVr = ddc::ChunkView<ElementType const, IDomainRVr>;
+
414 using SpanVp = ddc::ChunkSpan<ElementType, IDomainVp>;
415 
416 template <class ElementType>
-
417 using ViewPVp = ddc::ChunkView<ElementType const, IDomainPVp>;
+
417 using SpanVrVp = ddc::ChunkSpan<ElementType, IDomainVrVp>;
418 
-
419 template <class ElementType>
-
420 using ViewRPVrVp = ddc::ChunkView<ElementType const, IDomainRPVrVp>;
-
421 
-
422 
-
423 using DViewRVr = ViewRVr<double>;
-
424 using DViewPVp = ViewPVp<double>;
-
425 using DViewRPVrVp = ViewRPVrVp<double>;
-
426 
+
419 
+
420 using DSpanVr = SpanVr<double>;
+
421 using DSpanVp = SpanVp<double>;
+
422 using DSpanVrVp = SpanVrVp<double>;
+
423 
+
424 
+
425 template <class ElementType>
+
426 using ViewVr = ddc::ChunkView<ElementType const, IDomainVr>;
427 
-
428 
-
429 // CARTESIAN SPACE AND VELOCITY -------------------------------------
-
430 // -- X DIMENSION ---------------------------------------------------
-
434 struct RDimX
-
435 {
-
440  static bool constexpr PERIODIC = false;
-
441 };
-
445 struct RDimVx
-
446 {
-
451  static bool constexpr PERIODIC = false;
-
452 };
-
453 
-
454 
+
428 template <class ElementType>
+
429 using ViewVp = ddc::ChunkView<ElementType const, IDomainVp>;
+
430 
+
431 template <class ElementType>
+
432 using ViewVrVp = ddc::ChunkView<ElementType const, IDomainVrVp>;
+
433 
+
434 
+
435 using DViewVr = ViewVr<double>;
+
436 using DViewVp = ViewVp<double>;
+
437 using DViewVrVp = ViewVrVp<double>;
+
438 
+
439 
+
440 using Spline2DV = ddc::Chunk<double, BSDomainVrVp>;
+
441 using Spline2DSpanV = ddc::ChunkSpan<double, BSDomainVrVp>;
+
442 using Spline2DViewV = ddc::ChunkSpan<double const, BSDomainVrVp>;
+
443 
+
444 
+
445 
+
446 // SPACE AND VELOCITY ------------------------------------------------
+
447 using IndexRVr = ddc::DiscreteElement<IDimR, IDimVr>;
+
448 using IndexPVp = ddc::DiscreteElement<IDimP, IDimVp>;
+
449 using IndexRPVrVp = ddc::DiscreteElement<IDimR, IDimP, IDimVr, IDimVp>;
+
450 
+
451 
+
452 using IVectRVr = ddc::DiscreteVector<IDimR, IDimVr>;
+
453 using IVectPVp = ddc::DiscreteVector<IDimP, IDimVp>;
+
454 using IVectRPVrVp = ddc::DiscreteVector<IDimR, IDimP, IDimVr, IDimVp>;
455 
-
456 using CoordX = ddc::Coordinate<RDimX>;
-
457 using CoordVx = ddc::Coordinate<RDimVx>;
-
458 using CoordXVx = ddc::Coordinate<RDimX, RDimVx>;
-
459 
-
460 int constexpr BSDegreeX = 3;
-
461 int constexpr BSDegreeVx = 3;
-
462 
-
463 bool constexpr BsplineOnUniformCellsX = false;
-
464 bool constexpr BsplineOnUniformCellsVx = false;
-
465 
-
466 using BSplinesX = std::conditional_t<
-
467  BsplineOnUniformCellsX,
- - -
470 using BSplinesVx = std::conditional_t<
-
471  BsplineOnUniformCellsVx,
- - -
474 
-
475 auto constexpr SplineXBoundary = RDimX::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
476 auto constexpr SplineVxBoundary = BoundCond::HERMITE;
-
477 
-
478 
-
479 bool constexpr UniformMeshX = is_spline_interpolation_mesh_uniform(
-
480  BsplineOnUniformCellsX,
-
481  SplineXBoundary,
-
482  SplineXBoundary,
-
483  BSDegreeX);
-
484 bool constexpr UniformMeshVx = is_spline_interpolation_mesh_uniform(
-
485  BsplineOnUniformCellsVx,
-
486  SplineVxBoundary,
-
487  SplineVxBoundary,
-
488  BSDegreeVx);
-
489 
-
490 using IDimX = std::conditional_t<
-
491  UniformMeshX,
-
492  ddc::UniformPointSampling<RDimX>,
-
493  ddc::NonUniformPointSampling<RDimX>>;
-
494 using IDimVx = std::conditional_t<
-
495  UniformMeshVx,
-
496  ddc::UniformPointSampling<RDimVx>,
-
497  ddc::NonUniformPointSampling<RDimVx>>;
-
498 
- - - - -
503 
- - +
456 
+
457 using IDomainRVr = ddc::DiscreteDomain<IDimR, IDimVr>;
+
458 using IDomainPVp = ddc::DiscreteDomain<IDimP, IDimVp>;
+
459 using IDomainRPVrVp = ddc::DiscreteDomain<IDimR, IDimP, IDimVr, IDimVp>;
+
460 
+
461 
+
462 template <class ElementType>
+
463 using FieldRVr = ddc::Chunk<ElementType, IDomainRVr>;
+
464 
+
465 template <class ElementType>
+
466 using FieldPVp = ddc::Chunk<ElementType, IDomainPVp>;
+
467 
+
468 template <class ElementType>
+
469 using FieldRPVrVp = ddc::Chunk<ElementType, IDomainRPVrVp>;
+
470 
+
471 
+
472 using DFieldRVr = FieldRVr<double>;
+
473 using DFieldPVp = FieldPVp<double>;
+
474 using DFieldRPVrVp = FieldRPVrVp<double>;
+
475 
+
476 
+
477 template <class ElementType>
+
478 using SpanRVr = ddc::ChunkSpan<ElementType, IDomainRVr>;
+
479 
+
480 template <class ElementType>
+
481 using SpanPVp = ddc::ChunkSpan<ElementType, IDomainPVp>;
+
482 
+
483 template <class ElementType>
+
484 using SpanRPVrVp = ddc::ChunkSpan<ElementType, IDomainRPVrVp>;
+
485 
+
486 
+
487 using DSpanRVr = SpanRVr<double>;
+
488 using DSpanPVp = SpanPVp<double>;
+
489 using DSpanRPVrVp = SpanRPVrVp<double>;
+
490 
+
491 
+
492 template <class ElementType>
+
493 using ViewRVr = ddc::ChunkView<ElementType const, IDomainRVr>;
+
494 
+
495 template <class ElementType>
+
496 using ViewPVp = ddc::ChunkView<ElementType const, IDomainPVp>;
+
497 
+
498 template <class ElementType>
+
499 using ViewRPVrVp = ddc::ChunkView<ElementType const, IDomainRPVrVp>;
+
500 
+
501 
+
502 using DViewRVr = ViewRVr<double>;
+
503 using DViewPVp = ViewPVp<double>;
+
504 using DViewRPVrVp = ViewRPVrVp<double>;
+
505 
506 
507 
-
508 
-
509 // Species dimension
-
510 using IDimSp = SpeciesInformation;
-
511 
-
512 
-
513 using IndexX = ddc::DiscreteElement<IDimX>;
-
514 using IndexVx = ddc::DiscreteElement<IDimVx>;
-
515 using IndexXVx = ddc::DiscreteElement<IDimX, IDimVx>;
-
516 
-
517 using IndexSp = ddc::DiscreteElement<IDimSp>;
-
518 using IndexSpX = ddc::DiscreteElement<IDimSp, IDimX>;
-
519 using IndexSpVx = ddc::DiscreteElement<IDimSp, IDimVx>;
-
520 using IndexSpXVx = ddc::DiscreteElement<IDimSp, IDimX, IDimVx>;
-
521 
-
522 
-
523 
-
524 using IVectX = ddc::DiscreteVector<IDimX>;
-
525 using IVectVx = ddc::DiscreteVector<IDimVx>;
-
526 using IVectXVx = ddc::DiscreteVector<IDimX, IDimVx>;
-
527 
-
528 using IVectSp = ddc::DiscreteVector<IDimSp>;
-
529 using IVectSpX = ddc::DiscreteVector<IDimSp, IDimX>;
-
530 using IVectSpVx = ddc::DiscreteVector<IDimSp, IDimVx>;
-
531 using IVectSpXVx = ddc::DiscreteVector<IDimSp, IDimX, IDimVx>;
+
508 // CARTESIAN SPACE AND VELOCITY -------------------------------------
+
509 // -- X DIMENSION ---------------------------------------------------
+
513 struct RDimX
+
514 {
+
519  static bool constexpr PERIODIC = false;
+
520 };
+
524 struct RDimVx
+
525 {
+
530  static bool constexpr PERIODIC = false;
+
531 };
532 
533 
534 
-
535 using BSDomainX = ddc::DiscreteDomain<BSplinesX>;
-
536 using BSDomainVx = ddc::DiscreteDomain<BSplinesVx>;
-
537 
-
538 using IDomainX = ddc::DiscreteDomain<IDimX>;
-
539 using IDomainVx = ddc::DiscreteDomain<IDimVx>;
-
540 using IDomainXVx = ddc::DiscreteDomain<IDimX, IDimVx>;
+
535 using CoordX = ddc::Coordinate<RDimX>;
+
536 using CoordVx = ddc::Coordinate<RDimVx>;
+
537 using CoordXVx = ddc::Coordinate<RDimX, RDimVx>;
+
538 
+
539 int constexpr BSDegreeX = 3;
+
540 int constexpr BSDegreeVx = 3;
541 
-
542 using IDomainSp = ddc::DiscreteDomain<IDimSp>;
-
543 using IDomainSpX = ddc::DiscreteDomain<IDimSp, IDimX>;
-
544 using IDomainSpVx = ddc::DiscreteDomain<IDimSp, IDimVx>;
-
545 using IDomainSpXVx = ddc::DiscreteDomain<IDimSp, IDimX, IDimVx>;
-
546 
-
547 
-
548 
-
549 template <class ElementType>
-
550 using FieldX = ddc::Chunk<ElementType, IDomainX>;
-
551 
-
552 template <class ElementType>
-
553 using FieldVx = ddc::Chunk<ElementType, IDomainVx>;
-
554 
-
555 template <class ElementType>
-
556 using FieldSp = ddc::Chunk<ElementType, IDomainSp>;
+
542 bool constexpr BsplineOnUniformCellsX = false;
+
543 bool constexpr BsplineOnUniformCellsVx = false;
+
544 
+
545 using BSplinesX = std::conditional_t<
+
546  BsplineOnUniformCellsX,
+
547  ddc::UniformBSplines<RDimX, BSDegreeX>,
+
548  ddc::NonUniformBSplines<RDimX, BSDegreeX>>;
+
549 using BSplinesVx = std::conditional_t<
+
550  BsplineOnUniformCellsVx,
+
551  ddc::UniformBSplines<RDimVx, BSDegreeVx>,
+
552  ddc::NonUniformBSplines<RDimVx, BSDegreeVx>>;
+
553 
+
554 auto constexpr SplineXBoundary
+
555  = RDimX::PERIODIC ? ddc::BoundCond::PERIODIC : ddc::BoundCond::GREVILLE;
+
556 auto constexpr SplineVxBoundary = ddc::BoundCond::HERMITE;
557 
-
558 template <class ElementType>
-
559 using FieldSpX = ddc::Chunk<ElementType, IDomainSpX>;
-
560 
-
561 template <class ElementType>
-
562 using FieldSpVx = ddc::Chunk<ElementType, IDomainSpVx>;
-
563 
-
564 template <class ElementType>
-
565 using FieldSpXVx = ddc::Chunk<ElementType, IDomainSpXVx>;
-
566 
-
567 
-
568 
-
569 using DFieldX = FieldX<double>;
-
570 using DFieldVx = FieldVx<double>;
-
571 
-
572 using DFieldSp = FieldSp<double>;
-
573 using DFieldSpX = FieldSpX<double>;
-
574 using DFieldSpVx = FieldSpVx<double>;
-
575 using DFieldSpXVx = FieldSpXVx<double>;
-
576 
-
577 
+
558 
+
559 bool constexpr UniformMeshX = ddc::is_spline_interpolation_mesh_uniform(
+
560  BsplineOnUniformCellsX,
+
561  SplineXBoundary,
+
562  SplineXBoundary,
+
563  BSDegreeX);
+
564 bool constexpr UniformMeshVx = ddc::is_spline_interpolation_mesh_uniform(
+
565  BsplineOnUniformCellsVx,
+
566  SplineVxBoundary,
+
567  SplineVxBoundary,
+
568  BSDegreeVx);
+
569 
+
570 using IDimX = std::conditional_t<
+
571  UniformMeshX,
+
572  ddc::UniformPointSampling<RDimX>,
+
573  ddc::NonUniformPointSampling<RDimX>>;
+
574 using IDimVx = std::conditional_t<
+
575  UniformMeshVx,
+
576  ddc::UniformPointSampling<RDimVx>,
+
577  ddc::NonUniformPointSampling<RDimVx>>;
578 
-
579 template <class ElementType>
-
580 using SpanX = ddc::ChunkSpan<ElementType, IDomainX>;
-
581 
-
582 template <class ElementType>
-
583 using SpanVx = ddc::ChunkSpan<ElementType, IDomainVx>;
+
579 using SplineInterpPointsX
+
580  = ddc::GrevilleInterpolationPoints<BSplinesX, SplineXBoundary, SplineXBoundary>;
+
581 using SplineInterpPointsVx
+
582  = ddc::GrevilleInterpolationPoints<BSplinesVx, SplineVxBoundary, SplineVxBoundary>;
+
583 
584 
-
585 template <class ElementType>
-
586 using SpanSp = ddc::ChunkSpan<ElementType, IDomainSp>;
-
587 
-
588 template <class ElementType>
-
589 using SpanSpX = ddc::ChunkSpan<ElementType, IDomainSpX>;
-
590 
-
591 template <class ElementType>
-
592 using SpanSpVx = ddc::ChunkSpan<ElementType, IDomainSpVx>;
+
585 
+
586 // Species dimension
+
587 using IDimSp = SpeciesInformation;
+
588 
+
589 
+
590 using IndexX = ddc::DiscreteElement<IDimX>;
+
591 using IndexVx = ddc::DiscreteElement<IDimVx>;
+
592 using IndexXVx = ddc::DiscreteElement<IDimX, IDimVx>;
593 
-
594 template <class ElementType>
-
595 using SpanSpXVx = ddc::ChunkSpan<ElementType, IDomainSpXVx>;
-
596 
-
597 
+
594 using IndexSp = ddc::DiscreteElement<IDimSp>;
+
595 using IndexSpX = ddc::DiscreteElement<IDimSp, IDimX>;
+
596 using IndexSpVx = ddc::DiscreteElement<IDimSp, IDimVx>;
+
597 using IndexSpXVx = ddc::DiscreteElement<IDimSp, IDimX, IDimVx>;
598 
-
599 using DSpanX = SpanX<double>;
-
600 using DSpanVx = SpanVx<double>;
-
601 
-
602 using DSpanSp = SpanSp<double>;
-
603 using DSpanSpX = SpanSpX<double>;
-
604 using DSpanSpVx = SpanSpVx<double>;
-
605 using DSpanSpXVx = SpanSpXVx<double>;
-
606 
-
607 
-
608 
-
609 template <class ElementType>
-
610 using ViewX = ddc::ChunkSpan<ElementType const, IDomainX>;
+
599 
+
600 
+
601 using IVectX = ddc::DiscreteVector<IDimX>;
+
602 using IVectVx = ddc::DiscreteVector<IDimVx>;
+
603 using IVectXVx = ddc::DiscreteVector<IDimX, IDimVx>;
+
604 
+
605 using IVectSp = ddc::DiscreteVector<IDimSp>;
+
606 using IVectSpX = ddc::DiscreteVector<IDimSp, IDimX>;
+
607 using IVectSpVx = ddc::DiscreteVector<IDimSp, IDimVx>;
+
608 using IVectSpXVx = ddc::DiscreteVector<IDimSp, IDimX, IDimVx>;
+
609 
+
610 
611 
-
612 template <class ElementType>
-
613 using ViewVx = ddc::ChunkSpan<ElementType const, IDomainVx>;
+
612 using BSDomainX = ddc::DiscreteDomain<BSplinesX>;
+
613 using BSDomainVx = ddc::DiscreteDomain<BSplinesVx>;
614 
-
615 template <class ElementType>
-
616 using ViewSp = ddc::ChunkSpan<ElementType const, IDomainSp>;
-
617 
-
618 template <class ElementType>
-
619 using ViewSpX = ddc::ChunkSpan<ElementType const, IDomainSpX>;
-
620 
-
621 template <class ElementType>
-
622 using ViewSpVx = ddc::ChunkSpan<ElementType const, IDomainSpVx>;
+
615 using IDomainX = ddc::DiscreteDomain<IDimX>;
+
616 using IDomainVx = ddc::DiscreteDomain<IDimVx>;
+
617 using IDomainXVx = ddc::DiscreteDomain<IDimX, IDimVx>;
+
618 
+
619 using IDomainSp = ddc::DiscreteDomain<IDimSp>;
+
620 using IDomainSpX = ddc::DiscreteDomain<IDimSp, IDimX>;
+
621 using IDomainSpVx = ddc::DiscreteDomain<IDimSp, IDimVx>;
+
622 using IDomainSpXVx = ddc::DiscreteDomain<IDimSp, IDimX, IDimVx>;
623 
-
624 template <class ElementType>
-
625 using ViewSpXVx = ddc::ChunkSpan<ElementType const, IDomainSpXVx>;
-
626 
-
627 template <class ElementType>
-
628 using BSViewX = ddc::ChunkSpan<ElementType const, BSDomainX>;
-
629 
-
630 
+
624 
+
625 
+
626 template <class ElementType>
+
627 using FieldX = ddc::Chunk<ElementType, IDomainX>;
+
628 
+
629 template <class ElementType>
+
630 using FieldVx = ddc::Chunk<ElementType, IDomainVx>;
631 
-
632 using DViewX = ViewX<double>;
-
633 using DViewVx = ViewVx<double>;
+
632 template <class ElementType>
+
633 using FieldSp = ddc::Chunk<ElementType, IDomainSp>;
634 
-
635 using DViewSp = ViewSp<double>;
-
636 using DViewSpX = ViewSpX<double>;
-
637 using DViewSpVx = ViewSpVx<double>;
-
638 using DViewSpXVx = ViewSpXVx<double>;
-
639 
-
640 using DBSViewX = BSViewX<double>;
-
641 
-
642 
-
643 // -- Y DIMENSION ---------------------------------------------------
-
647 struct RDimY
-
648 {
-
653  static bool constexpr PERIODIC = false;
-
654 };
-
658 struct RDimVy
-
659 {
-
664  static bool constexpr PERIODIC = false;
-
665 };
-
666 
+
635 template <class ElementType>
+
636 using FieldSpX = ddc::Chunk<ElementType, IDomainSpX>;
+
637 
+
638 template <class ElementType>
+
639 using FieldSpVx = ddc::Chunk<ElementType, IDomainSpVx>;
+
640 
+
641 template <class ElementType>
+
642 using FieldSpXVx = ddc::Chunk<ElementType, IDomainSpXVx>;
+
643 
+
644 
+
645 
+
646 using DFieldX = FieldX<double>;
+
647 using DFieldVx = FieldVx<double>;
+
648 
+
649 using DFieldSp = FieldSp<double>;
+
650 using DFieldSpX = FieldSpX<double>;
+
651 using DFieldSpVx = FieldSpVx<double>;
+
652 using DFieldSpXVx = FieldSpXVx<double>;
+
653 
+
654 
+
655 
+
656 template <class ElementType>
+
657 using SpanX = ddc::ChunkSpan<ElementType, IDomainX>;
+
658 
+
659 template <class ElementType>
+
660 using SpanVx = ddc::ChunkSpan<ElementType, IDomainVx>;
+
661 
+
662 template <class ElementType>
+
663 using SpanSp = ddc::ChunkSpan<ElementType, IDomainSp>;
+
664 
+
665 template <class ElementType>
+
666 using SpanSpX = ddc::ChunkSpan<ElementType, IDomainSpX>;
667 
-
668 using CoordY = ddc::Coordinate<RDimY>;
-
669 using CoordVy = ddc::Coordinate<RDimVy>;
-
670 using CoordYVy = ddc::Coordinate<RDimY, RDimVy>;
-
671 
-
672 int constexpr BSDegreeY = 3;
-
673 int constexpr BSDegreeVy = 3;
+
668 template <class ElementType>
+
669 using SpanSpVx = ddc::ChunkSpan<ElementType, IDomainSpVx>;
+
670 
+
671 template <class ElementType>
+
672 using SpanSpXVx = ddc::ChunkSpan<ElementType, IDomainSpXVx>;
+
673 
674 
675 
-
676 bool constexpr BsplineOnUniformCellsY = false;
-
677 bool constexpr BsplineOnUniformCellsVy = false;
+
676 using DSpanX = SpanX<double>;
+
677 using DSpanVx = SpanVx<double>;
678 
-
679 using BSplinesY = std::conditional_t<
-
680  BsplineOnUniformCellsY,
- - +
679 using DSpanSp = SpanSp<double>;
+
680 using DSpanSpX = SpanSpX<double>;
+
681 using DSpanSpVx = SpanSpVx<double>;
+
682 using DSpanSpXVx = SpanSpXVx<double>;
683 
-
684 using BSplinesVy = std::conditional_t<
-
685  BsplineOnUniformCellsVy,
- - +
684 
+
685 
+
686 template <class ElementType>
+
687 using ViewX = ddc::ChunkSpan<ElementType const, IDomainX>;
688 
-
689 
-
690 
-
691 auto constexpr SplineYBoundary = RDimY::PERIODIC ? BoundCond::PERIODIC : BoundCond::GREVILLE;
-
692 auto constexpr SplineVyBoundary = BoundCond::HERMITE;
-
693 
-
694 bool constexpr UniformMeshY = is_spline_interpolation_mesh_uniform(
-
695  BsplineOnUniformCellsY,
-
696  SplineYBoundary,
-
697  SplineYBoundary,
-
698  BSDegreeY);
-
699 bool constexpr UniformMeshVy = is_spline_interpolation_mesh_uniform(
-
700  BsplineOnUniformCellsVy,
-
701  SplineVyBoundary,
-
702  SplineVyBoundary,
-
703  BSDegreeVy);
-
704 
-
705 using IDimY = std::conditional_t<
-
706  UniformMeshY,
-
707  ddc::UniformPointSampling<RDimY>,
-
708  ddc::NonUniformPointSampling<RDimY>>;
-
709 using IDimVy = std::conditional_t<
-
710  UniformMeshVy,
-
711  ddc::UniformPointSampling<RDimVy>,
-
712  ddc::NonUniformPointSampling<RDimVy>>;
-
713 
- - - - +
689 template <class ElementType>
+
690 using ViewVx = ddc::ChunkSpan<ElementType const, IDomainVx>;
+
691 
+
692 template <class ElementType>
+
693 using ViewSp = ddc::ChunkSpan<ElementType const, IDomainSp>;
+
694 
+
695 template <class ElementType>
+
696 using ViewSpX = ddc::ChunkSpan<ElementType const, IDomainSpX>;
+
697 
+
698 template <class ElementType>
+
699 using ViewSpVx = ddc::ChunkSpan<ElementType const, IDomainSpVx>;
+
700 
+
701 template <class ElementType>
+
702 using ViewSpXVx = ddc::ChunkSpan<ElementType const, IDomainSpXVx>;
+
703 
+
704 template <class ElementType>
+
705 using BSViewX = ddc::ChunkSpan<ElementType const, BSDomainX>;
+
706 
+
707 
+
708 
+
709 using DViewX = ViewX<double>;
+
710 using DViewVx = ViewVx<double>;
+
711 
+
712 using DViewSp = ViewSp<double>;
+
713 using DViewSpX = ViewSpX<double>;
+
714 using DViewSpVx = ViewSpVx<double>;
+
715 using DViewSpXVx = ViewSpXVx<double>;
+
716 
+
717 using DBSViewX = BSViewX<double>;
718 
- - -
721 
-
722 
-
723 // Species dimension
-
724 using IndexY = ddc::DiscreteElement<IDimY>;
-
725 using IndexVy = ddc::DiscreteElement<IDimVy>;
-
726 using IndexYVy = ddc::DiscreteElement<IDimY, IDimVy>;
-
727 
-
728 using IndexSpY = ddc::DiscreteElement<IDimSp, IDimY>;
-
729 using IndexSpVy = ddc::DiscreteElement<IDimSp, IDimVy>;
-
730 using IndexSpYVy = ddc::DiscreteElement<IDimSp, IDimY, IDimVy>;
-
731 
-
732 
-
733 
-
734 using IVectY = ddc::DiscreteVector<IDimY>;
-
735 using IVectVy = ddc::DiscreteVector<IDimVy>;
-
736 using IVectYVy = ddc::DiscreteVector<IDimY, IDimVy>;
-
737 
-
738 using IVectSpY = ddc::DiscreteVector<IDimSp, IDimY>;
-
739 using IVectSpVy = ddc::DiscreteVector<IDimSp, IDimVy>;
-
740 using IVectSpYVy = ddc::DiscreteVector<IDimSp, IDimY, IDimVy>;
-
741 
-
742 
+
719 
+
720 // -- Y DIMENSION ---------------------------------------------------
+
724 struct RDimY
+
725 {
+
730  static bool constexpr PERIODIC = false;
+
731 };
+
735 struct RDimVy
+
736 {
+
741  static bool constexpr PERIODIC = false;
+
742 };
743 
-
744 using BSDomainY = ddc::DiscreteDomain<BSplinesY>;
-
745 using BSDomainVy = ddc::DiscreteDomain<BSplinesVy>;
-
746 
-
747 using IDomainY = ddc::DiscreteDomain<IDimY>;
-
748 using IDomainVy = ddc::DiscreteDomain<IDimVy>;
-
749 using IDomainYVy = ddc::DiscreteDomain<IDimY, IDimVy>;
-
750 
-
751 using IDomainSpY = ddc::DiscreteDomain<IDimSp, IDimY>;
-
752 using IDomainSpVy = ddc::DiscreteDomain<IDimSp, IDimVy>;
-
753 using IDomainSpYVy = ddc::DiscreteDomain<IDimSp, IDimY, IDimVy>;
-
754 
+
744 
+
745 using CoordY = ddc::Coordinate<RDimY>;
+
746 using CoordVy = ddc::Coordinate<RDimVy>;
+
747 using CoordYVy = ddc::Coordinate<RDimY, RDimVy>;
+
748 
+
749 int constexpr BSDegreeY = 3;
+
750 int constexpr BSDegreeVy = 3;
+
751 
+
752 
+
753 bool constexpr BsplineOnUniformCellsY = false;
+
754 bool constexpr BsplineOnUniformCellsVy = false;
755 
-
756 
-
757 template <class ElementType>
-
758 using FieldY = ddc::Chunk<ElementType, IDomainY>;
-
759 
-
760 template <class ElementType>
-
761 using FieldVy = ddc::Chunk<ElementType, IDomainVy>;
-
762 
-
763 template <class ElementType>
-
764 using FieldSpY = ddc::Chunk<ElementType, IDomainSpY>;
+
756 using BSplinesY = std::conditional_t<
+
757  BsplineOnUniformCellsY,
+
758  ddc::UniformBSplines<RDimY, BSDegreeY>,
+
759  ddc::NonUniformBSplines<RDimY, BSDegreeY>>;
+
760 
+
761 using BSplinesVy = std::conditional_t<
+
762  BsplineOnUniformCellsVy,
+
763  ddc::UniformBSplines<RDimVy, BSDegreeVy>,
+
764  ddc::NonUniformBSplines<RDimVy, BSDegreeVy>>;
765 
-
766 template <class ElementType>
-
767 using FieldSpVy = ddc::Chunk<ElementType, IDomainSpVy>;
-
768 
-
769 template <class ElementType>
-
770 using FieldSpYVy = ddc::Chunk<ElementType, IDomainSpYVy>;
+
766 
+
767 
+
768 auto constexpr SplineYBoundary
+
769  = RDimY::PERIODIC ? ddc::BoundCond::PERIODIC : ddc::BoundCond::GREVILLE;
+
770 auto constexpr SplineVyBoundary = ddc::BoundCond::HERMITE;
771 
-
772 
-
773 
-
774 using DFieldY = FieldY<double>;
-
775 using DFieldVy = FieldVy<double>;
-
776 
-
777 using DFieldSpY = FieldSpY<double>;
-
778 using DFieldSpVy = FieldSpVy<double>;
-
779 using DFieldSpYVy = FieldSpYVy<double>;
-
780 
-
781 
+
772 bool constexpr UniformMeshY = ddc::is_spline_interpolation_mesh_uniform(
+
773  BsplineOnUniformCellsY,
+
774  SplineYBoundary,
+
775  SplineYBoundary,
+
776  BSDegreeY);
+
777 bool constexpr UniformMeshVy = ddc::is_spline_interpolation_mesh_uniform(
+
778  BsplineOnUniformCellsVy,
+
779  SplineVyBoundary,
+
780  SplineVyBoundary,
+
781  BSDegreeVy);
782 
-
783 template <class ElementType>
-
784 using SpanY = ddc::ChunkSpan<ElementType, IDomainY>;
-
785 
-
786 template <class ElementType>
-
787 using SpanVy = ddc::ChunkSpan<ElementType, IDomainVy>;
-
788 
-
789 template <class ElementType>
-
790 using SpanSpY = ddc::ChunkSpan<ElementType, IDomainSpY>;
+
783 using IDimY = std::conditional_t<
+
784  UniformMeshY,
+
785  ddc::UniformPointSampling<RDimY>,
+
786  ddc::NonUniformPointSampling<RDimY>>;
+
787 using IDimVy = std::conditional_t<
+
788  UniformMeshVy,
+
789  ddc::UniformPointSampling<RDimVy>,
+
790  ddc::NonUniformPointSampling<RDimVy>>;
791 
-
792 template <class ElementType>
-
793 using SpanSpVy = ddc::ChunkSpan<ElementType, IDomainSpVy>;
-
794 
-
795 template <class ElementType>
-
796 using SpanSpYVy = ddc::ChunkSpan<ElementType, IDomainSpYVy>;
+
792 using SplineInterpPointsY
+
793  = ddc::GrevilleInterpolationPoints<BSplinesY, SplineYBoundary, SplineYBoundary>;
+
794 using SplineInterpPointsVy
+
795  = ddc::GrevilleInterpolationPoints<BSplinesVy, SplineVyBoundary, SplineVyBoundary>;
+
796 
797 
-
798 
-
799 
-
800 using DSpanY = SpanY<double>;
-
801 using DSpanVy = SpanVy<double>;
+
798 // Species dimension
+
799 using IndexY = ddc::DiscreteElement<IDimY>;
+
800 using IndexVy = ddc::DiscreteElement<IDimVy>;
+
801 using IndexYVy = ddc::DiscreteElement<IDimY, IDimVy>;
802 
-
803 using DSpanSpY = SpanSpY<double>;
-
804 using DSpanSpVy = SpanSpVy<double>;
-
805 using DSpanSpYVy = SpanSpYVy<double>;
+
803 using IndexSpY = ddc::DiscreteElement<IDimSp, IDimY>;
+
804 using IndexSpVy = ddc::DiscreteElement<IDimSp, IDimVy>;
+
805 using IndexSpYVy = ddc::DiscreteElement<IDimSp, IDimY, IDimVy>;
806 
807 
808 
-
809 template <class ElementType>
-
810 using ViewY = ddc::ChunkSpan<ElementType const, IDomainY>;
-
811 
-
812 template <class ElementType>
-
813 using ViewVy = ddc::ChunkSpan<ElementType const, IDomainVy>;
-
814 
-
815 template <class ElementType>
-
816 using ViewSpY = ddc::ChunkSpan<ElementType const, IDomainSpY>;
+
809 using IVectY = ddc::DiscreteVector<IDimY>;
+
810 using IVectVy = ddc::DiscreteVector<IDimVy>;
+
811 using IVectYVy = ddc::DiscreteVector<IDimY, IDimVy>;
+
812 
+
813 using IVectSpY = ddc::DiscreteVector<IDimSp, IDimY>;
+
814 using IVectSpVy = ddc::DiscreteVector<IDimSp, IDimVy>;
+
815 using IVectSpYVy = ddc::DiscreteVector<IDimSp, IDimY, IDimVy>;
+
816 
817 
-
818 template <class ElementType>
-
819 using ViewSpVy = ddc::ChunkSpan<ElementType const, IDomainSpVy>;
-
820 
-
821 template <class ElementType>
-
822 using ViewSpYVy = ddc::ChunkSpan<ElementType const, IDomainSpYVy>;
-
823 
-
824 template <class ElementType>
-
825 using BSViewY = ddc::ChunkSpan<ElementType const, BSDomainY>;
-
826 
-
827 
-
828 
-
829 using DViewY = ViewY<double>;
-
830 using DViewVy = ViewVy<double>;
+
818 
+
819 using BSDomainY = ddc::DiscreteDomain<BSplinesY>;
+
820 using BSDomainVy = ddc::DiscreteDomain<BSplinesVy>;
+
821 
+
822 using IDomainY = ddc::DiscreteDomain<IDimY>;
+
823 using IDomainVy = ddc::DiscreteDomain<IDimVy>;
+
824 using IDomainYVy = ddc::DiscreteDomain<IDimY, IDimVy>;
+
825 
+
826 using IDomainSpY = ddc::DiscreteDomain<IDimSp, IDimY>;
+
827 using IDomainSpVy = ddc::DiscreteDomain<IDimSp, IDimVy>;
+
828 using IDomainSpYVy = ddc::DiscreteDomain<IDimSp, IDimY, IDimVy>;
+
829 
+
830 
831 
-
832 using DViewSpY = ViewSpY<double>;
-
833 using DViewSpVy = ViewSpVy<double>;
-
834 using DViewSpYVy = ViewSpYVy<double>;
-
835 
-
836 using DBSViewY = BSViewY<double>;
+
832 template <class ElementType>
+
833 using FieldY = ddc::Chunk<ElementType, IDomainY>;
+
834 
+
835 template <class ElementType>
+
836 using FieldVy = ddc::Chunk<ElementType, IDomainVy>;
837 
-
838 
-
839 
-
840 // -- X Y DIMENSIONS ------------------------------------------------
-
841 using CoordXY = ddc::Coordinate<RDimX, RDimY>;
-
842 using CoordVxVy = ddc::Coordinate<RDimVx, RDimVy>;
-
843 using CoordXYVxVy = ddc::Coordinate<RDimX, RDimY, RDimVx, RDimVy>;
-
844 
-
845 
- - +
838 template <class ElementType>
+
839 using FieldSpY = ddc::Chunk<ElementType, IDomainSpY>;
+
840 
+
841 template <class ElementType>
+
842 using FieldSpVy = ddc::Chunk<ElementType, IDomainSpVy>;
+
843 
+
844 template <class ElementType>
+
845 using FieldSpYVy = ddc::Chunk<ElementType, IDomainSpYVy>;
+
846 
+
847 
848 
-
849 
-
850 // Species dimension
-
851 using IndexXY = ddc::DiscreteElement<IDimX, IDimY>;
-
852 using IndexVxVy = ddc::DiscreteElement<IDimVx, IDimVy>;
-
853 using IndexXYVxVy = ddc::DiscreteElement<IDimX, IDimY, IDimVx, IDimVy>;
-
854 
-
855 using IndexSpXY = ddc::DiscreteElement<IDimSp, IDimX, IDimY>;
-
856 using IndexSpVxVy = ddc::DiscreteElement<IDimSp, IDimVx, IDimVy>;
-
857 using IndexSpXYVxVy = ddc::DiscreteElement<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
-
858 
-
859 
+
849 using DFieldY = FieldY<double>;
+
850 using DFieldVy = FieldVy<double>;
+
851 
+
852 using DFieldSpY = FieldSpY<double>;
+
853 using DFieldSpVy = FieldSpVy<double>;
+
854 using DFieldSpYVy = FieldSpYVy<double>;
+
855 
+
856 
+
857 
+
858 template <class ElementType>
+
859 using SpanY = ddc::ChunkSpan<ElementType, IDomainY>;
860 
-
861 using IVectXY = ddc::DiscreteVector<IDimX, IDimY>;
-
862 using IVectVxVy = ddc::DiscreteVector<IDimVx, IDimVy>;
-
863 using IVectXYVxVy = ddc::DiscreteVector<IDimX, IDimY, IDimVx, IDimVy>;
-
864 
-
865 using IVectSpXY = ddc::DiscreteVector<IDimSp, IDimX, IDimY>;
-
866 using IVectSpVxVy = ddc::DiscreteVector<IDimSp, IDimVx, IDimVy>;
-
867 using IVectSpXYVxVy = ddc::DiscreteVector<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
-
868 
+
861 template <class ElementType>
+
862 using SpanVy = ddc::ChunkSpan<ElementType, IDomainVy>;
+
863 
+
864 template <class ElementType>
+
865 using SpanSpY = ddc::ChunkSpan<ElementType, IDomainSpY>;
+
866 
+
867 template <class ElementType>
+
868 using SpanSpVy = ddc::ChunkSpan<ElementType, IDomainSpVy>;
869 
-
870 
-
871 using BSDomainXY = ddc::DiscreteDomain<BSplinesX, BSplinesY>;
-
872 using BSDomainVxVy = ddc::DiscreteDomain<BSplinesVx, BSplinesVy>;
+
870 template <class ElementType>
+
871 using SpanSpYVy = ddc::ChunkSpan<ElementType, IDomainSpYVy>;
+
872 
873 
-
874 using IDomainXY = ddc::DiscreteDomain<IDimX, IDimY>;
-
875 using IDomainVxVy = ddc::DiscreteDomain<IDimVx, IDimVy>;
-
876 using IDomainXYVxVy = ddc::DiscreteDomain<IDimX, IDimY, IDimVx, IDimVy>;
+
874 
+
875 using DSpanY = SpanY<double>;
+
876 using DSpanVy = SpanVy<double>;
877 
-
878 using IDomainSpXY = ddc::DiscreteDomain<IDimSp, IDimX, IDimY>;
-
879 using IDomainSpVxVy = ddc::DiscreteDomain<IDimSp, IDimVx, IDimVy>;
-
880 using IDomainSpXYVxVy = ddc::DiscreteDomain<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
+
878 using DSpanSpY = SpanSpY<double>;
+
879 using DSpanSpVy = SpanSpVy<double>;
+
880 using DSpanSpYVy = SpanSpYVy<double>;
881 
882 
883 
884 template <class ElementType>
-
885 using FieldXY = ddc::Chunk<ElementType, IDomainXY>;
+
885 using ViewY = ddc::ChunkSpan<ElementType const, IDomainY>;
886 
887 template <class ElementType>
-
888 using FieldVxVy = ddc::Chunk<ElementType, IDomainVxVy>;
+
888 using ViewVy = ddc::ChunkSpan<ElementType const, IDomainVy>;
889 
890 template <class ElementType>
-
891 using FieldSpXY = ddc::Chunk<ElementType, IDomainSpXY>;
+
891 using ViewSpY = ddc::ChunkSpan<ElementType const, IDomainSpY>;
892 
893 template <class ElementType>
-
894 using FieldSpVxVy = ddc::Chunk<ElementType, IDomainSpVxVy>;
+
894 using ViewSpVy = ddc::ChunkSpan<ElementType const, IDomainSpVy>;
895 
896 template <class ElementType>
-
897 using FieldSpXYVxVy = ddc::Chunk<ElementType, IDomainSpXYVxVy>;
+
897 using ViewSpYVy = ddc::ChunkSpan<ElementType const, IDomainSpYVy>;
898 
-
899 
-
900 
-
901 using DFieldXY = FieldXY<double>;
-
902 using DFieldVxVy = FieldVxVy<double>;
+
899 template <class ElementType>
+
900 using BSViewY = ddc::ChunkSpan<ElementType const, BSDomainY>;
+
901 
+
902 
903 
-
904 using DFieldSpVxVy = FieldSpVxVy<double>;
-
905 using DFieldSpXYVxVy = FieldSpXYVxVy<double>;
+
904 using DViewY = ViewY<double>;
+
905 using DViewVy = ViewVy<double>;
906 
-
907 
-
908 
-
909 template <class ElementType>
-
910 using SpanXY = ddc::ChunkSpan<ElementType, IDomainXY>;
-
911 
-
912 template <class ElementType>
-
913 using SpanVxVy = ddc::ChunkSpan<ElementType, IDomainVy>;
+
907 using DViewSpY = ViewSpY<double>;
+
908 using DViewSpVy = ViewSpVy<double>;
+
909 using DViewSpYVy = ViewSpYVy<double>;
+
910 
+
911 using DBSViewY = BSViewY<double>;
+
912 
+
913 
914 
-
915 template <class ElementType>
-
916 using SpanSpXY = ddc::ChunkSpan<ElementType, IDomainSpXY>;
-
917 
-
918 template <class ElementType>
-
919 using SpanSpVxVy = ddc::ChunkSpan<ElementType, IDomainSpVy>;
+
915 // -- X Y DIMENSIONS ------------------------------------------------
+
916 using CoordXY = ddc::Coordinate<RDimX, RDimY>;
+
917 using CoordVxVy = ddc::Coordinate<RDimVx, RDimVy>;
+
918 using CoordXYVxVy = ddc::Coordinate<RDimX, RDimY, RDimVx, RDimVy>;
+
919 
920 
-
921 template <class ElementType>
-
922 using SpanSpXYVxVy = ddc::ChunkSpan<ElementType, IDomainSpXYVxVy>;
-
923 
-
924 
+
921 // Species dimension
+
922 using IndexXY = ddc::DiscreteElement<IDimX, IDimY>;
+
923 using IndexVxVy = ddc::DiscreteElement<IDimVx, IDimVy>;
+
924 using IndexXYVxVy = ddc::DiscreteElement<IDimX, IDimY, IDimVx, IDimVy>;
925 
-
926 using DSpanXY = SpanXY<double>;
-
927 using DSpanVxVy = SpanVxVy<double>;
-
928 
-
929 using DSpanSpXY = SpanSpXY<double>;
-
930 using DSpanSpVxVy = SpanSpVxVy<double>;
-
931 using DSpanSpXYVxVy = SpanSpXYVxVy<double>;
-
932 
-
933 
-
934 
-
935 template <class ElementType>
-
936 using ViewXY = ddc::ChunkSpan<ElementType const, IDomainXY>;
-
937 
-
938 template <class ElementType>
-
939 using ViewVxVy = ddc::ChunkSpan<ElementType const, IDomainVxVy>;
+
926 using IndexSpXY = ddc::DiscreteElement<IDimSp, IDimX, IDimY>;
+
927 using IndexSpVxVy = ddc::DiscreteElement<IDimSp, IDimVx, IDimVy>;
+
928 using IndexSpXYVxVy = ddc::DiscreteElement<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
+
929 
+
930 
+
931 
+
932 using IVectXY = ddc::DiscreteVector<IDimX, IDimY>;
+
933 using IVectVxVy = ddc::DiscreteVector<IDimVx, IDimVy>;
+
934 using IVectXYVxVy = ddc::DiscreteVector<IDimX, IDimY, IDimVx, IDimVy>;
+
935 
+
936 using IVectSpXY = ddc::DiscreteVector<IDimSp, IDimX, IDimY>;
+
937 using IVectSpVxVy = ddc::DiscreteVector<IDimSp, IDimVx, IDimVy>;
+
938 using IVectSpXYVxVy = ddc::DiscreteVector<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
+
939 
940 
-
941 template <class ElementType>
-
942 using ViewSpXY = ddc::ChunkSpan<ElementType const, IDomainSpXY>;
-
943 
-
944 template <class ElementType>
-
945 using ViewSpVxVy = ddc::ChunkSpan<ElementType const, IDomainSpVxVy>;
-
946 
-
947 template <class ElementType>
-
948 using ViewSpXYVxVy = ddc::ChunkSpan<ElementType const, IDomainSpXYVxVy>;
-
949 
-
950 template <class ElementType>
-
951 using BSViewXY = ddc::ChunkSpan<ElementType const, BSDomainXY>;
+
941 
+
942 using BSDomainXY = ddc::DiscreteDomain<BSplinesX, BSplinesY>;
+
943 using BSDomainVxVy = ddc::DiscreteDomain<BSplinesVx, BSplinesVy>;
+
944 
+
945 using IDomainXY = ddc::DiscreteDomain<IDimX, IDimY>;
+
946 using IDomainVxVy = ddc::DiscreteDomain<IDimVx, IDimVy>;
+
947 using IDomainXYVxVy = ddc::DiscreteDomain<IDimX, IDimY, IDimVx, IDimVy>;
+
948 
+
949 using IDomainSpXY = ddc::DiscreteDomain<IDimSp, IDimX, IDimY>;
+
950 using IDomainSpVxVy = ddc::DiscreteDomain<IDimSp, IDimVx, IDimVy>;
+
951 using IDomainSpXYVxVy = ddc::DiscreteDomain<IDimSp, IDimX, IDimY, IDimVx, IDimVy>;
952 
953 
954 
-
955 using DViewXY = ViewXY<double>;
-
956 using DViewVxVy = ViewVxVy<double>;
+
955 template <class ElementType>
+
956 using FieldXY = ddc::Chunk<ElementType, IDomainXY>;
957 
-
958 using DViewSpXY = ViewSpXY<double>;
-
959 using DViewSpVxVy = ViewSpVxVy<double>;
-
960 using DViewSpXYVxVy = ViewSpXYVxVy<double>;
-
961 
-
962 using DBSViewXY = BSViewXY<double>;
-
A class which provides helper functions to initialise the Greville points from a B-Spline definition.
Definition: greville_interpolation_points.hpp:20
-
NonUniformPointSampling specialization of BSplines.
Definition: bsplines_non_uniform.hpp:16
-
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:33
+
958 template <class ElementType>
+
959 using FieldVxVy = ddc::Chunk<ElementType, IDomainVxVy>;
+
960 
+
961 template <class ElementType>
+
962 using FieldSpXY = ddc::Chunk<ElementType, IDomainSpXY>;
+
963 
+
964 template <class ElementType>
+
965 using FieldSpVxVy = ddc::Chunk<ElementType, IDomainSpVxVy>;
+
966 
+
967 template <class ElementType>
+
968 using FieldSpXYVxVy = ddc::Chunk<ElementType, IDomainSpXYVxVy>;
+
969 
+
970 
+
971 
+
972 using DFieldXY = FieldXY<double>;
+
973 using DFieldVxVy = FieldVxVy<double>;
+
974 
+
975 using DFieldSpVxVy = FieldSpVxVy<double>;
+
976 using DFieldSpXYVxVy = FieldSpXYVxVy<double>;
+
977 
+
978 
+
979 
+
980 template <class ElementType>
+
981 using SpanXY = ddc::ChunkSpan<ElementType, IDomainXY>;
+
982 
+
983 template <class ElementType>
+
984 using SpanVxVy = ddc::ChunkSpan<ElementType, IDomainVy>;
+
985 
+
986 template <class ElementType>
+
987 using SpanSpXY = ddc::ChunkSpan<ElementType, IDomainSpXY>;
+
988 
+
989 template <class ElementType>
+
990 using SpanSpVxVy = ddc::ChunkSpan<ElementType, IDomainSpVy>;
+
991 
+
992 template <class ElementType>
+
993 using SpanSpXYVxVy = ddc::ChunkSpan<ElementType, IDomainSpXYVxVy>;
+
994 
+
995 
+
996 
+
997 using DSpanXY = SpanXY<double>;
+
998 using DSpanVxVy = SpanVxVy<double>;
+
999 
+
1000 using DSpanSpXY = SpanSpXY<double>;
+
1001 using DSpanSpVxVy = SpanSpVxVy<double>;
+
1002 using DSpanSpXYVxVy = SpanSpXYVxVy<double>;
+
1003 
+
1004 
+
1005 
+
1006 template <class ElementType>
+
1007 using ViewXY = ddc::ChunkSpan<ElementType const, IDomainXY>;
+
1008 
+
1009 template <class ElementType>
+
1010 using ViewVxVy = ddc::ChunkSpan<ElementType const, IDomainVxVy>;
+
1011 
+
1012 template <class ElementType>
+
1013 using ViewSpXY = ddc::ChunkSpan<ElementType const, IDomainSpXY>;
+
1014 
+
1015 template <class ElementType>
+
1016 using ViewSpVxVy = ddc::ChunkSpan<ElementType const, IDomainSpVxVy>;
+
1017 
+
1018 template <class ElementType>
+
1019 using ViewSpXYVxVy = ddc::ChunkSpan<ElementType const, IDomainSpXYVxVy>;
+
1020 
+
1021 template <class ElementType>
+
1022 using BSViewXY = ddc::ChunkSpan<ElementType const, BSDomainXY>;
+
1023 
+
1024 
+
1025 
+
1026 using DViewXY = ViewXY<double>;
+
1027 using DViewVxVy = ViewVxVy<double>;
+
1028 
+
1029 using DViewSpXY = ViewSpXY<double>;
+
1030 using DViewSpVxVy = ViewSpVxVy<double>;
+
1031 using DViewSpXYVxVy = ViewSpXYVxVy<double>;
+
1032 
+
1033 using DBSViewXY = BSViewXY<double>;
+
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:28
Species discrete dimension to access constant attributes related to species.
Definition: species_info.hpp:9
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
-
Definition: bsplines_uniform.hpp:15
Pre-declaration of VectorFieldSpan.
Definition: vector_field_span.hpp:45
Pre-declaration of VectorField.
Definition: vector_field.hpp:34
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
-
Define periodic real Theta dimension.
Definition: geometry.hpp:46
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:51
-
Define non periodic real R dimension.
Definition: geometry.hpp:35
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:40
-
Define periodic real Theta velocity dimension.
Definition: geometry.hpp:231
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:236
-
Define non periodic real R velocity dimension.
Definition: geometry.hpp:219
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:224
-
Define non periodic real X velocity dimension.
Definition: geometry.hpp:446
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:451
-
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:659
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:664
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:440
-
Define non periodic real Y dimension.
Definition: geometry.hpp:648
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:653
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
+
Define periodic real Theta dimension.
Definition: geometry.hpp:39
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:44
+
Define non periodic real R dimension.
Definition: geometry.hpp:28
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:33
+
Define periodic real Theta velocity dimension.
Definition: geometry.hpp:279
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:284
+
Define non periodic real R velocity dimension.
Definition: geometry.hpp:267
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:272
+
Define non periodic real X velocity dimension.
Definition: geometry.hpp:525
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:530
+
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:736
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:741
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:519
+
Define non periodic real Y dimension.
Definition: geometry.hpp:725
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:730
diff --git a/geometryXVx_2geometry_2geometry_8hpp_source.html b/geometryXVx_2geometry_2geometry_8hpp_source.html index 8fa81c014..b5441ea21 100644 --- a/geometryXVx_2geometry_2geometry_8hpp_source.html +++ b/geometryXVx_2geometry_2geometry_8hpp_source.html @@ -182,12 +182,12 @@
95  ddc::UniformPointSampling<RDimVx>,
96  ddc::NonUniformPointSampling<RDimVx>>;
97 
- +
98 using SplineInterpPointsX
99  = ddc::GrevilleInterpolationPoints<BSplinesX, SplineXBoundary, SplineXBoundary>;
- +
100 using SplineInterpPointsVx
101  = ddc::GrevilleInterpolationPoints<BSplinesVx, SplineVxBoundary, SplineVxBoundary>;
102 
-
103 using SplineXBuilder = ddc::SplineBuilder<
+
103 using SplineXBuilder = ddc::SplineBuilder<
104  Kokkos::DefaultExecutionSpace,
105  Kokkos::DefaultExecutionSpace::memory_space,
106  BSplinesX,
@@ -211,7 +211,7 @@
124 #endif
125  IDimX,
126  IDimVx>;
-
127 using SplineVxBuilder = ddc::SplineBuilder<
+
127 using SplineVxBuilder = ddc::SplineBuilder<
128  Kokkos::DefaultExecutionSpace,
129  Kokkos::DefaultExecutionSpace::memory_space,
130  BSplinesVx,
@@ -481,15 +481,13 @@
IDomainVx VelocityDDom
An alias for the velocity discrete domain type.
Definition: geometry.hpp:403
IDomainX SpatialDDom
An alias for the spatial discrete domain type.
Definition: geometry.hpp:398
std::conditional_t< std::is_same_v< T, IDimVx >, IDimX, void > spatial_dim_for
A templated type giving the spatial discrete dimension type associated to a velocity discrete dimensi...
Definition: geometry.hpp:388
-
A class which provides helper functions to initialise the Greville points from a B-Spline definition.
Definition: greville_interpolation_points.hpp:20
Species discrete dimension to access constant attributes related to species.
Definition: species_info.hpp:9
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
A class which describes the real space in the temporal direction.
Definition: geometry.hpp:42
static constexpr bool PERIODIC
A boolean indicating if the dimension is periodic.
Definition: geometry.hpp:46
-
Define non periodic real X velocity dimension.
Definition: geometry.hpp:446
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:451
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:440
+
Define non periodic real X velocity dimension.
Definition: geometry.hpp:525
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:530
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:519
diff --git a/geometryXYVxVy_2geometry_2geometry_8hpp_source.html b/geometryXYVxVy_2geometry_2geometry_8hpp_source.html index f783155c3..ecd428fff 100644 --- a/geometryXYVxVy_2geometry_2geometry_8hpp_source.html +++ b/geometryXYVxVy_2geometry_2geometry_8hpp_source.html @@ -217,17 +217,17 @@
136  ddc::NonUniformPointSampling<RDimVy>>;
137 
138 // IDim initialisers
- +
139 using SplineInterpPointsX
140  = ddc::GrevilleInterpolationPoints<BSplinesX, SplineXBoundary, SplineXBoundary>;
- +
141 using SplineInterpPointsY
142  = ddc::GrevilleInterpolationPoints<BSplinesY, SplineYBoundary, SplineYBoundary>;
- +
143 using SplineInterpPointsVx
144  = ddc::GrevilleInterpolationPoints<BSplinesVx, SplineVxBoundary, SplineVxBoundary>;
- +
145 using SplineInterpPointsVy
146  = ddc::GrevilleInterpolationPoints<BSplinesVy, SplineVyBoundary, SplineVyBoundary>;
147 
148 // SplineBuilder and SplineEvaluator definition
-
149 using SplineXBuilder = ddc::SplineBuilder<
+
149 using SplineXBuilder = ddc::SplineBuilder<
150  Kokkos::DefaultExecutionSpace,
151  Kokkos::DefaultExecutionSpace::memory_space,
152  BSplinesX,
@@ -250,7 +250,7 @@
169  IDimY,
170  IDimVx,
171  IDimVy>;
-
172 using SplineYBuilder = ddc::SplineBuilder<
+
172 using SplineYBuilder = ddc::SplineBuilder<
173  Kokkos::DefaultExecutionSpace,
174  Kokkos::DefaultExecutionSpace::memory_space,
175  BSplinesY,
@@ -273,7 +273,7 @@
192  IDimY,
193  IDimVx,
194  IDimVy>;
-
195 using SplineVxBuilder = ddc::SplineBuilder<
+
195 using SplineVxBuilder = ddc::SplineBuilder<
196  Kokkos::DefaultExecutionSpace,
197  Kokkos::DefaultExecutionSpace::memory_space,
198  BSplinesVx,
@@ -296,7 +296,7 @@
215  IDimY,
216  IDimVx,
217  IDimVy>;
-
218 using SplineVyBuilder = ddc::SplineBuilder<
+
218 using SplineVyBuilder = ddc::SplineBuilder<
219  Kokkos::DefaultExecutionSpace,
220  Kokkos::DefaultExecutionSpace::memory_space,
221  BSplinesVy,
@@ -527,17 +527,15 @@
IDomainSpXYVxVy FdistribuDDom
An alias for the whole distribution function discrete domain type.
Definition: geometry.hpp:464
IDomainXY SpatialDDom
An alias for the spatial discrete domain type.
Definition: geometry.hpp:454
std::conditional_t< std::is_same_v< T, IDimX >, IDimVx, std::conditional_t< std::is_same_v< T, IDimY >, IDimVy, void > > velocity_dim_for
A templated type giving the velocity discrete dimension type associated to a spatial discrete dimensi...
Definition: geometry.hpp:438
-
A class which provides helper functions to initialise the Greville points from a B-Spline definition.
Definition: greville_interpolation_points.hpp:20
Species discrete dimension to access constant attributes related to species.
Definition: species_info.hpp:9
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
Define non periodic real X velocity dimension.
Definition: geometry.hpp:446
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:451
-
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:659
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:664
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:440
-
Define non periodic real Y dimension.
Definition: geometry.hpp:648
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:653
+
Define non periodic real X velocity dimension.
Definition: geometry.hpp:525
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:530
+
Define non periodic real Y velocity dimension.
Definition: geometry.hpp:736
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:741
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:519
+
Define non periodic real Y dimension.
Definition: geometry.hpp:725
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: geometry.hpp:730
diff --git a/greville__interpolation__points_8hpp_source.html b/greville__interpolation__points_8hpp_source.html deleted file mode 100644 index e6e436ee6..000000000 --- a/greville__interpolation__points_8hpp_source.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/greville_interpolation_points.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
greville_interpolation_points.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <cstddef>
-
4 #include <type_traits>
-
5 #include <vector>
-
6 
-
7 #include <ddc/ddc.hpp>
-
8 
-
9 #include <sll/spline_boundary_conditions.hpp>
-
10 
-
18 template <class BSplines, BoundCond BcXmin, BoundCond BcXmax>
- -
20 {
-
21  using tag_type = typename BSplines::tag_type;
-
22 
-
23  template <typename U = BSplines, class = std::enable_if_t<U::is_uniform()>>
-
24  static auto uniform_greville_points()
-
25  {
-
26  using Sampling = ddc::UniformPointSampling<tag_type>;
-
27  using SamplingImpl = typename Sampling::template Impl<Kokkos::HostSpace>;
-
28 
-
29  double constexpr shift = (BSplines::degree() % 2 == 0) ? 0.5 : 0.0;
-
30  double dx
-
31  = (ddc::discrete_space<BSplines>().rmax() - ddc::discrete_space<BSplines>().rmin())
-
32  / ddc::discrete_space<BSplines>().ncells();
-
33  return SamplingImpl(
-
34  ddc::Coordinate<tag_type>(ddc::discrete_space<BSplines>().rmin() + shift * dx),
-
35  ddc::Coordinate<tag_type>(dx));
-
36  }
-
37 
-
38  template <typename U = BSplines, class = std::enable_if_t<!U::is_uniform()>>
-
39  static auto non_uniform_greville_points()
-
40  {
-
41  using Sampling = ddc::NonUniformPointSampling<tag_type>;
-
42  using SamplingImpl = typename Sampling::template Impl<Kokkos::HostSpace>;
-
43 
-
44  int n_greville_points = ddc::discrete_space<BSplines>().nbasis();
-
45  if constexpr (U::is_periodic()) {
-
46  n_greville_points += 1;
-
47  }
-
48 
-
49  std::vector<double> greville_points(n_greville_points);
-
50  ddc::DiscreteDomain<BSplines> bspline_domain
-
51  = ddc::discrete_space<BSplines>().full_domain().take_first(
-
52  ddc::DiscreteVector<BSplines>(ddc::discrete_space<BSplines>().nbasis()));
-
53 
-
54  ddc::for_each(bspline_domain, [&](ddc::DiscreteElement<BSplines> ib) {
-
55  // Define the Greville points from the bspline knots
-
56  greville_points[ib.uid()] = 0.0;
-
57  for (std::size_t i(0); i < BSplines::degree(); ++i) {
-
58  greville_points[ib.uid()]
-
59  += ddc::discrete_space<BSplines>().get_support_knot_n(ib, i + 1);
-
60  }
-
61  greville_points[ib.uid()] /= BSplines::degree();
-
62  });
-
63 
-
64  std::vector<double> temp_knots(BSplines::degree());
-
65  // Use periodicity to ensure all points are in the domain
-
66  if constexpr (U::is_periodic()) {
-
67  int npoints(0);
-
68  // Count the number of interpolation points that need shifting to preserve the ordering
-
69  while (greville_points[npoints] < ddc::discrete_space<BSplines>().rmin()) {
-
70  temp_knots[npoints]
-
71  = greville_points[npoints] + ddc::discrete_space<BSplines>().length();
-
72  npoints++;
-
73  }
-
74  // Shift the points
-
75  for (std::size_t i = 0; i < ddc::discrete_space<BSplines>().nbasis() - npoints; ++i) {
-
76  greville_points[i] = greville_points[i + npoints];
-
77  }
-
78  for (int i = 0; i < npoints; ++i) {
-
79  greville_points[ddc::discrete_space<BSplines>().nbasis() - npoints + i]
-
80  = temp_knots[i];
-
81  }
-
82 
-
83  // Save a periodic point to initialise the domain size
-
84  greville_points[n_greville_points - 1]
-
85  = greville_points[0] + ddc::discrete_space<BSplines>().length();
-
86  }
-
87 
-
88  return SamplingImpl(greville_points);
-
89  }
-
90 
-
91  static constexpr int N_BE_MIN = n_boundary_equations(BcXmin, BSplines::degree());
-
92  static constexpr int N_BE_MAX = n_boundary_equations(BcXmax, BSplines::degree());
-
93  template <class U>
-
94  static constexpr bool is_uniform_mesh_v
-
95  = U::is_uniform() && ((N_BE_MIN != 0 && N_BE_MAX != 0) || U::is_periodic());
-
96 
-
97 public:
-
107  template <
-
108  typename U = BSplines,
-
109  std::enable_if_t<
-
110  is_uniform_mesh_v<U>,
-
111  bool> = true> // U must be in condition for SFINAE
-
112  static auto get_sampling()
-
113  {
-
114  return uniform_greville_points();
-
115  }
-
116 
-
122  template <
-
123  typename U = BSplines,
-
124  std::enable_if_t<
-
125  !is_uniform_mesh_v<U>,
-
126  bool> = true> // U must be in condition for SFINAE
-
127  static auto get_sampling()
-
128  {
-
129  using Sampling = ddc::NonUniformPointSampling<tag_type>;
-
130  using SamplingImpl = typename Sampling::template Impl<Kokkos::HostSpace>;
-
131  if constexpr (U::is_uniform()) {
-
132  auto points_wo_bcs = uniform_greville_points();
-
133  int const n_break_points = ddc::discrete_space<BSplines>().ncells() + 1;
-
134  int const npoints = ddc::discrete_space<BSplines>().nbasis() - N_BE_MIN - N_BE_MAX;
-
135  std::vector<double> points_with_bcs(npoints);
-
136 
-
137  // Construct Greville-like points at the edge
-
138  if constexpr (BcXmin == BoundCond::GREVILLE) {
-
139  for (std::size_t i(0); i < BSplines::degree() / 2 + 1; ++i) {
-
140  points_with_bcs[i]
-
141  = (BSplines::degree() - i) * ddc::discrete_space<BSplines>().rmin();
-
142  for (std::size_t j(0); j < i; ++j) {
-
143  points_with_bcs[i] += ddc::discrete_space<BSplines>().get_support_knot_n(
-
144  ddc::DiscreteElement<BSplines>(i),
-
145  BSplines::degree() - j);
-
146  }
-
147  points_with_bcs[i] /= BSplines::degree();
-
148  }
-
149  } else {
-
150  points_with_bcs[0] = points_wo_bcs.coordinate(
-
151  ddc::DiscreteElement<ddc::UniformPointSampling<tag_type>>(0));
-
152  }
-
153 
-
154  int const n_start = (BcXmin == BoundCond::GREVILLE) ? BSplines::degree() / 2 + 1 : 1;
-
155  int const domain_size = n_break_points - 2;
-
156  ddc::DiscreteDomain<ddc::UniformPointSampling<tag_type>> const
-
157  domain(ddc::DiscreteElement<ddc::UniformPointSampling<tag_type>>(1),
-
158  ddc::DiscreteVector<ddc::UniformPointSampling<tag_type>>(domain_size));
-
159 
-
160  // Copy central points
-
161  ddc::for_each(domain, [&](auto ip) {
-
162  points_with_bcs[ip.uid() + n_start - 1] = points_wo_bcs.coordinate(ip);
-
163  });
-
164 
-
165  // Construct Greville-like points at the edge
-
166  if constexpr (BcXmax == BoundCond::GREVILLE) {
-
167  for (std::size_t i(0); i < BSplines::degree() / 2 + 1; ++i) {
-
168  points_with_bcs[npoints - 1 - i]
-
169  = (BSplines::degree() - i) * ddc::discrete_space<BSplines>().rmax();
-
170  for (std::size_t j(0); j < i; ++j) {
-
171  points_with_bcs[npoints - 1 - i]
-
172  += ddc::discrete_space<BSplines>().get_support_knot_n(
-
173  ddc::DiscreteElement<BSplines>(
-
174  ddc::discrete_space<BSplines>().nbasis() - 1 - i),
-
175  j + 1);
-
176  }
-
177  points_with_bcs[npoints - 1 - i] /= BSplines::degree();
-
178  }
-
179  } else {
-
180  points_with_bcs[npoints - 1] = points_wo_bcs.coordinate(
-
181  ddc::DiscreteElement<ddc::UniformPointSampling<tag_type>>(
-
182  ddc::discrete_space<BSplines>().ncells() - 1
-
183  + BSplines::degree() % 2));
-
184  }
-
185  return SamplingImpl(points_with_bcs);
-
186  } else {
-
187  auto points_wo_bcs = non_uniform_greville_points();
-
188  if constexpr (N_BE_MIN == 0 && N_BE_MAX == 0) {
-
189  return points_wo_bcs;
-
190  } else {
-
191  // All points are Greville points. Extract unnecessary points near the boundary
-
192  std::vector<double> points_with_bcs(points_wo_bcs.size() - N_BE_MIN - N_BE_MAX);
-
193  int constexpr n_start = N_BE_MIN;
-
194 
-
195  using length = ddc::DiscreteVector<ddc::NonUniformPointSampling<tag_type>>;
-
196 
-
197  ddc::DiscreteDomain<ddc::NonUniformPointSampling<tag_type>> const
-
198  domain(ddc::DiscreteElement<ddc::NonUniformPointSampling<tag_type>>(
-
199  n_start),
-
200  length(points_with_bcs.size()));
-
201 
-
202  points_with_bcs[0] = points_wo_bcs.coordinate(domain.front());
-
203  ddc::for_each(domain.remove(length(1), length(1)), [&](auto ip) {
-
204  points_with_bcs[ip.uid() - n_start] = points_wo_bcs.coordinate(ip);
-
205  });
-
206  points_with_bcs[points_with_bcs.size() - 1]
-
207  = points_wo_bcs.coordinate(domain.back());
-
208 
-
209  return SamplingImpl(points_with_bcs);
-
210  }
-
211  }
-
212  }
-
213 
-
219  using interpolation_mesh_type = typename decltype(get_sampling())::discrete_dimension_type;
-
220 
-
226  static ddc::DiscreteDomain<interpolation_mesh_type> get_domain()
-
227  {
-
228  int const npoints = ddc::discrete_space<BSplines>().nbasis() - N_BE_MIN - N_BE_MAX;
-
229  return ddc::DiscreteDomain<interpolation_mesh_type>(
-
230  ddc::DiscreteElement<interpolation_mesh_type>(0),
-
231  ddc::DiscreteVector<interpolation_mesh_type>(npoints));
-
232  }
-
233 };
-
A class which provides helper functions to initialise the Greville points from a B-Spline definition.
Definition: greville_interpolation_points.hpp:20
-
static auto get_sampling()
Get the UniformPointSampling defining the Greville points.
Definition: greville_interpolation_points.hpp:112
-
static ddc::DiscreteDomain< interpolation_mesh_type > get_domain()
Get the domain which gives us access to all of the Greville points.
Definition: greville_interpolation_points.hpp:226
-
typename decltype(get_sampling())::discrete_dimension_type interpolation_mesh_type
The type of the mesh.
Definition: greville_interpolation_points.hpp:219
-
-
- - - - diff --git a/knots__as__interpolation__points_8hpp_source.html b/knots__as__interpolation__points_8hpp_source.html deleted file mode 100644 index 4715fef42..000000000 --- a/knots__as__interpolation__points_8hpp_source.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/knots_as_interpolation_points.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
knots_as_interpolation_points.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <vector>
-
4 
-
5 #include <ddc/ddc.hpp>
-
6 
-
7 #include <sll/spline_boundary_conditions.hpp>
-
8 
-
20 template <class BSplines, BoundCond BcXmin, BoundCond BcXmax>
- -
22 {
-
23  static_assert(BcXmin != BoundCond::GREVILLE);
-
24  static_assert(BcXmax != BoundCond::GREVILLE);
-
25 
-
26  using tag_type = typename BSplines::tag_type;
-
27 
-
28 public:
-
34  template <typename U = BSplines>
-
35  static auto get_sampling()
-
36  {
-
37  if constexpr (U::is_uniform()) {
-
38  using Sampling = ddc::UniformPointSampling<tag_type>;
-
39  return std::get<0>(
-
40  Sampling::
-
41  init(ddc::discrete_space<BSplines>().rmin(),
-
42  ddc::discrete_space<BSplines>().rmax(),
-
43  ddc::DiscreteVector<ddc::UniformPointSampling<tag_type>>(
-
44  ddc::discrete_space<BSplines>().ncells() + 1)));
-
45  } else {
-
46  using Sampling = ddc::NonUniformPointSampling<tag_type>;
-
47  using SamplingImpl = typename Sampling::template Impl<Kokkos::HostSpace>;
-
48  std::vector<double> knots(ddc::discrete_space<BSplines>().npoints());
-
49  for (int i(0); i < ddc::discrete_space<BSplines>().npoints(); ++i) {
-
50  knots[i] = ddc::discrete_space<BSplines>().get_knot(i);
-
51  }
-
52  return SamplingImpl(knots);
-
53  }
-
54  }
-
55 
-
57  using interpolation_mesh_type = typename decltype(get_sampling())::discrete_dimension_type;
-
58 
-
64  static ddc::DiscreteDomain<interpolation_mesh_type> get_domain()
-
65  {
-
66  int const npoints = ddc::discrete_space<BSplines>().ncells() + !BSplines::is_periodic();
-
67  return ddc::DiscreteDomain<interpolation_mesh_type>(
-
68  ddc::DiscreteElement<interpolation_mesh_type>(0),
-
69  ddc::DiscreteVector<interpolation_mesh_type>(npoints));
-
70  }
-
71 };
-
Helper class for the initialisation of the mesh of interpolation points.
Definition: knots_as_interpolation_points.hpp:22
-
static ddc::DiscreteDomain< interpolation_mesh_type > get_domain()
Get the domain which can be used to access the interpolation points in the sampling.
Definition: knots_as_interpolation_points.hpp:64
-
typename decltype(get_sampling())::discrete_dimension_type interpolation_mesh_type
The DDC type of the sampling for the interpolation points.
Definition: knots_as_interpolation_points.hpp:57
-
static auto get_sampling()
Get the sampling of interpolation points.
Definition: knots_as_interpolation_points.hpp:35
-
-
- - - - diff --git a/navtreedata.js b/navtreedata.js index f1e851bac..c3ab77992 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -76,12 +76,10 @@ var NAVTREE = var NAVTREEINDEX = [ "2d__spline__interpolator_2params_8yaml_8hpp_source.html", -"classConstantExtrapolationBoundaryValue2D.html#a387b995ef1c83a6231f48f639b8cceb2", -"classITimeStepper.html", -"classPolarSplineEvaluator.html#a60de03671b33a0daf678b6df31cc9206", -"classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d", -"docs_Adding_docs.html#docs_Adding_docs__Mathematical_notation_in_documentation", -"src_utils.html#src_utils__VectorField" +"classCurvilinear2DToCartesian.html#a58d230e4f91cb40b45f1fb0759fabea0", +"classLagrangeInterpolatorBatched.html#a3e33453b70a8caa24acc2a8a8957db12", +"classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd", +"ivlasovsolver_8hpp_source.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/navtreeindex0.js b/navtreeindex0.js index 9ebda01c1..df8194f48 100644 --- a/navtreeindex0.js +++ b/navtreeindex0.js @@ -8,246 +8,246 @@ var NAVTREEINDEX0 = "advection__domain_8hpp_source.html":[14,0,2,0,0], "advection__field__rp_8hpp_source.html":[14,0,2,1,0], "advection__simulation__utils_8hpp_source.html":[14,1,0,1,0], -"analytical__invertible__curvilinear2d__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,0], +"analytical__invertible__curvilinear2d__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,0], "annotated.html":[13], "assert_8hpp_source.html":[14,0,10,0], -"barycentric__coordinates_8hpp_source.html":[14,2,0,0,0,1,1], -"bernstein_8hpp_source.html":[14,2,0,0,0,2], -"boundary__conditions_8hpp_source.html":[14,2,0,0,0,0,0], +"barycentric__coordinates_8hpp_source.html":[14,2,0,0,0,0,1], +"bernstein_8hpp_source.html":[14,2,0,0,0,1], "bsl__advection__rp_8hpp_source.html":[14,0,2,0,1], "bsl__advection__vx__batched_8hpp_source.html":[14,0,0,0], "bsl__advection__x__batched_8hpp_source.html":[14,0,0,1], "bsl__predcorr_8hpp_source.html":[14,0,2,6,0], "bsl__predcorr__second__order__explicit_8hpp_source.html":[14,0,2,6,1], "bsl__predcorr__second__order__implicit_8hpp_source.html":[14,0,2,6,2], -"bspline_8hpp_source.html":[14,2,0,0,0,3], -"bsplines_8hpp_source.html":[14,2,0,0,0,0,1], -"bsplines__non__uniform_8hpp_source.html":[14,2,0,0,0,4], -"bsplines__uniform_8hpp_source.html":[14,2,0,0,0,5], "bumpontailequilibrium_8hpp_source.html":[14,0,3,2,0], -"circular__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,2], -"classAdvectionDomain.html":[13,1], -"classAdvectionDomain.html#a8f912a4ebea56a3c2f5dc9426b1d62dd":[13,1,0], -"classAdvectionField.html":[13,2], -"classAdvectionField.html#a0ba352d6c7b3a2ac80ecb6ec11f2d0fc":[13,2,0], -"classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c":[13,2,2], -"classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727":[13,2,1], -"classAdvectionFieldFinder.html":[13,6], -"classAdvectionFieldFinder.html#a3086cce87c971e57d63e4ee31c0dadb6":[13,6,1], -"classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79":[13,6,5], -"classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8":[13,6,3], -"classAdvectionFieldFinder.html#a9d7d7d830dc4de794cca5483d3967e48":[13,6,2], -"classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1":[13,6,7], -"classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23":[13,6,4], -"classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4":[13,6,8], -"classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996":[13,6,6], -"classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730":[13,6,0], -"classAdvectionFieldSimulation.html":[13,7], -"classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15":[13,7,7], -"classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883":[13,7,4], -"classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259":[13,7,6], -"classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed":[13,7,5], -"classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371":[13,7,2], -"classAdvectionFieldSimulation.html#aa992369bb02e47b2a2d84b762210b26f":[13,7,1], -"classAdvectionFieldSimulation.html#ac2a1446ee931ce85527fddebfeb5de25":[13,7,0], -"classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d":[13,7,3], -"classAdvectionField__decentred__rotation.html":[13,3], -"classAdvectionField__decentred__rotation.html#aa438ce9f694bb80d1dc86a99bc59913c":[13,3,0], -"classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f":[13,3,2], -"classAdvectionField__decentred__rotation.html#aca7c46ccfae8db48452f73928fcff1ec":[13,3,1], -"classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d":[13,3,3], -"classAdvectionField__rotation.html":[13,4], -"classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e":[13,4,3], -"classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf":[13,4,2], -"classAdvectionField__rotation.html#a686bedf7c247902fc6c2596826639c9f":[13,4,1], -"classAdvectionField__rotation.html#aff8b4a078b9e417ae46bb6571790c7ba":[13,4,0], -"classAdvectionField__translation.html":[13,5], -"classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e":[13,5,3], -"classAdvectionField__translation.html#a53e53e7ee30d7655cd4aa98ac61ad4d3":[13,5,1], -"classAdvectionField__translation.html#a77d512ab8cb0b4a4d8612228417bcdf3":[13,5,0], -"classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d":[13,5,2], -"classAdvectionPhysicalDomain.html":[13,8], -"classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351":[13,8,6], -"classAdvectionPhysicalDomain.html#a75b58a99fa7c346d722d592e2e463b5b":[13,8,4], -"classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812":[13,8,0], -"classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161":[13,8,2], -"classAdvectionPhysicalDomain.html#ad1382f8d20297da25bf969fc39937fbe":[13,8,3], -"classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496":[13,8,1], -"classAdvectionPhysicalDomain.html#ae142f47494fe70592b870147ab7faf26":[13,8,5], -"classAdvectionPseudoCartesianDomain.html":[13,9], -"classAdvectionPseudoCartesianDomain.html#a19272dc01fbeb37744d0f0eb244db482":[13,9,5], -"classAdvectionPseudoCartesianDomain.html#a26a6a33a31e82fe318360de94e20262d":[13,9,4], -"classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1":[13,9,3], -"classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b":[13,9,2], -"classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a":[13,9,1], -"classAdvectionPseudoCartesianDomain.html#a7dc2ab61b47cc4362390dd1811bc9f0e":[13,9,6], -"classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404":[13,9,7], -"classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf":[13,9,0], -"classAdvectionSimulation.html":[13,10], -"classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb":[13,10,4], -"classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0":[13,10,3], -"classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f":[13,10,2], -"classAdvectionSimulation.html#abfc8f70e716c6239c19d1da949349e33":[13,10,0], -"classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca":[13,10,5], -"classAdvectionSimulation.html#aed9755f87975aaa87479305d9d8e19c4":[13,10,1], -"classAnalyticalInvertibleCurvilinear2DToCartesian.html":[13,11], -"classAnalyticalInvertibleCurvilinear2DToCartesian.html#a40f362dd5cf4e326fa9abe728196f42a":[13,11,0], -"classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4":[13,11,2], -"classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d":[13,11,1], -"classBernsteinPolynomialBasis.html":[13,12], -"classBernsteinPolynomialBasis.html#a66029a0ce5d9fb611c10e4ccd69ee59c":[13,12,2], -"classBernsteinPolynomialBasis.html#aa4eeabd3d9b66c0bd681b46819b1a5a5":[13,12,3], -"classBernsteinPolynomialBasis.html#ad678704600665cab27cff44c81ac15a9":[13,12,1], -"classBernsteinPolynomialBasis_1_1Impl.html":[13,12,0], -"classBernsteinPolynomialBasis_1_1Impl.html#a19993b476d9b54f7aba6d92c9648f5ae":[13,12,0,8], -"classBernsteinPolynomialBasis_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,12,0,9], -"classBernsteinPolynomialBasis_1_1Impl.html#a28f1e7162a1619afe5d52fbd46359767":[13,12,0,0], -"classBernsteinPolynomialBasis_1_1Impl.html#a37801588769e4999b66200d4f6195207":[13,12,0,2], -"classBernsteinPolynomialBasis_1_1Impl.html#a51f62ddf8395f3e9f6a30a0c14f51aa9":[13,12,0,6], -"classBernsteinPolynomialBasis_1_1Impl.html#a8c5613d897c4badbeae3404019174dd7":[13,12,0,5], -"classBernsteinPolynomialBasis_1_1Impl.html#aab2040142dd0f2e0d8962596ea04f814":[13,12,0,3], -"classBernsteinPolynomialBasis_1_1Impl.html#abd09906752719a3f02a7ba19c29769d8":[13,12,0,4], -"classBernsteinPolynomialBasis_1_1Impl.html#ae222940b856815febedd8651326217fc":[13,12,0,7], -"classBernsteinPolynomialBasis_1_1Impl.html#aeed25ab4397c08b7f5c964eb7b073e59":[13,12,0,1], -"classBslAdvectionRP.html":[13,13], -"classBslAdvectionRP.html#a1625a858ae285a69f801c8400df039fe":[13,13,0], -"classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4":[13,13,3], -"classBslAdvectionRP.html#a78993f4b02f23d73510ef1836f037c0e":[13,13,1], -"classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6":[13,13,2], -"classBslAdvectionSpatialBatched.html":[13,14], -"classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163":[13,14,2], -"classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db":[13,14,0], -"classBslAdvectionSpatialBatched.html#af843566b1c54837d852404c7b803ae00":[13,14,1], -"classBslAdvectionVelocityBatched.html":[13,15], -"classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0":[13,15,2], -"classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e":[13,15,0], -"classBslAdvectionVelocityBatched.html#ac2a09a92541f2fc0bd5ba795ebff0fbd":[13,15,1], -"classBslExplicitPredCorrRP.html":[13,16], -"classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121":[13,16,2], -"classBslExplicitPredCorrRP.html#a43d145119cdc3d0468355094737f7e51":[13,16,1], -"classBslExplicitPredCorrRP.html#ad5ebb8d18489eaf101db816f8187d5bc":[13,16,0], -"classBslImplicitPredCorrRP.html":[13,17], -"classBslImplicitPredCorrRP.html#a3bf4626163f959b5925c95095d94bfd1":[13,17,1], -"classBslImplicitPredCorrRP.html#a85e452a6d8a3bfcbbd94e671179135ab":[13,17,0], -"classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb":[13,17,2], -"classBslPredCorrRP.html":[13,18], -"classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6":[13,18,2], -"classBslPredCorrRP.html#ad59df29ecec81d37cd221b9bff3b96e7":[13,18,0], -"classBslPredCorrRP.html#aef27516358cec8ae26f09e0a154d718a":[13,18,1], -"classBumpontailEquilibrium.html":[13,20], -"classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70":[13,20,4], -"classBumpontailEquilibrium.html#a3c79c23553031c7a766db33feb02050d":[13,20,1], -"classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215":[13,20,3], -"classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e":[13,20,2], -"classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e":[13,20,6], -"classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8":[13,20,5], -"classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe":[13,20,0], -"classCartesianSolution.html":[13,24], -"classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8":[13,24,2], -"classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969":[13,24,3], -"classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1":[13,24,1], -"classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1":[13,24,0], -"classCartesianToBarycentricCoordinates.html":[13,25], -"classCartesianToBarycentricCoordinates.html#a5a06491f726d244e055cce3ed3fcb764":[13,25,1], -"classCartesianToBarycentricCoordinates.html#a6c6b4f8daac8864046782720d9f2976d":[13,25,5], -"classCartesianToBarycentricCoordinates.html#a6e01e22a9587c5e19f86a19aca489677":[13,25,6], -"classCartesianToBarycentricCoordinates.html#a7286d455745139d80bf32a989d18fa06":[13,25,0], -"classCartesianToBarycentricCoordinates.html#a7b3e9de273ed40d430a2050cfabbd87b":[13,25,9], -"classCartesianToBarycentricCoordinates.html#a8948648b0522e0f19f8a2a89cef423e8":[13,25,2], -"classCartesianToBarycentricCoordinates.html#a8de19d4f3c919281488bc434591cec05":[13,25,3], -"classCartesianToBarycentricCoordinates.html#a8f1c1a99311549708c4d890ca4eea309":[13,25,7], -"classCartesianToBarycentricCoordinates.html#aa693e4b288472e26e29ccaa8bd5d5235":[13,25,4], -"classCartesianToBarycentricCoordinates.html#ae690b0d2a5322b88f4196074295d7a1c":[13,25,8], -"classChargeDensityCalculator.html":[13,26], -"classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf":[13,26,0], -"classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf":[13,26,1], -"classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26":[13,26,3], -"classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea":[13,26,2], -"classCircularToCartesian.html":[13,27], -"classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08":[13,27,25], -"classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272":[13,27,14], -"classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af":[13,27,27], -"classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf":[13,27,15], -"classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219":[13,27,13], -"classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac":[13,27,21], -"classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4":[13,27,6], -"classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7":[13,27,20], -"classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c":[13,27,19], -"classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a":[13,27,10], -"classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f":[13,27,26], -"classCircularToCartesian.html#a542194138b7c390892767e6f142885f1":[13,27,2], -"classCircularToCartesian.html#a6f709547f3a73091a4fc3b54ed19fb1b":[13,27,8], -"classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b":[13,27,0], -"classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a":[13,27,24], -"classCircularToCartesian.html#a8d883c5a64b97ddba0a6f92d9a9ccfaf":[13,27,5], -"classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196":[13,27,16], -"classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96":[13,27,22], -"classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74":[13,27,18], -"classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4":[13,27,23], -"classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b":[13,27,1], -"classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026":[13,27,3], -"classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64":[13,27,11], -"classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830":[13,27,12], -"classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df":[13,27,9], -"classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc":[13,27,28], -"classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd":[13,27,17], -"classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664":[13,27,4], -"classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0":[13,27,7], -"classCollisions.html":[13,28], -"classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0":[13,28,9], -"classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126":[13,28,14], -"classCollisions.html#a39a613fd2a130b096c616f74f776d2f9":[13,28,2], -"classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f":[13,28,15], -"classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff":[13,28,3], -"classCollisions.html#a578e1b5da086721b0671febbcc98b491":[13,28,10], -"classCollisions.html#a6ca012950263c99778465fbcbcce4c10":[13,28,11], -"classCollisions.html#a8511215c1884f50c3d689983d2b7303c":[13,28,12], -"classCollisions.html#a90e619814468ac7ac68c78c849d77a02":[13,28,13], -"classCollisions.html#a9361514c14f7cf4473c876d4ced201d9":[13,28,4], -"classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7":[13,28,8], -"classCollisions.html#aaa296103febae7bee56fa356c4708444":[13,28,0], -"classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96":[13,28,1], -"classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b":[13,28,5], -"classCollisions.html#abe6c025bdc57076121328fd62aacc7d0":[13,28,7], -"classCollisions.html#af03302549e2a96417cf558882c1b0a47":[13,28,6], -"classCollisionsGuard.html":[13,29], -"classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8":[13,29,0], -"classCollisionsGuard.html#a4b142cd8bbe53c0a0662a4f90d1e619a":[13,29,1], -"classCollisionsInter.html":[13,30], -"classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac":[13,30,3], -"classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647":[13,30,0], -"classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b":[13,30,2], -"classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc":[13,30,4], -"classCollisionsInter.html#a576e68e313ffd859043c3b3f290f781b":[13,30,1], -"classCollisionsIntra.html":[13,31], -"classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945":[13,31,8], -"classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e":[13,31,4], -"classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d":[13,31,3], -"classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532":[13,31,15], -"classCollisionsIntra.html#a2852d761a945afbcb0ffba9326b8f79c":[13,31,11], -"classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0":[13,31,16], -"classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd":[13,31,7], -"classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40":[13,31,17], -"classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524":[13,31,2], -"classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625":[13,31,9], -"classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3":[13,31,14], -"classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb":[13,31,5], -"classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8":[13,31,13], -"classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34":[13,31,10], -"classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4":[13,31,12], -"classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858":[13,31,6], -"classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0":[13,31,18], -"classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c":[13,31,19], -"classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx":[13,31,0], -"classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered":[13,31,1], -"classConstantExtrapolationBoundaryValue.html":[13,32], -"classConstantExtrapolationBoundaryValue.html#a0065a13a55757e01d555d68bc4729921":[13,32,4], -"classConstantExtrapolationBoundaryValue.html#aae8a770049d4897e5472c2d01772bf5e":[13,32,0], -"classConstantExtrapolationBoundaryValue.html#ab09155181c597a2488288c776da5a7b6":[13,32,3], -"classConstantExtrapolationBoundaryValue.html#ad8756c3fca7296f63a606b171cabe682":[13,32,2], -"classConstantExtrapolationBoundaryValue.html#af08b80060384a655dc1b1e8c96a65086":[13,32,1], -"classConstantExtrapolationBoundaryValue2D.html":[13,33], -"classConstantExtrapolationBoundaryValue2D.html#a026277035a0c82fcacad36615880c0b2":[13,33,0], -"classConstantExtrapolationBoundaryValue2D.html#a299e90d013db5760d9d5eddf09e65983":[13,33,2], -"classConstantExtrapolationBoundaryValue2D.html#a29a881d8ec135b757133504275194143":[13,33,6] +"circular__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,2], +"classAdvectionDomain.html":[13,0], +"classAdvectionDomain.html#a8f912a4ebea56a3c2f5dc9426b1d62dd":[13,0,0], +"classAdvectionField.html":[13,1], +"classAdvectionField.html#a0ba352d6c7b3a2ac80ecb6ec11f2d0fc":[13,1,0], +"classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c":[13,1,2], +"classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727":[13,1,1], +"classAdvectionFieldFinder.html":[13,5], +"classAdvectionFieldFinder.html#a3086cce87c971e57d63e4ee31c0dadb6":[13,5,1], +"classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79":[13,5,5], +"classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8":[13,5,3], +"classAdvectionFieldFinder.html#a9d7d7d830dc4de794cca5483d3967e48":[13,5,2], +"classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1":[13,5,7], +"classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23":[13,5,4], +"classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4":[13,5,8], +"classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996":[13,5,6], +"classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730":[13,5,0], +"classAdvectionFieldSimulation.html":[13,6], +"classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15":[13,6,7], +"classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883":[13,6,4], +"classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259":[13,6,6], +"classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed":[13,6,5], +"classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371":[13,6,2], +"classAdvectionFieldSimulation.html#aa992369bb02e47b2a2d84b762210b26f":[13,6,1], +"classAdvectionFieldSimulation.html#ac2a1446ee931ce85527fddebfeb5de25":[13,6,0], +"classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d":[13,6,3], +"classAdvectionField__decentred__rotation.html":[13,2], +"classAdvectionField__decentred__rotation.html#aa438ce9f694bb80d1dc86a99bc59913c":[13,2,0], +"classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f":[13,2,2], +"classAdvectionField__decentred__rotation.html#aca7c46ccfae8db48452f73928fcff1ec":[13,2,1], +"classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d":[13,2,3], +"classAdvectionField__rotation.html":[13,3], +"classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e":[13,3,3], +"classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf":[13,3,2], +"classAdvectionField__rotation.html#a686bedf7c247902fc6c2596826639c9f":[13,3,1], +"classAdvectionField__rotation.html#aff8b4a078b9e417ae46bb6571790c7ba":[13,3,0], +"classAdvectionField__translation.html":[13,4], +"classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e":[13,4,3], +"classAdvectionField__translation.html#a53e53e7ee30d7655cd4aa98ac61ad4d3":[13,4,1], +"classAdvectionField__translation.html#a77d512ab8cb0b4a4d8612228417bcdf3":[13,4,0], +"classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d":[13,4,2], +"classAdvectionPhysicalDomain.html":[13,7], +"classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351":[13,7,6], +"classAdvectionPhysicalDomain.html#a75b58a99fa7c346d722d592e2e463b5b":[13,7,4], +"classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812":[13,7,0], +"classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161":[13,7,2], +"classAdvectionPhysicalDomain.html#ad1382f8d20297da25bf969fc39937fbe":[13,7,3], +"classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496":[13,7,1], +"classAdvectionPhysicalDomain.html#ae142f47494fe70592b870147ab7faf26":[13,7,5], +"classAdvectionPseudoCartesianDomain.html":[13,8], +"classAdvectionPseudoCartesianDomain.html#a19272dc01fbeb37744d0f0eb244db482":[13,8,5], +"classAdvectionPseudoCartesianDomain.html#a26a6a33a31e82fe318360de94e20262d":[13,8,4], +"classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1":[13,8,3], +"classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b":[13,8,2], +"classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a":[13,8,1], +"classAdvectionPseudoCartesianDomain.html#a7dc2ab61b47cc4362390dd1811bc9f0e":[13,8,6], +"classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404":[13,8,7], +"classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf":[13,8,0], +"classAdvectionSimulation.html":[13,9], +"classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb":[13,9,4], +"classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0":[13,9,3], +"classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f":[13,9,2], +"classAdvectionSimulation.html#abfc8f70e716c6239c19d1da949349e33":[13,9,0], +"classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca":[13,9,5], +"classAdvectionSimulation.html#aed9755f87975aaa87479305d9d8e19c4":[13,9,1], +"classAnalyticalInvertibleCurvilinear2DToCartesian.html":[13,10], +"classAnalyticalInvertibleCurvilinear2DToCartesian.html#a40f362dd5cf4e326fa9abe728196f42a":[13,10,0], +"classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4":[13,10,2], +"classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d":[13,10,1], +"classBernsteinPolynomialBasis.html":[13,11], +"classBernsteinPolynomialBasis.html#a66029a0ce5d9fb611c10e4ccd69ee59c":[13,11,2], +"classBernsteinPolynomialBasis.html#aa4eeabd3d9b66c0bd681b46819b1a5a5":[13,11,3], +"classBernsteinPolynomialBasis.html#ad678704600665cab27cff44c81ac15a9":[13,11,1], +"classBernsteinPolynomialBasis_1_1Impl.html":[13,11,0], +"classBernsteinPolynomialBasis_1_1Impl.html#a19993b476d9b54f7aba6d92c9648f5ae":[13,11,0,8], +"classBernsteinPolynomialBasis_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,11,0,9], +"classBernsteinPolynomialBasis_1_1Impl.html#a28f1e7162a1619afe5d52fbd46359767":[13,11,0,0], +"classBernsteinPolynomialBasis_1_1Impl.html#a37801588769e4999b66200d4f6195207":[13,11,0,2], +"classBernsteinPolynomialBasis_1_1Impl.html#a51f62ddf8395f3e9f6a30a0c14f51aa9":[13,11,0,6], +"classBernsteinPolynomialBasis_1_1Impl.html#a8c5613d897c4badbeae3404019174dd7":[13,11,0,5], +"classBernsteinPolynomialBasis_1_1Impl.html#aab2040142dd0f2e0d8962596ea04f814":[13,11,0,3], +"classBernsteinPolynomialBasis_1_1Impl.html#abd09906752719a3f02a7ba19c29769d8":[13,11,0,4], +"classBernsteinPolynomialBasis_1_1Impl.html#ae222940b856815febedd8651326217fc":[13,11,0,7], +"classBernsteinPolynomialBasis_1_1Impl.html#aeed25ab4397c08b7f5c964eb7b073e59":[13,11,0,1], +"classBslAdvectionRP.html":[13,12], +"classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4":[13,12,3], +"classBslAdvectionRP.html#a78993f4b02f23d73510ef1836f037c0e":[13,12,1], +"classBslAdvectionRP.html#a977b86e07de90942c18e1af5428f59c8":[13,12,0], +"classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6":[13,12,2], +"classBslAdvectionSpatialBatched.html":[13,13], +"classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163":[13,13,2], +"classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db":[13,13,0], +"classBslAdvectionSpatialBatched.html#af843566b1c54837d852404c7b803ae00":[13,13,1], +"classBslAdvectionVelocityBatched.html":[13,14], +"classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0":[13,14,2], +"classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e":[13,14,0], +"classBslAdvectionVelocityBatched.html#ac2a09a92541f2fc0bd5ba795ebff0fbd":[13,14,1], +"classBslExplicitPredCorrRP.html":[13,15], +"classBslExplicitPredCorrRP.html#a08e13f4e1ce35d6962b4e73fce3580c4":[13,15,0], +"classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121":[13,15,2], +"classBslExplicitPredCorrRP.html#a43d145119cdc3d0468355094737f7e51":[13,15,1], +"classBslImplicitPredCorrRP.html":[13,16], +"classBslImplicitPredCorrRP.html#a3bf4626163f959b5925c95095d94bfd1":[13,16,1], +"classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb":[13,16,2], +"classBslImplicitPredCorrRP.html#ad068d165e927773fc85c5b06c267ea2f":[13,16,0], +"classBslPredCorrRP.html":[13,17], +"classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6":[13,17,2], +"classBslPredCorrRP.html#a4a6c5378bd5ea4f7f8dfb3e2088cd12a":[13,17,0], +"classBslPredCorrRP.html#aef27516358cec8ae26f09e0a154d718a":[13,17,1], +"classBumpontailEquilibrium.html":[13,18], +"classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70":[13,18,4], +"classBumpontailEquilibrium.html#a3c79c23553031c7a766db33feb02050d":[13,18,1], +"classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215":[13,18,3], +"classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e":[13,18,2], +"classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e":[13,18,6], +"classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8":[13,18,5], +"classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe":[13,18,0], +"classCartesianSolution.html":[13,22], +"classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8":[13,22,2], +"classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969":[13,22,3], +"classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1":[13,22,1], +"classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1":[13,22,0], +"classCartesianToBarycentricCoordinates.html":[13,23], +"classCartesianToBarycentricCoordinates.html#a5a06491f726d244e055cce3ed3fcb764":[13,23,1], +"classCartesianToBarycentricCoordinates.html#a6c6b4f8daac8864046782720d9f2976d":[13,23,5], +"classCartesianToBarycentricCoordinates.html#a6e01e22a9587c5e19f86a19aca489677":[13,23,6], +"classCartesianToBarycentricCoordinates.html#a7286d455745139d80bf32a989d18fa06":[13,23,0], +"classCartesianToBarycentricCoordinates.html#a7b3e9de273ed40d430a2050cfabbd87b":[13,23,9], +"classCartesianToBarycentricCoordinates.html#a8948648b0522e0f19f8a2a89cef423e8":[13,23,2], +"classCartesianToBarycentricCoordinates.html#a8de19d4f3c919281488bc434591cec05":[13,23,3], +"classCartesianToBarycentricCoordinates.html#a8f1c1a99311549708c4d890ca4eea309":[13,23,7], +"classCartesianToBarycentricCoordinates.html#aa693e4b288472e26e29ccaa8bd5d5235":[13,23,4], +"classCartesianToBarycentricCoordinates.html#ae690b0d2a5322b88f4196074295d7a1c":[13,23,8], +"classChargeDensityCalculator.html":[13,24], +"classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf":[13,24,0], +"classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf":[13,24,1], +"classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26":[13,24,3], +"classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea":[13,24,2], +"classCircularToCartesian.html":[13,25], +"classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08":[13,25,25], +"classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272":[13,25,14], +"classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af":[13,25,27], +"classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf":[13,25,15], +"classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219":[13,25,13], +"classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac":[13,25,21], +"classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4":[13,25,6], +"classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7":[13,25,20], +"classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c":[13,25,19], +"classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a":[13,25,10], +"classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f":[13,25,26], +"classCircularToCartesian.html#a542194138b7c390892767e6f142885f1":[13,25,2], +"classCircularToCartesian.html#a6f709547f3a73091a4fc3b54ed19fb1b":[13,25,8], +"classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b":[13,25,0], +"classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a":[13,25,24], +"classCircularToCartesian.html#a8d883c5a64b97ddba0a6f92d9a9ccfaf":[13,25,5], +"classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196":[13,25,16], +"classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96":[13,25,22], +"classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74":[13,25,18], +"classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4":[13,25,23], +"classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b":[13,25,1], +"classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026":[13,25,3], +"classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64":[13,25,11], +"classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830":[13,25,12], +"classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df":[13,25,9], +"classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc":[13,25,28], +"classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd":[13,25,17], +"classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664":[13,25,4], +"classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0":[13,25,7], +"classCollisions.html":[13,26], +"classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0":[13,26,9], +"classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126":[13,26,14], +"classCollisions.html#a39a613fd2a130b096c616f74f776d2f9":[13,26,2], +"classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f":[13,26,15], +"classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff":[13,26,3], +"classCollisions.html#a578e1b5da086721b0671febbcc98b491":[13,26,10], +"classCollisions.html#a6ca012950263c99778465fbcbcce4c10":[13,26,11], +"classCollisions.html#a8511215c1884f50c3d689983d2b7303c":[13,26,12], +"classCollisions.html#a90e619814468ac7ac68c78c849d77a02":[13,26,13], +"classCollisions.html#a9361514c14f7cf4473c876d4ced201d9":[13,26,4], +"classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7":[13,26,8], +"classCollisions.html#aaa296103febae7bee56fa356c4708444":[13,26,0], +"classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96":[13,26,1], +"classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b":[13,26,5], +"classCollisions.html#abe6c025bdc57076121328fd62aacc7d0":[13,26,7], +"classCollisions.html#af03302549e2a96417cf558882c1b0a47":[13,26,6], +"classCollisionsGuard.html":[13,27], +"classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8":[13,27,0], +"classCollisionsGuard.html#a4b142cd8bbe53c0a0662a4f90d1e619a":[13,27,1], +"classCollisionsInter.html":[13,28], +"classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac":[13,28,3], +"classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647":[13,28,0], +"classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b":[13,28,2], +"classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc":[13,28,4], +"classCollisionsInter.html#a576e68e313ffd859043c3b3f290f781b":[13,28,1], +"classCollisionsIntra.html":[13,29], +"classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945":[13,29,8], +"classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e":[13,29,4], +"classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d":[13,29,3], +"classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532":[13,29,15], +"classCollisionsIntra.html#a2852d761a945afbcb0ffba9326b8f79c":[13,29,11], +"classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0":[13,29,16], +"classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd":[13,29,7], +"classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40":[13,29,17], +"classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524":[13,29,2], +"classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625":[13,29,9], +"classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3":[13,29,14], +"classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb":[13,29,5], +"classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8":[13,29,13], +"classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34":[13,29,10], +"classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4":[13,29,12], +"classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858":[13,29,6], +"classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0":[13,29,18], +"classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c":[13,29,19], +"classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx":[13,29,0], +"classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered":[13,29,1], +"classCrankNicolson.html":[13,31], +"classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d":[13,31,4], +"classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f":[13,31,0], +"classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2":[13,31,1], +"classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63":[13,31,3], +"classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f":[13,31,2], +"classCurvilinear2DToCartesian.html":[13,32], +"classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260":[13,32,15], +"classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237":[13,32,22], +"classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3":[13,32,7], +"classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3":[13,32,18], +"classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d":[13,32,6], +"classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d":[13,32,19], +"classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6":[13,32,21], +"classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364":[13,32,9] }; diff --git a/navtreeindex1.js b/navtreeindex1.js index 0dffc3b8d..b552d45e4 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -1,253 +1,253 @@ var NAVTREEINDEX1 = { -"classConstantExtrapolationBoundaryValue2D.html#a387b995ef1c83a6231f48f639b8cceb2":[13,33,1], -"classConstantExtrapolationBoundaryValue2D.html#a3c1338e996570852fd9ea690ed6a8e17":[13,33,9], -"classConstantExtrapolationBoundaryValue2D.html#a60fca7bd0cfc5d62eac436aed6999478":[13,33,4], -"classConstantExtrapolationBoundaryValue2D.html#a75bbdf35f1f8bcb4893cbae1fae4414b":[13,33,5], -"classConstantExtrapolationBoundaryValue2D.html#aa2d150cef282326983fab5e3567e6c7f":[13,33,10], -"classConstantExtrapolationBoundaryValue2D.html#ab4eb4f906370d95343681984c1286539":[13,33,7], -"classConstantExtrapolationBoundaryValue2D.html#ade982cfc826992a284c102549a553638":[13,33,8], -"classConstantExtrapolationBoundaryValue2D.html#af2dbe50fa1a5e2c0a886f68050b0cb14":[13,33,3], -"classCrankNicolson.html":[13,35], -"classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d":[13,35,4], -"classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f":[13,35,0], -"classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2":[13,35,1], -"classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63":[13,35,3], -"classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f":[13,35,2], -"classCurvilinear2DToCartesian.html":[13,36], -"classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260":[13,36,15], -"classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237":[13,36,22], -"classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3":[13,36,7], -"classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3":[13,36,18], -"classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d":[13,36,6], -"classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d":[13,36,19], -"classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6":[13,36,21], -"classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364":[13,36,9], -"classCurvilinear2DToCartesian.html#a58d230e4f91cb40b45f1fb0759fabea0":[13,36,8], -"classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a":[13,36,23], -"classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25":[13,36,11], -"classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b":[13,36,13], -"classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35":[13,36,12], -"classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a":[13,36,17], -"classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd":[13,36,0], -"classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e":[13,36,3], -"classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4":[13,36,2], -"classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a":[13,36,10], -"classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c":[13,36,4], -"classCurvilinear2DToCartesian.html#ae04dd8c00e6c178df919f58b763fb0c5":[13,36,5], -"classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1":[13,36,24], -"classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351":[13,36,14], -"classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4":[13,36,1], -"classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce":[13,36,16], -"classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664":[13,36,25], -"classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61":[13,36,20], -"classCurvilinearSolution.html":[13,37], -"classCurvilinearSolution.html#a9675511665b712671f19b17b74749763":[13,37,0], -"classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1":[13,37,1], -"classCzarnyToCartesian.html":[13,38], -"classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156":[13,38,3], -"classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a":[13,38,28], -"classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914":[13,38,25], -"classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688":[13,38,13], -"classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f":[13,38,20], -"classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5":[13,38,23], -"classCzarnyToCartesian.html#a23d79a28ba47330f97ca7eda0ba6dfa8":[13,38,8], -"classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5":[13,38,2], -"classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f":[13,38,15], -"classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176":[13,38,7], -"classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c":[13,38,4], -"classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3":[13,38,16], -"classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1":[13,38,29], -"classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5":[13,38,12], -"classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd":[13,38,24], -"classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918":[13,38,17], -"classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952":[13,38,9], -"classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045":[13,38,27], -"classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24":[13,38,22], -"classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001":[13,38,14], -"classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3":[13,38,10], -"classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314":[13,38,1], -"classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a":[13,38,11], -"classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31":[13,38,0], -"classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653":[13,38,19], -"classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc":[13,38,26], -"classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52":[13,38,21], -"classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307":[13,38,6], -"classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d":[13,38,5], -"classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1":[13,38,18], -"classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689":[13,38,30], -"classDecentredRotationAdvectionFieldSimulation.html":[13,39], -"classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02":[13,39,0], -"classDecentredRotationSimulation.html":[13,40], -"classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8":[13,40,0], -"classDiocotronDensitySolution.html":[13,43], -"classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734":[13,43,0], -"classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62":[13,43,3], -"classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd":[13,43,2], -"classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47":[13,43,5], -"classDiocotronDensitySolution.html#ae066bf87b5ccc52bcd916439a4162655":[13,43,1], -"classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed":[13,43,4], -"classDiscreteToCartesian.html":[13,44], -"classDiscreteToCartesian.html#a0859a3a3f5153b0803dec995b33da10f":[13,44,2], -"classDiscreteToCartesian.html#a1132f1474ca6b5c3ff27398ab7ed18a5":[13,44,19], -"classDiscreteToCartesian.html#a2886ad4e22efd1d8d875478e5b50c823":[13,44,10], -"classDiscreteToCartesian.html#a28e4fcd138bbb895cfe2af37da909119":[13,44,7], -"classDiscreteToCartesian.html#a2dae457c21862f95bf41773e3b87a79f":[13,44,20], -"classDiscreteToCartesian.html#a37da629bdc955f87e99c5b93f7c869bb":[13,44,21], -"classDiscreteToCartesian.html#a3915c637ee4b9d88366151d7906155b0":[13,44,3], -"classDiscreteToCartesian.html#a4f53f0eb32eb687dec8c4071c390811f":[13,44,11], -"classDiscreteToCartesian.html#a56a6643d010d176c4ebe807e8d44624f":[13,44,0], -"classDiscreteToCartesian.html#a6bed491350aa17dda83454512e3ea70e":[13,44,4], -"classDiscreteToCartesian.html#aabeacc8cb7637a03d010696e2b7645ed":[13,44,1], -"classDiscreteToCartesian.html#aae9a0fdd75d4eb4b3e41f5a29c7617b5":[13,44,17], -"classDiscreteToCartesian.html#abb903e9bbfacef685339c6b97be0405c":[13,44,15], -"classDiscreteToCartesian.html#ac835fa42f73cd1018f7d3b40bce558b2":[13,44,16], -"classDiscreteToCartesian.html#ac8d071392fbd8b069143b5406e656421":[13,44,14], -"classDiscreteToCartesian.html#ace0bcbe9dc37e8aa5d248ca2fdee3158":[13,44,18], -"classDiscreteToCartesian.html#ad5483889f614f6910a5bf2dd7e212905":[13,44,13], -"classDiscreteToCartesian.html#ae1c7b39ab242d555ed6f74529cce5ccc":[13,44,5], -"classDiscreteToCartesian.html#ae2bc5f7be14ee231156b039074859bab":[13,44,9], -"classDiscreteToCartesian.html#ae724fc03c7fca1e9f61b138f22fa28cc":[13,44,12], -"classDiscreteToCartesian.html#afd9f4a75683b2b502184ec363897300a":[13,44,6], -"classDiscreteToCartesian.html#aff278fecc61e7bf4519da6b8e32f6fa8":[13,44,8], -"classElectrostaticalPotentialSimulation.html":[13,45], -"classElectrostaticalPotentialSimulation.html#a150cdef92eaaa9333e84de31bcd69b86":[13,45,0], -"classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471":[13,45,1], -"classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821":[13,45,2], -"classElectrostaticalPotentialSimulation__decentred__rotation.html":[13,46], -"classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af":[13,46,2], -"classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445":[13,46,0], -"classElectrostaticalPotentialSimulation__decentred__rotation.html#a8977c7e8d5d831b844ee6457e7f2db94":[13,46,1], -"classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d":[13,46,3], -"classElectrostaticalPotentialSimulation__rotation.html":[13,47], -"classElectrostaticalPotentialSimulation__rotation.html#a29a9e6fefaf34db75e7daed88fa22e31":[13,47,1], -"classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc":[13,47,0], -"classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd":[13,47,2], -"classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533":[13,47,3], -"classElectrostaticalPotentialSimulation__translation.html":[13,48], -"classElectrostaticalPotentialSimulation__translation.html#a1707d232653a92bb8204ade3d7c9cd60":[13,48,1], -"classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909":[13,48,3], -"classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189":[13,48,2], -"classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64":[13,48,0], -"classEuler.html":[13,49], -"classEuler.html#a20ceb8499822225f00079922405d9dad":[13,49,2], -"classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14":[13,49,3], -"classEuler.html#a8019703dccd8358b9b221818fa51bdcb":[13,49,0], -"classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8":[13,49,1], -"classFemNonPeriodicPoissonSolver.html":[13,51], -"classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3":[13,51,3], -"classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4":[13,51,1], -"classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66":[13,51,2], -"classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX":[13,51,0], -"classFemPeriodicPoissonSolver.html":[13,52], -"classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077":[13,52,3], -"classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e":[13,52,2], -"classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a":[13,52,1], -"classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX":[13,52,0], -"classFftPoissonSolver.html":[13,53], -"classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98":[13,53,5], -"classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b":[13,53,4], -"classFftPoissonSolver.html#ab3902921947ad1bece18b570ead8cfa5":[13,53,1], -"classFftPoissonSolver.html#ab3902921947ad1bece18b570ead8cfa5":[13,53,3], -"classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd":[13,53,0], -"classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd":[13,53,2], -"classFluidMoments.html":[13,54], -"classFluidMoments.html#a1627a95ed02643b0dc08c2f64dbf5ae8":[13,54,4], -"classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443":[13,54,3], -"classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008":[13,54,10], -"classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd":[13,54,7], -"classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b":[13,54,8], -"classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3":[13,54,5], -"classFluidMoments.html#ad8e6152f463394ef2f64807039217969":[13,54,9], -"classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b":[13,54,6], -"classFluidMoments.html#structFluidMoments_1_1MomentDensity":[13,54,0], -"classFluidMoments.html#structFluidMoments_1_1MomentTemperature":[13,54,1], -"classFluidMoments.html#structFluidMoments_1_1MomentVelocity":[13,54,2], -"classFunctionToBeAdvected.html":[13,57], -"classFunctionToBeAdvected.html#a0048a5d9accc0d9a6e3a50e339079fca":[13,57,0], -"classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac":[13,57,1], -"classFunctionToBeAdvected__cos__4__elipse.html":[13,58], -"classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71":[13,58,2], -"classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6":[13,58,0], -"classFunctionToBeAdvected__cos__4__elipse.html#a58bb0ceb25b6680ed759d04c13fd9f21":[13,58,1], -"classFunctionToBeAdvected__gaussian.html":[13,59], -"classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518":[13,59,2], -"classFunctionToBeAdvected__gaussian.html#a49cf75cacc0f233f7365e7fe5b550124":[13,59,1], -"classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360":[13,59,0], -"classGaussLegendre.html":[13,60], -"classGaussLegendre.html#a058094377acb718af7e409fdb363918f":[13,60,0], -"classGaussLegendre.html#a1fda7de5ce284406823b3d1d08b58b0b":[13,60,9], -"classGaussLegendre.html#a5bc4af9e9415cf151196bc42991be6a6":[13,60,10], -"classGaussLegendre.html#a6a5386739833790deea724c6d1031d65":[13,60,6], -"classGaussLegendre.html#a6c413769b77eea6ea0af50318b6181d1":[13,60,4], -"classGaussLegendre.html#a6da1b38bbf3e322de468c6fef8ba8cc5":[13,60,7], -"classGaussLegendre.html#a6f621d6d366c9539a343e3262813b0ee":[13,60,3], -"classGaussLegendre.html#a7d2da08c2f7734b50cc71ea5e5c31b01":[13,60,1], -"classGaussLegendre.html#a86e853a422e16eaacdd85b99b408de7a":[13,60,8], -"classGaussLegendre.html#aa05d17a5ed14375874be2533f04f67fe":[13,60,2], -"classGaussLegendre.html#aec9ebad8ba50cdca4f53d56e4de860a8":[13,60,5], -"classGrevilleInterpolationPoints.html":[13,64], -"classGrevilleInterpolationPoints.html#a80607a4c866ff36244d980e41870a347":[13,64,0], -"classIAdvectionRP.html":[13,65], -"classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7":[13,65,1], -"classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c":[13,65,2], -"classIAdvectionRP.html#afdf23c9e4e27f72ccdfa48d5927e85ce":[13,65,0], -"classIAdvectionSpatial.html":[13,66], -"classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22":[13,66,1], -"classIAdvectionSpatial.html#a70ff067842fcab1a97cc30acf9e596df":[13,66,0], -"classIAdvectionVelocity.html":[13,67], -"classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827":[13,67,1], -"classIAdvectionVelocity.html#a6d67c31893055c188e955305dc4b421a":[13,67,0], -"classIBoltzmannSolver.html":[13,68], -"classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb":[13,68,1], -"classIBoltzmannSolver.html#adedfcbd6d713c24cd39272d512ae8f1b":[13,68,0], -"classIChargeDensityCalculator.html":[13,69], -"classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b":[13,69,1], -"classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3":[13,69,0], -"classIEquilibrium.html":[13,70], -"classIEquilibrium.html#a7244af05e0e1176c0c02212cee0cfb43":[13,70,0], -"classIEquilibrium.html#a7244af05e0e1176c0c02212cee0cfb43":[13,70,1], -"classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9":[13,70,2], -"classIEquilibrium.html#aa9cde57feac60ee82ae09fc61c86c807":[13,70,3], -"classIFootFinder.html":[13,71], -"classIFootFinder.html#a331269128fb52ca8cc6acef95b8365b6":[13,71,0], -"classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860":[13,71,1], -"classIInitialization.html":[13,72], -"classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e":[13,72,2], -"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[13,72,0], -"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[13,72,1], -"classIInitialization.html#a9f426856e221de98fd68e2a4ea757819":[13,72,3], -"classIInterpolatorBatched.html":[13,73], -"classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c":[13,73,1], -"classIInterpolatorBatched.html#ae2118bf914419abe7bcea6aeb8bd6047":[13,73,0], -"classIInterpolatorRP.html":[13,74], -"classIInterpolatorRP.html#a103d3ece616cbe9c98c42c623f1feeff":[13,74,0], -"classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe":[13,74,1], -"classIPoissonSolver.html":[13,77], -"classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9":[13,77,4], -"classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5":[13,77,3], -"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,77,0], -"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,77,1], -"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,77,2], -"classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6":[13,77,5], -"classIPreallocatableInterpolatorBatched.html":[13,78], -"classIPreallocatableInterpolatorBatched.html#a1ae550713e0c46190458d0a73f075559":[13,78,0], -"classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2":[13,78,1], -"classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5":[13,78,2], -"classIPreallocatableInterpolatorRP.html":[13,79], -"classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6":[13,79,1], -"classIPreallocatableInterpolatorRP.html#a74ad0210bfcf4583948ff61a72bfb29f":[13,79,0], -"classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4":[13,79,2], -"classIRightHandSide.html":[13,80], -"classIRightHandSide.html#a46c157197ef52a7dd221e687584b3d1c":[13,80,0], -"classIRightHandSide.html#ae583170af9abcdbb740c12c963860367":[13,80,1], -"classITimeSolver.html":[13,81], -"classITimeSolver.html#a08927c53d2c33753c80fccfcb51e0047":[13,81,3], -"classITimeSolver.html#a0b6b8b4a38bfe8eb0763c65268a10379":[13,81,0], -"classITimeSolver.html#a0b6b8b4a38bfe8eb0763c65268a10379":[13,81,1], -"classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20":[13,81,2], -"classITimeSolverRP.html":[13,82], -"classITimeSolverRP.html#a09f0355c26469ef4adf7693fc1956ab5":[13,82,0], -"classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a":[13,82,2], -"classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7":[13,82,1] +"classCurvilinear2DToCartesian.html#a58d230e4f91cb40b45f1fb0759fabea0":[13,32,8], +"classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a":[13,32,23], +"classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25":[13,32,11], +"classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b":[13,32,13], +"classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35":[13,32,12], +"classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a":[13,32,17], +"classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd":[13,32,0], +"classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e":[13,32,3], +"classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4":[13,32,2], +"classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a":[13,32,10], +"classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c":[13,32,4], +"classCurvilinear2DToCartesian.html#ae04dd8c00e6c178df919f58b763fb0c5":[13,32,5], +"classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1":[13,32,24], +"classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351":[13,32,14], +"classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4":[13,32,1], +"classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce":[13,32,16], +"classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664":[13,32,25], +"classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61":[13,32,20], +"classCurvilinearSolution.html":[13,33], +"classCurvilinearSolution.html#a9675511665b712671f19b17b74749763":[13,33,0], +"classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1":[13,33,1], +"classCzarnyToCartesian.html":[13,34], +"classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156":[13,34,3], +"classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a":[13,34,28], +"classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914":[13,34,25], +"classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688":[13,34,13], +"classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f":[13,34,20], +"classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5":[13,34,23], +"classCzarnyToCartesian.html#a23d79a28ba47330f97ca7eda0ba6dfa8":[13,34,8], +"classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5":[13,34,2], +"classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f":[13,34,15], +"classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176":[13,34,7], +"classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c":[13,34,4], +"classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3":[13,34,16], +"classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1":[13,34,29], +"classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5":[13,34,12], +"classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd":[13,34,24], +"classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918":[13,34,17], +"classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952":[13,34,9], +"classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045":[13,34,27], +"classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24":[13,34,22], +"classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001":[13,34,14], +"classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3":[13,34,10], +"classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314":[13,34,1], +"classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a":[13,34,11], +"classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31":[13,34,0], +"classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653":[13,34,19], +"classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc":[13,34,26], +"classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52":[13,34,21], +"classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307":[13,34,6], +"classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d":[13,34,5], +"classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1":[13,34,18], +"classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689":[13,34,30], +"classDecentredRotationAdvectionFieldSimulation.html":[13,35], +"classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02":[13,35,0], +"classDecentredRotationSimulation.html":[13,36], +"classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8":[13,36,0], +"classDiocotronDensitySolution.html":[13,39], +"classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734":[13,39,0], +"classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62":[13,39,3], +"classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd":[13,39,2], +"classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47":[13,39,5], +"classDiocotronDensitySolution.html#ae066bf87b5ccc52bcd916439a4162655":[13,39,1], +"classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed":[13,39,4], +"classDiscreteToCartesian.html":[13,40], +"classDiscreteToCartesian.html#a0516a634ec97a4e6c9b83bb78b21d087":[13,40,2], +"classDiscreteToCartesian.html#a07c73338061696ea437f46f81d7a76a4":[13,40,17], +"classDiscreteToCartesian.html#a096a8b63f61587613c8022ebadbdda0e":[13,40,16], +"classDiscreteToCartesian.html#a1c8ed111382283d1656c8509ffce07ea":[13,40,5], +"classDiscreteToCartesian.html#a2155fe8040b53865df4a2c31a16ab82e":[13,40,11], +"classDiscreteToCartesian.html#a22ad931ba89dd5cfe03aa339d2742b9a":[13,40,15], +"classDiscreteToCartesian.html#a333d4057c581b13ff1b15a8635565c50":[13,40,13], +"classDiscreteToCartesian.html#a4a47016434b23eceeb14da74fff5bdb5":[13,40,3], +"classDiscreteToCartesian.html#a5a62d9f5bba1aae83ab17068764dbc96":[13,40,1], +"classDiscreteToCartesian.html#a5d6ccb4e18f3ea4546c70261c27e4cf5":[13,40,21], +"classDiscreteToCartesian.html#a5e057de7bd71315b89e0c1b833d60658":[13,40,18], +"classDiscreteToCartesian.html#a6f3ffd5e1a75024792d0c1b084c1f772":[13,40,7], +"classDiscreteToCartesian.html#a8724b6b60097ada309a254030df44ed2":[13,40,6], +"classDiscreteToCartesian.html#a877114081962f3bb5bca708b90574ba9":[13,40,12], +"classDiscreteToCartesian.html#a8a15804f7a85290d750293738aaf7594":[13,40,4], +"classDiscreteToCartesian.html#a8a725ddbd503b023730b36b8f4f41b4f":[13,40,14], +"classDiscreteToCartesian.html#a8cc25d288b46b3e30dce665d9930b6e6":[13,40,0], +"classDiscreteToCartesian.html#a9ad936fbb7dcb9146eea744086e583d8":[13,40,10], +"classDiscreteToCartesian.html#a9bb82bca2da44831a78f7f6850a7616a":[13,40,19], +"classDiscreteToCartesian.html#aab258ec1dcafc8ee5e162daa5c0ee756":[13,40,9], +"classDiscreteToCartesian.html#acebb0c8ce43be04e7bd8a097f7415514":[13,40,8], +"classDiscreteToCartesian.html#ae1bf31c827fc3abbf866d77068a93367":[13,40,20], +"classElectrostaticalPotentialSimulation.html":[13,41], +"classElectrostaticalPotentialSimulation.html#a150cdef92eaaa9333e84de31bcd69b86":[13,41,0], +"classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471":[13,41,1], +"classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821":[13,41,2], +"classElectrostaticalPotentialSimulation__decentred__rotation.html":[13,42], +"classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af":[13,42,2], +"classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445":[13,42,0], +"classElectrostaticalPotentialSimulation__decentred__rotation.html#a8977c7e8d5d831b844ee6457e7f2db94":[13,42,1], +"classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d":[13,42,3], +"classElectrostaticalPotentialSimulation__rotation.html":[13,43], +"classElectrostaticalPotentialSimulation__rotation.html#a29a9e6fefaf34db75e7daed88fa22e31":[13,43,1], +"classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc":[13,43,0], +"classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd":[13,43,2], +"classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533":[13,43,3], +"classElectrostaticalPotentialSimulation__translation.html":[13,44], +"classElectrostaticalPotentialSimulation__translation.html#a1707d232653a92bb8204ade3d7c9cd60":[13,44,1], +"classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909":[13,44,3], +"classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189":[13,44,2], +"classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64":[13,44,0], +"classEuler.html":[13,45], +"classEuler.html#a20ceb8499822225f00079922405d9dad":[13,45,2], +"classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14":[13,45,3], +"classEuler.html#a8019703dccd8358b9b221818fa51bdcb":[13,45,0], +"classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8":[13,45,1], +"classFemNonPeriodicPoissonSolver.html":[13,47], +"classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3":[13,47,3], +"classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4":[13,47,1], +"classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66":[13,47,2], +"classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX":[13,47,0], +"classFemPeriodicPoissonSolver.html":[13,48], +"classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077":[13,48,3], +"classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e":[13,48,2], +"classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a":[13,48,1], +"classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX":[13,48,0], +"classFftPoissonSolver.html":[13,49], +"classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98":[13,49,5], +"classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b":[13,49,4], +"classFftPoissonSolver.html#ab3902921947ad1bece18b570ead8cfa5":[13,49,1], +"classFftPoissonSolver.html#ab3902921947ad1bece18b570ead8cfa5":[13,49,3], +"classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd":[13,49,0], +"classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd":[13,49,2], +"classFluidMoments.html":[13,50], +"classFluidMoments.html#a1627a95ed02643b0dc08c2f64dbf5ae8":[13,50,4], +"classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443":[13,50,3], +"classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008":[13,50,10], +"classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd":[13,50,7], +"classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b":[13,50,8], +"classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3":[13,50,5], +"classFluidMoments.html#ad8e6152f463394ef2f64807039217969":[13,50,9], +"classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b":[13,50,6], +"classFluidMoments.html#structFluidMoments_1_1MomentDensity":[13,50,0], +"classFluidMoments.html#structFluidMoments_1_1MomentTemperature":[13,50,1], +"classFluidMoments.html#structFluidMoments_1_1MomentVelocity":[13,50,2], +"classFunctionToBeAdvected.html":[13,53], +"classFunctionToBeAdvected.html#a0048a5d9accc0d9a6e3a50e339079fca":[13,53,0], +"classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac":[13,53,1], +"classFunctionToBeAdvected__cos__4__elipse.html":[13,54], +"classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71":[13,54,2], +"classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6":[13,54,0], +"classFunctionToBeAdvected__cos__4__elipse.html#a58bb0ceb25b6680ed759d04c13fd9f21":[13,54,1], +"classFunctionToBeAdvected__gaussian.html":[13,55], +"classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518":[13,55,2], +"classFunctionToBeAdvected__gaussian.html#a49cf75cacc0f233f7365e7fe5b550124":[13,55,1], +"classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360":[13,55,0], +"classGaussLegendre.html":[13,56], +"classGaussLegendre.html#a058094377acb718af7e409fdb363918f":[13,56,0], +"classGaussLegendre.html#a1fda7de5ce284406823b3d1d08b58b0b":[13,56,9], +"classGaussLegendre.html#a5bc4af9e9415cf151196bc42991be6a6":[13,56,10], +"classGaussLegendre.html#a6a5386739833790deea724c6d1031d65":[13,56,6], +"classGaussLegendre.html#a6c413769b77eea6ea0af50318b6181d1":[13,56,4], +"classGaussLegendre.html#a6da1b38bbf3e322de468c6fef8ba8cc5":[13,56,7], +"classGaussLegendre.html#a6f621d6d366c9539a343e3262813b0ee":[13,56,3], +"classGaussLegendre.html#a7d2da08c2f7734b50cc71ea5e5c31b01":[13,56,1], +"classGaussLegendre.html#a86e853a422e16eaacdd85b99b408de7a":[13,56,8], +"classGaussLegendre.html#aa05d17a5ed14375874be2533f04f67fe":[13,56,2], +"classGaussLegendre.html#aec9ebad8ba50cdca4f53d56e4de860a8":[13,56,5], +"classIAdvectionRP.html":[13,60], +"classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7":[13,60,1], +"classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c":[13,60,2], +"classIAdvectionRP.html#afdf23c9e4e27f72ccdfa48d5927e85ce":[13,60,0], +"classIAdvectionSpatial.html":[13,61], +"classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22":[13,61,1], +"classIAdvectionSpatial.html#a70ff067842fcab1a97cc30acf9e596df":[13,61,0], +"classIAdvectionVelocity.html":[13,62], +"classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827":[13,62,1], +"classIAdvectionVelocity.html#a6d67c31893055c188e955305dc4b421a":[13,62,0], +"classIBoltzmannSolver.html":[13,63], +"classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb":[13,63,1], +"classIBoltzmannSolver.html#adedfcbd6d713c24cd39272d512ae8f1b":[13,63,0], +"classIChargeDensityCalculator.html":[13,64], +"classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b":[13,64,1], +"classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3":[13,64,0], +"classIEquilibrium.html":[13,65], +"classIEquilibrium.html#a7244af05e0e1176c0c02212cee0cfb43":[13,65,0], +"classIEquilibrium.html#a7244af05e0e1176c0c02212cee0cfb43":[13,65,1], +"classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9":[13,65,2], +"classIEquilibrium.html#aa9cde57feac60ee82ae09fc61c86c807":[13,65,3], +"classIFootFinder.html":[13,66], +"classIFootFinder.html#a331269128fb52ca8cc6acef95b8365b6":[13,66,0], +"classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860":[13,66,1], +"classIInitialization.html":[13,67], +"classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e":[13,67,2], +"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[13,67,0], +"classIInitialization.html#a5d604e8e8cde8d05154434b6f0256558":[13,67,1], +"classIInitialization.html#a9f426856e221de98fd68e2a4ea757819":[13,67,3], +"classIInterpolatorBatched.html":[13,68], +"classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c":[13,68,1], +"classIInterpolatorBatched.html#ae2118bf914419abe7bcea6aeb8bd6047":[13,68,0], +"classIInterpolatorRP.html":[13,69], +"classIInterpolatorRP.html#a103d3ece616cbe9c98c42c623f1feeff":[13,69,0], +"classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe":[13,69,1], +"classIPoissonSolver.html":[13,72], +"classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9":[13,72,4], +"classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5":[13,72,3], +"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,72,0], +"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,72,1], +"classIPoissonSolver.html#a92e67d73a6fdaeab87feeeaa11821de9":[13,72,2], +"classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6":[13,72,5], +"classIPreallocatableInterpolatorBatched.html":[13,73], +"classIPreallocatableInterpolatorBatched.html#a1ae550713e0c46190458d0a73f075559":[13,73,0], +"classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2":[13,73,1], +"classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5":[13,73,2], +"classIPreallocatableInterpolatorRP.html":[13,74], +"classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6":[13,74,1], +"classIPreallocatableInterpolatorRP.html#a74ad0210bfcf4583948ff61a72bfb29f":[13,74,0], +"classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4":[13,74,2], +"classIRightHandSide.html":[13,75], +"classIRightHandSide.html#a46c157197ef52a7dd221e687584b3d1c":[13,75,0], +"classIRightHandSide.html#ae583170af9abcdbb740c12c963860367":[13,75,1], +"classITimeSolver.html":[13,76], +"classITimeSolver.html#a08927c53d2c33753c80fccfcb51e0047":[13,76,3], +"classITimeSolver.html#a0b6b8b4a38bfe8eb0763c65268a10379":[13,76,0], +"classITimeSolver.html#a0b6b8b4a38bfe8eb0763c65268a10379":[13,76,1], +"classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20":[13,76,2], +"classITimeSolverRP.html":[13,77], +"classITimeSolverRP.html#a09f0355c26469ef4adf7693fc1956ab5":[13,77,0], +"classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a":[13,77,2], +"classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7":[13,77,1], +"classITimeStepper.html":[13,78], +"classIVlasovSolver.html":[13,79], +"classIVlasovSolver.html#a10c7130ab540e2f3502ecea9bf67da1e":[13,79,0], +"classIVlasovSolver.html#a45c170f305e21ec904c0ff8f6dd1d658":[13,79,1], +"classKineticSource.html":[13,80], +"classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88":[13,80,0], +"classKineticSource.html#a537fb1ad7e2e635416fbe88dce434d66":[13,80,1], +"classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a":[13,80,2], +"classKrookSourceAdaptive.html":[13,81], +"classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7":[13,81,3], +"classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0":[13,81,1], +"classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0":[13,81,4], +"classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e":[13,81,5], +"classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27":[13,81,0], +"classKrookSourceAdaptive.html#ad5ad503ec574995461c1f8332543c975":[13,81,2], +"classKrookSourceConstant.html":[13,82], +"classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151":[13,82,3], +"classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8":[13,82,1], +"classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c":[13,82,0], +"classKrookSourceConstant.html#ae881ed7d8768c9f8bb103d10a1b625cb":[13,82,2], +"classLagrange.html":[13,83], +"classLagrange.html#a0768122bb54bed3ee47c4e751984784c":[13,83,0], +"classLagrange.html#ad527b811b643d250343f3cf19de2be7d":[13,83,1], +"classLagrangeInterpolatorBatched.html":[13,84], +"classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6":[13,84,2] }; diff --git a/navtreeindex2.js b/navtreeindex2.js index c7df6dd5d..40943b95a 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -1,253 +1,253 @@ var NAVTREEINDEX2 = { -"classITimeStepper.html":[13,83], -"classIVlasovSolver.html":[13,84], -"classIVlasovSolver.html#a10c7130ab540e2f3502ecea9bf67da1e":[13,84,0], -"classIVlasovSolver.html#a45c170f305e21ec904c0ff8f6dd1d658":[13,84,1], -"classKineticSource.html":[13,85], -"classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88":[13,85,0], -"classKineticSource.html#a537fb1ad7e2e635416fbe88dce434d66":[13,85,1], -"classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a":[13,85,2], -"classKnotsAsInterpolationPoints.html":[13,86], -"classKnotsAsInterpolationPoints.html#a9a6cd19c503370d4a3abf8083bbfad57":[13,86,0], -"classKrookSourceAdaptive.html":[13,87], -"classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7":[13,87,3], -"classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0":[13,87,1], -"classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0":[13,87,4], -"classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e":[13,87,5], -"classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27":[13,87,0], -"classKrookSourceAdaptive.html#ad5ad503ec574995461c1f8332543c975":[13,87,2], -"classKrookSourceConstant.html":[13,88], -"classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151":[13,88,3], -"classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8":[13,88,1], -"classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c":[13,88,0], -"classKrookSourceConstant.html#ae881ed7d8768c9f8bb103d10a1b625cb":[13,88,2], -"classLagrange.html":[13,89], -"classLagrange.html#a0768122bb54bed3ee47c4e751984784c":[13,89,0], -"classLagrange.html#ad527b811b643d250343f3cf19de2be7d":[13,89,1], -"classLagrangeInterpolatorBatched.html":[13,90], -"classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6":[13,90,2], -"classLagrangeInterpolatorBatched.html#a3e33453b70a8caa24acc2a8a8957db12":[13,90,1], -"classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517":[13,90,0], -"classManufacturedPoissonTest.html":[13,91], -"classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b":[13,91,1], -"classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736":[13,91,0], -"classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315":[13,91,2], -"classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122":[13,91,4], -"classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de":[13,91,3], -"classMatrix.html":[13,92], -"classMatrix.html#a0e72216b991d1f4af19982fe936067ab":[13,92,1], -"classMatrix.html#a135d09d05b6e7430fdfa2c135afc4fae":[13,92,3], -"classMatrix.html#a15badbcf214a7842a0a654f9210f39a1":[13,92,8], -"classMatrix.html#a1d3dd4ae5b28f0f1ec3e64ae17998944":[13,92,4], -"classMatrix.html#a490ec31dfcf14765beb1cce24ba3b985":[13,92,9], -"classMatrix.html#a4945dc199571d35cf8e3bbcf24672030":[13,92,7], -"classMatrix.html#a687d05d0c6cb4e1a8dc1a40e4926e9a3":[13,92,11], -"classMatrix.html#a7abddeb70927285ae9c0a6793d115427":[13,92,10], -"classMatrix.html#ab1bd5ff2b3826377f400a21d64c701fe":[13,92,0], -"classMatrix.html#abdee530d859db8b14e07915573ff5650":[13,92,6], -"classMatrix.html#aec81ac31e9c308df6db246cb98202f17":[13,92,2], -"classMatrix.html#afe065061f0c5b43def602676101fb2be":[13,92,5], -"classMatrix__Banded.html":[13,93], -"classMatrix__Banded.html#a455feff42fd275a959d25cafcb08f7ee":[13,93,4], -"classMatrix__Banded.html#a4b9dff91919d3b67163fd788c266dfc2":[13,93,9], -"classMatrix__Banded.html#a4d04efdf6df3d806403aca29bb399b2a":[13,93,1], -"classMatrix__Banded.html#a4fb11c6b8ba617eb2b90ffddaf348289":[13,93,7], -"classMatrix__Banded.html#a590542d668e7aa67c6adcde23b287b8f":[13,93,2], -"classMatrix__Banded.html#a5b048b1936941d7188b996cd531cd630":[13,93,8], -"classMatrix__Banded.html#ab8fe5741b3b61c8351ab6be287e6d98f":[13,93,5], -"classMatrix__Banded.html#ac89afe7f80209cd4456138daf37c3cb9":[13,93,0], -"classMatrix__Banded.html#ad7b9a08a95f612d924e4b074e1772247":[13,93,6], -"classMatrix__Banded.html#af664e9b8322a6fb2e47619fffcc8201b":[13,93,3], -"classMatrix__Center__Block.html":[13,94], -"classMatrix__Center__Block.html#a0726eb1007c361d427b22e7c06e9ac23":[13,94,5], -"classMatrix__Center__Block.html#a1c0812dab8dc541f983aac9274c2dc51":[13,94,8], -"classMatrix__Center__Block.html#a4320779b8d589929de4fb27e9649b4f7":[13,94,7], -"classMatrix__Center__Block.html#a437b0370937f48a3e239bd32dd444260":[13,94,13], -"classMatrix__Center__Block.html#a4f9b16b46b2072fb0aaa5fcc81aef64e":[13,94,3], -"classMatrix__Center__Block.html#a72441ef643b547e321a67175003fae76":[13,94,2], -"classMatrix__Center__Block.html#a73f3847e492c02b8dd869b9032148e42":[13,94,9], -"classMatrix__Center__Block.html#a7896bee7289f0a272a985067a0820848":[13,94,0], -"classMatrix__Center__Block.html#a89a0fd2299f8c8c6a3eef7f9d5cc4dab":[13,94,10], -"classMatrix__Center__Block.html#a9961a05587d30ff4203fb371fbf23515":[13,94,14], -"classMatrix__Center__Block.html#aaf499227ba7d90c20967ab6d8e776482":[13,94,11], -"classMatrix__Center__Block.html#ac0bcd1e75ec31a079151987909d8fcf9":[13,94,4], -"classMatrix__Center__Block.html#ac2a92df60c4ce88f33dd25e4a3dd935b":[13,94,1], -"classMatrix__Center__Block.html#af5f28a16f185009bae2f649b22aefc2c":[13,94,6], -"classMatrix__Center__Block.html#afe444fe825170010bc3b3501aff45089":[13,94,12], -"classMatrix__Corner__Block.html":[13,95], -"classMatrix__Corner__Block.html#a02c714c7dbf1c5d96d3deccdc2e1c510":[13,95,0], -"classMatrix__Corner__Block.html#a09a6ff9a2b9912b3ee5d2df4d4b37ee1":[13,95,2], -"classMatrix__Corner__Block.html#a2ba0aa809c557ad1d2c710ddf8248cb2":[13,95,17], -"classMatrix__Corner__Block.html#a33931b7ada48fc05d33614cd4818c5b7":[13,95,1], -"classMatrix__Corner__Block.html#a48fb0458b7bb4811406b6deda078de6e":[13,95,4], -"classMatrix__Corner__Block.html#a4a86d05bdf1716db3c228a921b6a80b0":[13,95,20], -"classMatrix__Corner__Block.html#a5af1055a64ebe2f66469e3522411dd73":[13,95,9], -"classMatrix__Corner__Block.html#a7414c90ca623f4adc9ca5951ef96fe7f":[13,95,15], -"classMatrix__Corner__Block.html#a7d06d0294c301af28e252ae180139704":[13,95,6], -"classMatrix__Corner__Block.html#a824a9d43ce28eef0836510f68deaf7dd":[13,95,11], -"classMatrix__Corner__Block.html#a86d8ea2d8cdabf491109060d5a37d517":[13,95,12], -"classMatrix__Corner__Block.html#a9f1ba0d1ee24583b842b7a71c7479e19":[13,95,7], -"classMatrix__Corner__Block.html#aa5b5120141de32446632becd4a258088":[13,95,3], -"classMatrix__Corner__Block.html#aaf8dcc6cde4f47c3aea20101d3f9d451":[13,95,18], -"classMatrix__Corner__Block.html#ab334c0f3655210a70d19d763641de24b":[13,95,8], -"classMatrix__Corner__Block.html#ac99e12ba5284a8a73bfd454c8f8b7b60":[13,95,5], -"classMatrix__Corner__Block.html#acb697f1f5f3fa7094b311b16e68c72c8":[13,95,10], -"classMatrix__Corner__Block.html#ae41b9a3f53786f953cd30242aad91641":[13,95,14], -"classMatrix__Corner__Block.html#ae4272c855b07fbdf88cc781702145ab0":[13,95,13], -"classMatrix__Corner__Block.html#af19beee83d0007747a3d47bbea2371b2":[13,95,16], -"classMatrix__Corner__Block.html#afd674000287386818ce4e1a149a36ef3":[13,95,19], -"classMatrix__Dense.html":[13,96], -"classMatrix__Dense.html#a2738310b5ae0c4357127d5275ea7cadd":[13,96,0], -"classMatrix__Dense.html#a73607d2ec0371ff458255c468cf592e1":[13,96,2], -"classMatrix__Dense.html#aeec133bd6a7c521bd5e4ed6270fc9d67":[13,96,1], -"classMatrix__PDS__Tridiag.html":[13,97], -"classMatrix__PDS__Tridiag.html#a4a9fc7ee2cce090f633f18ecf6840302":[13,97,2], -"classMatrix__PDS__Tridiag.html#a4cf97440d0e913df04f837071d6b9242":[13,97,1], -"classMatrix__PDS__Tridiag.html#a74f44a973fc21fed7e20bcb2d4ee0188":[13,97,0], -"classMatrix__PDS__Tridiag.html#a89fb53c7047261f1f7360206bfdf0e67":[13,97,3], -"classMatrix__PDS__Tridiag.html#aa68d8edd45ba51fa5a22c49c8c61d822":[13,97,4], -"classMatrix__PDS__Tridiag.html#ab9f8c945d8643ac2a10f70b5e230800b":[13,97,6], -"classMatrix__PDS__Tridiag.html#abb82d6f010ecc49887b65ccba42ed4f0":[13,97,5], -"classMatrix__Periodic__Banded.html":[13,98], -"classMatrix__Periodic__Banded.html#a09b01718963b20a11501eb6d525cd0dd":[13,98,6], -"classMatrix__Periodic__Banded.html#a1c5e9a559b7bae38c1bb4f81447156b5":[13,98,0], -"classMatrix__Periodic__Banded.html#a24550036b45b869c5b1e7d97c4bf395b":[13,98,7], -"classMatrix__Periodic__Banded.html#a960b73ea3955a7fa89205d069db85a77":[13,98,5], -"classMatrix__Periodic__Banded.html#ac4f7d1dc5b2f8bf013a447830571f949":[13,98,1], -"classMatrix__Periodic__Banded.html#adede214c5a83cf8080eebee9f5fd5ddd":[13,98,3], -"classMatrix__Periodic__Banded.html#aec04487e2d8aeb00ed26b92becabb991":[13,98,2], -"classMatrix__Periodic__Banded.html#af48d182f8f5278093ebde8b96ded9dbc":[13,98,4], -"classMaxwellianEquilibrium.html":[13,99], -"classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0":[13,99,5], -"classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64":[13,99,4], -"classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0":[13,99,6], -"classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0":[13,99,0], -"classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0":[13,99,2], -"classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293":[13,99,8], -"classMaxwellianEquilibrium.html#a93e6fba9f6003062ba29256213f22dc0":[13,99,1], -"classMaxwellianEquilibrium.html#a93e6fba9f6003062ba29256213f22dc0":[13,99,3], -"classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3":[13,99,9], -"classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99":[13,99,7], -"classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51":[13,99,10], -"classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea":[13,99,11], -"classNonUniformBSplines.html":[13,101], -"classNonUniformBSplines.html#a02429754302e899ade58e314f6a117ed":[13,101,4], -"classNonUniformBSplines.html#a1003c61e5cc6d0643a1e4b517fb9fc38":[13,101,6], -"classNonUniformBSplines.html#a266155b617441df530bb202effb00199":[13,101,2], -"classNonUniformBSplines.html#a39aa243dd134be9784caf37b2748f011":[13,101,3], -"classNonUniformBSplines.html#a896e1554318ee8ea05c72959f217ac33":[13,101,9], -"classNonUniformBSplines.html#a8b973c34eeca3bc2cdd815aca8337e8b":[13,101,8], -"classNonUniformBSplines.html#aef7fc1c4c6234f73bcea1e0088d987be":[13,101,7], -"classNonUniformBSplines.html#afef09ceda055aea33e669f7c99ebbbff":[13,101,5], -"classNonUniformBSplines.html#structNonUniformBSplines_1_1InternalTagGenerator":[13,101,1], -"classNonUniformBSplines_1_1Impl.html":[13,101,0], -"classNonUniformBSplines_1_1Impl.html#a04f72d5840fefbff6b4c5361485f8b60":[13,101,0,24], -"classNonUniformBSplines_1_1Impl.html#a10444f984d0b813bef4ea5e2d11c314f":[13,101,0,21], -"classNonUniformBSplines_1_1Impl.html#a12768f75178df7101c65c97861c95da2":[13,101,0,9], -"classNonUniformBSplines_1_1Impl.html#a2132aef539a91cd2c2fed5bb92517bf0":[13,101,0,11], -"classNonUniformBSplines_1_1Impl.html#a213ae90f58a073a231132ecc45b9393f":[13,101,0,1], -"classNonUniformBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,101,0,27], -"classNonUniformBSplines_1_1Impl.html#a2ce215005a100d67eeb893acb92e8572":[13,101,0,17], -"classNonUniformBSplines_1_1Impl.html#a42b1264e7629298070fa71909cefcc13":[13,101,0,13], -"classNonUniformBSplines_1_1Impl.html#a43ebb570773de26acf70b47ef72fb22b":[13,101,0,2], -"classNonUniformBSplines_1_1Impl.html#a7a3eaf042804f09244682a57d3afcfa4":[13,101,0,6], -"classNonUniformBSplines_1_1Impl.html#a970250fa00c632d66944ee1b74c92f3d":[13,101,0,26], -"classNonUniformBSplines_1_1Impl.html#a9cc8ae746548b058f377125e3a65886e":[13,101,0,0], -"classNonUniformBSplines_1_1Impl.html#a9ea77cab8b17d2c9e2017c669ffaadff":[13,101,0,10], -"classNonUniformBSplines_1_1Impl.html#aa401e9626386fee2831742b4a65f867a":[13,101,0,3], -"classNonUniformBSplines_1_1Impl.html#aa61f2315c25d2e7d5278c69d6e19bde2":[13,101,0,20], -"classNonUniformBSplines_1_1Impl.html#aab26d2d53f07f82341c9e2f8ae219d82":[13,101,0,8], -"classNonUniformBSplines_1_1Impl.html#ab196a05e1742f2ebbdf846a88bf3bd50":[13,101,0,22], -"classNonUniformBSplines_1_1Impl.html#ab24bd5dbcbd2c767b91699255bf255fa":[13,101,0,16], -"classNonUniformBSplines_1_1Impl.html#abf30e16afac8311af45359026a87f27f":[13,101,0,18], -"classNonUniformBSplines_1_1Impl.html#ac8a6caf50fd6643695e349fc63600008":[13,101,0,23], -"classNonUniformBSplines_1_1Impl.html#acbea4f01e1cf90a587fbd1d3b05fd482":[13,101,0,7], -"classNonUniformBSplines_1_1Impl.html#aced22fd972d273dff5a6d6c62f1a307e":[13,101,0,15], -"classNonUniformBSplines_1_1Impl.html#ad6200b6716ae8ff9842416f1ce929aa9":[13,101,0,25], -"classNonUniformBSplines_1_1Impl.html#add53c595b626c160a4333ee3f8cf8819":[13,101,0,5], -"classNonUniformBSplines_1_1Impl.html#aea1f417883c31c42701dfea3c8461838":[13,101,0,19], -"classNonUniformBSplines_1_1Impl.html#aeef5d2dae4584c9d9ec63692ca951112":[13,101,0,12], -"classNonUniformBSplines_1_1Impl.html#af49330b0d18915f9bfff5e7a5954d4d2":[13,101,0,4], -"classNonUniformBSplines_1_1Impl.html#af745dc09b547464e40f6d2adeb827c84":[13,101,0,14], -"classNullAdvectionVelocity.html":[13,102], -"classNullAdvectionVelocity.html#a44791e3e03216d1e2b5da765b98dc746":[13,102,1], -"classNullAdvectionVelocity.html#a7d3de4b7e4addd3f88f055ffebd892bf":[13,102,0], -"classNullAdvectionVelocity.html#add38196f822e4779006d1deab14814dc":[13,102,2], -"classNullBoundaryValue.html":[13,103], -"classNullBoundaryValue.html#a2e8c2a7d602f7e7c8b2710520cae0a92":[13,103,1], -"classNullBoundaryValue.html#a622aa9a03a97ba14b06962fdb7fdc502":[13,103,2], -"classNullBoundaryValue.html#afc247e5ce2a30330469ed4b2630c05ae":[13,103,0], -"classNullBoundaryValue2D.html":[13,104], -"classNullBoundaryValue2D.html#a7193419626806e22c87f36ab6e6cf0fa":[13,104,1], -"classNullBoundaryValue2D.html#a86011128f45c7df46a03ecd8ffa14120":[13,104,0], -"classNullBoundaryValue2D.html#afbaabb1c4eb941a453916e1b35a64744":[13,104,2], -"classNullPoissonSolver.html":[13,105], -"classNullPoissonSolver.html#a1ba670a5aa811bf47f5cca8b890d51ed":[13,105,0], -"classNullPoissonSolver.html#a1ba670a5aa811bf47f5cca8b890d51ed":[13,105,2], -"classNullPoissonSolver.html#a443405a2a69acd28ae36ebf7fb6e6368":[13,105,1], -"classNullPoissonSolver.html#a443405a2a69acd28ae36ebf7fb6e6368":[13,105,3], -"classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec":[13,105,5], -"classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af":[13,105,4], -"classPoissonRHSFunction.html":[13,106], -"classPoissonRHSFunction.html#a2287f1a0481b7e8dd07d24a902743876":[13,106,0], -"classPoissonRHSFunction.html#a329db95bfd1a7edd920d4e73c137c75c":[13,106,1], -"classPoissonRHSFunction.html#a98c05540209406a0c79c53c43767314f":[13,106,2], -"classPoissonSolution.html":[13,107], -"classPoissonSolution.html#a6057677dfed4113f72fad7d607248868":[13,107,1], -"classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c":[13,107,0], -"classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7":[13,107,3], -"classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0":[13,107,4], -"classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703":[13,107,2], -"classPolarBSplines.html":[13,108], -"classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169":[13,108,2], -"classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a":[13,108,4], -"classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d":[13,108,3], -"classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe":[13,108,9], -"classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d":[13,108,10], -"classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6":[13,108,6], -"classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6":[13,108,11], -"classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4":[13,108,7], -"classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da":[13,108,5], -"classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d":[13,108,1], -"classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d":[13,108,8], -"classPolarBSplines_1_1Impl.html":[13,108,0], -"classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05":[13,108,0,13], -"classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311":[13,108,0,17], -"classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e":[13,108,0,7], -"classPolarBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,108,0,19], -"classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d":[13,108,0,5], -"classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633":[13,108,0,18], -"classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c":[13,108,0,12], -"classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c":[13,108,0,9], -"classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf":[13,108,0,8], -"classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5":[13,108,0,15], -"classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e":[13,108,0,14], -"classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5":[13,108,0,16], -"classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e":[13,108,0,11], -"classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08":[13,108,0,10], -"classPolarBSplines_1_1Impl.html#aaed9f0037acefbb5acdecff592114967":[13,108,0,4], -"classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d":[13,108,0,3], -"classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd":[13,108,0,6], -"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag":[13,108,0,0], -"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag":[13,108,0,1], -"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag":[13,108,0,2], -"classPolarNullBoundaryValue2D.html":[13,109], -"classPolarNullBoundaryValue2D.html#a48aa7163261140027d5d0b7161d6ca08":[13,109,0], -"classPolarNullBoundaryValue2D.html#a8964cdc59303ca2cd9236138b4c96770":[13,109,1], -"classPolarNullBoundaryValue2D.html#a9f8f81dc8e89da0f8059cfa320cad63a":[13,109,2], -"classPolarSplineBoundaryValue2D.html":[13,111], -"classPolarSplineBoundaryValue2D.html#a07ba0f8eed5ec56ef84687d316cafb3d":[13,111,0], -"classPolarSplineBoundaryValue2D.html#a491113540178c12f525e58888991fdc3":[13,111,1], -"classPolarSplineEvaluator.html":[13,112], -"classPolarSplineEvaluator.html#a0615c3c92b01a46d9c2a7804688af657":[13,112,17], -"classPolarSplineEvaluator.html#a0b951375b57b56e51acd207739d21eb5":[13,112,8], -"classPolarSplineEvaluator.html#a117fe2ce4d5dcb58f90c781d3c39c233":[13,112,7], -"classPolarSplineEvaluator.html#a131aa5dd99b62b024c4b0ae386db1489":[13,112,3], -"classPolarSplineEvaluator.html#a21c225b744962b5b83476156e737b46f":[13,112,2], -"classPolarSplineEvaluator.html#a26a1961933d750d08fb027e9142cb6ba":[13,112,0], -"classPolarSplineEvaluator.html#a27b0b79479680b3d506184bf1febc231":[13,112,15], -"classPolarSplineEvaluator.html#a2dfd0747f1aa1bd56676980918723d68":[13,112,12], -"classPolarSplineEvaluator.html#a3bf37551c2474a7034d53cdedde7dcc7":[13,112,9], -"classPolarSplineEvaluator.html#a41bb228d256a0785988519f9683b100c":[13,112,14] +"classLagrangeInterpolatorBatched.html#a3e33453b70a8caa24acc2a8a8957db12":[13,84,1], +"classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517":[13,84,0], +"classManufacturedPoissonTest.html":[13,85], +"classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b":[13,85,1], +"classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736":[13,85,0], +"classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315":[13,85,2], +"classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122":[13,85,4], +"classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de":[13,85,3], +"classMatrix.html":[13,86], +"classMatrix.html#a0e72216b991d1f4af19982fe936067ab":[13,86,1], +"classMatrix.html#a135d09d05b6e7430fdfa2c135afc4fae":[13,86,3], +"classMatrix.html#a15badbcf214a7842a0a654f9210f39a1":[13,86,8], +"classMatrix.html#a1d3dd4ae5b28f0f1ec3e64ae17998944":[13,86,4], +"classMatrix.html#a490ec31dfcf14765beb1cce24ba3b985":[13,86,9], +"classMatrix.html#a4945dc199571d35cf8e3bbcf24672030":[13,86,7], +"classMatrix.html#a687d05d0c6cb4e1a8dc1a40e4926e9a3":[13,86,11], +"classMatrix.html#a7abddeb70927285ae9c0a6793d115427":[13,86,10], +"classMatrix.html#ab1bd5ff2b3826377f400a21d64c701fe":[13,86,0], +"classMatrix.html#abdee530d859db8b14e07915573ff5650":[13,86,6], +"classMatrix.html#aec81ac31e9c308df6db246cb98202f17":[13,86,2], +"classMatrix.html#afe065061f0c5b43def602676101fb2be":[13,86,5], +"classMatrix__Banded.html":[13,87], +"classMatrix__Banded.html#a455feff42fd275a959d25cafcb08f7ee":[13,87,4], +"classMatrix__Banded.html#a4b9dff91919d3b67163fd788c266dfc2":[13,87,9], +"classMatrix__Banded.html#a4d04efdf6df3d806403aca29bb399b2a":[13,87,1], +"classMatrix__Banded.html#a4fb11c6b8ba617eb2b90ffddaf348289":[13,87,7], +"classMatrix__Banded.html#a590542d668e7aa67c6adcde23b287b8f":[13,87,2], +"classMatrix__Banded.html#a5b048b1936941d7188b996cd531cd630":[13,87,8], +"classMatrix__Banded.html#ab8fe5741b3b61c8351ab6be287e6d98f":[13,87,5], +"classMatrix__Banded.html#ac89afe7f80209cd4456138daf37c3cb9":[13,87,0], +"classMatrix__Banded.html#ad7b9a08a95f612d924e4b074e1772247":[13,87,6], +"classMatrix__Banded.html#af664e9b8322a6fb2e47619fffcc8201b":[13,87,3], +"classMatrix__Center__Block.html":[13,88], +"classMatrix__Center__Block.html#a0726eb1007c361d427b22e7c06e9ac23":[13,88,5], +"classMatrix__Center__Block.html#a1c0812dab8dc541f983aac9274c2dc51":[13,88,8], +"classMatrix__Center__Block.html#a4320779b8d589929de4fb27e9649b4f7":[13,88,7], +"classMatrix__Center__Block.html#a437b0370937f48a3e239bd32dd444260":[13,88,13], +"classMatrix__Center__Block.html#a4f9b16b46b2072fb0aaa5fcc81aef64e":[13,88,3], +"classMatrix__Center__Block.html#a72441ef643b547e321a67175003fae76":[13,88,2], +"classMatrix__Center__Block.html#a73f3847e492c02b8dd869b9032148e42":[13,88,9], +"classMatrix__Center__Block.html#a7896bee7289f0a272a985067a0820848":[13,88,0], +"classMatrix__Center__Block.html#a89a0fd2299f8c8c6a3eef7f9d5cc4dab":[13,88,10], +"classMatrix__Center__Block.html#a9961a05587d30ff4203fb371fbf23515":[13,88,14], +"classMatrix__Center__Block.html#aaf499227ba7d90c20967ab6d8e776482":[13,88,11], +"classMatrix__Center__Block.html#ac0bcd1e75ec31a079151987909d8fcf9":[13,88,4], +"classMatrix__Center__Block.html#ac2a92df60c4ce88f33dd25e4a3dd935b":[13,88,1], +"classMatrix__Center__Block.html#af5f28a16f185009bae2f649b22aefc2c":[13,88,6], +"classMatrix__Center__Block.html#afe444fe825170010bc3b3501aff45089":[13,88,12], +"classMatrix__Corner__Block.html":[13,89], +"classMatrix__Corner__Block.html#a02c714c7dbf1c5d96d3deccdc2e1c510":[13,89,0], +"classMatrix__Corner__Block.html#a09a6ff9a2b9912b3ee5d2df4d4b37ee1":[13,89,2], +"classMatrix__Corner__Block.html#a2ba0aa809c557ad1d2c710ddf8248cb2":[13,89,17], +"classMatrix__Corner__Block.html#a33931b7ada48fc05d33614cd4818c5b7":[13,89,1], +"classMatrix__Corner__Block.html#a48fb0458b7bb4811406b6deda078de6e":[13,89,4], +"classMatrix__Corner__Block.html#a4a86d05bdf1716db3c228a921b6a80b0":[13,89,20], +"classMatrix__Corner__Block.html#a5af1055a64ebe2f66469e3522411dd73":[13,89,9], +"classMatrix__Corner__Block.html#a7414c90ca623f4adc9ca5951ef96fe7f":[13,89,15], +"classMatrix__Corner__Block.html#a7d06d0294c301af28e252ae180139704":[13,89,6], +"classMatrix__Corner__Block.html#a824a9d43ce28eef0836510f68deaf7dd":[13,89,11], +"classMatrix__Corner__Block.html#a86d8ea2d8cdabf491109060d5a37d517":[13,89,12], +"classMatrix__Corner__Block.html#a9f1ba0d1ee24583b842b7a71c7479e19":[13,89,7], +"classMatrix__Corner__Block.html#aa5b5120141de32446632becd4a258088":[13,89,3], +"classMatrix__Corner__Block.html#aaf8dcc6cde4f47c3aea20101d3f9d451":[13,89,18], +"classMatrix__Corner__Block.html#ab334c0f3655210a70d19d763641de24b":[13,89,8], +"classMatrix__Corner__Block.html#ac99e12ba5284a8a73bfd454c8f8b7b60":[13,89,5], +"classMatrix__Corner__Block.html#acb697f1f5f3fa7094b311b16e68c72c8":[13,89,10], +"classMatrix__Corner__Block.html#ae41b9a3f53786f953cd30242aad91641":[13,89,14], +"classMatrix__Corner__Block.html#ae4272c855b07fbdf88cc781702145ab0":[13,89,13], +"classMatrix__Corner__Block.html#af19beee83d0007747a3d47bbea2371b2":[13,89,16], +"classMatrix__Corner__Block.html#afd674000287386818ce4e1a149a36ef3":[13,89,19], +"classMatrix__Dense.html":[13,90], +"classMatrix__Dense.html#a2738310b5ae0c4357127d5275ea7cadd":[13,90,0], +"classMatrix__Dense.html#a73607d2ec0371ff458255c468cf592e1":[13,90,2], +"classMatrix__Dense.html#aeec133bd6a7c521bd5e4ed6270fc9d67":[13,90,1], +"classMatrix__PDS__Tridiag.html":[13,91], +"classMatrix__PDS__Tridiag.html#a4a9fc7ee2cce090f633f18ecf6840302":[13,91,2], +"classMatrix__PDS__Tridiag.html#a4cf97440d0e913df04f837071d6b9242":[13,91,1], +"classMatrix__PDS__Tridiag.html#a74f44a973fc21fed7e20bcb2d4ee0188":[13,91,0], +"classMatrix__PDS__Tridiag.html#a89fb53c7047261f1f7360206bfdf0e67":[13,91,3], +"classMatrix__PDS__Tridiag.html#aa68d8edd45ba51fa5a22c49c8c61d822":[13,91,4], +"classMatrix__PDS__Tridiag.html#ab9f8c945d8643ac2a10f70b5e230800b":[13,91,6], +"classMatrix__PDS__Tridiag.html#abb82d6f010ecc49887b65ccba42ed4f0":[13,91,5], +"classMatrix__Periodic__Banded.html":[13,92], +"classMatrix__Periodic__Banded.html#a09b01718963b20a11501eb6d525cd0dd":[13,92,6], +"classMatrix__Periodic__Banded.html#a1c5e9a559b7bae38c1bb4f81447156b5":[13,92,0], +"classMatrix__Periodic__Banded.html#a24550036b45b869c5b1e7d97c4bf395b":[13,92,7], +"classMatrix__Periodic__Banded.html#a960b73ea3955a7fa89205d069db85a77":[13,92,5], +"classMatrix__Periodic__Banded.html#ac4f7d1dc5b2f8bf013a447830571f949":[13,92,1], +"classMatrix__Periodic__Banded.html#adede214c5a83cf8080eebee9f5fd5ddd":[13,92,3], +"classMatrix__Periodic__Banded.html#aec04487e2d8aeb00ed26b92becabb991":[13,92,2], +"classMatrix__Periodic__Banded.html#af48d182f8f5278093ebde8b96ded9dbc":[13,92,4], +"classMaxwellianEquilibrium.html":[13,93], +"classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0":[13,93,5], +"classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64":[13,93,4], +"classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0":[13,93,6], +"classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0":[13,93,0], +"classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0":[13,93,2], +"classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293":[13,93,8], +"classMaxwellianEquilibrium.html#a93e6fba9f6003062ba29256213f22dc0":[13,93,1], +"classMaxwellianEquilibrium.html#a93e6fba9f6003062ba29256213f22dc0":[13,93,3], +"classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3":[13,93,9], +"classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99":[13,93,7], +"classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51":[13,93,10], +"classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea":[13,93,11], +"classNullAdvectionVelocity.html":[13,95], +"classNullAdvectionVelocity.html#a44791e3e03216d1e2b5da765b98dc746":[13,95,1], +"classNullAdvectionVelocity.html#a7d3de4b7e4addd3f88f055ffebd892bf":[13,95,0], +"classNullAdvectionVelocity.html#add38196f822e4779006d1deab14814dc":[13,95,2], +"classNullPoissonSolver.html":[13,96], +"classNullPoissonSolver.html#a1ba670a5aa811bf47f5cca8b890d51ed":[13,96,0], +"classNullPoissonSolver.html#a1ba670a5aa811bf47f5cca8b890d51ed":[13,96,2], +"classNullPoissonSolver.html#a443405a2a69acd28ae36ebf7fb6e6368":[13,96,1], +"classNullPoissonSolver.html#a443405a2a69acd28ae36ebf7fb6e6368":[13,96,3], +"classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec":[13,96,5], +"classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af":[13,96,4], +"classPoissonRHSFunction.html":[13,97], +"classPoissonRHSFunction.html#a1d014ed759a8fbee81a13893e1980171":[13,97,1], +"classPoissonRHSFunction.html#a62cc8e961e80992b062179ec78e8685f":[13,97,3], +"classPoissonRHSFunction.html#aa1f52a141ac086564a6cd00ddaa6f01b":[13,97,0], +"classPoissonRHSFunction.html#abc02c25855c00ab2bdb16916f1aabea2":[13,97,2], +"classPoissonSolution.html":[13,98], +"classPoissonSolution.html#a6057677dfed4113f72fad7d607248868":[13,98,1], +"classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c":[13,98,0], +"classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7":[13,98,3], +"classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0":[13,98,4], +"classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703":[13,98,2], +"classPolarBSplines.html":[13,99], +"classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169":[13,99,2], +"classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a":[13,99,4], +"classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d":[13,99,3], +"classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe":[13,99,9], +"classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d":[13,99,10], +"classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6":[13,99,6], +"classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6":[13,99,11], +"classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4":[13,99,7], +"classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da":[13,99,5], +"classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d":[13,99,1], +"classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d":[13,99,8], +"classPolarBSplines_1_1Impl.html":[13,99,0], +"classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05":[13,99,0,13], +"classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311":[13,99,0,17], +"classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e":[13,99,0,7], +"classPolarBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,99,0,19], +"classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d":[13,99,0,5], +"classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633":[13,99,0,18], +"classPolarBSplines_1_1Impl.html#a4f6c28472809eb95951c92a5d8a21541":[13,99,0,4], +"classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c":[13,99,0,12], +"classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c":[13,99,0,9], +"classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf":[13,99,0,8], +"classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5":[13,99,0,15], +"classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e":[13,99,0,14], +"classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5":[13,99,0,16], +"classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e":[13,99,0,11], +"classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08":[13,99,0,10], +"classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d":[13,99,0,3], +"classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd":[13,99,0,6], +"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag":[13,99,0,0], +"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag":[13,99,0,1], +"classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag":[13,99,0,2], +"classPolarSplineEvaluator.html":[13,101], +"classPolarSplineEvaluator.html#a050a2b7f7baeaccdfeddbbe571580bb5":[13,101,10], +"classPolarSplineEvaluator.html#a0dace1c41499a5500a1f1c10e01794d1":[13,101,20], +"classPolarSplineEvaluator.html#a13c5887c37f94a933cdd431c122a0124":[13,101,7], +"classPolarSplineEvaluator.html#a26c51eff107663001aee27e8285da70d":[13,101,17], +"classPolarSplineEvaluator.html#a286fe6663e3004aead728b7d8acb38a9":[13,101,9], +"classPolarSplineEvaluator.html#a32288ba8cc125ab9579b157060cb744a":[13,101,13], +"classPolarSplineEvaluator.html#a372867a0573a0adaf9a9006a2d78f30c":[13,101,2], +"classPolarSplineEvaluator.html#a452214ac565140c42c611324dbc8ca5c":[13,101,12], +"classPolarSplineEvaluator.html#a4fda8acef6472fb27ffe42d078943f26":[13,101,0], +"classPolarSplineEvaluator.html#a81098a11be51318e8172b18983f812bc":[13,101,19], +"classPolarSplineEvaluator.html#a87b7163ab815cc562d0222b1d5dcd27e":[13,101,8], +"classPolarSplineEvaluator.html#a8960c721f4ef12c2343fae7c36dae0da":[13,101,6], +"classPolarSplineEvaluator.html#aa9f2c3bbb2863cd856857fd978cc9af1":[13,101,11], +"classPolarSplineEvaluator.html#aaccc486ada502c4b48ab55b683c2cbb7":[13,101,3], +"classPolarSplineEvaluator.html#ab1d9832c70778fabd91dcf990a481001":[13,101,15], +"classPolarSplineEvaluator.html#ab875829c2c8dd226e73ad9c88a7fee65":[13,101,5], +"classPolarSplineEvaluator.html#abdb659ded74486dc5d90b41aece39224":[13,101,14], +"classPolarSplineEvaluator.html#acf859a6e71699daf14b5e7fe6995797e":[13,101,16], +"classPolarSplineEvaluator.html#add8585efe107f2cb0e91a765d71f68ec":[13,101,4], +"classPolarSplineEvaluator.html#af5de8a13917331a541a20a989b1564a0":[13,101,18], +"classPolarSplineEvaluator.html#af825f47ac1278302e5dd3ac0d906f09c":[13,101,1], +"classPolarSplineFEMPoissonSolver.html":[13,102], +"classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e":[13,102,7], +"classPolarSplineFEMPoissonSolver.html#a0e28d602203e16d8c662fec1a3c6f24e":[13,102,0,0], +"classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8":[13,102,5], +"classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99":[13,102,6], +"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator":[13,102,0], +"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset":[13,102,1], +"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim":[13,102,2], +"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset":[13,102,3], +"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim":[13,102,4], +"classPreallocatableLagrangeInterpolatorBatched.html":[13,106], +"classPreallocatableLagrangeInterpolatorBatched.html#a7a0707ecde1f62614b80e9effc04b6a8":[13,106,1], +"classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475":[13,106,0], +"classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea":[13,106,2], +"classPreallocatableSplineInterpolatorBatched.html":[13,107], +"classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0":[13,107,2], +"classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10":[13,107,0], +"classPreallocatableSplineInterpolatorBatched.html#af55e09b147f251625df95db35da7a516":[13,107,1], +"classPreallocatableSplineInterpolatorRP.html":[13,108], +"classPreallocatableSplineInterpolatorRP.html#ab98b35cbba0d395bf4d0c6c8e2ec4689":[13,108,2], +"classPreallocatableSplineInterpolatorRP.html#abdf68fc355d1eb8329a511896febde4c":[13,108,0], +"classPreallocatableSplineInterpolatorRP.html#ad92427481b794b783f83e137e52108f9":[13,108,1], +"classPreallocatableSplineInterpolatorRP.html#aedfcd0cff398fd0d6766aeac6b6bb366":[13,108,3], +"classPredCorr.html":[13,109], +"classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d":[13,109,0], +"classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60":[13,109,4], +"classPredCorr.html#a6b53cbaf3e38421ed68ed2c3d0715d25":[13,109,5], +"classPredCorr.html#a7f99203dc020f4337fc4c11c04d2d0ed":[13,109,1], +"classPredCorr.html#a7f99203dc020f4337fc4c11c04d2d0ed":[13,109,3], +"classPredCorr.html#ae4b6fdfbec28c702b689ae31f56865f6":[13,109,2], +"classQuadrature.html":[13,110], +"classQuadrature.html#a533af2a43db87593d2a9863065eefde8":[13,110,1], +"classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755":[13,110,0], +"classRK2.html":[13,122], +"classRK2.html#a29590ce29977600f0a17c7cdfcbb3584":[13,122,0], +"classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4":[13,122,2], +"classRK2.html#aa215475ac2ff63e25d2451175cff5759":[13,122,1], +"classRK2.html#af634097606b3d5f2b54ca3311561ecc1":[13,122,3], +"classRK3.html":[13,123], +"classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e":[13,123,2], +"classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9":[13,123,3], +"classRK3.html#ab45cc74d736d44303fb755d77976bf14":[13,123,1], +"classRK3.html#ab75113e8885dfdbc7c41494db8d2f269":[13,123,0], +"classRK4.html":[13,124], +"classRK4.html#a46286b1d28894b90593a2aee6dca725d":[13,124,1], +"classRK4.html#a63289a986749f2cffeb0180bb37b8cfa":[13,124,0], +"classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9":[13,124,3], +"classRK4.html#af9fdd4103da9b230c52730671abea3d6":[13,124,2], +"classRefinedDiscreteToCartesian.html":[13,120], +"classRefinedDiscreteToCartesian.html#a0f14e02728459802da5197828535c1e2":[13,120,15], +"classRefinedDiscreteToCartesian.html#a0f901e23b2dfd8a35174d35fdd7ba4b5":[13,120,6], +"classRefinedDiscreteToCartesian.html#a188b82d80a44d2d7cdda04c6dce91690":[13,120,12], +"classRefinedDiscreteToCartesian.html#a1c1f98fdaf4b64cb7084909773a85664":[13,120,8], +"classRefinedDiscreteToCartesian.html#a2db78ed9508f2ba5653cbbae7a5fe0b1":[13,120,13], +"classRefinedDiscreteToCartesian.html#a308b497ac063952739c487bdce48145c":[13,120,10], +"classRefinedDiscreteToCartesian.html#a663d2043b6fd23ddbb86815f70f8edf4":[13,120,16], +"classRefinedDiscreteToCartesian.html#a7c5f9aada92d9fdb721f49963ed4c931":[13,120,9], +"classRefinedDiscreteToCartesian.html#a9ccad9ea32431d2129672501ef9ae453":[13,120,14], +"classRefinedDiscreteToCartesian.html#aaedfa0d22464f78665eb0065a985edd3":[13,120,7], +"classRefinedDiscreteToCartesian.html#ac688e376939b25dae506045883181fb5":[13,120,11], +"classRefinedDiscreteToCartesian.html#ae29f077f94f09fc84bd19d45f8e7e225":[13,120,5], +"classRefinedDiscreteToCartesian.html#ae5bba01bd6c921ef16dc603188003936":[13,120,4], +"classRestartInitialization.html":[13,121], +"classRestartInitialization.html#a31f4e4b38e4e1012cc9a2171290b9447":[13,121,1], +"classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0":[13,121,2], +"classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f":[13,121,0], +"classRotationAdvectionFieldSimulation.html":[13,125], +"classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a":[13,125,0], +"classRotationSimulation.html":[13,126] }; diff --git a/navtreeindex3.js b/navtreeindex3.js index 7cda1eb9b..e33ce5759 100644 --- a/navtreeindex3.js +++ b/navtreeindex3.js @@ -1,253 +1,253 @@ var NAVTREEINDEX3 = { -"classPolarSplineEvaluator.html#a60de03671b33a0daf678b6df31cc9206":[13,112,13], -"classPolarSplineEvaluator.html#a6d98892294bafa10455c71f68c0cfb12":[13,112,4], -"classPolarSplineEvaluator.html#a6e40a306765075a23ffc64f56a823605":[13,112,19], -"classPolarSplineEvaluator.html#a6e5b5a439964fa71862689834cf5c1eb":[13,112,10], -"classPolarSplineEvaluator.html#a85c09157c0eb1a996e201d256f289a5c":[13,112,5], -"classPolarSplineEvaluator.html#a87a65b0a223262639ba069a9182993bc":[13,112,18], -"classPolarSplineEvaluator.html#aa404705c242b03294d522da12fdfdc81":[13,112,11], -"classPolarSplineEvaluator.html#aa8f280512a34519fbb3f3dabfc0a1d87":[13,112,16], -"classPolarSplineEvaluator.html#aacce24543106f51ca08ce5d8fc96cb21":[13,112,20], -"classPolarSplineEvaluator.html#ad16dac26ccca13b143d00d7aa53febcf":[13,112,6], -"classPolarSplineEvaluator.html#af95eaa07f8890667fe4feade36d50423":[13,112,1], -"classPolarSplineFEMPoissonSolver.html":[13,113], -"classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e":[13,113,7], -"classPolarSplineFEMPoissonSolver.html#a0e28d602203e16d8c662fec1a3c6f24e":[13,113,0,0], -"classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8":[13,113,5], -"classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99":[13,113,6], -"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator":[13,113,0], -"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset":[13,113,1], -"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim":[13,113,2], -"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset":[13,113,3], -"classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim":[13,113,4], -"classPreallocatableLagrangeInterpolatorBatched.html":[13,117], -"classPreallocatableLagrangeInterpolatorBatched.html#a7a0707ecde1f62614b80e9effc04b6a8":[13,117,1], -"classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475":[13,117,0], -"classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea":[13,117,2], -"classPreallocatableSplineInterpolatorBatched.html":[13,118], -"classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0":[13,118,2], -"classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10":[13,118,0], -"classPreallocatableSplineInterpolatorBatched.html#af55e09b147f251625df95db35da7a516":[13,118,1], -"classPreallocatableSplineInterpolatorRP.html":[13,119], -"classPreallocatableSplineInterpolatorRP.html#a415bb619fad457874e41e7afd7895ac5":[13,119,1], -"classPreallocatableSplineInterpolatorRP.html#a96c0faf84015ec3b49d8d98b3eeef938":[13,119,2], -"classPreallocatableSplineInterpolatorRP.html#ade36aac246ed7b8003ec0e227ca95b7e":[13,119,0], -"classPredCorr.html":[13,120], -"classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d":[13,120,0], -"classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60":[13,120,4], -"classPredCorr.html#a6b53cbaf3e38421ed68ed2c3d0715d25":[13,120,5], -"classPredCorr.html#a7f99203dc020f4337fc4c11c04d2d0ed":[13,120,1], -"classPredCorr.html#a7f99203dc020f4337fc4c11c04d2d0ed":[13,120,3], -"classPredCorr.html#ae4b6fdfbec28c702b689ae31f56865f6":[13,120,2], -"classQuadrature.html":[13,121], -"classQuadrature.html#a533af2a43db87593d2a9863065eefde8":[13,121,1], -"classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755":[13,121,0], -"classRK2.html":[13,133], -"classRK2.html#a29590ce29977600f0a17c7cdfcbb3584":[13,133,0], -"classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4":[13,133,2], -"classRK2.html#aa215475ac2ff63e25d2451175cff5759":[13,133,1], -"classRK2.html#af634097606b3d5f2b54ca3311561ecc1":[13,133,3], -"classRK3.html":[13,134], -"classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e":[13,134,2], -"classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9":[13,134,3], -"classRK3.html#ab45cc74d736d44303fb755d77976bf14":[13,134,1], -"classRK3.html#ab75113e8885dfdbc7c41494db8d2f269":[13,134,0], -"classRK4.html":[13,135], -"classRK4.html#a46286b1d28894b90593a2aee6dca725d":[13,135,1], -"classRK4.html#a63289a986749f2cffeb0180bb37b8cfa":[13,135,0], -"classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9":[13,135,3], -"classRK4.html#af9fdd4103da9b230c52730671abea3d6":[13,135,2], -"classRefinedDiscreteToCartesian.html":[13,131], -"classRefinedDiscreteToCartesian.html#a3566dfb3c96667eb21a1f2bf7cef9e20":[13,131,10], -"classRefinedDiscreteToCartesian.html#a416da5763f9fbc1102116d87a9d16406":[13,131,13], -"classRefinedDiscreteToCartesian.html#a71cf6ce493ab0b2d2648bbf37fe0a1b0":[13,131,4], -"classRefinedDiscreteToCartesian.html#a92814d6e27ac7ea37614afebb77b948c":[13,131,8], -"classRefinedDiscreteToCartesian.html#a9e3a54843420a1bb60def2673e76f6b5":[13,131,9], -"classRefinedDiscreteToCartesian.html#aadcec35fb2e9e3d3374319c2083252ac":[13,131,11], -"classRefinedDiscreteToCartesian.html#aae2b4b51ccbf6904311b898cf6294697":[13,131,15], -"classRefinedDiscreteToCartesian.html#ab2bd385b85af4de24b2b551ad7d08395":[13,131,6], -"classRefinedDiscreteToCartesian.html#ad036c1e505c4f6aff7c898f8780b4aae":[13,131,12], -"classRefinedDiscreteToCartesian.html#ad15636dc573eac8f0822134b87be904a":[13,131,5], -"classRefinedDiscreteToCartesian.html#aed3ea390d002eebaa27fde9077fd9fc8":[13,131,16], -"classRefinedDiscreteToCartesian.html#afa1403f0c31addf1ddc2a32546e95968":[13,131,7], -"classRefinedDiscreteToCartesian.html#afc5ed6dcc2450da218198df4ce5d99db":[13,131,14], -"classRestartInitialization.html":[13,132], -"classRestartInitialization.html#a31f4e4b38e4e1012cc9a2171290b9447":[13,132,1], -"classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0":[13,132,2], -"classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f":[13,132,0], -"classRotationAdvectionFieldSimulation.html":[13,136], -"classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a":[13,136,0], -"classRotationSimulation.html":[13,137], -"classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd":[13,137,0], -"classSingleModePerturbInitialization.html":[13,138], -"classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79":[13,138,6], -"classSingleModePerturbInitialization.html#a543dcd83b62baaceb48d54a2cab09e83":[13,138,1], -"classSingleModePerturbInitialization.html#a543dcd83b62baaceb48d54a2cab09e83":[13,138,3], -"classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b":[13,138,7], -"classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8":[13,138,5], -"classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb":[13,138,0], -"classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a":[13,138,4], -"classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098":[13,138,2], -"classSplineBoundaryValue.html":[13,140], -"classSplineBoundaryValue.html#a772793f39da3ff86099ca45d56d3a4b6":[13,140,1], -"classSplineBoundaryValue.html#ab8c255bfff4881701559b44dbe568db1":[13,140,0], -"classSplineBoundaryValue2D.html":[13,141], -"classSplineBoundaryValue2D.html#a2204ee78e1716a11e69bf609dcb66fc2":[13,141,1], -"classSplineBoundaryValue2D.html#a2ea44746fb1c6e0751d2883d21e7732c":[13,141,0], -"classSplineBuilder.html":[13,142], -"classSplineBuilder.html#a002107d0fdbfd399afca2f822e048f4f":[13,142,7], -"classSplineBuilder.html#a0187dbc5d9a7c8af08031f2c24b1d1be":[13,142,6], -"classSplineBuilder.html#a2763318a2269b27a7a051200bbc5b659":[13,142,8], -"classSplineBuilder.html#a277cde780e9a94f7f2dbc8a3fef5e4ff":[13,142,1], -"classSplineBuilder.html#a2d211caa5dd227dd6d05947484d1b6e9":[13,142,11], -"classSplineBuilder.html#a60ece27168e990dd396dd059ce238267":[13,142,9], -"classSplineBuilder.html#a8e306ff751612410e7c80db1eeabd0c8":[13,142,0], -"classSplineBuilder.html#aa1c79d6ada6f3253febfc994b9a2d55e":[13,142,3], -"classSplineBuilder.html#ab66639ab2f9529f4430ce60320eb9e17":[13,142,12], -"classSplineBuilder.html#ad62a92276f053ebdfcc38f1ede5b7198":[13,142,5], -"classSplineBuilder.html#aea5b09d866bfabd34f93dc7244061e51":[13,142,10], -"classSplineBuilder.html#aec9bd498c486b22848aeb026de467fcf":[13,142,2], -"classSplineBuilder.html#aff30d3c9ee7e83246b37719a0866874c":[13,142,4], -"classSplineBuilder2D.html":[13,143], -"classSplineBuilder2D.html#a0a33a10b79cf3d7273c5f20337727dff":[13,143,3], -"classSplineBuilder2D.html#a10d968260f75240a4be9d38d8c853353":[13,143,19], -"classSplineBuilder2D.html#a1d58b27d28466b2ea7cee506ad619c5a":[13,143,11], -"classSplineBuilder2D.html#a31e3e45f0a33da08793e546b2e4e5981":[13,143,15], -"classSplineBuilder2D.html#a32fa22d267cdeb0722572c33fd6c6e11":[13,143,2], -"classSplineBuilder2D.html#a35bda9e84e8cb84738504561b0263968":[13,143,8], -"classSplineBuilder2D.html#a39af65f3e39ba9570fbc517ac614241e":[13,143,18], -"classSplineBuilder2D.html#a3c9bff8d716e44e4eddd2d0ca3f96a2e":[13,143,16], -"classSplineBuilder2D.html#a49f64925a4092c41f0d2ef47bfee3300":[13,143,10], -"classSplineBuilder2D.html#a5a406c6bc3f47c2895963a66c40e5cee":[13,143,21], -"classSplineBuilder2D.html#a79579f5213c410988e0caa6da989d2c8":[13,143,14], -"classSplineBuilder2D.html#a81b27475c41175f3360482d560a63638":[13,143,13], -"classSplineBuilder2D.html#a8ae9bfa7b55d920faeb880abbb1a0c0c":[13,143,7], -"classSplineBuilder2D.html#aa8b6177989a74d8e158343ae555ca22d":[13,143,17], -"classSplineBuilder2D.html#ab9e9788616d4be20d309ec04da8e25fe":[13,143,20], -"classSplineBuilder2D.html#aba437ab9712bba5ffa5dc5a88641bde9":[13,143,9], -"classSplineBuilder2D.html#acd4a14a7f938241a3b019ade5023f7ce":[13,143,12], -"classSplineBuilder2D.html#aceec329f2770bef48e3d35871ae01502":[13,143,0], -"classSplineBuilder2D.html#ad02722b76506e82b67798ccee4c52fff":[13,143,5], -"classSplineBuilder2D.html#ad1c9fafdefd9b45835b8b89573571900":[13,143,1], -"classSplineBuilder2D.html#ad56825cbd307241b22beb1d33eaea1f4":[13,143,4], -"classSplineBuilder2D.html#aef863d05ef8f81f401a463b333d076b7":[13,143,6], -"classSplineErrorBounds.html":[13,144], -"classSplineErrorBounds.html#a3d8f0a91691e659e75a2d9af9d43b761":[13,144,0], -"classSplineErrorBounds.html#a47c8226eaaf8c50e9d82db97a1cb78ca":[13,144,5], -"classSplineErrorBounds.html#a5f92b0b5cf0a22fcbb08e4c9d0922d8c":[13,144,1], -"classSplineErrorBounds.html#a72694708bdf582f1538db911fe03a506":[13,144,7], -"classSplineErrorBounds.html#a77733bf17dd00c03396bbc51b0682586":[13,144,2], -"classSplineErrorBounds.html#a8f28330a9c6d7123091ac6e4b2dfd2fc":[13,144,3], -"classSplineErrorBounds.html#a976a99d030a1279c17e683527e3c752c":[13,144,6], -"classSplineErrorBounds.html#aea6d159bb90fc1295cc7396326a3a2e6":[13,144,4], -"classSplineEvaluator.html":[13,145], -"classSplineEvaluator.html#a0035a9d73c46c1a8dbb91197632cb870":[13,145,10], -"classSplineEvaluator.html#a00e0a2a546fc2ac8ab9c617f9ddbdb89":[13,145,1], -"classSplineEvaluator.html#a04715bbcbfe4b7711dc82b03ffcff439":[13,145,6], -"classSplineEvaluator.html#a0901813a9cf6ef1f002439672b338bc5":[13,145,2], -"classSplineEvaluator.html#a1cac9392d93405a0bb7df57a5a292928":[13,145,0], -"classSplineEvaluator.html#a292c72c3516773f2e1d8e90b5f3dec69":[13,145,12], -"classSplineEvaluator.html#a2e647e0bb2db801a40a9317c5b066d5f":[13,145,3], -"classSplineEvaluator.html#a31e0775bfcea8809f6ecae83e392f524":[13,145,4], -"classSplineEvaluator.html#a3bc96c76766bb691ca4d86036bc88831":[13,145,11], -"classSplineEvaluator.html#a7e81f69bd082e92a03924afabf5d8e20":[13,145,8], -"classSplineEvaluator.html#a8a81e816168fcac8cdf85c11cd8abb74":[13,145,7], -"classSplineEvaluator.html#ab6392a9c60eb6c57f17b0e49969dc9ea":[13,145,5], -"classSplineEvaluator.html#aef512933ff1e9b894bc6e3118f5882a6":[13,145,9], -"classSplineEvaluator.html#af81cb731a8c52f3e92e784f349cf4774":[13,145,13], -"classSplineEvaluator2D.html":[13,146], -"classSplineEvaluator2D.html#a20ef11c270ad545361a8b3f683a724d8":[13,146,1], -"classSplineEvaluator2D.html#a3f4db4c81b8bd50014edc7ac2565ac0d":[13,146,6], -"classSplineEvaluator2D.html#a42054a88c7008abd492b360cd65b57e1":[13,146,14], -"classSplineEvaluator2D.html#a4256b16add450444f496675008d3c474":[13,146,3], -"classSplineEvaluator2D.html#a447cf63370c2b8a11dc0dea976e780fb":[13,146,2], -"classSplineEvaluator2D.html#a61d223c29a716634e15dca19daa41955":[13,146,0], -"classSplineEvaluator2D.html#a6835911453688bae264dd2669f1bd9b7":[13,146,7], -"classSplineEvaluator2D.html#a68e1e037a75b290490c648c32d7d197f":[13,146,15], -"classSplineEvaluator2D.html#a7a4962219e4e0a3cf1e7fdd0afba8efe":[13,146,9], -"classSplineEvaluator2D.html#a7dc8bd0e513453b6b24c62eb1d6c9ba4":[13,146,18], -"classSplineEvaluator2D.html#a7fd273468ec33acdc19eeb08c088f944":[13,146,12], -"classSplineEvaluator2D.html#a838efa37db6564eed9af26f72327403b":[13,146,10], -"classSplineEvaluator2D.html#a8e40a6e9c33c1c2d66ae6e6f5cedf0f8":[13,146,5], -"classSplineEvaluator2D.html#a93fe4a102cca7e2469c7230d8e2a6ecc":[13,146,11], -"classSplineEvaluator2D.html#a979360beca7dfbb025d032e76084f7f3":[13,146,4], -"classSplineEvaluator2D.html#ab8309401577bd1bb5f664ba9dc1f29b1":[13,146,13], -"classSplineEvaluator2D.html#abacca820d80fb41219658e8984eb7cb7":[13,146,17], -"classSplineEvaluator2D.html#acbf3459658cd6a78ec023be15e656900":[13,146,8], -"classSplineEvaluator2D.html#ad5a55c54ec1a16b245e4b314a1c74701":[13,146,19], -"classSplineEvaluator2D.html#ae0358adc831ede3cecf877df29328a81":[13,146,16], -"classSplineFootFinder.html":[13,147], -"classSplineFootFinder.html#a2250f61945c089d58d3d30cb555aa739":[13,147,0], -"classSplineFootFinder.html#a318c630fd5384ed0093581774239c9df":[13,147,1], -"classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d":[13,147,2], -"classSplineInterpolatorBatched.html":[13,148], -"classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709":[13,148,0], -"classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0":[13,148,2], -"classSplineInterpolatorBatched.html#a4eedf1335800a86cf9a037be58a1903e":[13,148,1], -"classSplineInterpolatorRP.html":[13,149], -"classSplineInterpolatorRP.html#a7186f69f12ef92492b5cb334bafa220e":[13,149,2], -"classSplineInterpolatorRP.html#abe1253b38fc582c49d9f0ac08ef8b013":[13,149,0], -"classSplineInterpolatorRP.html#ad61213cad3541fb584c780bda822270b":[13,149,1], -"classSplitRightHandSideSolver.html":[13,150], -"classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac":[13,150,0], -"classSplitRightHandSideSolver.html#a2e6bd2d8daa2dc2d7883c1dd47cb9b4a":[13,150,1], -"classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6":[13,150,2], -"classSplitVlasovSolver.html":[13,151], -"classSplitVlasovSolver.html#a07f850f4fba0e3750db3aa95ebaa5fdd":[13,151,1], -"classSplitVlasovSolver.html#a07f850f4fba0e3750db3aa95ebaa5fdd":[13,151,3], -"classSplitVlasovSolver.html#a3ae6624950e6d8126e848ee52eab8a22":[13,151,5], -"classSplitVlasovSolver.html#a8a0d9e743da738c69f549c68e1696267":[13,151,2], -"classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3":[13,151,4], -"classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5":[13,151,0], -"classTranslationAdvectionFieldSimulation.html":[13,158], -"classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272":[13,158,0], -"classTranslationSimulation.html":[13,159], -"classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1":[13,159,0], -"classUniformBSplines.html":[13,162], -"classUniformBSplines.html#a083e6e94f4879e891bd49286be97be1f":[13,162,3], -"classUniformBSplines.html#a1e966355b98c1d718293ed057e757b24":[13,162,9], -"classUniformBSplines.html#a35a003b75d534eac96c099cb4fdcad0f":[13,162,2], -"classUniformBSplines.html#a418c97fdfcd448136f4b976933607da1":[13,162,6], -"classUniformBSplines.html#a740bb4b0982f34b3f071cf367dbbafcf":[13,162,8], -"classUniformBSplines.html#aa6483d7ae85620eb4bd88644a185f0b2":[13,162,5], -"classUniformBSplines.html#adcc2fed796168f318e5dd0613d9626f7":[13,162,4], -"classUniformBSplines.html#ae36eba54fb68fde6c57760ec745f2412":[13,162,7], -"classUniformBSplines.html#structUniformBSplines_1_1InternalTagGenerator":[13,162,1], -"classUniformBSplines_1_1Impl.html":[13,162,0], -"classUniformBSplines_1_1Impl.html#a0f6de65a4cce530299bd1af78be08dde":[13,162,0,23], -"classUniformBSplines_1_1Impl.html#a1b2b1baf55ddc98ab5cf3d5256957a58":[13,162,0,12], -"classUniformBSplines_1_1Impl.html#a1bc1815e3d90b033e455c7976de25b2a":[13,162,0,10], -"classUniformBSplines_1_1Impl.html#a219fbcef554ce8d99265d545825c18dc":[13,162,0,24], -"classUniformBSplines_1_1Impl.html#a28f27bb74cd250b6ff9508494dd280a9":[13,162,0,3], -"classUniformBSplines_1_1Impl.html#a2ade31e36f818fddf254b9d1f1fa4c34":[13,162,0,20], -"classUniformBSplines_1_1Impl.html#a413ffb1354d4daf67fe964a12a5fb3f8":[13,162,0,13], -"classUniformBSplines_1_1Impl.html#a4689d1ad792db426377427b319533644":[13,162,0,22], -"classUniformBSplines_1_1Impl.html#a4ec6f3bfdd493458acbf5db3c2488eec":[13,162,0,21], -"classUniformBSplines_1_1Impl.html#a6494cc4c573a35c2466d703091b045bb":[13,162,0,18], -"classUniformBSplines_1_1Impl.html#a6ef8211be621f941d6c4a6a53055ebee":[13,162,0,16], -"classUniformBSplines_1_1Impl.html#a712f3e4a6ecf72d48c808f0f7decbfb9":[13,162,0,7], -"classUniformBSplines_1_1Impl.html#a7596bfb1ab533bec4752a86b58551428":[13,162,0,8], -"classUniformBSplines_1_1Impl.html#a7f8da130a3163f992a5179189a7c9d5d":[13,162,0,11], -"classUniformBSplines_1_1Impl.html#a82c7f587af6e947bed8a897243a0e229":[13,162,0,6], -"classUniformBSplines_1_1Impl.html#a950c1075bc1aac8ee83188c2c3bf446c":[13,162,0,0], -"classUniformBSplines_1_1Impl.html#aafd958f6cf9eebff6b36d09e56b7d32f":[13,162,0,5], -"classUniformBSplines_1_1Impl.html#abfe2a70e17f6ac8ff2c7c2fd204061e7":[13,162,0,19], -"classUniformBSplines_1_1Impl.html#ac909268e7b4b5410d8febcf74b9bd412":[13,162,0,1], -"classUniformBSplines_1_1Impl.html#ace2f1fc78a496b71bb22baa456742a38":[13,162,0,15], -"classUniformBSplines_1_1Impl.html#ada0089187d6a1c4eb42c76ca58ce34f6":[13,162,0,4], -"classUniformBSplines_1_1Impl.html#ae2c9aec041a35f7e2d0a7dca00d2840f":[13,162,0,2], -"classUniformBSplines_1_1Impl.html#ae89a55de902590b4f758069e27af4eff":[13,162,0,9], -"classUniformBSplines_1_1Impl.html#af2e32bbd9bf5ed8e5946ae7008a1e64d":[13,162,0,14], -"classUniformBSplines_1_1Impl.html#afbb52253d31711933be3c5b0c950a398":[13,162,0,17], -"classVectorField.html":[13,163], -"classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c":[13,163,17], -"classVectorField.html#a0a1908a2429ba38ef8d891567cbc22c9":[13,163,10], -"classVectorField.html#a17028a562655b6e58926450f8849b066":[13,163,0], -"classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd":[13,163,3], -"classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b":[13,163,15], -"classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9":[13,163,8], -"classVectorField.html#a4b839128727925cdffed6fbfca8da63e":[13,163,12], -"classVectorField.html#a4db1434ddd534be7882315c50bb25396":[13,163,20], -"classVectorField.html#a572811a19242a05acf2106e0543ae5df":[13,163,21] +"classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd":[13,126,0], +"classSingleModePerturbInitialization.html":[13,127], +"classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79":[13,127,6], +"classSingleModePerturbInitialization.html#a543dcd83b62baaceb48d54a2cab09e83":[13,127,1], +"classSingleModePerturbInitialization.html#a543dcd83b62baaceb48d54a2cab09e83":[13,127,3], +"classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b":[13,127,7], +"classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8":[13,127,5], +"classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb":[13,127,0], +"classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a":[13,127,4], +"classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098":[13,127,2], +"classSplineFootFinder.html":[13,129], +"classSplineFootFinder.html#a318c630fd5384ed0093581774239c9df":[13,129,1], +"classSplineFootFinder.html#a3da5df4e45c0771002568987d24f922c":[13,129,0], +"classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d":[13,129,2], +"classSplineInterpolatorBatched.html":[13,130], +"classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709":[13,130,0], +"classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0":[13,130,2], +"classSplineInterpolatorBatched.html#a4eedf1335800a86cf9a037be58a1903e":[13,130,1], +"classSplineInterpolatorRP.html":[13,131], +"classSplineInterpolatorRP.html#a2963c57f391e96345b0ac6b4d44cbaf1":[13,131,3], +"classSplineInterpolatorRP.html#a527491e617038baf55192cd315f08187":[13,131,1], +"classSplineInterpolatorRP.html#abb44af3c0c166112fc9684bb8ca5a079":[13,131,2], +"classSplineInterpolatorRP.html#abe963c4d63a8d95b2d5401699305787f":[13,131,0], +"classSplitRightHandSideSolver.html":[13,132], +"classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac":[13,132,0], +"classSplitRightHandSideSolver.html#a2e6bd2d8daa2dc2d7883c1dd47cb9b4a":[13,132,1], +"classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6":[13,132,2], +"classSplitVlasovSolver.html":[13,133], +"classSplitVlasovSolver.html#a07f850f4fba0e3750db3aa95ebaa5fdd":[13,133,1], +"classSplitVlasovSolver.html#a07f850f4fba0e3750db3aa95ebaa5fdd":[13,133,3], +"classSplitVlasovSolver.html#a3ae6624950e6d8126e848ee52eab8a22":[13,133,5], +"classSplitVlasovSolver.html#a8a0d9e743da738c69f549c68e1696267":[13,133,2], +"classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3":[13,133,4], +"classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5":[13,133,0], +"classTranslationAdvectionFieldSimulation.html":[13,140], +"classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272":[13,140,0], +"classTranslationSimulation.html":[13,141], +"classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1":[13,141,0], +"classVectorField.html":[13,144], +"classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c":[13,144,17], +"classVectorField.html#a0a1908a2429ba38ef8d891567cbc22c9":[13,144,10], +"classVectorField.html#a17028a562655b6e58926450f8849b066":[13,144,0], +"classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd":[13,144,3], +"classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b":[13,144,15], +"classVectorField.html#a4838971fca188dc404dc50d8af9ef3d9":[13,144,8], +"classVectorField.html#a4b839128727925cdffed6fbfca8da63e":[13,144,12], +"classVectorField.html#a4db1434ddd534be7882315c50bb25396":[13,144,20], +"classVectorField.html#a572811a19242a05acf2106e0543ae5df":[13,144,21], +"classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d":[13,144,1], +"classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478":[13,144,5], +"classVectorField.html#a86ea12473bc7ea9364085826a7c5d512":[13,144,19], +"classVectorField.html#a925526e030fc6967c04e66771fc13e2a":[13,144,18], +"classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0":[13,144,7], +"classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41":[13,144,2], +"classVectorField.html#ab896e267b63db730e4344e1e15f2956f":[13,144,4], +"classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6":[13,144,16], +"classVectorField.html#acb9821e3a1405005d7251bfbfea66f89":[13,144,14], +"classVectorField.html#ae23926389df672431636ef26e20f7780":[13,144,9], +"classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0":[13,144,11], +"classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3":[13,144,13], +"classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8":[13,144,6], +"classVectorFieldSpan.html":[13,146], +"classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4":[13,146,5], +"classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51":[13,146,19], +"classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e":[13,146,0], +"classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3":[13,146,2], +"classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0":[13,146,1], +"classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4":[13,146,20], +"classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945":[13,146,16], +"classVectorFieldSpan.html#a496be86209bed2fe0c4637c2068f2e9d":[13,146,7], +"classVectorFieldSpan.html#a6d06815cd2394ffa4549a154ee796280":[13,146,13], +"classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c":[13,146,6], +"classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572":[13,146,22], +"classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b":[13,146,8], +"classVectorFieldSpan.html#a8d34d973cb0a047387a78440a182756b":[13,146,23], +"classVectorFieldSpan.html#aa4aea470e10596cd64dbb912ac9c9dfb":[13,146,10], +"classVectorFieldSpan.html#aa4f77f6e758b991a7c18bb9b25c0ae30":[13,146,11], +"classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8":[13,146,12], +"classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9":[13,146,14], +"classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c":[13,146,17], +"classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549":[13,146,18], +"classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc":[13,146,15], +"classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046":[13,146,21], +"classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a":[13,146,9], +"classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f":[13,146,3], +"classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb":[13,146,4], +"classVortexMergerDensitySolution.html":[13,147], +"classVortexMergerDensitySolution.html#a104c4a3c0adcef0840a99f748d5a9657":[13,147,1], +"classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6":[13,147,2], +"classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75":[13,147,0], +"classVortexMergerEquilibria.html":[13,148], +"classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a":[13,148,3], +"classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091":[13,148,2], +"classVortexMergerEquilibria.html#adb62eb154af9f2ef0a8a5858bf375abb":[13,148,1], +"classVortexMergerEquilibria.html#aee9cf588de7231a419e3798c1d72c6c1":[13,148,0], +"collisions_8hpp_source.html":[14,0,1,1,0,28], +"collisions__inter_8hpp_source.html":[14,0,3,4,0], +"collisions__intra_8hpp_source.html":[14,0,3,4,1], +"collisions__utils_8hpp_source.html":[14,0,3,4,2], +"compute__norms_8hpp.html":[14,0,7,0], +"compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba":[14,0,7,0,2], +"compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8":[14,0,7,0,1], +"compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52":[14,0,7,0,0], +"compute__norms_8hpp_source.html":[14,0,7,0], +"cosine__evaluator_8hpp_source.html":[14,2,0,1,0], +"crank__nicolson_8hpp_source.html":[14,0,9,0], +"curvilinear2d__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,3], +"czarny__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,4], +"ddc__helper_8hpp_source.html":[14,0,10,1], +"diocotron__initialization__equilibrium_8hpp_source.html":[14,0,2,3,0], +"dir_040b90264b67cd95a975364a9a6adb0b.html":[14,2,0,0,0], +"dir_075503a530cc92ef550368a5ab90f447.html":[14,0,4,1], +"dir_0b94a1bc260289a82ecb53162f2bb9d0.html":[14,0,2,1], +"dir_1565b715753ffeaa27b85f9d3e8ee903.html":[14,0,4,2], +"dir_198f4eba1c2ed3c02ad3281d01a546ac.html":[14,0,8], +"dir_21841c3627e393781c2c07b5dcb1ed74.html":[14,2], +"dir_2bbbd2b8376432461f1d83e1c0b26a30.html":[14,0,2,6], +"dir_2c0ad391030bc4839817fbcc879b28f0.html":[14,0,6], +"dir_2cb1bf5254cdb852c9c33e2ec5cf247b.html":[14,0], +"dir_2daa31455a745d8a4b29bdb1d755058a.html":[14,0,2], +"dir_37c8df5729473ef02021306da35712e0.html":[14,0,3,3], +"dir_401f8b249764c6753d0f677d3a20782c.html":[14,2,0,0,0,0], +"dir_42e0d6fcfa69cb3b4e97936052cc6ddf.html":[14,0,7], +"dir_48bf4b14be63d973b7d484fc2a2a4feb.html":[14,0,4,3], +"dir_4b412f50fae9276f0d15343d7ac6361c.html":[14,0,3,5], +"dir_4ee803047d71cb916c7a340a089db1b8.html":[14,0,3,4], +"dir_517ca5cf38039cdc09da4808bf84bf13.html":[14,1,0], +"dir_53c7f860d740d0c8ca7820df394fe005.html":[14,0,4,0], +"dir_5f726612e6f7feddf1426504728ece79.html":[14,0,4], +"dir_66f693c2f51fcd3241ed49359f462f99.html":[14,0,2,4], +"dir_6e6ea23699bc866044a8bddf298d0095.html":[14,0,3,6], +"dir_7249a6277f2cda29b1cef92f993ab78b.html":[14,2,0], +"dir_7702757503aa2c0657bebaab467f2eaa.html":[14,2,0,1], +"dir_79bc790787b6aecc1f7a4f80283a5cd2.html":[14,0,2,2], +"dir_7ae69233c017591f2af08bfc79507a8e.html":[14,0,2,3], +"dir_8142eccf7ee007e36ec6c0e71e8a36dc.html":[14,1,0,1], +"dir_831f43445894a06c32ca53e744f921f4.html":[14,1], +"dir_8fabe2dc48f5245fb3c6490e70940fb1.html":[14,0,1,0], +"dir_9d829b76e0b2402759f669528b36515e.html":[14,0,1,1,0], +"dir_a0723bd535f2195612463753c5d9b125.html":[14,0,0], +"dir_a2bb6054debc127821c0784e49f1530c.html":[14,0,3], +"dir_a6b7057cb1432410798a61ba57a7ee60.html":[14,0,10], +"dir_b2536d9dca400fe35d122e2d73436bb9.html":[14,0,3,0], +"dir_b86eb6ee3885e87525bd9b83b3ef95ba.html":[14,0,1,1], +"dir_ba5f6ae6b54a203eec996d361c10d492.html":[14,0,2,0], +"dir_bcfd14d5afee2d50bbc0cdea4134ef05.html":[14,1,0,2], +"dir_c17d180aaa37ca880baaf9afd44e0ad0.html":[14,2,0,0], +"dir_c5ac17ca280b82e6ce870b4024398f91.html":[14,1,0,3], +"dir_c7a0b91bcf91439da6df51c1440e23ec.html":[14,0,9], +"dir_cd812de525b17a822d8c90f3bfea80df.html":[14,0,2,5], +"dir_ce24321f9c558a1bad9461427b2f6e52.html":[14,0,5], +"dir_ceabc4f5edb66a2267b7200c3d557d63.html":[14,0,3,2], +"dir_d19a9aef731ec5e9b746a373b6509003.html":[14,0,1], +"dir_d63f94c6fea620ecaa40680f440bf243.html":[14,0,4,4], +"dir_ddf03f4326ec75ccdd8992e1fdad5583.html":[14,1,0,0], +"dir_fff31245b39ef81c8e6b4b2456b9c284.html":[14,0,3,1], +"directional__tag_8hpp_source.html":[14,0,10,2], +"discrete__mapping__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,5], +"docs_Adding_docs.html":[3], +"docs_Adding_docs.html#autotoc_md0":[0], +"docs_Adding_docs.html#autotoc_md1":[1], +"docs_Adding_docs.html#autotoc_md2":[2], +"docs_Adding_docs.html#autotoc_md3":[3], +"docs_Adding_docs.html#autotoc_md4":[4], +"docs_Adding_docs.html#autotoc_md5":[5], +"docs_Adding_docs.html#docs_Adding_docs__Building_documentation_locally":[3,0], +"docs_Adding_docs.html#docs_Adding_docs__Documentation_describing_code_structures":[3,1], +"docs_Adding_docs.html#docs_Adding_docs__Documentation_describing_general_methods":[3,2], +"docs_Adding_docs.html#docs_Adding_docs__Documenting_functions":[3,3], +"docs_Adding_docs.html#docs_Adding_docs__Mathematical_notation_in_documentation":[3,4], +"docs_CODING_STANDARD.html":[4], +"docs_CODING_STANDARD.html#autotoc_md10":[8,1], +"docs_CODING_STANDARD.html#autotoc_md11":[9], +"docs_CODING_STANDARD.html#autotoc_md6":[6], +"docs_CODING_STANDARD.html#autotoc_md7":[7], +"docs_CODING_STANDARD.html#autotoc_md8":[8], +"docs_CODING_STANDARD.html#autotoc_md9":[8,0], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Code_Organisation":[4,5], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Cxx_Features":[4,0], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Naming":[4,2], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Operators":[4,4], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Parameter_passing":[4,1], +"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Style":[4,3], +"docs_DDC_in_gyselalibxx.html":[5], +"docs_DDC_in_gyselalibxx.html#autotoc_md12":[10], +"docs_DDC_in_gyselalibxx.html#autotoc_md13":[11], +"docs_DDC_in_gyselalibxx.html#autotoc_md14":[12], +"docs_DDC_in_gyselalibxx.html#autotoc_md15":[13], +"docs_DDC_in_gyselalibxx.html#autotoc_md16":[14], +"docs_DDC_in_gyselalibxx.html#autotoc_md17":[15], +"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Coordinate":[5,0], +"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Data_Storage":[5,2], +"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Domain":[5,1], +"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Example":[5,3], +"docs_Using_git.html":[6], +"docs_Using_git.html#autotoc_md18":[15,0], +"docs_Using_git.html#autotoc_md19":[15,1], +"docs_Using_git.html#docs_Using_git__Branches":[6,0], +"docs_Using_git.html#docs_Using_git__Submodules":[6,1], +"euler_8hpp_source.html":[14,0,9,1], +"evaluator__2d_8hpp_source.html":[14,2,0,1,1], +"femnonperiodicpoissonsolver_8hpp_source.html":[14,0,3,3,1], +"femperiodicpoissonsolver_8hpp_source.html":[14,0,3,3,2], +"files.html":[14], +"fluid__moments_8hpp_source.html":[14,0,3,6,0], +"gauss__legendre__integration_8hpp_source.html":[14,2,0,0,0,2], +"geometry5D_2geometry_2geometry_8hpp_source.html":[14,0,1,0,0], +"geometryRTheta_2geometry_2geometry_8hpp_source.html":[14,0,2,2,0], +"geometryRTheta_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,2,5,0], +"geometryRTheta_2time__solver_2itimesolver_8hpp_source.html":[14,0,2,6,3], +"geometryXVx_2boltzmann_2splitvlasovsolver_8hpp_source.html":[14,0,3,0,2], +"geometryXVx_2geometry_2geometry_8hpp_source.html":[14,0,3,1,0], +"geometryXVx_2initialization_2iequilibrium_8hpp_source.html":[14,0,3,2,1], +"geometryXVx_2initialization_2iinitialization_8hpp_source.html":[14,0,3,2,2], +"geometryXVx_2initialization_2maxwellianequilibrium_8hpp_source.html":[14,0,3,2,3], +"geometryXVx_2initialization_2singlemodeperturbinitialization_8hpp_source.html":[14,0,3,2,5], +"geometryXVx_2poisson_2chargedensitycalculator_8hpp_source.html":[14,0,3,3,0], +"geometryXVx_2poisson_2fftpoissonsolver_8hpp_source.html":[14,0,3,3,3], +"geometryXVx_2poisson_2ichargedensitycalculator_8hpp_source.html":[14,0,3,3,4], +"geometryXVx_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,3,3,5], +"geometryXVx_2poisson_2nullpoissonsolver_8hpp_source.html":[14,0,3,3,6], +"geometryXVx_2time__integration_2itimesolver_8hpp_source.html":[14,0,3,5,0], +"geometryXVx_2time__integration_2predcorr_8hpp_source.html":[14,0,3,5,1], +"geometryXYVxVy_2geometry_2geometry_8hpp_source.html":[14,0,4,0,0], +"geometryXYVxVy_2initialization_2iequilibrium_8hpp_source.html":[14,0,4,1,0], +"geometryXYVxVy_2initialization_2iinitialization_8hpp_source.html":[14,0,4,1,1], +"geometryXYVxVy_2initialization_2maxwellianequilibrium_8hpp_source.html":[14,0,4,1,2], +"geometryXYVxVy_2initialization_2singlemodeperturbinitialization_8hpp_source.html":[14,0,4,1,3], +"geometryXYVxVy_2poisson_2chargedensitycalculator_8hpp_source.html":[14,0,4,2,0], +"geometryXYVxVy_2poisson_2fftpoissonsolver_8hpp_source.html":[14,0,4,2,1], +"geometryXYVxVy_2poisson_2ichargedensitycalculator_8hpp_source.html":[14,0,4,2,2], +"geometryXYVxVy_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,4,2,3], +"geometryXYVxVy_2poisson_2nullpoissonsolver_8hpp_source.html":[14,0,4,2,4], +"geometryXYVxVy_2time__integration_2itimesolver_8hpp_source.html":[14,0,4,3,0], +"geometryXYVxVy_2time__integration_2predcorr_8hpp_source.html":[14,0,4,3,1], +"geometryXYVxVy_2vlasov_2splitvlasovsolver_8hpp_source.html":[14,0,4,4,1], +"geometry__pseudo__cartesian_8hpp_source.html":[14,0,2,0,2], +"i__interpolator__2d__rp_8hpp_source.html":[14,0,2,4,0], +"iadvectionrp_8hpp_source.html":[14,0,2,0,3], +"iadvectionvx_8hpp_source.html":[14,0,0,2], +"iadvectionx_8hpp_source.html":[14,0,0,3], +"iboltzmannsolver_8hpp_source.html":[14,0,3,0,0], +"ifoot__finder_8hpp_source.html":[14,0,2,0,4], +"iinterpolator__batched_8hpp_source.html":[14,0,5,0], +"index.html":[], +"index.html#__Compilation":[0], +"index.html#__Dependencies":[2], +"index.html#__Execution":[1], +"irighthandside_8hpp_source.html":[14,0,3,4,3], +"itimestepper_8hpp_source.html":[14,0,9,2] }; diff --git a/navtreeindex4.js b/navtreeindex4.js index b447319d9..1a53a0f19 100644 --- a/navtreeindex4.js +++ b/navtreeindex4.js @@ -1,253 +1,252 @@ var NAVTREEINDEX4 = { -"classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d":[13,163,1], -"classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478":[13,163,5], -"classVectorField.html#a86ea12473bc7ea9364085826a7c5d512":[13,163,19], -"classVectorField.html#a925526e030fc6967c04e66771fc13e2a":[13,163,18], -"classVectorField.html#a9355ed87913f63a941e03f6b61a4c9e0":[13,163,7], -"classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41":[13,163,2], -"classVectorField.html#ab896e267b63db730e4344e1e15f2956f":[13,163,4], -"classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6":[13,163,16], -"classVectorField.html#acb9821e3a1405005d7251bfbfea66f89":[13,163,14], -"classVectorField.html#ae23926389df672431636ef26e20f7780":[13,163,9], -"classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0":[13,163,11], -"classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3":[13,163,13], -"classVectorField.html#affcf9abd0e02dde4aa553233de0b57c8":[13,163,6], -"classVectorFieldSpan.html":[13,165], -"classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4":[13,165,5], -"classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51":[13,165,19], -"classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e":[13,165,0], -"classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3":[13,165,2], -"classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0":[13,165,1], -"classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4":[13,165,20], -"classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945":[13,165,16], -"classVectorFieldSpan.html#a496be86209bed2fe0c4637c2068f2e9d":[13,165,7], -"classVectorFieldSpan.html#a6d06815cd2394ffa4549a154ee796280":[13,165,13], -"classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c":[13,165,6], -"classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572":[13,165,22], -"classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b":[13,165,8], -"classVectorFieldSpan.html#a8d34d973cb0a047387a78440a182756b":[13,165,23], -"classVectorFieldSpan.html#aa4aea470e10596cd64dbb912ac9c9dfb":[13,165,10], -"classVectorFieldSpan.html#aa4f77f6e758b991a7c18bb9b25c0ae30":[13,165,11], -"classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8":[13,165,12], -"classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9":[13,165,14], -"classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c":[13,165,17], -"classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549":[13,165,18], -"classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc":[13,165,15], -"classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046":[13,165,21], -"classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a":[13,165,9], -"classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f":[13,165,3], -"classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb":[13,165,4], -"classVortexMergerDensitySolution.html":[13,166], -"classVortexMergerDensitySolution.html#a104c4a3c0adcef0840a99f748d5a9657":[13,166,1], -"classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6":[13,166,2], -"classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75":[13,166,0], -"classVortexMergerEquilibria.html":[13,167], -"classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a":[13,167,3], -"classVortexMergerEquilibria.html#a797e9f9c68a96d1f73bc7e1c0b1e1d06":[13,167,0], -"classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091":[13,167,2], -"classVortexMergerEquilibria.html#adb62eb154af9f2ef0a8a5858bf375abb":[13,167,1], -"classdeprecated_1_1BSplines.html":[13,0,0], -"classdeprecated_1_1BSplines.html#a13092f46541ed8b97fdb22d44633a0c7":[13,0,0,7], -"classdeprecated_1_1BSplines.html#a1761b9f1d086e3c1ce6ea6fa730e1bf1":[13,0,0,13], -"classdeprecated_1_1BSplines.html#a24214a7282ca8b29fe11e650028463e9":[13,0,0,20], -"classdeprecated_1_1BSplines.html#a252b828716d1b96f7d546f9298536885":[13,0,0,2], -"classdeprecated_1_1BSplines.html#a302f6b136922a81b4c6bf57565817014":[13,0,0,8], -"classdeprecated_1_1BSplines.html#a34057a6f2e50d74467ca34891df2ea29":[13,0,0,10], -"classdeprecated_1_1BSplines.html#a39994f9d8e2cde1a3c849c21c50cc417":[13,0,0,17], -"classdeprecated_1_1BSplines.html#a4f9a4112a9f796342fb7d1d881c55ddc":[13,0,0,1], -"classdeprecated_1_1BSplines.html#a6c8f121fccaf4ebf176c9f9282a5507d":[13,0,0,5], -"classdeprecated_1_1BSplines.html#a70a9350c913ae7c6ec0998cc449ba9ae":[13,0,0,14], -"classdeprecated_1_1BSplines.html#a7206b67f3bcfc6e1abe4ec3135e4965a":[13,0,0,15], -"classdeprecated_1_1BSplines.html#a7710617ec02931e9749d338d55c907de":[13,0,0,18], -"classdeprecated_1_1BSplines.html#a79ecbace784afbe5c901892153d5736c":[13,0,0,9], -"classdeprecated_1_1BSplines.html#a7bb03cafc77673161d43e9059e2f8e6c":[13,0,0,12], -"classdeprecated_1_1BSplines.html#a86b2a4466e301b09dcc76f59e39f042c":[13,0,0,21], -"classdeprecated_1_1BSplines.html#a93d7206c3355d3489bc7f8b7ab94e96f":[13,0,0,4], -"classdeprecated_1_1BSplines.html#a9c1d8df02196c2ed5dbbd90c722425c4":[13,0,0,16], -"classdeprecated_1_1BSplines.html#aa12bc672d6daf3844d21f754d3a1bc04":[13,0,0,6], -"classdeprecated_1_1BSplines.html#aa988a402d049367148d42a802ae6cd28":[13,0,0,0], -"classdeprecated_1_1BSplines.html#ac10f9df03a1d22f91ed1c3b0c81a765a":[13,0,0,3], -"classdeprecated_1_1BSplines.html#ad5a406e78eb4069f8b37f6421a83e6be":[13,0,0,22], -"classdeprecated_1_1BSplines.html#adaaebe730e66c05d02367ea9a99845a1":[13,0,0,11], -"classdeprecated_1_1BSplines.html#ae6644ef87cc1a18daf0bdac1ec059697":[13,0,0,19], -"classdeprecated_1_1BSplines.html#afccf99ea1b7e1faa252192f81c4ca57e":[13,0,0,23], -"classdeprecated_1_1NonUniformBSplines.html":[13,0,1], -"classdeprecated_1_1NonUniformBSplines.html#a0b6d12f4a7044fdec2fe2954511e100f":[13,0,1,9], -"classdeprecated_1_1NonUniformBSplines.html#a1a6eace470509ed7966ebaa5cb7d6d90":[13,0,1,13], -"classdeprecated_1_1NonUniformBSplines.html#a47fec32aafc3c43bb49cbaef2600894c":[13,0,1,8], -"classdeprecated_1_1NonUniformBSplines.html#a5238536e33547fa1911717d70a9cc6ec":[13,0,1,0], -"classdeprecated_1_1NonUniformBSplines.html#a565396adc8f843a478bda007694007c3":[13,0,1,12], -"classdeprecated_1_1NonUniformBSplines.html#a5cd87e52b042f57830f60d10a6557edf":[13,0,1,5], -"classdeprecated_1_1NonUniformBSplines.html#a82babc1fd0fa390c154e6f615fb49000":[13,0,1,4], -"classdeprecated_1_1NonUniformBSplines.html#a839d897cc109f79f742c83335203b25a":[13,0,1,10], -"classdeprecated_1_1NonUniformBSplines.html#a88d78112e4181a28b0f2797c8e2deb7d":[13,0,1,1], -"classdeprecated_1_1NonUniformBSplines.html#aa3bb229053c4030b492bbf351bca697b":[13,0,1,6], -"classdeprecated_1_1NonUniformBSplines.html#ac18514ccf75f200bd268b8bb7870446a":[13,0,1,7], -"classdeprecated_1_1NonUniformBSplines.html#ac20bfa597bb3cafc0a6e7f152b421112":[13,0,1,3], -"classdeprecated_1_1NonUniformBSplines.html#ac22ee2e750df202a77727151d8aea88b":[13,0,1,11], -"classdeprecated_1_1NonUniformBSplines.html#aca28715948e3430c34af5beb5d435de9":[13,0,1,2], -"classdeprecated_1_1Spline1D.html":[13,0,3], -"classdeprecated_1_1Spline1D.html#a1c55d11d519aafed580bb1ec8b9cbe93":[13,0,3,14], -"classdeprecated_1_1Spline1D.html#a2a4bf85c408fcb9ecba4382bb15512a5":[13,0,3,13], -"classdeprecated_1_1Spline1D.html#a2bf4b4003db316555f6a26a1b5320991":[13,0,3,8], -"classdeprecated_1_1Spline1D.html#a30bb87b9b9c3e8cfa231551fa9e5db24":[13,0,3,11], -"classdeprecated_1_1Spline1D.html#a4eca6bdba41567bc4fcafa49ec613b2e":[13,0,3,15], -"classdeprecated_1_1Spline1D.html#a710d5bae2282257423bc1f2e148f6a4f":[13,0,3,1], -"classdeprecated_1_1Spline1D.html#a8e30b577a5f7fd8246aabb6f742ea36c":[13,0,3,9], -"classdeprecated_1_1Spline1D.html#a9b12fa2b40430c86ef29456b2a85a083":[13,0,3,10], -"classdeprecated_1_1Spline1D.html#a9b42c3f2da23cd8818adb7f099c11e6e":[13,0,3,5], -"classdeprecated_1_1Spline1D.html#ab1836fa7fff7f7be1bfd4d1cd6e90e94":[13,0,3,3], -"classdeprecated_1_1Spline1D.html#ab57d8d422b3aaf3a91a8b96336f6b734":[13,0,3,17], -"classdeprecated_1_1Spline1D.html#ac5c5ccb890c9101dc4c5e79eb66f725e":[13,0,3,16], -"classdeprecated_1_1Spline1D.html#ad05cae5ee948f78843a7a3827b4a446a":[13,0,3,0], -"classdeprecated_1_1Spline1D.html#adf870573be3a577220a992440cc2059d":[13,0,3,7], -"classdeprecated_1_1Spline1D.html#ae3dfe50c5ffea4bf78b4a4a5b2c8f000":[13,0,3,6], -"classdeprecated_1_1Spline1D.html#ae6a3b5accc50ea430cabfeab6d339570":[13,0,3,4], -"classdeprecated_1_1Spline1D.html#af3c4dc27ef332ea07e7f7ddb4b051a86":[13,0,3,2], -"classdeprecated_1_1Spline1D.html#af73c0b9f437f89edba9f0db4903376be":[13,0,3,12], -"classdeprecated_1_1Spline2D.html":[13,0,4], -"classdeprecated_1_1Spline2D.html#a18c11bc546bfbf66093d25de95a9dfb2":[13,0,4,1], -"classdeprecated_1_1Spline2D.html#a1a095d43c1d4d12e637039d4e85e0393":[13,0,4,12], -"classdeprecated_1_1Spline2D.html#a32c50af9a640446a06ab78e2a9d7d7bf":[13,0,4,4], -"classdeprecated_1_1Spline2D.html#a32d298e6353dbb04e56b8579d570ea66":[13,0,4,13], -"classdeprecated_1_1Spline2D.html#a36814015df494f53c71b40f6b18f3cf5":[13,0,4,2], -"classdeprecated_1_1Spline2D.html#a3af30f7921a8ffcdfb243bf88d8c7333":[13,0,4,6], -"classdeprecated_1_1Spline2D.html#a4c576ee09e98fddd860d4f8bd35b16e8":[13,0,4,3], -"classdeprecated_1_1Spline2D.html#a55b2a17dc7d4786bdaa291d7a68e6151":[13,0,4,9], -"classdeprecated_1_1Spline2D.html#a7048da14e61740d6da8c1d0596e19beb":[13,0,4,0], -"classdeprecated_1_1Spline2D.html#a74f4439493b2057d72554eb06881c397":[13,0,4,8], -"classdeprecated_1_1Spline2D.html#a8fafa1324a5c9cc04f96a5308ed95f65":[13,0,4,14], -"classdeprecated_1_1Spline2D.html#a941666c92e10b8ca27aebd1fc8cf9431":[13,0,4,7], -"classdeprecated_1_1Spline2D.html#ab57d8d422b3aaf3a91a8b96336f6b734":[13,0,4,16], -"classdeprecated_1_1Spline2D.html#accf6110486d0e134e5ce729f192bb3aa":[13,0,4,15], -"classdeprecated_1_1Spline2D.html#aedb4fe4a56b54c277184bf172c798af5":[13,0,4,10], -"classdeprecated_1_1Spline2D.html#af333fc33be14349591f5dc2e4e78591f":[13,0,4,5], -"classdeprecated_1_1Spline2D.html#af524064a135e87c239ae444fc52f8338":[13,0,4,11], -"classdeprecated_1_1SplineBuilder1D.html":[13,0,5], -"classdeprecated_1_1SplineBuilder1D.html#a1cdeebadafc04e2e8c4130e21a4774cb":[13,0,5,8], -"classdeprecated_1_1SplineBuilder1D.html#a2d0b53ec4beef6a8703ac2be7ecb648b":[13,0,5,0], -"classdeprecated_1_1SplineBuilder1D.html#a3da82074c81dd09939f68d62d9bd17ac":[13,0,5,11], -"classdeprecated_1_1SplineBuilder1D.html#a76118de79f5da4cd5de44a30fb0f956c":[13,0,5,1], -"classdeprecated_1_1SplineBuilder1D.html#a91bfee3f8fcbaad78815b11f66f0157c":[13,0,5,12], -"classdeprecated_1_1SplineBuilder1D.html#a9a752dccaa438d1ee806e0ea15736b51":[13,0,5,9], -"classdeprecated_1_1SplineBuilder1D.html#aa1eb2d3cb1a1f072ae3a86b5843adb12":[13,0,5,3], -"classdeprecated_1_1SplineBuilder1D.html#aaf3bbaedfa7a8ac6fe351def74265617":[13,0,5,5], -"classdeprecated_1_1SplineBuilder1D.html#ad501035259194133bfb6f24b94a7c54a":[13,0,5,10], -"classdeprecated_1_1SplineBuilder1D.html#ad83c92afab39e7f74fdfb82259e8afd5":[13,0,5,7], -"classdeprecated_1_1SplineBuilder1D.html#ad91fe465261abbd7f19244b938848190":[13,0,5,2], -"classdeprecated_1_1SplineBuilder1D.html#ae2231d8fceb1a1e0d69ce2616c6e88a8":[13,0,5,6], -"classdeprecated_1_1SplineBuilder1D.html#aec9f480a426fbafec239ce21d838285c":[13,0,5,4], -"classdeprecated_1_1SplineBuilder2D.html":[13,0,7], -"classdeprecated_1_1SplineBuilder2D.html#a0e1d451139e811fd1c82dff503c2dc1f":[13,0,7,4], -"classdeprecated_1_1SplineBuilder2D.html#a16b01d28b6f25781067b093110aae28a":[13,0,7,17], -"classdeprecated_1_1SplineBuilder2D.html#a20f5e6fccab88772c46ed35dd0092821":[13,0,7,12], -"classdeprecated_1_1SplineBuilder2D.html#a21dab2716e7b150d22cbe76c41cd2e47":[13,0,7,11], -"classdeprecated_1_1SplineBuilder2D.html#a4a969fa37fa4d678fa8671b0d3bbb957":[13,0,7,16], -"classdeprecated_1_1SplineBuilder2D.html#a635328d9d61b3602fdd18eda2da44682":[13,0,7,15], -"classdeprecated_1_1SplineBuilder2D.html#a6d7cc996c0b1e0e2d23ed3d1565895d2":[13,0,7,0], -"classdeprecated_1_1SplineBuilder2D.html#a6d92f41f4b24116d1a052435ee144f26":[13,0,7,2], -"classdeprecated_1_1SplineBuilder2D.html#a6f3a4f3bdf818f45a7e09bb980454d25":[13,0,7,3], -"classdeprecated_1_1SplineBuilder2D.html#a82a72d00c034901c97cc03ead89a5a07":[13,0,7,6], -"classdeprecated_1_1SplineBuilder2D.html#a8b307e049811d794b2bdf5e30243aa35":[13,0,7,10], -"classdeprecated_1_1SplineBuilder2D.html#aa7285c34d0d072758c19239535dee692":[13,0,7,8], -"classdeprecated_1_1SplineBuilder2D.html#ab527252e7c81631cd6cf7b40a3cff885":[13,0,7,14], -"classdeprecated_1_1SplineBuilder2D.html#ab642615780cc2eb609fae4f6dff75f99":[13,0,7,13], -"classdeprecated_1_1SplineBuilder2D.html#acf3f6c012a7a44539632f504ecd503eb":[13,0,7,9], -"classdeprecated_1_1SplineBuilder2D.html#adbe08fbe0995c905fb04a21bdcb9e9b1":[13,0,7,7], -"classdeprecated_1_1SplineBuilder2D.html#ade1a16bb2fe0a9427b4f1ead8fe6cf51":[13,0,7,5], -"classdeprecated_1_1SplineBuilder2D.html#aebf5afa3b94881c81c253e9239b7c43e":[13,0,7,1], -"classdeprecated_1_1UniformBSplines.html":[13,0,2], -"classdeprecated_1_1UniformBSplines.html#a027ce5971d5eb77174c6bceac8d4d88a":[13,0,2,4], -"classdeprecated_1_1UniformBSplines.html#a111fbc375138d9125e3fdc93203cad7c":[13,0,2,7], -"classdeprecated_1_1UniformBSplines.html#a1bb4bd4d749e844c02082e8f72814875":[13,0,2,3], -"classdeprecated_1_1UniformBSplines.html#a2019621f9c8a2169526a7f131050608b":[13,0,2,10], -"classdeprecated_1_1UniformBSplines.html#a55df0565aa8c096134f39900a06ea4dc":[13,0,2,5], -"classdeprecated_1_1UniformBSplines.html#a6b03b449195dc181c581d019bb0c5796":[13,0,2,2], -"classdeprecated_1_1UniformBSplines.html#a7f02b5a1658abc3f11cca02a114052d7":[13,0,2,9], -"classdeprecated_1_1UniformBSplines.html#a82a1b392d8b1a0e0d945fb3239116557":[13,0,2,1], -"classdeprecated_1_1UniformBSplines.html#a859b2511e123e5149743cdde48bf5ed5":[13,0,2,6], -"classdeprecated_1_1UniformBSplines.html#aa1628eb190f71f8c421b88496745bcf5":[13,0,2,11], -"classdeprecated_1_1UniformBSplines.html#aabb15b788320ba5569f9b367458180e0":[13,0,2,0], -"classdeprecated_1_1UniformBSplines.html#af1bb464a54caed6e7a3f5f9683327855":[13,0,2,8], -"classdeprecated_1_1UniformBSplines.html#af5e682fb4af6e3eb639894bf667a814e":[13,0,2,12], -"collisions_8hpp_source.html":[14,0,1,1,0,28], -"collisions__inter_8hpp_source.html":[14,0,3,4,0], -"collisions__intra_8hpp_source.html":[14,0,3,4,1], -"collisions__utils_8hpp_source.html":[14,0,3,4,2], -"compute__norms_8hpp.html":[14,0,7,0], -"compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba":[14,0,7,0,2], -"compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8":[14,0,7,0,1], -"compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52":[14,0,7,0,0], -"compute__norms_8hpp_source.html":[14,0,7,0], -"constant__extrapolation__boundary__value_8hpp_source.html":[14,2,0,0,0,6], -"cosine__evaluator_8hpp_source.html":[14,2,0,1,0], -"crank__nicolson_8hpp_source.html":[14,0,9,0], -"curvilinear2d__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,3], -"czarny__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,4], -"ddc__helper_8hpp_source.html":[14,0,10,1], -"deprecated_2bsplines__non__uniform_8hpp_source.html":[14,2,0,0,0,0,2], -"deprecated_2bsplines__uniform_8hpp_source.html":[14,2,0,0,0,0,3], -"deprecated_2spline__builder__2d_8hpp_source.html":[14,2,0,0,0,0,7], -"diocotron__initialization__equilibrium_8hpp_source.html":[14,0,2,3,0], -"dir_040b90264b67cd95a975364a9a6adb0b.html":[14,2,0,0,0], -"dir_075503a530cc92ef550368a5ab90f447.html":[14,0,4,1], -"dir_0b94a1bc260289a82ecb53162f2bb9d0.html":[14,0,2,1], -"dir_1565b715753ffeaa27b85f9d3e8ee903.html":[14,0,4,2], -"dir_198f4eba1c2ed3c02ad3281d01a546ac.html":[14,0,8], -"dir_21841c3627e393781c2c07b5dcb1ed74.html":[14,2], -"dir_2bbbd2b8376432461f1d83e1c0b26a30.html":[14,0,2,6], -"dir_2c0ad391030bc4839817fbcc879b28f0.html":[14,0,6], -"dir_2cb1bf5254cdb852c9c33e2ec5cf247b.html":[14,0], -"dir_2daa31455a745d8a4b29bdb1d755058a.html":[14,0,2], -"dir_37c8df5729473ef02021306da35712e0.html":[14,0,3,3], -"dir_401f8b249764c6753d0f677d3a20782c.html":[14,2,0,0,0,1], -"dir_42e0d6fcfa69cb3b4e97936052cc6ddf.html":[14,0,7], -"dir_48bf4b14be63d973b7d484fc2a2a4feb.html":[14,0,4,3], -"dir_4b412f50fae9276f0d15343d7ac6361c.html":[14,0,3,5], -"dir_4ee803047d71cb916c7a340a089db1b8.html":[14,0,3,4], -"dir_517ca5cf38039cdc09da4808bf84bf13.html":[14,1,0], -"dir_53c7f860d740d0c8ca7820df394fe005.html":[14,0,4,0], -"dir_5f726612e6f7feddf1426504728ece79.html":[14,0,4], -"dir_66f693c2f51fcd3241ed49359f462f99.html":[14,0,2,4], -"dir_6e6ea23699bc866044a8bddf298d0095.html":[14,0,3,6], -"dir_7249a6277f2cda29b1cef92f993ab78b.html":[14,2,0], -"dir_7702757503aa2c0657bebaab467f2eaa.html":[14,2,0,1], -"dir_79bc790787b6aecc1f7a4f80283a5cd2.html":[14,0,2,2], -"dir_7ae69233c017591f2af08bfc79507a8e.html":[14,0,2,3], -"dir_8142eccf7ee007e36ec6c0e71e8a36dc.html":[14,1,0,1], -"dir_831f43445894a06c32ca53e744f921f4.html":[14,1], -"dir_8fabe2dc48f5245fb3c6490e70940fb1.html":[14,0,1,0], -"dir_9d829b76e0b2402759f669528b36515e.html":[14,0,1,1,0], -"dir_a0723bd535f2195612463753c5d9b125.html":[14,0,0], -"dir_a2bb6054debc127821c0784e49f1530c.html":[14,0,3], -"dir_a6b7057cb1432410798a61ba57a7ee60.html":[14,0,10], -"dir_b2536d9dca400fe35d122e2d73436bb9.html":[14,0,3,0], -"dir_b86eb6ee3885e87525bd9b83b3ef95ba.html":[14,0,1,1], -"dir_ba5f6ae6b54a203eec996d361c10d492.html":[14,0,2,0], -"dir_bcfd14d5afee2d50bbc0cdea4134ef05.html":[14,1,0,2], -"dir_bf05ee1a50b262d9ca6db6046de9e516.html":[14,2,0,0,0,0], -"dir_c17d180aaa37ca880baaf9afd44e0ad0.html":[14,2,0,0], -"dir_c5ac17ca280b82e6ce870b4024398f91.html":[14,1,0,3], -"dir_c7a0b91bcf91439da6df51c1440e23ec.html":[14,0,9], -"dir_cd812de525b17a822d8c90f3bfea80df.html":[14,0,2,5], -"dir_ce24321f9c558a1bad9461427b2f6e52.html":[14,0,5], -"dir_ceabc4f5edb66a2267b7200c3d557d63.html":[14,0,3,2], -"dir_d19a9aef731ec5e9b746a373b6509003.html":[14,0,1], -"dir_d63f94c6fea620ecaa40680f440bf243.html":[14,0,4,4], -"dir_ddf03f4326ec75ccdd8992e1fdad5583.html":[14,1,0,0], -"dir_fff31245b39ef81c8e6b4b2456b9c284.html":[14,0,3,1], -"directional__tag_8hpp_source.html":[14,0,10,2], -"discrete__mapping__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,5], -"docs_Adding_docs.html":[3], -"docs_Adding_docs.html#autotoc_md0":[0], -"docs_Adding_docs.html#autotoc_md1":[1], -"docs_Adding_docs.html#autotoc_md2":[2], -"docs_Adding_docs.html#autotoc_md3":[3], -"docs_Adding_docs.html#autotoc_md4":[4], -"docs_Adding_docs.html#autotoc_md5":[5], -"docs_Adding_docs.html#docs_Adding_docs__Building_documentation_locally":[3,0], -"docs_Adding_docs.html#docs_Adding_docs__Documentation_describing_code_structures":[3,1], -"docs_Adding_docs.html#docs_Adding_docs__Documentation_describing_general_methods":[3,2], -"docs_Adding_docs.html#docs_Adding_docs__Documenting_functions":[3,3] +"ivlasovsolver_8hpp_source.html":[14,0,4,4,0], +"kinetic__source_8hpp_source.html":[14,0,3,4,4], +"krook__source__adaptive_8hpp_source.html":[14,0,3,4,5], +"krook__source__constant_8hpp_source.html":[14,0,3,4,6], +"mask__tanh_8hpp_source.html":[14,0,3,4,7], +"math__tools_8hpp_source.html":[14,2,0,0,0,3], +"matrix_8hpp_source.html":[14,2,0,0,0,4], +"matrix__banded_8hpp_source.html":[14,2,0,0,0,5], +"matrix__center__block_8hpp_source.html":[14,2,0,0,0,6], +"matrix__corner__block_8hpp_source.html":[14,2,0,0,0,7], +"matrix__dense_8hpp_source.html":[14,2,0,0,0,8], +"matrix__pds__tridiag_8hpp_source.html":[14,2,0,0,0,9], +"matrix__periodic__banded_8hpp_source.html":[14,2,0,0,0,10], +"neumann__spline__quadrature_8hpp.html":[14,0,7,1], +"neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4":[14,0,7,1,1], +"neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d":[14,0,7,1,0], +"neumann__spline__quadrature_8hpp_source.html":[14,0,7,1], +"nulladvectionvx_8hpp_source.html":[14,0,0,4], +"pages.html":[], +"paraconfpp_8hpp_source.html":[14,0,6,0], +"poisson__rhs__function_8hpp_source.html":[14,0,2,5,1], +"polar__bsplines_8hpp_source.html":[14,2,0,0,0,11], +"polar__poisson_2params_8yaml_8hpp_source.html":[14,1,0,3,0], +"polar__poisson_2test__cases_8hpp_source.html":[14,1,0,3,1], +"polar__spline_8hpp_source.html":[14,2,0,0,0,12], +"polar__spline__evaluator_8hpp_source.html":[14,2,0,0,0,13], +"polarpoissonsolver_8hpp_source.html":[14,0,2,5,2], +"polynomial__evaluator_8hpp_source.html":[14,2,0,1,2], +"preprocessor_8hpp_source.html":[14,0,10,3], +"quadrature_8hpp_source.html":[14,0,7,2], +"quadrature__coeffs__nd_8hpp.html":[14,0,7,3], +"quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d":[14,0,7,3,0], +"quadrature__coeffs__nd_8hpp_source.html":[14,0,7,3], +"refined__discrete__mapping__to__cartesian_8hpp_source.html":[14,2,0,0,0,0,6], +"restartinitialization_8hpp_source.html":[14,0,3,2,4], +"rk2_8hpp_source.html":[14,0,9,3], +"rk3_8hpp_source.html":[14,0,9,4], +"rk4_8hpp_source.html":[14,0,9,5], +"simpson__quadrature_8hpp_source.html":[14,0,7,4], +"simulations.html":[7], +"simulations_geometryRTheta.html":[7,0], +"simulations_geometryRTheta_diocotron.html":[7,0,0], +"simulations_geometryRTheta_diocotron.html#autotoc_md20":[0], +"simulations_geometryRTheta_diocotron.html#autotoc_md21":[1], +"simulations_geometryRTheta_diocotron.html#autotoc_md22":[2], +"simulations_geometryRTheta_diocotron.html#autotoc_md23":[3], +"simulations_geometryRTheta_diocotron.html#autotoc_md24":[4], +"simulations_geometryRTheta_diocotron.html#autotoc_md25":[5], +"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Contents":[7,0,0,19], +"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__References":[7,0,0,18], +"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Studied_problem":[7,0,0,16], +"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Test_case_-_diocotron_instability":[7,0,0,17], +"simulations_geometryRTheta_vortex_merger.html":[7,0,1], +"simulations_geometryRTheta_vortex_merger.html#autotoc_md26":[6], +"simulations_geometryRTheta_vortex_merger.html#autotoc_md27":[7], +"simulations_geometryRTheta_vortex_merger.html#autotoc_md28":[8], +"simulations_geometryRTheta_vortex_merger.html#autotoc_md29":[9], +"simulations_geometryRTheta_vortex_merger.html#autotoc_md30":[10], +"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Contents":[7,0,1,4], +"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__References":[7,0,1,2], +"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Studied_problem":[7,0,1,0], +"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Test_case_-_vortex_merger":[7,0,1,1], +"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Useful_references":[7,0,1,3], +"simulations_geometryXVx.html":[7,1], +"simulations_geometryXVx_sheath.html":[7,1,0], +"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Description":[7,1,0,0], +"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Recommended_parameters":[7,1,0,2], +"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__References":[7,1,0,4], +"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Usage":[7,1,0,1], +"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Verification_of_the_simulation":[7,1,0,3], +"species__info_8hpp_source.html":[14,0,8,0], +"spline__foot__finder_8hpp_source.html":[14,0,2,0,5], +"spline__interpolator__2d__rp_8hpp_source.html":[14,0,2,4,1], +"spline__interpolator__batched_8hpp_source.html":[14,0,5,3], +"spline__quadrature_8hpp.html":[14,0,7,5], +"spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b":[14,0,7,5,0], +"spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769":[14,0,7,5,1], +"spline__quadrature_8hpp_source.html":[14,0,7,5], +"splitrighthandsidesolver_8hpp_source.html":[14,0,3,0,1], +"src.html":[8], +"src_advection.html":[8,0], +"src_advection.html#src_advection__Spatial_advection":[8,0,0], +"src_advection.html#src_advection__Velocity_advection":[8,0,1], +"src_geometry5D.html":[8,4], +"src_geometry5D_geometry.html":[8,4,0], +"src_geometry5D_rhs.html":[8,4,1], +"src_geometry5D_rhs_collisions.html":[9], +"src_geometryRTheta.html":[8,1], +"src_geometryRTheta_advection.html":[8,1,0], +"src_geometryRTheta_advection.html#autotoc_md31":[11], +"src_geometryRTheta_advection.html#autotoc_md32":[12], +"src_geometryRTheta_advection.html#autotoc_md33":[13], +"src_geometryRTheta_advection.html#autotoc_md34":[14], +"src_geometryRTheta_advection.html#autotoc_md35":[8,1,0,5], +"src_geometryRTheta_advection.html#autotoc_md36":[8,1,0,6], +"src_geometryRTheta_advection.html#autotoc_md37":[8,1,0,7], +"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Advection_Field":[8,1,0,4], +"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Advection_domain":[8,1,0,3], +"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Backward_Semi-Lagrangian_method":[8,1,0,1], +"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Studied_equation":[8,1,0,0], +"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Time_integration_methods":[8,1,0,2], +"src_geometryRTheta_advection_field.html":[8,1,1], +"src_geometryRTheta_advection_field.html#autotoc_md38":[15], +"src_geometryRTheta_advection_field.html#autotoc_md39":[16], +"src_geometryRTheta_advection_field.html#autotoc_md40":[16,0], +"src_geometryRTheta_advection_field.html#autotoc_md41":[16,1], +"src_geometryRTheta_advection_field.html#autotoc_md42":[8,1,1,1], +"src_geometryRTheta_advection_field.html#autotoc_md43":[8,1,1,2], +"src_geometryRTheta_advection_field.html#src_geometryRTheta_advection_field__Guiding_center_case":[8,1,1,0], +"src_geometryRTheta_initialization.html":[8,1,2], +"src_geometryRTheta_initialization.html#autotoc_md44":[17], +"src_geometryRTheta_initialization.html#autotoc_md45":[18], +"src_geometryRTheta_initialization.html#autotoc_md46":[19], +"src_geometryRTheta_initialization.html#autotoc_md47":[20], +"src_geometryRTheta_initialization.html#autotoc_md48":[21], +"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Contents":[8,1,2,2], +"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Diocotron_instability":[8,1,2,0], +"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Vortex_merger":[8,1,2,1], +"src_geometryRTheta_interpolation.html":[8,1,3], +"src_geometryRTheta_poisson.html":[8,1,4], +"src_geometryRTheta_poisson.html#autotoc_md49":[22], +"src_geometryRTheta_poisson.html#autotoc_md50":[22,0], +"src_geometryRTheta_poisson.html#autotoc_md51":[22,1], +"src_geometryRTheta_poisson.html#autotoc_md52":[22,2], +"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__Contents":[8,1,4,3], +"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__References":[8,1,4,2], +"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__The_Poisson_equation":[8,1,4,0], +"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__Unit_tests":[8,1,4,1], +"src_geometryRTheta_time_solver.html":[8,1,5], +"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Contents":[8,1,5,4], +"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Explicit_predictor-corrector":[8,1,5,1], +"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Implicit_predictor-corrector":[8,1,5,2], +"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Predictor-corrector":[8,1,5,0], +"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__References":[8,1,5,3], +"src_geometryXVx.html":[8,2], +"src_geometryXVx_boltzmann.html":[8,2,0], +"src_geometryXVx_geometry.html":[8,2,1], +"src_geometryXVx_initialization.html":[8,2,2], +"src_geometryXVx_poisson.html":[8,2,3], +"src_geometryXVx_poisson.html#src_geometryXVx_poisson__Charge_Density":[8,2,3,0], +"src_geometryXVx_poisson.html#src_geometryXVx_poisson__Poisson_Solver":[8,2,3,1], +"src_geometryXVx_rhs.html":[8,2,4], +"src_geometryXVx_time_integration.html":[8,2,5], +"src_geometryXVx_utils.html":[8,2,6], +"src_geometryXYVxVy.html":[8,3], +"src_geometryXYVxVy_geometry.html":[8,3,0], +"src_geometryXYVxVy_poisson.html":[8,3,1], +"src_geometryXYVxVy_poisson.html#src_geometryXYVxVy_poisson__Charge_Density":[8,3,1,0], +"src_geometryXYVxVy_poisson.html#src_geometryXYVxVy_poisson__Poisson_Solver":[8,3,1,1], +"src_interpolation.html":[8,5], +"src_interpolation.html#src_interpolation__Memory_concerns":[8,5,1], +"src_interpolation.html#src_interpolation__Spline_Interpolation":[8,5,0], +"src_quadrature.html":[8,6], +"src_timestepper.html":[8,7], +"src_utils.html":[8,8], +"src_utils.html#src_utils__Utility_tools":[8,8,1], +"src_utils.html#src_utils__VectorField":[8,8,0], +"structDimX__pC.html":[13,37], +"structDimY__pC.html":[13,38], +"structGaussLegendreCoefficients.html":[13,57], +"structMu.html":[13,94], +"structPolarSpline.html":[13,100], +"structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc":[13,100,6], +"structPolarSpline.html#a2dac921360e8a966e00b0785621d69fb":[13,100,5], +"structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477":[13,100,3], +"structPolarSpline.html#a6db588a681ff0c344625d6eb7111ca99":[13,100,4], +"structPolarSpline.html#a89343478d4d570638a82ad70777231b4":[13,100,2], +"structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60":[13,100,7], +"structPolarSpline.html#ad26033ae149504208d160b5ac474d613":[13,100,0], +"structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2":[13,100,1], +"structPolarSplineSpan.html":[13,103], +"structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c":[13,103,2], +"structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5":[13,103,1], +"structPolarSplineSpan.html#a70a68be0eda4182137ada4b7c294a6b7":[13,103,3], +"structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e":[13,103,6], +"structPolarSplineSpan.html#ad047ad16e073fb9b8aa58f1b8de2687c":[13,103,4], +"structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc":[13,103,5], +"structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49":[13,103,0], +"structPolarSplineView.html":[13,104], +"structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456":[13,104,7], +"structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d":[13,104,2], +"structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8":[13,104,0], +"structPolarSplineView.html#a6980452d50ebf203530137aa11a679d8":[13,104,5], +"structPolarSplineView.html#a6e770098a5de395d0d7abaf7f338dcb6":[13,104,4], +"structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48":[13,104,1], +"structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890":[13,104,6], +"structPolarSplineView.html#af01a912e50f5d8dc5dda51fc2d28f929":[13,104,3], +"structRDimP.html":[13,111], +"structRDimR.html":[13,112], +"structRDimT.html":[13,113], +"structRDimVp.html":[13,114], +"structRDimVr.html":[13,115], +"structRDimVx.html":[13,116], +"structRDimVy.html":[13,117], +"structRDimX.html":[13,118], +"structRDimY.html":[13,119], +"structRefinedDiscreteToCartesian_1_1RDimPRefined.html":[13,120,0], +"structRefinedDiscreteToCartesian_1_1RDimRRefined.html":[13,120,1], +"structRefinedDiscreteToCartesian_1_1RDimXRefined.html":[13,120,2], +"structRefinedDiscreteToCartesian_1_1RDimYRefined.html":[13,120,3], +"structTor1.html":[13,137], +"structTor2.html":[13,138], +"structTor3.html":[13,139], +"structVpar.html":[13,149], +"structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html":[13,20], +"test__cases__adv__field_8hpp_source.html":[14,1,0,2,0], +"test__utils_8hpp_source.html":[14,2,0,1,3], +"tests.html":[10], +"tests_geometry5D_collisions.html":[11], +"tests_geometry5D_collisions.html#autotoc_md53":[11,0], +"tests_geometry5D_collisions.html#autotoc_md54":[11,1], +"tests_geometry5D_collisions.html#autotoc_md55":[11,2], +"tests_geometry5D_collisions.html#autotoc_md56":[11,3], +"tests_geometry5D_collisions.html#autotoc_md57":[11,4], +"tests_geometry5D_collisions.html#autotoc_md58":[11,5], +"tests_geometry5D_collisions.html#autotoc_md59":[11,6], +"tests_geometry5D_collisions.html#autotoc_md60":[11,7], +"tests_geometryRTheta.html":[10,0], +"tests_geometryRTheta_2d_spline_interpolator.html":[10,0,1], +"tests_geometryRTheta_2d_spline_interpolator.html#autotoc_md61":[26], +"tests_geometryRTheta_2d_spline_interpolator.html#autotoc_md62":[27], +"tests_geometryRTheta_advection_2d_rp.html":[10,0,0], +"tests_geometryRTheta_advection_2d_rp.html#autotoc_md63":[23], +"tests_geometryRTheta_advection_2d_rp.html#autotoc_md64":[24], +"tests_geometryRTheta_advection_2d_rp.html#autotoc_md65":[25], +"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Contents":[10,0,0,3], +"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Python_tests":[10,0,0,1], +"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__References":[10,0,0,2], +"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Tests_on_the_2D_polar_advection_operator":[10,0,0,0], +"tests_geometryRTheta_polar_poisson.html":[10,0,2], +"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__Contents":[10,0,2,2], +"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__Polar_Poisson_solver":[10,0,2,0], +"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__References":[10,0,2,1], +"trapezoid__quadrature_8hpp.html":[14,0,7,6], +"trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf":[14,0,7,6,0], +"trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9":[14,0,7,6,1], +"trapezoid__quadrature_8hpp_source.html":[14,0,7,6], +"utils__tools_8hpp.html":[14,0,10,4], +"utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d":[14,0,10,4,1], +"utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009":[14,0,10,4,0], +"utils__tools_8hpp_source.html":[14,0,10,4], +"vector__field_8hpp_source.html":[14,0,10,5], +"vector__field__common_8hpp_source.html":[14,0,10,6], +"vector__field__span_8hpp_source.html":[14,0,10,7], +"vendor_sll.html":[12], +"vendor_sll_include_sll_mapping.html":[12,0], +"view_8hpp_source.html":[14,2,0,0,0,14], +"vortex__merger__equilibrium_8hpp_source.html":[14,0,2,3,1], +"vortex__merger__initialization_8hpp_source.html":[14,0,2,3,2] }; diff --git a/navtreeindex5.js b/navtreeindex5.js deleted file mode 100644 index 8772c9259..000000000 --- a/navtreeindex5.js +++ /dev/null @@ -1,253 +0,0 @@ -var NAVTREEINDEX5 = -{ -"docs_Adding_docs.html#docs_Adding_docs__Mathematical_notation_in_documentation":[3,4], -"docs_CODING_STANDARD.html":[4], -"docs_CODING_STANDARD.html#autotoc_md10":[8,1], -"docs_CODING_STANDARD.html#autotoc_md11":[9], -"docs_CODING_STANDARD.html#autotoc_md6":[6], -"docs_CODING_STANDARD.html#autotoc_md7":[7], -"docs_CODING_STANDARD.html#autotoc_md8":[8], -"docs_CODING_STANDARD.html#autotoc_md9":[8,0], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Code_Organisation":[4,5], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Cxx_Features":[4,0], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Naming":[4,2], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Operators":[4,4], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Parameter_passing":[4,1], -"docs_CODING_STANDARD.html#docs_CODING_STANDARD__Style":[4,3], -"docs_DDC_in_gyselalibxx.html":[5], -"docs_DDC_in_gyselalibxx.html#autotoc_md12":[10], -"docs_DDC_in_gyselalibxx.html#autotoc_md13":[11], -"docs_DDC_in_gyselalibxx.html#autotoc_md14":[12], -"docs_DDC_in_gyselalibxx.html#autotoc_md15":[13], -"docs_DDC_in_gyselalibxx.html#autotoc_md16":[14], -"docs_DDC_in_gyselalibxx.html#autotoc_md17":[15], -"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Coordinate":[5,0], -"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Data_Storage":[5,2], -"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Domain":[5,1], -"docs_DDC_in_gyselalibxx.html#docs_DDC_in_gyselalibxx__Example":[5,3], -"docs_Using_git.html":[6], -"docs_Using_git.html#autotoc_md18":[15,0], -"docs_Using_git.html#autotoc_md19":[15,1], -"docs_Using_git.html#docs_Using_git__Branches":[6,0], -"docs_Using_git.html#docs_Using_git__Submodules":[6,1], -"euler_8hpp_source.html":[14,0,9,1], -"evaluator__2d_8hpp_source.html":[14,2,0,1,1], -"femnonperiodicpoissonsolver_8hpp_source.html":[14,0,3,3,1], -"femperiodicpoissonsolver_8hpp_source.html":[14,0,3,3,2], -"files.html":[14], -"fluid__moments_8hpp_source.html":[14,0,3,6,0], -"gauss__legendre__integration_8hpp_source.html":[14,2,0,0,0,7], -"geometry5D_2geometry_2geometry_8hpp_source.html":[14,0,1,0,0], -"geometryRTheta_2geometry_2geometry_8hpp_source.html":[14,0,2,2,0], -"geometryRTheta_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,2,5,0], -"geometryRTheta_2time__solver_2itimesolver_8hpp_source.html":[14,0,2,6,3], -"geometryXVx_2boltzmann_2splitvlasovsolver_8hpp_source.html":[14,0,3,0,2], -"geometryXVx_2geometry_2geometry_8hpp_source.html":[14,0,3,1,0], -"geometryXVx_2initialization_2iequilibrium_8hpp_source.html":[14,0,3,2,1], -"geometryXVx_2initialization_2iinitialization_8hpp_source.html":[14,0,3,2,2], -"geometryXVx_2initialization_2maxwellianequilibrium_8hpp_source.html":[14,0,3,2,3], -"geometryXVx_2initialization_2singlemodeperturbinitialization_8hpp_source.html":[14,0,3,2,5], -"geometryXVx_2poisson_2chargedensitycalculator_8hpp_source.html":[14,0,3,3,0], -"geometryXVx_2poisson_2fftpoissonsolver_8hpp_source.html":[14,0,3,3,3], -"geometryXVx_2poisson_2ichargedensitycalculator_8hpp_source.html":[14,0,3,3,4], -"geometryXVx_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,3,3,5], -"geometryXVx_2poisson_2nullpoissonsolver_8hpp_source.html":[14,0,3,3,6], -"geometryXVx_2time__integration_2itimesolver_8hpp_source.html":[14,0,3,5,0], -"geometryXVx_2time__integration_2predcorr_8hpp_source.html":[14,0,3,5,1], -"geometryXYVxVy_2geometry_2geometry_8hpp_source.html":[14,0,4,0,0], -"geometryXYVxVy_2initialization_2iequilibrium_8hpp_source.html":[14,0,4,1,0], -"geometryXYVxVy_2initialization_2iinitialization_8hpp_source.html":[14,0,4,1,1], -"geometryXYVxVy_2initialization_2maxwellianequilibrium_8hpp_source.html":[14,0,4,1,2], -"geometryXYVxVy_2initialization_2singlemodeperturbinitialization_8hpp_source.html":[14,0,4,1,3], -"geometryXYVxVy_2poisson_2chargedensitycalculator_8hpp_source.html":[14,0,4,2,0], -"geometryXYVxVy_2poisson_2fftpoissonsolver_8hpp_source.html":[14,0,4,2,1], -"geometryXYVxVy_2poisson_2ichargedensitycalculator_8hpp_source.html":[14,0,4,2,2], -"geometryXYVxVy_2poisson_2ipoissonsolver_8hpp_source.html":[14,0,4,2,3], -"geometryXYVxVy_2poisson_2nullpoissonsolver_8hpp_source.html":[14,0,4,2,4], -"geometryXYVxVy_2time__integration_2itimesolver_8hpp_source.html":[14,0,4,3,0], -"geometryXYVxVy_2time__integration_2predcorr_8hpp_source.html":[14,0,4,3,1], -"geometryXYVxVy_2vlasov_2splitvlasovsolver_8hpp_source.html":[14,0,4,4,1], -"geometry__pseudo__cartesian_8hpp_source.html":[14,0,2,0,2], -"greville__interpolation__points_8hpp_source.html":[14,2,0,0,0,8], -"i__interpolator__2d__rp_8hpp_source.html":[14,0,2,4,0], -"iadvectionrp_8hpp_source.html":[14,0,2,0,3], -"iadvectionvx_8hpp_source.html":[14,0,0,2], -"iadvectionx_8hpp_source.html":[14,0,0,3], -"iboltzmannsolver_8hpp_source.html":[14,0,3,0,0], -"ifoot__finder_8hpp_source.html":[14,0,2,0,4], -"iinterpolator__batched_8hpp_source.html":[14,0,5,0], -"index.html":[], -"index.html#__Compilation":[0], -"index.html#__Dependencies":[2], -"index.html#__Execution":[1], -"irighthandside_8hpp_source.html":[14,0,3,4,3], -"itimestepper_8hpp_source.html":[14,0,9,2], -"ivlasovsolver_8hpp_source.html":[14,0,4,4,0], -"kinetic__source_8hpp_source.html":[14,0,3,4,4], -"knots__as__interpolation__points_8hpp_source.html":[14,2,0,0,0,9], -"krook__source__adaptive_8hpp_source.html":[14,0,3,4,5], -"krook__source__constant_8hpp_source.html":[14,0,3,4,6], -"mask__tanh_8hpp_source.html":[14,0,3,4,7], -"math__tools_8hpp_source.html":[14,2,0,0,0,10], -"matrix_8hpp_source.html":[14,2,0,0,0,11], -"matrix__banded_8hpp_source.html":[14,2,0,0,0,12], -"matrix__center__block_8hpp_source.html":[14,2,0,0,0,13], -"matrix__corner__block_8hpp_source.html":[14,2,0,0,0,14], -"matrix__dense_8hpp_source.html":[14,2,0,0,0,15], -"matrix__pds__tridiag_8hpp_source.html":[14,2,0,0,0,16], -"matrix__periodic__banded_8hpp_source.html":[14,2,0,0,0,17], -"neumann__spline__quadrature_8hpp.html":[14,0,7,1], -"neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4":[14,0,7,1,1], -"neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d":[14,0,7,1,0], -"neumann__spline__quadrature_8hpp_source.html":[14,0,7,1], -"null__boundary__value_8hpp_source.html":[14,2,0,0,0,18], -"nulladvectionvx_8hpp_source.html":[14,0,0,4], -"pages.html":[], -"paraconfpp_8hpp_source.html":[14,0,6,0], -"poisson__rhs__function_8hpp_source.html":[14,0,2,5,1], -"polar__bsplines_8hpp_source.html":[14,2,0,0,0,19], -"polar__poisson_2params_8yaml_8hpp_source.html":[14,1,0,3,0], -"polar__poisson_2test__cases_8hpp_source.html":[14,1,0,3,1], -"polar__spline_8hpp_source.html":[14,2,0,0,0,20], -"polar__spline__evaluator_8hpp_source.html":[14,2,0,0,0,21], -"polarpoissonsolver_8hpp_source.html":[14,0,2,5,2], -"polynomial__evaluator_8hpp_source.html":[14,2,0,1,2], -"preprocessor_8hpp_source.html":[14,0,10,3], -"quadrature_8hpp_source.html":[14,0,7,2], -"quadrature__coeffs__nd_8hpp.html":[14,0,7,3], -"quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d":[14,0,7,3,0], -"quadrature__coeffs__nd_8hpp_source.html":[14,0,7,3], -"refined__discrete__mapping__to__cartesian_8hpp_source.html":[14,2,0,0,0,1,6], -"restartinitialization_8hpp_source.html":[14,0,3,2,4], -"rk2_8hpp_source.html":[14,0,9,3], -"rk3_8hpp_source.html":[14,0,9,4], -"rk4_8hpp_source.html":[14,0,9,5], -"simpson__quadrature_8hpp_source.html":[14,0,7,4], -"simulations.html":[7], -"simulations_geometryRTheta.html":[7,0], -"simulations_geometryRTheta_diocotron.html":[7,0,0], -"simulations_geometryRTheta_diocotron.html#autotoc_md20":[0], -"simulations_geometryRTheta_diocotron.html#autotoc_md21":[1], -"simulations_geometryRTheta_diocotron.html#autotoc_md22":[2], -"simulations_geometryRTheta_diocotron.html#autotoc_md23":[3], -"simulations_geometryRTheta_diocotron.html#autotoc_md24":[4], -"simulations_geometryRTheta_diocotron.html#autotoc_md25":[5], -"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Contents":[7,0,0,19], -"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__References":[7,0,0,18], -"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Studied_problem":[7,0,0,16], -"simulations_geometryRTheta_diocotron.html#simulations_geometryRTheta_diocotron__Test_case_-_diocotron_instability":[7,0,0,17], -"simulations_geometryRTheta_vortex_merger.html":[7,0,1], -"simulations_geometryRTheta_vortex_merger.html#autotoc_md26":[6], -"simulations_geometryRTheta_vortex_merger.html#autotoc_md27":[7], -"simulations_geometryRTheta_vortex_merger.html#autotoc_md28":[8], -"simulations_geometryRTheta_vortex_merger.html#autotoc_md29":[9], -"simulations_geometryRTheta_vortex_merger.html#autotoc_md30":[10], -"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Contents":[7,0,1,4], -"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__References":[7,0,1,2], -"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Studied_problem":[7,0,1,0], -"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Test_case_-_vortex_merger":[7,0,1,1], -"simulations_geometryRTheta_vortex_merger.html#simulations_geometryRTheta_vortex_merger__Useful_references":[7,0,1,3], -"simulations_geometryXVx.html":[7,1], -"simulations_geometryXVx_sheath.html":[7,1,0], -"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Description":[7,1,0,0], -"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Recommended_parameters":[7,1,0,2], -"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__References":[7,1,0,4], -"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Usage":[7,1,0,1], -"simulations_geometryXVx_sheath.html#simulations_geometryXVx_sheath__Verification_of_the_simulation":[7,1,0,3], -"species__info_8hpp_source.html":[14,0,8,0], -"spline__1d_8hpp_source.html":[14,2,0,0,0,0,4], -"spline__2d_8hpp_source.html":[14,2,0,0,0,0,5], -"spline__boundary__conditions_8hpp_source.html":[14,2,0,0,0,22], -"spline__boundary__value_8hpp_source.html":[14,2,0,0,0,23], -"spline__builder_8hpp_source.html":[14,2,0,0,0,24], -"spline__builder__1d_8hpp_source.html":[14,2,0,0,0,0,6], -"spline__builder__2d_8hpp_source.html":[14,2,0,0,0,25], -"spline__error__bounds_8hpp_source.html":[14,2,0,1,3], -"spline__evaluator_8hpp_source.html":[14,2,0,0,0,26], -"spline__evaluator__2d_8hpp_source.html":[14,2,0,0,0,27], -"spline__foot__finder_8hpp_source.html":[14,0,2,0,5], -"spline__interpolator__2d__rp_8hpp_source.html":[14,0,2,4,1], -"spline__interpolator__batched_8hpp_source.html":[14,0,5,3], -"spline__quadrature_8hpp.html":[14,0,7,5], -"spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b":[14,0,7,5,0], -"spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769":[14,0,7,5,1], -"spline__quadrature_8hpp_source.html":[14,0,7,5], -"splitrighthandsidesolver_8hpp_source.html":[14,0,3,0,1], -"src.html":[8], -"src_advection.html":[8,0], -"src_advection.html#src_advection__Spatial_advection":[8,0,0], -"src_advection.html#src_advection__Velocity_advection":[8,0,1], -"src_geometry5D.html":[8,4], -"src_geometry5D_geometry.html":[8,4,0], -"src_geometry5D_rhs.html":[8,4,1], -"src_geometry5D_rhs_collisions.html":[9], -"src_geometryRTheta.html":[8,1], -"src_geometryRTheta_advection.html":[8,1,0], -"src_geometryRTheta_advection.html#autotoc_md31":[11], -"src_geometryRTheta_advection.html#autotoc_md32":[12], -"src_geometryRTheta_advection.html#autotoc_md33":[13], -"src_geometryRTheta_advection.html#autotoc_md34":[14], -"src_geometryRTheta_advection.html#autotoc_md35":[8,1,0,5], -"src_geometryRTheta_advection.html#autotoc_md36":[8,1,0,6], -"src_geometryRTheta_advection.html#autotoc_md37":[8,1,0,7], -"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Advection_Field":[8,1,0,4], -"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Advection_domain":[8,1,0,3], -"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Backward_Semi-Lagrangian_method":[8,1,0,1], -"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Studied_equation":[8,1,0,0], -"src_geometryRTheta_advection.html#src_geometryRTheta_advection__Time_integration_methods":[8,1,0,2], -"src_geometryRTheta_advection_field.html":[8,1,1], -"src_geometryRTheta_advection_field.html#autotoc_md38":[15], -"src_geometryRTheta_advection_field.html#autotoc_md39":[16], -"src_geometryRTheta_advection_field.html#autotoc_md40":[16,0], -"src_geometryRTheta_advection_field.html#autotoc_md41":[16,1], -"src_geometryRTheta_advection_field.html#autotoc_md42":[8,1,1,1], -"src_geometryRTheta_advection_field.html#autotoc_md43":[8,1,1,2], -"src_geometryRTheta_advection_field.html#src_geometryRTheta_advection_field__Guiding_center_case":[8,1,1,0], -"src_geometryRTheta_initialization.html":[8,1,2], -"src_geometryRTheta_initialization.html#autotoc_md44":[17], -"src_geometryRTheta_initialization.html#autotoc_md45":[18], -"src_geometryRTheta_initialization.html#autotoc_md46":[19], -"src_geometryRTheta_initialization.html#autotoc_md47":[20], -"src_geometryRTheta_initialization.html#autotoc_md48":[21], -"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Contents":[8,1,2,2], -"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Diocotron_instability":[8,1,2,0], -"src_geometryRTheta_initialization.html#src_geometryRTheta_initialization__Vortex_merger":[8,1,2,1], -"src_geometryRTheta_interpolation.html":[8,1,3], -"src_geometryRTheta_poisson.html":[8,1,4], -"src_geometryRTheta_poisson.html#autotoc_md49":[22], -"src_geometryRTheta_poisson.html#autotoc_md50":[22,0], -"src_geometryRTheta_poisson.html#autotoc_md51":[22,1], -"src_geometryRTheta_poisson.html#autotoc_md52":[22,2], -"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__Contents":[8,1,4,3], -"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__References":[8,1,4,2], -"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__The_Poisson_equation":[8,1,4,0], -"src_geometryRTheta_poisson.html#src_geometryRTheta_poisson__Unit_tests":[8,1,4,1], -"src_geometryRTheta_time_solver.html":[8,1,5], -"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Contents":[8,1,5,4], -"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Explicit_predictor-corrector":[8,1,5,1], -"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Implicit_predictor-corrector":[8,1,5,2], -"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__Predictor-corrector":[8,1,5,0], -"src_geometryRTheta_time_solver.html#src_geometryRTheta_time_solver__References":[8,1,5,3], -"src_geometryXVx.html":[8,2], -"src_geometryXVx_boltzmann.html":[8,2,0], -"src_geometryXVx_geometry.html":[8,2,1], -"src_geometryXVx_initialization.html":[8,2,2], -"src_geometryXVx_poisson.html":[8,2,3], -"src_geometryXVx_poisson.html#src_geometryXVx_poisson__Charge_Density":[8,2,3,0], -"src_geometryXVx_poisson.html#src_geometryXVx_poisson__Poisson_Solver":[8,2,3,1], -"src_geometryXVx_rhs.html":[8,2,4], -"src_geometryXVx_time_integration.html":[8,2,5], -"src_geometryXVx_utils.html":[8,2,6], -"src_geometryXYVxVy.html":[8,3], -"src_geometryXYVxVy_geometry.html":[8,3,0], -"src_geometryXYVxVy_poisson.html":[8,3,1], -"src_geometryXYVxVy_poisson.html#src_geometryXYVxVy_poisson__Charge_Density":[8,3,1,0], -"src_geometryXYVxVy_poisson.html#src_geometryXYVxVy_poisson__Poisson_Solver":[8,3,1,1], -"src_interpolation.html":[8,5], -"src_interpolation.html#src_interpolation__Memory_concerns":[8,5,1], -"src_interpolation.html#src_interpolation__Spline_Interpolation":[8,5,0], -"src_quadrature.html":[8,6], -"src_timestepper.html":[8,7], -"src_utils.html":[8,8], -"src_utils.html#src_utils__Utility_tools":[8,8,1] -}; diff --git a/navtreeindex6.js b/navtreeindex6.js deleted file mode 100644 index 830d985f8..000000000 --- a/navtreeindex6.js +++ /dev/null @@ -1,89 +0,0 @@ -var NAVTREEINDEX6 = -{ -"src_utils.html#src_utils__VectorField":[8,8,0], -"structDimX__pC.html":[13,41], -"structDimY__pC.html":[13,42], -"structGaussLegendreCoefficients.html":[13,61], -"structMu.html":[13,100], -"structPolarSpline.html":[13,110], -"structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc":[13,110,4], -"structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477":[13,110,3], -"structPolarSpline.html#a89343478d4d570638a82ad70777231b4":[13,110,2], -"structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60":[13,110,5], -"structPolarSpline.html#ad26033ae149504208d160b5ac474d613":[13,110,0], -"structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2":[13,110,1], -"structPolarSplineSpan.html":[13,114], -"structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c":[13,114,2], -"structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5":[13,114,1], -"structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e":[13,114,4], -"structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc":[13,114,3], -"structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49":[13,114,0], -"structPolarSplineView.html":[13,115], -"structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456":[13,115,4], -"structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d":[13,115,2], -"structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8":[13,115,0], -"structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48":[13,115,1], -"structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890":[13,115,3], -"structRDimP.html":[13,122], -"structRDimR.html":[13,123], -"structRDimT.html":[13,124], -"structRDimVp.html":[13,125], -"structRDimVr.html":[13,126], -"structRDimVx.html":[13,127], -"structRDimVy.html":[13,128], -"structRDimX.html":[13,129], -"structRDimY.html":[13,130], -"structRefinedDiscreteToCartesian_1_1RDimPRefined.html":[13,131,0], -"structRefinedDiscreteToCartesian_1_1RDimRRefined.html":[13,131,1], -"structRefinedDiscreteToCartesian_1_1RDimXRefined.html":[13,131,2], -"structRefinedDiscreteToCartesian_1_1RDimYRefined.html":[13,131,3], -"structTor1.html":[13,155], -"structTor2.html":[13,156], -"structTor3.html":[13,157], -"structVpar.html":[13,168], -"structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html":[13,22], -"test__cases__adv__field_8hpp_source.html":[14,1,0,2,0], -"test__utils_8hpp_source.html":[14,2,0,1,4], -"tests.html":[10], -"tests_geometry5D_collisions.html":[11], -"tests_geometry5D_collisions.html#autotoc_md53":[11,0], -"tests_geometry5D_collisions.html#autotoc_md54":[11,1], -"tests_geometry5D_collisions.html#autotoc_md55":[11,2], -"tests_geometry5D_collisions.html#autotoc_md56":[11,3], -"tests_geometry5D_collisions.html#autotoc_md57":[11,4], -"tests_geometry5D_collisions.html#autotoc_md58":[11,5], -"tests_geometry5D_collisions.html#autotoc_md59":[11,6], -"tests_geometry5D_collisions.html#autotoc_md60":[11,7], -"tests_geometryRTheta.html":[10,0], -"tests_geometryRTheta_2d_spline_interpolator.html":[10,0,1], -"tests_geometryRTheta_2d_spline_interpolator.html#autotoc_md61":[26], -"tests_geometryRTheta_2d_spline_interpolator.html#autotoc_md62":[27], -"tests_geometryRTheta_advection_2d_rp.html":[10,0,0], -"tests_geometryRTheta_advection_2d_rp.html#autotoc_md63":[23], -"tests_geometryRTheta_advection_2d_rp.html#autotoc_md64":[24], -"tests_geometryRTheta_advection_2d_rp.html#autotoc_md65":[25], -"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Contents":[10,0,0,3], -"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Python_tests":[10,0,0,1], -"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__References":[10,0,0,2], -"tests_geometryRTheta_advection_2d_rp.html#tests_geometryRTheta_advection_2d_rp__Tests_on_the_2D_polar_advection_operator":[10,0,0,0], -"tests_geometryRTheta_polar_poisson.html":[10,0,2], -"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__Contents":[10,0,2,2], -"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__Polar_Poisson_solver":[10,0,2,0], -"tests_geometryRTheta_polar_poisson.html#tests_geometryRTheta_polar_poisson__References":[10,0,2,1], -"trapezoid__quadrature_8hpp.html":[14,0,7,6], -"trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf":[14,0,7,6,0], -"trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9":[14,0,7,6,1], -"trapezoid__quadrature_8hpp_source.html":[14,0,7,6], -"utils__tools_8hpp.html":[14,0,10,4], -"utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d":[14,0,10,4,1], -"utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009":[14,0,10,4,0], -"utils__tools_8hpp_source.html":[14,0,10,4], -"vector__field_8hpp_source.html":[14,0,10,5], -"vector__field__common_8hpp_source.html":[14,0,10,6], -"vector__field__span_8hpp_source.html":[14,0,10,7], -"vendor_sll.html":[12], -"vendor_sll_include_sll_mapping.html":[12,0], -"view_8hpp_source.html":[14,2,0,0,0,28], -"vortex__merger__equilibrium_8hpp_source.html":[14,0,2,3,1], -"vortex__merger__initialization_8hpp_source.html":[14,0,2,3,2] -}; diff --git a/neumann__spline__quadrature_8hpp.html b/neumann__spline__quadrature_8hpp.html index 0345dad07..2155007ee 100644 --- a/neumann__spline__quadrature_8hpp.html +++ b/neumann__spline__quadrature_8hpp.html @@ -118,7 +118,7 @@

Functions

template<class IDim , class SplineBuilder >
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > neumann_spline_quadrature_coefficients_1d (ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > neumann_spline_quadrature_coefficients_1d (ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
 Get the spline quadrature coefficients in 1D. More...
 
template<class... DDims, class... SplineBuilders>
SplineBuilder const & SplineBuilder const &  builder 
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
null_boundary_value.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include "sll/spline_boundary_value.hpp"
-
4 
-
5 template <class BSplines>
-
6 class NullBoundaryValue : public SplineBoundaryValue<BSplines>
-
7 {
-
8 public:
-
9  NullBoundaryValue() = default;
-
10 
-
11  ~NullBoundaryValue() override = default;
-
12 
-
13  double operator()(
-
14  ddc::Coordinate<typename BSplines::tag_type>,
-
15  ddc::ChunkSpan<const double, ddc::DiscreteDomain<BSplines>>) const final
-
16  {
-
17  return 0.0;
-
18  }
-
19 };
-
20 
-
21 template <class BSplines>
-
22 inline NullBoundaryValue<BSplines> const g_null_boundary;
-
23 
-
24 template <class BSplines1, class BSplines2>
-
25 class NullBoundaryValue2D : public SplineBoundaryValue2D<BSplines1, BSplines2>
-
26 {
-
27 public:
-
28  NullBoundaryValue2D() = default;
-
29 
-
30  ~NullBoundaryValue2D() override = default;
-
31 
-
32  double operator()(
-
33  ddc::Coordinate<typename BSplines1::tag_type> x,
-
34  ddc::Coordinate<typename BSplines2::tag_type> y,
-
35  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplines1, BSplines2>>) const final
-
36  {
-
37  return 0.0;
-
38  }
-
39 };
-
40 
-
41 template <class BSplines1, class BSplines2>
-
42 inline NullBoundaryValue2D<BSplines1, BSplines2> const g_null_boundary_2d;
-
43 
-
44 template <class PolarBSplines>
- -
46 {
-
47 public:
-
48  PolarNullBoundaryValue2D() = default;
-
49 
-
50  ~PolarNullBoundaryValue2D() override = default;
-
51 
-
52  double operator()(double x, double y, PolarSplineView<PolarBSplines>) const final
-
53  {
-
54  return 0.0;
-
55  }
-
56 };
-
57 
-
58 template <class PolarBSplines>
-
59 inline PolarNullBoundaryValue2D<PolarBSplines> const g_polar_null_boundary_2d;
-
Definition: null_boundary_value.hpp:26
-
Definition: null_boundary_value.hpp:7
-
Definition: null_boundary_value.hpp:46
-
Definition: spline_boundary_value.hpp:33
-
Definition: spline_boundary_value.hpp:21
-
Definition: spline_boundary_value.hpp:10
-
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:122
-
-
- - - - diff --git a/poisson__rhs__function_8hpp_source.html b/poisson__rhs__function_8hpp_source.html index 3b57fa924..e5ea6b413 100644 --- a/poisson__rhs__function_8hpp_source.html +++ b/poisson__rhs__function_8hpp_source.html @@ -107,37 +107,51 @@
2 
3 #include <ddc/ddc.hpp>
4 
-
5 #include <sll/spline_evaluator_2d.hpp>
-
6 
-
7 #include "geometry.hpp"
-
8 #include "spline_interpolator_2d_rp.hpp"
+
5 #include "geometry.hpp"
+
6 #include "spline_interpolator_2d_rp.hpp"
+
7 
+
8 
9 
-
10 
-
11 
+
14 template <class RadialExtrapolationRule>
16 {
-
17 private:
-
18  Spline2DView const m_coefs;
-
19  SplineRPEvaluator const& m_evaluator;
-
20 
-
21 public:
-
30  PoissonRHSFunction(Spline2DView coefs, SplineRPEvaluator const& evaluator)
-
31  : m_coefs(coefs)
-
32  , m_evaluator(evaluator)
-
33  {
-
34  }
-
35 
-
36  ~PoissonRHSFunction() {};
-
37 
-
46  double operator()(CoordRP const& coord_rp) const
-
47  {
-
48  return m_evaluator(coord_rp, m_coefs);
-
49  }
-
50 };
+
17 public:
+
19  using evaluator_type = ddc::SplineEvaluator2D<
+
20  Kokkos::DefaultHostExecutionSpace,
+
21  Kokkos::DefaultHostExecutionSpace::memory_space,
+
22  BSplinesR,
+
23  BSplinesP,
+
24  IDimR,
+
25  IDimP,
+
26  RadialExtrapolationRule,
+
27  RadialExtrapolationRule,
+
28  ddc::PeriodicExtrapolationRule<RDimP>,
+
29  ddc::PeriodicExtrapolationRule<RDimP>,
+
30  IDimR,
+
31  IDimP>;
+
32 
+
33 private:
+
34  Spline2DView const m_coefs;
+
35  evaluator_type const& m_evaluator;
+
36 
+
37 public:
+
46  PoissonRHSFunction(Spline2DView coefs, evaluator_type const& evaluator)
+
47  : m_coefs(coefs)
+
48  , m_evaluator(evaluator)
+
49  {
+
50  }
+
51 
+
52  ~PoissonRHSFunction() {};
+
53 
+
62  double operator()(CoordRP const& coord_rp) const
+
63  {
+
64  return m_evaluator(coord_rp, m_coefs);
+
65  }
+
66 };
Type of right-hand side (rhs) function of the Poisson equation.
Definition: poisson_rhs_function.hpp:16
-
PoissonRHSFunction(Spline2DView coefs, SplineRPEvaluator const &evaluator)
Instantiate a PoissonRHSFunction.
Definition: poisson_rhs_function.hpp:30
-
double operator()(CoordRP const &coord_rp) const
Get the value of the function at a given coordinate.
Definition: poisson_rhs_function.hpp:46
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
+
PoissonRHSFunction(Spline2DView coefs, evaluator_type const &evaluator)
Instantiate a PoissonRHSFunction.
Definition: poisson_rhs_function.hpp:46
+
double operator()(CoordRP const &coord_rp) const
Get the value of the function at a given coordinate.
Definition: poisson_rhs_function.hpp:62
+
ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP > evaluator_type
The type of the 2D Spline Evaluator used by this class.
Definition: poisson_rhs_function.hpp:31
diff --git a/polar__bsplines_8hpp_source.html b/polar__bsplines_8hpp_source.html index af0619370..9a52da604 100644 --- a/polar__bsplines_8hpp_source.html +++ b/polar__bsplines_8hpp_source.html @@ -110,531 +110,528 @@
5 #include <ddc/ddc.hpp>
6 
7 #include <sll/bernstein.hpp>
-
8 #include <sll/bspline.hpp>
-
9 #include <sll/mapping/barycentric_coordinates.hpp>
-
10 #include <sll/mapping/discrete_mapping_to_cartesian.hpp>
-
11 #include <sll/null_boundary_value.hpp>
-
12 #include <sll/polar_spline.hpp>
-
13 #include <sll/spline_builder.hpp>
-
14 #include <sll/spline_builder_2d.hpp>
-
15 #include <sll/spline_evaluator_2d.hpp>
-
16 #include <sll/view.hpp>
-
17 
-
31 template <class BSplinesR, class BSplinesP, int C>
- -
33 {
-
34  static_assert(C >= -1, "Parameter `C` cannot be less than -1");
-
35  static_assert(C < 2, "Values larger than 1 are not implemented for parameter `C`");
-
36  static_assert(!BSplinesR::is_periodic(), "Radial bsplines must not be periodic.");
-
37  static_assert(!BSplinesR::is_uniform(), "Radial bsplines must have knots at the boundary.");
-
38  static_assert(BSplinesP::is_periodic(), "Poloidal bsplines should be periodic.");
-
39 
-
40 private:
-
41  // Tags to determine what to evaluate
-
42  struct eval_type
-
43  {
-
44  };
-
45 
-
46  struct eval_deriv_type
-
47  {
-
48  };
-
49 
-
50 public:
-
52  using BSplinesR_tag = BSplinesR;
-
53 
-
55  using BSplinesP_tag = BSplinesP;
-
56 
-
57 
-
59  using DimR = typename BSplinesR::tag_type;
-
60 
-
62  using DimP = typename BSplinesP::tag_type;
-
63 
-
64 public:
-
66  static int constexpr continuity = C;
-
67 
-
68 public:
- -
77 
-
79  using discrete_element_type = ddc::DiscreteElement<PolarBSplines>;
-
80 
-
82  using discrete_domain_type = ddc::DiscreteDomain<PolarBSplines>;
-
83 
-
85  using discrete_vector_type = ddc::DiscreteVector<PolarBSplines>;
-
86 
-
91  using tensor_product_discrete_element_type = ddc::DiscreteElement<BSplinesR, BSplinesP>;
-
92 
-
97  using tensor_product_discrete_domain_type = ddc::DiscreteDomain<BSplinesR, BSplinesP>;
-
98 
-
103  using tensor_product_discrete_vector_type = ddc::DiscreteVector<BSplinesR, BSplinesP>;
-
104 
-
105 private:
-
114  using singular_basis_linear_combination_domain_type
-
115  = ddc::DiscreteDomain<PolarBSplines, BSplinesR, BSplinesP>;
+
8 #include <sll/mapping/barycentric_coordinates.hpp>
+
9 #include <sll/mapping/discrete_mapping_to_cartesian.hpp>
+
10 #include <sll/polar_spline.hpp>
+
11 #include <sll/view.hpp>
+
12 
+
26 template <class BSplinesR, class BSplinesP, int C>
+ +
28 {
+
29  static_assert(C >= -1, "Parameter `C` cannot be less than -1");
+
30  static_assert(C < 2, "Values larger than 1 are not implemented for parameter `C`");
+
31  static_assert(!BSplinesR::is_periodic(), "Radial bsplines must not be periodic.");
+
32  static_assert(!BSplinesR::is_uniform(), "Radial bsplines must have knots at the boundary.");
+
33  static_assert(BSplinesP::is_periodic(), "Poloidal bsplines should be periodic.");
+
34 
+
35 private:
+
36  // Tags to determine what to evaluate
+
37  struct eval_type
+
38  {
+
39  };
+
40 
+
41  struct eval_deriv_type
+
42  {
+
43  };
+
44 
+
45 public:
+
47  using BSplinesR_tag = BSplinesR;
+
48 
+
50  using BSplinesP_tag = BSplinesP;
+
51 
+
52 
+
54  using DimR = typename BSplinesR::tag_type;
+
55 
+
57  using DimP = typename BSplinesP::tag_type;
+
58 
+
59 public:
+
61  static int constexpr continuity = C;
+
62 
+
63 public:
+ +
72 
+
74  using discrete_element_type = ddc::DiscreteElement<PolarBSplines>;
+
75 
+
77  using discrete_domain_type = ddc::DiscreteDomain<PolarBSplines>;
+
78 
+
80  using discrete_vector_type = ddc::DiscreteVector<PolarBSplines>;
+
81 
+
86  using tensor_product_discrete_element_type = ddc::DiscreteElement<BSplinesR, BSplinesP>;
+
87 
+
92  using tensor_product_discrete_domain_type = ddc::DiscreteDomain<BSplinesR, BSplinesP>;
+
93 
+
98  using tensor_product_discrete_vector_type = ddc::DiscreteVector<BSplinesR, BSplinesP>;
+
99 
+
100 private:
+
109  using singular_basis_linear_combination_domain_type
+
110  = ddc::DiscreteDomain<PolarBSplines, BSplinesR, BSplinesP>;
+
111 
+
112  using IndexR = ddc::DiscreteElement<BSplinesR>;
+
113  using IndexP = ddc::DiscreteElement<BSplinesP>;
+
114  using LengthR = ddc::DiscreteVector<BSplinesR>;
+
115  using LengthP = ddc::DiscreteVector<BSplinesP>;
116 
-
117  using IndexR = ddc::DiscreteElement<BSplinesR>;
-
118  using IndexP = ddc::DiscreteElement<BSplinesP>;
-
119  using LengthR = ddc::DiscreteVector<BSplinesR>;
-
120  using LengthP = ddc::DiscreteVector<BSplinesP>;
-
121 
-
122 public:
-
128  static constexpr std::size_t n_singular_basis()
-
129  {
-
130  return (C + 1) * (C + 2) / 2;
-
131  }
-
132 
-
133 
- -
142  {
-
143  return discrete_domain_type(
- - -
146  }
-
147 
- -
157  {
-
158  int const r_idx = ddc::select<BSplinesR>(idx).uid();
-
159  int const p_idx = ddc::select<BSplinesP>(idx).uid();
-
160  assert(r_idx >= C + 1);
-
161  int local_idx((r_idx - C - 1) * ddc::discrete_space<BSplinesP>().nbasis() + p_idx);
-
162  return discrete_element_type(n_singular_basis() + local_idx);
-
163  }
-
164 
- -
174  {
-
175  assert(idx.uid() >= n_singular_basis());
-
176  int const idx_2d = idx.uid() - n_singular_basis();
-
177  int const r_idx = idx_2d / ddc::discrete_space<BSplinesP>().nbasis();
-
178  int const p_idx = idx_2d - r_idx * ddc::discrete_space<BSplinesP>().nbasis();
-
179  ddc::DiscreteElement<BSplinesR> r_idx_elem(r_idx + C + 1);
-
180  ddc::DiscreteElement<BSplinesP> p_idx_elem(p_idx);
-
181  return ddc::DiscreteElement<BSplinesR, BSplinesP>(r_idx_elem, p_idx_elem);
-
182  }
-
183 
-
184 private:
-
185  using Spline2D = ddc::Chunk<double, tensor_product_discrete_domain_type>;
-
186 
-
187 public:
-
194  template <class MemorySpace>
-
195  class Impl
-
196  {
-
197  template <class OMemorySpace>
-
198  friend class Impl;
-
199 
-
200  private:
-
201  ddc::Chunk<
-
202  double,
-
203  singular_basis_linear_combination_domain_type,
-
204  ddc::HostAllocator<double>>
-
205  m_singular_basis_elements;
-
206 
-
207  public:
-
209  struct Corner1Tag
-
210  {
-
211  };
-
213  struct Corner2Tag
-
214  {
-
215  };
-
217  struct Corner3Tag
-
218  {
-
219  };
-
220 
- -
223 
-
233  template <class DimX, class DimY, class SplineBuilderR, class SplineBuilderP>
- -
235  curvilinear_to_cartesian,
-
236  SplineBuilderR const& spline_builder_r,
-
237  SplineBuilderP const& spline_builder_p)
-
238  {
-
239  if constexpr (C > -1) {
-
240  const ddc::Coordinate<DimX, DimY> pole
-
241  = curvilinear_to_cartesian(ddc::Coordinate<DimR, DimP>(0.0, 0.0));
-
242  const double x0 = ddc::get<DimX>(pole);
-
243  const double y0 = ddc::get<DimY>(pole);
-
244  double tau = 0.0;
-
245  for (std::size_t i(0); i < ddc::discrete_space<BSplinesP>().size(); ++i) {
-
246  const ddc::Coordinate<DimX, DimY> point
-
247  = curvilinear_to_cartesian.control_point(
- -
249 
-
250  const double c_x = ddc::get<DimX>(point);
-
251  const double c_y = ddc::get<DimY>(point);
-
252 
-
253  double tau1 = -2.0 * (c_x - x0);
-
254  double tau2 = c_x - x0 - sqrt(3.0) * (c_y - y0);
-
255  double tau3 = c_x - x0 + sqrt(3.0) * (c_y - y0);
-
256  tau = tau > tau1 ? tau : tau1;
-
257  tau = tau > tau2 ? tau : tau2;
-
258  tau = tau > tau3 ? tau : tau3;
-
259  }
-
260  // Determine the corners for the barycentric coordinates
-
261  const ddc::Coordinate<DimX, DimY> corner1(x0 + tau, y0);
-
262  const ddc::Coordinate<DimX, DimY>
-
263  corner2(x0 - 0.5 * tau, y0 + 0.5 * tau * sqrt(3.0));
-
264  const ddc::Coordinate<DimX, DimY>
-
265  corner3(x0 - 0.5 * tau, y0 - 0.5 * tau * sqrt(3.0));
-
266 
- -
268  DimX,
-
269  DimY,
-
270  Corner1Tag,
-
271  Corner2Tag,
-
272  Corner3Tag>
-
273  barycentric_coordinate_converter(corner1, corner2, corner3);
-
274  using BernsteinBasis = BernsteinPolynomialBasis<
-
275  DimX,
-
276  DimY,
-
277  Corner1Tag,
-
278  Corner2Tag,
-
279  Corner3Tag,
-
280  C>;
-
281  ddc::init_discrete_space<BernsteinBasis>(barycentric_coordinate_converter);
-
282 
-
283  // The number of radial bases used to construct the bsplines traversing the singular point.
-
284  constexpr LengthR nr_in_singular(C + 1);
-
285  assert(nr_in_singular.value() < int(ddc::discrete_space<BSplinesR>().size()));
-
286 
-
287  // The number of poloidal bases used to construct the bsplines traversing the singular point.
-
288  const LengthP np_in_singular(ddc::discrete_space<BSplinesP>().nbasis());
-
289 
-
290  // The number of elements of the poloidal basis which will have an associated coefficient
-
291  // (This will be larger than np_in_singular as it includes the periodicity)
-
292  const LengthP np_tot(ddc::discrete_space<BSplinesP>().size());
-
293 
-
294  // The domain of the 2D bsplines in the innermost circles from which the polar bsplines
-
295  // traversing the singular point will be constructed.
-
296  tensor_product_discrete_domain_type const dom_bsplines_inner(
- -
298  tensor_product_discrete_vector_type(nr_in_singular, np_tot));
-
299 
-
300  // Initialise memory
-
301  m_singular_basis_elements
-
302  = ddc::Chunk<double, singular_basis_linear_combination_domain_type>(
-
303  singular_basis_linear_combination_domain_type(
-
304  singular_domain(),
-
305  dom_bsplines_inner));
-
306 
-
307  ddc::DiscreteDomain<BernsteinBasis> bernstein_domain(
-
308  ddc::DiscreteElement<BernsteinBasis> {0},
-
309  ddc::DiscreteVector<BernsteinBasis> {n_singular_basis()});
-
310 
-
311  for (IndexR const ir : ddc::DiscreteDomain<BSplinesR>(IndexR(0), LengthR(C + 1))) {
-
312  for (IndexP const ip :
-
313  spline_builder_p.spline_domain().take_first(np_in_singular)) {
-
314  const ddc::Coordinate<DimX, DimY> point
-
315  = curvilinear_to_cartesian.control_point(
- -
317  ddc::Chunk<double, ddc::DiscreteDomain<BernsteinBasis>> bernstein_vals(
-
318  bernstein_domain);
-
319  ddc::discrete_space<BernsteinBasis>().eval_basis(bernstein_vals, point);
-
320  // Fill spline coefficients
-
321  for (auto k : bernstein_domain) {
-
322  m_singular_basis_elements(discrete_element_type {k.uid()}, ir, ip)
-
323  = bernstein_vals(k);
-
324  }
-
325  }
- -
327  for (IndexP const ip : spline_builder_p.spline_domain().take_first(
-
328  LengthP {BSplinesP::degree()})) {
-
329  m_singular_basis_elements(k, ir, ip + np_in_singular)
-
330  = m_singular_basis_elements(k, ir, ip);
-
331  }
-
332  }
-
333  }
-
334  } else {
-
335  // Initialise m_singular_basis_elements to avoid any problems in the copy constructor
-
336  tensor_product_discrete_domain_type const empty_dom_bsplines(
- - -
339  m_singular_basis_elements
-
340  = ddc::Chunk<double, singular_basis_linear_combination_domain_type>(
-
341  singular_basis_linear_combination_domain_type(
-
342  singular_domain(),
-
343  empty_dom_bsplines));
-
344  }
-
345  }
-
346 
-
352  template <class OriginMemorySpace>
-
353  explicit Impl(Impl<OriginMemorySpace> const& impl)
-
354  : m_singular_basis_elements(impl.m_singular_basis_elements.domain())
-
355  {
-
356  ddc::parallel_deepcopy(
-
357  m_singular_basis_elements.span_view(),
-
358  impl.m_singular_basis_elements);
-
359  }
-
360 
-
366  Impl(Impl const& x) = default;
-
367 
-
373  Impl(Impl&& x) = default;
-
374 
-
378  ~Impl() = default;
-
379 
-
387  Impl& operator=(Impl const& x) = default;
-
388 
-
396  Impl& operator=(Impl&& x) = default;
-
397 
- -
415  DSpan1D singular_values,
-
416  DSpan2D values,
-
417  ddc::Coordinate<DimR, DimP> p) const;
-
418 
- -
436  DSpan1D singular_derivs,
-
437  DSpan2D derivs,
-
438  ddc::Coordinate<DimR, DimP> p) const;
-
439 
- -
457  DSpan1D singular_derivs,
-
458  DSpan2D derivs,
-
459  ddc::Coordinate<DimR, DimP> p) const;
-
460 
- -
479  DSpan1D singular_derivs,
-
480  DSpan2D derivs,
-
481  ddc::Coordinate<DimR, DimP> p) const;
-
482 
-
488  void integrals(PolarSplineSpan<PolarBSplines> int_vals) const;
-
489 
-
495  std::size_t nbasis() const noexcept
-
496  {
-
497  std::size_t nr = ddc::discrete_space<BSplinesR>().nbasis() - C - 1;
-
498  std::size_t np = ddc::discrete_space<BSplinesP>().nbasis();
-
499  return n_singular_basis() + nr * np;
-
500  }
-
501 
- -
508  {
- -
510  }
-
511 
- -
520  {
-
521  return full_domain().remove_first(discrete_vector_type {n_singular_basis()});
-
522  }
-
523 
-
524  private:
-
525  template <class EvalTypeR, class EvalTypeP>
-
526  ddc::DiscreteElement<BSplinesR, BSplinesP> eval(
-
527  DSpan1D singular_values,
-
528  DSpan2D values,
-
529  ddc::Coordinate<DimR, DimP> coord_eval,
-
530  EvalTypeR const,
-
531  EvalTypeP const) const;
-
532  };
-
533 };
-
534 
-
535 template <class BSplinesR, class BSplinesP, int C>
-
536 template <class MemorySpace>
-
537 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
- -
539  DSpan1D singular_values,
-
540  DSpan2D values,
-
541  ddc::Coordinate<DimR, DimP> p) const
-
542 {
-
543  return eval(singular_values, values, p, eval_type(), eval_type());
-
544 }
-
545 
-
546 template <class BSplinesR, class BSplinesP, int C>
-
547 template <class MemorySpace>
-
548 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
- -
550  DSpan1D singular_derivs,
-
551  DSpan2D derivs,
-
552  ddc::Coordinate<DimR, DimP> p) const
-
553 {
-
554  return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_type());
-
555 }
-
556 
-
557 template <class BSplinesR, class BSplinesP, int C>
-
558 template <class MemorySpace>
-
559 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
- -
561  DSpan1D singular_derivs,
-
562  DSpan2D derivs,
-
563  ddc::Coordinate<DimR, DimP> p) const
-
564 {
-
565  return eval(singular_derivs, derivs, p, eval_type(), eval_deriv_type());
-
566 }
-
567 
-
568 template <class BSplinesR, class BSplinesP, int C>
-
569 template <class MemorySpace>
-
570 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
- -
572  DSpan1D singular_derivs,
-
573  DSpan2D derivs,
-
574  ddc::Coordinate<DimR, DimP> p) const
-
575 {
-
576  return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_deriv_type());
-
577 }
-
578 
-
579 template <class BSplinesR, class BSplinesP, int C>
-
580 template <class MemorySpace>
-
581 template <class EvalTypeR, class EvalTypeP>
-
582 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
- -
584  DSpan1D singular_values,
-
585  DSpan2D values,
-
586  ddc::Coordinate<DimR, DimP> coord_eval,
-
587  EvalTypeR const,
-
588  EvalTypeP const) const
-
589 {
-
590  assert(singular_values.extent(0) == n_singular_basis());
-
591  assert(values.extent(0) == BSplinesR::degree() + 1);
-
592  assert(values.extent(1) == BSplinesP::degree() + 1);
-
593  static_assert(
-
594  std::is_same_v<EvalTypeR, eval_type> || std::is_same_v<EvalTypeR, eval_deriv_type>);
-
595  static_assert(
-
596  std::is_same_v<EvalTypeP, eval_type> || std::is_same_v<EvalTypeP, eval_deriv_type>);
-
597 
-
598  ddc::DiscreteElement<BSplinesR> jmin_r;
-
599  ddc::DiscreteElement<BSplinesP> jmin_p;
-
600 
-
601  std::size_t constexpr nr = BSplinesR::degree() + 1;
-
602  std::size_t constexpr np = BSplinesP::degree() + 1;
-
603 
-
604  std::array<double, nr> vals_r_data;
-
605  std::array<double, np> vals_p_data;
-
606  DSpan1D vals_r(vals_r_data.data(), nr);
-
607  DSpan1D vals_p(vals_p_data.data(), np);
-
608 
-
609  if constexpr (std::is_same_v<EvalTypeR, eval_type>) {
-
610  jmin_r = ddc::discrete_space<BSplinesR>().eval_basis(vals_r, ddc::select<DimR>(coord_eval));
-
611  } else if constexpr (std::is_same_v<EvalTypeR, eval_deriv_type>) {
-
612  jmin_r = ddc::discrete_space<BSplinesR>().eval_deriv(vals_r, ddc::select<DimR>(coord_eval));
-
613  }
-
614  if constexpr (std::is_same_v<EvalTypeP, eval_type>) {
-
615  jmin_p = ddc::discrete_space<BSplinesP>().eval_basis(vals_p, ddc::select<DimP>(coord_eval));
-
616  } else if constexpr (std::is_same_v<EvalTypeP, eval_deriv_type>) {
-
617  jmin_p = ddc::discrete_space<BSplinesP>().eval_deriv(vals_p, ddc::select<DimP>(coord_eval));
-
618  }
-
619 
-
620  std::size_t nr_done = 0;
-
621 
-
622  if (jmin_r.uid() < C + 1) {
-
623  nr_done = C + 1 - jmin_r.uid();
-
624  for (discrete_element_type k : singular_domain()) {
-
625  singular_values(k.uid()) = 0.0;
-
626  for (std::size_t i(0); i < nr_done; ++i) {
-
627  for (std::size_t j(0); j < np; ++j) {
-
628  singular_values(k.uid()) += m_singular_basis_elements(k, jmin_r + i, jmin_p + j)
-
629  * vals_r(i) * vals_p(j);
-
630  }
-
631  }
-
632  }
-
633  } else {
-
634  for (std::size_t k(0); k < n_singular_basis(); ++k) {
-
635  singular_values(k) = 0.0;
-
636  }
-
637  }
-
638 
-
639  for (std::size_t i(0); i < nr - nr_done; ++i) {
-
640  for (std::size_t j(0); j < np; ++j) {
-
641  values(i, j) = vals_r(i + nr_done) * vals_p(j);
-
642  }
-
643  }
-
644  for (std::size_t i(nr - nr_done); i < nr; ++i) {
-
645  for (std::size_t j(0); j < np; ++j) {
-
646  values(i, j) = 0.0;
-
647  }
-
648  }
-
649  return ddc::DiscreteElement<BSplinesR, BSplinesP>(jmin_r, jmin_p);
-
650 }
-
651 
-
652 template <class BSplinesR, class BSplinesP, int C>
-
653 template <class MemorySpace>
- - -
656 {
-
657  auto r_bspl_space = ddc::discrete_space<BSplinesR>();
-
658  auto p_bspl_space = ddc::discrete_space<BSplinesP>();
-
659 
-
660  assert(int_vals.singular_spline_coef.domain().extents() == n_singular_basis());
-
661  assert(int_vals.spline_coef.domain().front().template uid<BSplinesR>() == C + 1);
-
662  assert(int_vals.spline_coef.domain().back().template uid<BSplinesR>()
-
663  == r_bspl_space.nbasis() - 1);
-
664  assert(int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.nbasis()
-
665  || int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.size());
-
666 
-
667  ddc::Chunk<double, typename BSplinesR::discrete_domain_type> r_integrals(
-
668  r_bspl_space.full_domain().take_first(
-
669  typename BSplinesR::discrete_vector_type {r_bspl_space.nbasis()}));
-
670  ddc::Chunk<double, typename BSplinesP::discrete_domain_type> p_integrals(
-
671  p_bspl_space.full_domain().take_first(
-
672  typename BSplinesP::discrete_vector_type {p_bspl_space.size()}));
-
673 
-
674  r_bspl_space.integrals(r_integrals);
-
675  p_bspl_space.integrals(p_integrals);
-
676 
-
677  ddc::for_each(singular_domain(), [&](auto k) {
-
678  int_vals.singular_spline_coef(k) = ddc::transform_reduce(
-
679  ddc::select<BSplinesR, BSplinesP>(m_singular_basis_elements.domain()),
-
680  0.0,
-
681  ddc::reducer::sum<double>(),
-
682  [&](tensor_product_discrete_element_type const idx) {
-
683  IndexR i = ddc::select<BSplinesR>(idx);
-
684  IndexP j = ddc::select<BSplinesP>(idx);
-
685  return m_singular_basis_elements(k, i, j) * r_integrals(i) * p_integrals(j);
-
686  });
-
687  });
-
688 
-
689  ddc::DiscreteDomain<BSplinesR> r_tensor_product_dom(
-
690  ddc::select<BSplinesR>(int_vals.spline_coef.domain()));
-
691 
- -
693  tensor_bspline_domain(r_tensor_product_dom, p_integrals.domain());
-
694 
-
695  ddc::for_each(tensor_bspline_domain, [&](auto idx) {
-
696  int_vals.spline_coef(idx) = r_integrals(ddc::select<BSplinesR>(idx))
-
697  * p_integrals(ddc::select<BSplinesP>(idx));
-
698  });
-
699 
-
700  if (int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.size()) {
-
701  ddc::DiscreteDomain<BSplinesP> periodic_points(p_integrals.domain().take_last(
-
702  typename BSplinesP::discrete_vector_type {BSplinesP::degree()}));
-
703  tensor_product_discrete_domain_type repeat_domain(r_tensor_product_dom, periodic_points);
-
704  ddc::for_each(repeat_domain, [&](auto idx) { int_vals.spline_coef(idx) = 0.0; });
-
705  }
-
706 }
+
117 public:
+
123  static constexpr std::size_t n_singular_basis()
+
124  {
+
125  return (C + 1) * (C + 2) / 2;
+
126  }
+
127 
+
128 
+ +
137  {
+
138  return discrete_domain_type(
+ + +
141  }
+
142 
+ +
152  {
+
153  int const r_idx = ddc::select<BSplinesR>(idx).uid();
+
154  int const p_idx = ddc::select<BSplinesP>(idx).uid();
+
155  assert(r_idx >= C + 1);
+
156  int local_idx((r_idx - C - 1) * ddc::discrete_space<BSplinesP>().nbasis() + p_idx);
+
157  return discrete_element_type(n_singular_basis() + local_idx);
+
158  }
+
159 
+ +
169  {
+
170  assert(idx.uid() >= n_singular_basis());
+
171  int const idx_2d = idx.uid() - n_singular_basis();
+
172  int const r_idx = idx_2d / ddc::discrete_space<BSplinesP>().nbasis();
+
173  int const p_idx = idx_2d - r_idx * ddc::discrete_space<BSplinesP>().nbasis();
+
174  ddc::DiscreteElement<BSplinesR> r_idx_elem(r_idx + C + 1);
+
175  ddc::DiscreteElement<BSplinesP> p_idx_elem(p_idx);
+
176  return ddc::DiscreteElement<BSplinesR, BSplinesP>(r_idx_elem, p_idx_elem);
+
177  }
+
178 
+
179 private:
+
180  using Spline2D = ddc::Chunk<double, tensor_product_discrete_domain_type>;
+
181 
+
182 public:
+
189  template <class MemorySpace>
+
190  class Impl
+
191  {
+
192  template <class OMemorySpace>
+
193  friend class Impl;
+
194 
+
195  private:
+
196  ddc::Chunk<
+
197  double,
+
198  singular_basis_linear_combination_domain_type,
+
199  ddc::HostAllocator<double>>
+
200  m_singular_basis_elements;
+
201 
+
202  public:
+
204  struct Corner1Tag
+
205  {
+
206  };
+
208  struct Corner2Tag
+
209  {
+
210  };
+
212  struct Corner3Tag
+
213  {
+
214  };
+
215 
+ +
218 
+
228  template <class DiscreteMapping, class SplineBuilderR, class SplineBuilderP>
+
229  Impl(const DiscreteMapping& curvilinear_to_cartesian,
+
230  SplineBuilderR const& spline_builder_r,
+
231  SplineBuilderP const& spline_builder_p)
+
232  {
+
233  using DimX = typename DiscreteMapping::cartesian_tag_x;
+
234  using DimY = typename DiscreteMapping::cartesian_tag_y;
+
235  using mapping_tensor_product_discrete_element_type = ddc::DiscreteElement<
+
236  typename DiscreteMapping::BSplineR,
+
237  typename DiscreteMapping::BSplineP>;
+
238  if constexpr (C > -1) {
+
239  const ddc::Coordinate<DimX, DimY> pole
+
240  = curvilinear_to_cartesian(ddc::Coordinate<DimR, DimP>(0.0, 0.0));
+
241  const double x0 = ddc::get<DimX>(pole);
+
242  const double y0 = ddc::get<DimY>(pole);
+
243  double tau = 0.0;
+
244  for (std::size_t i(0); i < ddc::discrete_space<BSplinesP>().size(); ++i) {
+
245  const ddc::Coordinate<DimX, DimY> point
+
246  = curvilinear_to_cartesian.control_point(
+
247  mapping_tensor_product_discrete_element_type(1, i));
+
248 
+
249  const double c_x = ddc::get<DimX>(point);
+
250  const double c_y = ddc::get<DimY>(point);
+
251 
+
252  double tau1 = -2.0 * (c_x - x0);
+
253  double tau2 = c_x - x0 - sqrt(3.0) * (c_y - y0);
+
254  double tau3 = c_x - x0 + sqrt(3.0) * (c_y - y0);
+
255  tau = tau > tau1 ? tau : tau1;
+
256  tau = tau > tau2 ? tau : tau2;
+
257  tau = tau > tau3 ? tau : tau3;
+
258  }
+
259  // Determine the corners for the barycentric coordinates
+
260  const ddc::Coordinate<DimX, DimY> corner1(x0 + tau, y0);
+
261  const ddc::Coordinate<DimX, DimY>
+
262  corner2(x0 - 0.5 * tau, y0 + 0.5 * tau * sqrt(3.0));
+
263  const ddc::Coordinate<DimX, DimY>
+
264  corner3(x0 - 0.5 * tau, y0 - 0.5 * tau * sqrt(3.0));
+
265 
+ +
267  DimX,
+
268  DimY,
+
269  Corner1Tag,
+
270  Corner2Tag,
+
271  Corner3Tag>
+
272  barycentric_coordinate_converter(corner1, corner2, corner3);
+
273  using BernsteinBasis = BernsteinPolynomialBasis<
+
274  DimX,
+
275  DimY,
+
276  Corner1Tag,
+
277  Corner2Tag,
+
278  Corner3Tag,
+
279  C>;
+
280  ddc::init_discrete_space<BernsteinBasis>(barycentric_coordinate_converter);
+
281 
+
282  // The number of radial bases used to construct the bsplines traversing the singular point.
+
283  constexpr LengthR nr_in_singular(C + 1);
+
284  assert(nr_in_singular.value() < int(ddc::discrete_space<BSplinesR>().size()));
+
285 
+
286  // The number of poloidal bases used to construct the bsplines traversing the singular point.
+
287  const LengthP np_in_singular(ddc::discrete_space<BSplinesP>().nbasis());
+
288 
+
289  // The number of elements of the poloidal basis which will have an associated coefficient
+
290  // (This will be larger than np_in_singular as it includes the periodicity)
+
291  const LengthP np_tot(ddc::discrete_space<BSplinesP>().size());
+
292 
+
293  // The domain of the 2D bsplines in the innermost circles from which the polar bsplines
+
294  // traversing the singular point will be constructed.
+
295  tensor_product_discrete_domain_type const dom_bsplines_inner(
+ +
297  tensor_product_discrete_vector_type(nr_in_singular, np_tot));
+
298 
+
299  // Initialise memory
+
300  m_singular_basis_elements
+
301  = ddc::Chunk<double, singular_basis_linear_combination_domain_type>(
+
302  singular_basis_linear_combination_domain_type(
+
303  singular_domain(),
+
304  dom_bsplines_inner));
+
305 
+
306  ddc::DiscreteDomain<BernsteinBasis> bernstein_domain(
+
307  ddc::DiscreteElement<BernsteinBasis> {0},
+
308  ddc::DiscreteVector<BernsteinBasis> {n_singular_basis()});
+
309 
+
310  for (IndexR const ir : ddc::DiscreteDomain<BSplinesR>(IndexR(0), LengthR(C + 1))) {
+
311  for (IndexP const ip :
+
312  spline_builder_p.spline_domain().take_first(np_in_singular)) {
+
313  const ddc::Coordinate<DimX, DimY> point
+
314  = curvilinear_to_cartesian.control_point(
+
315  mapping_tensor_product_discrete_element_type(ir, ip));
+
316  ddc::Chunk<double, ddc::DiscreteDomain<BernsteinBasis>> bernstein_vals(
+
317  bernstein_domain);
+
318  ddc::discrete_space<BernsteinBasis>().eval_basis(bernstein_vals, point);
+
319  // Fill spline coefficients
+
320  for (auto k : bernstein_domain) {
+
321  m_singular_basis_elements(discrete_element_type {k.uid()}, ir, ip)
+
322  = bernstein_vals(k);
+
323  }
+
324  }
+ +
326  for (IndexP const ip : spline_builder_p.spline_domain().take_first(
+
327  LengthP {BSplinesP::degree()})) {
+
328  m_singular_basis_elements(k, ir, ip + np_in_singular)
+
329  = m_singular_basis_elements(k, ir, ip);
+
330  }
+
331  }
+
332  }
+
333  } else {
+
334  // Initialise m_singular_basis_elements to avoid any problems in the copy constructor
+
335  tensor_product_discrete_domain_type const empty_dom_bsplines(
+ + +
338  m_singular_basis_elements
+
339  = ddc::Chunk<double, singular_basis_linear_combination_domain_type>(
+
340  singular_basis_linear_combination_domain_type(
+
341  singular_domain(),
+
342  empty_dom_bsplines));
+
343  }
+
344  }
+
345 
+
351  template <class OriginMemorySpace>
+
352  explicit Impl(Impl<OriginMemorySpace> const& impl)
+
353  : m_singular_basis_elements(impl.m_singular_basis_elements.domain())
+
354  {
+
355  ddc::parallel_deepcopy(
+
356  m_singular_basis_elements.span_view(),
+
357  impl.m_singular_basis_elements);
+
358  }
+
359 
+
365  Impl(Impl const& x) = default;
+
366 
+
372  Impl(Impl&& x) = default;
+
373 
+
377  ~Impl() = default;
+
378 
+
386  Impl& operator=(Impl const& x) = default;
+
387 
+
395  Impl& operator=(Impl&& x) = default;
+
396 
+ +
414  DSpan1D singular_values,
+
415  DSpan2D values,
+
416  ddc::Coordinate<DimR, DimP> p) const;
+
417 
+ +
435  DSpan1D singular_derivs,
+
436  DSpan2D derivs,
+
437  ddc::Coordinate<DimR, DimP> p) const;
+
438 
+ +
456  DSpan1D singular_derivs,
+
457  DSpan2D derivs,
+
458  ddc::Coordinate<DimR, DimP> p) const;
+
459 
+ +
478  DSpan1D singular_derivs,
+
479  DSpan2D derivs,
+
480  ddc::Coordinate<DimR, DimP> p) const;
+
481 
+
487  void integrals(PolarSplineSpan<PolarBSplines> int_vals) const;
+
488 
+
494  std::size_t nbasis() const noexcept
+
495  {
+
496  std::size_t nr = ddc::discrete_space<BSplinesR>().nbasis() - C - 1;
+
497  std::size_t np = ddc::discrete_space<BSplinesP>().nbasis();
+
498  return n_singular_basis() + nr * np;
+
499  }
+
500 
+ +
507  {
+ +
509  }
+
510 
+ +
519  {
+
520  return full_domain().remove_first(discrete_vector_type {n_singular_basis()});
+
521  }
+
522 
+
523  private:
+
524  template <class EvalTypeR, class EvalTypeP>
+
525  ddc::DiscreteElement<BSplinesR, BSplinesP> eval(
+
526  DSpan1D singular_values,
+
527  DSpan2D values,
+
528  ddc::Coordinate<DimR, DimP> coord_eval,
+
529  EvalTypeR const,
+
530  EvalTypeP const) const;
+
531  };
+
532 };
+
533 
+
534 template <class BSplinesR, class BSplinesP, int C>
+
535 template <class MemorySpace>
+
536 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
+ +
538  DSpan1D singular_values,
+
539  DSpan2D values,
+
540  ddc::Coordinate<DimR, DimP> p) const
+
541 {
+
542  return eval(singular_values, values, p, eval_type(), eval_type());
+
543 }
+
544 
+
545 template <class BSplinesR, class BSplinesP, int C>
+
546 template <class MemorySpace>
+
547 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
+ +
549  DSpan1D singular_derivs,
+
550  DSpan2D derivs,
+
551  ddc::Coordinate<DimR, DimP> p) const
+
552 {
+
553  return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_type());
+
554 }
+
555 
+
556 template <class BSplinesR, class BSplinesP, int C>
+
557 template <class MemorySpace>
+
558 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
+ +
560  DSpan1D singular_derivs,
+
561  DSpan2D derivs,
+
562  ddc::Coordinate<DimR, DimP> p) const
+
563 {
+
564  return eval(singular_derivs, derivs, p, eval_type(), eval_deriv_type());
+
565 }
+
566 
+
567 template <class BSplinesR, class BSplinesP, int C>
+
568 template <class MemorySpace>
+
569 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
+ +
571  DSpan1D singular_derivs,
+
572  DSpan2D derivs,
+
573  ddc::Coordinate<DimR, DimP> p) const
+
574 {
+
575  return eval(singular_derivs, derivs, p, eval_deriv_type(), eval_deriv_type());
+
576 }
+
577 
+
578 template <class BSplinesR, class BSplinesP, int C>
+
579 template <class MemorySpace>
+
580 template <class EvalTypeR, class EvalTypeP>
+
581 ddc::DiscreteElement<BSplinesR, BSplinesP> PolarBSplines<BSplinesR, BSplinesP, C>::
+ +
583  DSpan1D singular_values,
+
584  DSpan2D values,
+
585  ddc::Coordinate<DimR, DimP> coord_eval,
+
586  EvalTypeR const,
+
587  EvalTypeP const) const
+
588 {
+
589  assert(singular_values.extent(0) == n_singular_basis());
+
590  assert(values.extent(0) == BSplinesR::degree() + 1);
+
591  assert(values.extent(1) == BSplinesP::degree() + 1);
+
592  static_assert(
+
593  std::is_same_v<EvalTypeR, eval_type> || std::is_same_v<EvalTypeR, eval_deriv_type>);
+
594  static_assert(
+
595  std::is_same_v<EvalTypeP, eval_type> || std::is_same_v<EvalTypeP, eval_deriv_type>);
+
596 
+
597  ddc::DiscreteElement<BSplinesR> jmin_r;
+
598  ddc::DiscreteElement<BSplinesP> jmin_p;
+
599 
+
600  std::size_t constexpr nr = BSplinesR::degree() + 1;
+
601  std::size_t constexpr np = BSplinesP::degree() + 1;
+
602 
+
603  std::array<double, nr> vals_r;
+
604  std::array<double, np> vals_p;
+
605 
+
606  if constexpr (std::is_same_v<EvalTypeR, eval_type>) {
+
607  jmin_r = ddc::discrete_space<BSplinesR>().eval_basis(vals_r, ddc::select<DimR>(coord_eval));
+
608  } else if constexpr (std::is_same_v<EvalTypeR, eval_deriv_type>) {
+
609  jmin_r = ddc::discrete_space<BSplinesR>().eval_deriv(vals_r, ddc::select<DimR>(coord_eval));
+
610  }
+
611  if constexpr (std::is_same_v<EvalTypeP, eval_type>) {
+
612  jmin_p = ddc::discrete_space<BSplinesP>().eval_basis(vals_p, ddc::select<DimP>(coord_eval));
+
613  } else if constexpr (std::is_same_v<EvalTypeP, eval_deriv_type>) {
+
614  jmin_p = ddc::discrete_space<BSplinesP>().eval_deriv(vals_p, ddc::select<DimP>(coord_eval));
+
615  }
+
616 
+
617  std::size_t nr_done = 0;
+
618 
+
619  if (jmin_r.uid() < C + 1) {
+
620  nr_done = C + 1 - jmin_r.uid();
+
621  for (discrete_element_type k : singular_domain()) {
+
622  singular_values(k.uid()) = 0.0;
+
623  for (std::size_t i(0); i < nr_done; ++i) {
+
624  for (std::size_t j(0); j < np; ++j) {
+
625  singular_values(k.uid()) += m_singular_basis_elements(k, jmin_r + i, jmin_p + j)
+
626  * vals_r[i] * vals_p[j];
+
627  }
+
628  }
+
629  }
+
630  } else {
+
631  for (std::size_t k(0); k < n_singular_basis(); ++k) {
+
632  singular_values(k) = 0.0;
+
633  }
+
634  }
+
635 
+
636  for (std::size_t i(0); i < nr - nr_done; ++i) {
+
637  for (std::size_t j(0); j < np; ++j) {
+
638  values(i, j) = vals_r[i + nr_done] * vals_p[j];
+
639  }
+
640  }
+
641  for (std::size_t i(nr - nr_done); i < nr; ++i) {
+
642  for (std::size_t j(0); j < np; ++j) {
+
643  values(i, j) = 0.0;
+
644  }
+
645  }
+
646  return ddc::DiscreteElement<BSplinesR, BSplinesP>(jmin_r, jmin_p);
+
647 }
+
648 
+
649 template <class BSplinesR, class BSplinesP, int C>
+
650 template <class MemorySpace>
+ + +
653 {
+
654  auto r_bspl_space = ddc::discrete_space<BSplinesR>();
+
655  auto p_bspl_space = ddc::discrete_space<BSplinesP>();
+
656 
+
657  assert(int_vals.singular_spline_coef.domain().extents() == n_singular_basis());
+
658  assert(int_vals.spline_coef.domain().front().template uid<BSplinesR>() == C + 1);
+
659  assert(int_vals.spline_coef.domain().back().template uid<BSplinesR>()
+
660  == r_bspl_space.nbasis() - 1);
+
661  assert(int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.nbasis()
+
662  || int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.size());
+
663 
+
664  ddc::Chunk<double, typename BSplinesR::discrete_domain_type> r_integrals_alloc(
+
665  r_bspl_space.full_domain().take_first(
+
666  typename BSplinesR::discrete_vector_type {r_bspl_space.nbasis()}));
+
667  ddc::Chunk<double, typename BSplinesP::discrete_domain_type> p_integrals_alloc(
+
668  p_bspl_space.full_domain().take_first(
+
669  typename BSplinesP::discrete_vector_type {p_bspl_space.size()}));
+
670  ddc::ChunkSpan r_integrals = r_integrals_alloc.span_view();
+
671  ddc::ChunkSpan p_integrals = p_integrals_alloc.span_view();
+
672 
+
673  r_bspl_space.integrals(r_integrals);
+
674  p_bspl_space.integrals(p_integrals);
+
675 
+
676  ddc::for_each(singular_domain(), [&](auto k) {
+
677  int_vals.singular_spline_coef(k) = ddc::transform_reduce(
+
678  ddc::select<BSplinesR, BSplinesP>(m_singular_basis_elements.domain()),
+
679  0.0,
+
680  ddc::reducer::sum<double>(),
+
681  [&](tensor_product_discrete_element_type const idx) {
+
682  IndexR i = ddc::select<BSplinesR>(idx);
+
683  IndexP j = ddc::select<BSplinesP>(idx);
+
684  return m_singular_basis_elements(k, i, j) * r_integrals(i) * p_integrals(j);
+
685  });
+
686  });
+
687 
+
688  ddc::DiscreteDomain<BSplinesR> r_tensor_product_dom(
+
689  ddc::select<BSplinesR>(int_vals.spline_coef.domain()));
+
690 
+ +
692  tensor_bspline_domain(r_tensor_product_dom, p_integrals.domain());
+
693 
+
694  ddc::for_each(tensor_bspline_domain, [&](auto idx) {
+
695  int_vals.spline_coef(idx) = r_integrals(ddc::select<BSplinesR>(idx))
+
696  * p_integrals(ddc::select<BSplinesP>(idx));
+
697  });
+
698 
+
699  if (int_vals.spline_coef.domain().template extent<BSplinesP>() == p_bspl_space.size()) {
+
700  ddc::DiscreteDomain<BSplinesP> periodic_points(p_integrals.domain().take_last(
+
701  typename BSplinesP::discrete_vector_type {BSplinesP::degree()}));
+
702  tensor_product_discrete_domain_type repeat_domain(r_tensor_product_dom, periodic_points);
+
703  ddc::for_each(repeat_domain, [&](auto idx) { int_vals.spline_coef(idx) = 0.0; });
+
704  }
+
705 }
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
-
The Impl class holds the implementation of the PolarBSplines.
Definition: polar_bsplines.hpp:196
-
tensor_product_discrete_element_type eval_deriv_p(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the poloidal derivative of the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:560
-
discrete_domain_type full_domain() const noexcept
Returns the domain containing the indices of all the polar b-splines.
Definition: polar_bsplines.hpp:507
+
The Impl class holds the implementation of the PolarBSplines.
Definition: polar_bsplines.hpp:191
+
tensor_product_discrete_element_type eval_deriv_p(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the poloidal derivative of the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:559
+
discrete_domain_type full_domain() const noexcept
Returns the domain containing the indices of all the polar b-splines.
Definition: polar_bsplines.hpp:506
Impl(Impl &&x)=default
A copy constructor for the PolarBSplines taking a temporary r-value.
-
Impl(Impl< OriginMemorySpace > const &impl)
A copy constructor for the PolarBSplines.
Definition: polar_bsplines.hpp:353
-
discrete_domain_type tensor_bspline_domain() const noexcept
Returns the ddc::DiscreteDomain containing the indices of the b-splines which don't traverse the sing...
Definition: polar_bsplines.hpp:519
-
tensor_product_discrete_element_type eval_deriv_r(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the radial derivative of the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:549
+
Impl(Impl< OriginMemorySpace > const &impl)
A copy constructor for the PolarBSplines.
Definition: polar_bsplines.hpp:352
+
discrete_domain_type tensor_bspline_domain() const noexcept
Returns the ddc::DiscreteDomain containing the indices of the b-splines which don't traverse the sing...
Definition: polar_bsplines.hpp:518
+
Impl(const DiscreteMapping &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)
A constructor for the PolarBSplines.
Definition: polar_bsplines.hpp:229
+
tensor_product_discrete_element_type eval_deriv_r(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the radial derivative of the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:548
Impl & operator=(Impl const &x)=default
A copy operator for the PolarBSplines.
~Impl()=default
The destructor for the PolarBSplines.
-
void integrals(PolarSplineSpan< PolarBSplines > int_vals) const
Calculate the integrals of each of the basis splines.
Definition: polar_bsplines.hpp:654
-
tensor_product_discrete_element_type eval_deriv_r_and_p(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the second order derivative of the polar basis splines in the radial and poloidal directions...
Definition: polar_bsplines.hpp:571
-
std::size_t nbasis() const noexcept
Get the total number of basis functions.
Definition: polar_bsplines.hpp:495
-
tensor_product_discrete_element_type eval_basis(DSpan1D singular_values, DSpan2D values, ddc::Coordinate< DimR, DimP > p) const
Evaluate the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:538
+
void integrals(PolarSplineSpan< PolarBSplines > int_vals) const
Calculate the integrals of each of the basis splines.
Definition: polar_bsplines.hpp:651
+
tensor_product_discrete_element_type eval_deriv_r_and_p(DSpan1D singular_derivs, DSpan2D derivs, ddc::Coordinate< DimR, DimP > p) const
Evaluate the second order derivative of the polar basis splines in the radial and poloidal directions...
Definition: polar_bsplines.hpp:570
+
std::size_t nbasis() const noexcept
Get the total number of basis functions.
Definition: polar_bsplines.hpp:494
+
tensor_product_discrete_element_type eval_basis(DSpan1D singular_values, DSpan2D values, ddc::Coordinate< DimR, DimP > p) const
Evaluate the polar basis splines at the coordinate p.
Definition: polar_bsplines.hpp:537
Impl & operator=(Impl &&x)=default
A copy operator for the PolarBSplines taking a temporary r-value.
-
Impl(const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)
A constructor for the PolarBSplines.
Definition: polar_bsplines.hpp:234
Impl(Impl const &x)=default
A copy constructor for the PolarBSplines.
-
The tag for the first corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:210
-
The tag for the second corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:214
-
The tag for the third corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:218
-
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:33
-
BSplinesP BSplinesP_tag
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:55
-
typename BSplinesP::tag_type DimP
The tag for the poloidal direction of the bsplines.
Definition: polar_bsplines.hpp:62
-
static tensor_product_discrete_element_type get_2d_index(discrete_element_type const &idx)
Get the 2D index of the tensor product bspline which, when evaluated at the same point,...
Definition: polar_bsplines.hpp:173
-
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:141
-
typename BSplinesR::tag_type DimR
The tag for the radial direction of the bsplines.
Definition: polar_bsplines.hpp:59
-
static constexpr std::size_t n_singular_basis()
Get the number of singular bsplines i.e.
Definition: polar_bsplines.hpp:128
-
ddc::DiscreteElement< BSplinesR, BSplinesP > tensor_product_discrete_element_type
The type of a 2D index for the subset of the polar bsplines which can be expressed as a tensor produc...
Definition: polar_bsplines.hpp:91
-
static discrete_element_type get_polar_index(tensor_product_discrete_element_type const &idx)
Get the index of the polar bspline which, when evaluated at the same point, returns the same values a...
Definition: polar_bsplines.hpp:156
-
ddc::DiscreteDomain< BSplinesR, BSplinesP > tensor_product_discrete_domain_type
The type of the 2D domain for the subset of the polar bsplines which can be expressed as a tensor pro...
Definition: polar_bsplines.hpp:97
-
ddc::DiscreteElement< PolarBSplines > discrete_element_type
The type of an index associated with a PolarBSpline.
Definition: polar_bsplines.hpp:79
-
ddc::DiscreteVector< BSplinesR, BSplinesP > tensor_product_discrete_vector_type
The type of a 2D vector for the subset of the polar bsplines which can be expressed as a tensor produ...
Definition: polar_bsplines.hpp:103
-
ddc::DiscreteDomain< PolarBSplines > discrete_domain_type
The type of a domain of PolarBSplines.
Definition: polar_bsplines.hpp:82
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
BSplinesR BSplinesR_tag
The radial bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:52
-
ddc::DiscreteVector< PolarBSplines > discrete_vector_type
The type of a vector associated with a PolarBSpline.
Definition: polar_bsplines.hpp:85
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
A structure containing the two ChunkSpans necessary to define a reference to a spline on a set of pol...
Definition: polar_spline.hpp:81
+
The tag for the first corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:205
+
The tag for the second corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:209
+
The tag for the third corner of the Barycentric coordinates.
Definition: polar_bsplines.hpp:213
+
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:28
+
BSplinesP BSplinesP_tag
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:50
+
typename BSplinesP::tag_type DimP
The tag for the poloidal direction of the bsplines.
Definition: polar_bsplines.hpp:57
+
static tensor_product_discrete_element_type get_2d_index(discrete_element_type const &idx)
Get the 2D index of the tensor product bspline which, when evaluated at the same point,...
Definition: polar_bsplines.hpp:168
+
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:136
+
typename BSplinesR::tag_type DimR
The tag for the radial direction of the bsplines.
Definition: polar_bsplines.hpp:54
+
static constexpr std::size_t n_singular_basis()
Get the number of singular bsplines i.e.
Definition: polar_bsplines.hpp:123
+
ddc::DiscreteElement< BSplinesR, BSplinesP > tensor_product_discrete_element_type
The type of a 2D index for the subset of the polar bsplines which can be expressed as a tensor produc...
Definition: polar_bsplines.hpp:86
+
static discrete_element_type get_polar_index(tensor_product_discrete_element_type const &idx)
Get the index of the polar bspline which, when evaluated at the same point, returns the same values a...
Definition: polar_bsplines.hpp:151
+
ddc::DiscreteDomain< BSplinesR, BSplinesP > tensor_product_discrete_domain_type
The type of the 2D domain for the subset of the polar bsplines which can be expressed as a tensor pro...
Definition: polar_bsplines.hpp:92
+
ddc::DiscreteElement< PolarBSplines > discrete_element_type
The type of an index associated with a PolarBSpline.
Definition: polar_bsplines.hpp:74
+
ddc::DiscreteVector< BSplinesR, BSplinesP > tensor_product_discrete_vector_type
The type of a 2D vector for the subset of the polar bsplines which can be expressed as a tensor produ...
Definition: polar_bsplines.hpp:98
+
ddc::DiscreteDomain< PolarBSplines > discrete_domain_type
The type of a domain of PolarBSplines.
Definition: polar_bsplines.hpp:77
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
BSplinesR BSplinesR_tag
The radial bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:47
+
ddc::DiscreteVector< PolarBSplines > discrete_vector_type
The type of a vector associated with a PolarBSpline.
Definition: polar_bsplines.hpp:80
+
A structure containing the two ChunkSpans necessary to define a reference to a spline on a set of pol...
Definition: polar_spline.hpp:107
diff --git a/polar__poisson_2test__cases_8hpp_source.html b/polar__poisson_2test__cases_8hpp_source.html index 65d528abc..b6a773eee 100644 --- a/polar__poisson_2test__cases_8hpp_source.html +++ b/polar__poisson_2test__cases_8hpp_source.html @@ -258,10 +258,10 @@
virtual double operator()(ddc::Coordinate< RDimR, RDimP > const &coord) const =0
Get the value of the function at a given coordinate.
CurvilinearToCartesian const & m_coordinate_converter
The mapping function which converts the logical (polar) coordinates into the physical (Cartesian) coo...
Definition: test_cases.hpp:40
PoissonSolution(CurvilinearToCartesian const &coordinate_converter)
Instantiate a PoissonSolution.
Definition: test_cases.hpp:52
-
Define periodic real Theta dimension.
Definition: geometry.hpp:46
-
Define non periodic real R dimension.
Definition: geometry.hpp:35
-
Define non periodic real X dimension.
Definition: geometry.hpp:435
-
Define non periodic real Y dimension.
Definition: geometry.hpp:648
+
Define periodic real Theta dimension.
Definition: geometry.hpp:39
+
Define non periodic real R dimension.
Definition: geometry.hpp:28
+
Define non periodic real X dimension.
Definition: geometry.hpp:514
+
Define non periodic real Y dimension.
Definition: geometry.hpp:725
diff --git a/polar__spline_8hpp_source.html b/polar__spline_8hpp_source.html index 2f8efb0da..5e7d13875 100644 --- a/polar__spline_8hpp_source.html +++ b/polar__spline_8hpp_source.html @@ -107,94 +107,142 @@
2 
3 #include <ddc/ddc.hpp>
4 
-
11 template <class PolarBSplinesType>
- -
13 {
-
14 public:
-
16  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
-
18  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
-
19 
+
5 template <class PolarBSplinesType>
+
6 struct PolarSplineSpan;
+
7 
+
8 template <class PolarBSplinesType>
+
9 struct PolarSplineView;
+
10 
+
17 template <class PolarBSplinesType>
+ +
19 {
20 public:
-
25  ddc::Chunk<double, ddc::DiscreteDomain<BSplineR, BSplineP>> spline_coef;
-
26 
-
31  ddc::Chunk<double, ddc::DiscreteDomain<PolarBSplinesType>> singular_spline_coef;
+
22  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
+
24  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
+
25 
+
26 public:
+
31  ddc::Chunk<double, ddc::DiscreteDomain<BSplineR, BSplineP>> spline_coef;
32 
-
33 public:
-
43  PolarSpline<PolarBSplinesType>(ddc::DiscreteDomain<BSplineR, BSplineP> domain)
-
44  : spline_coef(ddc::DiscreteDomain<BSplineR, BSplineP>(
-
45  ddc::select<BSplineR>(domain).remove_first(
-
46  ddc::DiscreteVector<BSplineR>(PolarBSplinesType::continuity + 1)),
-
47  ddc::select<BSplineP>(domain)))
-
48  , singular_spline_coef(ddc::DiscreteDomain<PolarBSplinesType>(
-
49  ddc::DiscreteElement<PolarBSplinesType>(0),
-
50  ddc::DiscreteVector<PolarBSplinesType>(PolarBSplinesType::n_singular_basis())))
-
51  {
-
52  }
-
53 
- -
64  ddc::DiscreteDomain<PolarBSplinesType> singular_domain,
-
65  ddc::DiscreteDomain<BSplineR, BSplineP> domain)
-
66  : spline_coef(domain)
-
67  , singular_spline_coef(singular_domain.take_first(
-
68  ddc::DiscreteVector<PolarBSplinesType>(PolarBSplinesType::n_singular_basis())))
-
69  {
-
70  }
-
71 };
-
72 
-
79 template <class PolarBSplinesType>
- -
81 {
-
82 public:
-
84  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
-
86  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
+
37  ddc::Chunk<double, ddc::DiscreteDomain<PolarBSplinesType>> singular_spline_coef;
+
38 
+
39 public:
+
49  PolarSpline<PolarBSplinesType>(ddc::DiscreteDomain<BSplineR, BSplineP> domain)
+
50  : spline_coef(ddc::DiscreteDomain<BSplineR, BSplineP>(
+
51  ddc::select<BSplineR>(domain).remove_first(
+
52  ddc::DiscreteVector<BSplineR>(PolarBSplinesType::continuity + 1)),
+
53  ddc::select<BSplineP>(domain)))
+
54  , singular_spline_coef(ddc::DiscreteDomain<PolarBSplinesType>(
+
55  ddc::DiscreteElement<PolarBSplinesType>(0),
+
56  ddc::DiscreteVector<PolarBSplinesType>(PolarBSplinesType::n_singular_basis())))
+
57  {
+
58  }
+
59 
+ +
70  ddc::DiscreteDomain<PolarBSplinesType> singular_domain,
+
71  ddc::DiscreteDomain<BSplineR, BSplineP> domain)
+
72  : spline_coef(domain)
+
73  , singular_spline_coef(singular_domain.take_first(
+
74  ddc::DiscreteVector<PolarBSplinesType>(PolarBSplinesType::n_singular_basis())))
+
75  {
+
76  }
+
77 
+ +
84  {
+ +
86  }
87 
-
88 public:
-
93  ddc::ChunkSpan<double, ddc::DiscreteDomain<BSplineR, BSplineP>> spline_coef;
-
94 
-
99  ddc::ChunkSpan<double, ddc::DiscreteDomain<PolarBSplinesType>> singular_spline_coef;
-
100 
-
101 public:
- -
108  : spline_coef(spl.spline_coef.span_view())
-
109  , singular_spline_coef(spl.singular_spline_coef.span_view())
-
110  {
-
111  }
-
112 };
+ +
94  {
+ +
96  }
+
97 };
+
98 
+
105 template <class PolarBSplinesType>
+ +
107 {
+
108 public:
+
110  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
+
112  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
113 
-
120 template <class PolarBSplinesType>
- -
122 {
-
123 public:
-
125  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
-
127  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
-
128 
-
129 public:
-
134  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplineR, BSplineP>> const spline_coef;
-
135 
-
140  ddc::ChunkSpan<double const, ddc::DiscreteDomain<PolarBSplinesType>> const singular_spline_coef;
-
141 
-
142 public:
- -
149  : spline_coef(spl.spline_coef.span_cview())
-
150  , singular_spline_coef(spl.singular_spline_coef.span_cview())
-
151  {
-
152  }
-
153 };
-
A structure containing the two ChunkSpans necessary to define a reference to a spline on a set of pol...
Definition: polar_spline.hpp:81
-
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:86
-
ddc::ChunkSpan< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A ChunkSpan containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:99
-
ddc::ChunkSpan< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A ChunkSpan containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:93
-
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:84
-
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:122
-
ddc::ChunkSpan< double const, ddc::DiscreteDomain< PolarBSplinesType > > const singular_spline_coef
A ChunkView containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:140
-
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:125
-
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:127
-
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplineR, BSplineP > > const spline_coef
A ChunkView containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:134
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
-
ddc::Chunk< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A Chunk containing the coefficients in front of the b-spline elements which can be expressed as a ten...
Definition: polar_spline.hpp:25
-
ddc::Chunk< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A Chunk containing the coefficients in front of the b-spline elements near the singular point which c...
Definition: polar_spline.hpp:31
-
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:16
-
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:18
+
114 public:
+
119  ddc::ChunkSpan<double, ddc::DiscreteDomain<BSplineR, BSplineP>> spline_coef;
+
120 
+
125  ddc::ChunkSpan<double, ddc::DiscreteDomain<PolarBSplinesType>> singular_spline_coef;
+
126 
+
127 public:
+ + + +
136  {
+
137  }
+
138 
+ +
145  {
+
146  return *this;
+
147  }
+
148 
+ +
155  {
+ +
157  }
+
158 };
+
159 
+
166 template <class PolarBSplinesType>
+ +
168 {
+
169 public:
+
171  using BSplineR = typename PolarBSplinesType::BSplinesR_tag;
+
173  using BSplineP = typename PolarBSplinesType::BSplinesP_tag;
+
174 
+
175 public:
+
180  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplineR, BSplineP>> const spline_coef;
+
181 
+
186  ddc::ChunkSpan<double const, ddc::DiscreteDomain<PolarBSplinesType>> const singular_spline_coef;
+
187 
+
188 public:
+ + + +
197  {
+
198  }
+
199 
+ + + +
208  {
+
209  }
+
210 
+ +
217  {
+
218  return *this;
+
219  }
+
220 
+ +
227  {
+
228  return *this;
+
229  }
+
230 };
+
A structure containing the two ChunkSpans necessary to define a reference to a spline on a set of pol...
Definition: polar_spline.hpp:107
+
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:112
+
PolarSplineSpan< PolarBSplinesType > span_view()
Get a modifiable reference to the polar spline referenced by this polar spline view.
Definition: polar_spline.hpp:144
+
ddc::ChunkSpan< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A ChunkSpan containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:125
+
PolarSplineView< PolarBSplinesType > span_cview()
Get a constant reference to the polar spline referenced by this polar spline view.
Definition: polar_spline.hpp:154
+
ddc::ChunkSpan< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A ChunkSpan containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:119
+
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:110
+
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:168
+
ddc::ChunkSpan< double const, ddc::DiscreteDomain< PolarBSplinesType > > const singular_spline_coef
A ChunkView containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:186
+
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:171
+
PolarSplineView< PolarBSplinesType > span_cview()
Get a constant reference to the polar spline referenced by this polar spline view.
Definition: polar_spline.hpp:226
+
PolarSplineSpan< PolarBSplinesType > span_view()
Get a reference to the polar spline referenced by this polar spline view.
Definition: polar_spline.hpp:216
+
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:173
+
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplineR, BSplineP > > const spline_coef
A ChunkView containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:180
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
+
ddc::Chunk< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A Chunk containing the coefficients in front of the b-spline elements which can be expressed as a ten...
Definition: polar_spline.hpp:31
+
PolarSplineView< PolarBSplinesType > span_cview()
Get a constant reference to this polar spline view.
Definition: polar_spline.hpp:93
+
PolarSplineSpan< PolarBSplinesType > span_view()
Get a modifiable reference to this polar spline.
Definition: polar_spline.hpp:83
+
ddc::Chunk< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A Chunk containing the coefficients in front of the b-spline elements near the singular point which c...
Definition: polar_spline.hpp:37
+
typename PolarBSplinesType::BSplinesR_tag BSplineR
The radial bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:22
+
typename PolarBSplinesType::BSplinesP_tag BSplineP
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_spline.hpp:24
diff --git a/polar__spline__evaluator_8hpp_source.html b/polar__spline__evaluator_8hpp_source.html index 44ebb98fd..3445a5425 100644 --- a/polar__spline__evaluator_8hpp_source.html +++ b/polar__spline__evaluator_8hpp_source.html @@ -106,262 +106,256 @@
1 #pragma once
2 
3 #include <sll/polar_spline.hpp>
-
4 
-
10 template <class PolarBSplinesType>
- -
12 {
-
13 private:
-
14  // Tags to determine what to evaluate
-
18  struct eval_type
-
19  {
-
20  };
-
21 
-
26  struct eval_deriv_r_type
-
27  {
-
28  };
-
29 
-
34  struct eval_deriv_p_type
-
35  {
-
36  };
-
37 
-
41  struct eval_deriv_r_p_type
-
42  {
-
43  };
-
44 
-
45 public:
-
49  using bsplines_type = PolarBSplinesType;
-
53  using BSplinesR = typename PolarBSplinesType::BSplinesR_tag;
-
57  using BSplinesP = typename PolarBSplinesType::BSplinesP_tag;
-
61  using DimR = typename BSplinesR::tag_type;
-
65  using DimP = typename BSplinesP::tag_type;
-
66 
-
67 public:
-
72  static int constexpr continuity = PolarBSplinesType::continuity;
-
73 
-
74 private:
- -
76 
-
77 public:
-
78  PolarSplineEvaluator() = delete;
-
79 
- -
92  : m_outer_bc(outer_bc)
-
93  {
-
94  }
-
95 
- -
103 
- +
4 #include <sll/view.hpp>
+
5 
+
11 template <class PolarBSplinesType, class OuterExtrapolationRule>
+ +
13 {
+
14 private:
+
15  // Tags to determine what to evaluate
+
19  struct eval_type
+
20  {
+
21  };
+
22 
+
27  struct eval_deriv_r_type
+
28  {
+
29  };
+
30 
+
35  struct eval_deriv_p_type
+
36  {
+
37  };
+
38 
+
42  struct eval_deriv_r_p_type
+
43  {
+
44  };
+
45 
+
46 public:
+
50  using bsplines_type = PolarBSplinesType;
+
54  using BSplinesR = typename PolarBSplinesType::BSplinesR_tag;
+
58  using BSplinesP = typename PolarBSplinesType::BSplinesP_tag;
+
62  using DimR = typename BSplinesR::tag_type;
+
66  using DimP = typename BSplinesP::tag_type;
+
67 
+
68 public:
+
73  static int constexpr continuity = PolarBSplinesType::continuity;
+
74 
+
75 private:
+
76  OuterExtrapolationRule m_outer_bc;
+
77 
+
78 public:
+
79  PolarSplineEvaluator() = delete;
+
80 
+
92  explicit PolarSplineEvaluator(OuterExtrapolationRule const& outer_bc) : m_outer_bc(outer_bc) {}
+
93 
+ +
101 
+ +
109 
+
110  ~PolarSplineEvaluator() = default;
111 
-
112  ~PolarSplineEvaluator() = default;
-
113 
- -
123 
- -
133 
-
144  double operator()(
-
145  ddc::Coordinate<DimR, DimP> coord_eval,
-
146  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
147  {
-
148  return eval(coord_eval, spline_coef);
-
149  }
-
150 
-
161  template <class Domain>
- -
163  ddc::ChunkSpan<double, Domain> const spline_eval,
-
164  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
-
165  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
166  {
-
167  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
168  spline_eval(i) = eval(coords_eval(i), spline_coef);
-
169  });
-
170  }
-
171 
-
184  double deriv_dim_1(
-
185  ddc::Coordinate<DimR, DimP> coord_eval,
-
186  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
187  {
-
188  return eval_no_bc(coord_eval, spline_coef, eval_deriv_r_type());
-
189  }
-
190 
-
203  double deriv_dim_2(
-
204  ddc::Coordinate<DimR, DimP> coord_eval,
-
205  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
206  {
-
207  return eval_no_bc(coord_eval, spline_coef, eval_deriv_p_type());
-
208  }
-
209 
-
210 
- -
223  ddc::Coordinate<DimR, DimP> coord_eval,
-
224  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
225  {
-
226  return eval_no_bc(coord_eval, spline_coef, eval_deriv_r_p_type());
-
227  }
-
228 
-
240  template <class Domain>
- -
242  ddc::ChunkSpan<double, Domain> const spline_eval,
-
243  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
-
244  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
245  {
-
246  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
247  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_r_type());
-
248  });
-
249  }
-
250 
-
262  template <class Domain>
- -
264  ddc::ChunkSpan<double, Domain> const spline_eval,
-
265  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
-
266  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
267  {
-
268  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
269  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_p_type());
-
270  });
-
271  }
-
272 
-
283  template <class Domain>
- -
285  ddc::ChunkSpan<double, Domain> const spline_eval,
-
286  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
-
287  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
288  {
-
289  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
290  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_r_p_type());
-
291  });
-
292  }
-
293 
-
304  template <class Mapping>
-
305  double integrate(PolarSplineView<PolarBSplinesType> const spline_coef, Mapping const mapping)
-
306  const
-
307  {
-
308  int constexpr nr = ddc::discrete_space<BSplinesR>().ncells() + BSplinesR::degree() - 2;
-
309  int constexpr np = ddc::discrete_space<BSplinesP>().ncells() + BSplinesP::degree();
-
310  std::array<double, PolarBSplinesType::eval_size()> singular_values;
-
311  DSpan1D singular_vals(singular_values.data(), PolarBSplinesType::n_singular_basis());
-
312  std::array<double, nr * np> values;
-
313  DSpan2D vals(values.data(), nr, np);
+ +
121 
+ +
131 
+
142  double operator()(
+
143  ddc::Coordinate<DimR, DimP> coord_eval,
+
144  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
145  {
+
146  return eval(coord_eval, spline_coef);
+
147  }
+
148 
+
159  template <class Domain>
+ +
161  ddc::ChunkSpan<double, Domain> const spline_eval,
+
162  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
+
163  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
164  {
+
165  ddc::for_each(coords_eval.domain(), [=](auto i) {
+
166  spline_eval(i) = eval(coords_eval(i), spline_coef);
+
167  });
+
168  }
+
169 
+
182  double deriv_dim_1(
+
183  ddc::Coordinate<DimR, DimP> coord_eval,
+
184  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
185  {
+
186  return eval_no_bc(coord_eval, spline_coef, eval_deriv_r_type());
+
187  }
+
188 
+
201  double deriv_dim_2(
+
202  ddc::Coordinate<DimR, DimP> coord_eval,
+
203  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
204  {
+
205  return eval_no_bc(coord_eval, spline_coef, eval_deriv_p_type());
+
206  }
+
207 
+
208 
+ +
221  ddc::Coordinate<DimR, DimP> coord_eval,
+
222  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
223  {
+
224  return eval_no_bc(coord_eval, spline_coef, eval_deriv_r_p_type());
+
225  }
+
226 
+
238  template <class Domain>
+ +
240  ddc::ChunkSpan<double, Domain> const spline_eval,
+
241  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
+
242  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
243  {
+
244  ddc::for_each(coords_eval.domain(), [=](auto i) {
+
245  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_r_type());
+
246  });
+
247  }
+
248 
+
260  template <class Domain>
+ +
262  ddc::ChunkSpan<double, Domain> const spline_eval,
+
263  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
+
264  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
265  {
+
266  ddc::for_each(coords_eval.domain(), [=](auto i) {
+
267  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_p_type());
+
268  });
+
269  }
+
270 
+
281  template <class Domain>
+ +
283  ddc::ChunkSpan<double, Domain> const spline_eval,
+
284  ddc::ChunkSpan<ddc::Coordinate<DimR, DimP> const, Domain> const coords_eval,
+
285  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
286  {
+
287  ddc::for_each(coords_eval.domain(), [=](auto i) {
+
288  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, eval_deriv_r_p_type());
+
289  });
+
290  }
+
291 
+
302  template <class Mapping>
+
303  double integrate(PolarSplineView<PolarBSplinesType> const spline_coef, Mapping const mapping)
+
304  const
+
305  {
+
306  int constexpr nr = ddc::discrete_space<BSplinesR>().ncells() + BSplinesR::degree() - 2;
+
307  int constexpr np = ddc::discrete_space<BSplinesP>().ncells() + BSplinesP::degree();
+
308  std::array<double, PolarBSplinesType::eval_size()> singular_values;
+
309  DSpan1D singular_vals(singular_values.data(), PolarBSplinesType::n_singular_basis());
+
310  std::array<double, nr * np> values;
+
311  DSpan2D vals(values.data(), nr, np);
+
312 
+
313  ddc::discrete_space<PolarBSplinesType>().integrals(singular_vals, vals);
314 
-
315  ddc::discrete_space<PolarBSplinesType>().integrals(singular_vals, vals);
-
316 
-
317  double y = 0.;
-
318  ddc::for_each(
-
319  spline_coef.singular_spline_coef.domain(),
-
320  [=](ddc::DiscreteElement<PolarBSplinesType> const i) {
-
321  y += spline_coef.singular_spline_coef(i) * singular_vals(i)
-
322  * mapping.determinant(i);
-
323  });
-
324  ddc::for_each(
-
325  spline_coef.spline_coef.domain(),
-
326  [=](ddc::DiscreteElement<BSplinesR, BSplinesP> const i) {
-
327  y += spline_coef.spline_coef(i)
-
328  * vals(ddc::select<BSplinesR>(i), ddc::select<BSplinesP>(i))
-
329  * mapping.determinant(i);
-
330  });
-
331  return y;
-
332  }
-
333 
-
334 private:
-
335  double eval(
-
336  ddc::Coordinate<DimR, DimP> coord_eval,
-
337  PolarSplineView<PolarBSplinesType> const spline_coef) const
-
338  {
-
339  const double coord_eval1 = ddc::get<DimR>(coord_eval);
-
340  double coord_eval2 = ddc::get<DimP>(coord_eval);
-
341  if (coord_eval1 > ddc::discrete_space<BSplinesR>().rmax()) {
-
342  return m_outer_bc(coord_eval1, coord_eval2, spline_coef);
-
343  }
-
344  if (coord_eval2 < ddc::discrete_space<BSplinesP>().rmin()
-
345  || coord_eval2 > ddc::discrete_space<BSplinesP>().rmax()) {
-
346  coord_eval2 -= std::floor(
-
347  (coord_eval2 - ddc::discrete_space<BSplinesP>().rmin())
-
348  / ddc::discrete_space<BSplinesP>().length())
-
349  * ddc::discrete_space<BSplinesP>().length();
-
350  }
-
351  return eval_no_bc(
-
352  ddc::Coordinate<DimR, DimP>(coord_eval1, coord_eval2),
-
353  spline_coef,
-
354  eval_type());
-
355  }
-
356 
-
357  template <class EvalType>
-
358  double eval_no_bc(
-
359  ddc::Coordinate<DimR, DimP> coord_eval,
-
360  PolarSplineView<PolarBSplinesType> const spline_coef,
-
361  EvalType const) const
-
362  {
-
363  static_assert(
-
364  std::is_same_v<
-
365  EvalType,
-
366  eval_type> || std::is_same_v<EvalType, eval_deriv_r_type> || std::is_same_v<EvalType, eval_deriv_p_type> || std::is_same_v<EvalType, eval_deriv_r_p_type>);
+
315  double y = 0.;
+
316  ddc::for_each(
+
317  spline_coef.singular_spline_coef.domain(),
+
318  [=](ddc::DiscreteElement<PolarBSplinesType> const i) {
+
319  y += spline_coef.singular_spline_coef(i) * singular_vals(i)
+
320  * mapping.determinant(i);
+
321  });
+
322  ddc::for_each(
+
323  spline_coef.spline_coef.domain(),
+
324  [=](ddc::DiscreteElement<BSplinesR, BSplinesP> const i) {
+
325  y += spline_coef.spline_coef(i)
+
326  * vals(ddc::select<BSplinesR>(i), ddc::select<BSplinesP>(i))
+
327  * mapping.determinant(i);
+
328  });
+
329  return y;
+
330  }
+
331 
+
332 private:
+
333  double eval(
+
334  ddc::Coordinate<DimR, DimP> coord_eval,
+
335  PolarSplineView<PolarBSplinesType> const spline_coef) const
+
336  {
+
337  const double coord_eval1 = ddc::get<DimR>(coord_eval);
+
338  double coord_eval2 = ddc::get<DimP>(coord_eval);
+
339  if (coord_eval1 > ddc::discrete_space<BSplinesR>().rmax()) {
+
340  return m_outer_bc(coord_eval, spline_coef);
+
341  }
+
342  if (coord_eval2 < ddc::discrete_space<BSplinesP>().rmin()
+
343  || coord_eval2 > ddc::discrete_space<BSplinesP>().rmax()) {
+
344  coord_eval2 -= std::floor(
+
345  (coord_eval2 - ddc::discrete_space<BSplinesP>().rmin())
+
346  / ddc::discrete_space<BSplinesP>().length())
+
347  * ddc::discrete_space<BSplinesP>().length();
+
348  }
+
349  return eval_no_bc(coord_eval, spline_coef, eval_type());
+
350  }
+
351 
+
352  template <class EvalType>
+
353  double eval_no_bc(
+
354  ddc::Coordinate<DimR, DimP> coord_eval,
+
355  PolarSplineView<PolarBSplinesType> const spline_coef,
+
356  EvalType const) const
+
357  {
+
358  static_assert(
+
359  std::is_same_v<
+
360  EvalType,
+
361  eval_type> || std::is_same_v<EvalType, eval_deriv_r_type> || std::is_same_v<EvalType, eval_deriv_p_type> || std::is_same_v<EvalType, eval_deriv_r_p_type>);
+
362 
+
363  std::array<double, PolarBSplinesType::n_singular_basis()> singular_data;
+
364  DSpan1D singular_vals(singular_data.data(), PolarBSplinesType::n_singular_basis());
+
365  std::array<double, (BSplinesR::degree() + 1) * (BSplinesP::degree() + 1)> data;
+
366  DSpan2D vals(data.data(), BSplinesR::degree() + 1, BSplinesP::degree() + 1);
367 
-
368  std::array<double, PolarBSplinesType::n_singular_basis()> singular_data;
-
369  DSpan1D singular_vals(singular_data.data(), PolarBSplinesType::n_singular_basis());
-
370  std::array<double, (BSplinesR::degree() + 1) * (BSplinesP::degree() + 1)> data;
-
371  DSpan2D vals(data.data(), BSplinesR::degree() + 1, BSplinesP::degree() + 1);
-
372 
-
373  ddc::DiscreteElement<BSplinesR, BSplinesP> jmin;
-
374 
-
375  if constexpr (std::is_same_v<EvalType, eval_type>) {
-
376  jmin = ddc::discrete_space<PolarBSplinesType>()
-
377  .eval_basis(singular_vals, vals, coord_eval);
-
378  } else if constexpr (std::is_same_v<EvalType, eval_deriv_r_type>) {
-
379  jmin = ddc::discrete_space<PolarBSplinesType>()
-
380  .eval_deriv_r(singular_vals, vals, coord_eval);
-
381  } else if constexpr (std::is_same_v<EvalType, eval_deriv_p_type>) {
-
382  jmin = ddc::discrete_space<PolarBSplinesType>()
-
383  .eval_deriv_p(singular_vals, vals, coord_eval);
-
384  } else if constexpr (std::is_same_v<EvalType, eval_deriv_r_p_type>) {
-
385  jmin = ddc::discrete_space<PolarBSplinesType>()
-
386  .eval_deriv_r_and_p(singular_vals, vals, coord_eval);
-
387  }
-
388 
-
389  double y = 0.0;
-
390  for (std::size_t i = 0; i < PolarBSplinesType::n_singular_basis(); ++i) {
-
391  y += spline_coef.singular_spline_coef(ddc::DiscreteElement<PolarBSplinesType>(i))
-
392  * singular_vals(i);
-
393  }
-
394  ddc::DiscreteElement<BSplinesR> jmin_r = ddc::select<BSplinesR>(jmin);
-
395  ddc::DiscreteElement<BSplinesP> jmin_p = ddc::select<BSplinesP>(jmin);
-
396  int nr = BSplinesR::degree() + 1;
-
397  if (jmin_r.uid() < continuity + 1) {
-
398  nr = nr - (continuity + 1 - jmin_r.uid());
-
399  jmin_r = ddc::DiscreteElement<BSplinesR>(continuity + 1);
+
368  ddc::DiscreteElement<BSplinesR, BSplinesP> jmin;
+
369 
+
370  if constexpr (std::is_same_v<EvalType, eval_type>) {
+
371  jmin = ddc::discrete_space<PolarBSplinesType>()
+
372  .eval_basis(singular_vals, vals, coord_eval);
+
373  } else if constexpr (std::is_same_v<EvalType, eval_deriv_r_type>) {
+
374  jmin = ddc::discrete_space<PolarBSplinesType>()
+
375  .eval_deriv_r(singular_vals, vals, coord_eval);
+
376  } else if constexpr (std::is_same_v<EvalType, eval_deriv_p_type>) {
+
377  jmin = ddc::discrete_space<PolarBSplinesType>()
+
378  .eval_deriv_p(singular_vals, vals, coord_eval);
+
379  } else if constexpr (std::is_same_v<EvalType, eval_deriv_r_p_type>) {
+
380  jmin = ddc::discrete_space<PolarBSplinesType>()
+
381  .eval_deriv_r_and_p(singular_vals, vals, coord_eval);
+
382  }
+
383 
+
384  double y = 0.0;
+
385  for (std::size_t i = 0; i < PolarBSplinesType::n_singular_basis(); ++i) {
+
386  y += spline_coef.singular_spline_coef(ddc::DiscreteElement<PolarBSplinesType>(i))
+
387  * singular_vals(i);
+
388  }
+
389  ddc::DiscreteElement<BSplinesR> jmin_r = ddc::select<BSplinesR>(jmin);
+
390  ddc::DiscreteElement<BSplinesP> jmin_p = ddc::select<BSplinesP>(jmin);
+
391  int nr = BSplinesR::degree() + 1;
+
392  if (jmin_r.uid() < continuity + 1) {
+
393  nr = nr - (continuity + 1 - jmin_r.uid());
+
394  jmin_r = ddc::DiscreteElement<BSplinesR>(continuity + 1);
+
395  }
+
396  for (int i = 0; i < nr; ++i) {
+
397  for (std::size_t j = 0; j < BSplinesP::degree() + 1; ++j) {
+
398  y += spline_coef.spline_coef(jmin_r + i, jmin_p + j) * vals(i, j);
+
399  }
400  }
-
401  for (int i = 0; i < nr; ++i) {
-
402  for (std::size_t j = 0; j < BSplinesP::degree() + 1; ++j) {
-
403  y += spline_coef.spline_coef(jmin_r + i, jmin_p + j) * vals(i, j);
-
404  }
-
405  }
-
406  return y;
-
407  }
-
408 };
- -
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
void deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the derivative of the spline function on the first dimension.
Definition: polar_spline_evaluator.hpp:241
-
PolarSplineEvaluator(PolarSplineEvaluator &&x)=default
Instantiate a PolarSplineEvaluator from another temporary.
-
PolarSplineEvaluator(PolarSplineEvaluator const &x)=default
Instantiate a PolarSplineEvaluator from another.
-
typename BSplinesR::tag_type DimR
Tag the first dimension of the space.
Definition: polar_spline_evaluator.hpp:61
-
static constexpr int continuity
Tag the order of continuity of the B-splines basis at the O-point.
Definition: polar_spline_evaluator.hpp:72
-
typename PolarBSplinesType::BSplinesP_tag BSplinesP
Tag the type of second dimension B-splines.
Definition: polar_spline_evaluator.hpp:57
-
PolarBSplinesType bsplines_type
Tag the type of B-splines.
Definition: polar_spline_evaluator.hpp:49
-
double deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the derivative of the spline function on the second dimension.
Definition: polar_spline_evaluator.hpp:203
-
double operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the spline function at a given coordinate.
Definition: polar_spline_evaluator.hpp:144
-
double deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the derivative of the spline function on the first dimension.
Definition: polar_spline_evaluator.hpp:184
-
void operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the spline function on a domain.
Definition: polar_spline_evaluator.hpp:162
-
typename BSplinesP::tag_type DimP
Tag the second dimension of the space.
Definition: polar_spline_evaluator.hpp:65
-
void deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the cross derivative of the spline function.
Definition: polar_spline_evaluator.hpp:284
-
PolarSplineEvaluator & operator=(PolarSplineEvaluator const &x)=default
Assign a PolarSplineEvaluator from another.
-
void deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the derivative of the spline function on the second dimension.
Definition: polar_spline_evaluator.hpp:263
-
PolarSplineEvaluator & operator=(PolarSplineEvaluator &&x)=default
Assign a PolarSplineEvaluator from another temporary.
-
double deriv_1_and_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the cross derivative of the spline function.
Definition: polar_spline_evaluator.hpp:222
-
double integrate(PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) const
Get the in integral of a spline function over the domain.
Definition: polar_spline_evaluator.hpp:305
-
PolarSplineEvaluator(PolarSplineBoundaryValue2D< PolarBSplinesType > const &outer_bc)
Instantiate a PolarSplineEvaluator with boundary evaluation conditions.
Definition: polar_spline_evaluator.hpp:91
-
typename PolarBSplinesType::BSplinesR_tag BSplinesR
Tag the type of first dimension B-splines.
Definition: polar_spline_evaluator.hpp:53
-
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:122
-
ddc::ChunkSpan< double const, ddc::DiscreteDomain< PolarBSplinesType > > const singular_spline_coef
A ChunkView containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:140
-
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplineR, BSplineP > > const spline_coef
A ChunkView containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:134
+
401  return y;
+
402  }
+
403 };
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
+
PolarSplineEvaluator & operator=(PolarSplineEvaluator const &x)=default
Assign a PolarSplineEvaluator from another.
+
double integrate(PolarSplineView< PolarBSplinesType > const spline_coef, Mapping const mapping) const
Get the in integral of a spline function over the domain.
Definition: polar_spline_evaluator.hpp:303
+
PolarSplineEvaluator(PolarSplineEvaluator const &x)=default
Instantiate a PolarSplineEvaluator from another.
+
void deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the derivative of the spline function on the first dimension.
Definition: polar_spline_evaluator.hpp:239
+
void operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the spline function on a domain.
Definition: polar_spline_evaluator.hpp:160
+
typename PolarBSplinesType::BSplinesP_tag BSplinesP
Tag the type of second dimension B-splines.
Definition: polar_spline_evaluator.hpp:58
+
double operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the spline function at a given coordinate.
Definition: polar_spline_evaluator.hpp:142
+
PolarBSplinesType bsplines_type
Tag the type of B-splines.
Definition: polar_spline_evaluator.hpp:50
+
void deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the cross derivative of the spline function.
Definition: polar_spline_evaluator.hpp:282
+
PolarSplineEvaluator(PolarSplineEvaluator &&x)=default
Instantiate a PolarSplineEvaluator from another temporary.
+
PolarSplineEvaluator(OuterExtrapolationRule const &outer_bc)
Instantiate a PolarSplineEvaluator with boundary evaluation conditions.
Definition: polar_spline_evaluator.hpp:92
+
static constexpr int continuity
Tag the order of continuity of the B-splines basis at the O-point.
Definition: polar_spline_evaluator.hpp:73
+
PolarSplineEvaluator & operator=(PolarSplineEvaluator &&x)=default
Assign a PolarSplineEvaluator from another temporary.
+
typename BSplinesR::tag_type DimR
Tag the first dimension of the space.
Definition: polar_spline_evaluator.hpp:62
+
double deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the derivative of the spline function on the second dimension.
Definition: polar_spline_evaluator.hpp:201
+
double deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the derivative of the spline function on the first dimension.
Definition: polar_spline_evaluator.hpp:182
+
double deriv_1_and_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the value of the cross derivative of the spline function.
Definition: polar_spline_evaluator.hpp:220
+
typename BSplinesP::tag_type DimP
Tag the second dimension of the space.
Definition: polar_spline_evaluator.hpp:66
+
void deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const
Get the values of the derivative of the spline function on the second dimension.
Definition: polar_spline_evaluator.hpp:261
+
typename PolarBSplinesType::BSplinesR_tag BSplinesR
Tag the type of first dimension B-splines.
Definition: polar_spline_evaluator.hpp:54
+
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:168
+
ddc::ChunkSpan< double const, ddc::DiscreteDomain< PolarBSplinesType > > const singular_spline_coef
A ChunkView containing the coefficients in front of the b-spline elements near the singular point whi...
Definition: polar_spline.hpp:186
+
ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplineR, BSplineP > > const spline_coef
A ChunkView containing the coefficients in front of the b-spline elements which can be expressed as a...
Definition: polar_spline.hpp:180
diff --git a/polarpoissonsolver_8hpp_source.html b/polarpoissonsolver_8hpp_source.html index ab2154d8a..492b13e6f 100644 --- a/polarpoissonsolver_8hpp_source.html +++ b/polarpoissonsolver_8hpp_source.html @@ -111,662 +111,662 @@
6 
7 #include <sll/gauss_legendre_integration.hpp>
8 #include <sll/math_tools.hpp>
-
9 #include <sll/null_boundary_value.hpp>
-
10 #include <sll/polar_spline.hpp>
-
11 #include <sll/polar_spline_evaluator.hpp>
-
12 
-
13 #include <Eigen/Sparse>
-
14 
-
15 #include "geometry.hpp"
-
16 
- -
37 {
-
38 public:
-
39  struct RBasisSubset
-
40  {
-
41  };
-
42  struct PBasisSubset
-
43  {
-
44  };
-
45  struct RCellDim
-
46  {
-
47  };
-
48  struct PCellDim
-
49  {
-
50  };
-
51 
-
58  template <class T>
- -
60  {
-
61  using tag = T;
-
62  };
-
63 
-
64 private:
- - -
76  using QDimRMesh = ddc::NonUniformPointSampling<QDimR>;
-
80  using QDimPMesh = ddc::NonUniformPointSampling<QDimP>;
-
84  using QuadratureDomainR = ddc::DiscreteDomain<QDimRMesh>;
-
88  using QuadratureDomainP = ddc::DiscreteDomain<QDimPMesh>;
-
92  using QuadratureDomainRP = ddc::DiscreteDomain<QDimRMesh, QDimPMesh>;
-
96  using QuadratureIndexR = ddc::DiscreteElement<QDimRMesh>;
-
100  using QuadratureIndexP = ddc::DiscreteElement<QDimPMesh>;
-
104  using QuadratureIndexRP = ddc::DiscreteElement<QDimRMesh, QDimPMesh>;
-
108  using QuadratureLengthR = ddc::DiscreteVector<QDimRMesh>;
-
112  using QuadratureLengthP = ddc::DiscreteVector<QDimPMesh>;
-
113 
-
118  struct EvalDeriv1DType
-
119  {
-
120  double value;
-
121  double derivative;
-
122  };
-
127  struct EvalDeriv2DType
-
128  {
-
129  double value;
-
130  double radial_derivative;
-
131  double poloidal_derivative;
-
132  };
-
133 
-
137  using CellIndex = ddc::DiscreteElement<RCellDim, PCellDim>;
-
138 
-
142  using MatrixElement = Eigen::Triplet<double>;
-
143 
-
144 private:
-
145  static constexpr int n_gauss_legendre_r = BSplinesR::degree() + 1;
-
146  static constexpr int n_gauss_legendre_p = BSplinesP::degree() + 1;
-
147  // The number of cells (in the radial direction) in which both types of basis splines can be found
-
148  static constexpr int n_overlap_cells = PolarBSplinesRP::continuity + 1;
-
149 
-
150  // Number of cells over which a radial B-splines has its support
-
151  // This is the case for b-splines which are not affected by the higher knot multiplicity at the boundary.
-
152  static constexpr ddc::DiscreteVector<RBasisSubset> n_non_zero_bases_r
-
153  = ddc::DiscreteVector<RBasisSubset>(BSplinesR::degree() + 1);
-
154 
-
155  // Number of cells over which a poloidal B-splines has its support
-
156  static constexpr ddc::DiscreteVector<PBasisSubset> n_non_zero_bases_p
-
157  = ddc::DiscreteVector<PBasisSubset>(BSplinesP::degree() + 1);
-
158 
-
159  static constexpr ddc::DiscreteDomain<RBasisSubset> non_zero_bases_r = ddc::DiscreteDomain<
-
160  RBasisSubset>(ddc::DiscreteElement<RBasisSubset> {0}, n_non_zero_bases_r);
-
161  static constexpr ddc::DiscreteDomain<PBasisSubset> non_zero_bases_p = ddc::DiscreteDomain<
-
162  PBasisSubset>(ddc::DiscreteElement<PBasisSubset> {0}, n_non_zero_bases_p);
-
163 
-
164  const int nbasis_r;
-
165  const int nbasis_p;
-
166 
-
167  // Domains
-
168  BSDomainPolar fem_non_singular_domain;
-
169  BSDomainR radial_bsplines;
-
170  BSDomainP polar_bsplines;
-
171 
-
172  QuadratureDomainR quadrature_domain_r;
-
173  QuadratureDomainP quadrature_domain_p;
-
174  QuadratureDomainRP quadrature_domain_singular;
-
175 
-
176  // Gauss-Legendre points and weights
-
177  ddc::Chunk<ddc::Coordinate<QDimR>, QuadratureDomainR> points_r;
-
178  ddc::Chunk<ddc::Coordinate<QDimP>, QuadratureDomainP> points_p;
-
179  ddc::Chunk<double, QuadratureDomainR> weights_r;
-
180  ddc::Chunk<double, QuadratureDomainP> weights_p;
-
181 
-
182  // Basis Spline values and derivatives at Gauss-Legendre points
-
183  ddc::Chunk<EvalDeriv2DType, ddc::DiscreteDomain<PolarBSplinesRP, QDimRMesh, QDimPMesh>>
-
184  singular_basis_vals_and_derivs;
-
185  ddc::Chunk<EvalDeriv1DType, ddc::DiscreteDomain<RBasisSubset, QDimRMesh>>
-
186  r_basis_vals_and_derivs;
-
187  ddc::Chunk<EvalDeriv1DType, ddc::DiscreteDomain<PBasisSubset, QDimPMesh>>
-
188  p_basis_vals_and_derivs;
-
189 
-
190  ddc::Chunk<double, QuadratureDomainRP> int_volume;
-
191 
-
192  PolarSplineEvaluator<PolarBSplinesRP> m_polar_spline_evaluator;
-
193 
-
194  Eigen::SimplicialLDLT<Eigen::SparseMatrix<double>> m_matrix;
-
195 
-
196 public:
-
218  template <class Mapping>
- -
220  Spline2DView coeff_alpha,
-
221  Spline2DView coeff_beta,
-
222  Mapping const& mapping)
-
223  : nbasis_r(ddc::discrete_space<BSplinesR>().nbasis() - n_overlap_cells - 1)
-
224  , nbasis_p(ddc::discrete_space<BSplinesP>().nbasis())
-
225  , fem_non_singular_domain(
-
226  ddc::discrete_space<PolarBSplinesRP>().tensor_bspline_domain().remove_last(
-
227  ddc::DiscreteVector<PolarBSplinesRP> {nbasis_p}))
-
228  , radial_bsplines(ddc::discrete_space<BSplinesR>().full_domain().remove_first(
-
229  ddc::DiscreteVector<BSplinesR> {n_overlap_cells}))
-
230  , polar_bsplines(ddc::discrete_space<BSplinesP>().full_domain().take_first(
-
231  ddc::DiscreteVector<BSplinesP> {nbasis_p}))
-
232  , quadrature_domain_r(
-
233  ddc::DiscreteElement<QDimRMesh>(0),
-
234  ddc::DiscreteVector<QDimRMesh>(
-
235  n_gauss_legendre_r * ddc::discrete_space<BSplinesR>().ncells()))
-
236  , quadrature_domain_p(
-
237  ddc::DiscreteElement<QDimPMesh>(0),
-
238  ddc::DiscreteVector<QDimPMesh>(
-
239  n_gauss_legendre_p * ddc::discrete_space<BSplinesP>().ncells()))
-
240  , quadrature_domain_singular(
-
241  quadrature_domain_r.take_first(
-
242  ddc::DiscreteVector<QDimRMesh> {n_overlap_cells * n_gauss_legendre_r}),
-
243  quadrature_domain_p)
-
244  , points_r(quadrature_domain_r)
-
245  , points_p(quadrature_domain_p)
-
246  , weights_r(quadrature_domain_r)
-
247  , weights_p(quadrature_domain_p)
-
248  , singular_basis_vals_and_derivs(ddc::DiscreteDomain<PolarBSplinesRP, QDimRMesh, QDimPMesh>(
- -
250  ddc::select<QDimRMesh>(quadrature_domain_singular),
-
251  ddc::select<QDimPMesh>(quadrature_domain_singular)))
-
252  , r_basis_vals_and_derivs(ddc::DiscreteDomain<
-
253  RBasisSubset,
-
254  QDimRMesh>(non_zero_bases_r, quadrature_domain_r))
-
255  , p_basis_vals_and_derivs(ddc::DiscreteDomain<
-
256  PBasisSubset,
-
257  QDimPMesh>(non_zero_bases_p, quadrature_domain_p))
-
258  , int_volume(QuadratureDomainRP(quadrature_domain_r, quadrature_domain_p))
-
259  , m_polar_spline_evaluator(g_polar_null_boundary_2d<PolarBSplinesRP>)
-
260  {
-
261  const std::size_t ncells_r = ddc::discrete_space<BSplinesR>().ncells();
-
262  const std::size_t ncells_p = ddc::discrete_space<BSplinesP>().ncells();
-
263 
-
264  // Get break points
-
265  ddc::DiscreteDomain<RCellDim> r_edges_dom(
-
266  ddc::DiscreteElement<RCellDim>(0),
-
267  ddc::DiscreteVector<RCellDim>(ncells_r + 1));
-
268  ddc::DiscreteDomain<PCellDim> p_edges_dom(
-
269  ddc::DiscreteElement<PCellDim>(0),
-
270  ddc::DiscreteVector<PCellDim>(ncells_p + 1));
-
271  ddc::Chunk<ddc::Coordinate<QDimR>, ddc::DiscreteDomain<RCellDim>> breaks_r(r_edges_dom);
-
272  ddc::Chunk<ddc::Coordinate<QDimP>, ddc::DiscreteDomain<PCellDim>> breaks_p(p_edges_dom);
-
273 
-
274  ddc::for_each(r_edges_dom, [&](ddc::DiscreteElement<RCellDim> i) {
-
275  breaks_r(i) = ddc::Coordinate<QDimR>(
-
276  ddc::get<RDimR>(ddc::discrete_space<BSplinesR>().get_knot(i.uid())));
-
277  });
-
278  ddc::for_each(p_edges_dom, [&](ddc::DiscreteElement<PCellDim> i) {
-
279  breaks_p(i) = ddc::Coordinate<QDimP>(
-
280  ddc::get<RDimP>(ddc::discrete_space<BSplinesP>().get_knot(i.uid())));
-
281  });
-
282 
-
283  // Define quadrature points and weights
-
284  GaussLegendre<QDimR> gl_coeffs_r(n_gauss_legendre_r);
-
285  GaussLegendre<QDimP> gl_coeffs_p(n_gauss_legendre_p);
-
286  gl_coeffs_r.compute_points_and_weights_on_mesh(
-
287  points_r.span_view(),
-
288  weights_r.span_view(),
-
289  breaks_r.span_cview());
-
290  gl_coeffs_p.compute_points_and_weights_on_mesh(
-
291  points_p.span_view(),
-
292  weights_p.span_view(),
-
293  breaks_p.span_cview());
-
294 
-
295  std::vector<double> vect_points_r(points_r.size());
-
296  for (auto i : quadrature_domain_r) {
-
297  vect_points_r[i.uid()] = points_r(i);
-
298  }
-
299  std::vector<double> vect_points_p(points_p.size());
-
300  for (auto i : quadrature_domain_p) {
-
301  vect_points_p[i.uid()] = points_p(i);
-
302  }
-
303 
-
304  // Create quadrature domain
-
305  ddc::init_discrete_space<QDimRMesh>(vect_points_r);
-
306  ddc::init_discrete_space<QDimPMesh>(vect_points_p);
-
307 
-
308  // Find value and derivative of 1D bsplines in radial direction
-
309  ddc::for_each(quadrature_domain_r, [&](QuadratureIndexR const ir) {
-
310  std::array<double, 2 * n_non_zero_bases_r> data;
-
311  DSpan2D vals(data.data(), n_non_zero_bases_r, 2);
-
312  ddc::discrete_space<BSplinesR>().eval_basis_and_n_derivs(vals, get_coordinate(ir), 1);
-
313  for (auto ib : non_zero_bases_r) {
-
314  r_basis_vals_and_derivs(ib, ir).value = vals(ib.uid(), 0);
-
315  r_basis_vals_and_derivs(ib, ir).derivative = vals(ib.uid(), 1);
-
316  }
-
317  });
-
318 
-
319  // Find value and derivative of 1D bsplines in poloidal direction
-
320  ddc::for_each(quadrature_domain_p, [&](QuadratureIndexP const ip) {
-
321  std::array<double, 2 * n_non_zero_bases_p> data;
-
322  DSpan2D vals(data.data(), n_non_zero_bases_p, 2);
-
323  ddc::discrete_space<BSplinesP>().eval_basis_and_n_derivs(vals, get_coordinate(ip), 1);
-
324  for (auto ib : non_zero_bases_p) {
-
325  p_basis_vals_and_derivs(ib, ip).value = vals(ib.uid(), 0);
-
326  p_basis_vals_and_derivs(ib, ip).derivative = vals(ib.uid(), 1);
-
327  }
-
328  });
-
329 
-
330  auto singular_domain = PolarBSplinesRP::singular_domain();
-
331 
-
332  // Find value and derivative of 2D bsplines covering the singular point
-
333  ddc::for_each(quadrature_domain_singular, [&](QuadratureIndexRP const irp) {
-
334  std::array<double, PolarBSplinesRP::n_singular_basis()> singular_data;
-
335  std::array<double, n_non_zero_bases_r * n_non_zero_bases_p> data;
-
336  // Values of the polar basis splines around the singular point
-
337  // at a given coordinate
-
338  DSpan1D singular_vals(singular_data.data(), PolarBSplinesRP::n_singular_basis());
-
339  // Values of the polar basis splines, that do not cover the singular point,
-
340  // at a given coordinate
-
341  DSpan2D vals(data.data(), n_non_zero_bases_r, n_non_zero_bases_p);
-
342  QuadratureIndexR ir = ddc::select<QDimRMesh>(irp);
-
343  QuadratureIndexP ip = ddc::select<QDimPMesh>(irp);
-
344 
-
345  const CoordRP coord(get_coordinate(irp));
-
346 
-
347  // Calculate the value
-
348  ddc::discrete_space<PolarBSplinesRP>().eval_basis(singular_vals, vals, coord);
-
349  for (auto ib : singular_domain) {
-
350  singular_basis_vals_and_derivs(ib, ir, ip).value = singular_vals[ib.uid()];
-
351  }
-
352 
-
353  // Calculate the radial derivative
-
354  ddc::discrete_space<PolarBSplinesRP>().eval_deriv_r(singular_vals, vals, coord);
-
355  for (auto ib : singular_domain) {
-
356  singular_basis_vals_and_derivs(ib, ir, ip).radial_derivative
-
357  = singular_vals[ib.uid()];
-
358  }
-
359 
-
360  // Calculate the poloidal derivative
-
361  ddc::discrete_space<PolarBSplinesRP>().eval_deriv_p(singular_vals, vals, coord);
-
362  for (auto ib : singular_domain) {
-
363  singular_basis_vals_and_derivs(ib, ir, ip).poloidal_derivative
-
364  = singular_vals[ib.uid()];
-
365  }
-
366  });
-
367 
-
368  // Find the integral volume associated with each point used in the quadrature scheme
-
369  QuadratureDomainRP all_quad_points(quadrature_domain_r, quadrature_domain_p);
-
370  ddc::for_each(all_quad_points, [&](QuadratureIndexRP const irp) {
-
371  QuadratureIndexR const ir = ddc::select<QDimRMesh>(irp);
-
372  QuadratureIndexP const ip = ddc::select<QDimPMesh>(irp);
-
373  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
-
374  int_volume(ir, ip) = abs(mapping.jacobian(coord)) * weights_r(ir) * weights_p(ip);
+
9 #include <sll/polar_spline.hpp>
+
10 #include <sll/polar_spline_evaluator.hpp>
+
11 
+
12 #include <Eigen/Sparse>
+
13 
+
14 #include "geometry.hpp"
+
15 
+ +
36 {
+
37 public:
+
38  struct RBasisSubset
+
39  {
+
40  };
+
41  struct PBasisSubset
+
42  {
+
43  };
+
44  struct RCellDim
+
45  {
+
46  };
+
47  struct PCellDim
+
48  {
+
49  };
+
50 
+
57  template <class T>
+ +
59  {
+
60  using tag = T;
+
61  };
+
62 
+
63 private:
+ + +
75  using QDimRMesh = ddc::NonUniformPointSampling<QDimR>;
+
79  using QDimPMesh = ddc::NonUniformPointSampling<QDimP>;
+
83  using QuadratureDomainR = ddc::DiscreteDomain<QDimRMesh>;
+
87  using QuadratureDomainP = ddc::DiscreteDomain<QDimPMesh>;
+
91  using QuadratureDomainRP = ddc::DiscreteDomain<QDimRMesh, QDimPMesh>;
+
95  using QuadratureIndexR = ddc::DiscreteElement<QDimRMesh>;
+
99  using QuadratureIndexP = ddc::DiscreteElement<QDimPMesh>;
+
103  using QuadratureIndexRP = ddc::DiscreteElement<QDimRMesh, QDimPMesh>;
+
107  using QuadratureLengthR = ddc::DiscreteVector<QDimRMesh>;
+
111  using QuadratureLengthP = ddc::DiscreteVector<QDimPMesh>;
+
112 
+
113  using BSplinesR_Polar = PolarBSplinesRP::BSplinesR_tag;
+
114  using BSplinesP_Polar = PolarBSplinesRP::BSplinesP_tag;
+
115 
+
116  using IDimBSpline2D_Polar = ddc::DiscreteElement<BSplinesR_Polar, BSplinesP_Polar>;
+
117 
+
118  using BSDomainR_Polar = ddc::DiscreteDomain<BSplinesR_Polar>;
+
119  using BSDomainP_Polar = ddc::DiscreteDomain<BSplinesP_Polar>;
+
120 
+
125  struct EvalDeriv1DType
+
126  {
+
127  double value;
+
128  double derivative;
+
129  };
+
134  struct EvalDeriv2DType
+
135  {
+
136  double value;
+
137  double radial_derivative;
+
138  double poloidal_derivative;
+
139  };
+
140 
+
144  using CellIndex = ddc::DiscreteElement<RCellDim, PCellDim>;
+
145 
+
149  using MatrixElement = Eigen::Triplet<double>;
+
150 
+
151 private:
+
152  static constexpr int n_gauss_legendre_r = BSplinesR_Polar::degree() + 1;
+
153  static constexpr int n_gauss_legendre_p = BSplinesP_Polar::degree() + 1;
+
154  // The number of cells (in the radial direction) in which both types of basis splines can be found
+
155  static constexpr int n_overlap_cells = PolarBSplinesRP::continuity + 1;
+
156 
+
157  // Number of cells over which a radial B-splines has its support
+
158  // This is the case for b-splines which are not affected by the higher knot multiplicity at the boundary.
+
159  static constexpr ddc::DiscreteVector<RBasisSubset> n_non_zero_bases_r
+
160  = ddc::DiscreteVector<RBasisSubset>(BSplinesR_Polar::degree() + 1);
+
161 
+
162  // Number of cells over which a poloidal B-splines has its support
+
163  static constexpr ddc::DiscreteVector<PBasisSubset> n_non_zero_bases_p
+
164  = ddc::DiscreteVector<PBasisSubset>(BSplinesP_Polar::degree() + 1);
+
165 
+
166  static constexpr ddc::DiscreteDomain<RBasisSubset> non_zero_bases_r = ddc::DiscreteDomain<
+
167  RBasisSubset>(ddc::DiscreteElement<RBasisSubset> {0}, n_non_zero_bases_r);
+
168  static constexpr ddc::DiscreteDomain<PBasisSubset> non_zero_bases_p = ddc::DiscreteDomain<
+
169  PBasisSubset>(ddc::DiscreteElement<PBasisSubset> {0}, n_non_zero_bases_p);
+
170 
+
171  const int nbasis_r;
+
172  const int nbasis_p;
+
173 
+
174  // Domains
+
175  BSDomainPolar fem_non_singular_domain;
+
176  BSDomainR_Polar radial_bsplines;
+
177  BSDomainP_Polar polar_bsplines;
+
178 
+
179  QuadratureDomainR quadrature_domain_r;
+
180  QuadratureDomainP quadrature_domain_p;
+
181  QuadratureDomainRP quadrature_domain_singular;
+
182 
+
183  // Gauss-Legendre points and weights
+
184  ddc::Chunk<ddc::Coordinate<QDimR>, QuadratureDomainR> points_r;
+
185  ddc::Chunk<ddc::Coordinate<QDimP>, QuadratureDomainP> points_p;
+
186  ddc::Chunk<double, QuadratureDomainR> weights_r;
+
187  ddc::Chunk<double, QuadratureDomainP> weights_p;
+
188 
+
189  // Basis Spline values and derivatives at Gauss-Legendre points
+
190  ddc::Chunk<EvalDeriv2DType, ddc::DiscreteDomain<PolarBSplinesRP, QDimRMesh, QDimPMesh>>
+
191  singular_basis_vals_and_derivs;
+
192  ddc::Chunk<EvalDeriv1DType, ddc::DiscreteDomain<RBasisSubset, QDimRMesh>>
+
193  r_basis_vals_and_derivs;
+
194  ddc::Chunk<EvalDeriv1DType, ddc::DiscreteDomain<PBasisSubset, QDimPMesh>>
+
195  p_basis_vals_and_derivs;
+
196 
+
197  ddc::Chunk<double, QuadratureDomainRP> int_volume;
+
198 
+ +
200 
+
201  Eigen::SimplicialLDLT<Eigen::SparseMatrix<double>> m_matrix;
+
202 
+
203 public:
+
225  template <class Mapping>
+ +
227  Spline2DView coeff_alpha,
+
228  Spline2DView coeff_beta,
+
229  Mapping const& mapping)
+
230  : nbasis_r(ddc::discrete_space<BSplinesR_Polar>().nbasis() - n_overlap_cells - 1)
+
231  , nbasis_p(ddc::discrete_space<BSplinesP_Polar>().nbasis())
+
232  , fem_non_singular_domain(
+
233  ddc::discrete_space<PolarBSplinesRP>().tensor_bspline_domain().remove_last(
+
234  ddc::DiscreteVector<PolarBSplinesRP> {nbasis_p}))
+
235  , radial_bsplines(ddc::discrete_space<BSplinesR_Polar>().full_domain().remove_first(
+
236  ddc::DiscreteVector<BSplinesR_Polar> {n_overlap_cells}))
+
237  , polar_bsplines(ddc::discrete_space<BSplinesP_Polar>().full_domain().take_first(
+
238  ddc::DiscreteVector<BSplinesP_Polar> {nbasis_p}))
+
239  , quadrature_domain_r(
+
240  ddc::DiscreteElement<QDimRMesh>(0),
+
241  ddc::DiscreteVector<QDimRMesh>(
+
242  n_gauss_legendre_r * ddc::discrete_space<BSplinesR_Polar>().ncells()))
+
243  , quadrature_domain_p(
+
244  ddc::DiscreteElement<QDimPMesh>(0),
+
245  ddc::DiscreteVector<QDimPMesh>(
+
246  n_gauss_legendre_p * ddc::discrete_space<BSplinesP_Polar>().ncells()))
+
247  , quadrature_domain_singular(
+
248  quadrature_domain_r.take_first(
+
249  ddc::DiscreteVector<QDimRMesh> {n_overlap_cells * n_gauss_legendre_r}),
+
250  quadrature_domain_p)
+
251  , points_r(quadrature_domain_r)
+
252  , points_p(quadrature_domain_p)
+
253  , weights_r(quadrature_domain_r)
+
254  , weights_p(quadrature_domain_p)
+
255  , singular_basis_vals_and_derivs(ddc::DiscreteDomain<PolarBSplinesRP, QDimRMesh, QDimPMesh>(
+ +
257  ddc::select<QDimRMesh>(quadrature_domain_singular),
+
258  ddc::select<QDimPMesh>(quadrature_domain_singular)))
+
259  , r_basis_vals_and_derivs(ddc::DiscreteDomain<
+
260  RBasisSubset,
+
261  QDimRMesh>(non_zero_bases_r, quadrature_domain_r))
+
262  , p_basis_vals_and_derivs(ddc::DiscreteDomain<
+
263  PBasisSubset,
+
264  QDimPMesh>(non_zero_bases_p, quadrature_domain_p))
+
265  , int_volume(QuadratureDomainRP(quadrature_domain_r, quadrature_domain_p))
+
266  , m_polar_spline_evaluator(ddc::NullExtrapolationRule())
+
267  {
+
268  const std::size_t ncells_r = ddc::discrete_space<BSplinesR_Polar>().ncells();
+
269  const std::size_t ncells_p = ddc::discrete_space<BSplinesP_Polar>().ncells();
+
270 
+
271  // Get break points
+
272  ddc::DiscreteDomain<RCellDim> r_edges_dom(
+
273  ddc::DiscreteElement<RCellDim>(0),
+
274  ddc::DiscreteVector<RCellDim>(ncells_r + 1));
+
275  ddc::DiscreteDomain<PCellDim> p_edges_dom(
+
276  ddc::DiscreteElement<PCellDim>(0),
+
277  ddc::DiscreteVector<PCellDim>(ncells_p + 1));
+
278  ddc::Chunk<ddc::Coordinate<QDimR>, ddc::DiscreteDomain<RCellDim>> breaks_r(r_edges_dom);
+
279  ddc::Chunk<ddc::Coordinate<QDimP>, ddc::DiscreteDomain<PCellDim>> breaks_p(p_edges_dom);
+
280 
+
281  ddc::for_each(r_edges_dom, [&](ddc::DiscreteElement<RCellDim> i) {
+
282  breaks_r(i) = ddc::Coordinate<QDimR>(
+
283  ddc::get<RDimR>(ddc::discrete_space<BSplinesR_Polar>().get_knot(i.uid())));
+
284  });
+
285  ddc::for_each(p_edges_dom, [&](ddc::DiscreteElement<PCellDim> i) {
+
286  breaks_p(i) = ddc::Coordinate<QDimP>(
+
287  ddc::get<RDimP>(ddc::discrete_space<BSplinesP_Polar>().get_knot(i.uid())));
+
288  });
+
289 
+
290  // Define quadrature points and weights
+
291  GaussLegendre<QDimR> gl_coeffs_r(n_gauss_legendre_r);
+
292  GaussLegendre<QDimP> gl_coeffs_p(n_gauss_legendre_p);
+
293  gl_coeffs_r.compute_points_and_weights_on_mesh(
+
294  points_r.span_view(),
+
295  weights_r.span_view(),
+
296  breaks_r.span_cview());
+
297  gl_coeffs_p.compute_points_and_weights_on_mesh(
+
298  points_p.span_view(),
+
299  weights_p.span_view(),
+
300  breaks_p.span_cview());
+
301 
+
302  std::vector<double> vect_points_r(points_r.size());
+
303  for (auto i : quadrature_domain_r) {
+
304  vect_points_r[i.uid()] = points_r(i);
+
305  }
+
306  std::vector<double> vect_points_p(points_p.size());
+
307  for (auto i : quadrature_domain_p) {
+
308  vect_points_p[i.uid()] = points_p(i);
+
309  }
+
310 
+
311  // Create quadrature domain
+
312  ddc::init_discrete_space<QDimRMesh>(vect_points_r);
+
313  ddc::init_discrete_space<QDimPMesh>(vect_points_p);
+
314 
+
315  // Find value and derivative of 1D bsplines in radial direction
+
316  ddc::for_each(quadrature_domain_r, [&](QuadratureIndexR const ir) {
+
317  std::array<double, 2 * n_non_zero_bases_r> data;
+
318  DSpan2D vals(data.data(), n_non_zero_bases_r, 2);
+
319  ddc::discrete_space<BSplinesR_Polar>()
+
320  .eval_basis_and_n_derivs(vals, get_coordinate(ir), 1);
+
321  for (auto ib : non_zero_bases_r) {
+
322  r_basis_vals_and_derivs(ib, ir).value = vals(ib.uid(), 0);
+
323  r_basis_vals_and_derivs(ib, ir).derivative = vals(ib.uid(), 1);
+
324  }
+
325  });
+
326 
+
327  // Find value and derivative of 1D bsplines in poloidal direction
+
328  ddc::for_each(quadrature_domain_p, [&](QuadratureIndexP const ip) {
+
329  std::array<double, 2 * n_non_zero_bases_p> data;
+
330  DSpan2D vals(data.data(), n_non_zero_bases_p, 2);
+
331  ddc::discrete_space<BSplinesP_Polar>()
+
332  .eval_basis_and_n_derivs(vals, get_coordinate(ip), 1);
+
333  for (auto ib : non_zero_bases_p) {
+
334  p_basis_vals_and_derivs(ib, ip).value = vals(ib.uid(), 0);
+
335  p_basis_vals_and_derivs(ib, ip).derivative = vals(ib.uid(), 1);
+
336  }
+
337  });
+
338 
+
339  auto singular_domain = PolarBSplinesRP::singular_domain();
+
340 
+
341  // Find value and derivative of 2D bsplines covering the singular point
+
342  ddc::for_each(quadrature_domain_singular, [&](QuadratureIndexRP const irp) {
+
343  std::array<double, PolarBSplinesRP::n_singular_basis()> singular_data;
+
344  std::array<double, n_non_zero_bases_r * n_non_zero_bases_p> data;
+
345  // Values of the polar basis splines around the singular point
+
346  // at a given coordinate
+
347  DSpan1D singular_vals(singular_data.data(), PolarBSplinesRP::n_singular_basis());
+
348  // Values of the polar basis splines, that do not cover the singular point,
+
349  // at a given coordinate
+
350  DSpan2D vals(data.data(), n_non_zero_bases_r, n_non_zero_bases_p);
+
351  QuadratureIndexR ir = ddc::select<QDimRMesh>(irp);
+
352  QuadratureIndexP ip = ddc::select<QDimPMesh>(irp);
+
353 
+
354  const CoordRP coord(get_coordinate(irp));
+
355 
+
356  // Calculate the value
+
357  ddc::discrete_space<PolarBSplinesRP>().eval_basis(singular_vals, vals, coord);
+
358  for (auto ib : singular_domain) {
+
359  singular_basis_vals_and_derivs(ib, ir, ip).value = singular_vals[ib.uid()];
+
360  }
+
361 
+
362  // Calculate the radial derivative
+
363  ddc::discrete_space<PolarBSplinesRP>().eval_deriv_r(singular_vals, vals, coord);
+
364  for (auto ib : singular_domain) {
+
365  singular_basis_vals_and_derivs(ib, ir, ip).radial_derivative
+
366  = singular_vals[ib.uid()];
+
367  }
+
368 
+
369  // Calculate the poloidal derivative
+
370  ddc::discrete_space<PolarBSplinesRP>().eval_deriv_p(singular_vals, vals, coord);
+
371  for (auto ib : singular_domain) {
+
372  singular_basis_vals_and_derivs(ib, ir, ip).poloidal_derivative
+
373  = singular_vals[ib.uid()];
+
374  }
375  });
376 
-
377  SplineRPEvaluator spline_evaluator(
-
378  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
379  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
380  g_null_boundary_2d<BSplinesR, BSplinesP>,
-
381  g_null_boundary_2d<BSplinesR, BSplinesP>);
-
382 
-
383  // Number of elements in the matrix that correspond to the splines
-
384  // that cover the singular point
-
385  constexpr int n_elements_singular
- -
387  // Number of non-zero elements in the matrix corresponding to the inner product of
-
388  // polar splines at the singular point and the other splines
-
389  const int n_elements_overlap
-
390  = 2 * (PolarBSplinesRP::n_singular_basis() * BSplinesR::degree() * nbasis_p);
-
391  const int n_stencil_p = nbasis_p * min(int(1 + 2 * BSplinesP::degree()), nbasis_p);
-
392  const int n_stencil_r = nbasis_r * (1 + 2 * BSplinesR::degree())
-
393  - (1 + BSplinesR::degree()) * BSplinesR::degree();
-
394  // Number of non-zero elements in the matrix corresponding to the inner product of
-
395  // non-central splines. These have a tensor product structure
-
396  const int n_elements_stencil = n_stencil_r * n_stencil_p;
-
397 
-
398  // Matrix size is equal to the number Polar bspline
-
399  const int n_matrix_size = ddc::discrete_space<PolarBSplinesRP>().nbasis() - nbasis_p;
-
400  Eigen::SparseMatrix<double> matrix(n_matrix_size, n_matrix_size);
-
401  const int n_matrix_elements = n_elements_singular + n_elements_overlap + n_elements_stencil;
-
402  std::vector<MatrixElement> matrix_elements(n_matrix_elements);
-
403  int matrix_idx(0);
-
404  // Calculate the matrix elements corresponding to the bsplines which cover the singular point
-
405  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_test) {
-
406  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_trial) {
-
407  // Calculate the weak integral
-
408  matrix_elements[matrix_idx++] = MatrixElement(
-
409  idx_test.uid(),
-
410  idx_trial.uid(),
-
411  ddc::transform_reduce(
-
412  quadrature_domain_singular,
-
413  0.0,
-
414  ddc::reducer::sum<double>(),
-
415  [&](QuadratureIndexRP const quad_idx) {
-
416  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
-
417  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
-
418  return weak_integral_element(
-
419  ir,
-
420  ip,
-
421  singular_basis_vals_and_derivs(idx_test, ir, ip),
-
422  singular_basis_vals_and_derivs(idx_trial, ir, ip),
-
423  coeff_alpha,
-
424  coeff_beta,
-
425  spline_evaluator,
-
426  mapping);
-
427  }));
-
428  });
-
429  });
-
430  assert(matrix_idx == n_elements_singular);
-
431 
-
432  // Create domains associated with the 2D splines
-
433  BSDomainR central_radial_bspline_domain(
-
434  radial_bsplines.take_first(ddc::DiscreteVector<BSplinesR> {BSplinesR::degree()}));
-
435 
-
436  BSDomainRP non_singular_domain_near_centre(central_radial_bspline_domain, polar_bsplines);
-
437 
-
438  // Calculate the matrix elements where bspline products overlap the bsplines which cover the singular point
-
439  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_test) {
-
440  ddc::for_each(non_singular_domain_near_centre, [&](IDimBSpline2D const idx_trial) {
-
441  const IDimPolarBspl polar_idx_trial(PolarBSplinesRP::get_polar_index(idx_trial));
-
442  const ddc::DiscreteElement<BSplinesR> r_idx_trial(
-
443  ddc::select<BSplinesR>(idx_trial));
-
444  const ddc::DiscreteElement<BSplinesP> p_idx_trial(
-
445  ddc::select<BSplinesP>(idx_trial));
+
377  // Find the integral volume associated with each point used in the quadrature scheme
+
378  QuadratureDomainRP all_quad_points(quadrature_domain_r, quadrature_domain_p);
+
379  ddc::for_each(all_quad_points, [&](QuadratureIndexRP const irp) {
+
380  QuadratureIndexR const ir = ddc::select<QDimRMesh>(irp);
+
381  QuadratureIndexP const ip = ddc::select<QDimPMesh>(irp);
+
382  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
+
383  int_volume(ir, ip) = abs(mapping.jacobian(coord)) * weights_r(ir) * weights_p(ip);
+
384  });
+
385 
+
386  ddc::NullExtrapolationRule r_extrapolation_rule;
+
387  ddc::PeriodicExtrapolationRule<RDimP> p_extrapolation_rule;
+
388  SplineRPEvaluatorNullBound spline_evaluator(
+
389  r_extrapolation_rule,
+
390  r_extrapolation_rule,
+
391  p_extrapolation_rule,
+
392  p_extrapolation_rule);
+
393 
+
394  // Number of elements in the matrix that correspond to the splines
+
395  // that cover the singular point
+
396  constexpr int n_elements_singular
+ +
398  // Number of non-zero elements in the matrix corresponding to the inner product of
+
399  // polar splines at the singular point and the other splines
+
400  const int n_elements_overlap
+
401  = 2 * (PolarBSplinesRP::n_singular_basis() * BSplinesR_Polar::degree() * nbasis_p);
+
402  const int n_stencil_p = nbasis_p * min(int(1 + 2 * BSplinesP_Polar::degree()), nbasis_p);
+
403  const int n_stencil_r = nbasis_r * (1 + 2 * BSplinesR_Polar::degree())
+
404  - (1 + BSplinesR_Polar::degree()) * BSplinesR_Polar::degree();
+
405  // Number of non-zero elements in the matrix corresponding to the inner product of
+
406  // non-central splines. These have a tensor product structure
+
407  const int n_elements_stencil = n_stencil_r * n_stencil_p;
+
408 
+
409  // Matrix size is equal to the number Polar bspline
+
410  const int n_matrix_size = ddc::discrete_space<PolarBSplinesRP>().nbasis() - nbasis_p;
+
411  Eigen::SparseMatrix<double> matrix(n_matrix_size, n_matrix_size);
+
412  const int n_matrix_elements = n_elements_singular + n_elements_overlap + n_elements_stencil;
+
413  std::vector<MatrixElement> matrix_elements(n_matrix_elements);
+
414  int matrix_idx(0);
+
415  // Calculate the matrix elements corresponding to the bsplines which cover the singular point
+
416  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_test) {
+
417  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_trial) {
+
418  // Calculate the weak integral
+
419  matrix_elements[matrix_idx++] = MatrixElement(
+
420  idx_test.uid(),
+
421  idx_trial.uid(),
+
422  ddc::transform_reduce(
+
423  quadrature_domain_singular,
+
424  0.0,
+
425  ddc::reducer::sum<double>(),
+
426  [&](QuadratureIndexRP const quad_idx) {
+
427  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
+
428  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
+
429  return weak_integral_element(
+
430  ir,
+
431  ip,
+
432  singular_basis_vals_and_derivs(idx_test, ir, ip),
+
433  singular_basis_vals_and_derivs(idx_trial, ir, ip),
+
434  coeff_alpha,
+
435  coeff_beta,
+
436  spline_evaluator,
+
437  mapping);
+
438  }));
+
439  });
+
440  });
+
441  assert(matrix_idx == n_elements_singular);
+
442 
+
443  // Create domains associated with the 2D splines
+
444  BSDomainR central_radial_bspline_domain(radial_bsplines.take_first(
+
445  ddc::DiscreteVector<BSplinesR_Polar> {BSplinesR_Polar::degree()}));
446 
-
447  // Find the domain covering the cells where both the test and trial functions are non-zero
-
448  const ddc::DiscreteElement<RCellDim> first_overlap_element_r(
-
449  r_idx_trial.uid() < BSplinesR::degree()
-
450  ? 0
-
451  : r_idx_trial.uid() - BSplinesR::degree());
-
452  const ddc::DiscreteElement<PCellDim> first_overlap_element_p(
-
453  pmod(p_idx_trial.uid() - BSplinesP::degree()));
-
454 
-
455  const ddc::DiscreteVector<RCellDim> n_overlap_r(
-
456  n_overlap_cells - first_overlap_element_r.uid());
-
457  const ddc::DiscreteVector<PCellDim> n_overlap_p(BSplinesP::degree() + 1);
-
458 
-
459  const ddc::DiscreteDomain<RCellDim> r_cells(first_overlap_element_r, n_overlap_r);
-
460  const ddc::DiscreteDomain<PCellDim> p_cells(first_overlap_element_p, n_overlap_p);
-
461  const ddc::DiscreteDomain<RCellDim, PCellDim> non_zero_cells(r_cells, p_cells);
-
462 
-
463  if (n_overlap_r > 0) {
-
464  double element = 0.0;
-
465 
-
466  ddc::for_each(non_zero_cells, [&](CellIndex const cell_idx) {
-
467  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
-
468  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
-
469 
-
470  const QuadratureDomainRP cell_quad_points(
-
471  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
-
472  // Find the column where the non-zero data is stored
-
473  ddc::DiscreteElement<RBasisSubset> ib_trial_r(
-
474  r_idx_trial.uid() - cell_idx_r);
-
475  ddc::DiscreteElement<PBasisSubset> ib_trial_p(
-
476  pmod(p_idx_trial.uid() - cell_idx_p));
-
477  // Calculate the weak integral
-
478  element += ddc::transform_reduce(
-
479  cell_quad_points,
-
480  0.0,
-
481  ddc::reducer::sum<double>(),
-
482  [&](QuadratureIndexRP const quad_idx) {
-
483  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
-
484  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
-
485  return weak_integral_element<Mapping>(
-
486  ir,
-
487  ip,
-
488  singular_basis_vals_and_derivs(idx_test, ir, ip),
-
489  r_basis_vals_and_derivs(ib_trial_r, ir),
-
490  p_basis_vals_and_derivs(ib_trial_p, ip),
-
491  coeff_alpha,
-
492  coeff_beta,
-
493  spline_evaluator,
-
494  mapping);
-
495  });
-
496  });
-
497  matrix_elements[matrix_idx++]
-
498  = MatrixElement(idx_test.uid(), polar_idx_trial.uid(), element);
-
499  matrix_elements[matrix_idx++]
-
500  = MatrixElement(polar_idx_trial.uid(), idx_test.uid(), element);
-
501  }
-
502  });
-
503  });
-
504  assert(matrix_idx == n_elements_singular + n_elements_overlap);
-
505 
-
506  // Calculate the matrix elements following a stencil
-
507  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const polar_idx_test) {
-
508  const IDimBSpline2D idx_test(PolarBSplinesRP::get_2d_index(polar_idx_test));
-
509  const std::size_t r_idx_test(ddc::select<BSplinesR>(idx_test).uid());
-
510  const std::size_t p_idx_test(ddc::select<BSplinesP>(idx_test).uid());
-
511 
-
512  // Calculate the index of the elements that are already filled
-
513  BSDomainP remaining_p(
-
514  ddc::DiscreteElement<BSplinesP> {p_idx_test},
-
515  ddc::DiscreteVector<BSplinesP> {BSplinesP::degree() + 1});
-
516  ddc::for_each(remaining_p, [&](auto const p_idx_trial) {
-
517  IDimBSpline2D idx_trial(ddc::DiscreteElement<BSplinesR>(r_idx_test), p_idx_trial);
-
518  IDimPolarBspl polar_idx_trial(PolarBSplinesRP::get_polar_index(
-
519  IDimBSpline2D(r_idx_test, pmod(p_idx_trial.uid()))));
-
520  double element = get_matrix_stencil_element(
-
521  idx_test,
-
522  idx_trial,
-
523  coeff_alpha,
-
524  coeff_beta,
-
525  spline_evaluator,
-
526  mapping);
-
527 
-
528  if (polar_idx_test.uid() == polar_idx_trial.uid()) {
-
529  matrix_elements[matrix_idx++]
-
530  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
-
531  } else {
-
532  matrix_elements[matrix_idx++]
-
533  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
-
534  matrix_elements[matrix_idx++]
-
535  = MatrixElement(polar_idx_trial.uid(), polar_idx_test.uid(), element);
-
536  }
-
537  });
-
538  BSDomainR remaining_r(
-
539  ddc::select<BSplinesR>(idx_test) + 1,
-
540  ddc::DiscreteVector<BSplinesR> {
-
541  min(BSplinesR::degree(),
-
542  ddc::discrete_space<BSplinesR>().nbasis() - 2 - r_idx_test)});
-
543  BSDomainP relevant_p(
-
544  ddc::DiscreteElement<BSplinesP> {
-
545  p_idx_test + ddc::discrete_space<BSplinesP>().nbasis()
-
546  - BSplinesP::degree()},
-
547  ddc::DiscreteVector<BSplinesP> {2 * BSplinesP::degree() + 1});
-
548 
-
549  BSDomainRP trial_domain(remaining_r, relevant_p);
-
550 
-
551  ddc::for_each(trial_domain, [&](IDimBSpline2D const idx_trial) {
-
552  const int r_idx_trial(ddc::select<BSplinesR>(idx_trial).uid());
-
553  const int p_idx_trial(ddc::select<BSplinesP>(idx_trial).uid());
-
554  IDimPolarBspl polar_idx_trial(PolarBSplinesRP::get_polar_index(
-
555  IDimBSpline2D(r_idx_trial, pmod(p_idx_trial))));
-
556  double element = get_matrix_stencil_element(
-
557  idx_test,
-
558  idx_trial,
-
559  coeff_alpha,
-
560  coeff_beta,
-
561  spline_evaluator,
-
562  mapping);
-
563  if (polar_idx_test.uid() == polar_idx_trial.uid()) {
-
564  matrix_elements[matrix_idx++]
-
565  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
-
566  } else {
-
567  matrix_elements[matrix_idx++]
-
568  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
-
569  matrix_elements[matrix_idx++]
-
570  = MatrixElement(polar_idx_trial.uid(), polar_idx_test.uid(), element);
-
571  }
-
572  });
-
573  });
-
574  matrix.setFromTriplets(matrix_elements.begin(), matrix_elements.end());
-
575  assert(matrix_idx == n_elements_singular + n_elements_overlap + n_elements_stencil);
-
576  m_matrix.compute(matrix);
-
577  }
-
578 
-
579 
-
593  template <class RHSFunction>
-
594  void operator()(RHSFunction const& rhs, SplinePolar& spline) const
-
595  {
-
596  Eigen::VectorXd b(
-
597  ddc::discrete_space<PolarBSplinesRP>().nbasis()
-
598  - ddc::discrete_space<BSplinesP>().nbasis());
-
599 
-
600  // Fill b
-
601  ddc::for_each(PolarBSplinesRP::singular_domain(), [&](IDimPolarBspl const idx) {
-
602  b(idx.uid()) = ddc::transform_reduce(
-
603  quadrature_domain_singular,
-
604  0.0,
-
605  ddc::reducer::sum<double>(),
-
606  [&](QuadratureIndexRP const quad_idx) {
-
607  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
-
608  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
-
609  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
-
610  return rhs(coord) * singular_basis_vals_and_derivs(idx, ir, ip).value
-
611  * int_volume(ir, ip);
-
612  });
-
613  });
-
614  const std::size_t ncells_r = ddc::discrete_space<BSplinesR>().ncells();
-
615  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const idx) {
-
616  const IDimBSpline2D idx_2d(PolarBSplinesRP::get_2d_index(idx));
-
617  const std::size_t r_idx(ddc::select<BSplinesR>(idx_2d).uid());
-
618  const std::size_t p_idx(ddc::select<BSplinesP>(idx_2d).uid());
-
619 
-
620  // Find the cells on which the bspline is non-zero
-
621  int first_cell_r(r_idx - BSplinesR::degree());
-
622  int first_cell_p(p_idx - BSplinesP::degree());
-
623  std::size_t last_cell_r(r_idx + 1);
-
624  if (first_cell_r < 0)
-
625  first_cell_r = 0;
-
626  if (last_cell_r > ncells_r)
-
627  last_cell_r = ncells_r;
-
628  ddc::DiscreteVector<RCellDim> const r_length(last_cell_r - first_cell_r);
-
629  ddc::DiscreteVector<PCellDim> const p_length(BSplinesP::degree() + 1);
-
630 
-
631 
-
632  ddc::DiscreteElement<RCellDim> const start_r(first_cell_r);
-
633  ddc::DiscreteElement<PCellDim> const start_p(pmod(first_cell_p));
-
634  const ddc::DiscreteDomain<RCellDim> r_cells(start_r, r_length);
-
635  const ddc::DiscreteDomain<PCellDim> p_cells(start_p, p_length);
-
636  const ddc::DiscreteDomain<RCellDim, PCellDim> non_zero_cells(r_cells, p_cells);
-
637  assert(r_length * p_length > 0);
-
638  double element = 0.0;
-
639  ddc::for_each(non_zero_cells, [&](CellIndex const cell_idx) {
-
640  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
-
641  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
-
642 
-
643  const QuadratureDomainRP cell_quad_points(
-
644  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
+
447  BSDomainRP non_singular_domain_near_centre(central_radial_bspline_domain, polar_bsplines);
+
448 
+
449  // Calculate the matrix elements where bspline products overlap the bsplines which cover the singular point
+
450  ddc::for_each(singular_domain, [&](IDimPolarBspl const idx_test) {
+
451  ddc::for_each(
+
452  non_singular_domain_near_centre,
+
453  [&](IDimBSpline2D_Polar const idx_trial) {
+
454  const IDimPolarBspl polar_idx_trial(
+ +
456  const ddc::DiscreteElement<BSplinesR_Polar> r_idx_trial(
+
457  ddc::select<BSplinesR_Polar>(idx_trial));
+
458  const ddc::DiscreteElement<BSplinesP_Polar> p_idx_trial(
+
459  ddc::select<BSplinesP_Polar>(idx_trial));
+
460 
+
461  // Find the domain covering the cells where both the test and trial functions are non-zero
+
462  const ddc::DiscreteElement<RCellDim> first_overlap_element_r(
+
463  r_idx_trial.uid() < BSplinesR_Polar::degree()
+
464  ? 0
+
465  : r_idx_trial.uid() - BSplinesR_Polar::degree());
+
466  const ddc::DiscreteElement<PCellDim> first_overlap_element_p(
+
467  pmod(p_idx_trial.uid() - BSplinesP_Polar::degree()));
+
468 
+
469  const ddc::DiscreteVector<RCellDim> n_overlap_r(
+
470  n_overlap_cells - first_overlap_element_r.uid());
+
471  const ddc::DiscreteVector<PCellDim> n_overlap_p(
+
472  BSplinesP_Polar::degree() + 1);
+
473 
+
474  const ddc::DiscreteDomain<RCellDim>
+
475  r_cells(first_overlap_element_r, n_overlap_r);
+
476  const ddc::DiscreteDomain<PCellDim>
+
477  p_cells(first_overlap_element_p, n_overlap_p);
+
478  const ddc::DiscreteDomain<RCellDim, PCellDim>
+
479  non_zero_cells(r_cells, p_cells);
+
480 
+
481  if (n_overlap_r > 0) {
+
482  double element = 0.0;
+
483 
+
484  ddc::for_each(non_zero_cells, [&](CellIndex const cell_idx) {
+
485  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
+
486  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
+
487 
+
488  const QuadratureDomainRP cell_quad_points(
+
489  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
+
490  // Find the column where the non-zero data is stored
+
491  ddc::DiscreteElement<RBasisSubset> ib_trial_r(
+
492  r_idx_trial.uid() - cell_idx_r);
+
493  ddc::DiscreteElement<PBasisSubset> ib_trial_p(
+
494  pmod(p_idx_trial.uid() - cell_idx_p));
+
495  // Calculate the weak integral
+
496  element += ddc::transform_reduce(
+
497  cell_quad_points,
+
498  0.0,
+
499  ddc::reducer::sum<double>(),
+
500  [&](QuadratureIndexRP const quad_idx) {
+
501  QuadratureIndexR const ir
+
502  = ddc::select<QDimRMesh>(quad_idx);
+
503  QuadratureIndexP const ip
+
504  = ddc::select<QDimPMesh>(quad_idx);
+
505  return weak_integral_element<Mapping>(
+
506  ir,
+
507  ip,
+
508  singular_basis_vals_and_derivs(
+
509  idx_test,
+
510  ir,
+
511  ip),
+
512  r_basis_vals_and_derivs(ib_trial_r, ir),
+
513  p_basis_vals_and_derivs(ib_trial_p, ip),
+
514  coeff_alpha,
+
515  coeff_beta,
+
516  spline_evaluator,
+
517  mapping);
+
518  });
+
519  });
+
520  matrix_elements[matrix_idx++]
+
521  = MatrixElement(idx_test.uid(), polar_idx_trial.uid(), element);
+
522  matrix_elements[matrix_idx++]
+
523  = MatrixElement(polar_idx_trial.uid(), idx_test.uid(), element);
+
524  }
+
525  });
+
526  });
+
527  assert(matrix_idx == n_elements_singular + n_elements_overlap);
+
528 
+
529  // Calculate the matrix elements following a stencil
+
530  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const polar_idx_test) {
+
531  const IDimBSpline2D_Polar idx_test(PolarBSplinesRP::get_2d_index(polar_idx_test));
+
532  const std::size_t r_idx_test(
+
533  ddc::select<PolarBSplinesRP::BSplinesR_tag>(idx_test).uid());
+
534  const std::size_t p_idx_test(
+
535  ddc::select<PolarBSplinesRP::BSplinesP_tag>(idx_test).uid());
+
536 
+
537  // Calculate the index of the elements that are already filled
+
538  BSDomainP_Polar remaining_p(
+
539  ddc::DiscreteElement<BSplinesP_Polar> {p_idx_test},
+
540  ddc::DiscreteVector<BSplinesP_Polar> {BSplinesP_Polar::degree() + 1});
+
541  ddc::for_each(remaining_p, [&](auto const p_idx_trial) {
+
542  IDimBSpline2D_Polar
+
543  idx_trial(ddc::DiscreteElement<BSplinesR_Polar>(r_idx_test), p_idx_trial);
+
544  IDimPolarBspl polar_idx_trial(PolarBSplinesRP::get_polar_index(
+
545  IDimBSpline2D_Polar(r_idx_test, pmod(p_idx_trial.uid()))));
+
546  double element = get_matrix_stencil_element(
+
547  idx_test,
+
548  idx_trial,
+
549  coeff_alpha,
+
550  coeff_beta,
+
551  spline_evaluator,
+
552  mapping);
+
553 
+
554  if (polar_idx_test.uid() == polar_idx_trial.uid()) {
+
555  matrix_elements[matrix_idx++]
+
556  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
+
557  } else {
+
558  matrix_elements[matrix_idx++]
+
559  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
+
560  matrix_elements[matrix_idx++]
+
561  = MatrixElement(polar_idx_trial.uid(), polar_idx_test.uid(), element);
+
562  }
+
563  });
+
564  BSDomainR remaining_r(
+
565  ddc::select<BSplinesR_Polar>(idx_test) + 1,
+
566  ddc::DiscreteVector<BSplinesR_Polar> {
+
567  min(BSplinesR_Polar::degree(),
+
568  ddc::discrete_space<BSplinesR_Polar>().nbasis() - 2 - r_idx_test)});
+
569  BSDomainP_Polar relevant_p(
+
570  ddc::DiscreteElement<BSplinesP_Polar> {
+
571  p_idx_test + ddc::discrete_space<BSplinesP_Polar>().nbasis()
+
572  - BSplinesP_Polar::degree()},
+
573  ddc::DiscreteVector<BSplinesP_Polar> {2 * BSplinesP_Polar::degree() + 1});
+
574 
+
575  BSDomainRP trial_domain(remaining_r, relevant_p);
+
576 
+
577  ddc::for_each(trial_domain, [&](IDimBSpline2D_Polar const idx_trial) {
+
578  const int r_idx_trial(ddc::select<PolarBSplinesRP::BSplinesR_tag>(idx_trial).uid());
+
579  const int p_idx_trial(ddc::select<PolarBSplinesRP::BSplinesP_tag>(idx_trial).uid());
+
580  IDimPolarBspl polar_idx_trial(PolarBSplinesRP::get_polar_index(
+
581  IDimBSpline2D_Polar(r_idx_trial, pmod(p_idx_trial))));
+
582  double element = get_matrix_stencil_element(
+
583  idx_test,
+
584  idx_trial,
+
585  coeff_alpha,
+
586  coeff_beta,
+
587  spline_evaluator,
+
588  mapping);
+
589  if (polar_idx_test.uid() == polar_idx_trial.uid()) {
+
590  matrix_elements[matrix_idx++]
+
591  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
+
592  } else {
+
593  matrix_elements[matrix_idx++]
+
594  = MatrixElement(polar_idx_test.uid(), polar_idx_trial.uid(), element);
+
595  matrix_elements[matrix_idx++]
+
596  = MatrixElement(polar_idx_trial.uid(), polar_idx_test.uid(), element);
+
597  }
+
598  });
+
599  });
+
600  matrix.setFromTriplets(matrix_elements.begin(), matrix_elements.end());
+
601  assert(matrix_idx == n_elements_singular + n_elements_overlap + n_elements_stencil);
+
602  m_matrix.compute(matrix);
+
603  }
+
604 
+
605 
+
619  template <class RHSFunction>
+
620  void operator()(RHSFunction const& rhs, SplinePolar& spline) const
+
621  {
+
622  Eigen::VectorXd b(
+
623  ddc::discrete_space<PolarBSplinesRP>().nbasis()
+
624  - ddc::discrete_space<BSplinesP_Polar>().nbasis());
+
625 
+
626  // Fill b
+
627  ddc::for_each(PolarBSplinesRP::singular_domain(), [&](IDimPolarBspl const idx) {
+
628  b(idx.uid()) = ddc::transform_reduce(
+
629  quadrature_domain_singular,
+
630  0.0,
+
631  ddc::reducer::sum<double>(),
+
632  [&](QuadratureIndexRP const quad_idx) {
+
633  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
+
634  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
+
635  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
+
636  return rhs(coord) * singular_basis_vals_and_derivs(idx, ir, ip).value
+
637  * int_volume(ir, ip);
+
638  });
+
639  });
+
640  const std::size_t ncells_r = ddc::discrete_space<BSplinesR_Polar>().ncells();
+
641  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const idx) {
+
642  const IDimBSpline2D_Polar idx_2d(PolarBSplinesRP::get_2d_index(idx));
+
643  const std::size_t r_idx(ddc::select<PolarBSplinesRP::BSplinesR_tag>(idx_2d).uid());
+
644  const std::size_t p_idx(ddc::select<PolarBSplinesRP::BSplinesP_tag>(idx_2d).uid());
645 
-
646  // Find the column where the non-zero data is stored
-
647  ddc::DiscreteElement<RBasisSubset> ib_r(r_idx - cell_idx_r);
-
648  ddc::DiscreteElement<PBasisSubset> ib_p(pmod(p_idx - cell_idx_p));
-
649 
-
650  // Calculate the weak integral
-
651  element += ddc::transform_reduce(
-
652  cell_quad_points,
-
653  0.0,
-
654  ddc::reducer::sum<double>(),
-
655  [&](QuadratureIndexRP const quad_idx) {
-
656  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
-
657  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
-
658  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
-
659  double rb = r_basis_vals_and_derivs(ib_r, ir).value;
-
660  double pb = p_basis_vals_and_derivs(ib_p, ip).value;
-
661  return rhs(coord) * rb * pb * int_volume(ir, ip);
-
662  });
-
663  });
-
664  b(idx.uid()) = element;
-
665  });
-
666 
-
667  // Solve the matrix equation
-
668  Eigen::VectorXd x = m_matrix.solve(b);
-
669 
-
670  BSDomainRP non_singular_2d_domain(
-
671  radial_bsplines.remove_last(ddc::DiscreteVector<BSplinesR> {1}),
-
672  polar_bsplines);
-
673  BSDomainRP dirichlet_boundary_domain(
-
674  radial_bsplines.take_last(ddc::DiscreteVector<BSplinesR> {1}),
-
675  polar_bsplines);
-
676  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
-
677 
-
678 
-
679  // Fill the spline
-
680  ddc::for_each(PolarBSplinesRP::singular_domain(), [&](IDimPolarBspl const idx) {
-
681  spline.singular_spline_coef(idx) = x(idx.uid());
-
682  });
-
683  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const idx) {
-
684  const IDimBSpline2D idx_2d(PolarBSplinesRP::get_2d_index(idx));
-
685  spline.spline_coef(idx_2d) = x(idx.uid());
-
686  });
-
687  ddc::for_each(dirichlet_boundary_domain, [&](IDimBSpline2D const idx) {
-
688  spline.spline_coef(idx) = 0.0;
-
689  });
-
690 
-
691  // Copy the periodic elements
-
692  BSDomainRP copy_domain(
-
693  radial_bsplines,
-
694  polar_domain.remove_first(
-
695  ddc::DiscreteVector<BSplinesP>(ddc::discrete_space<BSplinesP>().nbasis())));
-
696  ddc::for_each(copy_domain, [&](IDimBSpline2D const idx_2d) {
-
697  spline.spline_coef(ddc::select<BSplinesR>(idx_2d), ddc::select<BSplinesP>(idx_2d))
-
698  = spline.spline_coef(
-
699  ddc::select<BSplinesR>(idx_2d),
-
700  ddc::select<BSplinesP>(idx_2d)
-
701  - ddc::discrete_space<BSplinesP>().nbasis());
-
702  });
-
703  }
-
704 
-
705 
-
721  template <class RHSFunction>
-
722  void operator()(RHSFunction const& rhs, ViewRP<CoordRP> const coords_eval, DSpanRP result) const
-
723  {
-
724  BSDomainP polar_domain(ddc::discrete_space<BSplinesP>().full_domain());
- - -
727  BSDomainRP(radial_bsplines, polar_domain));
-
728 
-
729  (*this)(rhs, spline);
-
730  m_polar_spline_evaluator(result, coords_eval, spline);
-
731  }
-
732 
-
733 
-
734 private:
-
735  static QuadratureDomainRP get_quadrature_points_in_cell(int cell_idx_r, int cell_idx_p)
-
736  {
-
737  const QuadratureIndexR first_quad_point_r(cell_idx_r * n_gauss_legendre_r);
-
738  const QuadratureIndexP first_quad_point_p(cell_idx_p * n_gauss_legendre_p);
-
739  constexpr QuadratureLengthR n_GL_r(n_gauss_legendre_r);
-
740  constexpr QuadratureLengthP n_GL_p(n_gauss_legendre_p);
-
741  const QuadratureDomainR quad_points_r(first_quad_point_r, n_GL_r);
-
742  const QuadratureDomainP quad_points_p(first_quad_point_p, n_GL_p);
-
743  return QuadratureDomainRP(quad_points_r, quad_points_p);
-
744  }
-
745 
-
746  template <class Mapping>
-
747  double weak_integral_element(
-
748  QuadratureIndexR ir,
-
749  QuadratureIndexP ip,
-
750  EvalDeriv2DType const& test_bspline_val_and_deriv,
-
751  EvalDeriv2DType const& trial_bspline_val_and_deriv,
-
752  Spline2DView coeff_alpha,
-
753  Spline2DView coeff_beta,
-
754  SplineRPEvaluator const& evaluator,
-
755  Mapping const& mapping)
-
756  {
-
757  return templated_weak_integral_element(
-
758  ir,
-
759  ip,
-
760  test_bspline_val_and_deriv,
-
761  trial_bspline_val_and_deriv,
-
762  test_bspline_val_and_deriv,
-
763  trial_bspline_val_and_deriv,
-
764  coeff_alpha,
-
765  coeff_beta,
-
766  evaluator,
-
767  mapping);
-
768  }
-
769 
-
770  template <class Mapping>
-
771  double weak_integral_element(
-
772  QuadratureIndexR ir,
-
773  QuadratureIndexP ip,
-
774  EvalDeriv2DType const& test_bspline_val_and_deriv,
-
775  EvalDeriv1DType const& trial_bspline_val_and_deriv_r,
-
776  EvalDeriv1DType const& trial_bspline_val_and_deriv_p,
+
646  // Find the cells on which the bspline is non-zero
+
647  int first_cell_r(r_idx - BSplinesR_Polar::degree());
+
648  int first_cell_p(p_idx - BSplinesP_Polar::degree());
+
649  std::size_t last_cell_r(r_idx + 1);
+
650  if (first_cell_r < 0)
+
651  first_cell_r = 0;
+
652  if (last_cell_r > ncells_r)
+
653  last_cell_r = ncells_r;
+
654  ddc::DiscreteVector<RCellDim> const r_length(last_cell_r - first_cell_r);
+
655  ddc::DiscreteVector<PCellDim> const p_length(BSplinesP_Polar::degree() + 1);
+
656 
+
657 
+
658  ddc::DiscreteElement<RCellDim> const start_r(first_cell_r);
+
659  ddc::DiscreteElement<PCellDim> const start_p(pmod(first_cell_p));
+
660  const ddc::DiscreteDomain<RCellDim> r_cells(start_r, r_length);
+
661  const ddc::DiscreteDomain<PCellDim> p_cells(start_p, p_length);
+
662  const ddc::DiscreteDomain<RCellDim, PCellDim> non_zero_cells(r_cells, p_cells);
+
663  assert(r_length * p_length > 0);
+
664  double element = 0.0;
+
665  ddc::for_each(non_zero_cells, [&](CellIndex const cell_idx) {
+
666  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
+
667  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
+
668 
+
669  const QuadratureDomainRP cell_quad_points(
+
670  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
+
671 
+
672  // Find the column where the non-zero data is stored
+
673  ddc::DiscreteElement<RBasisSubset> ib_r(r_idx - cell_idx_r);
+
674  ddc::DiscreteElement<PBasisSubset> ib_p(pmod(p_idx - cell_idx_p));
+
675 
+
676  // Calculate the weak integral
+
677  element += ddc::transform_reduce(
+
678  cell_quad_points,
+
679  0.0,
+
680  ddc::reducer::sum<double>(),
+
681  [&](QuadratureIndexRP const quad_idx) {
+
682  QuadratureIndexR const ir = ddc::select<QDimRMesh>(quad_idx);
+
683  QuadratureIndexP const ip = ddc::select<QDimPMesh>(quad_idx);
+
684  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
+
685  double rb = r_basis_vals_and_derivs(ib_r, ir).value;
+
686  double pb = p_basis_vals_and_derivs(ib_p, ip).value;
+
687  return rhs(coord) * rb * pb * int_volume(ir, ip);
+
688  });
+
689  });
+
690  b(idx.uid()) = element;
+
691  });
+
692 
+
693  // Solve the matrix equation
+
694  Eigen::VectorXd x = m_matrix.solve(b);
+
695 
+
696  BSDomainRP dirichlet_boundary_domain(
+
697  radial_bsplines.take_last(ddc::DiscreteVector<BSplinesR_Polar> {1}),
+
698  polar_bsplines);
+
699  BSDomainP_Polar polar_domain(ddc::discrete_space<BSplinesP_Polar>().full_domain());
+
700 
+
701 
+
702  // Fill the spline
+
703  ddc::for_each(PolarBSplinesRP::singular_domain(), [&](IDimPolarBspl const idx) {
+
704  spline.singular_spline_coef(idx) = x(idx.uid());
+
705  });
+
706  ddc::for_each(fem_non_singular_domain, [&](IDimPolarBspl const idx) {
+
707  const IDimBSpline2D_Polar idx_2d(PolarBSplinesRP::get_2d_index(idx));
+
708  spline.spline_coef(idx_2d) = x(idx.uid());
+
709  });
+
710  ddc::for_each(dirichlet_boundary_domain, [&](IDimBSpline2D_Polar const idx) {
+
711  spline.spline_coef(idx) = 0.0;
+
712  });
+
713 
+
714  // Copy the periodic elements
+
715  BSDomainRP copy_domain(
+
716  radial_bsplines,
+
717  polar_domain.remove_first(ddc::DiscreteVector<BSplinesP_Polar>(
+
718  ddc::discrete_space<BSplinesP_Polar>().nbasis())));
+
719  ddc::for_each(copy_domain, [&](IDimBSpline2D_Polar const idx_2d) {
+
720  spline.spline_coef(
+
721  ddc::select<BSplinesR_Polar>(idx_2d),
+
722  ddc::select<BSplinesP_Polar>(idx_2d))
+
723  = spline.spline_coef(
+
724  ddc::select<BSplinesR_Polar>(idx_2d),
+
725  ddc::select<BSplinesP_Polar>(idx_2d)
+
726  - ddc::discrete_space<BSplinesP_Polar>().nbasis());
+
727  });
+
728  }
+
729 
+
730 
+
746  template <class RHSFunction>
+
747  void operator()(RHSFunction const& rhs, ViewRP<CoordRP> const coords_eval, DSpanRP result) const
+
748  {
+
749  BSDomainP_Polar polar_domain(ddc::discrete_space<BSplinesP_Polar>().full_domain());
+ + +
752  BSDomainRP(radial_bsplines, polar_domain));
+
753 
+
754  (*this)(rhs, spline);
+
755  m_polar_spline_evaluator(result, coords_eval, spline);
+
756  }
+
757 
+
758 
+
759 private:
+
760  static QuadratureDomainRP get_quadrature_points_in_cell(int cell_idx_r, int cell_idx_p)
+
761  {
+
762  const QuadratureIndexR first_quad_point_r(cell_idx_r * n_gauss_legendre_r);
+
763  const QuadratureIndexP first_quad_point_p(cell_idx_p * n_gauss_legendre_p);
+
764  constexpr QuadratureLengthR n_GL_r(n_gauss_legendre_r);
+
765  constexpr QuadratureLengthP n_GL_p(n_gauss_legendre_p);
+
766  const QuadratureDomainR quad_points_r(first_quad_point_r, n_GL_r);
+
767  const QuadratureDomainP quad_points_p(first_quad_point_p, n_GL_p);
+
768  return QuadratureDomainRP(quad_points_r, quad_points_p);
+
769  }
+
770 
+
771  template <class Mapping>
+
772  double weak_integral_element(
+
773  QuadratureIndexR ir,
+
774  QuadratureIndexP ip,
+
775  EvalDeriv2DType const& test_bspline_val_and_deriv,
+
776  EvalDeriv2DType const& trial_bspline_val_and_deriv,
777  Spline2DView coeff_alpha,
778  Spline2DView coeff_beta,
-
779  SplineRPEvaluator const& evaluator,
+
779  SplineRPEvaluatorNullBound const& evaluator,
780  Mapping const& mapping)
781  {
782  return templated_weak_integral_element(
783  ir,
784  ip,
785  test_bspline_val_and_deriv,
-
786  trial_bspline_val_and_deriv_r,
+
786  trial_bspline_val_and_deriv,
787  test_bspline_val_and_deriv,
-
788  trial_bspline_val_and_deriv_p,
+
788  trial_bspline_val_and_deriv,
789  coeff_alpha,
790  coeff_beta,
791  evaluator,
@@ -777,21 +777,21 @@
796  double weak_integral_element(
797  QuadratureIndexR ir,
798  QuadratureIndexP ip,
-
799  EvalDeriv1DType const& test_bspline_val_and_deriv_r,
-
800  EvalDeriv2DType const& trial_bspline_val_and_deriv,
-
801  EvalDeriv1DType const& test_bspline_val_and_deriv_p,
+
799  EvalDeriv2DType const& test_bspline_val_and_deriv,
+
800  EvalDeriv1DType const& trial_bspline_val_and_deriv_r,
+
801  EvalDeriv1DType const& trial_bspline_val_and_deriv_p,
802  Spline2DView coeff_alpha,
803  Spline2DView coeff_beta,
-
804  SplineRPEvaluator const& evaluator,
+
804  SplineRPEvaluatorNullBound const& evaluator,
805  Mapping const& mapping)
806  {
807  return templated_weak_integral_element(
808  ir,
809  ip,
-
810  test_bspline_val_and_deriv_r,
-
811  trial_bspline_val_and_deriv,
-
812  test_bspline_val_and_deriv_p,
-
813  trial_bspline_val_and_deriv,
+
810  test_bspline_val_and_deriv,
+
811  trial_bspline_val_and_deriv_r,
+
812  test_bspline_val_and_deriv,
+
813  trial_bspline_val_and_deriv_p,
814  coeff_alpha,
815  coeff_beta,
816  evaluator,
@@ -803,255 +803,281 @@
822  QuadratureIndexR ir,
823  QuadratureIndexP ip,
824  EvalDeriv1DType const& test_bspline_val_and_deriv_r,
-
825  EvalDeriv1DType const& trial_bspline_val_and_deriv_r,
+
825  EvalDeriv2DType const& trial_bspline_val_and_deriv,
826  EvalDeriv1DType const& test_bspline_val_and_deriv_p,
-
827  EvalDeriv1DType const& trial_bspline_val_and_deriv_p,
-
828  Spline2DView coeff_alpha,
-
829  Spline2DView coeff_beta,
-
830  SplineRPEvaluator const& evaluator,
-
831  Mapping const& mapping)
-
832  {
-
833  return templated_weak_integral_element(
-
834  ir,
-
835  ip,
-
836  test_bspline_val_and_deriv_r,
-
837  trial_bspline_val_and_deriv_r,
-
838  test_bspline_val_and_deriv_p,
-
839  trial_bspline_val_and_deriv_p,
-
840  coeff_alpha,
-
841  coeff_beta,
-
842  evaluator,
-
843  mapping);
-
844  }
-
845 
-
846  inline void get_value_and_gradient(
-
847  double& value,
-
848  std::array<double, 2>& gradient,
-
849  EvalDeriv1DType const& r_basis,
-
850  EvalDeriv1DType const& p_basis) const
-
851  {
-
852  value = r_basis.value * p_basis.value;
-
853  gradient = {r_basis.derivative * p_basis.value, r_basis.value * p_basis.derivative};
-
854  }
-
855 
-
856  inline void get_value_and_gradient(
-
857  double& value,
-
858  std::array<double, 2>& gradient,
-
859  EvalDeriv2DType const& basis,
-
860  EvalDeriv2DType const&) const // Last argument is duplicate
-
861  {
-
862  value = basis.value;
-
863  gradient = {basis.radial_derivative, basis.poloidal_derivative};
-
864  }
-
865 
-
875  template <class Mapping, class TestValDerivType, class TrialValDerivType>
-
876  double templated_weak_integral_element(
-
877  QuadratureIndexR ir,
-
878  QuadratureIndexP ip,
-
879  TestValDerivType const& test_bspline_val_and_deriv,
-
880  TrialValDerivType const& trial_bspline_val_and_deriv,
-
881  TestValDerivType const& test_bspline_val_and_deriv_p,
-
882  TrialValDerivType const& trial_bspline_val_and_deriv_p,
-
883  Spline2DView coeff_alpha,
-
884  Spline2DView coeff_beta,
-
885  SplineRPEvaluator const& spline_evaluator,
-
886  Mapping const& mapping)
-
887  {
-
888  static_assert(
-
889  std::is_same_v<
-
890  TestValDerivType,
-
891  EvalDeriv1DType> || std::is_same_v<TestValDerivType, EvalDeriv2DType>);
-
892  static_assert(
-
893  std::is_same_v<
-
894  TrialValDerivType,
-
895  EvalDeriv1DType> || std::is_same_v<TrialValDerivType, EvalDeriv2DType>);
-
896 
-
897  // Calculate coefficients at quadrature point
-
898  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
-
899  const double alpha = spline_evaluator(coord, coeff_alpha);
-
900  const double beta = spline_evaluator(coord, coeff_beta);
-
901 
-
902  // Define the value and gradient of the test and trial basis functions
-
903  double basis_val_test_space;
-
904  double basis_val_trial_space;
-
905  std::array<double, 2> basis_gradient_test_space;
-
906  std::array<double, 2> basis_gradient_trial_space;
-
907  get_value_and_gradient(
-
908  basis_val_test_space,
-
909  basis_gradient_test_space,
-
910  test_bspline_val_and_deriv,
-
911  test_bspline_val_and_deriv_p);
-
912  get_value_and_gradient(
-
913  basis_val_trial_space,
-
914  basis_gradient_trial_space,
-
915  trial_bspline_val_and_deriv,
-
916  trial_bspline_val_and_deriv_p);
-
917 
-
918  // Assemble the weak integral element
-
919  return int_volume(ir, ip)
-
920  * (alpha
-
921  * dot_product(
-
922  basis_gradient_test_space,
-
923  mapping.to_covariant(basis_gradient_trial_space, coord))
-
924  + beta * basis_val_test_space * basis_val_trial_space);
-
925  }
+
827  Spline2DView coeff_alpha,
+
828  Spline2DView coeff_beta,
+
829  SplineRPEvaluatorNullBound const& evaluator,
+
830  Mapping const& mapping)
+
831  {
+
832  return templated_weak_integral_element(
+
833  ir,
+
834  ip,
+
835  test_bspline_val_and_deriv_r,
+
836  trial_bspline_val_and_deriv,
+
837  test_bspline_val_and_deriv_p,
+
838  trial_bspline_val_and_deriv,
+
839  coeff_alpha,
+
840  coeff_beta,
+
841  evaluator,
+
842  mapping);
+
843  }
+
844 
+
845  template <class Mapping>
+
846  double weak_integral_element(
+
847  QuadratureIndexR ir,
+
848  QuadratureIndexP ip,
+
849  EvalDeriv1DType const& test_bspline_val_and_deriv_r,
+
850  EvalDeriv1DType const& trial_bspline_val_and_deriv_r,
+
851  EvalDeriv1DType const& test_bspline_val_and_deriv_p,
+
852  EvalDeriv1DType const& trial_bspline_val_and_deriv_p,
+
853  Spline2DView coeff_alpha,
+
854  Spline2DView coeff_beta,
+
855  SplineRPEvaluatorNullBound const& evaluator,
+
856  Mapping const& mapping)
+
857  {
+
858  return templated_weak_integral_element(
+
859  ir,
+
860  ip,
+
861  test_bspline_val_and_deriv_r,
+
862  trial_bspline_val_and_deriv_r,
+
863  test_bspline_val_and_deriv_p,
+
864  trial_bspline_val_and_deriv_p,
+
865  coeff_alpha,
+
866  coeff_beta,
+
867  evaluator,
+
868  mapping);
+
869  }
+
870 
+
871  inline void get_value_and_gradient(
+
872  double& value,
+
873  std::array<double, 2>& gradient,
+
874  EvalDeriv1DType const& r_basis,
+
875  EvalDeriv1DType const& p_basis) const
+
876  {
+
877  value = r_basis.value * p_basis.value;
+
878  gradient = {r_basis.derivative * p_basis.value, r_basis.value * p_basis.derivative};
+
879  }
+
880 
+
881  inline void get_value_and_gradient(
+
882  double& value,
+
883  std::array<double, 2>& gradient,
+
884  EvalDeriv2DType const& basis,
+
885  EvalDeriv2DType const&) const // Last argument is duplicate
+
886  {
+
887  value = basis.value;
+
888  gradient = {basis.radial_derivative, basis.poloidal_derivative};
+
889  }
+
890 
+
900  template <class Mapping, class TestValDerivType, class TrialValDerivType>
+
901  double templated_weak_integral_element(
+
902  QuadratureIndexR ir,
+
903  QuadratureIndexP ip,
+
904  TestValDerivType const& test_bspline_val_and_deriv,
+
905  TrialValDerivType const& trial_bspline_val_and_deriv,
+
906  TestValDerivType const& test_bspline_val_and_deriv_p,
+
907  TrialValDerivType const& trial_bspline_val_and_deriv_p,
+
908  Spline2DView coeff_alpha,
+
909  Spline2DView coeff_beta,
+
910  SplineRPEvaluatorNullBound const& spline_evaluator,
+
911  Mapping const& mapping)
+
912  {
+
913  static_assert(
+
914  std::is_same_v<
+
915  TestValDerivType,
+
916  EvalDeriv1DType> || std::is_same_v<TestValDerivType, EvalDeriv2DType>);
+
917  static_assert(
+
918  std::is_same_v<
+
919  TrialValDerivType,
+
920  EvalDeriv1DType> || std::is_same_v<TrialValDerivType, EvalDeriv2DType>);
+
921 
+
922  // Calculate coefficients at quadrature point
+
923  CoordRP coord(get_coordinate(ir), get_coordinate(ip));
+
924  const double alpha = spline_evaluator(coord, coeff_alpha);
+
925  const double beta = spline_evaluator(coord, coeff_beta);
926 
-
931  template <class Mapping>
-
932  double get_matrix_stencil_element(
-
933  IDimBSpline2D idx_test,
-
934  IDimBSpline2D idx_trial,
-
935  Spline2DView coeff_alpha,
-
936  Spline2DView coeff_beta,
-
937  SplineRPEvaluator const& evaluator,
-
938  Mapping const& mapping)
-
939  {
-
940  // 0 <= r_idx_test < 8
-
941  // 0 <= r_idx_trial < 8
-
942  // r_idx_test < r_idx_trial
-
943  const int r_idx_test(ddc::select<BSplinesR>(idx_test).uid());
-
944  const int r_idx_trial(ddc::select<BSplinesR>(idx_trial).uid());
-
945  // 0 <= p_idx_test < 8
-
946  // 0 <= p_idx_trial < 8
-
947  int p_idx_test(pmod(ddc::select<BSplinesP>(idx_test).uid()));
-
948  int p_idx_trial(pmod(ddc::select<BSplinesP>(idx_trial).uid()));
-
949 
-
950  const std::size_t ncells_r = ddc::discrete_space<BSplinesR>().ncells();
-
951  const std::size_t nbasis_p = ddc::discrete_space<BSplinesP>().nbasis();
-
952 
-
953  // 0<= r_offset <= degree_r
-
954  // -degree_p <= p_offset <= degree_p
-
955  const int r_offset = r_idx_trial - r_idx_test;
-
956  int p_offset = pmod(p_idx_trial - p_idx_test);
-
957  if (p_offset >= int(nbasis_p - BSplinesP::degree())) {
-
958  p_offset -= nbasis_p;
-
959  }
-
960  assert(r_offset >= 0);
-
961  assert(r_offset <= int(BSplinesR::degree()));
-
962  assert(p_offset >= -int(BSplinesP::degree()));
-
963  assert(p_offset <= int(BSplinesP::degree()));
-
964 
-
965  // Find the domain covering the cells where both the test and trial functions are non-zero
-
966  int n_overlap_stencil_r(BSplinesR::degree() + 1 - r_offset);
-
967  int first_overlap_r(r_idx_trial - BSplinesR::degree());
-
968 
-
969  int first_overlap_p;
-
970  int n_overlap_stencil_p;
-
971  if (p_offset > 0) {
-
972  n_overlap_stencil_p = BSplinesP::degree() + 1 - p_offset;
-
973  first_overlap_p = pmod(p_idx_trial - BSplinesP::degree());
-
974  } else {
-
975  n_overlap_stencil_p = BSplinesP::degree() + 1 + p_offset;
-
976  first_overlap_p = pmod(p_idx_test - BSplinesP::degree());
-
977  }
-
978 
-
979  if (first_overlap_r < 0) {
-
980  const int n_compact = first_overlap_r;
-
981  first_overlap_r = 0;
-
982  n_overlap_stencil_r += n_compact;
-
983  }
-
984 
-
985  const int n_to_edge_r(ncells_r - first_overlap_r);
-
986 
-
987  const ddc::DiscreteVector<RCellDim> n_overlap_r(min(n_overlap_stencil_r, n_to_edge_r));
-
988  const ddc::DiscreteVector<PCellDim> n_overlap_p(n_overlap_stencil_p);
+
927  // Define the value and gradient of the test and trial basis functions
+
928  double basis_val_test_space;
+
929  double basis_val_trial_space;
+
930  std::array<double, 2> basis_gradient_test_space;
+
931  std::array<double, 2> basis_gradient_trial_space;
+
932  get_value_and_gradient(
+
933  basis_val_test_space,
+
934  basis_gradient_test_space,
+
935  test_bspline_val_and_deriv,
+
936  test_bspline_val_and_deriv_p);
+
937  get_value_and_gradient(
+
938  basis_val_trial_space,
+
939  basis_gradient_trial_space,
+
940  trial_bspline_val_and_deriv,
+
941  trial_bspline_val_and_deriv_p);
+
942 
+
943  // Assemble the weak integral element
+
944  return int_volume(ir, ip)
+
945  * (alpha
+
946  * dot_product(
+
947  basis_gradient_test_space,
+
948  mapping.to_covariant(basis_gradient_trial_space, coord))
+
949  + beta * basis_val_test_space * basis_val_trial_space);
+
950  }
+
951 
+
956  template <class Mapping>
+
957  double get_matrix_stencil_element(
+
958  IDimBSpline2D_Polar idx_test,
+
959  IDimBSpline2D_Polar idx_trial,
+
960  Spline2DView coeff_alpha,
+
961  Spline2DView coeff_beta,
+
962  SplineRPEvaluatorNullBound const& evaluator,
+
963  Mapping const& mapping)
+
964  {
+
965  // 0 <= r_idx_test < 8
+
966  // 0 <= r_idx_trial < 8
+
967  // r_idx_test < r_idx_trial
+
968  const int r_idx_test(ddc::select<BSplinesR_Polar>(idx_test).uid());
+
969  const int r_idx_trial(ddc::select<BSplinesR_Polar>(idx_trial).uid());
+
970  // 0 <= p_idx_test < 8
+
971  // 0 <= p_idx_trial < 8
+
972  int p_idx_test(pmod(ddc::select<BSplinesP_Polar>(idx_test).uid()));
+
973  int p_idx_trial(pmod(ddc::select<BSplinesP_Polar>(idx_trial).uid()));
+
974 
+
975  const std::size_t ncells_r = ddc::discrete_space<BSplinesR_Polar>().ncells();
+
976  const std::size_t nbasis_p = ddc::discrete_space<BSplinesP_Polar>().nbasis();
+
977 
+
978  // 0<= r_offset <= degree_r
+
979  // -degree_p <= p_offset <= degree_p
+
980  const int r_offset = r_idx_trial - r_idx_test;
+
981  int p_offset = pmod(p_idx_trial - p_idx_test);
+
982  if (p_offset >= int(nbasis_p - BSplinesP_Polar::degree())) {
+
983  p_offset -= nbasis_p;
+
984  }
+
985  assert(r_offset >= 0);
+
986  assert(r_offset <= int(BSplinesR_Polar::degree()));
+
987  assert(p_offset >= -int(BSplinesP_Polar::degree()));
+
988  assert(p_offset <= int(BSplinesP_Polar::degree()));
989 
-
990  const ddc::DiscreteElement<RCellDim> first_overlap_element_r(first_overlap_r);
-
991  const ddc::DiscreteElement<PCellDim> first_overlap_element_p(first_overlap_p);
-
992 
-
993  const ddc::DiscreteDomain<RCellDim> r_cells(first_overlap_element_r, n_overlap_r);
-
994  const ddc::DiscreteDomain<PCellDim> p_cells(first_overlap_element_p, n_overlap_p);
-
995  const ddc::DiscreteDomain<RCellDim, PCellDim> non_zero_cells(r_cells, p_cells);
-
996 
-
997  assert(n_overlap_r * n_overlap_p > 0);
-
998  return ddc::transform_reduce(
-
999  non_zero_cells,
-
1000  0.0,
-
1001  ddc::reducer::sum<double>(),
-
1002  [&](CellIndex const cell_idx) {
-
1003  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
-
1004  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
-
1005 
-
1006  const QuadratureDomainRP cell_quad_points(
-
1007  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
-
1008 
-
1009  int ib_test_p_idx = p_idx_test - cell_idx_p;
-
1010  int ib_trial_p_idx = p_idx_trial - cell_idx_p;
+
990  // Find the domain covering the cells where both the test and trial functions are non-zero
+
991  int n_overlap_stencil_r(BSplinesR_Polar::degree() + 1 - r_offset);
+
992  int first_overlap_r(r_idx_trial - BSplinesR_Polar::degree());
+
993 
+
994  int first_overlap_p;
+
995  int n_overlap_stencil_p;
+
996  if (p_offset > 0) {
+
997  n_overlap_stencil_p = BSplinesP_Polar::degree() + 1 - p_offset;
+
998  first_overlap_p = pmod(p_idx_trial - BSplinesP_Polar::degree());
+
999  } else {
+
1000  n_overlap_stencil_p = BSplinesP_Polar::degree() + 1 + p_offset;
+
1001  first_overlap_p = pmod(p_idx_test - BSplinesP_Polar::degree());
+
1002  }
+
1003 
+
1004  if (first_overlap_r < 0) {
+
1005  const int n_compact = first_overlap_r;
+
1006  first_overlap_r = 0;
+
1007  n_overlap_stencil_r += n_compact;
+
1008  }
+
1009 
+
1010  const int n_to_edge_r(ncells_r - first_overlap_r);
1011 
-
1012  // Find the column where the non-zero data is stored
-
1013  ddc::DiscreteElement<RBasisSubset> ib_test_r(r_idx_test - cell_idx_r);
-
1014  ddc::DiscreteElement<PBasisSubset> ib_test_p(pmod(ib_test_p_idx));
-
1015  ddc::DiscreteElement<RBasisSubset> ib_trial_r(r_idx_trial - cell_idx_r);
-
1016  ddc::DiscreteElement<PBasisSubset> ib_trial_p(pmod(ib_trial_p_idx));
+
1012  const ddc::DiscreteVector<RCellDim> n_overlap_r(min(n_overlap_stencil_r, n_to_edge_r));
+
1013  const ddc::DiscreteVector<PCellDim> n_overlap_p(n_overlap_stencil_p);
+
1014 
+
1015  const ddc::DiscreteElement<RCellDim> first_overlap_element_r(first_overlap_r);
+
1016  const ddc::DiscreteElement<PCellDim> first_overlap_element_p(first_overlap_p);
1017 
-
1018  assert(ib_test_r.uid() < BSplinesR::degree() + 1);
-
1019  assert(ib_test_p.uid() < BSplinesP::degree() + 1);
-
1020  assert(ib_trial_r.uid() < BSplinesR::degree() + 1);
-
1021  assert(ib_trial_p.uid() < BSplinesP::degree() + 1);
-
1022 
-
1023  // Calculate the weak integral
-
1024  return ddc::transform_reduce(
-
1025  cell_quad_points,
-
1026  0.0,
-
1027  ddc::reducer::sum<double>(),
-
1028  [&](QuadratureIndexRP const quad_idx) {
-
1029  QuadratureIndexR const r_idx = ddc::select<QDimRMesh>(quad_idx);
-
1030  QuadratureIndexP const p_idx = ddc::select<QDimPMesh>(quad_idx);
-
1031  return weak_integral_element(
-
1032  r_idx,
-
1033  p_idx,
-
1034  r_basis_vals_and_derivs(ib_test_r, r_idx),
-
1035  r_basis_vals_and_derivs(ib_trial_r, r_idx),
-
1036  p_basis_vals_and_derivs(ib_test_p, p_idx),
-
1037  p_basis_vals_and_derivs(ib_trial_p, p_idx),
-
1038  coeff_alpha,
-
1039  coeff_beta,
-
1040  evaluator,
-
1041  mapping);
-
1042  });
-
1043  });
-
1044  }
-
1045 
-
1046  template <class... QueryDDims>
-
1047  static ddc::Coordinate<typename QueryDDims::continuous_dimension_type::tag...> get_coordinate(
-
1048  ddc::DiscreteElement<QueryDDims...> mesh_idx)
-
1049  {
-
1050  ddc::Coordinate<typename QueryDDims::continuous_dimension_type...> coord(
-
1051  ddc::coordinate(ddc::select<QueryDDims>(mesh_idx))...);
-
1052  return ddc::Coordinate<typename QueryDDims::continuous_dimension_type::tag...>(
-
1053  ddc::get<typename QueryDDims::continuous_dimension_type>(coord)...);
-
1054  }
-
1055 
-
1056  static int pmod(int idx_p)
-
1057  {
-
1058  int ncells_p = ddc::discrete_space<BSplinesP>().ncells();
-
1059  while (idx_p < 0)
-
1060  idx_p += ncells_p;
-
1061  while (idx_p >= ncells_p)
-
1062  idx_p -= ncells_p;
-
1063  return idx_p;
-
1064  }
-
1065 };
+
1018  const ddc::DiscreteDomain<RCellDim> r_cells(first_overlap_element_r, n_overlap_r);
+
1019  const ddc::DiscreteDomain<PCellDim> p_cells(first_overlap_element_p, n_overlap_p);
+
1020  const ddc::DiscreteDomain<RCellDim, PCellDim> non_zero_cells(r_cells, p_cells);
+
1021 
+
1022  assert(n_overlap_r * n_overlap_p > 0);
+
1023  return ddc::transform_reduce(
+
1024  non_zero_cells,
+
1025  0.0,
+
1026  ddc::reducer::sum<double>(),
+
1027  [&](CellIndex const cell_idx) {
+
1028  const int cell_idx_r(ddc::select<RCellDim>(cell_idx).uid());
+
1029  const int cell_idx_p(pmod(ddc::select<PCellDim>(cell_idx).uid()));
+
1030 
+
1031  const QuadratureDomainRP cell_quad_points(
+
1032  get_quadrature_points_in_cell(cell_idx_r, cell_idx_p));
+
1033 
+
1034  int ib_test_p_idx = p_idx_test - cell_idx_p;
+
1035  int ib_trial_p_idx = p_idx_trial - cell_idx_p;
+
1036 
+
1037  // Find the column where the non-zero data is stored
+
1038  ddc::DiscreteElement<RBasisSubset> ib_test_r(r_idx_test - cell_idx_r);
+
1039  ddc::DiscreteElement<PBasisSubset> ib_test_p(pmod(ib_test_p_idx));
+
1040  ddc::DiscreteElement<RBasisSubset> ib_trial_r(r_idx_trial - cell_idx_r);
+
1041  ddc::DiscreteElement<PBasisSubset> ib_trial_p(pmod(ib_trial_p_idx));
+
1042 
+
1043  assert(ib_test_r.uid() < BSplinesR_Polar::degree() + 1);
+
1044  assert(ib_test_p.uid() < BSplinesP_Polar::degree() + 1);
+
1045  assert(ib_trial_r.uid() < BSplinesR_Polar::degree() + 1);
+
1046  assert(ib_trial_p.uid() < BSplinesP_Polar::degree() + 1);
+
1047 
+
1048  // Calculate the weak integral
+
1049  return ddc::transform_reduce(
+
1050  cell_quad_points,
+
1051  0.0,
+
1052  ddc::reducer::sum<double>(),
+
1053  [&](QuadratureIndexRP const quad_idx) {
+
1054  QuadratureIndexR const r_idx = ddc::select<QDimRMesh>(quad_idx);
+
1055  QuadratureIndexP const p_idx = ddc::select<QDimPMesh>(quad_idx);
+
1056  return weak_integral_element(
+
1057  r_idx,
+
1058  p_idx,
+
1059  r_basis_vals_and_derivs(ib_test_r, r_idx),
+
1060  r_basis_vals_and_derivs(ib_trial_r, r_idx),
+
1061  p_basis_vals_and_derivs(ib_test_p, p_idx),
+
1062  p_basis_vals_and_derivs(ib_trial_p, p_idx),
+
1063  coeff_alpha,
+
1064  coeff_beta,
+
1065  evaluator,
+
1066  mapping);
+
1067  });
+
1068  });
+
1069  }
+
1070 
+
1071  template <class... QueryDDims>
+
1072  static ddc::Coordinate<typename QueryDDims::continuous_dimension_type::tag...> get_coordinate(
+
1073  ddc::DiscreteElement<QueryDDims...> mesh_idx)
+
1074  {
+
1075  ddc::Coordinate<typename QueryDDims::continuous_dimension_type...> coord(
+
1076  ddc::coordinate(ddc::select<QueryDDims>(mesh_idx))...);
+
1077  return ddc::Coordinate<typename QueryDDims::continuous_dimension_type::tag...>(
+
1078  ddc::get<typename QueryDDims::continuous_dimension_type>(coord)...);
+
1079  }
+
1080 
+
1081  static int pmod(int idx_p)
+
1082  {
+
1083  int ncells_p = ddc::discrete_space<BSplinesP_Polar>().ncells();
+
1084  while (idx_p < 0)
+
1085  idx_p += ncells_p;
+
1086  while (idx_p >= ncells_p)
+
1087  idx_p -= ncells_p;
+
1088  return idx_p;
+
1089  }
+
1090 };
Definition: gauss_legendre_integration.hpp:27
-
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:33
-
static tensor_product_discrete_element_type get_2d_index(discrete_element_type const &idx)
Get the 2D index of the tensor product bspline which, when evaluated at the same point,...
Definition: polar_bsplines.hpp:173
-
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:141
-
static constexpr std::size_t n_singular_basis()
Get the number of singular bsplines i.e.
Definition: polar_bsplines.hpp:128
-
static discrete_element_type get_polar_index(tensor_product_discrete_element_type const &idx)
Get the index of the polar bspline which, when evaluated at the same point, returns the same values a...
Definition: polar_bsplines.hpp:156
-
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:66
-
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:12
-
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:37
-
void operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const
Solve the Poisson equation.
Definition: polarpoissonsolver.hpp:722
-
PolarSplineFEMPoissonSolver(Spline2DView coeff_alpha, Spline2DView coeff_beta, Mapping const &mapping)
Instantiate a polar Poisson solver using FEM with B-splines.
Definition: polarpoissonsolver.hpp:219
-
void operator()(RHSFunction const &rhs, SplinePolar &spline) const
Solve the Poisson equation.
Definition: polarpoissonsolver.hpp:594
-
This struct is used to provide alternative tags.
Definition: polarpoissonsolver.hpp:60
-
Definition: polarpoissonsolver.hpp:43
-
Definition: polarpoissonsolver.hpp:49
-
Definition: polarpoissonsolver.hpp:40
-
Definition: polarpoissonsolver.hpp:46
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
-
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:13
-
ddc::Chunk< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A Chunk containing the coefficients in front of the b-spline elements which can be expressed as a ten...
Definition: polar_spline.hpp:25
-
ddc::Chunk< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A Chunk containing the coefficients in front of the b-spline elements near the singular point which c...
Definition: polar_spline.hpp:31
+
A class containing all information describing polar bsplines.
Definition: polar_bsplines.hpp:28
+
BSplinesP BSplinesP_tag
The poloidal bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:50
+
static tensor_product_discrete_element_type get_2d_index(discrete_element_type const &idx)
Get the 2D index of the tensor product bspline which, when evaluated at the same point,...
Definition: polar_bsplines.hpp:168
+
static constexpr discrete_domain_type singular_domain()
Get the ddc::DiscreteDomain containing the indices of the b-splines which traverse the singular point...
Definition: polar_bsplines.hpp:136
+
static constexpr std::size_t n_singular_basis()
Get the number of singular bsplines i.e.
Definition: polar_bsplines.hpp:123
+
static discrete_element_type get_polar_index(tensor_product_discrete_element_type const &idx)
Get the index of the polar bspline which, when evaluated at the same point, returns the same values a...
Definition: polar_bsplines.hpp:151
+
static constexpr int continuity
The continuity enforced by the bsplines at the singular point.
Definition: polar_bsplines.hpp:61
+
BSplinesR BSplinesR_tag
The radial bspline from which the polar bsplines are constructed.
Definition: polar_bsplines.hpp:47
+
Define an evaluator on polar B-splines.
Definition: polar_spline_evaluator.hpp:13
+
Define a polar Poisson solver.
Definition: polarpoissonsolver.hpp:36
+
void operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const
Solve the Poisson equation.
Definition: polarpoissonsolver.hpp:747
+
PolarSplineFEMPoissonSolver(Spline2DView coeff_alpha, Spline2DView coeff_beta, Mapping const &mapping)
Instantiate a polar Poisson solver using FEM with B-splines.
Definition: polarpoissonsolver.hpp:226
+
void operator()(RHSFunction const &rhs, SplinePolar &spline) const
Solve the Poisson equation.
Definition: polarpoissonsolver.hpp:620
+
This struct is used to provide alternative tags.
Definition: polarpoissonsolver.hpp:59
+
Definition: polarpoissonsolver.hpp:42
+
Definition: polarpoissonsolver.hpp:48
+
Definition: polarpoissonsolver.hpp:39
+
Definition: polarpoissonsolver.hpp:45
+
A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.
Definition: polar_spline.hpp:19
+
ddc::Chunk< double, ddc::DiscreteDomain< BSplineR, BSplineP > > spline_coef
A Chunk containing the coefficients in front of the b-spline elements which can be expressed as a ten...
Definition: polar_spline.hpp:31
+
ddc::Chunk< double, ddc::DiscreteDomain< PolarBSplinesType > > singular_spline_coef
A Chunk containing the coefficients in front of the b-spline elements near the singular point which c...
Definition: polar_spline.hpp:37
diff --git a/refined__discrete__mapping__to__cartesian_8hpp_source.html b/refined__discrete__mapping__to__cartesian_8hpp_source.html index c23274972..6291fa94e 100644 --- a/refined__discrete__mapping__to__cartesian_8hpp_source.html +++ b/refined__discrete__mapping__to__cartesian_8hpp_source.html @@ -106,462 +106,450 @@
1 #pragma once
2 
3 #include <ddc/ddc.hpp>
-
4 
-
5 #include <sll/bsplines_non_uniform.hpp>
-
6 #include <sll/bsplines_uniform.hpp>
-
7 #include <sll/constant_extrapolation_boundary_value.hpp>
-
8 #include <sll/mapping/curvilinear2d_to_cartesian.hpp>
-
9 #include <sll/mapping/discrete_mapping_to_cartesian.hpp>
-
10 #include <sll/null_boundary_value.hpp>
-
11 #include <sll/spline_builder_2d.hpp>
-
12 #include <sll/spline_evaluator_2d.hpp>
-
13 
-
14 
-
30 template <class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
- -
32  : public Curvilinear2DToCartesian<
-
33  RDimX,
-
34  RDimY,
-
35  typename SplineRPBuilder::bsplines_type1::tag_type,
-
36  typename SplineRPBuilder::bsplines_type2::tag_type>
-
37 {
-
38 private:
-
42  using BSplineR = typename SplineRPBuilder::bsplines_type1;
-
46  using BSplineP = typename SplineRPBuilder::bsplines_type2;
-
50  using RDimR = typename BSplineR::tag_type;
-
54  using RDimP = typename BSplineP::tag_type;
+
4 #include <ddc/kernels/splines.hpp>
+
5 
+
6 #include <sll/mapping/curvilinear2d_to_cartesian.hpp>
+
7 #include <sll/mapping/discrete_mapping_to_cartesian.hpp>
+
8 
+
9 
+
25 template <class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
+ +
27  : public Curvilinear2DToCartesian<
+
28  RDimX,
+
29  RDimY,
+
30  typename SplineRPBuilder::bsplines_type1::tag_type,
+
31  typename SplineRPBuilder::bsplines_type2::tag_type>
+
32 {
+
33 private:
+
37  using BSplineR = typename SplineRPBuilder::bsplines_type1;
+
41  using BSplineP = typename SplineRPBuilder::bsplines_type2;
+
45  using RDimR = typename BSplineR::tag_type;
+
49  using RDimP = typename BSplineP::tag_type;
+
50 
+
54  using IDimR = typename SplineRPBuilder::interpolation_mesh_type1;
55 
-
59  using IDimR = typename SplineRPBuilder::interpolation_mesh_type1;
+
59  using IDimP = typename SplineRPBuilder::interpolation_mesh_type2;
60 
-
64  using IDimP = typename SplineRPBuilder::interpolation_mesh_type2;
-
65 
-
66 
-
67 
-
72  static constexpr bool BSplineR_uniform = BSplineR::is_uniform();
-
77  static constexpr bool BSplineP_uniform = BSplineP::is_uniform();
-
78 
-
79  static int constexpr BSDegreeRRefined = BSplineR::degree();
-
80  static int constexpr BSDegreePRefined = BSplineP::degree();
-
81 
-
82 
-
83 public:
-
87  struct RDimRRefined
-
88  {
-
93  static bool constexpr PERIODIC = false;
-
94  };
-
98  struct RDimPRefined
-
99  {
-
104  static bool constexpr PERIODIC = true;
-
105  };
- -
110  {
-
115  static bool constexpr PERIODIC = false;
-
116  };
- -
121  {
-
126  static bool constexpr PERIODIC = false;
-
127  };
-
128 
-
129 private:
-
130  using BSplineRRefined = std::conditional_t<
-
131  BSplineR_uniform,
- - -
134  using BSplinePRefined = std::conditional_t<
-
135  BSplineP_uniform,
- - +
61 
+
62 
+
67  static constexpr bool BSplineR_uniform = BSplineR::is_uniform();
+
72  static constexpr bool BSplineP_uniform = BSplineP::is_uniform();
+
73 
+
74  static int constexpr BSDegreeRRefined = BSplineR::degree();
+
75  static int constexpr BSDegreePRefined = BSplineP::degree();
+
76 
+
77 
+
78 public:
+
82  struct RDimRRefined
+
83  {
+
88  static bool constexpr PERIODIC = false;
+
89  };
+
93  struct RDimPRefined
+
94  {
+
99  static bool constexpr PERIODIC = true;
+
100  };
+ +
105  {
+
110  static bool constexpr PERIODIC = false;
+
111  };
+ +
116  {
+
121  static bool constexpr PERIODIC = false;
+
122  };
+
123 
+
124 private:
+
125  using BSplineRRefined = std::conditional_t<
+
126  BSplineR_uniform,
+
127  ddc::UniformBSplines<RDimRRefined, BSDegreeRRefined>,
+
128  ddc::NonUniformBSplines<RDimRRefined, BSDegreeRRefined>>;
+
129  using BSplinePRefined = std::conditional_t<
+
130  BSplineP_uniform,
+
131  ddc::UniformBSplines<RDimPRefined, BSDegreePRefined>,
+
132  ddc::NonUniformBSplines<RDimPRefined, BSDegreePRefined>>;
+
133 
+
134  static auto constexpr SplineRBoundaryRefined_min = SplineRPBuilder::builder_type1::s_bc_xmin;
+
135  static auto constexpr SplineRBoundaryRefined_max = SplineRPBuilder::builder_type1::s_bc_xmax;
+
136  static auto constexpr SplinePBoundaryRefined_min = SplineRPBuilder::builder_type2::s_bc_xmin;
+
137  static auto constexpr SplinePBoundaryRefined_max = SplineRPBuilder::builder_type2::s_bc_xmax;
138 
-
139  static auto constexpr SplineRBoundaryRefined_min = SplineRPBuilder::BcXmin1;
-
140  static auto constexpr SplineRBoundaryRefined_max = SplineRPBuilder::BcXmax1;
-
141  static auto constexpr SplinePBoundaryRefined_min = SplineRPBuilder::BcXmin2;
-
142  static auto constexpr SplinePBoundaryRefined_max = SplineRPBuilder::BcXmax2;
-
143 
+
139 
+
140  static bool constexpr UniformMeshR
+
141  = ddc::is_uniform_sampling_v<typename SplineRPBuilder::interpolation_mesh_type1>;
+
142  static bool constexpr UniformMeshP
+
143  = ddc::is_uniform_sampling_v<typename SplineRPBuilder::interpolation_mesh_type2>;
144 
-
145  static bool constexpr UniformMeshR
-
146  = ddc::is_uniform_sampling_v<typename SplineRPBuilder::interpolation_mesh_type1>;
-
147  static bool constexpr UniformMeshP
-
148  = ddc::is_uniform_sampling_v<typename SplineRPBuilder::interpolation_mesh_type2>;
-
149 
-
150 
-
151  using IDimRRefined = std::conditional_t<
-
152  UniformMeshR,
-
153  ddc::UniformPointSampling<RDimRRefined>,
-
154  ddc::NonUniformPointSampling<RDimRRefined>>;
-
155  using IDimPRefined = std::conditional_t<
-
156  UniformMeshP,
-
157  ddc::UniformPointSampling<RDimPRefined>,
-
158  ddc::NonUniformPointSampling<RDimPRefined>>;
-
159 
-
160 
- -
162  BSplineRRefined,
+
145 
+
146  using IDimRRefined = std::conditional_t<
+
147  UniformMeshR,
+
148  ddc::UniformPointSampling<RDimRRefined>,
+
149  ddc::NonUniformPointSampling<RDimRRefined>>;
+
150  using IDimPRefined = std::conditional_t<
+
151  UniformMeshP,
+
152  ddc::UniformPointSampling<RDimPRefined>,
+
153  ddc::NonUniformPointSampling<RDimPRefined>>;
+
154 
+
155 
+
156  using REvalBoundary = ddc::ConstantExtrapolationRule<RDimRRefined, RDimPRefined>;
+
157 
+
158  using SplineRPBuilderRefined = ddc::SplineBuilder2D<
+
159  Kokkos::DefaultHostExecutionSpace,
+
160  Kokkos::DefaultHostExecutionSpace::memory_space,
+
161  BSplineRRefined,
+
162  BSplinePRefined,
163  IDimRRefined,
-
164  SplineRBoundaryRefined_min,
-
165  SplineRBoundaryRefined_max>;
- -
167  BSplinePRefined,
-
168  IDimPRefined,
-
169  SplinePBoundaryRefined_min,
-
170  SplinePBoundaryRefined_max>;
- +
164  IDimPRefined,
+
165  SplineRBoundaryRefined_min,
+
166  SplineRBoundaryRefined_max,
+
167  SplinePBoundaryRefined_min,
+
168  SplinePBoundaryRefined_max,
+
169  ddc::SplineSolver::GINKGO,
+
170  IDimRRefined,
+
171  IDimPRefined>;
172 
-
173 
-
174  using CoordRRefined = ddc::Coordinate<RDimRRefined>;
-
175  using CoordPRefined = ddc::Coordinate<RDimPRefined>;
-
176  using CoordRPRefined = ddc::Coordinate<RDimRRefined, RDimPRefined>;
-
177 
- -
179  BSplineRRefined,
-
180  SplineRBoundaryRefined_min,
-
181  SplineRBoundaryRefined_max>;
- -
183  BSplinePRefined,
-
184  SplinePBoundaryRefined_min,
-
185  SplinePBoundaryRefined_max>;
+
173  using SplineRPEvaluatorRefined = ddc::SplineEvaluator2D<
+
174  Kokkos::DefaultHostExecutionSpace,
+
175  Kokkos::DefaultHostExecutionSpace::memory_space,
+
176  BSplineRRefined,
+
177  BSplinePRefined,
+
178  IDimRRefined,
+
179  IDimPRefined,
+
180  REvalBoundary,
+
181  REvalBoundary,
+
182  ddc::PeriodicExtrapolationRule<RDimPRefined>,
+
183  ddc::PeriodicExtrapolationRule<RDimPRefined>,
+
184  IDimRRefined,
+
185  IDimPRefined>;
186 
- -
188 
-
189  using BSDomainRRefined = ddc::DiscreteDomain<BSplineRRefined>;
-
190  using BSDomainPRefined = ddc::DiscreteDomain<BSplinePRefined>;
-
191  using BSDomainRPRefined = ddc::DiscreteDomain<BSplineRRefined, BSplinePRefined>;
-
192 
-
193  using IndexRRefined = ddc::DiscreteElement<IDimRRefined>;
-
194  using IndexPRefined = ddc::DiscreteElement<IDimPRefined>;
-
195  using IndexRPRefined = ddc::DiscreteElement<IDimRRefined, IDimPRefined>;
-
196 
-
197  using IVectRRefined = ddc::DiscreteVector<IDimRRefined>;
-
198  using IVectPRefined = ddc::DiscreteVector<IDimPRefined>;
-
199  using IVectRPRefined = ddc::DiscreteVector<IDimRRefined, IDimPRefined>;
+
187 
+
188  using CoordRRefined = ddc::Coordinate<RDimRRefined>;
+
189  using CoordPRefined = ddc::Coordinate<RDimPRefined>;
+
190  using CoordRPRefined = ddc::Coordinate<RDimRRefined, RDimPRefined>;
+
191 
+
192  using SplineInterpPointsRRefined = ddc::GrevilleInterpolationPoints<
+
193  BSplineRRefined,
+
194  SplineRBoundaryRefined_min,
+
195  SplineRBoundaryRefined_max>;
+
196  using SplineInterpPointsPRefined = ddc::GrevilleInterpolationPoints<
+
197  BSplinePRefined,
+
198  SplinePBoundaryRefined_min,
+
199  SplinePBoundaryRefined_max>;
200 
-
201  using IDomainRRefined = ddc::DiscreteDomain<IDimRRefined>;
-
202  using IDomainPRefined = ddc::DiscreteDomain<IDimPRefined>;
-
203  using IDomainRPRefined = ddc::DiscreteDomain<IDimRRefined, IDimPRefined>;
+
201  using BSDomainRRefined = ddc::DiscreteDomain<BSplineRRefined>;
+
202  using BSDomainPRefined = ddc::DiscreteDomain<BSplinePRefined>;
+
203  using BSDomainRPRefined = ddc::DiscreteDomain<BSplineRRefined, BSplinePRefined>;
204 
-
205 
-
206  using spline_domain = ddc::DiscreteDomain<BSplineR, BSplineP>;
-
207 
-
208  using REvalBoundary
- -
210 
-
214  using Matrix_2x2 = std::array<std::array<double, 2>, 2>;
-
215 
-
216  IDomainRPRefined const m_refined_domain;
-
217  REvalBoundary const boundary_condition_r_left;
-
218  REvalBoundary const boundary_condition_r_right;
-
219  SplineRPEvaluatorRefined const refined_evaluator;
- -
221 
-
222 
-
223  static inline ddc::Coordinate<RDimXRefined> to_refined(ddc::Coordinate<RDimX> const& coord)
-
224  {
-
225  return ddc::Coordinate<RDimXRefined>(ddc::get<RDimX>(coord));
-
226  }
-
227 
-
228  static inline ddc::Coordinate<RDimYRefined> to_refined(ddc::Coordinate<RDimY> const& coord)
-
229  {
-
230  return ddc::Coordinate<RDimYRefined>(ddc::get<RDimY>(coord));
-
231  }
-
232 
-
233  static inline ddc::Coordinate<RDimXRefined, RDimYRefined> to_refined(
-
234  ddc::Coordinate<RDimX, RDimY> const& coord)
-
235  {
-
236  const double coord1 = ddc::get<RDimX>(coord);
-
237  const double coord2 = ddc::get<RDimY>(coord);
-
238  return ddc::Coordinate<RDimXRefined, RDimYRefined>(coord1, coord2);
+
205  using IndexRRefined = ddc::DiscreteElement<IDimRRefined>;
+
206  using IndexPRefined = ddc::DiscreteElement<IDimPRefined>;
+
207  using IndexRPRefined = ddc::DiscreteElement<IDimRRefined, IDimPRefined>;
+
208 
+
209  using IVectRRefined = ddc::DiscreteVector<IDimRRefined>;
+
210  using IVectPRefined = ddc::DiscreteVector<IDimPRefined>;
+
211  using IVectRPRefined = ddc::DiscreteVector<IDimRRefined, IDimPRefined>;
+
212 
+
213  using IDomainRRefined = ddc::DiscreteDomain<IDimRRefined>;
+
214  using IDomainPRefined = ddc::DiscreteDomain<IDimPRefined>;
+
215  using IDomainRPRefined = ddc::DiscreteDomain<IDimRRefined, IDimPRefined>;
+
216 
+
217 
+
218  using spline_domain = ddc::DiscreteDomain<BSplineR, BSplineP>;
+
219 
+
223  using Matrix_2x2 = std::array<std::array<double, 2>, 2>;
+
224 
+
225  IDomainRPRefined const m_refined_domain;
+
226  REvalBoundary const boundary_condition_r_left;
+
227  REvalBoundary const boundary_condition_r_right;
+
228  SplineRPEvaluatorRefined const refined_evaluator;
+ +
230  RDimXRefined,
+
231  RDimYRefined,
+
232  SplineRPBuilderRefined,
+
233  SplineRPEvaluatorRefined> const m_mapping;
+
234 
+
235 
+
236  static inline ddc::Coordinate<RDimXRefined> to_refined(ddc::Coordinate<RDimX> const& coord)
+
237  {
+
238  return ddc::Coordinate<RDimXRefined>(ddc::get<RDimX>(coord));
239  }
240 
-
241 
-
242  static inline CoordRRefined to_refined(ddc::Coordinate<RDimR> const& coord)
-
243  {
-
244  return CoordRRefined(ddc::get<RDimR>(coord));
-
245  }
-
246 
-
247  static inline CoordPRefined to_refined(ddc::Coordinate<RDimP> const& coord)
+
241  static inline ddc::Coordinate<RDimYRefined> to_refined(ddc::Coordinate<RDimY> const& coord)
+
242  {
+
243  return ddc::Coordinate<RDimYRefined>(ddc::get<RDimY>(coord));
+
244  }
+
245 
+
246  static inline ddc::Coordinate<RDimXRefined, RDimYRefined> to_refined(
+
247  ddc::Coordinate<RDimX, RDimY> const& coord)
248  {
-
249  return CoordPRefined(ddc::get<RDimP>(coord));
-
250  }
-
251 
-
252  static inline CoordRPRefined to_refined(ddc::Coordinate<RDimR, RDimP> const& coord)
-
253  {
-
254  const double coord1 = ddc::get<RDimR>(coord);
-
255  const double coord2 = ddc::get<RDimP>(coord);
-
256  return CoordRPRefined(coord1, coord2);
-
257  }
-
258 
+
249  const double coord1 = ddc::get<RDimX>(coord);
+
250  const double coord2 = ddc::get<RDimY>(coord);
+
251  return ddc::Coordinate<RDimXRefined, RDimYRefined>(coord1, coord2);
+
252  }
+
253 
+
254 
+
255  static inline CoordRRefined to_refined(ddc::Coordinate<RDimR> const& coord)
+
256  {
+
257  return CoordRRefined(ddc::get<RDimR>(coord));
+
258  }
259 
-
260  static inline ddc::Coordinate<RDimX> from_refined(ddc::Coordinate<RDimXRefined> const& coord)
+
260  static inline CoordPRefined to_refined(ddc::Coordinate<RDimP> const& coord)
261  {
-
262  return ddc::Coordinate<RDimX>(ddc::get<RDimXRefined>(coord));
+
262  return CoordPRefined(ddc::get<RDimP>(coord));
263  }
264 
-
265  static inline ddc::Coordinate<RDimY> from_refined(ddc::Coordinate<RDimYRefined> const& coord)
+
265  static inline CoordRPRefined to_refined(ddc::Coordinate<RDimR, RDimP> const& coord)
266  {
-
267  return ddc::Coordinate<RDimY>(ddc::get<RDimYRefined>(coord));
-
268  }
-
269 
-
270  static inline ddc::Coordinate<RDimX, RDimY> from_refined(
-
271  ddc::Coordinate<RDimXRefined, RDimYRefined> const& coord)
-
272  {
-
273  const double coord1 = ddc::get<RDimXRefined>(coord);
-
274  const double coord2 = ddc::get<RDimYRefined>(coord);
-
275  return ddc::Coordinate<RDimX, RDimY>(coord1, coord2);
+
267  const double coord1 = ddc::get<RDimR>(coord);
+
268  const double coord2 = ddc::get<RDimP>(coord);
+
269  return CoordRPRefined(coord1, coord2);
+
270  }
+
271 
+
272 
+
273  static inline ddc::Coordinate<RDimX> from_refined(ddc::Coordinate<RDimXRefined> const& coord)
+
274  {
+
275  return ddc::Coordinate<RDimX>(ddc::get<RDimXRefined>(coord));
276  }
277 
-
278 
-
279  static inline ddc::Coordinate<RDimR> from_refined(CoordRRefined const& coord)
-
280  {
-
281  return ddc::Coordinate<RDimR>(ddc::get<RDimRRefined>(coord));
-
282  }
-
283 
-
284  static inline ddc::Coordinate<RDimP> from_refined(CoordPRefined const& coord)
+
278  static inline ddc::Coordinate<RDimY> from_refined(ddc::Coordinate<RDimYRefined> const& coord)
+
279  {
+
280  return ddc::Coordinate<RDimY>(ddc::get<RDimYRefined>(coord));
+
281  }
+
282 
+
283  static inline ddc::Coordinate<RDimX, RDimY> from_refined(
+
284  ddc::Coordinate<RDimXRefined, RDimYRefined> const& coord)
285  {
-
286  return ddc::Coordinate<RDimP>(ddc::get<RDimPRefined>(coord));
-
287  }
-
288 
-
289  static inline ddc::Coordinate<RDimR, RDimP> from_refined(CoordRPRefined const& coord)
-
290  {
-
291  const double coord1 = ddc::get<RDimRRefined>(coord);
-
292  const double coord2 = ddc::get<RDimPRefined>(coord);
-
293  return ddc::Coordinate<RDimR, RDimP>(coord1, coord2);
-
294  }
-
295 
+
286  const double coord1 = ddc::get<RDimXRefined>(coord);
+
287  const double coord2 = ddc::get<RDimYRefined>(coord);
+
288  return ddc::Coordinate<RDimX, RDimY>(coord1, coord2);
+
289  }
+
290 
+
291 
+
292  static inline ddc::Coordinate<RDimR> from_refined(CoordRRefined const& coord)
+
293  {
+
294  return ddc::Coordinate<RDimR>(ddc::get<RDimRRefined>(coord));
+
295  }
296 
- -
311  IDomainRPRefined const& refined_domain,
-
312  ddc::Chunk<double, BSDomainRPRefined>&& curvilinear_to_x,
-
313  ddc::Chunk<double, BSDomainRPRefined>&& curvilinear_to_y,
-
314  CoordRRefined r_min,
-
315  CoordRRefined r_max)
-
316  : m_refined_domain(refined_domain)
-
317  , boundary_condition_r_left(r_min)
-
318  , boundary_condition_r_right(r_max)
-
319  , refined_evaluator(
-
320  boundary_condition_r_left,
-
321  boundary_condition_r_right,
-
322  g_null_boundary_2d<BSplineRRefined, BSplinePRefined>,
-
323  g_null_boundary_2d<BSplineRRefined, BSplinePRefined>)
-
324  , m_mapping(std::move(curvilinear_to_x), std::move(curvilinear_to_y), refined_evaluator)
-
325  {
-
326  }
-
327 
-
328 
-
329 public:
- - -
348 
-
363  ddc::Coordinate<RDimX, RDimY> operator()(ddc::Coordinate<RDimR, RDimP> const& coord) const final
-
364  {
-
365  return from_refined(m_mapping(to_refined(coord)));
-
366  }
-
367 
-
368 
-
388  void jacobian_matrix(ddc::Coordinate<RDimR, RDimP> const& coord, Matrix_2x2& matrix) const final
-
389  {
-
390  m_mapping.jacobian_matrix(to_refined(coord), matrix);
-
391  }
-
392 
-
404  double jacobian_11(ddc::Coordinate<RDimR, RDimP> const& coord) const final
-
405  {
-
406  return m_mapping.jacobian_11(to_refined(coord));
-
407  }
-
408 
-
420  double jacobian_12(ddc::Coordinate<RDimR, RDimP> const& coord) const final
-
421  {
-
422  return m_mapping.jacobian_12(to_refined(coord));
-
423  }
-
424 
-
436  double jacobian_21(ddc::Coordinate<RDimR, RDimP> const& coord) const final
-
437  {
-
438  return m_mapping.jacobian_21(to_refined(coord));
-
439  }
-
440 
-
452  double jacobian_22(ddc::Coordinate<RDimR, RDimP> const& coord) const final
-
453  {
-
454  return m_mapping.jacobian_22(to_refined(coord));
-
455  }
-
456 
-
457 
- -
474  ddc::DiscreteDomain<IDimR, IDimP> const& grid,
-
475  Matrix_2x2& matrix) const
-
476  {
-
477  m_mapping.to_pseudo_cartesian_jacobian_center_matrix(m_refined_domain, matrix);
-
478  }
-
479 
-
480 
- -
492  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
493  {
-
494  Matrix_2x2 jacobian;
- -
496  return jacobian[0][0];
-
497  }
-
498 
-
499 
- -
511  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
512  {
-
513  Matrix_2x2 jacobian;
- -
515  return jacobian[0][1];
-
516  }
-
517 
-
518 
- -
530  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
531  {
-
532  Matrix_2x2 jacobian;
- -
534  return jacobian[1][0];
-
535  }
-
536 
-
537 
- -
549  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
-
550  {
-
551  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
-
552 
-
553  Matrix_2x2 jacobian;
- -
555  return jacobian[1][1];
-
556  }
-
557 
-
558 
-
559 
-
576  template <class Mapping>
- -
578  Mapping const& analytical_mapping,
-
579  ddc::DiscreteDomain<IDimR, IDimP> const& domain)
-
580  {
-
581  const double rmin = ddc::discrete_space<BSplineR>().rmin();
-
582  const double rmax = ddc::discrete_space<BSplineR>().rmax();
-
583 
-
584  const double pmin = ddc::discrete_space<BSplineP>().rmin();
-
585  const double pmax = ddc::discrete_space<BSplineP>().rmax();
-
586 
-
587  // Create refined grid
-
588  CoordRRefined const r_min(rmin);
-
589  CoordRRefined const r_max(rmax);
-
590  IVectRRefined const r_size(Nr);
-
591 
-
592  CoordPRefined const p_min(pmin);
-
593  CoordPRefined const p_max(pmax);
-
594  IVectPRefined const p_size(Nt);
-
595 
-
596  if constexpr (BSplineRRefined::is_uniform()) {
-
597  ddc::init_discrete_space<BSplineRRefined>(r_min, r_max, r_size);
-
598  ddc::init_discrete_space<BSplinePRefined>(p_min, p_max, p_size);
-
599  } else {
-
600  double const dr((r_max - r_min) / r_size);
-
601  double const dp((p_max - p_min) / p_size);
-
602 
-
603  std::vector<CoordRRefined> r_knots(r_size + 1);
-
604  std::vector<CoordPRefined> p_knots(p_size + 1);
-
605 
-
606  for (int i(0); i < r_size + 1; ++i) {
-
607  r_knots[i] = CoordRRefined(r_min + i * dr);
-
608  }
-
609  for (int i(0); i < p_size + 1; ++i) {
-
610  p_knots[i] = CoordPRefined(p_min + i * dp);
-
611  }
-
612 
-
613  ddc::init_discrete_space<BSplineRRefined>(r_knots);
-
614  ddc::init_discrete_space<BSplinePRefined>(p_knots);
-
615  }
-
616 
-
617  ddc::init_discrete_space<IDimRRefined>(SplineInterpPointsRRefined::get_sampling());
-
618  ddc::init_discrete_space<IDimPRefined>(SplineInterpPointsPRefined::get_sampling());
-
619 
-
620  IDomainRRefined const interpolation_domain_R(SplineInterpPointsRRefined::get_domain());
-
621  IDomainPRefined const interpolation_domain_P(SplineInterpPointsPRefined::get_domain());
-
622  IDomainRPRefined const refined_domain(interpolation_domain_R, interpolation_domain_P);
-
623 
-
624  // Operators on the refined grid
-
625  SplineRPBuilderRefined const refined_builder(refined_domain);
-
626 
-
627  BSDomainRPRefined const spline_domain = refined_builder.spline_domain();
-
628 
-
629  // Compute the B-splines coefficients of the analytical mapping
-
630  ddc::Chunk<double, BSDomainRPRefined> curvilinear_to_x_spline(spline_domain);
-
631  ddc::Chunk<double, BSDomainRPRefined> curvilinear_to_y_spline(spline_domain);
-
632  ddc::Chunk<double, IDomainRPRefined> curvilinear_to_x_vals(refined_domain);
-
633  ddc::Chunk<double, IDomainRPRefined> curvilinear_to_y_vals(refined_domain);
-
634  ddc::for_each(
-
635  refined_builder.interpolation_domain(),
-
636  [&](typename ddc::DiscreteDomain<IDimRRefined, IDimPRefined>::
-
637  discrete_element_type const& el) {
-
638  ddc::Coordinate<RDimR, RDimP> polar_coord(from_refined(ddc::coordinate(el)));
-
639  ddc::Coordinate<RDimXRefined, RDimYRefined> cart_coord
-
640  = to_refined(analytical_mapping(polar_coord));
+
297  static inline ddc::Coordinate<RDimP> from_refined(CoordPRefined const& coord)
+
298  {
+
299  return ddc::Coordinate<RDimP>(ddc::get<RDimPRefined>(coord));
+
300  }
+
301 
+
302  static inline ddc::Coordinate<RDimR, RDimP> from_refined(CoordRPRefined const& coord)
+
303  {
+
304  const double coord1 = ddc::get<RDimRRefined>(coord);
+
305  const double coord2 = ddc::get<RDimPRefined>(coord);
+
306  return ddc::Coordinate<RDimR, RDimP>(coord1, coord2);
+
307  }
+
308 
+
309 
+ +
324  IDomainRPRefined const& refined_domain,
+
325  ddc::Chunk<double, BSDomainRPRefined>&& curvilinear_to_x,
+
326  ddc::Chunk<double, BSDomainRPRefined>&& curvilinear_to_y,
+
327  CoordRRefined r_min,
+
328  CoordRRefined r_max)
+
329  : m_refined_domain(refined_domain)
+
330  , boundary_condition_r_left(r_min)
+
331  , boundary_condition_r_right(r_max)
+
332  , refined_evaluator(
+
333  boundary_condition_r_left,
+
334  boundary_condition_r_right,
+
335  ddc::PeriodicExtrapolationRule<RDimPRefined>(),
+
336  ddc::PeriodicExtrapolationRule<RDimPRefined>())
+
337  , m_mapping(std::move(curvilinear_to_x), std::move(curvilinear_to_y), refined_evaluator)
+
338  {
+
339  }
+
340 
+
341 
+
342 public:
+ + +
361 
+
376  ddc::Coordinate<RDimX, RDimY> operator()(ddc::Coordinate<RDimR, RDimP> const& coord) const final
+
377  {
+
378  return from_refined(m_mapping(to_refined(coord)));
+
379  }
+
380 
+
381 
+
401  void jacobian_matrix(ddc::Coordinate<RDimR, RDimP> const& coord, Matrix_2x2& matrix) const final
+
402  {
+
403  m_mapping.jacobian_matrix(to_refined(coord), matrix);
+
404  }
+
405 
+
417  double jacobian_11(ddc::Coordinate<RDimR, RDimP> const& coord) const final
+
418  {
+
419  return m_mapping.jacobian_11(to_refined(coord));
+
420  }
+
421 
+
433  double jacobian_12(ddc::Coordinate<RDimR, RDimP> const& coord) const final
+
434  {
+
435  return m_mapping.jacobian_12(to_refined(coord));
+
436  }
+
437 
+
449  double jacobian_21(ddc::Coordinate<RDimR, RDimP> const& coord) const final
+
450  {
+
451  return m_mapping.jacobian_21(to_refined(coord));
+
452  }
+
453 
+
465  double jacobian_22(ddc::Coordinate<RDimR, RDimP> const& coord) const final
+
466  {
+
467  return m_mapping.jacobian_22(to_refined(coord));
+
468  }
+
469 
+
470 
+ +
487  ddc::DiscreteDomain<IDimR, IDimP> const& grid,
+
488  Matrix_2x2& matrix) const
+
489  {
+
490  m_mapping.to_pseudo_cartesian_jacobian_center_matrix(m_refined_domain, matrix);
+
491  }
+
492 
+
493 
+ +
505  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
506  {
+
507  Matrix_2x2 jacobian;
+ +
509  return jacobian[0][0];
+
510  }
+
511 
+
512 
+ +
524  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
525  {
+
526  Matrix_2x2 jacobian;
+ +
528  return jacobian[0][1];
+
529  }
+
530 
+
531 
+ +
543  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
544  {
+
545  Matrix_2x2 jacobian;
+ +
547  return jacobian[1][0];
+
548  }
+
549 
+
550 
+ +
562  ddc::DiscreteDomain<IDimR, IDimP> const& grid) const
+
563  {
+
564  ddc::DiscreteDomain<IDimP> const theta_domain = ddc::select<IDimP>(grid);
+
565 
+
566  Matrix_2x2 jacobian;
+ +
568  return jacobian[1][1];
+
569  }
+
570 
+
571 
+
572 
+
589  template <class Mapping>
+ +
591  Mapping const& analytical_mapping,
+
592  ddc::DiscreteDomain<IDimR, IDimP> const& domain)
+
593  {
+
594  const double rmin = ddc::discrete_space<BSplineR>().rmin();
+
595  const double rmax = ddc::discrete_space<BSplineR>().rmax();
+
596 
+
597  const double pmin = ddc::discrete_space<BSplineP>().rmin();
+
598  const double pmax = ddc::discrete_space<BSplineP>().rmax();
+
599 
+
600  // Create refined grid
+
601  CoordRRefined const r_min(rmin);
+
602  CoordRRefined const r_max(rmax);
+
603  IVectRRefined const r_size(Nr);
+
604 
+
605  CoordPRefined const p_min(pmin);
+
606  CoordPRefined const p_max(pmax);
+
607  IVectPRefined const p_size(Nt);
+
608 
+
609  if constexpr (BSplineRRefined::is_uniform()) {
+
610  ddc::init_discrete_space<BSplineRRefined>(r_min, r_max, r_size);
+
611  ddc::init_discrete_space<BSplinePRefined>(p_min, p_max, p_size);
+
612  } else {
+
613  double const dr((r_max - r_min) / r_size);
+
614  double const dp((p_max - p_min) / p_size);
+
615 
+
616  std::vector<CoordRRefined> r_knots(r_size + 1);
+
617  std::vector<CoordPRefined> p_knots(p_size + 1);
+
618 
+
619  for (int i(0); i < r_size + 1; ++i) {
+
620  r_knots[i] = CoordRRefined(r_min + i * dr);
+
621  }
+
622  for (int i(0); i < p_size + 1; ++i) {
+
623  p_knots[i] = CoordPRefined(p_min + i * dp);
+
624  }
+
625 
+
626  ddc::init_discrete_space<BSplineRRefined>(r_knots);
+
627  ddc::init_discrete_space<BSplinePRefined>(p_knots);
+
628  }
+
629 
+
630  ddc::init_discrete_space<IDimRRefined>(SplineInterpPointsRRefined::get_sampling());
+
631  ddc::init_discrete_space<IDimPRefined>(SplineInterpPointsPRefined::get_sampling());
+
632 
+
633  IDomainRRefined const interpolation_domain_R(SplineInterpPointsRRefined::get_domain());
+
634  IDomainPRefined const interpolation_domain_P(SplineInterpPointsPRefined::get_domain());
+
635  IDomainRPRefined const refined_domain(interpolation_domain_R, interpolation_domain_P);
+
636 
+
637  // Operators on the refined grid
+
638  SplineRPBuilderRefined const refined_builder(refined_domain);
+
639 
+
640  BSDomainRPRefined const spline_domain = refined_builder.spline_domain();
641 
-
642  curvilinear_to_x_vals(el) = ddc::select<RDimXRefined>(cart_coord);
-
643  curvilinear_to_y_vals(el) = ddc::select<RDimYRefined>(cart_coord);
-
644  });
-
645  refined_builder(curvilinear_to_x_spline, curvilinear_to_x_vals);
-
646  refined_builder(curvilinear_to_y_spline, curvilinear_to_y_vals);
-
647 
- -
649  refined_domain,
-
650  std::move(curvilinear_to_x_spline),
-
651  std::move(curvilinear_to_y_spline),
-
652  r_min,
-
653  r_max);
-
654  }
-
655 };
-
A class for describing a spline boundary value by a constant extrapolation for 2D evaluator.
Definition: constant_extrapolation_boundary_value.hpp:85
+
642  // Compute the B-splines coefficients of the analytical mapping
+
643  ddc::Chunk<double, BSDomainRPRefined> curvilinear_to_x_spline(spline_domain);
+
644  ddc::Chunk<double, BSDomainRPRefined> curvilinear_to_y_spline(spline_domain);
+
645  ddc::Chunk<double, IDomainRPRefined> curvilinear_to_x_vals(refined_domain);
+
646  ddc::Chunk<double, IDomainRPRefined> curvilinear_to_y_vals(refined_domain);
+
647  ddc::for_each(
+
648  refined_builder.interpolation_domain(),
+
649  [&](typename ddc::DiscreteDomain<IDimRRefined, IDimPRefined>::
+
650  discrete_element_type const& el) {
+
651  ddc::Coordinate<RDimR, RDimP> polar_coord(from_refined(ddc::coordinate(el)));
+
652  ddc::Coordinate<RDimXRefined, RDimYRefined> cart_coord
+
653  = to_refined(analytical_mapping(polar_coord));
+
654 
+
655  curvilinear_to_x_vals(el) = ddc::select<RDimXRefined>(cart_coord);
+
656  curvilinear_to_y_vals(el) = ddc::select<RDimYRefined>(cart_coord);
+
657  });
+
658  refined_builder(curvilinear_to_x_spline.span_view(), curvilinear_to_x_vals.span_cview());
+
659  refined_builder(curvilinear_to_y_spline.span_view(), curvilinear_to_y_vals.span_cview());
+
660 
+ +
662  refined_domain,
+
663  std::move(curvilinear_to_x_spline),
+
664  std::move(curvilinear_to_y_spline),
+
665  r_min,
+
666  r_max);
+
667  }
+
668 };
A class for describing curvilinear 2D mappings from the logical domain to the physical domain.
Definition: curvilinear2d_to_cartesian.hpp:15
virtual double jacobian(ddc::Coordinate< SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type > const &coord) const
Compute the Jacobian, the determinant of the Jacobian matrix of the mapping.
Definition: curvilinear2d_to_cartesian.hpp:106
-
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:32
-
void jacobian_matrix(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:161
-
double jacobian_22(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:250
-
void to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
Definition: discrete_mapping_to_cartesian.hpp:302
-
double jacobian_21(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (2,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:229
-
double jacobian_12(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,2) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:208
-
double jacobian_11(ddc::Coordinate< circular_tag_r, circular_tag_p > const &coord) const final
Compute the (1,1) coefficient of the Jacobian matrix.
Definition: discrete_mapping_to_cartesian.hpp:187
-
A class which provides helper functions to initialise the Greville points from a B-Spline definition.
Definition: greville_interpolation_points.hpp:20
-
static auto get_sampling()
Get the UniformPointSampling defining the Greville points.
Definition: greville_interpolation_points.hpp:112
-
static ddc::DiscreteDomain< interpolation_mesh_type > get_domain()
Get the domain which gives us access to all of the Greville points.
Definition: greville_interpolation_points.hpp:226
-
NonUniformPointSampling specialization of BSplines.
Definition: bsplines_non_uniform.hpp:16
-
A class for describing refined discrete 2D mappings from the logical domain to the physical domain.
Definition: refined_discrete_mapping_to_cartesian.hpp:37
-
double jacobian_21(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (2,1) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:436
-
double to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:491
-
static RefinedDiscreteToCartesian analytical_to_refined(Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)
Define a RefinedDiscreteToCartesian mapping from an analytical mapping.
Definition: refined_discrete_mapping_to_cartesian.hpp:577
-
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default
Instantiate a RefinedDiscreteToCartesian from another RefinedDiscreteToCartesian.
-
double jacobian_11(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (1,1) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:404
-
double jacobian_12(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (1,2) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:420
-
double jacobian_22(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (2,2) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:452
-
double to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:529
-
ddc::Coordinate< RDimX, RDimY > operator()(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the physical coordinates from the logical coordinates.
Definition: refined_discrete_mapping_to_cartesian.hpp:363
-
void to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
Definition: refined_discrete_mapping_to_cartesian.hpp:473
-
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default
Instantiate a RefinedDiscreteToCartesian from another temporary RefinedDiscreteToCartesian.
-
double to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:548
-
void jacobian_matrix(ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:388
-
double to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:510
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
static constexpr BoundCond BcXmin1
The boundary condition implemented at the lower bound in the first dimension.
Definition: spline_builder_2d.hpp:71
-
interpolation_domain_type const & interpolation_domain() const noexcept
Get the 2D dimension domain from which the approximation is defined.
Definition: spline_builder_2d.hpp:217
-
static constexpr BoundCond BcXmin2
The boundary condition implemented at the lower bound in the second dimension.
Definition: spline_builder_2d.hpp:79
-
static constexpr BoundCond BcXmax2
The boundary condition implemented at the upper bound in the second dimension.
Definition: spline_builder_2d.hpp:83
-
static constexpr BoundCond BcXmax1
The boundary condition implemented at the upper bound in the first dimension.
Definition: spline_builder_2d.hpp:75
-
typename SplineBuilder1::bsplines_type bsplines_type1
The type of the BSplines in the first dimension which are compatible with this class.
Definition: spline_builder_2d.hpp:30
-
typename SplineBuilder2::mesh_type interpolation_mesh_type2
The type of the interpolation mesh in the second dimension used by this class.
Definition: spline_builder_2d.hpp:52
-
typename SplineBuilder2::bsplines_type bsplines_type2
The type of the BSplines in the second dimension which are compatible with this class.
Definition: spline_builder_2d.hpp:34
-
typename SplineBuilder1::mesh_type interpolation_mesh_type1
The type of the interpolation mesh in the first dimension used by this class.
Definition: spline_builder_2d.hpp:48
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
-
Definition: bsplines_uniform.hpp:15
-
Define periodic real Theta dimension.
Definition: geometry.hpp:46
-
Define non periodic real R dimension.
Definition: geometry.hpp:35
-
Define periodic real refined P dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:99
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:104
-
Define non periodic real refined R dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:88
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:93
-
Define non periodic real refined X dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:110
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:115
-
Define non periodic real refined X dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:121
-
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:126
+
A class for describing discrete 2D mappings from the logical domain to the physical domain.
Definition: discrete_mapping_to_cartesian.hpp:30
+
A class for describing refined discrete 2D mappings from the logical domain to the physical domain.
Definition: refined_discrete_mapping_to_cartesian.hpp:32
+
static RefinedDiscreteToCartesian analytical_to_refined(Mapping const &analytical_mapping, ddc::DiscreteDomain< IDimR, IDimP > const &domain)
Define a RefinedDiscreteToCartesian mapping from an analytical mapping.
Definition: refined_discrete_mapping_to_cartesian.hpp:590
+
double to_pseudo_cartesian_jacobian_21_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:542
+
ddc::Coordinate< RDimX, RDimY > operator()(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the physical coordinates from the logical coordinates.
Definition: refined_discrete_mapping_to_cartesian.hpp:376
+
void to_pseudo_cartesian_jacobian_center_matrix(ddc::DiscreteDomain< IDimR, IDimP > const &grid, Matrix_2x2 &matrix) const
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
Definition: refined_discrete_mapping_to_cartesian.hpp:486
+
double jacobian_11(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (1,1) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:417
+
double to_pseudo_cartesian_jacobian_11_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:504
+
double jacobian_21(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (2,1) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:449
+
double to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:561
+
double jacobian_12(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (1,2) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:433
+
double to_pseudo_cartesian_jacobian_12_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const
Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
Definition: refined_discrete_mapping_to_cartesian.hpp:523
+
void jacobian_matrix(ddc::Coordinate< RDimR, RDimP > const &coord, Matrix_2x2 &matrix) const final
Compute full Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:401
+
double jacobian_22(ddc::Coordinate< RDimR, RDimP > const &coord) const final
Compute the (2,2) coefficient of the Jacobian matrix.
Definition: refined_discrete_mapping_to_cartesian.hpp:465
+
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default
Instantiate a RefinedDiscreteToCartesian from another temporary RefinedDiscreteToCartesian.
+
RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default
Instantiate a RefinedDiscreteToCartesian from another RefinedDiscreteToCartesian.
+
Define periodic real Theta dimension.
Definition: geometry.hpp:39
+
Define non periodic real R dimension.
Definition: geometry.hpp:28
+
Define periodic real refined P dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:94
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:99
+
Define non periodic real refined R dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:83
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:88
+
Define non periodic real refined X dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:105
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:110
+
Define non periodic real refined X dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:116
+
static constexpr bool PERIODIC
Define periodicity of the dimension.
Definition: refined_discrete_mapping_to_cartesian.hpp:121
diff --git a/search/all_0.js b/search/all_0.js index 7e1566b71..080e6b7bf 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -21,7 +21,7 @@ var searchData= ['advectionsimulation_3c_20advectionfield_5fdecentred_5frotation_2c_20functiontobeadvected_5fcos_5f4_5felipse_3c_20mapping_20_3e_20_3e_18',['AdvectionSimulation< AdvectionField_decentred_rotation, FunctionToBeAdvected_cos_4_elipse< Mapping > >',['../classAdvectionSimulation.html',1,'']]], ['advectionsimulation_3c_20advectionfield_5frotation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_19',['AdvectionSimulation< AdvectionField_rotation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], ['advectionsimulation_3c_20advectionfield_5ftranslation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_20',['AdvectionSimulation< AdvectionField_translation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], - ['analytical_5fto_5fdiscrete_21',['analytical_to_discrete',['../classDiscreteToCartesian.html#aa6f79a79fd0d58ef8d43a9a48adfd4fd',1,'DiscreteToCartesian']]], - ['analytical_5fto_5frefined_22',['analytical_to_refined',['../classRefinedDiscreteToCartesian.html#a436c63b85e409010d739f613a1d69741',1,'RefinedDiscreteToCartesian']]], + ['analytical_5fto_5fdiscrete_21',['analytical_to_discrete',['../classDiscreteToCartesian.html#a249891c4351f41b99630594efedafabb',1,'DiscreteToCartesian']]], + ['analytical_5fto_5frefined_22',['analytical_to_refined',['../classRefinedDiscreteToCartesian.html#a0b3349bb1ae9dd6fd6f9e92ee058646f',1,'RefinedDiscreteToCartesian']]], ['analyticalinvertiblecurvilinear2dtocartesian_23',['AnalyticalInvertibleCurvilinear2DToCartesian',['../classAnalyticalInvertibleCurvilinear2DToCartesian.html',1,'']]] ]; diff --git a/search/all_1.js b/search/all_1.js index c92deacce..e22dc2d30 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -1,34 +1,20 @@ var searchData= [ - ['bcxmax1_24',['BcXmax1',['../classSplineBuilder2D.html#a5bcc32d76f7854b726985e68fd74f2ab',1,'SplineBuilder2D']]], - ['bcxmax2_25',['BcXmax2',['../classSplineBuilder2D.html#a5408d23c1dda012129181cb7d73842ac',1,'SplineBuilder2D']]], - ['bcxmin1_26',['BcXmin1',['../classSplineBuilder2D.html#a12e1bcbe62375a83e3f983047bec8605',1,'SplineBuilder2D']]], - ['bcxmin2_27',['BcXmin2',['../classSplineBuilder2D.html#a4ec08d11ae6959f79f441a6c59c7d964',1,'SplineBuilder2D']]], - ['bernsteinpolynomialbasis_28',['BernsteinPolynomialBasis',['../classBernsteinPolynomialBasis.html',1,'']]], - ['boltzmann_20solver_29',['Boltzmann solver',['../src_geometryXVx_boltzmann.html',1,'src_geometryXVx']]], - ['boundary_5fdata_5f2d_30',['Boundary_data_2d',['../structdeprecated_1_1Boundary__data__2d.html',1,'deprecated']]], - ['bsladvectionrp_31',['BslAdvectionRP',['../classBslAdvectionRP.html',1,'BslAdvectionRP< FootFinder, Mapping >'],['../classBslAdvectionRP.html#a1625a858ae285a69f801c8400df039fe',1,'BslAdvectionRP::BslAdvectionRP()']]], - ['bsladvectionrp_3c_20splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_2c_20mapping_20_3e_32',['BslAdvectionRP< SplineFootFinder< Euler, AdvectionDomain >, Mapping >',['../classBslAdvectionRP.html',1,'']]], - ['bsladvectionspatialbatched_33',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html',1,'BslAdvectionSpatialBatched< Geometry, DDimX >'],['../classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db',1,'BslAdvectionSpatialBatched::BslAdvectionSpatialBatched()']]], - ['bsladvectionvelocitybatched_34',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html',1,'BslAdvectionVelocityBatched< Geometry, DDimV >'],['../classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e',1,'BslAdvectionVelocityBatched::BslAdvectionVelocityBatched()']]], - ['bslexplicitpredcorrrp_35',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html',1,'BslExplicitPredCorrRP< Mapping, AdvectionDomain >'],['../classBslExplicitPredCorrRP.html#ad5ebb8d18489eaf101db816f8187d5bc',1,'BslExplicitPredCorrRP::BslExplicitPredCorrRP()']]], - ['bslimplicitpredcorrrp_36',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html',1,'BslImplicitPredCorrRP< Mapping, AdvectionDomain >'],['../classBslImplicitPredCorrRP.html#a85e452a6d8a3bfcbbd94e671179135ab',1,'BslImplicitPredCorrRP::BslImplicitPredCorrRP()']]], - ['bslpredcorrrp_37',['BslPredCorrRP',['../classBslPredCorrRP.html',1,'BslPredCorrRP< Mapping, FootFinder >'],['../classBslPredCorrRP.html#ad59df29ecec81d37cd221b9bff3b96e7',1,'BslPredCorrRP::BslPredCorrRP()']]], - ['bspline_38',['BSpline',['../structBSpline.html',1,'']]], - ['bsplinep_39',['BSplineP',['../classDiscreteToCartesian.html#aabeacc8cb7637a03d010696e2b7645ed',1,'DiscreteToCartesian::BSplineP()'],['../structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2',1,'PolarSpline::BSplineP()'],['../structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5',1,'PolarSplineSpan::BSplineP()'],['../structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48',1,'PolarSplineView::BSplineP()']]], - ['bspliner_40',['BSplineR',['../classDiscreteToCartesian.html#a56a6643d010d176c4ebe807e8d44624f',1,'DiscreteToCartesian::BSplineR()'],['../structPolarSpline.html#ad26033ae149504208d160b5ac474d613',1,'PolarSpline::BSplineR()'],['../structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49',1,'PolarSplineSpan::BSplineR()'],['../structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8',1,'PolarSplineView::BSplineR()']]], - ['bsplines_41',['BSplines',['../classdeprecated_1_1BSplines.html',1,'deprecated']]], - ['bsplines1_5fis_5fperiodic_42',['BSplines1_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#ae0efdcf994a473793187c15d457644ac',1,'ConstantExtrapolationBoundaryValue2D']]], - ['bsplines2_5fis_5fperiodic_43',['BSplines2_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#a919241d1d62db14ce4b9eabe93b23469',1,'ConstantExtrapolationBoundaryValue2D']]], - ['bsplines_5ftype_44',['bsplines_type',['../classPolarSplineEvaluator.html#a26a1961933d750d08fb027e9142cb6ba',1,'PolarSplineEvaluator::bsplines_type()'],['../classSplineBuilder.html#a8e306ff751612410e7c80db1eeabd0c8',1,'SplineBuilder::bsplines_type()']]], - ['bsplines_5ftype1_45',['bsplines_type1',['../classSplineBuilder2D.html#aceec329f2770bef48e3d35871ae01502',1,'SplineBuilder2D::bsplines_type1()'],['../classSplineEvaluator2D.html#a61d223c29a716634e15dca19daa41955',1,'SplineEvaluator2D::bsplines_type1()']]], - ['bsplines_5ftype2_46',['bsplines_type2',['../classSplineBuilder2D.html#ad1c9fafdefd9b45835b8b89573571900',1,'SplineBuilder2D::bsplines_type2()'],['../classSplineEvaluator2D.html#a20ef11c270ad545361a8b3f683a724d8',1,'SplineEvaluator2D::bsplines_type2()']]], - ['bsplinesnobc_5fis_5fperiodic_47',['BSplinesNoBC_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#adaa000f80443f67449caf90ced1ecc50',1,'ConstantExtrapolationBoundaryValue2D']]], - ['bsplinesp_48',['BSplinesP',['../classPolarSplineEvaluator.html#a21c225b744962b5b83476156e737b46f',1,'PolarSplineEvaluator']]], - ['bsplinesp_5ftag_49',['BSplinesP_tag',['../classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169',1,'PolarBSplines']]], - ['bsplinesr_50',['BSplinesR',['../classPolarSplineEvaluator.html#af95eaa07f8890667fe4feade36d50423',1,'PolarSplineEvaluator']]], - ['bsplinesr_5ftag_51',['BSplinesR_tag',['../classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d',1,'PolarBSplines']]], - ['builder_5ftype1_52',['builder_type1',['../classSplineBuilder2D.html#a32fa22d267cdeb0722572c33fd6c6e11',1,'SplineBuilder2D']]], - ['builder_5ftype2_53',['builder_type2',['../classSplineBuilder2D.html#a0a33a10b79cf3d7273c5f20337727dff',1,'SplineBuilder2D']]], - ['bumpontailequilibrium_54',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium::BumpontailEquilibrium()'],['../classBumpontailEquilibrium.html',1,'BumpontailEquilibrium']]] + ['bernsteinpolynomialbasis_24',['BernsteinPolynomialBasis',['../classBernsteinPolynomialBasis.html',1,'']]], + ['boltzmann_20solver_25',['Boltzmann solver',['../src_geometryXVx_boltzmann.html',1,'src_geometryXVx']]], + ['bsladvectionrp_26',['BslAdvectionRP',['../classBslAdvectionRP.html',1,'BslAdvectionRP< FootFinder, Mapping >'],['../classBslAdvectionRP.html#a977b86e07de90942c18e1af5428f59c8',1,'BslAdvectionRP::BslAdvectionRP()']]], + ['bsladvectionrp_3c_20splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_2c_20mapping_20_3e_27',['BslAdvectionRP< SplineFootFinder< Euler, AdvectionDomain >, Mapping >',['../classBslAdvectionRP.html',1,'']]], + ['bsladvectionspatialbatched_28',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html',1,'BslAdvectionSpatialBatched< Geometry, DDimX >'],['../classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db',1,'BslAdvectionSpatialBatched::BslAdvectionSpatialBatched()']]], + ['bsladvectionvelocitybatched_29',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html',1,'BslAdvectionVelocityBatched< Geometry, DDimV >'],['../classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e',1,'BslAdvectionVelocityBatched::BslAdvectionVelocityBatched()']]], + ['bslexplicitpredcorrrp_30',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html',1,'BslExplicitPredCorrRP< Mapping, AdvectionDomain >'],['../classBslExplicitPredCorrRP.html#a08e13f4e1ce35d6962b4e73fce3580c4',1,'BslExplicitPredCorrRP::BslExplicitPredCorrRP()']]], + ['bslimplicitpredcorrrp_31',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html',1,'BslImplicitPredCorrRP< Mapping, AdvectionDomain >'],['../classBslImplicitPredCorrRP.html#ad068d165e927773fc85c5b06c267ea2f',1,'BslImplicitPredCorrRP::BslImplicitPredCorrRP()']]], + ['bslpredcorrrp_32',['BslPredCorrRP',['../classBslPredCorrRP.html',1,'BslPredCorrRP< Mapping, FootFinder >'],['../classBslPredCorrRP.html#a4a6c5378bd5ea4f7f8dfb3e2088cd12a',1,'BslPredCorrRP::BslPredCorrRP()']]], + ['bsplinep_33',['BSplineP',['../classDiscreteToCartesian.html#a5a62d9f5bba1aae83ab17068764dbc96',1,'DiscreteToCartesian::BSplineP()'],['../structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2',1,'PolarSpline::BSplineP()'],['../structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5',1,'PolarSplineSpan::BSplineP()'],['../structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48',1,'PolarSplineView::BSplineP()']]], + ['bspliner_34',['BSplineR',['../classDiscreteToCartesian.html#a8cc25d288b46b3e30dce665d9930b6e6',1,'DiscreteToCartesian::BSplineR()'],['../structPolarSpline.html#ad26033ae149504208d160b5ac474d613',1,'PolarSpline::BSplineR()'],['../structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49',1,'PolarSplineSpan::BSplineR()'],['../structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8',1,'PolarSplineView::BSplineR()']]], + ['bsplines_5ftype_35',['bsplines_type',['../classPolarSplineEvaluator.html#a4fda8acef6472fb27ffe42d078943f26',1,'PolarSplineEvaluator']]], + ['bsplinesp_36',['BSplinesP',['../classPolarSplineEvaluator.html#a372867a0573a0adaf9a9006a2d78f30c',1,'PolarSplineEvaluator']]], + ['bsplinesp_5ftag_37',['BSplinesP_tag',['../classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169',1,'PolarBSplines']]], + ['bsplinesr_38',['BSplinesR',['../classPolarSplineEvaluator.html#af825f47ac1278302e5dd3ac0d906f09c',1,'PolarSplineEvaluator']]], + ['bsplinesr_5ftag_39',['BSplinesR_tag',['../classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d',1,'PolarBSplines']]], + ['bumpontailequilibrium_40',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium::BumpontailEquilibrium()'],['../classBumpontailEquilibrium.html',1,'BumpontailEquilibrium']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 40e273566..ef3395dbc 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,9 +1,9 @@ var searchData= [ - ['qdimx_363',['QDimX',['../classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX',1,'FemNonPeriodicPoissonSolver::QDimX'],['../classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX',1,'FemPeriodicPoissonSolver::QDimX']]], - ['quadrature_364',['Quadrature',['../classQuadrature.html',1,'Quadrature< IDim >'],['../classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755',1,'Quadrature::Quadrature()']]], - ['quadrature_20methods_365',['Quadrature Methods',['../src_quadrature.html',1,'src']]], - ['quadrature_3c_20idimvx_20_3e_366',['Quadrature< IDimVx >',['../classQuadrature.html',1,'']]], - ['quadrature_5fcoeffs_5fnd_367',['quadrature_coeffs_nd',['../quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d',1,'quadrature_coeffs_nd.hpp']]], - ['quadrature_5fcoeffs_5fnd_2ehpp_368',['quadrature_coeffs_nd.hpp',['../quadrature__coeffs__nd_8hpp.html',1,'']]] + ['qdimx_315',['QDimX',['../classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX',1,'FemNonPeriodicPoissonSolver::QDimX'],['../classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX',1,'FemPeriodicPoissonSolver::QDimX']]], + ['quadrature_316',['Quadrature',['../classQuadrature.html',1,'Quadrature< IDim >'],['../classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755',1,'Quadrature::Quadrature()']]], + ['quadrature_20methods_317',['Quadrature Methods',['../src_quadrature.html',1,'src']]], + ['quadrature_3c_20idimvx_20_3e_318',['Quadrature< IDimVx >',['../classQuadrature.html',1,'']]], + ['quadrature_5fcoeffs_5fnd_319',['quadrature_coeffs_nd',['../quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d',1,'quadrature_coeffs_nd.hpp']]], + ['quadrature_5fcoeffs_5fnd_2ehpp_320',['quadrature_coeffs_nd.hpp',['../quadrature__coeffs__nd_8hpp.html',1,'']]] ]; diff --git a/search/all_11.js b/search/all_11.js index 98e4d29b5..502c45fd2 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,28 +1,28 @@ var searchData= [ - ['rbasissubset_369',['RBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset',1,'PolarSplineFEMPoissonSolver']]], - ['rcelldim_370',['RCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim',1,'PolarSplineFEMPoissonSolver']]], - ['rdimp_371',['RDimP',['../structRDimP.html',1,'']]], - ['rdimprefined_372',['RDimPRefined',['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimr_373',['RDimR',['../structRDimR.html',1,'']]], - ['rdimrrefined_374',['RDimRRefined',['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimt_375',['RDimT',['../structRDimT.html',1,'']]], - ['rdimvp_376',['RDimVp',['../structRDimVp.html',1,'']]], - ['rdimvr_377',['RDimVr',['../structRDimVr.html',1,'']]], - ['rdimvx_378',['RDimVx',['../structRDimVx.html',1,'']]], - ['rdimvy_379',['RDimVy',['../structRDimVy.html',1,'']]], - ['rdimx_380',['RDimX',['../structRDimX.html',1,'']]], - ['rdimx_5fadv_381',['RDimX_adv',['../classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a',1,'AdvectionPseudoCartesianDomain::RDimX_adv()'],['../classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812',1,'AdvectionPhysicalDomain::RDimX_adv()']]], - ['rdimxrefined_382',['RDimXRefined',['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimy_383',['RDimY',['../structRDimY.html',1,'']]], - ['rdimy_5fadv_384',['RDimY_adv',['../classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496',1,'AdvectionPhysicalDomain::RDimY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b',1,'AdvectionPseudoCartesianDomain::RDimY_adv()']]], - ['rdimyrefined_385',['RDimYRefined',['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html',1,'RefinedDiscreteToCartesian']]], - ['refineddiscretetocartesian_386',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html',1,'RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >'],['../classRefinedDiscreteToCartesian.html#ad15636dc573eac8f0822134b87be904a',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default'],['../classRefinedDiscreteToCartesian.html#a71cf6ce493ab0b2d2648bbf37fe0a1b0',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default']]], - ['restartinitialization_387',['RestartInitialization',['../classRestartInitialization.html',1,'RestartInitialization'],['../classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f',1,'RestartInitialization::RestartInitialization()']]], - ['rhs_388',['RHS',['../src_geometry5D_rhs.html',1,'src_geometry5D'],['../src_geometryXVx_rhs.html',1,'src_geometryXVx']]], - ['rk2_389',['RK2',['../classRK2.html#a29590ce29977600f0a17c7cdfcbb3584',1,'RK2::RK2()'],['../classRK2.html',1,'RK2< ValChunk, DerivChunk >']]], - ['rk3_390',['RK3',['../classRK3.html#ab75113e8885dfdbc7c41494db8d2f269',1,'RK3::RK3()'],['../classRK3.html',1,'RK3< ValChunk, DerivChunk >']]], - ['rk4_391',['RK4',['../classRK4.html',1,'RK4< ValChunk, DerivChunk >'],['../classRK4.html#a63289a986749f2cffeb0180bb37b8cfa',1,'RK4::RK4()']]], - ['rotationadvectionfieldsimulation_392',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html',1,'RotationAdvectionFieldSimulation< Mapping >'],['../classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a',1,'RotationAdvectionFieldSimulation::RotationAdvectionFieldSimulation()']]], - ['rotationsimulation_393',['RotationSimulation',['../classRotationSimulation.html',1,'RotationSimulation< Mapping >'],['../classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd',1,'RotationSimulation::RotationSimulation()']]] + ['rbasissubset_321',['RBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset',1,'PolarSplineFEMPoissonSolver']]], + ['rcelldim_322',['RCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim',1,'PolarSplineFEMPoissonSolver']]], + ['rdimp_323',['RDimP',['../structRDimP.html',1,'']]], + ['rdimprefined_324',['RDimPRefined',['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimr_325',['RDimR',['../structRDimR.html',1,'']]], + ['rdimrrefined_326',['RDimRRefined',['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimt_327',['RDimT',['../structRDimT.html',1,'']]], + ['rdimvp_328',['RDimVp',['../structRDimVp.html',1,'']]], + ['rdimvr_329',['RDimVr',['../structRDimVr.html',1,'']]], + ['rdimvx_330',['RDimVx',['../structRDimVx.html',1,'']]], + ['rdimvy_331',['RDimVy',['../structRDimVy.html',1,'']]], + ['rdimx_332',['RDimX',['../structRDimX.html',1,'']]], + ['rdimx_5fadv_333',['RDimX_adv',['../classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a',1,'AdvectionPseudoCartesianDomain::RDimX_adv()'],['../classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812',1,'AdvectionPhysicalDomain::RDimX_adv()']]], + ['rdimxrefined_334',['RDimXRefined',['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimy_335',['RDimY',['../structRDimY.html',1,'']]], + ['rdimy_5fadv_336',['RDimY_adv',['../classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496',1,'AdvectionPhysicalDomain::RDimY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b',1,'AdvectionPseudoCartesianDomain::RDimY_adv()']]], + ['rdimyrefined_337',['RDimYRefined',['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html',1,'RefinedDiscreteToCartesian']]], + ['refineddiscretetocartesian_338',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html',1,'RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >'],['../classRefinedDiscreteToCartesian.html#ae29f077f94f09fc84bd19d45f8e7e225',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default'],['../classRefinedDiscreteToCartesian.html#ae5bba01bd6c921ef16dc603188003936',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default']]], + ['restartinitialization_339',['RestartInitialization',['../classRestartInitialization.html',1,'RestartInitialization'],['../classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f',1,'RestartInitialization::RestartInitialization()']]], + ['rhs_340',['RHS',['../src_geometry5D_rhs.html',1,'src_geometry5D'],['../src_geometryXVx_rhs.html',1,'src_geometryXVx']]], + ['rk2_341',['RK2',['../classRK2.html#a29590ce29977600f0a17c7cdfcbb3584',1,'RK2::RK2()'],['../classRK2.html',1,'RK2< ValChunk, DerivChunk >']]], + ['rk3_342',['RK3',['../classRK3.html#ab75113e8885dfdbc7c41494db8d2f269',1,'RK3::RK3()'],['../classRK3.html',1,'RK3< ValChunk, DerivChunk >']]], + ['rk4_343',['RK4',['../classRK4.html',1,'RK4< ValChunk, DerivChunk >'],['../classRK4.html#a63289a986749f2cffeb0180bb37b8cfa',1,'RK4::RK4()']]], + ['rotationadvectionfieldsimulation_344',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html',1,'RotationAdvectionFieldSimulation< Mapping >'],['../classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a',1,'RotationAdvectionFieldSimulation::RotationAdvectionFieldSimulation()']]], + ['rotationsimulation_345',['RotationSimulation',['../classRotationSimulation.html',1,'RotationSimulation< Mapping >'],['../classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd',1,'RotationSimulation::RotationSimulation()']]] ]; diff --git a/search/all_12.js b/search/all_12.js index cc15aae1c..a510d9b01 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,57 +1,35 @@ var searchData= [ - ['s_5fbc_5fxmax_394',['s_bc_xmax',['../classSplineBuilder.html#aecdea9406e7d85496bf6ed4c479d064d',1,'SplineBuilder']]], - ['s_5fbc_5fxmin_395',['s_bc_xmin',['../classSplineBuilder.html#a4d5e60f3a4050a4a54415835b65d03c8',1,'SplineBuilder']]], - ['s_5fdensity_396',['s_density',['../classFluidMoments.html#a51b8fc4fc4530a3cad0836bb997c4c3d',1,'FluidMoments']]], - ['s_5fnbc_5fxmax_397',['s_nbc_xmax',['../classSplineBuilder.html#a750e366c0f6cff13ee6b09e84fbd7f39',1,'SplineBuilder']]], - ['s_5fnbc_5fxmin_398',['s_nbc_xmin',['../classSplineBuilder.html#ad95603fd1144bd421f0ab85c8e8985a8',1,'SplineBuilder']]], - ['s_5fnbe_5fxmax_399',['s_nbe_xmax',['../classSplineBuilder.html#ac37e871f135ba9da956d8faacff00032',1,'SplineBuilder']]], - ['s_5fnbe_5fxmin_400',['s_nbe_xmin',['../classSplineBuilder.html#a6e27acbbf2fc5f1400ce4a08c810d52e',1,'SplineBuilder']]], - ['s_5fodd_401',['s_odd',['../classSplineBuilder.html#a8c55b038757bcdf9ad2572897f4f836b',1,'SplineBuilder']]], - ['s_5ftemperature_402',['s_temperature',['../classFluidMoments.html#a4648e3f7abc452675a0ed4bdecd59a80',1,'FluidMoments']]], - ['s_5fvelocity_403',['s_velocity',['../classFluidMoments.html#a0e36a0f2a4851525413ad0f033ffe37f',1,'FluidMoments']]], - ['script_20to_20automise_20_3a_404',['Script to automise :',['../tests_geometry5D_collisions.html',1,'']]], - ['selalib_2b_2b_405',['Selalib++',['../vendor_sll.html',1,'']]], - ['set_5fequilibrium_406',['set_equilibrium',['../classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a',1,'VortexMergerEquilibria']]], - ['set_5finitialisation_407',['set_initialisation',['../classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6',1,'VortexMergerDensitySolution']]], - ['sheath_20simulations_408',['Sheath simulations',['../simulations_geometryXVx_sheath.html',1,'simulations_geometryXVx']]], - ['simulations_20in_20_28r_2c_20theta_29_20geometry_409',['Simulations in (r, theta) geometry',['../simulations_geometryRTheta.html',1,'simulations']]], - ['simulations_20in_20_28x_2c_20vx_29_20geometry_410',['Simulations in (x, vx) geometry',['../simulations_geometryXVx.html',1,'simulations']]], - ['singlemodeperturbinitialization_411',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVx fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)'],['../classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVxVy fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)'],['../classSingleModePerturbInitialization.html',1,'SingleModePerturbInitialization']]], - ['singular_5fdomain_412',['singular_domain',['../classPolarBSplines.html#a2cf37cc5dad9064411b52af942a4f751',1,'PolarBSplines']]], - ['singular_5fspline_5fcoef_413',['singular_spline_coef',['../structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60',1,'PolarSpline::singular_spline_coef()'],['../structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e',1,'PolarSplineSpan::singular_spline_coef()'],['../structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456',1,'PolarSplineView::singular_spline_coef()']]], - ['solution_5fat_5fpole_414',['solution_at_pole',['../classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315',1,'ManufacturedPoissonTest']]], - ['solve_5fmatrix_5fsystem_415',['solve_matrix_system',['../classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077',1,'FemPeriodicPoissonSolver::solve_matrix_system()'],['../classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3',1,'FemNonPeriodicPoissonSolver::solve_matrix_system()']]], - ['span_5fcview_416',['span_cview',['../classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c',1,'VectorFieldSpan::span_cview()'],['../classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3',1,'VectorField::span_cview()']]], - ['span_5ftype_417',['span_type',['../classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3',1,'VectorFieldSpan::span_type()'],['../classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41',1,'VectorField::span_type()']]], - ['span_5fview_418',['span_view',['../classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549',1,'VectorFieldSpan::span_view()'],['../classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b',1,'VectorField::span_view()'],['../classVectorField.html#acb9821e3a1405005d7251bfbfea66f89',1,'VectorField::span_view() const']]], - ['spatial_5fdim_5ffor_419',['spatial_dim_for',['../classGeometryXVx.html#ab25a8b2541d4cb66330b480e41b252f9',1,'GeometryXVx']]], - ['spatialddom_420',['SpatialDDom',['../classGeometryXYVxVy.html#a93e46a882dc277945ed3d50d7cb892ad',1,'GeometryXYVxVy::SpatialDDom()'],['../classGeometryXVx.html#aae0be9b78f75cf231259785f2ffd4862',1,'GeometryXVx::SpatialDDom()']]], - ['speciesinformation_421',['SpeciesInformation',['../classSpeciesInformation.html',1,'']]], - ['spline_20interpolator_20in_20polar_20coordinates_422',['Spline interpolator in polar coordinates',['../src_geometryRTheta_interpolation.html',1,'src_geometryRTheta']]], - ['spline1d_423',['Spline1D',['../classdeprecated_1_1Spline1D.html',1,'deprecated']]], - ['spline2d_424',['Spline2D',['../classdeprecated_1_1Spline2D.html',1,'deprecated']]], - ['spline_5fcoef_425',['spline_coef',['../structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890',1,'PolarSplineView::spline_coef()'],['../structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc',1,'PolarSplineSpan::spline_coef()'],['../structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc',1,'PolarSpline::spline_coef()']]], - ['spline_5fdomain_426',['spline_domain',['../classSplineBuilder2D.html#a10d968260f75240a4be9d38d8c853353',1,'SplineBuilder2D::spline_domain()'],['../classSplineBuilder.html#a2d211caa5dd227dd6d05947484d1b6e9',1,'SplineBuilder::spline_domain()']]], - ['spline_5fquadrature_2ehpp_427',['spline_quadrature.hpp',['../spline__quadrature_8hpp.html',1,'']]], - ['spline_5fquadrature_5fcoefficients_428',['spline_quadrature_coefficients',['../spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769',1,'spline_quadrature.hpp']]], - ['spline_5fquadrature_5fcoefficients_5f1d_429',['spline_quadrature_coefficients_1d',['../spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b',1,'spline_quadrature.hpp']]], - ['splineboundaryvalue_430',['SplineBoundaryValue',['../classSplineBoundaryValue.html',1,'']]], - ['splineboundaryvalue2d_431',['SplineBoundaryValue2D',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue2d_3c_20bspliner_2c_20bsplinep_20_3e_432',['SplineBoundaryValue2D< BSplineR, BSplineP >',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue2d_3c_20bsplinestype1_2c_20bsplinestype2_20_3e_433',['SplineBoundaryValue2D< BSplinesType1, BSplinesType2 >',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue_3c_20bsplinestype_20_3e_434',['SplineBoundaryValue< BSplinesType >',['../classSplineBoundaryValue.html',1,'']]], - ['splinebuilder_435',['SplineBuilder',['../classSplineBuilder.html',1,'SplineBuilder< BSplines, interpolation_mesh_type, BcXmin, BcXmax >'],['../classSplineBuilder.html#aa1c79d6ada6f3253febfc994b9a2d55e',1,'SplineBuilder::SplineBuilder(interpolation_domain_type const &interpolation_domain)'],['../classSplineBuilder.html#aff30d3c9ee7e83246b37719a0866874c',1,'SplineBuilder::SplineBuilder(SplineBuilder const &x)=delete'],['../classSplineBuilder.html#ad62a92276f053ebdfcc38f1ede5b7198',1,'SplineBuilder::SplineBuilder(SplineBuilder &&x)=default']]], - ['splinebuilder1d_436',['SplineBuilder1D',['../classdeprecated_1_1SplineBuilder1D.html',1,'deprecated']]], - ['splinebuilder2d_437',['SplineBuilder2D',['../classdeprecated_1_1SplineBuilder2D.html',1,'deprecated::SplineBuilder2D'],['../classSplineBuilder2D.html',1,'SplineBuilder2D< SplineBuilder1, SplineBuilder2 >'],['../classSplineBuilder2D.html#aba437ab9712bba5ffa5dc5a88641bde9',1,'SplineBuilder2D::SplineBuilder2D(interpolation_domain_type const &interpolation_domain)'],['../classSplineBuilder2D.html#a49f64925a4092c41f0d2ef47bfee3300',1,'SplineBuilder2D::SplineBuilder2D(SplineBuilder2D const &x)=delete'],['../classSplineBuilder2D.html#a1d58b27d28466b2ea7cee506ad619c5a',1,'SplineBuilder2D::SplineBuilder2D(SplineBuilder2D &&x)=default']]], - ['splineerrorbounds_438',['SplineErrorBounds',['../classSplineErrorBounds.html',1,'']]], - ['splineevaluator_439',['SplineEvaluator',['../classSplineEvaluator.html',1,'']]], - ['splineevaluator2d_440',['SplineEvaluator2D',['../classSplineEvaluator2D.html#a6835911453688bae264dd2669f1bd9b7',1,'SplineEvaluator2D::SplineEvaluator2D()'],['../classSplineEvaluator2D.html',1,'SplineEvaluator2D< BSplinesType1, BSplinesType2 >'],['../classSplineEvaluator2D.html#a3f4db4c81b8bd50014edc7ac2565ac0d',1,'SplineEvaluator2D::SplineEvaluator2D(SplineEvaluator2D const &x)=default'],['../classSplineEvaluator2D.html#a8e40a6e9c33c1c2d66ae6e6f5cedf0f8',1,'SplineEvaluator2D::SplineEvaluator2D(SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_2, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_2)']]], - ['splineevaluator2d_3c_20bspliner_2c_20bsplinep_20_3e_441',['SplineEvaluator2D< BSplineR, BSplineP >',['../classSplineEvaluator2D.html',1,'']]], - ['splinefootfinder_442',['SplineFootFinder',['../classSplineFootFinder.html#a2250f61945c089d58d3d30cb555aa739',1,'SplineFootFinder::SplineFootFinder()'],['../classSplineFootFinder.html',1,'SplineFootFinder< TimeStepper, AdvectionDomain >']]], - ['splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_443',['SplineFootFinder< Euler, AdvectionDomain >',['../classSplineFootFinder.html',1,'']]], - ['splineinterpolatorbatched_444',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709',1,'SplineInterpolatorBatched::SplineInterpolatorBatched()'],['../classSplineInterpolatorBatched.html',1,'SplineInterpolatorBatched< DDimI, BSplines, BcMin, BcMax, LeftExtrapolationRule, RightExtrapolationRule, Solver, DDim >']]], - ['splineinterpolatorrp_445',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html#abe1253b38fc582c49d9f0ac08ef8b013',1,'SplineInterpolatorRP::SplineInterpolatorRP()'],['../classSplineInterpolatorRP.html',1,'SplineInterpolatorRP']]], - ['splitrighthandsidesolver_446',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac',1,'SplitRightHandSideSolver::SplitRightHandSideSolver()'],['../classSplitRightHandSideSolver.html',1,'SplitRightHandSideSolver']]], - ['splitvlasovsolver_447',['SplitVlasovSolver',['../classSplitVlasovSolver.html',1,'SplitVlasovSolver'],['../classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5',1,'SplitVlasovSolver::SplitVlasovSolver()']]] + ['s_5fdensity_346',['s_density',['../classFluidMoments.html#a51b8fc4fc4530a3cad0836bb997c4c3d',1,'FluidMoments']]], + ['s_5ftemperature_347',['s_temperature',['../classFluidMoments.html#a4648e3f7abc452675a0ed4bdecd59a80',1,'FluidMoments']]], + ['s_5fvelocity_348',['s_velocity',['../classFluidMoments.html#a0e36a0f2a4851525413ad0f033ffe37f',1,'FluidMoments']]], + ['script_20to_20automise_20_3a_349',['Script to automise :',['../tests_geometry5D_collisions.html',1,'']]], + ['selalib_2b_2b_350',['Selalib++',['../vendor_sll.html',1,'']]], + ['set_5fequilibrium_351',['set_equilibrium',['../classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a',1,'VortexMergerEquilibria']]], + ['set_5finitialisation_352',['set_initialisation',['../classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6',1,'VortexMergerDensitySolution']]], + ['sheath_20simulations_353',['Sheath simulations',['../simulations_geometryXVx_sheath.html',1,'simulations_geometryXVx']]], + ['simulations_20in_20_28r_2c_20theta_29_20geometry_354',['Simulations in (r, theta) geometry',['../simulations_geometryRTheta.html',1,'simulations']]], + ['simulations_20in_20_28x_2c_20vx_29_20geometry_355',['Simulations in (x, vx) geometry',['../simulations_geometryXVx.html',1,'simulations']]], + ['singlemodeperturbinitialization_356',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html',1,'SingleModePerturbInitialization'],['../classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVx fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)'],['../classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVxVy fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)']]], + ['singular_5fdomain_357',['singular_domain',['../classPolarBSplines.html#a2cf37cc5dad9064411b52af942a4f751',1,'PolarBSplines']]], + ['singular_5fspline_5fcoef_358',['singular_spline_coef',['../structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60',1,'PolarSpline::singular_spline_coef()'],['../structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e',1,'PolarSplineSpan::singular_spline_coef()'],['../structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456',1,'PolarSplineView::singular_spline_coef()']]], + ['solution_5fat_5fpole_359',['solution_at_pole',['../classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315',1,'ManufacturedPoissonTest']]], + ['solve_5fmatrix_5fsystem_360',['solve_matrix_system',['../classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077',1,'FemPeriodicPoissonSolver::solve_matrix_system()'],['../classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3',1,'FemNonPeriodicPoissonSolver::solve_matrix_system()']]], + ['span_5fcview_361',['span_cview',['../classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c',1,'VectorFieldSpan::span_cview()'],['../structPolarSplineView.html#a6980452d50ebf203530137aa11a679d8',1,'PolarSplineView::span_cview()'],['../structPolarSpline.html#a2dac921360e8a966e00b0785621d69fb',1,'PolarSpline::span_cview()'],['../structPolarSplineSpan.html#ad047ad16e073fb9b8aa58f1b8de2687c',1,'PolarSplineSpan::span_cview()'],['../classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3',1,'VectorField::span_cview() const']]], + ['span_5ftype_362',['span_type',['../classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41',1,'VectorField::span_type()'],['../classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3',1,'VectorFieldSpan::span_type()']]], + ['span_5fview_363',['span_view',['../classVectorField.html#acb9821e3a1405005d7251bfbfea66f89',1,'VectorField::span_view() const'],['../classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b',1,'VectorField::span_view()'],['../classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549',1,'VectorFieldSpan::span_view()'],['../structPolarSpline.html#a6db588a681ff0c344625d6eb7111ca99',1,'PolarSpline::span_view()'],['../structPolarSplineSpan.html#a70a68be0eda4182137ada4b7c294a6b7',1,'PolarSplineSpan::span_view()'],['../structPolarSplineView.html#a6e770098a5de395d0d7abaf7f338dcb6',1,'PolarSplineView::span_view()']]], + ['spatial_5fdim_5ffor_364',['spatial_dim_for',['../classGeometryXVx.html#ab25a8b2541d4cb66330b480e41b252f9',1,'GeometryXVx']]], + ['spatialddom_365',['SpatialDDom',['../classGeometryXVx.html#aae0be9b78f75cf231259785f2ffd4862',1,'GeometryXVx::SpatialDDom()'],['../classGeometryXYVxVy.html#a93e46a882dc277945ed3d50d7cb892ad',1,'GeometryXYVxVy::SpatialDDom()']]], + ['speciesinformation_366',['SpeciesInformation',['../classSpeciesInformation.html',1,'']]], + ['spline_20interpolator_20in_20polar_20coordinates_367',['Spline interpolator in polar coordinates',['../src_geometryRTheta_interpolation.html',1,'src_geometryRTheta']]], + ['spline_5fcoef_368',['spline_coef',['../structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc',1,'PolarSpline::spline_coef()'],['../structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890',1,'PolarSplineView::spline_coef()'],['../structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc',1,'PolarSplineSpan::spline_coef()']]], + ['spline_5fquadrature_2ehpp_369',['spline_quadrature.hpp',['../spline__quadrature_8hpp.html',1,'']]], + ['spline_5fquadrature_5fcoefficients_370',['spline_quadrature_coefficients',['../spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769',1,'spline_quadrature.hpp']]], + ['spline_5fquadrature_5fcoefficients_5f1d_371',['spline_quadrature_coefficients_1d',['../spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b',1,'spline_quadrature.hpp']]], + ['splinefootfinder_372',['SplineFootFinder',['../classSplineFootFinder.html#a3da5df4e45c0771002568987d24f922c',1,'SplineFootFinder::SplineFootFinder()'],['../classSplineFootFinder.html',1,'SplineFootFinder< TimeStepper, AdvectionDomain >']]], + ['splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_373',['SplineFootFinder< Euler, AdvectionDomain >',['../classSplineFootFinder.html',1,'']]], + ['splineinterpolatorbatched_374',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709',1,'SplineInterpolatorBatched::SplineInterpolatorBatched()'],['../classSplineInterpolatorBatched.html',1,'SplineInterpolatorBatched< DDimI, BSplines, BcMin, BcMax, LeftExtrapolationRule, RightExtrapolationRule, Solver, DDim >']]], + ['splineinterpolatorrp_375',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html#a527491e617038baf55192cd315f08187',1,'SplineInterpolatorRP::SplineInterpolatorRP()'],['../classSplineInterpolatorRP.html',1,'SplineInterpolatorRP< RadialExtrapolationRule >']]], + ['splitrighthandsidesolver_376',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html',1,'SplitRightHandSideSolver'],['../classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac',1,'SplitRightHandSideSolver::SplitRightHandSideSolver()']]], + ['splitvlasovsolver_377',['SplitVlasovSolver',['../classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5',1,'SplitVlasovSolver::SplitVlasovSolver()'],['../classSplitVlasovSolver.html',1,'SplitVlasovSolver']]] ]; diff --git a/search/all_13.js b/search/all_13.js index cdd98c07e..d4d8d9d16 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,37 +1,36 @@ var searchData= [ - ['tag_5ftype_448',['tag_type',['../classConstantExtrapolationBoundaryValue.html#aae8a770049d4897e5472c2d01772bf5e',1,'ConstantExtrapolationBoundaryValue']]], - ['temperature_5fbot_449',['temperature_bot',['../classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8',1,'BumpontailEquilibrium']]], - ['temperature_5feq_450',['temperature_eq',['../classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51',1,'MaxwellianEquilibrium::temperature_eq() const'],['../classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0',1,'MaxwellianEquilibrium::temperature_eq() const']]], - ['tensor_5fbspline_5fdomain_451',['tensor_bspline_domain',['../classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633',1,'PolarBSplines::Impl']]], - ['tensor_5fproduct_5fdiscrete_5fdomain_5ftype_452',['tensor_product_discrete_domain_type',['../classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d',1,'PolarBSplines']]], - ['tensor_5fproduct_5fdiscrete_5felement_5ftype_453',['tensor_product_discrete_element_type',['../classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe',1,'PolarBSplines']]], - ['tensor_5fproduct_5fdiscrete_5fvector_5ftype_454',['tensor_product_discrete_vector_type',['../classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6',1,'PolarBSplines']]], - ['tests_455',['Tests',['../tests.html',1,'']]], - ['tests_20_3a_20geometry_20_28r_2c_20theta_29_456',['Tests : Geometry (r, theta)',['../tests_geometryRTheta.html',1,'tests']]], - ['tests_20on_20spline_20interpolator_20in_20polar_20coordinates_457',['Tests on spline interpolator in polar coordinates',['../tests_geometryRTheta_2d_spline_interpolator.html',1,'tests_geometryRTheta']]], - ['tests_20on_20the_202d_20polar_20advection_20operator_458',['Tests on the 2D polar advection operator',['../tests_geometryRTheta_advection_2d_rp.html',1,'tests_geometryRTheta']]], - ['tests_20on_20the_202d_20polar_20poisson_20solver_459',['Tests on the 2D polar poisson solver',['../tests_geometryRTheta_polar_poisson.html',1,'tests_geometryRTheta']]], - ['time_20integration_460',['Time integration',['../src_geometryXVx_time_integration.html',1,'src_geometryXVx']]], - ['time_20stepping_20methods_461',['Time Stepping Methods',['../src_timestepper.html',1,'src']]], - ['to_5fcovariant_462',['to_covariant',['../classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664',1,'Curvilinear2DToCartesian']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f11_5fcenter_463',['to_pseudo_cartesian_jacobian_11_center',['../classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classDiscreteToCartesian.html#aae9a0fdd75d4eb4b3e41f5a29c7617b5',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classRefinedDiscreteToCartesian.html#a416da5763f9fbc1102116d87a9d16406',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f12_5fcenter_464',['to_pseudo_cartesian_jacobian_12_center',['../classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classRefinedDiscreteToCartesian.html#afc5ed6dcc2450da218198df4ce5d99db',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classDiscreteToCartesian.html#ace0bcbe9dc37e8aa5d248ca2fdee3158',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f21_5fcenter_465',['to_pseudo_cartesian_jacobian_21_center',['../classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classDiscreteToCartesian.html#a1132f1474ca6b5c3ff27398ab7ed18a5',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classRefinedDiscreteToCartesian.html#aae2b4b51ccbf6904311b898cf6294697',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f22_5fcenter_466',['to_pseudo_cartesian_jacobian_22_center',['../classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classDiscreteToCartesian.html#a2dae457c21862f95bf41773e3b87a79f',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classRefinedDiscreteToCartesian.html#aed3ea390d002eebaa27fde9077fd9fc8',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5fcenter_5fmatrix_467',['to_pseudo_cartesian_jacobian_center_matrix',['../classRefinedDiscreteToCartesian.html#ad036c1e505c4f6aff7c898f8780b4aae',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classDiscreteToCartesian.html#ac835fa42f73cd1018f7d3b40bce558b2',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_center_matrix()']]], - ['to_5ftuple_468',['to_tuple',['../structto__tuple.html',1,'']]], - ['to_5ftuple_3c_20std_3a_3ainteger_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_20_3e_469',['to_tuple< std::integer_sequence< T, Ints... > >',['../structto__tuple_3_01std_1_1integer__sequence_3_01T_00_01Ints_8_8_8_01_4_01_4.html',1,'']]], - ['to_5ftuple_3c_20std_3a_3apair_3c_20t_2c_20u_20_3e_20_3e_470',['to_tuple< std::pair< T, U > >',['../structto__tuple_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html',1,'']]], - ['tor1_471',['Tor1',['../structTor1.html',1,'']]], - ['tor2_472',['Tor2',['../structTor2.html',1,'']]], - ['tor3_473',['Tor3',['../structTor3.html',1,'']]], - ['translationadvectionfieldsimulation_474',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272',1,'TranslationAdvectionFieldSimulation::TranslationAdvectionFieldSimulation()'],['../classTranslationAdvectionFieldSimulation.html',1,'TranslationAdvectionFieldSimulation< Mapping >']]], - ['translationsimulation_475',['TranslationSimulation',['../classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1',1,'TranslationSimulation::TranslationSimulation()'],['../classTranslationSimulation.html',1,'TranslationSimulation< Mapping >']]], - ['trapezoid_5fquadrature_2ehpp_476',['trapezoid_quadrature.hpp',['../trapezoid__quadrature_8hpp.html',1,'']]], - ['trapezoid_5fquadrature_5fcoefficients_477',['trapezoid_quadrature_coefficients',['../trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9',1,'trapezoid_quadrature.hpp']]], - ['trapezoid_5fquadrature_5fcoefficients_5f1d_478',['trapezoid_quadrature_coefficients_1d',['../trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf',1,'trapezoid_quadrature.hpp']]], - ['tuple_5fto_5ftypes_479',['tuple_to_types',['../structtuple__to__types.html',1,'']]], - ['tuple_5fto_5ftypes_3c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e_480',['tuple_to_types< std::tuple< Args... > >',['../structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'']]], - ['type_481',['type',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html#a01b41fecaeb84e4397c995d4bcfca4f7',1,'interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >']]] + ['temperature_5fbot_378',['temperature_bot',['../classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8',1,'BumpontailEquilibrium']]], + ['temperature_5feq_379',['temperature_eq',['../classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51',1,'MaxwellianEquilibrium::temperature_eq() const'],['../classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0',1,'MaxwellianEquilibrium::temperature_eq() const']]], + ['tensor_5fbspline_5fdomain_380',['tensor_bspline_domain',['../classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633',1,'PolarBSplines::Impl']]], + ['tensor_5fproduct_5fdiscrete_5fdomain_5ftype_381',['tensor_product_discrete_domain_type',['../classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d',1,'PolarBSplines']]], + ['tensor_5fproduct_5fdiscrete_5felement_5ftype_382',['tensor_product_discrete_element_type',['../classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe',1,'PolarBSplines']]], + ['tensor_5fproduct_5fdiscrete_5fvector_5ftype_383',['tensor_product_discrete_vector_type',['../classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6',1,'PolarBSplines']]], + ['tests_384',['Tests',['../tests.html',1,'']]], + ['tests_20_3a_20geometry_20_28r_2c_20theta_29_385',['Tests : Geometry (r, theta)',['../tests_geometryRTheta.html',1,'tests']]], + ['tests_20on_20spline_20interpolator_20in_20polar_20coordinates_386',['Tests on spline interpolator in polar coordinates',['../tests_geometryRTheta_2d_spline_interpolator.html',1,'tests_geometryRTheta']]], + ['tests_20on_20the_202d_20polar_20advection_20operator_387',['Tests on the 2D polar advection operator',['../tests_geometryRTheta_advection_2d_rp.html',1,'tests_geometryRTheta']]], + ['tests_20on_20the_202d_20polar_20poisson_20solver_388',['Tests on the 2D polar poisson solver',['../tests_geometryRTheta_polar_poisson.html',1,'tests_geometryRTheta']]], + ['time_20integration_389',['Time integration',['../src_geometryXVx_time_integration.html',1,'src_geometryXVx']]], + ['time_20stepping_20methods_390',['Time Stepping Methods',['../src_timestepper.html',1,'src']]], + ['to_5fcovariant_391',['to_covariant',['../classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664',1,'Curvilinear2DToCartesian']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f11_5fcenter_392',['to_pseudo_cartesian_jacobian_11_center',['../classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classDiscreteToCartesian.html#a07c73338061696ea437f46f81d7a76a4',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classRefinedDiscreteToCartesian.html#a2db78ed9508f2ba5653cbbae7a5fe0b1',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f12_5fcenter_393',['to_pseudo_cartesian_jacobian_12_center',['../classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classRefinedDiscreteToCartesian.html#a9ccad9ea32431d2129672501ef9ae453',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classDiscreteToCartesian.html#a5e057de7bd71315b89e0c1b833d60658',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f21_5fcenter_394',['to_pseudo_cartesian_jacobian_21_center',['../classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classDiscreteToCartesian.html#a9bb82bca2da44831a78f7f6850a7616a',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classRefinedDiscreteToCartesian.html#a0f14e02728459802da5197828535c1e2',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f22_5fcenter_395',['to_pseudo_cartesian_jacobian_22_center',['../classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classDiscreteToCartesian.html#ae1bf31c827fc3abbf866d77068a93367',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classRefinedDiscreteToCartesian.html#a663d2043b6fd23ddbb86815f70f8edf4',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center(ddc::DiscreteDomain< IDimR, IDimP > const &grid) const']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5fcenter_5fmatrix_396',['to_pseudo_cartesian_jacobian_center_matrix',['../classRefinedDiscreteToCartesian.html#a188b82d80a44d2d7cdda04c6dce91690',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classDiscreteToCartesian.html#a096a8b63f61587613c8022ebadbdda0e',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_center_matrix()']]], + ['to_5ftuple_397',['to_tuple',['../structto__tuple.html',1,'']]], + ['to_5ftuple_3c_20std_3a_3ainteger_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_20_3e_398',['to_tuple< std::integer_sequence< T, Ints... > >',['../structto__tuple_3_01std_1_1integer__sequence_3_01T_00_01Ints_8_8_8_01_4_01_4.html',1,'']]], + ['to_5ftuple_3c_20std_3a_3apair_3c_20t_2c_20u_20_3e_20_3e_399',['to_tuple< std::pair< T, U > >',['../structto__tuple_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html',1,'']]], + ['tor1_400',['Tor1',['../structTor1.html',1,'']]], + ['tor2_401',['Tor2',['../structTor2.html',1,'']]], + ['tor3_402',['Tor3',['../structTor3.html',1,'']]], + ['translationadvectionfieldsimulation_403',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272',1,'TranslationAdvectionFieldSimulation::TranslationAdvectionFieldSimulation()'],['../classTranslationAdvectionFieldSimulation.html',1,'TranslationAdvectionFieldSimulation< Mapping >']]], + ['translationsimulation_404',['TranslationSimulation',['../classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1',1,'TranslationSimulation::TranslationSimulation()'],['../classTranslationSimulation.html',1,'TranslationSimulation< Mapping >']]], + ['trapezoid_5fquadrature_2ehpp_405',['trapezoid_quadrature.hpp',['../trapezoid__quadrature_8hpp.html',1,'']]], + ['trapezoid_5fquadrature_5fcoefficients_406',['trapezoid_quadrature_coefficients',['../trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9',1,'trapezoid_quadrature.hpp']]], + ['trapezoid_5fquadrature_5fcoefficients_5f1d_407',['trapezoid_quadrature_coefficients_1d',['../trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf',1,'trapezoid_quadrature.hpp']]], + ['tuple_5fto_5ftypes_408',['tuple_to_types',['../structtuple__to__types.html',1,'']]], + ['tuple_5fto_5ftypes_3c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e_409',['tuple_to_types< std::tuple< Args... > >',['../structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'']]], + ['type_410',['type',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html#a01b41fecaeb84e4397c995d4bcfca4f7',1,'interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >']]] ]; diff --git a/search/all_14.js b/search/all_14.js index 79a1dbc24..252a639e4 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,10 +1,9 @@ var searchData= [ - ['uniformbsplines_482',['UniformBSplines',['../classdeprecated_1_1UniformBSplines.html',1,'deprecated::UniformBSplines'],['../classUniformBSplines.html',1,'UniformBSplines< Tag, D >']]], - ['update_483',['update',['../classRK2.html#af634097606b3d5f2b54ca3311561ecc1',1,'RK2::update()'],['../classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK4.html#af9fdd4103da9b230c52730671abea3d6',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#a46286b1d28894b90593a2aee6dca725d',1,'RK4::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#ab45cc74d736d44303fb755d77976bf14',1,'RK3::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#aa215475ac2ff63e25d2451175cff5759',1,'RK2::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classEuler.html#a20ceb8499822225f00079922405d9dad',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8',1,'Euler::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2',1,'CrankNicolson::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const']]], - ['using_20ddc_20in_20gyselalibxx_484',['Using DDC in Gyselalibxx',['../docs_DDC_in_gyselalibxx.html',1,'']]], - ['using_20git_485',['Using Git',['../docs_Using_git.html',1,'']]], - ['utility_20functions_486',['Utility Functions',['../src_utils.html',1,'src']]], - ['utils_487',['Utils',['../src_geometryXVx_utils.html',1,'src_geometryXVx']]], - ['utils_5ftools_2ehpp_488',['utils_tools.hpp',['../utils__tools_8hpp.html',1,'']]] + ['update_411',['update',['../classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2',1,'CrankNicolson::update()'],['../classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK4.html#af9fdd4103da9b230c52730671abea3d6',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#a46286b1d28894b90593a2aee6dca725d',1,'RK4::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#ab45cc74d736d44303fb755d77976bf14',1,'RK3::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#af634097606b3d5f2b54ca3311561ecc1',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#aa215475ac2ff63e25d2451175cff5759',1,'RK2::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classEuler.html#a20ceb8499822225f00079922405d9dad',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8',1,'Euler::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const']]], + ['using_20ddc_20in_20gyselalibxx_412',['Using DDC in Gyselalibxx',['../docs_DDC_in_gyselalibxx.html',1,'']]], + ['using_20git_413',['Using Git',['../docs_Using_git.html',1,'']]], + ['utility_20functions_414',['Utility Functions',['../src_utils.html',1,'src']]], + ['utils_415',['Utils',['../src_geometryXVx_utils.html',1,'src_geometryXVx']]], + ['utils_5ftools_2ehpp_416',['utils_tools.hpp',['../utils__tools_8hpp.html',1,'']]] ]; diff --git a/search/all_15.js b/search/all_15.js index d33aa99f7..9d5c8273a 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,15 +1,15 @@ var searchData= [ - ['vectorfield_489',['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_490',['VectorFieldCommon',['../classVectorFieldCommon.html',1,'']]], - ['vectorfieldcommon_3c_20ddc_3a_3achunk_3c_20elementtype_2c_20domain_2c_20allocator_20_3e_2c_20ndtag_20_3e_491',['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_492',['VectorFieldCommon< ddc::ChunkSpan< ElementType, Domain, LayoutStridedPolicy, MemorySpace >, NDTag >',['../classVectorFieldCommon.html',1,'']]], - ['vectorfieldspan_493',['VectorFieldSpan',['../classVectorFieldSpan.html#aa4aea470e10596cd64dbb912ac9c9dfb',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9',1,'VectorFieldSpan::VectorFieldSpan(mdomain_type const &domain, OElementType *... ptr)'],['../classVectorFieldSpan.html#a6d06815cd2394ffa4549a154ee796280',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan< OElementType, mdomain_type, NDTag, LayoutStridedPolicy, MemorySpace > const &other) noexcept'],['../classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > const &other) noexcept'],['../classVectorFieldSpan.html#aa4f77f6e758b991a7c18bb9b25c0ae30',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > &other) noexcept'],['../classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan const &other)=default'],['../classVectorFieldSpan.html#a496be86209bed2fe0c4637c2068f2e9d',1,'VectorFieldSpan::VectorFieldSpan()=default'],['../classVectorFieldSpan.html',1,'VectorFieldSpan< ElementType, Domain, NDTag, LayoutStridedPolicy, MemorySpace >']]], - ['velocity_5fdim_5ffor_494',['velocity_dim_for',['../classGeometryXVx.html#a90587dbc849cee58b202b991ada76d10',1,'GeometryXVx::velocity_dim_for()'],['../classGeometryXYVxVy.html#a9478473d2c2f743cbd876536fb40fcc0',1,'GeometryXYVxVy::velocity_dim_for()']]], - ['velocityddom_495',['VelocityDDom',['../classGeometryXVx.html#a9793a4dcc9baef9a3e17e9ecca354940',1,'GeometryXVx::VelocityDDom()'],['../classGeometryXYVxVy.html#a32ca2463cf7921342f7816c97121eddb',1,'GeometryXYVxVy::VelocityDDom()']]], - ['view_5ftype_496',['view_type',['../classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd',1,'VectorField::view_type()'],['../classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f',1,'VectorFieldSpan::view_type()']]], - ['vortex_20merger_497',['Vortex merger',['../simulations_geometryRTheta_vortex_merger.html',1,'simulations_geometryRTheta']]], - ['vortexmergerdensitysolution_498',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html',1,'VortexMergerDensitySolution< Mapping >'],['../classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75',1,'VortexMergerDensitySolution::VortexMergerDensitySolution()']]], - ['vortexmergerequilibria_499',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html',1,'VortexMergerEquilibria< Mapping >'],['../classVortexMergerEquilibria.html#a797e9f9c68a96d1f73bc7e1c0b1e1d06',1,'VortexMergerEquilibria::VortexMergerEquilibria()']]], - ['vpar_500',['Vpar',['../structVpar.html',1,'']]] + ['vectorfield_417',['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_418',['VectorFieldCommon',['../classVectorFieldCommon.html',1,'']]], + ['vectorfieldcommon_3c_20ddc_3a_3achunk_3c_20elementtype_2c_20domain_2c_20allocator_20_3e_2c_20ndtag_20_3e_419',['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_420',['VectorFieldCommon< ddc::ChunkSpan< ElementType, Domain, LayoutStridedPolicy, MemorySpace >, NDTag >',['../classVectorFieldCommon.html',1,'']]], + ['vectorfieldspan_421',['VectorFieldSpan',['../classVectorFieldSpan.html#aa4aea470e10596cd64dbb912ac9c9dfb',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ab9abf5d8db080b9e814bdf95d56fa9e9',1,'VectorFieldSpan::VectorFieldSpan(mdomain_type const &domain, OElementType *... ptr)'],['../classVectorFieldSpan.html#a6d06815cd2394ffa4549a154ee796280',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan< OElementType, mdomain_type, NDTag, LayoutStridedPolicy, MemorySpace > const &other) noexcept'],['../classVectorFieldSpan.html#ab10f4b73b4233a02e5f25c2b4afcb6b8',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > const &other) noexcept'],['../classVectorFieldSpan.html#aa4f77f6e758b991a7c18bb9b25c0ae30',1,'VectorFieldSpan::VectorFieldSpan(VectorField< OElementType, Domain, NDTag, Allocator > &other) noexcept'],['../classVectorFieldSpan.html#ae15150e6af873478dfe5132a30fe168a',1,'VectorFieldSpan::VectorFieldSpan(VectorFieldSpan const &other)=default'],['../classVectorFieldSpan.html#a496be86209bed2fe0c4637c2068f2e9d',1,'VectorFieldSpan::VectorFieldSpan()=default'],['../classVectorFieldSpan.html',1,'VectorFieldSpan< ElementType, Domain, NDTag, LayoutStridedPolicy, MemorySpace >']]], + ['velocity_5fdim_5ffor_422',['velocity_dim_for',['../classGeometryXVx.html#a90587dbc849cee58b202b991ada76d10',1,'GeometryXVx::velocity_dim_for()'],['../classGeometryXYVxVy.html#a9478473d2c2f743cbd876536fb40fcc0',1,'GeometryXYVxVy::velocity_dim_for()']]], + ['velocityddom_423',['VelocityDDom',['../classGeometryXVx.html#a9793a4dcc9baef9a3e17e9ecca354940',1,'GeometryXVx::VelocityDDom()'],['../classGeometryXYVxVy.html#a32ca2463cf7921342f7816c97121eddb',1,'GeometryXYVxVy::VelocityDDom()']]], + ['view_5ftype_424',['view_type',['../classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd',1,'VectorField::view_type()'],['../classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f',1,'VectorFieldSpan::view_type()']]], + ['vortex_20merger_425',['Vortex merger',['../simulations_geometryRTheta_vortex_merger.html',1,'simulations_geometryRTheta']]], + ['vortexmergerdensitysolution_426',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html',1,'VortexMergerDensitySolution< Mapping >'],['../classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75',1,'VortexMergerDensitySolution::VortexMergerDensitySolution()']]], + ['vortexmergerequilibria_427',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html',1,'VortexMergerEquilibria< Mapping >'],['../classVortexMergerEquilibria.html#aee9cf588de7231a419e3798c1d72c6c1',1,'VortexMergerEquilibria::VortexMergerEquilibria()']]], + ['vpar_428',['Vpar',['../structVpar.html',1,'']]] ]; diff --git a/search/all_16.js b/search/all_16.js index 05173e6a4..ce072c8db 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -1,5 +1,5 @@ var searchData= [ - ['_7eimpl_501',['~Impl',['../classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf',1,'PolarBSplines::Impl']]], - ['_7evectorfieldspan_502',['~VectorFieldSpan',['../classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b',1,'VectorFieldSpan']]] + ['_7eimpl_429',['~Impl',['../classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf',1,'PolarBSplines::Impl']]], + ['_7evectorfieldspan_430',['~VectorFieldSpan',['../classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b',1,'VectorFieldSpan']]] ]; diff --git a/search/all_2.js b/search/all_2.js index 9fc985406..ca87b3046 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -1,58 +1,51 @@ var searchData= [ - ['cartesian_5fproduct_5fimpl_55',['cartesian_product_impl',['../structcartesian__product__impl.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20std_3a_3atuple_3c_20headargs_2e_2e_2e_20_3e_2c_20tailtuples_2e_2e_2e_20_3e_2c_20outtupleoftuples_20_3e_56',['cartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20tailtuples_2e_2e_2e_20_3e_2c_20decltype_28std_3a_3atuple_5fcat_28std_3a_3adeclval_3c_20for_5feach_5ftuple_5fcat_5ft_3c_20outtupleoftuples_2c_20std_3a_3atuple_3c_20headargs_20_3e_3e_3e_28_29_2e_2e_2e_29_29_3e_57',['cartesian_product_impl< std::tuple< TailTuples... >, decltype(std::tuple_cat(std::declval< for_each_tuple_cat_t< OutTupleOfTuples, std::tuple< HeadArgs >>>()...))>',['../structcartesian__product__impl.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_3e_2c_20outtupleoftuples_20_3e_58',['cartesian_product_impl< std::tuple<>, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_4_00_01OutTupleOfTuples_01_4.html',1,'']]], - ['cartesian_5ftag_5fx_59',['cartesian_tag_x',['../classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd',1,'Curvilinear2DToCartesian::cartesian_tag_x()'],['../classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b',1,'CircularToCartesian::cartesian_tag_x()'],['../classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31',1,'CzarnyToCartesian::cartesian_tag_x()'],['../classDiscreteToCartesian.html#a0859a3a3f5153b0803dec995b33da10f',1,'DiscreteToCartesian::cartesian_tag_x()']]], - ['cartesian_5ftag_5fy_60',['cartesian_tag_y',['../classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b',1,'CircularToCartesian::cartesian_tag_y()'],['../classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4',1,'Curvilinear2DToCartesian::cartesian_tag_y()'],['../classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314',1,'CzarnyToCartesian::cartesian_tag_y()'],['../classDiscreteToCartesian.html#a3915c637ee4b9d88366151d7906155b0',1,'DiscreteToCartesian::cartesian_tag_y()']]], - ['cartesiansolution_61',['CartesianSolution',['../classCartesianSolution.html',1,'CartesianSolution< CurvilinearToCartesian >'],['../classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1',1,'CartesianSolution::CartesianSolution()']]], - ['cartesiantobarycentriccoordinates_62',['CartesianToBarycentricCoordinates',['../classCartesianToBarycentricCoordinates.html',1,'']]], - ['cartesiantobarycentriccoordinates_3c_20tag1_2c_20tag2_2c_20corner1tag_2c_20corner2tag_2c_20corner3tag_20_3e_63',['CartesianToBarycentricCoordinates< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag >',['../classCartesianToBarycentricCoordinates.html',1,'']]], - ['charge_64',['charge',['../classSpeciesInformation_1_1Impl.html#af259b7e3f75193999f7580368dc92093',1,'SpeciesInformation::Impl']]], - ['chargedensitycalculator_65',['ChargeDensityCalculator',['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html',1,'ChargeDensityCalculator']]], - ['charges_66',['charges',['../classSpeciesInformation_1_1Impl.html#a6fa19e2bcac84772f4de38323e4430e3',1,'SpeciesInformation::Impl']]], - ['chunk_5ftype_67',['chunk_type',['../classVectorField.html#a17028a562655b6e58926450f8849b066',1,'VectorField::chunk_type()'],['../classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e',1,'VectorFieldSpan::chunk_type()']]], - ['circular_5ftag_5fp_68',['circular_tag_p',['../classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026',1,'CircularToCartesian::circular_tag_p()'],['../classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156',1,'CzarnyToCartesian::circular_tag_p()'],['../classDiscreteToCartesian.html#ae1c7b39ab242d555ed6f74529cce5ccc',1,'DiscreteToCartesian::circular_tag_p()']]], - ['circular_5ftag_5fr_69',['circular_tag_r',['../classCircularToCartesian.html#a542194138b7c390892767e6f142885f1',1,'CircularToCartesian::circular_tag_r()'],['../classDiscreteToCartesian.html#a6bed491350aa17dda83454512e3ea70e',1,'DiscreteToCartesian::circular_tag_r()'],['../classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5',1,'CzarnyToCartesian::circular_tag_r()']]], - ['circulartocartesian_70',['CircularToCartesian',['../classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian &&x)=default'],['../classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian const &other)=default'],['../classCircularToCartesian.html',1,'CircularToCartesian< DimX, DimY, DimR, DimP >']]], - ['circulartocartesian_3c_20rdimx_2c_20rdimy_2c_20rdimr_2c_20rdimp_20_3e_71',['CircularToCartesian< RDimX, RDimY, RDimR, RDimP >',['../classCircularToCartesian.html',1,'']]], - ['coding_20standards_72',['Coding Standards',['../docs_CODING_STANDARD.html',1,'']]], - ['collisions_73',['Collisions',['../classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96',1,'Collisions::Collisions()'],['../classCollisions.html',1,'Collisions'],['../src_geometry5D_rhs_collisions.html',1,'(Global Namespace)']]], - ['collisionsguard_74',['CollisionsGuard',['../classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8',1,'CollisionsGuard::CollisionsGuard()'],['../classCollisionsGuard.html',1,'CollisionsGuard']]], - ['collisionsinter_75',['CollisionsInter',['../classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647',1,'CollisionsInter::CollisionsInter()'],['../classCollisionsInter.html',1,'CollisionsInter']]], - ['collisionsintra_76',['CollisionsIntra',['../classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34',1,'CollisionsIntra::CollisionsIntra()'],['../classCollisionsIntra.html',1,'CollisionsIntra']]], - ['compute_5fadvection_5ffield_77',['compute_advection_field',['../classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351',1,'AdvectionPhysicalDomain::compute_advection_field()'],['../classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404',1,'AdvectionPseudoCartesianDomain::compute_advection_field()']]], - ['compute_5fcoeffs_5fon_5fmapping_78',['compute_coeffs_on_mapping',['../compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba',1,'compute_norms.hpp']]], - ['compute_5fl1_5fnorm_79',['compute_L1_norm',['../compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52',1,'compute_norms.hpp']]], - ['compute_5fl2_5fnorm_80',['compute_L2_norm',['../compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8',1,'compute_norms.hpp']]], - ['compute_5fmatrix_5fcoeff_81',['compute_matrix_coeff',['../classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0',1,'CollisionsIntra']]], - ['compute_5fmaxwellian_82',['compute_maxwellian',['../classMaxwellianEquilibrium.html#a3e23dd1e866fe57900314cca7f6c1ec9',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVx const fMaxwellian, double const density, double const temperature, double const mean_velocity)'],['../classMaxwellianEquilibrium.html#a72f9f23f4753028c745d92b6512afd0e',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVxVy const fMaxwellian, double const density, double const temperature, double const mean_velocity)']]], - ['compute_5fnorms_2ehpp_83',['compute_norms.hpp',['../compute__norms_8hpp.html',1,'']]], - ['compute_5frhs_5fvector_84',['compute_rhs_vector',['../classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40',1,'CollisionsIntra']]], - ['compute_5ftwomaxwellian_85',['compute_twomaxwellian',['../classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e',1,'BumpontailEquilibrium']]], - ['constantextrapolationboundaryvalue_86',['ConstantExtrapolationBoundaryValue',['../classConstantExtrapolationBoundaryValue.html',1,'ConstantExtrapolationBoundaryValue< BSplines >'],['../classConstantExtrapolationBoundaryValue.html#ad8756c3fca7296f63a606b171cabe682',1,'ConstantExtrapolationBoundaryValue::ConstantExtrapolationBoundaryValue()']]], - ['constantextrapolationboundaryvalue2d_87',['ConstantExtrapolationBoundaryValue2D',['../classConstantExtrapolationBoundaryValue2D.html',1,'ConstantExtrapolationBoundaryValue2D< BSplines1, BSplines2, BCDim >'],['../classConstantExtrapolationBoundaryValue2D.html#ab4eb4f906370d95343681984c1286539',1,'ConstantExtrapolationBoundaryValue2D::ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc, coord_type_no_bc const eval_pos_no_bc_min, coord_type_no_bc const eval_pos_no_bc_max)'],['../classConstantExtrapolationBoundaryValue2D.html#ade982cfc826992a284c102549a553638',1,'ConstantExtrapolationBoundaryValue2D::ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc)']]], - ['continuity_88',['continuity',['../classPolarBSplines.html#ae3830973693187e44d326d18089c12b5',1,'PolarBSplines::continuity()'],['../classPolarSplineEvaluator.html#a15aee591887e56951f682344a630d204',1,'PolarSplineEvaluator::continuity()']]], - ['control_5fpoint_89',['control_point',['../classDiscreteToCartesian.html#a37da629bdc955f87e99c5b93f7c869bb',1,'DiscreteToCartesian']]], - ['coord_5ftype_90',['coord_type',['../classConstantExtrapolationBoundaryValue.html#af08b80060384a655dc1b1e8c96a65086',1,'ConstantExtrapolationBoundaryValue']]], - ['coord_5ftype1_91',['coord_type1',['../classConstantExtrapolationBoundaryValue2D.html#a299e90d013db5760d9d5eddf09e65983',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype2_92',['coord_type2',['../classConstantExtrapolationBoundaryValue2D.html#af2dbe50fa1a5e2c0a886f68050b0cb14',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype_5fbc_93',['coord_type_bc',['../classConstantExtrapolationBoundaryValue2D.html#a60fca7bd0cfc5d62eac436aed6999478',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype_5fno_5fbc_94',['coord_type_no_bc',['../classConstantExtrapolationBoundaryValue2D.html#a29a881d8ec135b757133504275194143',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coordinate_5fconverter_5ftype_95',['coordinate_converter_type',['../classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c',1,'PoissonSolution']]], - ['coordxy_5fadv_96',['CoordXY_adv',['../classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161',1,'AdvectionPhysicalDomain::CoordXY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1',1,'AdvectionPseudoCartesianDomain::CoordXY_adv()']]], - ['corner1tag_97',['Corner1Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag',1,'PolarBSplines::Impl']]], - ['corner2tag_98',['Corner2Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag',1,'PolarBSplines::Impl']]], - ['corner3tag_99',['Corner3Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag',1,'PolarBSplines::Impl']]], - ['cosineevaluator_100',['CosineEvaluator',['../structCosineEvaluator.html',1,'']]], - ['cranknicolson_101',['CrankNicolson',['../classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f',1,'CrankNicolson::CrankNicolson()'],['../classCrankNicolson.html',1,'CrankNicolson< ValChunk, DerivChunk >']]], - ['curvilinear2dtocartesian_102',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian const &other)=default'],['../classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian &&x)=default'],['../classCurvilinear2DToCartesian.html',1,'Curvilinear2DToCartesian< DimX, DimY, DimR, DimP >']]], - ['curvilinear2dtocartesian_3c_20dimx_2c_20dimy_2c_20splinebuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinebuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_103',['Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], - ['curvilinear2dtocartesian_3c_20rdimx_2c_20rdimy_2c_20splinerpbuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinerpbuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_104',['Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], - ['curvilinear_5ftag_5fp_105',['curvilinear_tag_p',['../classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e',1,'Curvilinear2DToCartesian']]], - ['curvilinear_5ftag_5fr_106',['curvilinear_tag_r',['../classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4',1,'Curvilinear2DToCartesian']]], - ['curvilinearsolution_107',['CurvilinearSolution',['../classCurvilinearSolution.html#a9675511665b712671f19b17b74749763',1,'CurvilinearSolution::CurvilinearSolution()'],['../classCurvilinearSolution.html',1,'CurvilinearSolution< CurvilinearToCartesian >']]], - ['curvilineartocartesian_108',['CurvilinearToCartesian',['../classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736',1,'ManufacturedPoissonTest']]], - ['czarnytocartesian_109',['CzarnyToCartesian',['../classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d',1,'CzarnyToCartesian::CzarnyToCartesian(double epsilon, double e)'],['../classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian const &other)=default'],['../classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html',1,'CzarnyToCartesian< DimX, DimY, DimR, DimP >']]] + ['cartesian_5fproduct_5fimpl_41',['cartesian_product_impl',['../structcartesian__product__impl.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20std_3a_3atuple_3c_20headargs_2e_2e_2e_20_3e_2c_20tailtuples_2e_2e_2e_20_3e_2c_20outtupleoftuples_20_3e_42',['cartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20tailtuples_2e_2e_2e_20_3e_2c_20decltype_28std_3a_3atuple_5fcat_28std_3a_3adeclval_3c_20for_5feach_5ftuple_5fcat_5ft_3c_20outtupleoftuples_2c_20std_3a_3atuple_3c_20headargs_20_3e_3e_3e_28_29_2e_2e_2e_29_29_3e_43',['cartesian_product_impl< std::tuple< TailTuples... >, decltype(std::tuple_cat(std::declval< for_each_tuple_cat_t< OutTupleOfTuples, std::tuple< HeadArgs >>>()...))>',['../structcartesian__product__impl.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_3e_2c_20outtupleoftuples_20_3e_44',['cartesian_product_impl< std::tuple<>, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_4_00_01OutTupleOfTuples_01_4.html',1,'']]], + ['cartesian_5ftag_5fx_45',['cartesian_tag_x',['../classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b',1,'CircularToCartesian::cartesian_tag_x()'],['../classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd',1,'Curvilinear2DToCartesian::cartesian_tag_x()'],['../classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31',1,'CzarnyToCartesian::cartesian_tag_x()'],['../classDiscreteToCartesian.html#a0516a634ec97a4e6c9b83bb78b21d087',1,'DiscreteToCartesian::cartesian_tag_x()']]], + ['cartesian_5ftag_5fy_46',['cartesian_tag_y',['../classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b',1,'CircularToCartesian::cartesian_tag_y()'],['../classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4',1,'Curvilinear2DToCartesian::cartesian_tag_y()'],['../classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314',1,'CzarnyToCartesian::cartesian_tag_y()'],['../classDiscreteToCartesian.html#a4a47016434b23eceeb14da74fff5bdb5',1,'DiscreteToCartesian::cartesian_tag_y()']]], + ['cartesiansolution_47',['CartesianSolution',['../classCartesianSolution.html',1,'CartesianSolution< CurvilinearToCartesian >'],['../classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1',1,'CartesianSolution::CartesianSolution()']]], + ['cartesiantobarycentriccoordinates_48',['CartesianToBarycentricCoordinates',['../classCartesianToBarycentricCoordinates.html',1,'']]], + ['cartesiantobarycentriccoordinates_3c_20tag1_2c_20tag2_2c_20corner1tag_2c_20corner2tag_2c_20corner3tag_20_3e_49',['CartesianToBarycentricCoordinates< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag >',['../classCartesianToBarycentricCoordinates.html',1,'']]], + ['charge_50',['charge',['../classSpeciesInformation_1_1Impl.html#af259b7e3f75193999f7580368dc92093',1,'SpeciesInformation::Impl']]], + ['chargedensitycalculator_51',['ChargeDensityCalculator',['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html',1,'ChargeDensityCalculator']]], + ['charges_52',['charges',['../classSpeciesInformation_1_1Impl.html#a6fa19e2bcac84772f4de38323e4430e3',1,'SpeciesInformation::Impl']]], + ['chunk_5ftype_53',['chunk_type',['../classVectorField.html#a17028a562655b6e58926450f8849b066',1,'VectorField::chunk_type()'],['../classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e',1,'VectorFieldSpan::chunk_type()']]], + ['circular_5ftag_5fp_54',['circular_tag_p',['../classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026',1,'CircularToCartesian::circular_tag_p()'],['../classDiscreteToCartesian.html#a1c8ed111382283d1656c8509ffce07ea',1,'DiscreteToCartesian::circular_tag_p()'],['../classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156',1,'CzarnyToCartesian::circular_tag_p()']]], + ['circular_5ftag_5fr_55',['circular_tag_r',['../classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5',1,'CzarnyToCartesian::circular_tag_r()'],['../classCircularToCartesian.html#a542194138b7c390892767e6f142885f1',1,'CircularToCartesian::circular_tag_r()'],['../classDiscreteToCartesian.html#a8a15804f7a85290d750293738aaf7594',1,'DiscreteToCartesian::circular_tag_r()']]], + ['circulartocartesian_56',['CircularToCartesian',['../classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4',1,'CircularToCartesian::CircularToCartesian()'],['../classCircularToCartesian.html',1,'CircularToCartesian< DimX, DimY, DimR, DimP >'],['../classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0',1,'CircularToCartesian::CircularToCartesian()']]], + ['circulartocartesian_3c_20rdimx_2c_20rdimy_2c_20rdimr_2c_20rdimp_20_3e_57',['CircularToCartesian< RDimX, RDimY, RDimR, RDimP >',['../classCircularToCartesian.html',1,'']]], + ['coding_20standards_58',['Coding Standards',['../docs_CODING_STANDARD.html',1,'']]], + ['collisions_59',['Collisions',['../classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96',1,'Collisions::Collisions()'],['../classCollisions.html',1,'Collisions'],['../src_geometry5D_rhs_collisions.html',1,'(Global Namespace)']]], + ['collisionsguard_60',['CollisionsGuard',['../classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8',1,'CollisionsGuard::CollisionsGuard()'],['../classCollisionsGuard.html',1,'CollisionsGuard']]], + ['collisionsinter_61',['CollisionsInter',['../classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647',1,'CollisionsInter::CollisionsInter()'],['../classCollisionsInter.html',1,'CollisionsInter']]], + ['collisionsintra_62',['CollisionsIntra',['../classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34',1,'CollisionsIntra::CollisionsIntra()'],['../classCollisionsIntra.html',1,'CollisionsIntra']]], + ['compute_5fadvection_5ffield_63',['compute_advection_field',['../classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404',1,'AdvectionPseudoCartesianDomain::compute_advection_field()'],['../classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351',1,'AdvectionPhysicalDomain::compute_advection_field()']]], + ['compute_5fcoeffs_5fon_5fmapping_64',['compute_coeffs_on_mapping',['../compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba',1,'compute_norms.hpp']]], + ['compute_5fl1_5fnorm_65',['compute_L1_norm',['../compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52',1,'compute_norms.hpp']]], + ['compute_5fl2_5fnorm_66',['compute_L2_norm',['../compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8',1,'compute_norms.hpp']]], + ['compute_5fmatrix_5fcoeff_67',['compute_matrix_coeff',['../classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0',1,'CollisionsIntra']]], + ['compute_5fmaxwellian_68',['compute_maxwellian',['../classMaxwellianEquilibrium.html#a3e23dd1e866fe57900314cca7f6c1ec9',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVx const fMaxwellian, double const density, double const temperature, double const mean_velocity)'],['../classMaxwellianEquilibrium.html#a72f9f23f4753028c745d92b6512afd0e',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVxVy const fMaxwellian, double const density, double const temperature, double const mean_velocity)']]], + ['compute_5fnorms_2ehpp_69',['compute_norms.hpp',['../compute__norms_8hpp.html',1,'']]], + ['compute_5frhs_5fvector_70',['compute_rhs_vector',['../classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40',1,'CollisionsIntra']]], + ['compute_5ftwomaxwellian_71',['compute_twomaxwellian',['../classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e',1,'BumpontailEquilibrium']]], + ['continuity_72',['continuity',['../classPolarSplineEvaluator.html#a8c79ae1222acad5fdce6d148582c67ad',1,'PolarSplineEvaluator::continuity()'],['../classPolarBSplines.html#ae3830973693187e44d326d18089c12b5',1,'PolarBSplines::continuity()']]], + ['control_5fpoint_73',['control_point',['../classDiscreteToCartesian.html#a5d6ccb4e18f3ea4546c70261c27e4cf5',1,'DiscreteToCartesian']]], + ['coordinate_5fconverter_5ftype_74',['coordinate_converter_type',['../classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c',1,'PoissonSolution']]], + ['coordxy_5fadv_75',['CoordXY_adv',['../classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161',1,'AdvectionPhysicalDomain::CoordXY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1',1,'AdvectionPseudoCartesianDomain::CoordXY_adv()']]], + ['corner1tag_76',['Corner1Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag',1,'PolarBSplines::Impl']]], + ['corner2tag_77',['Corner2Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag',1,'PolarBSplines::Impl']]], + ['corner3tag_78',['Corner3Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag',1,'PolarBSplines::Impl']]], + ['cosineevaluator_79',['CosineEvaluator',['../structCosineEvaluator.html',1,'']]], + ['cranknicolson_80',['CrankNicolson',['../classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f',1,'CrankNicolson::CrankNicolson()'],['../classCrankNicolson.html',1,'CrankNicolson< ValChunk, DerivChunk >']]], + ['curvilinear2dtocartesian_81',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html',1,'Curvilinear2DToCartesian< DimX, DimY, DimR, DimP >'],['../classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian const &other)=default'],['../classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian &&x)=default']]], + ['curvilinear2dtocartesian_3c_20dimx_2c_20dimy_2c_20splinebuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinebuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_82',['Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], + ['curvilinear2dtocartesian_3c_20rdimx_2c_20rdimy_2c_20splinerpbuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinerpbuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_83',['Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], + ['curvilinear_5ftag_5fp_84',['curvilinear_tag_p',['../classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e',1,'Curvilinear2DToCartesian']]], + ['curvilinear_5ftag_5fr_85',['curvilinear_tag_r',['../classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4',1,'Curvilinear2DToCartesian']]], + ['curvilinearsolution_86',['CurvilinearSolution',['../classCurvilinearSolution.html#a9675511665b712671f19b17b74749763',1,'CurvilinearSolution::CurvilinearSolution()'],['../classCurvilinearSolution.html',1,'CurvilinearSolution< CurvilinearToCartesian >']]], + ['curvilineartocartesian_87',['CurvilinearToCartesian',['../classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736',1,'ManufacturedPoissonTest']]], + ['czarnytocartesian_88',['CzarnyToCartesian',['../classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian const &other)=default'],['../classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d',1,'CzarnyToCartesian::CzarnyToCartesian(double epsilon, double e)'],['../classCzarnyToCartesian.html',1,'CzarnyToCartesian< DimX, DimY, DimR, DimP >']]] ]; diff --git a/search/all_3.js b/search/all_3.js index d7691f517..36587ac0d 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -1,28 +1,26 @@ var searchData= [ - ['ddimsp_110',['DDimSp',['../classGeometryXYVxVy.html#a9be0f111d79a4e10d3bc86050fc28f57',1,'GeometryXYVxVy::DDimSp()'],['../classGeometryXVx.html#a68959bdc90d5ba5d2b06ccc6bb0728fc',1,'GeometryXVx::DDimSp()']]], - ['decentredrotationadvectionfieldsimulation_111',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html',1,'DecentredRotationAdvectionFieldSimulation< Mapping >'],['../classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02',1,'DecentredRotationAdvectionFieldSimulation::DecentredRotationAdvectionFieldSimulation()']]], - ['decentredrotationsimulation_112',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html',1,'DecentredRotationSimulation< Mapping >'],['../classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8',1,'DecentredRotationSimulation::DecentredRotationSimulation()']]], - ['density_5feq_113',['density_eq',['../classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0',1,'MaxwellianEquilibrium::density_eq() const'],['../classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3',1,'MaxwellianEquilibrium::density_eq() const']]], - ['deriv_5f1_5fand_5f2_114',['deriv_1_and_2',['../classPolarSplineEvaluator.html#aa8f280512a34519fbb3f3dabfc0a1d87',1,'PolarSplineEvaluator::deriv_1_and_2()'],['../classSplineEvaluator2D.html#a68e1e037a75b290490c648c32d7d197f',1,'SplineEvaluator2D::deriv_1_and_2()']]], - ['deriv_5fdim_5f1_115',['deriv_dim_1',['../classPolarSplineEvaluator.html#a41bb228d256a0785988519f9683b100c',1,'PolarSplineEvaluator::deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a0615c3c92b01a46d9c2a7804688af657',1,'PolarSplineEvaluator::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classSplineEvaluator2D.html#ab8309401577bd1bb5f664ba9dc1f29b1',1,'SplineEvaluator2D::deriv_dim_1(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#ae0358adc831ede3cecf877df29328a81',1,'SplineEvaluator2D::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const']]], - ['deriv_5fdim_5f1_5fand_5f2_116',['deriv_dim_1_and_2',['../classSplineEvaluator2D.html#a7dc8bd0e513453b6b24c62eb1d6c9ba4',1,'SplineEvaluator2D::deriv_dim_1_and_2()'],['../classPolarSplineEvaluator.html#a6e40a306765075a23ffc64f56a823605',1,'PolarSplineEvaluator::deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const']]], - ['deriv_5fdim_5f2_117',['deriv_dim_2',['../classPolarSplineEvaluator.html#a27b0b79479680b3d506184bf1febc231',1,'PolarSplineEvaluator::deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a87a65b0a223262639ba069a9182993bc',1,'PolarSplineEvaluator::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classSplineEvaluator2D.html#a42054a88c7008abd492b360cd65b57e1',1,'SplineEvaluator2D::deriv_dim_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#abacca820d80fb41219658e8984eb7cb7',1,'SplineEvaluator2D::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const']]], - ['derivative_5fx_118',['derivative_x',['../classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8',1,'CartesianSolution']]], - ['derivative_5fy_119',['derivative_y',['../classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969',1,'CartesianSolution']]], - ['dim1_120',['Dim1',['../classConstantExtrapolationBoundaryValue2D.html#a026277035a0c82fcacad36615880c0b2',1,'ConstantExtrapolationBoundaryValue2D::Dim1()'],['../classSplineEvaluator2D.html#a447cf63370c2b8a11dc0dea976e780fb',1,'SplineEvaluator2D::Dim1()']]], - ['dim2_121',['Dim2',['../classConstantExtrapolationBoundaryValue2D.html#a387b995ef1c83a6231f48f639b8cceb2',1,'ConstantExtrapolationBoundaryValue2D::Dim2()'],['../classSplineEvaluator2D.html#a4256b16add450444f496675008d3c474',1,'SplineEvaluator2D::Dim2()']]], - ['dimp_122',['DimP',['../classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a',1,'PolarBSplines::DimP()'],['../classPolarSplineEvaluator.html#a6d98892294bafa10455c71f68c0cfb12',1,'PolarSplineEvaluator::DimP()']]], - ['dimr_123',['DimR',['../classPolarSplineEvaluator.html#a131aa5dd99b62b024c4b0ae386db1489',1,'PolarSplineEvaluator::DimR()'],['../classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d',1,'PolarBSplines::DimR()']]], - ['dimx_5fpc_124',['DimX_pC',['../structDimX__pC.html',1,'']]], - ['dimy_5fpc_125',['DimY_pC',['../structDimY__pC.html',1,'']]], - ['diocotron_20instability_126',['Diocotron instability',['../simulations_geometryRTheta_diocotron.html',1,'simulations_geometryRTheta']]], - ['diocotrondensitysolution_127',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html',1,'DiocotronDensitySolution'],['../classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734',1,'DiocotronDensitySolution::DiocotronDensitySolution()']]], - ['discrete_5fdimension_5ftype_128',['discrete_dimension_type',['../classSpeciesInformation.html#af77dd55f79155df4dab9bf490d900a07',1,'SpeciesInformation::discrete_dimension_type()'],['../classSpeciesInformation_1_1Impl.html#a79dd22b07e0b671a5f85b7a1d47c10a4',1,'SpeciesInformation::Impl::discrete_dimension_type()'],['../classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da',1,'PolarBSplines::discrete_dimension_type()'],['../classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d',1,'PolarBSplines::Impl::discrete_dimension_type()']]], - ['discrete_5fdomain_5ftype_129',['discrete_domain_type',['../classSpeciesInformation.html#a31f68f10d7b75908ecb398bdf109bec9',1,'SpeciesInformation::discrete_domain_type()'],['../classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4',1,'PolarBSplines::discrete_domain_type()']]], - ['discrete_5felement_5ftype_130',['discrete_element_type',['../classSpeciesInformation.html#a8e46a5b4955a5164dbc6703fd7a86eb4',1,'SpeciesInformation::discrete_element_type()'],['../classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6',1,'PolarBSplines::discrete_element_type()']]], - ['discrete_5fvector_5ftype_131',['discrete_vector_type',['../classSpeciesInformation.html#a7e78c8b4febd8b9a350cc3d38931befd',1,'SpeciesInformation::discrete_vector_type()'],['../classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d',1,'PolarBSplines::discrete_vector_type()']]], - ['discretetocartesian_132',['DiscreteToCartesian',['../classDiscreteToCartesian.html',1,'DiscreteToCartesian< DimX, DimY, SplineBuilder >'],['../classDiscreteToCartesian.html#ae2bc5f7be14ee231156b039074859bab',1,'DiscreteToCartesian::DiscreteToCartesian()']]], - ['discretetocartesian_3c_20refineddiscretetocartesian_3a_3ardimxrefined_2c_20refineddiscretetocartesian_3a_3ardimyrefined_2c_20splinebuilder2d_20_3e_133',['DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineBuilder2D >',['../classDiscreteToCartesian.html',1,'']]], - ['display_5ftime_5fdifference_134',['display_time_difference',['../classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a',1,'ITimeSolverRP']]] + ['ddimsp_89',['DDimSp',['../classGeometryXVx.html#a68959bdc90d5ba5d2b06ccc6bb0728fc',1,'GeometryXVx::DDimSp()'],['../classGeometryXYVxVy.html#a9be0f111d79a4e10d3bc86050fc28f57',1,'GeometryXYVxVy::DDimSp()']]], + ['decentredrotationadvectionfieldsimulation_90',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html',1,'DecentredRotationAdvectionFieldSimulation< Mapping >'],['../classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02',1,'DecentredRotationAdvectionFieldSimulation::DecentredRotationAdvectionFieldSimulation()']]], + ['decentredrotationsimulation_91',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html',1,'DecentredRotationSimulation< Mapping >'],['../classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8',1,'DecentredRotationSimulation::DecentredRotationSimulation()']]], + ['density_5feq_92',['density_eq',['../classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0',1,'MaxwellianEquilibrium::density_eq() const'],['../classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3',1,'MaxwellianEquilibrium::density_eq() const']]], + ['deriv_5f1_5fand_5f2_93',['deriv_1_and_2',['../classPolarSplineEvaluator.html#acf859a6e71699daf14b5e7fe6995797e',1,'PolarSplineEvaluator']]], + ['deriv_5fdim_5f1_94',['deriv_dim_1',['../classPolarSplineEvaluator.html#a26c51eff107663001aee27e8285da70d',1,'PolarSplineEvaluator::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#abdb659ded74486dc5d90b41aece39224',1,'PolarSplineEvaluator::deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const']]], + ['deriv_5fdim_5f1_5fand_5f2_95',['deriv_dim_1_and_2',['../classPolarSplineEvaluator.html#a81098a11be51318e8172b18983f812bc',1,'PolarSplineEvaluator']]], + ['deriv_5fdim_5f2_96',['deriv_dim_2',['../classPolarSplineEvaluator.html#af5de8a13917331a541a20a989b1564a0',1,'PolarSplineEvaluator::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#ab1d9832c70778fabd91dcf990a481001',1,'PolarSplineEvaluator::deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const']]], + ['derivative_5fx_97',['derivative_x',['../classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8',1,'CartesianSolution']]], + ['derivative_5fy_98',['derivative_y',['../classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969',1,'CartesianSolution']]], + ['dimp_99',['DimP',['../classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a',1,'PolarBSplines::DimP()'],['../classPolarSplineEvaluator.html#add8585efe107f2cb0e91a765d71f68ec',1,'PolarSplineEvaluator::DimP()']]], + ['dimr_100',['DimR',['../classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d',1,'PolarBSplines::DimR()'],['../classPolarSplineEvaluator.html#aaccc486ada502c4b48ab55b683c2cbb7',1,'PolarSplineEvaluator::DimR()']]], + ['dimx_5fpc_101',['DimX_pC',['../structDimX__pC.html',1,'']]], + ['dimy_5fpc_102',['DimY_pC',['../structDimY__pC.html',1,'']]], + ['diocotron_20instability_103',['Diocotron instability',['../simulations_geometryRTheta_diocotron.html',1,'simulations_geometryRTheta']]], + ['diocotrondensitysolution_104',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html',1,'DiocotronDensitySolution'],['../classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734',1,'DiocotronDensitySolution::DiocotronDensitySolution()']]], + ['discrete_5fdimension_5ftype_105',['discrete_dimension_type',['../classSpeciesInformation_1_1Impl.html#a79dd22b07e0b671a5f85b7a1d47c10a4',1,'SpeciesInformation::Impl::discrete_dimension_type()'],['../classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d',1,'PolarBSplines::Impl::discrete_dimension_type()'],['../classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da',1,'PolarBSplines::discrete_dimension_type()'],['../classSpeciesInformation.html#af77dd55f79155df4dab9bf490d900a07',1,'SpeciesInformation::discrete_dimension_type()']]], + ['discrete_5fdomain_5ftype_106',['discrete_domain_type',['../classSpeciesInformation.html#a31f68f10d7b75908ecb398bdf109bec9',1,'SpeciesInformation::discrete_domain_type()'],['../classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4',1,'PolarBSplines::discrete_domain_type()']]], + ['discrete_5felement_5ftype_107',['discrete_element_type',['../classSpeciesInformation.html#a8e46a5b4955a5164dbc6703fd7a86eb4',1,'SpeciesInformation::discrete_element_type()'],['../classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6',1,'PolarBSplines::discrete_element_type()']]], + ['discrete_5fvector_5ftype_108',['discrete_vector_type',['../classSpeciesInformation.html#a7e78c8b4febd8b9a350cc3d38931befd',1,'SpeciesInformation::discrete_vector_type()'],['../classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d',1,'PolarBSplines::discrete_vector_type()']]], + ['discretetocartesian_109',['DiscreteToCartesian',['../classDiscreteToCartesian.html#aab258ec1dcafc8ee5e162daa5c0ee756',1,'DiscreteToCartesian::DiscreteToCartesian()'],['../classDiscreteToCartesian.html',1,'DiscreteToCartesian< DimX, DimY, SplineBuilder, SplineEvaluator >']]], + ['discretetocartesian_3c_20refineddiscretetocartesian_3a_3ardimxrefined_2c_20refineddiscretetocartesian_3a_3ardimyrefined_2c_20splinerpbuilderrefined_2c_20splinerpevaluatorrefined_20_3e_110',['DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineRPBuilderRefined, SplineRPEvaluatorRefined >',['../classDiscreteToCartesian.html',1,'']]], + ['display_5ftime_5fdifference_111',['display_time_difference',['../classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a',1,'ITimeSolverRP']]] ]; diff --git a/search/all_4.js b/search/all_4.js index 55b93e3c1..e2d99a163 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -1,21 +1,22 @@ var searchData= [ - ['e_135',['e',['../classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5',1,'CzarnyToCartesian']]], - ['electrostaticalpotentialsimulation_136',['ElectrostaticalPotentialSimulation',['../classElectrostaticalPotentialSimulation.html',1,'']]], - ['electrostaticalpotentialsimulation_5fdecentred_5frotation_137',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html',1,'ElectrostaticalPotentialSimulation_decentred_rotation'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445',1,'ElectrostaticalPotentialSimulation_decentred_rotation::ElectrostaticalPotentialSimulation_decentred_rotation()']]], - ['electrostaticalpotentialsimulation_5frotation_138',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html',1,'ElectrostaticalPotentialSimulation_rotation'],['../classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc',1,'ElectrostaticalPotentialSimulation_rotation::ElectrostaticalPotentialSimulation_rotation()']]], - ['electrostaticalpotentialsimulation_5ftranslation_139',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html',1,'ElectrostaticalPotentialSimulation_translation'],['../classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64',1,'ElectrostaticalPotentialSimulation_translation::ElectrostaticalPotentialSimulation_translation()']]], - ['element_5ftype_140',['element_type',['../classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0',1,'VectorFieldSpan::element_type()'],['../classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d',1,'VectorField::element_type()']]], - ['epsilon_141',['epsilon',['../classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a',1,'CzarnyToCartesian']]], - ['epsilon_5fbot_142',['epsilon_bot',['../classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70',1,'BumpontailEquilibrium']]], - ['equilibrium_143',['equilibrium',['../classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47',1,'DiocotronDensitySolution']]], - ['euler_144',['Euler',['../classEuler.html',1,'Euler< ValChunk, DerivChunk >'],['../classEuler.html#a8019703dccd8358b9b221818fa51bdcb',1,'Euler::Euler()']]], - ['eval_5fbasis_145',['eval_basis',['../classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fp_146',['eval_deriv_p',['../classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fr_147',['eval_deriv_r',['../classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fr_5fand_5fp_148',['eval_deriv_r_and_p',['../classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e',1,'PolarBSplines::Impl']]], - ['evaluate_149',['evaluate',['../classLagrange.html#ad527b811b643d250343f3cf19de2be7d',1,'Lagrange']]], - ['evaluator_150',['Evaluator',['../classCosineEvaluator_1_1Evaluator.html',1,'CosineEvaluator::Evaluator< DDim >'],['../classEvaluator2D_1_1Evaluator.html',1,'Evaluator2D::Evaluator< Eval1, Eval2 >'],['../classPolynomialEvaluator_1_1Evaluator.html',1,'PolynomialEvaluator::Evaluator< DDim, Degree >']]], - ['evaluator2d_151',['Evaluator2D',['../structEvaluator2D.html',1,'']]], - ['exact_5ffeet_152',['exact_feet',['../classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c',1,'AdvectionField::exact_feet()'],['../classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d',1,'AdvectionField_decentred_rotation::exact_feet()'],['../classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e',1,'AdvectionField_translation::exact_feet()'],['../classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e',1,'AdvectionField_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821',1,'ElectrostaticalPotentialSimulation::exact_feet()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d',1,'ElectrostaticalPotentialSimulation_decentred_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909',1,'ElectrostaticalPotentialSimulation_translation::exact_feet()'],['../classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533',1,'ElectrostaticalPotentialSimulation_rotation::exact_feet()']]] + ['e_112',['e',['../classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5',1,'CzarnyToCartesian']]], + ['electrostaticalpotentialsimulation_113',['ElectrostaticalPotentialSimulation',['../classElectrostaticalPotentialSimulation.html',1,'']]], + ['electrostaticalpotentialsimulation_5fdecentred_5frotation_114',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html',1,'ElectrostaticalPotentialSimulation_decentred_rotation'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445',1,'ElectrostaticalPotentialSimulation_decentred_rotation::ElectrostaticalPotentialSimulation_decentred_rotation()']]], + ['electrostaticalpotentialsimulation_5frotation_115',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html',1,'ElectrostaticalPotentialSimulation_rotation'],['../classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc',1,'ElectrostaticalPotentialSimulation_rotation::ElectrostaticalPotentialSimulation_rotation()']]], + ['electrostaticalpotentialsimulation_5ftranslation_116',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html',1,'ElectrostaticalPotentialSimulation_translation'],['../classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64',1,'ElectrostaticalPotentialSimulation_translation::ElectrostaticalPotentialSimulation_translation()']]], + ['element_5ftype_117',['element_type',['../classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0',1,'VectorFieldSpan::element_type()'],['../classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d',1,'VectorField::element_type()']]], + ['epsilon_118',['epsilon',['../classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a',1,'CzarnyToCartesian']]], + ['epsilon_5fbot_119',['epsilon_bot',['../classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70',1,'BumpontailEquilibrium']]], + ['equilibrium_120',['equilibrium',['../classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47',1,'DiocotronDensitySolution']]], + ['euler_121',['Euler',['../classEuler.html',1,'Euler< ValChunk, DerivChunk >'],['../classEuler.html#a8019703dccd8358b9b221818fa51bdcb',1,'Euler::Euler()']]], + ['eval_5fbasis_122',['eval_basis',['../classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fp_123',['eval_deriv_p',['../classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fr_124',['eval_deriv_r',['../classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fr_5fand_5fp_125',['eval_deriv_r_and_p',['../classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e',1,'PolarBSplines::Impl']]], + ['evaluate_126',['evaluate',['../classLagrange.html#ad527b811b643d250343f3cf19de2be7d',1,'Lagrange']]], + ['evaluator_127',['Evaluator',['../classCosineEvaluator_1_1Evaluator.html',1,'CosineEvaluator::Evaluator< DDim >'],['../classEvaluator2D_1_1Evaluator.html',1,'Evaluator2D::Evaluator< Eval1, Eval2 >'],['../classPolynomialEvaluator_1_1Evaluator.html',1,'PolynomialEvaluator::Evaluator< DDim, Degree >']]], + ['evaluator2d_128',['Evaluator2D',['../structEvaluator2D.html',1,'']]], + ['evaluator_5ftype_129',['evaluator_type',['../classSplineInterpolatorRP.html#abe963c4d63a8d95b2d5401699305787f',1,'SplineInterpolatorRP::evaluator_type()'],['../classPoissonRHSFunction.html#aa1f52a141ac086564a6cd00ddaa6f01b',1,'PoissonRHSFunction::evaluator_type()'],['../classPreallocatableSplineInterpolatorRP.html#abdf68fc355d1eb8329a511896febde4c',1,'PreallocatableSplineInterpolatorRP::evaluator_type()']]], + ['exact_5ffeet_130',['exact_feet',['../classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c',1,'AdvectionField::exact_feet()'],['../classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d',1,'AdvectionField_decentred_rotation::exact_feet()'],['../classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e',1,'AdvectionField_translation::exact_feet()'],['../classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e',1,'AdvectionField_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821',1,'ElectrostaticalPotentialSimulation::exact_feet()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d',1,'ElectrostaticalPotentialSimulation_decentred_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909',1,'ElectrostaticalPotentialSimulation_translation::exact_feet()'],['../classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533',1,'ElectrostaticalPotentialSimulation_rotation::exact_feet()']]] ]; diff --git a/search/all_5.js b/search/all_5.js index 4115da802..beb6d5bf4 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -1,16 +1,16 @@ var searchData= [ - ['fdistribuddom_153',['FdistribuDDom',['../classGeometryXYVxVy.html#a78e6b9a2d43d06e94d551cc736801e90',1,'GeometryXYVxVy::FdistribuDDom()'],['../classGeometryXVx.html#a01dd11ecfb6414512e1f8cbaf204c5cd',1,'GeometryXVx::FdistribuDDom()']]], - ['femnonperiodicpoissonsolver_154',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html',1,'FemNonPeriodicPoissonSolver'],['../classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4',1,'FemNonPeriodicPoissonSolver::FemNonPeriodicPoissonSolver()']]], - ['femperiodicpoissonsolver_155',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html',1,'FemPeriodicPoissonSolver'],['../classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a',1,'FemPeriodicPoissonSolver::FemPeriodicPoissonSolver()']]], - ['fftpoissonsolver_156',['FftPoissonSolver',['../classFftPoissonSolver.html',1,'FftPoissonSolver'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)']]], - ['fill_5fmatrix_5fwith_5fcoeff_157',['fill_matrix_with_coeff',['../classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c',1,'CollisionsIntra']]], - ['find_5fequilibrium_158',['find_equilibrium',['../classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091',1,'VortexMergerEquilibria']]], - ['fluidmoments_159',['FluidMoments',['../classFluidMoments.html',1,'FluidMoments'],['../classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443',1,'FluidMoments::FluidMoments()']]], - ['for_5feach_5ftuple_5fcat_160',['for_each_tuple_cat',['../structfor__each__tuple__cat.html',1,'']]], - ['for_5feach_5ftuple_5fcat_3c_20std_3a_3atuple_3c_20tuples_2e_2e_2e_20_3e_2c_20tuple_20_3e_161',['for_each_tuple_cat< std::tuple< Tuples... >, Tuple >',['../structfor__each__tuple__cat_3_01std_1_1tuple_3_01Tuples_8_8_8_01_4_00_01Tuple_01_4.html',1,'']]], - ['full_5fdomain_162',['full_domain',['../classNonUniformBSplines_1_1Impl.html#ac8a6caf50fd6643695e349fc63600008',1,'NonUniformBSplines::Impl::full_domain()'],['../classUniformBSplines_1_1Impl.html#a4ec6f3bfdd493458acbf5db3c2488eec',1,'UniformBSplines::Impl::full_domain()'],['../classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311',1,'PolarBSplines::Impl::full_domain()']]], - ['functiontobeadvected_163',['FunctionToBeAdvected',['../classFunctionToBeAdvected.html',1,'']]], - ['functiontobeadvected_5fcos_5f4_5felipse_164',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html',1,'FunctionToBeAdvected_cos_4_elipse< Mapping >'],['../classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6',1,'FunctionToBeAdvected_cos_4_elipse::FunctionToBeAdvected_cos_4_elipse()']]], - ['functiontobeadvected_5fgaussian_165',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html',1,'FunctionToBeAdvected_gaussian< Mapping >'],['../classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360',1,'FunctionToBeAdvected_gaussian::FunctionToBeAdvected_gaussian()']]] + ['fdistribuddom_131',['FdistribuDDom',['../classGeometryXYVxVy.html#a78e6b9a2d43d06e94d551cc736801e90',1,'GeometryXYVxVy::FdistribuDDom()'],['../classGeometryXVx.html#a01dd11ecfb6414512e1f8cbaf204c5cd',1,'GeometryXVx::FdistribuDDom()']]], + ['femnonperiodicpoissonsolver_132',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html',1,'FemNonPeriodicPoissonSolver'],['../classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4',1,'FemNonPeriodicPoissonSolver::FemNonPeriodicPoissonSolver()']]], + ['femperiodicpoissonsolver_133',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html',1,'FemPeriodicPoissonSolver'],['../classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a',1,'FemPeriodicPoissonSolver::FemPeriodicPoissonSolver()']]], + ['fftpoissonsolver_134',['FftPoissonSolver',['../classFftPoissonSolver.html',1,'FftPoissonSolver'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)']]], + ['fill_5fmatrix_5fwith_5fcoeff_135',['fill_matrix_with_coeff',['../classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c',1,'CollisionsIntra']]], + ['find_5fequilibrium_136',['find_equilibrium',['../classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091',1,'VortexMergerEquilibria']]], + ['fluidmoments_137',['FluidMoments',['../classFluidMoments.html',1,'FluidMoments'],['../classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443',1,'FluidMoments::FluidMoments()']]], + ['for_5feach_5ftuple_5fcat_138',['for_each_tuple_cat',['../structfor__each__tuple__cat.html',1,'']]], + ['for_5feach_5ftuple_5fcat_3c_20std_3a_3atuple_3c_20tuples_2e_2e_2e_20_3e_2c_20tuple_20_3e_139',['for_each_tuple_cat< std::tuple< Tuples... >, Tuple >',['../structfor__each__tuple__cat_3_01std_1_1tuple_3_01Tuples_8_8_8_01_4_00_01Tuple_01_4.html',1,'']]], + ['full_5fdomain_140',['full_domain',['../classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311',1,'PolarBSplines::Impl']]], + ['functiontobeadvected_141',['FunctionToBeAdvected',['../classFunctionToBeAdvected.html',1,'']]], + ['functiontobeadvected_5fcos_5f4_5felipse_142',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html',1,'FunctionToBeAdvected_cos_4_elipse< Mapping >'],['../classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6',1,'FunctionToBeAdvected_cos_4_elipse::FunctionToBeAdvected_cos_4_elipse()']]], + ['functiontobeadvected_5fgaussian_143',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html',1,'FunctionToBeAdvected_gaussian< Mapping >'],['../classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360',1,'FunctionToBeAdvected_gaussian::FunctionToBeAdvected_gaussian()']]] ]; diff --git a/search/all_6.js b/search/all_6.js index ece6879c1..fb00fc7f6 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,40 +1,34 @@ var searchData= [ - ['gausslegendre_166',['GaussLegendre',['../classGaussLegendre.html',1,'']]], - ['gausslegendrecoefficients_167',['GaussLegendreCoefficients',['../structGaussLegendreCoefficients.html',1,'']]], - ['geometry_20_28mu_2c_20vpar_2c_20r_2c_20theta_2c_20phi_29_168',['Geometry (mu, vpar, r, theta, phi)',['../src_geometry5D.html',1,'src']]], - ['geometry_20_28r_2c_20theta_29_169',['Geometry (r, theta)',['../src_geometryRTheta.html',1,'src']]], - ['geometry_20_28x_2c_20v_5fx_29_170',['Geometry (x, v_x)',['../src_geometryXVx.html',1,'src']]], - ['geometry_20_28x_2c_20y_2c_20v_5fx_2c_20v_5fy_29_171',['Geometry (x, y, v_x, v_y)',['../src_geometryXYVxVy.html',1,'src']]], - ['geometry_20x_20y_2dvx_20vy_172',['Geometry X Y-Vx Vy',['../src_geometryXYVxVy_geometry.html',1,'src_geometryXYVxVy']]], - ['geometry_20x_2dvx_173',['Geometry X-Vx',['../src_geometryXVx_geometry.html',1,'src_geometryXVx']]], - ['geometry5d_20_3a_174',['Geometry5D :',['../src_geometry5D_geometry.html',1,'src_geometry5D']]], - ['geometryxvx_175',['GeometryXVx',['../classGeometryXVx.html',1,'']]], - ['geometryxyvxvy_176',['GeometryXYVxVy',['../classGeometryXYVxVy.html',1,'']]], - ['get_5f2d_5findex_177',['get_2d_index',['../classPolarBSplines.html#a13e723ee1f34689950b4310815a85f6d',1,'PolarBSplines']]], - ['get_5fadvection_5ffield_178',['get_advection_field',['../classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883',1,'AdvectionFieldSimulation::get_advection_field()'],['../classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f',1,'AdvectionSimulation::get_advection_field()']]], - ['get_5famplitudes_179',['get_amplitudes',['../classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0',1,'KrookSourceAdaptive']]], - ['get_5fbuilder_5f1_180',['get_builder_1',['../classSplineBuilder2D.html#ab9e9788616d4be20d309ec04da8e25fe',1,'SplineBuilder2D']]], - ['get_5fbuilder_5f2_181',['get_builder_2',['../classSplineBuilder2D.html#a5a406c6bc3f47c2895963a66c40e5cee',1,'SplineBuilder2D']]], - ['get_5fderivative_182',['get_derivative',['../classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e',1,'KrookSourceAdaptive::get_derivative()'],['../classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc',1,'CollisionsInter::get_derivative()']]], - ['get_5fdomain_183',['get_domain',['../classKnotsAsInterpolationPoints.html#a1546bfe0c37a3a8387219c7f2006798c',1,'KnotsAsInterpolationPoints::get_domain()'],['../classGrevilleInterpolationPoints.html#a3127b5d6b1760431fa385c1d1c11e605',1,'GrevilleInterpolationPoints::get_domain()']]], - ['get_5felectrostatique_5fpotential_184',['get_electrostatique_potential',['../classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371',1,'AdvectionFieldSimulation']]], - ['get_5ffrequency_185',['get_frequency',['../classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd',1,'DiocotronDensitySolution']]], - ['get_5fgridvx_5fghosted_186',['get_gridvx_ghosted',['../classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3',1,'CollisionsIntra']]], - ['get_5fgridvx_5fghosted_5fstaggered_187',['get_gridvx_ghosted_staggered',['../classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532',1,'CollisionsIntra']]], - ['get_5finterpolation_5fmatrix_188',['get_interpolation_matrix',['../classSplineBuilder.html#ab66639ab2f9529f4430ce60320eb9e17',1,'SplineBuilder']]], - ['get_5fmesh_5fghosted_189',['get_mesh_ghosted',['../classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0',1,'CollisionsIntra']]], - ['get_5fnustar0_190',['get_nustar0',['../classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac',1,'CollisionsInter::get_nustar0()'],['../classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8',1,'CollisionsIntra::get_nustar0()']]], - ['get_5fpolar_5findex_191',['get_polar_index',['../classPolarBSplines.html#a7a50973a7a1106e6aad21b23e6ea6112',1,'PolarBSplines']]], - ['get_5fsampling_192',['get_sampling',['../classGrevilleInterpolationPoints.html#a075f0998c6e80de05eb1b8de403551f2',1,'GrevilleInterpolationPoints::get_sampling()'],['../classKnotsAsInterpolationPoints.html#ad5bba376037aaeb3374f7efcfa60cbe9',1,'KnotsAsInterpolationPoints::get_sampling()'],['../classGrevilleInterpolationPoints.html#a075f0998c6e80de05eb1b8de403551f2',1,'GrevilleInterpolationPoints::get_sampling()']]], - ['get_5fslope_193',['get_slope',['../classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62',1,'DiocotronDensitySolution']]], - ['get_5ftest_5ffunction_194',['get_test_function',['../classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0',1,'AdvectionSimulation::get_test_function()'],['../classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d',1,'AdvectionFieldSimulation::get_test_function()']]], - ['ghosted_5fvx_5fpoint_5fsampling_195',['ghosted_vx_point_sampling',['../classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524',1,'CollisionsIntra']]], - ['ghosted_5fvx_5fstaggered_5fpoint_5fsampling_196',['ghosted_vx_staggered_point_sampling',['../classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d',1,'CollisionsIntra']]], - ['ghostedvx_197',['GhostedVx',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx',1,'CollisionsIntra']]], - ['ghostedvxstaggered_198',['GhostedVxStaggered',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered',1,'CollisionsIntra']]], - ['grevilleinterpolationpoints_199',['GrevilleInterpolationPoints',['../classGrevilleInterpolationPoints.html',1,'']]], - ['gslx_200',['gslx',['../namespacegslx.html',1,'']]], - ['gyselalib_2b_2b_20contents_201',['Gyselalib++ contents',['../src.html',1,'']]], - ['gyselalib_2b_2b_20simulations_202',['Gyselalib++ simulations',['../simulations.html',1,'']]] + ['gausslegendre_144',['GaussLegendre',['../classGaussLegendre.html',1,'']]], + ['gausslegendrecoefficients_145',['GaussLegendreCoefficients',['../structGaussLegendreCoefficients.html',1,'']]], + ['geometry_20_28mu_2c_20vpar_2c_20r_2c_20theta_2c_20phi_29_146',['Geometry (mu, vpar, r, theta, phi)',['../src_geometry5D.html',1,'src']]], + ['geometry_20_28r_2c_20theta_29_147',['Geometry (r, theta)',['../src_geometryRTheta.html',1,'src']]], + ['geometry_20_28x_2c_20v_5fx_29_148',['Geometry (x, v_x)',['../src_geometryXVx.html',1,'src']]], + ['geometry_20_28x_2c_20y_2c_20v_5fx_2c_20v_5fy_29_149',['Geometry (x, y, v_x, v_y)',['../src_geometryXYVxVy.html',1,'src']]], + ['geometry_20x_20y_2dvx_20vy_150',['Geometry X Y-Vx Vy',['../src_geometryXYVxVy_geometry.html',1,'src_geometryXYVxVy']]], + ['geometry_20x_2dvx_151',['Geometry X-Vx',['../src_geometryXVx_geometry.html',1,'src_geometryXVx']]], + ['geometry5d_20_3a_152',['Geometry5D :',['../src_geometry5D_geometry.html',1,'src_geometry5D']]], + ['geometryxvx_153',['GeometryXVx',['../classGeometryXVx.html',1,'']]], + ['geometryxyvxvy_154',['GeometryXYVxVy',['../classGeometryXYVxVy.html',1,'']]], + ['get_5f2d_5findex_155',['get_2d_index',['../classPolarBSplines.html#a13e723ee1f34689950b4310815a85f6d',1,'PolarBSplines']]], + ['get_5fadvection_5ffield_156',['get_advection_field',['../classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f',1,'AdvectionSimulation::get_advection_field()'],['../classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883',1,'AdvectionFieldSimulation::get_advection_field()']]], + ['get_5famplitudes_157',['get_amplitudes',['../classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0',1,'KrookSourceAdaptive']]], + ['get_5fderivative_158',['get_derivative',['../classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc',1,'CollisionsInter::get_derivative()'],['../classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e',1,'KrookSourceAdaptive::get_derivative()']]], + ['get_5felectrostatique_5fpotential_159',['get_electrostatique_potential',['../classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371',1,'AdvectionFieldSimulation']]], + ['get_5ffrequency_160',['get_frequency',['../classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd',1,'DiocotronDensitySolution']]], + ['get_5fgridvx_5fghosted_161',['get_gridvx_ghosted',['../classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3',1,'CollisionsIntra']]], + ['get_5fgridvx_5fghosted_5fstaggered_162',['get_gridvx_ghosted_staggered',['../classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532',1,'CollisionsIntra']]], + ['get_5fmesh_5fghosted_163',['get_mesh_ghosted',['../classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0',1,'CollisionsIntra']]], + ['get_5fnustar0_164',['get_nustar0',['../classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8',1,'CollisionsIntra::get_nustar0()'],['../classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac',1,'CollisionsInter::get_nustar0()']]], + ['get_5fpolar_5findex_165',['get_polar_index',['../classPolarBSplines.html#a7a50973a7a1106e6aad21b23e6ea6112',1,'PolarBSplines']]], + ['get_5fslope_166',['get_slope',['../classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62',1,'DiocotronDensitySolution']]], + ['get_5ftest_5ffunction_167',['get_test_function',['../classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0',1,'AdvectionSimulation::get_test_function()'],['../classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d',1,'AdvectionFieldSimulation::get_test_function()']]], + ['ghosted_5fvx_5fpoint_5fsampling_168',['ghosted_vx_point_sampling',['../classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524',1,'CollisionsIntra']]], + ['ghosted_5fvx_5fstaggered_5fpoint_5fsampling_169',['ghosted_vx_staggered_point_sampling',['../classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d',1,'CollisionsIntra']]], + ['ghostedvx_170',['GhostedVx',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx',1,'CollisionsIntra']]], + ['ghostedvxstaggered_171',['GhostedVxStaggered',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered',1,'CollisionsIntra']]], + ['gslx_172',['gslx',['../namespacegslx.html',1,'']]], + ['gyselalib_2b_2b_20contents_173',['Gyselalib++ contents',['../src.html',1,'']]], + ['gyselalib_2b_2b_20simulations_174',['Gyselalib++ simulations',['../simulations.html',1,'']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 8e2d7bb75..28a439065 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['have_5fconverged_203',['have_converged',['../classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d',1,'CrankNicolson']]] + ['have_5fconverged_175',['have_converged',['../classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d',1,'CrankNicolson']]] ]; diff --git a/search/all_8.js b/search/all_8.js index e2c2f410f..5ef109c24 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,63 +1,54 @@ var searchData= [ - ['iadvectionrp_204',['IAdvectionRP',['../classIAdvectionRP.html',1,'']]], - ['iadvectionspatial_205',['IAdvectionSpatial',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxvx_2c_20idimx_20_3e_206',['IAdvectionSpatial< GeometryXVx, IDimX >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimx_20_3e_207',['IAdvectionSpatial< GeometryXYVxVy, IDimX >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimy_20_3e_208',['IAdvectionSpatial< GeometryXYVxVy, IDimY >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionvelocity_209',['IAdvectionVelocity',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxvx_2c_20idimvx_20_3e_210',['IAdvectionVelocity< GeometryXVx, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvx_20_3e_211',['IAdvectionVelocity< GeometryXYVxVy, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvy_20_3e_212',['IAdvectionVelocity< GeometryXYVxVy, IDimVy >',['../classIAdvectionVelocity.html',1,'']]], - ['iboltzmannsolver_213',['IBoltzmannSolver',['../classIBoltzmannSolver.html',1,'']]], - ['ichargedensitycalculator_214',['IChargeDensityCalculator',['../classIChargeDensityCalculator.html',1,'']]], - ['idimp_215',['IDimP',['../classDiscreteToCartesian.html#a28e4fcd138bbb895cfe2af37da909119',1,'DiscreteToCartesian']]], - ['idimr_216',['IDimR',['../classDiscreteToCartesian.html#afd9f4a75683b2b502184ec363897300a',1,'DiscreteToCartesian']]], - ['idomainspxvx_5fghosted_217',['IDomainSpXVx_ghosted',['../classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e',1,'CollisionsIntra']]], - ['idomainspxvx_5fghosted_5fstaggered_218',['IDomainSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb',1,'CollisionsIntra']]], - ['ielec_219',['ielec',['../classSpeciesInformation_1_1Impl.html#ad069f5667f3d88ab36856bd941c6e937',1,'SpeciesInformation::Impl']]], - ['iequilibrium_220',['IEquilibrium',['../classIEquilibrium.html',1,'']]], - ['ifootfinder_221',['IFootFinder',['../classIFootFinder.html',1,'']]], - ['iinitialization_222',['IInitialization',['../classIInitialization.html',1,'']]], - ['iinterpolatorbatched_223',['IInterpolatorBatched',['../classIInterpolatorBatched.html',1,'']]], - ['iinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_224',['IInterpolatorBatched< DDimI, DDim... >',['../classIInterpolatorBatched.html',1,'']]], - ['iinterpolatorrp_225',['IInterpolatorRP',['../classIInterpolatorRP.html',1,'']]], - ['impl_226',['Impl',['../classBernsteinPolynomialBasis_1_1Impl.html',1,'BernsteinPolynomialBasis< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag, D >::Impl< MemorySpace >'],['../classNonUniformBSplines_1_1Impl.html#add53c595b626c160a4333ee3f8cf8819',1,'NonUniformBSplines::Impl::Impl()'],['../classSpeciesInformation_1_1Impl.html#a788f54c43e25317f947aa8be9716c3bc',1,'SpeciesInformation::Impl::Impl(Impl< OMemorySpace > const &impl)'],['../classSpeciesInformation_1_1Impl.html#a6db1244e4fe5d4e27526bb44ee4d7389',1,'SpeciesInformation::Impl::Impl(ddc::Chunk< int, discrete_domain_type, ddc::KokkosAllocator< int, MemorySpace >> charge, ddc::Chunk< double, discrete_domain_type, ddc::KokkosAllocator< double, MemorySpace >> mass)'],['../classNonUniformBSplines_1_1Impl.html#aa401e9626386fee2831742b4a65f867a',1,'NonUniformBSplines::Impl::Impl(std::initializer_list< ddc::Coordinate< Tag >> breaks)'],['../classNonUniformBSplines_1_1Impl.html#af49330b0d18915f9bfff5e7a5954d4d2',1,'NonUniformBSplines::Impl::Impl(std::vector< ddc::Coordinate< Tag >> const &breaks)'],['../classUniformBSplines_1_1Impl.html#a28f27bb74cd250b6ff9508494dd280a9',1,'UniformBSplines::Impl::Impl()'],['../classPolarBSplines_1_1Impl.html#aaed9f0037acefbb5acdecff592114967',1,'PolarBSplines::Impl::Impl(const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)'],['../classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d',1,'PolarBSplines::Impl::Impl(Impl< OriginMemorySpace > const &impl)'],['../classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd',1,'PolarBSplines::Impl::Impl(Impl const &x)=default'],['../classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e',1,'PolarBSplines::Impl::Impl(Impl &&x)=default'],['../classNonUniformBSplines_1_1Impl.html',1,'NonUniformBSplines< Tag, D >::Impl< MemorySpace >'],['../classPolarBSplines_1_1Impl.html',1,'PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >'],['../classSpeciesInformation_1_1Impl.html',1,'SpeciesInformation::Impl< MemorySpace >'],['../classUniformBSplines_1_1Impl.html',1,'UniformBSplines< Tag, D >::Impl< MemorySpace >']]], - ['indexspxvx_5fghosted_227',['IndexSpXVx_ghosted',['../classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945',1,'CollisionsIntra']]], - ['indexspxvx_5fghosted_5fstaggered_228',['IndexSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625',1,'CollisionsIntra']]], - ['indexvx_5fghosted_229',['IndexVx_ghosted',['../classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858',1,'CollisionsIntra']]], - ['indexvx_5fghosted_5fstaggered_230',['IndexVx_ghosted_staggered',['../classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd',1,'CollisionsIntra']]], - ['initialisation_231',['initialisation',['../classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed',1,'DiocotronDensitySolution']]], - ['initialization_232',['Initialization',['../src_geometryRTheta_initialization.html',1,'src_geometryRTheta']]], - ['initialization_20methods_233',['Initialization methods',['../src_geometryXVx_initialization.html',1,'src_geometryXVx']]], - ['integrals_234',['integrals',['../classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5',1,'PolarBSplines::Impl']]], - ['integrate_235',['integrate',['../classPolarSplineEvaluator.html#aacce24543106f51ca08ce5d8fc96cb21',1,'PolarSplineEvaluator::integrate()'],['../classSplineEvaluator2D.html#ad5a55c54ec1a16b245e4b314a1c74701',1,'SplineEvaluator2D::integrate()']]], - ['internaltaggenerator_236',['InternalTagGenerator',['../classNonUniformBSplines.html#structNonUniformBSplines_1_1InternalTagGenerator',1,'NonUniformBSplines< Tag, D >::InternalTagGenerator< T >'],['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator',1,'PolarSplineFEMPoissonSolver::InternalTagGenerator< T >'],['../classUniformBSplines.html#structUniformBSplines_1_1InternalTagGenerator',1,'UniformBSplines< Tag, D >::InternalTagGenerator< T >']]], - ['interpolation_20methods_237',['Interpolation Methods',['../src_interpolation.html',1,'src']]], - ['interpolation_5fdomain_238',['interpolation_domain',['../classSplineBuilder.html#aea5b09d866bfabd34f93dc7244061e51',1,'SplineBuilder::interpolation_domain()'],['../classSplineBuilder2D.html#a39af65f3e39ba9570fbc517ac614241e',1,'SplineBuilder2D::interpolation_domain() const noexcept']]], - ['interpolation_5fdomain1_239',['interpolation_domain1',['../classSplineBuilder2D.html#a3c9bff8d716e44e4eddd2d0ca3f96a2e',1,'SplineBuilder2D']]], - ['interpolation_5fdomain2_240',['interpolation_domain2',['../classSplineBuilder2D.html#aa8b6177989a74d8e158343ae555ca22d',1,'SplineBuilder2D']]], - ['interpolation_5fdomain_5ftype_241',['interpolation_domain_type',['../classSplineBuilder.html#aec9bd498c486b22848aeb026de467fcf',1,'SplineBuilder::interpolation_domain_type()'],['../classSplineBuilder2D.html#a35bda9e84e8cb84738504561b0263968',1,'SplineBuilder2D::interpolation_domain_type()']]], - ['interpolation_5fdomain_5ftype1_242',['interpolation_domain_type1',['../classSplineBuilder2D.html#aef863d05ef8f81f401a463b333d076b7',1,'SplineBuilder2D']]], - ['interpolation_5fdomain_5ftype2_243',['interpolation_domain_type2',['../classSplineBuilder2D.html#a8ae9bfa7b55d920faeb880abbb1a0c0c',1,'SplineBuilder2D']]], - ['interpolation_5fmesh_5ftype_244',['interpolation_mesh_type',['../classKnotsAsInterpolationPoints.html#a9a6cd19c503370d4a3abf8083bbfad57',1,'KnotsAsInterpolationPoints::interpolation_mesh_type()'],['../classGrevilleInterpolationPoints.html#a80607a4c866ff36244d980e41870a347',1,'GrevilleInterpolationPoints::interpolation_mesh_type()']]], - ['interpolation_5fmesh_5ftype1_245',['interpolation_mesh_type1',['../classSplineBuilder2D.html#ad56825cbd307241b22beb1d33eaea1f4',1,'SplineBuilder2D']]], - ['interpolation_5fmesh_5ftype2_246',['interpolation_mesh_type2',['../classSplineBuilder2D.html#ad02722b76506e82b67798ccee4c52fff',1,'SplineBuilder2D']]], - ['interpolator_5fon_5fdomain_247',['interpolator_on_domain',['../structinterpolator__on__domain.html',1,'']]], - ['interpolator_5fon_5fdomain_3c_20interp_2c_20ddimi_2c_20ddc_3a_3adiscretedomain_3c_20ddim_2e_2e_2e_20_3e_20_3e_248',['interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html',1,'']]], - ['inv_5fjacobian_5f11_249',['inv_jacobian_11',['../classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d',1,'Curvilinear2DToCartesian::inv_jacobian_11()'],['../classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24',1,'CzarnyToCartesian::inv_jacobian_11()'],['../classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7',1,'CircularToCartesian::inv_jacobian_11(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['inv_5fjacobian_5f12_250',['inv_jacobian_12',['../classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac',1,'CircularToCartesian::inv_jacobian_12()'],['../classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61',1,'Curvilinear2DToCartesian::inv_jacobian_12()'],['../classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5',1,'CzarnyToCartesian::inv_jacobian_12()']]], - ['inv_5fjacobian_5f21_251',['inv_jacobian_21',['../classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96',1,'CircularToCartesian::inv_jacobian_21()'],['../classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6',1,'Curvilinear2DToCartesian::inv_jacobian_21()'],['../classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd',1,'CzarnyToCartesian::inv_jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['inv_5fjacobian_5f22_252',['inv_jacobian_22',['../classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914',1,'CzarnyToCartesian::inv_jacobian_22()'],['../classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237',1,'Curvilinear2DToCartesian::inv_jacobian_22()'],['../classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4',1,'CircularToCartesian::inv_jacobian_22()']]], - ['inv_5fjacobian_5fmatrix_253',['inv_jacobian_matrix',['../classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52',1,'CzarnyToCartesian::inv_jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3',1,'Curvilinear2DToCartesian::inv_jacobian_matrix()'],['../classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c',1,'CircularToCartesian::inv_jacobian_matrix()']]], - ['inverse_5fmetric_5ftensor_254',['inverse_metric_tensor',['../classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1',1,'Curvilinear2DToCartesian']]], - ['ipoissonsolver_255',['IPoissonSolver',['../classIPoissonSolver.html',1,'']]], - ['ipreallocatableinterpolatorbatched_256',['IPreallocatableInterpolatorBatched',['../classIPreallocatableInterpolatorBatched.html',1,'']]], - ['ipreallocatableinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_257',['IPreallocatableInterpolatorBatched< DDimI, DDim... >',['../classIPreallocatableInterpolatorBatched.html',1,'']]], - ['ipreallocatableinterpolatorrp_258',['IPreallocatableInterpolatorRP',['../classIPreallocatableInterpolatorRP.html',1,'']]], - ['irighthandside_259',['IRightHandSide',['../classIRightHandSide.html',1,'']]], - ['itimesolver_260',['ITimeSolver',['../classITimeSolver.html',1,'']]], - ['itimesolverrp_261',['ITimeSolverRP',['../classITimeSolverRP.html',1,'']]], - ['itimestepper_262',['ITimeStepper',['../classITimeStepper.html',1,'']]], - ['ivlasovsolver_263',['IVlasovSolver',['../classIVlasovSolver.html',1,'']]] + ['iadvectionrp_176',['IAdvectionRP',['../classIAdvectionRP.html',1,'']]], + ['iadvectionspatial_177',['IAdvectionSpatial',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxvx_2c_20idimx_20_3e_178',['IAdvectionSpatial< GeometryXVx, IDimX >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimx_20_3e_179',['IAdvectionSpatial< GeometryXYVxVy, IDimX >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimy_20_3e_180',['IAdvectionSpatial< GeometryXYVxVy, IDimY >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionvelocity_181',['IAdvectionVelocity',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxvx_2c_20idimvx_20_3e_182',['IAdvectionVelocity< GeometryXVx, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvx_20_3e_183',['IAdvectionVelocity< GeometryXYVxVy, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvy_20_3e_184',['IAdvectionVelocity< GeometryXYVxVy, IDimVy >',['../classIAdvectionVelocity.html',1,'']]], + ['iboltzmannsolver_185',['IBoltzmannSolver',['../classIBoltzmannSolver.html',1,'']]], + ['ichargedensitycalculator_186',['IChargeDensityCalculator',['../classIChargeDensityCalculator.html',1,'']]], + ['idimp_187',['IDimP',['../classDiscreteToCartesian.html#a6f3ffd5e1a75024792d0c1b084c1f772',1,'DiscreteToCartesian']]], + ['idimr_188',['IDimR',['../classDiscreteToCartesian.html#a8724b6b60097ada309a254030df44ed2',1,'DiscreteToCartesian']]], + ['idomainspxvx_5fghosted_189',['IDomainSpXVx_ghosted',['../classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e',1,'CollisionsIntra']]], + ['idomainspxvx_5fghosted_5fstaggered_190',['IDomainSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb',1,'CollisionsIntra']]], + ['ielec_191',['ielec',['../classSpeciesInformation_1_1Impl.html#ad069f5667f3d88ab36856bd941c6e937',1,'SpeciesInformation::Impl']]], + ['iequilibrium_192',['IEquilibrium',['../classIEquilibrium.html',1,'']]], + ['ifootfinder_193',['IFootFinder',['../classIFootFinder.html',1,'']]], + ['iinitialization_194',['IInitialization',['../classIInitialization.html',1,'']]], + ['iinterpolatorbatched_195',['IInterpolatorBatched',['../classIInterpolatorBatched.html',1,'']]], + ['iinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_196',['IInterpolatorBatched< DDimI, DDim... >',['../classIInterpolatorBatched.html',1,'']]], + ['iinterpolatorrp_197',['IInterpolatorRP',['../classIInterpolatorRP.html',1,'']]], + ['impl_198',['Impl',['../classBernsteinPolynomialBasis_1_1Impl.html',1,'BernsteinPolynomialBasis< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag, D >::Impl< MemorySpace >'],['../classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd',1,'PolarBSplines::Impl::Impl(Impl const &x)=default'],['../classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e',1,'PolarBSplines::Impl::Impl(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d',1,'PolarBSplines::Impl::Impl(Impl< OriginMemorySpace > const &impl)'],['../classPolarBSplines_1_1Impl.html#a4f6c28472809eb95951c92a5d8a21541',1,'PolarBSplines::Impl::Impl(const DiscreteMapping &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)'],['../classSpeciesInformation_1_1Impl.html#a6db1244e4fe5d4e27526bb44ee4d7389',1,'SpeciesInformation::Impl::Impl(ddc::Chunk< int, discrete_domain_type, ddc::KokkosAllocator< int, MemorySpace >> charge, ddc::Chunk< double, discrete_domain_type, ddc::KokkosAllocator< double, MemorySpace >> mass)'],['../classSpeciesInformation_1_1Impl.html#a788f54c43e25317f947aa8be9716c3bc',1,'SpeciesInformation::Impl::Impl(Impl< OMemorySpace > const &impl)'],['../classPolarBSplines_1_1Impl.html',1,'PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >'],['../classSpeciesInformation_1_1Impl.html',1,'SpeciesInformation::Impl< MemorySpace >']]], + ['indexspxvx_5fghosted_199',['IndexSpXVx_ghosted',['../classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945',1,'CollisionsIntra']]], + ['indexspxvx_5fghosted_5fstaggered_200',['IndexSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625',1,'CollisionsIntra']]], + ['indexvx_5fghosted_201',['IndexVx_ghosted',['../classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858',1,'CollisionsIntra']]], + ['indexvx_5fghosted_5fstaggered_202',['IndexVx_ghosted_staggered',['../classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd',1,'CollisionsIntra']]], + ['initialisation_203',['initialisation',['../classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed',1,'DiocotronDensitySolution']]], + ['initialization_204',['Initialization',['../src_geometryRTheta_initialization.html',1,'src_geometryRTheta']]], + ['initialization_20methods_205',['Initialization methods',['../src_geometryXVx_initialization.html',1,'src_geometryXVx']]], + ['integrals_206',['integrals',['../classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5',1,'PolarBSplines::Impl']]], + ['integrate_207',['integrate',['../classPolarSplineEvaluator.html#a0dace1c41499a5500a1f1c10e01794d1',1,'PolarSplineEvaluator']]], + ['internaltaggenerator_208',['InternalTagGenerator',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator',1,'PolarSplineFEMPoissonSolver']]], + ['interpolation_20methods_209',['Interpolation Methods',['../src_interpolation.html',1,'src']]], + ['interpolator_5fon_5fdomain_210',['interpolator_on_domain',['../structinterpolator__on__domain.html',1,'']]], + ['interpolator_5fon_5fdomain_3c_20interp_2c_20ddimi_2c_20ddc_3a_3adiscretedomain_3c_20ddim_2e_2e_2e_20_3e_20_3e_211',['interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html',1,'']]], + ['inv_5fjacobian_5f11_212',['inv_jacobian_11',['../classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24',1,'CzarnyToCartesian::inv_jacobian_11()'],['../classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d',1,'Curvilinear2DToCartesian::inv_jacobian_11()'],['../classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7',1,'CircularToCartesian::inv_jacobian_11()']]], + ['inv_5fjacobian_5f12_213',['inv_jacobian_12',['../classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5',1,'CzarnyToCartesian::inv_jacobian_12()'],['../classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61',1,'Curvilinear2DToCartesian::inv_jacobian_12()'],['../classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac',1,'CircularToCartesian::inv_jacobian_12(ddc::Coordinate< DimR, DimP > const &coord) const final']]], + ['inv_5fjacobian_5f21_214',['inv_jacobian_21',['../classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96',1,'CircularToCartesian::inv_jacobian_21()'],['../classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6',1,'Curvilinear2DToCartesian::inv_jacobian_21()'],['../classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd',1,'CzarnyToCartesian::inv_jacobian_21()']]], + ['inv_5fjacobian_5f22_215',['inv_jacobian_22',['../classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4',1,'CircularToCartesian::inv_jacobian_22()'],['../classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237',1,'Curvilinear2DToCartesian::inv_jacobian_22()'],['../classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914',1,'CzarnyToCartesian::inv_jacobian_22()']]], + ['inv_5fjacobian_5fmatrix_216',['inv_jacobian_matrix',['../classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c',1,'CircularToCartesian::inv_jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3',1,'Curvilinear2DToCartesian::inv_jacobian_matrix()'],['../classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52',1,'CzarnyToCartesian::inv_jacobian_matrix()']]], + ['inverse_5fmetric_5ftensor_217',['inverse_metric_tensor',['../classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1',1,'Curvilinear2DToCartesian']]], + ['ipoissonsolver_218',['IPoissonSolver',['../classIPoissonSolver.html',1,'']]], + ['ipreallocatableinterpolatorbatched_219',['IPreallocatableInterpolatorBatched',['../classIPreallocatableInterpolatorBatched.html',1,'']]], + ['ipreallocatableinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_220',['IPreallocatableInterpolatorBatched< DDimI, DDim... >',['../classIPreallocatableInterpolatorBatched.html',1,'']]], + ['ipreallocatableinterpolatorrp_221',['IPreallocatableInterpolatorRP',['../classIPreallocatableInterpolatorRP.html',1,'']]], + ['irighthandside_222',['IRightHandSide',['../classIRightHandSide.html',1,'']]], + ['itimesolver_223',['ITimeSolver',['../classITimeSolver.html',1,'']]], + ['itimesolverrp_224',['ITimeSolverRP',['../classITimeSolverRP.html',1,'']]], + ['itimestepper_225',['ITimeStepper',['../classITimeStepper.html',1,'']]], + ['ivlasovsolver_226',['IVlasovSolver',['../classIVlasovSolver.html',1,'']]] ]; diff --git a/search/all_9.js b/search/all_9.js index 62c879dfb..4950941d4 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -1,9 +1,9 @@ var searchData= [ - ['jacobian_264',['jacobian',['../classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35',1,'Curvilinear2DToCartesian::jacobian()'],['../classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f',1,'CzarnyToCartesian::jacobian()'],['../classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219',1,'CircularToCartesian::jacobian(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['jacobian_5f11_265',['jacobian_11',['../classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf',1,'CircularToCartesian::jacobian_11()'],['../classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351',1,'Curvilinear2DToCartesian::jacobian_11()'],['../classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918',1,'CzarnyToCartesian::jacobian_11()'],['../classDiscreteToCartesian.html#ae724fc03c7fca1e9f61b138f22fa28cc',1,'DiscreteToCartesian::jacobian_11()'],['../classRefinedDiscreteToCartesian.html#a92814d6e27ac7ea37614afebb77b948c',1,'RefinedDiscreteToCartesian::jacobian_11()']]], - ['jacobian_5f12_266',['jacobian_12',['../classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196',1,'CircularToCartesian::jacobian_12()'],['../classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260',1,'Curvilinear2DToCartesian::jacobian_12()'],['../classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1',1,'CzarnyToCartesian::jacobian_12()'],['../classDiscreteToCartesian.html#ad5483889f614f6910a5bf2dd7e212905',1,'DiscreteToCartesian::jacobian_12()'],['../classRefinedDiscreteToCartesian.html#a9e3a54843420a1bb60def2673e76f6b5',1,'RefinedDiscreteToCartesian::jacobian_12()']]], - ['jacobian_5f21_267',['jacobian_21',['../classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce',1,'Curvilinear2DToCartesian::jacobian_21()'],['../classRefinedDiscreteToCartesian.html#a3566dfb3c96667eb21a1f2bf7cef9e20',1,'RefinedDiscreteToCartesian::jacobian_21()'],['../classDiscreteToCartesian.html#ac8d071392fbd8b069143b5406e656421',1,'DiscreteToCartesian::jacobian_21()'],['../classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653',1,'CzarnyToCartesian::jacobian_21()'],['../classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd',1,'CircularToCartesian::jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['jacobian_5f22_268',['jacobian_22',['../classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74',1,'CircularToCartesian::jacobian_22()'],['../classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a',1,'Curvilinear2DToCartesian::jacobian_22()'],['../classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f',1,'CzarnyToCartesian::jacobian_22()'],['../classDiscreteToCartesian.html#abb903e9bbfacef685339c6b97be0405c',1,'DiscreteToCartesian::jacobian_22()'],['../classRefinedDiscreteToCartesian.html#aadcec35fb2e9e3d3374319c2083252ac',1,'RefinedDiscreteToCartesian::jacobian_22()']]], - ['jacobian_5fmatrix_269',['jacobian_matrix',['../classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272',1,'CircularToCartesian::jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b',1,'Curvilinear2DToCartesian::jacobian_matrix()'],['../classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3',1,'CzarnyToCartesian::jacobian_matrix()'],['../classDiscreteToCartesian.html#a4f53f0eb32eb687dec8c4071c390811f',1,'DiscreteToCartesian::jacobian_matrix()'],['../classRefinedDiscreteToCartesian.html#afa1403f0c31addf1ddc2a32546e95968',1,'RefinedDiscreteToCartesian::jacobian_matrix()']]] + ['jacobian_227',['jacobian',['../classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35',1,'Curvilinear2DToCartesian::jacobian()'],['../classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f',1,'CzarnyToCartesian::jacobian()'],['../classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219',1,'CircularToCartesian::jacobian(ddc::Coordinate< DimR, DimP > const &coord) const final']]], + ['jacobian_5f11_228',['jacobian_11',['../classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf',1,'CircularToCartesian::jacobian_11()'],['../classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351',1,'Curvilinear2DToCartesian::jacobian_11()'],['../classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918',1,'CzarnyToCartesian::jacobian_11()'],['../classDiscreteToCartesian.html#a877114081962f3bb5bca708b90574ba9',1,'DiscreteToCartesian::jacobian_11()'],['../classRefinedDiscreteToCartesian.html#a1c1f98fdaf4b64cb7084909773a85664',1,'RefinedDiscreteToCartesian::jacobian_11()']]], + ['jacobian_5f12_229',['jacobian_12',['../classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196',1,'CircularToCartesian::jacobian_12()'],['../classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260',1,'Curvilinear2DToCartesian::jacobian_12()'],['../classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1',1,'CzarnyToCartesian::jacobian_12()'],['../classDiscreteToCartesian.html#a333d4057c581b13ff1b15a8635565c50',1,'DiscreteToCartesian::jacobian_12()'],['../classRefinedDiscreteToCartesian.html#a7c5f9aada92d9fdb721f49963ed4c931',1,'RefinedDiscreteToCartesian::jacobian_12()']]], + ['jacobian_5f21_230',['jacobian_21',['../classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce',1,'Curvilinear2DToCartesian::jacobian_21()'],['../classRefinedDiscreteToCartesian.html#a308b497ac063952739c487bdce48145c',1,'RefinedDiscreteToCartesian::jacobian_21()'],['../classDiscreteToCartesian.html#a8a725ddbd503b023730b36b8f4f41b4f',1,'DiscreteToCartesian::jacobian_21()'],['../classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653',1,'CzarnyToCartesian::jacobian_21()'],['../classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd',1,'CircularToCartesian::jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], + ['jacobian_5f22_231',['jacobian_22',['../classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74',1,'CircularToCartesian::jacobian_22()'],['../classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a',1,'Curvilinear2DToCartesian::jacobian_22()'],['../classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f',1,'CzarnyToCartesian::jacobian_22()'],['../classDiscreteToCartesian.html#a22ad931ba89dd5cfe03aa339d2742b9a',1,'DiscreteToCartesian::jacobian_22()'],['../classRefinedDiscreteToCartesian.html#ac688e376939b25dae506045883181fb5',1,'RefinedDiscreteToCartesian::jacobian_22()']]], + ['jacobian_5fmatrix_232',['jacobian_matrix',['../classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272',1,'CircularToCartesian::jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b',1,'Curvilinear2DToCartesian::jacobian_matrix()'],['../classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3',1,'CzarnyToCartesian::jacobian_matrix()'],['../classDiscreteToCartesian.html#a2155fe8040b53865df4a2c31a16ab82e',1,'DiscreteToCartesian::jacobian_matrix()'],['../classRefinedDiscreteToCartesian.html#aaedfa0d22464f78665eb0065a985edd3',1,'RefinedDiscreteToCartesian::jacobian_matrix()']]] ]; diff --git a/search/all_a.js b/search/all_a.js index e00d783f0..a6bdd90ec 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -1,8 +1,6 @@ var searchData= [ - ['kineticsource_270',['KineticSource',['../classKineticSource.html',1,'KineticSource'],['../classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88',1,'KineticSource::KineticSource()']]], - ['knotdim_271',['KnotDim',['../classNonUniformBSplines.html#a266155b617441df530bb202effb00199',1,'NonUniformBSplines::KnotDim()'],['../classUniformBSplines.html#a35a003b75d534eac96c099cb4fdcad0f',1,'UniformBSplines::KnotDim()']]], - ['knotsasinterpolationpoints_272',['KnotsAsInterpolationPoints',['../classKnotsAsInterpolationPoints.html',1,'']]], - ['krooksourceadaptive_273',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html',1,'KrookSourceAdaptive'],['../classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27',1,'KrookSourceAdaptive::KrookSourceAdaptive(IDomainX const &gridx, IDomainVx const &gridvx, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0',1,'KrookSourceAdaptive::KrookSourceAdaptive(KrookSourceAdaptive &&)=default']]], - ['krooksourceconstant_274',['KrookSourceConstant',['../classKrookSourceConstant.html',1,'KrookSourceConstant'],['../classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c',1,'KrookSourceConstant::KrookSourceConstant(IDomainX const &gridx, IDomainVx const &gridv, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8',1,'KrookSourceConstant::KrookSourceConstant(KrookSourceConstant &&)=default']]] + ['kineticsource_233',['KineticSource',['../classKineticSource.html',1,'KineticSource'],['../classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88',1,'KineticSource::KineticSource()']]], + ['krooksourceadaptive_234',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html',1,'KrookSourceAdaptive'],['../classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27',1,'KrookSourceAdaptive::KrookSourceAdaptive(IDomainX const &gridx, IDomainVx const &gridvx, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0',1,'KrookSourceAdaptive::KrookSourceAdaptive(KrookSourceAdaptive &&)=default']]], + ['krooksourceconstant_235',['KrookSourceConstant',['../classKrookSourceConstant.html',1,'KrookSourceConstant'],['../classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c',1,'KrookSourceConstant::KrookSourceConstant(IDomainX const &gridx, IDomainVx const &gridv, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8',1,'KrookSourceConstant::KrookSourceConstant(KrookSourceConstant &&)=default']]] ]; diff --git a/search/all_b.js b/search/all_b.js index e121dc90a..44f0d7185 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,7 +1,7 @@ var searchData= [ - ['lagrange_275',['Lagrange',['../classLagrange.html',1,'Lagrange< Execspace, DDimI, BcMin, BcMax >'],['../classLagrange.html#a0768122bb54bed3ee47c4e751984784c',1,'Lagrange::Lagrange()']]], - ['lagrangeinterpolatorbatched_276',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html',1,'LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim >'],['../classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517',1,'LagrangeInterpolatorBatched::LagrangeInterpolatorBatched()']]], - ['lagrangeinterpolatorbatched_3c_20ddimi_2c_20bcmin_2c_20bcmax_2c_20ddim_2e_2e_2e_20_3e_277',['LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim... >',['../classLagrangeInterpolatorBatched.html',1,'']]], - ['layout_5ftype_278',['layout_type',['../classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb',1,'VectorFieldSpan']]] + ['lagrange_236',['Lagrange',['../classLagrange.html',1,'Lagrange< Execspace, DDimI, BcMin, BcMax >'],['../classLagrange.html#a0768122bb54bed3ee47c4e751984784c',1,'Lagrange::Lagrange()']]], + ['lagrangeinterpolatorbatched_237',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html',1,'LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim >'],['../classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517',1,'LagrangeInterpolatorBatched::LagrangeInterpolatorBatched()']]], + ['lagrangeinterpolatorbatched_3c_20ddimi_2c_20bcmin_2c_20bcmax_2c_20ddim_2e_2e_2e_20_3e_238',['LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim... >',['../classLagrangeInterpolatorBatched.html',1,'']]], + ['layout_5ftype_239',['layout_type',['../classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb',1,'VectorFieldSpan']]] ]; diff --git a/search/all_c.js b/search/all_c.js index a28945267..a8191c516 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -1,45 +1,43 @@ var searchData= [ - ['m_5fadvection_5ffield_279',['m_advection_field',['../classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15',1,'AdvectionFieldSimulation::m_advection_field()'],['../classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb',1,'AdvectionSimulation::m_advection_field()']]], - ['m_5fb_5fnorm_280',['m_B_norm',['../classCollisions.html#a8511215c1884f50c3d689983d2b7303c',1,'Collisions']]], - ['m_5fbstar_5fs_281',['m_Bstar_s',['../classCollisions.html#a90e619814468ac7ac68c78c849d77a02',1,'Collisions']]], - ['m_5fcomb_5fmat_282',['m_comb_mat',['../classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b',1,'Collisions']]], - ['m_5fcoordinate_5fconverter_283',['m_coordinate_converter',['../classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0',1,'PoissonSolution']]], - ['m_5felectrostatical_5fpotential_284',['m_electrostatical_potential',['../classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed',1,'AdvectionFieldSimulation']]], - ['m_5ffunction_285',['m_function',['../classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259',1,'AdvectionFieldSimulation::m_function()'],['../classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca',1,'AdvectionSimulation::m_function()']]], - ['m_5fhat_5fas_286',['m_hat_As',['../classCollisions.html#af03302549e2a96417cf558882c1b0a47',1,'Collisions']]], - ['m_5fhat_5fzs_287',['m_hat_Zs',['../classCollisions.html#abe6c025bdc57076121328fd62aacc7d0',1,'Collisions']]], - ['m_5fmask_5fbuffer_5fr_288',['m_mask_buffer_r',['../classCollisions.html#a578e1b5da086721b0671febbcc98b491',1,'Collisions']]], - ['m_5fmask_5flim_289',['m_mask_LIM',['../classCollisions.html#a6ca012950263c99778465fbcbcce4c10',1,'Collisions']]], - ['m_5fmug_290',['m_mug',['../classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126',1,'Collisions']]], - ['m_5fncells_291',['m_ncells',['../classdeprecated_1_1BSplines.html#ae6644ef87cc1a18daf0bdac1ec059697',1,'deprecated::BSplines']]], - ['m_5foperator_5fhandle_292',['m_operator_handle',['../classCollisions.html#a9361514c14f7cf4473c876d4ced201d9',1,'Collisions']]], - ['m_5fq_5fr_293',['m_q_r',['../classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0',1,'Collisions']]], - ['m_5frg_294',['m_rg',['../classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7',1,'Collisions']]], - ['m_5fvparg_295',['m_vparg',['../classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f',1,'Collisions']]], - ['manufacturedpoissontest_296',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b',1,'ManufacturedPoissonTest::ManufacturedPoissonTest()'],['../classManufacturedPoissonTest.html',1,'ManufacturedPoissonTest< ChosenSolution >']]], - ['mappings_297',['Mappings',['../vendor_sll_include_sll_mapping.html',1,'vendor_sll']]], - ['mass_298',['mass',['../classSpeciesInformation_1_1Impl.html#a7f9302fc8c496d8ccb936fbb6f171bc6',1,'SpeciesInformation::Impl']]], - ['masses_299',['masses',['../classSpeciesInformation_1_1Impl.html#ab5fea032a19715a668e86acfa0a4e93a',1,'SpeciesInformation::Impl']]], - ['matrix_300',['Matrix',['../classMatrix.html',1,'']]], - ['matrix2x2_301',['Matrix2x2',['../classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf',1,'AdvectionPseudoCartesianDomain']]], - ['matrix_5f2x2_302',['Matrix_2x2',['../classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c',1,'Curvilinear2DToCartesian::Matrix_2x2()'],['../classDiscreteToCartesian.html#aff278fecc61e7bf4519da6b8e32f6fa8',1,'DiscreteToCartesian::Matrix_2x2()'],['../classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c',1,'CzarnyToCartesian::Matrix_2x2()'],['../classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664',1,'CircularToCartesian::Matrix_2x2()'],['../classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730',1,'AdvectionFieldFinder::Matrix_2x2()']]], - ['matrix_5fbanded_303',['Matrix_Banded',['../classMatrix__Banded.html',1,'']]], - ['matrix_5fcenter_5fblock_304',['Matrix_Center_Block',['../classMatrix__Center__Block.html',1,'']]], - ['matrix_5fcorner_5fblock_305',['Matrix_Corner_Block',['../classMatrix__Corner__Block.html',1,'']]], - ['matrix_5fdense_306',['Matrix_Dense',['../classMatrix__Dense.html',1,'']]], - ['matrix_5fpds_5ftridiag_307',['Matrix_PDS_Tridiag',['../classMatrix__PDS__Tridiag.html',1,'']]], - ['matrix_5fperiodic_5fbanded_308',['Matrix_Periodic_Banded',['../classMatrix__Periodic__Banded.html',1,'']]], - ['maxwellianequilibrium_309',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html',1,'MaxwellianEquilibrium']]], - ['mdl_310',['MDL',['../classCollisions.html#aaa296103febae7bee56fa356c4708444',1,'Collisions']]], - ['mdomain_5ftype_311',['mdomain_type',['../classVectorField.html#ab896e267b63db730e4344e1e15f2956f',1,'VectorField::mdomain_type()'],['../classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4',1,'VectorFieldSpan::mdomain_type()']]], - ['mean_5fvelocity_5fbot_312',['mean_velocity_bot',['../classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e',1,'BumpontailEquilibrium']]], - ['mean_5fvelocity_5feq_313',['mean_velocity_eq',['../classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99',1,'MaxwellianEquilibrium::mean_velocity_eq() const'],['../classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea',1,'MaxwellianEquilibrium::mean_velocity_eq() const']]], - ['memory_5fspace_314',['memory_space',['../classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478',1,'VectorField::memory_space()'],['../classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c',1,'VectorFieldSpan::memory_space()']]], - ['mesh_5ftype_315',['mesh_type',['../classSplineBuilder.html#a277cde780e9a94f7f2dbc8a3fef5e4ff',1,'SplineBuilder']]], - ['metric_5ftensor_316',['metric_tensor',['../classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a',1,'Curvilinear2DToCartesian']]], - ['momentdensity_317',['MomentDensity',['../classFluidMoments.html#structFluidMoments_1_1MomentDensity',1,'FluidMoments']]], - ['momenttemperature_318',['MomentTemperature',['../classFluidMoments.html#structFluidMoments_1_1MomentTemperature',1,'FluidMoments']]], - ['momentvelocity_319',['MomentVelocity',['../classFluidMoments.html#structFluidMoments_1_1MomentVelocity',1,'FluidMoments']]], - ['mu_320',['Mu',['../structMu.html',1,'']]] + ['m_5fadvection_5ffield_240',['m_advection_field',['../classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15',1,'AdvectionFieldSimulation::m_advection_field()'],['../classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb',1,'AdvectionSimulation::m_advection_field()']]], + ['m_5fb_5fnorm_241',['m_B_norm',['../classCollisions.html#a8511215c1884f50c3d689983d2b7303c',1,'Collisions']]], + ['m_5fbstar_5fs_242',['m_Bstar_s',['../classCollisions.html#a90e619814468ac7ac68c78c849d77a02',1,'Collisions']]], + ['m_5fcomb_5fmat_243',['m_comb_mat',['../classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b',1,'Collisions']]], + ['m_5fcoordinate_5fconverter_244',['m_coordinate_converter',['../classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0',1,'PoissonSolution']]], + ['m_5felectrostatical_5fpotential_245',['m_electrostatical_potential',['../classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed',1,'AdvectionFieldSimulation']]], + ['m_5ffunction_246',['m_function',['../classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca',1,'AdvectionSimulation::m_function()'],['../classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259',1,'AdvectionFieldSimulation::m_function()']]], + ['m_5fhat_5fas_247',['m_hat_As',['../classCollisions.html#af03302549e2a96417cf558882c1b0a47',1,'Collisions']]], + ['m_5fhat_5fzs_248',['m_hat_Zs',['../classCollisions.html#abe6c025bdc57076121328fd62aacc7d0',1,'Collisions']]], + ['m_5fmask_5fbuffer_5fr_249',['m_mask_buffer_r',['../classCollisions.html#a578e1b5da086721b0671febbcc98b491',1,'Collisions']]], + ['m_5fmask_5flim_250',['m_mask_LIM',['../classCollisions.html#a6ca012950263c99778465fbcbcce4c10',1,'Collisions']]], + ['m_5fmug_251',['m_mug',['../classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126',1,'Collisions']]], + ['m_5foperator_5fhandle_252',['m_operator_handle',['../classCollisions.html#a9361514c14f7cf4473c876d4ced201d9',1,'Collisions']]], + ['m_5fq_5fr_253',['m_q_r',['../classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0',1,'Collisions']]], + ['m_5frg_254',['m_rg',['../classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7',1,'Collisions']]], + ['m_5fvparg_255',['m_vparg',['../classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f',1,'Collisions']]], + ['manufacturedpoissontest_256',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b',1,'ManufacturedPoissonTest::ManufacturedPoissonTest()'],['../classManufacturedPoissonTest.html',1,'ManufacturedPoissonTest< ChosenSolution >']]], + ['mappings_257',['Mappings',['../vendor_sll_include_sll_mapping.html',1,'vendor_sll']]], + ['mass_258',['mass',['../classSpeciesInformation_1_1Impl.html#a7f9302fc8c496d8ccb936fbb6f171bc6',1,'SpeciesInformation::Impl']]], + ['masses_259',['masses',['../classSpeciesInformation_1_1Impl.html#ab5fea032a19715a668e86acfa0a4e93a',1,'SpeciesInformation::Impl']]], + ['matrix_260',['Matrix',['../classMatrix.html',1,'']]], + ['matrix2x2_261',['Matrix2x2',['../classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf',1,'AdvectionPseudoCartesianDomain']]], + ['matrix_5f2x2_262',['Matrix_2x2',['../classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664',1,'CircularToCartesian::Matrix_2x2()'],['../classDiscreteToCartesian.html#acebb0c8ce43be04e7bd8a097f7415514',1,'DiscreteToCartesian::Matrix_2x2()'],['../classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c',1,'CzarnyToCartesian::Matrix_2x2()'],['../classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c',1,'Curvilinear2DToCartesian::Matrix_2x2()'],['../classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730',1,'AdvectionFieldFinder::Matrix_2x2()']]], + ['matrix_5fbanded_263',['Matrix_Banded',['../classMatrix__Banded.html',1,'']]], + ['matrix_5fcenter_5fblock_264',['Matrix_Center_Block',['../classMatrix__Center__Block.html',1,'']]], + ['matrix_5fcorner_5fblock_265',['Matrix_Corner_Block',['../classMatrix__Corner__Block.html',1,'']]], + ['matrix_5fdense_266',['Matrix_Dense',['../classMatrix__Dense.html',1,'']]], + ['matrix_5fpds_5ftridiag_267',['Matrix_PDS_Tridiag',['../classMatrix__PDS__Tridiag.html',1,'']]], + ['matrix_5fperiodic_5fbanded_268',['Matrix_Periodic_Banded',['../classMatrix__Periodic__Banded.html',1,'']]], + ['maxwellianequilibrium_269',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html',1,'MaxwellianEquilibrium']]], + ['mdl_270',['MDL',['../classCollisions.html#aaa296103febae7bee56fa356c4708444',1,'Collisions']]], + ['mdomain_5ftype_271',['mdomain_type',['../classVectorField.html#ab896e267b63db730e4344e1e15f2956f',1,'VectorField::mdomain_type()'],['../classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4',1,'VectorFieldSpan::mdomain_type()']]], + ['mean_5fvelocity_5fbot_272',['mean_velocity_bot',['../classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e',1,'BumpontailEquilibrium']]], + ['mean_5fvelocity_5feq_273',['mean_velocity_eq',['../classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99',1,'MaxwellianEquilibrium::mean_velocity_eq() const'],['../classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea',1,'MaxwellianEquilibrium::mean_velocity_eq() const']]], + ['memory_5fspace_274',['memory_space',['../classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478',1,'VectorField::memory_space()'],['../classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c',1,'VectorFieldSpan::memory_space()']]], + ['metric_5ftensor_275',['metric_tensor',['../classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a',1,'Curvilinear2DToCartesian']]], + ['momentdensity_276',['MomentDensity',['../classFluidMoments.html#structFluidMoments_1_1MomentDensity',1,'FluidMoments']]], + ['momenttemperature_277',['MomentTemperature',['../classFluidMoments.html#structFluidMoments_1_1MomentTemperature',1,'FluidMoments']]], + ['momentvelocity_278',['MomentVelocity',['../classFluidMoments.html#structFluidMoments_1_1MomentVelocity',1,'FluidMoments']]], + ['mu_279',['Mu',['../structMu.html',1,'']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 90e16e9d9..9b00111cc 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,16 +1,12 @@ var searchData= [ - ['n_5fsingular_5fbasis_321',['n_singular_basis',['../classPolarBSplines.html#a584dca3a3f8fa56d1d4a887b0744a777',1,'PolarBSplines']]], - ['nbasis_322',['nbasis',['../classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5',1,'PolarBSplines::Impl']]], - ['neumann_5fspline_5fquadrature_2ehpp_323',['neumann_spline_quadrature.hpp',['../neumann__spline__quadrature_8hpp.html',1,'']]], - ['neumann_5fspline_5fquadrature_5fcoefficients_324',['neumann_spline_quadrature_coefficients',['../neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4',1,'neumann_spline_quadrature.hpp']]], - ['neumann_5fspline_5fquadrature_5fcoefficients_5f1d_325',['neumann_spline_quadrature_coefficients_1d',['../neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d',1,'neumann_spline_quadrature.hpp']]], - ['nobcdim_326',['NoBCDim',['../classConstantExtrapolationBoundaryValue2D.html#a75bbdf35f1f8bcb4893cbae1fae4414b',1,'ConstantExtrapolationBoundaryValue2D']]], - ['non_5fsingular_5fsolution_327',['non_singular_solution',['../classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de',1,'ManufacturedPoissonTest']]], - ['nonuniformbsplines_328',['NonUniformBSplines',['../classdeprecated_1_1NonUniformBSplines.html',1,'deprecated::NonUniformBSplines'],['../classNonUniformBSplines.html',1,'NonUniformBSplines< Tag, D >']]], - ['norm_5finf_329',['norm_inf',['../utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009',1,'norm_inf(ddc::Coordinate< Tags... > coord): utils_tools.hpp'],['../utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d',1,'norm_inf(double const coord): utils_tools.hpp']]], - ['nulladvectionvelocity_330',['NullAdvectionVelocity',['../classNullAdvectionVelocity.html',1,'']]], - ['nullboundaryvalue_331',['NullBoundaryValue',['../classNullBoundaryValue.html',1,'']]], - ['nullboundaryvalue2d_332',['NullBoundaryValue2D',['../classNullBoundaryValue2D.html',1,'']]], - ['nullpoissonsolver_333',['NullPoissonSolver',['../classNullPoissonSolver.html',1,'']]] + ['n_5fsingular_5fbasis_280',['n_singular_basis',['../classPolarBSplines.html#a584dca3a3f8fa56d1d4a887b0744a777',1,'PolarBSplines']]], + ['nbasis_281',['nbasis',['../classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5',1,'PolarBSplines::Impl']]], + ['neumann_5fspline_5fquadrature_2ehpp_282',['neumann_spline_quadrature.hpp',['../neumann__spline__quadrature_8hpp.html',1,'']]], + ['neumann_5fspline_5fquadrature_5fcoefficients_283',['neumann_spline_quadrature_coefficients',['../neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4',1,'neumann_spline_quadrature.hpp']]], + ['neumann_5fspline_5fquadrature_5fcoefficients_5f1d_284',['neumann_spline_quadrature_coefficients_1d',['../neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d',1,'neumann_spline_quadrature.hpp']]], + ['non_5fsingular_5fsolution_285',['non_singular_solution',['../classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de',1,'ManufacturedPoissonTest']]], + ['norm_5finf_286',['norm_inf',['../utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009',1,'norm_inf(ddc::Coordinate< Tags... > coord): utils_tools.hpp'],['../utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d',1,'norm_inf(double const coord): utils_tools.hpp']]], + ['nulladvectionvelocity_287',['NullAdvectionVelocity',['../classNullAdvectionVelocity.html',1,'']]], + ['nullpoissonsolver_288',['NullPoissonSolver',['../classNullPoissonSolver.html',1,'']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 13e69b177..f9013304d 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -1,6 +1,6 @@ var searchData= [ - ['operator_28_29_334',['operator()',['../classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c',1,'IInterpolatorBatched::operator()()'],['../classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d',1,'AdvectionField_translation::operator()()'],['../classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f',1,'AdvectionField_decentred_rotation::operator()()'],['../classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727',1,'AdvectionField::operator()()'],['../classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518',1,'FunctionToBeAdvected_gaussian::operator()()'],['../classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71',1,'FunctionToBeAdvected_cos_4_elipse::operator()()'],['../classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac',1,'FunctionToBeAdvected::operator()()'],['../classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c',1,'VectorField::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6',1,'VectorField::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classQuadrature.html#a533af2a43db87593d2a9863065eefde8',1,'Quadrature::operator()()'],['../classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0',1,'SplineInterpolatorBatched::operator()()'],['../classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5',1,'IPreallocatableInterpolatorBatched::operator()()'],['../classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf',1,'AdvectionField_rotation::operator()()'],['../classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6',1,'LagrangeInterpolatorBatched::operator()()'],['../classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b',1,'IChargeDensityCalculator::operator()()'],['../classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98',1,'FftPoissonSolver::operator()()'],['../classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26',1,'ChargeDensityCalculator::operator()()'],['../classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b',1,'SingleModePerturbInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293',1,'MaxwellianEquilibrium::operator()()'],['../classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008',1,'FluidMoments::operator()(host_t< DSpanSpX > temperature, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, host_t< DViewSpX > mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#ad8e6152f463394ef2f64807039217969',1,'FluidMoments::operator()(double &temperature, host_t< DViewVx > fdistribu, double density, double mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b',1,'FluidMoments::operator()(host_t< DSpanSpX > mean_velocity, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd',1,'FluidMoments::operator()(double &mean_velocity, host_t< DViewVx > fdistribu, double density, MomentVelocity moment_velocity)'],['../classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64',1,'CircularToCartesian::operator()()'],['../classSplineEvaluator2D.html#a7fd273468ec33acdc19eeb08c088f944',1,'SplineEvaluator2D::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#a93fe4a102cca7e2469c7230d8e2a6ecc',1,'SplineEvaluator2D::operator()(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineBuilder2D.html#a31e3e45f0a33da08793e546b2e4e5981',1,'SplineBuilder2D::operator()()'],['../classSplineBuilder.html#a60ece27168e990dd396dd059ce238267',1,'SplineBuilder::operator()()'],['../classPolarSplineEvaluator.html#a60de03671b33a0daf678b6df31cc9206',1,'PolarSplineEvaluator::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a2dfd0747f1aa1bd56676980918723d68',1,'PolarSplineEvaluator::operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classRefinedDiscreteToCartesian.html#ab2bd385b85af4de24b2b551ad7d08395',1,'RefinedDiscreteToCartesian::operator()()'],['../classDiscreteToCartesian.html#a2886ad4e22efd1d8d875478e5b50c823',1,'DiscreteToCartesian::operator()()'],['../classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25',1,'Curvilinear2DToCartesian::operator()()'],['../classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830',1,'CircularToCartesian::operator()()'],['../classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163',1,'BslAdvectionSpatialBatched::operator()()'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const =0'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const =0'],['../classConstantExtrapolationBoundaryValue2D.html#aa2d150cef282326983fab5e3567e6c7f',1,'ConstantExtrapolationBoundaryValue2D::operator()()'],['../classConstantExtrapolationBoundaryValue.html#a0065a13a55757e01d555d68bc4729921',1,'ConstantExtrapolationBoundaryValue::operator()()'],['../classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122',1,'ManufacturedPoissonTest::operator()()'],['../classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1',1,'CartesianSolution::operator()()'],['../classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1',1,'CurvilinearSolution::operator()()'],['../classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7',1,'PoissonSolution::operator()()'],['../classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd',1,'ElectrostaticalPotentialSimulation_rotation::operator()()'],['../classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189',1,'ElectrostaticalPotentialSimulation_translation::operator()()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af',1,'ElectrostaticalPotentialSimulation_decentred_rotation::operator()()'],['../classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471',1,'ElectrostaticalPotentialSimulation::operator()()'],['../classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79',1,'AdvectionFieldFinder::operator()()'],['../classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb',1,'BslImplicitPredCorrRP::operator()()'],['../classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121',1,'BslExplicitPredCorrRP::operator()()'],['../classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6',1,'BslPredCorrRP::operator()()'],['../classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const'],['../classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, SplinePolar &spline) const'],['../classPoissonRHSFunction.html#a98c05540209406a0c79c53c43767314f',1,'PoissonRHSFunction::operator()()'],['../classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5',1,'IPoissonSolver::operator()()'],['../classSplineInterpolatorRP.html#a7186f69f12ef92492b5cb334bafa220e',1,'SplineInterpolatorRP::operator()()'],['../classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4',1,'IPreallocatableInterpolatorRP::operator()()'],['../classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe',1,'IInterpolatorRP::operator()()'],['../classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3',1,'FluidMoments::operator()()'],['../classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d',1,'SplineFootFinder::operator()()'],['../classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860',1,'IFootFinder::operator()()'],['../classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field, CoordXY const &advection_field_xy_center, double const dt) const =0'],['../classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field, double const dt) const =0'],['../classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const'],['../classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const'],['../classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff',1,'Collisions::operator()()'],['../classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22',1,'IAdvectionSpatial::operator()()'],['../classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827',1,'IAdvectionVelocity::operator()()'],['../classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0',1,'BslAdvectionVelocityBatched::operator()()'],['../classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb',1,'IBoltzmannSolver::operator()()'],['../classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b',1,'FluidMoments::operator()()'],['../classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60',1,'PredCorr::operator()()'],['../classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20',1,'ITimeSolver::operator()()'],['../classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151',1,'KrookSourceConstant::operator()()'],['../classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7',1,'KrookSourceAdaptive::operator()()'],['../classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a',1,'KineticSource::operator()()'],['../classIRightHandSide.html#ae583170af9abcdbb740c12c963860367',1,'IRightHandSide::operator()()'],['../classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4',1,'CollisionsIntra::operator()()'],['../classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b',1,'CollisionsInter::operator()()'],['../classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3',1,'IChargeDensityCalculator::operator()()'],['../classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e',1,'FemPeriodicPoissonSolver::operator()()'],['../classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b',1,'FftPoissonSolver::operator()()'],['../classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7',1,'ITimeSolverRP::operator()()'],['../classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6',1,'SplitRightHandSideSolver::operator()()'],['../classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3',1,'SplitVlasovSolver::operator()()'],['../classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215',1,'BumpontailEquilibrium::operator()()'],['../classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9',1,'IEquilibrium::operator()()'],['../classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e',1,'IInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64',1,'MaxwellianEquilibrium::operator()()'],['../classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0',1,'RestartInitialization::operator()()'],['../classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8',1,'SingleModePerturbInitialization::operator()()'],['../classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea',1,'ChargeDensityCalculator::operator()()'],['../classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66',1,'FemNonPeriodicPoissonSolver::operator()()']]], - ['operator_3d_335',['operator=',['../classSplineEvaluator2D.html#a838efa37db6564eed9af26f72327403b',1,'SplineEvaluator2D::operator=(SplineEvaluator2D &&x)=default'],['../classSplineEvaluator2D.html#a7a4962219e4e0a3cf1e7fdd0afba8efe',1,'SplineEvaluator2D::operator=(SplineEvaluator2D const &x)=default'],['../classSplineBuilder2D.html#a79579f5213c410988e0caa6da989d2c8',1,'SplineBuilder2D::operator=()'],['../classSplineBuilder.html#a2763318a2269b27a7a051200bbc5b659',1,'SplineBuilder::operator=()'],['../classPolarSplineEvaluator.html#aa404705c242b03294d522da12fdfdc81',1,'PolarSplineEvaluator::operator=()'],['../classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a',1,'CircularToCartesian::operator=()'],['../classPolarSplineEvaluator.html#a6e5b5a439964fa71862689834cf5c1eb',1,'PolarSplineEvaluator::operator=()'],['../classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08',1,'PolarBSplines::Impl::operator=(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c',1,'PolarBSplines::Impl::operator=(Impl const &x)=default'],['../classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3',1,'CzarnyToCartesian::operator=(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952',1,'CzarnyToCartesian::operator=(CzarnyToCartesian const &x)=default'],['../classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian &&x)=default'],['../classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian const &x)=default'],['../classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df',1,'CircularToCartesian::operator=()'],['../classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945',1,'VectorFieldSpan::operator=(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc',1,'VectorFieldSpan::operator=(VectorFieldSpan const &other)=default'],['../classVectorField.html#a4b839128727925cdffed6fbfca8da63e',1,'VectorField::operator=(VectorField &&other)=default'],['../classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0',1,'VectorField::operator=(VectorField const &other)=delete']]], - ['operator_5b_5d_336',['operator[]',['../classVectorField.html#a925526e030fc6967c04e66771fc13e2a',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec) const'],['../classVectorField.html#a86ea12473bc7ea9364085826a7c5d512',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorField.html#a4db1434ddd534be7882315c50bb25396',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain) const'],['../classVectorField.html#a572811a19242a05acf2106e0543ae5df',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)'],['../classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046',1,'VectorFieldSpan::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572',1,'VectorFieldSpan::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)']]] + ['operator_28_29_289',['operator()',['../classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b',1,'IChargeDensityCalculator::operator()()'],['../classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac',1,'FunctionToBeAdvected::operator()()'],['../classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c',1,'VectorField::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6',1,'VectorField::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classQuadrature.html#a533af2a43db87593d2a9863065eefde8',1,'Quadrature::operator()()'],['../classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0',1,'SplineInterpolatorBatched::operator()()'],['../classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5',1,'IPreallocatableInterpolatorBatched::operator()()'],['../classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c',1,'IInterpolatorBatched::operator()()'],['../classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6',1,'LagrangeInterpolatorBatched::operator()()'],['../classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6',1,'IPoissonSolver::operator()()'],['../classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71',1,'FunctionToBeAdvected_cos_4_elipse::operator()()'],['../classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98',1,'FftPoissonSolver::operator()()'],['../classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26',1,'ChargeDensityCalculator::operator()()'],['../classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b',1,'SingleModePerturbInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293',1,'MaxwellianEquilibrium::operator()()'],['../classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008',1,'FluidMoments::operator()(host_t< DSpanSpX > temperature, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, host_t< DViewSpX > mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#ad8e6152f463394ef2f64807039217969',1,'FluidMoments::operator()(double &temperature, host_t< DViewVx > fdistribu, double density, double mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b',1,'FluidMoments::operator()(host_t< DSpanSpX > mean_velocity, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd',1,'FluidMoments::operator()(double &mean_velocity, host_t< DViewVx > fdistribu, double density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b',1,'FluidMoments::operator()(host_t< DSpanSpX > density, host_t< DViewSpXVx > allfdistribu, MomentDensity moment_density)'],['../classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3',1,'FluidMoments::operator()(double &density, host_t< DViewVx > fdistribu, MomentDensity moment_density)'],['../classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60',1,'PredCorr::operator()()'],['../classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1',1,'CartesianSolution::operator()()'],['../classPolarSplineEvaluator.html#a32288ba8cc125ab9579b157060cb744a',1,'PolarSplineEvaluator::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a452214ac565140c42c611324dbc8ca5c',1,'PolarSplineEvaluator::operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classRefinedDiscreteToCartesian.html#a0f901e23b2dfd8a35174d35fdd7ba4b5',1,'RefinedDiscreteToCartesian::operator()()'],['../classDiscreteToCartesian.html#a9ad936fbb7dcb9146eea744086e583d8',1,'DiscreteToCartesian::operator()()'],['../classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25',1,'Curvilinear2DToCartesian::operator()()'],['../classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830',1,'CircularToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64',1,'CircularToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const =0'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const =0'],['../classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122',1,'ManufacturedPoissonTest::operator()()'],['../classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163',1,'BslAdvectionSpatialBatched::operator()()'],['../classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1',1,'CurvilinearSolution::operator()()'],['../classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7',1,'PoissonSolution::operator()()'],['../classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd',1,'ElectrostaticalPotentialSimulation_rotation::operator()()'],['../classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189',1,'ElectrostaticalPotentialSimulation_translation::operator()()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af',1,'ElectrostaticalPotentialSimulation_decentred_rotation::operator()()'],['../classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471',1,'ElectrostaticalPotentialSimulation::operator()()'],['../classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf',1,'AdvectionField_rotation::operator()()'],['../classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d',1,'AdvectionField_translation::operator()()'],['../classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f',1,'AdvectionField_decentred_rotation::operator()()'],['../classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727',1,'AdvectionField::operator()()'],['../classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518',1,'FunctionToBeAdvected_gaussian::operator()()'],['../classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23',1,'AdvectionFieldFinder::operator()()'],['../classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6',1,'BslPredCorrRP::operator()()'],['../classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const'],['../classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, SplinePolar &spline) const'],['../classPoissonRHSFunction.html#a62cc8e961e80992b062179ec78e8685f',1,'PoissonRHSFunction::operator()()'],['../classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5',1,'IPoissonSolver::operator()()'],['../classSplineInterpolatorRP.html#a2963c57f391e96345b0ac6b4d44cbaf1',1,'SplineInterpolatorRP::operator()()'],['../classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4',1,'IPreallocatableInterpolatorRP::operator()()'],['../classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe',1,'IInterpolatorRP::operator()()'],['../classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151',1,'KrookSourceConstant::operator()()'],['../classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8',1,'AdvectionFieldFinder::operator()()'],['../classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d',1,'SplineFootFinder::operator()()'],['../classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860',1,'IFootFinder::operator()()'],['../classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field, CoordXY const &advection_field_xy_center, double const dt) const =0'],['../classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field, double const dt) const =0'],['../classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const'],['../classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const'],['../classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff',1,'Collisions::operator()()'],['../classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22',1,'IAdvectionSpatial::operator()()'],['../classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827',1,'IAdvectionVelocity::operator()()'],['../classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0',1,'BslAdvectionVelocityBatched::operator()()'],['../classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb',1,'BslImplicitPredCorrRP::operator()()'],['../classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20',1,'ITimeSolver::operator()()'],['../classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7',1,'KrookSourceAdaptive::operator()()'],['../classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a',1,'KineticSource::operator()()'],['../classIRightHandSide.html#ae583170af9abcdbb740c12c963860367',1,'IRightHandSide::operator()()'],['../classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4',1,'CollisionsIntra::operator()()'],['../classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b',1,'CollisionsInter::operator()()'],['../classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3',1,'IChargeDensityCalculator::operator()()'],['../classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b',1,'FftPoissonSolver::operator()()'],['../classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e',1,'FemPeriodicPoissonSolver::operator()()'],['../classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66',1,'FemNonPeriodicPoissonSolver::operator()()'],['../classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8',1,'SingleModePerturbInitialization::operator()()'],['../classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea',1,'ChargeDensityCalculator::operator()()'],['../classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121',1,'BslExplicitPredCorrRP::operator()()'],['../classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7',1,'ITimeSolverRP::operator()()'],['../classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb',1,'IBoltzmannSolver::operator()()'],['../classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6',1,'SplitRightHandSideSolver::operator()()'],['../classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3',1,'SplitVlasovSolver::operator()()'],['../classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215',1,'BumpontailEquilibrium::operator()()'],['../classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9',1,'IEquilibrium::operator()()'],['../classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e',1,'IInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64',1,'MaxwellianEquilibrium::operator()()'],['../classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0',1,'RestartInitialization::operator()()']]], + ['operator_3d_290',['operator=',['../classPolarSplineEvaluator.html#aa9f2c3bbb2863cd856857fd978cc9af1',1,'PolarSplineEvaluator::operator=(PolarSplineEvaluator &&x)=default'],['../classPolarSplineEvaluator.html#a050a2b7f7baeaccdfeddbbe571580bb5',1,'PolarSplineEvaluator::operator=(PolarSplineEvaluator const &x)=default'],['../classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08',1,'PolarBSplines::Impl::operator=(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c',1,'PolarBSplines::Impl::operator=(Impl const &x)=default'],['../classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df',1,'CircularToCartesian::operator=()'],['../classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3',1,'CzarnyToCartesian::operator=(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952',1,'CzarnyToCartesian::operator=(CzarnyToCartesian const &x)=default'],['../classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian &&x)=default'],['../classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian const &x)=default'],['../classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a',1,'CircularToCartesian::operator=()'],['../classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945',1,'VectorFieldSpan::operator=(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc',1,'VectorFieldSpan::operator=(VectorFieldSpan const &other)=default'],['../classVectorField.html#a4b839128727925cdffed6fbfca8da63e',1,'VectorField::operator=(VectorField &&other)=default'],['../classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0',1,'VectorField::operator=(VectorField const &other)=delete']]], + ['operator_5b_5d_291',['operator[]',['../classVectorField.html#a925526e030fc6967c04e66771fc13e2a',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec) const'],['../classVectorField.html#a86ea12473bc7ea9364085826a7c5d512',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorField.html#a4db1434ddd534be7882315c50bb25396',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain) const'],['../classVectorField.html#a572811a19242a05acf2106e0543ae5df',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)'],['../classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046',1,'VectorFieldSpan::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572',1,'VectorFieldSpan::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)']]] ]; diff --git a/search/all_f.js b/search/all_f.js index af82ab4e7..1cbd954a8 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,29 +1,26 @@ var searchData= [ - ['pbasissubset_337',['PBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset',1,'PolarSplineFEMPoissonSolver']]], - ['pcelldim_338',['PCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim',1,'PolarSplineFEMPoissonSolver']]], - ['periodic_339',['PERIODIC',['../structTor2.html#ace83f98401e5275f4164472205a202ba',1,'Tor2::PERIODIC()'],['../structRDimVx.html#a11bf97b66f066f6e9b062e8742f6cc78',1,'RDimVx::PERIODIC()'],['../structTor3.html#a491f63f0705c1c71b52485fc172469f6',1,'Tor3::PERIODIC()'],['../structVpar.html#a463f771232ce1d607bf477d8c395eafe',1,'Vpar::PERIODIC()'],['../structMu.html#ad044685c30893649b870991b5f0e592a',1,'Mu::PERIODIC()'],['../structDimX__pC.html#a7d5e2f4b22e1efa830db069a41122e24',1,'DimX_pC::PERIODIC()'],['../structDimY__pC.html#a1fcc51d25d5dbf1e1939cb4b908a1760',1,'DimY_pC::PERIODIC()'],['../structRDimR.html#ad387eb1164fd90dea9833ba4bf856cad',1,'RDimR::PERIODIC()'],['../structRDimP.html#ace2d48a5928bd5274bd7c75144aa6c78',1,'RDimP::PERIODIC()'],['../structRDimVr.html#a1e8890fa598572b69d07d3869c5f5e09',1,'RDimVr::PERIODIC()'],['../structRDimVp.html#ab8adf3e4980f2cf15945ad3602d41091',1,'RDimVp::PERIODIC()'],['../structRDimX.html#a8cb720efb33235cee3371843279ea9ab',1,'RDimX::PERIODIC()'],['../structRDimY.html#a48a27c572829350ae0f5b47bf6e13f74',1,'RDimY::PERIODIC()'],['../structRDimVy.html#ac3acad5786a7c7b748997dba2c7dbcdd',1,'RDimVy::PERIODIC()'],['../structRDimT.html#ac518ba935033dd7ec6e36a2860a5ee68',1,'RDimT::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html#ae445f4739f90ca0005ae72aa62c41d04',1,'RefinedDiscreteToCartesian::RDimRRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html#acd2d7666977e04ba57e4197dcde3ba20',1,'RefinedDiscreteToCartesian::RDimPRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html#a57dfa04f15947815c773c65f2696f47f',1,'RefinedDiscreteToCartesian::RDimXRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html#ab96295832a0b6ac10c7d9a4d80214a17',1,'RefinedDiscreteToCartesian::RDimYRefined::PERIODIC()'],['../structTor1.html#a62028f8731a8a591e5b97e93bf0dffa0',1,'Tor1::PERIODIC()']]], - ['perturbation_5finitialization_340',['perturbation_initialization',['../classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanXY perturbation, int mode, double perturb_amplitude) const'],['../classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanX perturbation, int mode, double perturb_amplitude) const']]], - ['poisson_20solver_341',['Poisson Solver',['../src_geometryXVx_poisson.html',1,'src_geometryXVx'],['../src_geometryXYVxVy_poisson.html',1,'src_geometryXYVxVy']]], - ['poissonrhsfunction_342',['PoissonRHSFunction',['../classPoissonRHSFunction.html#a2287f1a0481b7e8dd07d24a902743876',1,'PoissonRHSFunction::PoissonRHSFunction()'],['../classPoissonRHSFunction.html',1,'PoissonRHSFunction']]], - ['poissonsolution_343',['PoissonSolution',['../classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703',1,'PoissonSolution::PoissonSolution()'],['../classPoissonSolution.html',1,'PoissonSolution< CurvilinearToCartesian >']]], - ['polar_20poisson_20solver_344',['Polar Poisson solver',['../src_geometryRTheta_poisson.html',1,'src_geometryRTheta']]], - ['polarbsplines_345',['PolarBSplines',['../classPolarBSplines.html',1,'']]], - ['polarnullboundaryvalue2d_346',['PolarNullBoundaryValue2D',['../classPolarNullBoundaryValue2D.html',1,'']]], - ['polarspline_347',['PolarSpline',['../structPolarSpline.html',1,'PolarSpline< PolarBSplinesType >'],['../structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)'],['../structPolarSpline.html#a89343478d4d570638a82ad70777231b4',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< BSplineR, BSplineP > domain)']]], - ['polarsplineboundaryvalue2d_348',['PolarSplineBoundaryValue2D',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineboundaryvalue2d_3c_20polarbsplines_20_3e_349',['PolarSplineBoundaryValue2D< PolarBSplines >',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineboundaryvalue2d_3c_20polarbsplinestype_20_3e_350',['PolarSplineBoundaryValue2D< PolarBSplinesType >',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineevaluator_351',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html',1,'PolarSplineEvaluator< PolarBSplinesType >'],['../classPolarSplineEvaluator.html#a0b951375b57b56e51acd207739d21eb5',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator &&x)=default'],['../classPolarSplineEvaluator.html#a117fe2ce4d5dcb58f90c781d3c39c233',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator const &x)=default'],['../classPolarSplineEvaluator.html#ad16dac26ccca13b143d00d7aa53febcf',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineBoundaryValue2D< PolarBSplinesType > const &outer_bc)']]], - ['polarsplineevaluator_3c_20polarbsplines_20_3e_352',['PolarSplineEvaluator< PolarBSplines >',['../classPolarSplineEvaluator.html',1,'']]], - ['polarsplinefempoissonsolver_353',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html',1,'PolarSplineFEMPoissonSolver'],['../classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8',1,'PolarSplineFEMPoissonSolver::PolarSplineFEMPoissonSolver()']]], - ['polarsplinespan_354',['PolarSplineSpan',['../structPolarSplineSpan.html',1,'PolarSplineSpan< PolarBSplinesType >'],['../structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c',1,'PolarSplineSpan::PolarSplineSpan()']]], - ['polarsplineview_355',['PolarSplineView',['../structPolarSplineView.html',1,'PolarSplineView< PolarBSplinesType >'],['../structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d',1,'PolarSplineView::PolarSplineView()']]], - ['polynomialevaluator_356',['PolynomialEvaluator',['../structPolynomialEvaluator.html',1,'']]], - ['preallocatablelagrangeinterpolatorbatched_357',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html',1,'PreallocatableLagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim >'],['../classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475',1,'PreallocatableLagrangeInterpolatorBatched::PreallocatableLagrangeInterpolatorBatched()']]], - ['preallocatablesplineinterpolatorbatched_358',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10',1,'PreallocatableSplineInterpolatorBatched::PreallocatableSplineInterpolatorBatched()'],['../classPreallocatableSplineInterpolatorBatched.html',1,'PreallocatableSplineInterpolatorBatched< DDimI, BSplines, BcMin, BcMax, LeftExtrapolationRule, RightExtrapolationRule, Solver, DDim >']]], - ['preallocatablesplineinterpolatorrp_359',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html#ade36aac246ed7b8003ec0e227ca95b7e',1,'PreallocatableSplineInterpolatorRP::PreallocatableSplineInterpolatorRP()'],['../classPreallocatableSplineInterpolatorRP.html',1,'PreallocatableSplineInterpolatorRP']]], - ['preallocate_360',['preallocate',['../classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea',1,'PreallocatableLagrangeInterpolatorBatched::preallocate()'],['../classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2',1,'IPreallocatableInterpolatorBatched::preallocate()'],['../classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0',1,'PreallocatableSplineInterpolatorBatched::preallocate()'],['../classPreallocatableSplineInterpolatorRP.html#a96c0faf84015ec3b49d8d98b3eeef938',1,'PreallocatableSplineInterpolatorRP::preallocate()'],['../classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6',1,'IPreallocatableInterpolatorRP::preallocate()']]], - ['predcorr_361',['PredCorr',['../classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d',1,'PredCorr::PredCorr()'],['../classPredCorr.html',1,'PredCorr']]], - ['predictor_2dcorrector_20methods_362',['Predictor-corrector methods',['../src_geometryRTheta_time_solver.html',1,'src_geometryRTheta']]] + ['pbasissubset_292',['PBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset',1,'PolarSplineFEMPoissonSolver']]], + ['pcelldim_293',['PCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim',1,'PolarSplineFEMPoissonSolver']]], + ['periodic_294',['PERIODIC',['../structVpar.html#a463f771232ce1d607bf477d8c395eafe',1,'Vpar::PERIODIC()'],['../structRDimVy.html#ac3acad5786a7c7b748997dba2c7dbcdd',1,'RDimVy::PERIODIC()'],['../structMu.html#ad044685c30893649b870991b5f0e592a',1,'Mu::PERIODIC()'],['../structDimX__pC.html#a7d5e2f4b22e1efa830db069a41122e24',1,'DimX_pC::PERIODIC()'],['../structDimY__pC.html#a1fcc51d25d5dbf1e1939cb4b908a1760',1,'DimY_pC::PERIODIC()'],['../structRDimR.html#ad387eb1164fd90dea9833ba4bf856cad',1,'RDimR::PERIODIC()'],['../structRDimP.html#ace2d48a5928bd5274bd7c75144aa6c78',1,'RDimP::PERIODIC()'],['../structRDimVr.html#a1e8890fa598572b69d07d3869c5f5e09',1,'RDimVr::PERIODIC()'],['../structRDimVp.html#ab8adf3e4980f2cf15945ad3602d41091',1,'RDimVp::PERIODIC()'],['../structRDimX.html#a8cb720efb33235cee3371843279ea9ab',1,'RDimX::PERIODIC()'],['../structRDimVx.html#a11bf97b66f066f6e9b062e8742f6cc78',1,'RDimVx::PERIODIC()'],['../structRDimY.html#a48a27c572829350ae0f5b47bf6e13f74',1,'RDimY::PERIODIC()'],['../structRDimT.html#ac518ba935033dd7ec6e36a2860a5ee68',1,'RDimT::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html#a6383c5fd3f13ecc58c08b8aa0b2283ca',1,'RefinedDiscreteToCartesian::RDimRRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html#ad514de051dbba29c434430eff517006e',1,'RefinedDiscreteToCartesian::RDimPRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html#a5541d5de608d7fd975e314d933af9d72',1,'RefinedDiscreteToCartesian::RDimXRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html#a0f50a9073257f594f7c0e7cd0ebdaa23',1,'RefinedDiscreteToCartesian::RDimYRefined::PERIODIC()'],['../structTor2.html#ace83f98401e5275f4164472205a202ba',1,'Tor2::PERIODIC()'],['../structTor1.html#a62028f8731a8a591e5b97e93bf0dffa0',1,'Tor1::PERIODIC()'],['../structTor3.html#a491f63f0705c1c71b52485fc172469f6',1,'Tor3::PERIODIC()']]], + ['perturbation_5finitialization_295',['perturbation_initialization',['../classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanXY perturbation, int mode, double perturb_amplitude) const'],['../classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanX perturbation, int mode, double perturb_amplitude) const']]], + ['poisson_20solver_296',['Poisson Solver',['../src_geometryXVx_poisson.html',1,'src_geometryXVx'],['../src_geometryXYVxVy_poisson.html',1,'src_geometryXYVxVy']]], + ['poissonrhsfunction_297',['PoissonRHSFunction',['../classPoissonRHSFunction.html#a1d014ed759a8fbee81a13893e1980171',1,'PoissonRHSFunction::PoissonRHSFunction()'],['../classPoissonRHSFunction.html',1,'PoissonRHSFunction< RadialExtrapolationRule >']]], + ['poissonsolution_298',['PoissonSolution',['../classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703',1,'PoissonSolution::PoissonSolution()'],['../classPoissonSolution.html',1,'PoissonSolution< CurvilinearToCartesian >']]], + ['polar_20poisson_20solver_299',['Polar Poisson solver',['../src_geometryRTheta_poisson.html',1,'src_geometryRTheta']]], + ['polarbsplines_300',['PolarBSplines',['../classPolarBSplines.html',1,'']]], + ['polarspline_301',['PolarSpline',['../structPolarSpline.html',1,'PolarSpline< PolarBSplinesType >'],['../structPolarSpline.html#a89343478d4d570638a82ad70777231b4',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< BSplineR, BSplineP > domain)'],['../structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)']]], + ['polarsplineevaluator_302',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html',1,'PolarSplineEvaluator< PolarBSplinesType, OuterExtrapolationRule >'],['../classPolarSplineEvaluator.html#a13c5887c37f94a933cdd431c122a0124',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator const &x)=default'],['../classPolarSplineEvaluator.html#a8960c721f4ef12c2343fae7c36dae0da',1,'PolarSplineEvaluator::PolarSplineEvaluator(OuterExtrapolationRule const &outer_bc)'],['../classPolarSplineEvaluator.html#a87b7163ab815cc562d0222b1d5dcd27e',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator &&x)=default']]], + ['polarsplineevaluator_3c_20polarbsplines_2c_20ddc_3a_3anullextrapolationrule_20_3e_303',['PolarSplineEvaluator< PolarBSplines, ddc::NullExtrapolationRule >',['../classPolarSplineEvaluator.html',1,'']]], + ['polarsplinefempoissonsolver_304',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html',1,'PolarSplineFEMPoissonSolver'],['../classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8',1,'PolarSplineFEMPoissonSolver::PolarSplineFEMPoissonSolver()']]], + ['polarsplinespan_305',['PolarSplineSpan',['../structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c',1,'PolarSplineSpan::PolarSplineSpan()'],['../structPolarSplineSpan.html',1,'PolarSplineSpan< PolarBSplinesType >']]], + ['polarsplineview_306',['PolarSplineView',['../structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d',1,'PolarSplineView::PolarSplineView(PolarSpline< PolarBSplinesType > const &spl)'],['../structPolarSplineView.html#af01a912e50f5d8dc5dda51fc2d28f929',1,'PolarSplineView::PolarSplineView(PolarSplineSpan< PolarBSplinesType > const &spl)'],['../structPolarSplineView.html',1,'PolarSplineView< PolarBSplinesType >']]], + ['polynomialevaluator_307',['PolynomialEvaluator',['../structPolynomialEvaluator.html',1,'']]], + ['preallocatablelagrangeinterpolatorbatched_308',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475',1,'PreallocatableLagrangeInterpolatorBatched::PreallocatableLagrangeInterpolatorBatched()'],['../classPreallocatableLagrangeInterpolatorBatched.html',1,'PreallocatableLagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim >']]], + ['preallocatablesplineinterpolatorbatched_309',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html',1,'PreallocatableSplineInterpolatorBatched< DDimI, BSplines, BcMin, BcMax, LeftExtrapolationRule, RightExtrapolationRule, Solver, DDim >'],['../classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10',1,'PreallocatableSplineInterpolatorBatched::PreallocatableSplineInterpolatorBatched()']]], + ['preallocatablesplineinterpolatorrp_310',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html',1,'PreallocatableSplineInterpolatorRP< RadialExtrapolationRule >'],['../classPreallocatableSplineInterpolatorRP.html#ad92427481b794b783f83e137e52108f9',1,'PreallocatableSplineInterpolatorRP::PreallocatableSplineInterpolatorRP()']]], + ['preallocatablesplineinterpolatorrp_3c_20ddc_3a_3anullextrapolationrule_20_3e_311',['PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule >',['../classPreallocatableSplineInterpolatorRP.html',1,'']]], + ['preallocate_312',['preallocate',['../classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6',1,'IPreallocatableInterpolatorRP::preallocate()'],['../classPreallocatableSplineInterpolatorRP.html#aedfcd0cff398fd0d6766aeac6b6bb366',1,'PreallocatableSplineInterpolatorRP::preallocate()'],['../classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea',1,'PreallocatableLagrangeInterpolatorBatched::preallocate()'],['../classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2',1,'IPreallocatableInterpolatorBatched::preallocate()'],['../classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0',1,'PreallocatableSplineInterpolatorBatched::preallocate()']]], + ['predcorr_313',['PredCorr',['../classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d',1,'PredCorr::PredCorr()'],['../classPredCorr.html',1,'PredCorr']]], + ['predictor_2dcorrector_20methods_314',['Predictor-corrector methods',['../src_geometryRTheta_time_solver.html',1,'src_geometryRTheta']]] ]; diff --git a/search/classes_0.js b/search/classes_0.js index be5f33fd1..9f661ba0b 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,20 +1,20 @@ var searchData= [ - ['advectiondomain_503',['AdvectionDomain',['../classAdvectionDomain.html',1,'']]], - ['advectionfield_504',['AdvectionField',['../classAdvectionField.html',1,'']]], - ['advectionfield_5fdecentred_5frotation_505',['AdvectionField_decentred_rotation',['../classAdvectionField__decentred__rotation.html',1,'']]], - ['advectionfield_5frotation_506',['AdvectionField_rotation',['../classAdvectionField__rotation.html',1,'']]], - ['advectionfield_5ftranslation_507',['AdvectionField_translation',['../classAdvectionField__translation.html',1,'']]], - ['advectionfieldfinder_508',['AdvectionFieldFinder',['../classAdvectionFieldFinder.html',1,'']]], - ['advectionfieldsimulation_509',['AdvectionFieldSimulation',['../classAdvectionFieldSimulation.html',1,'']]], - ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5fdecentred_5frotation_2c_20functiontobeadvected_5fcos_5f4_5felipse_3c_20mapping_20_3e_2c_20advectionfield_5fdecentred_5frotation_20_3e_510',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_decentred_rotation, FunctionToBeAdvected_cos_4_elipse< Mapping >, AdvectionField_decentred_rotation >',['../classAdvectionFieldSimulation.html',1,'']]], - ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5frotation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_2c_20advectionfield_5frotation_20_3e_511',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_rotation, FunctionToBeAdvected_gaussian< Mapping >, AdvectionField_rotation >',['../classAdvectionFieldSimulation.html',1,'']]], - ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5ftranslation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_2c_20advectionfield_5ftranslation_20_3e_512',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_translation, FunctionToBeAdvected_gaussian< Mapping >, AdvectionField_translation >',['../classAdvectionFieldSimulation.html',1,'']]], - ['advectionphysicaldomain_513',['AdvectionPhysicalDomain',['../classAdvectionPhysicalDomain.html',1,'']]], - ['advectionpseudocartesiandomain_514',['AdvectionPseudoCartesianDomain',['../classAdvectionPseudoCartesianDomain.html',1,'']]], - ['advectionsimulation_515',['AdvectionSimulation',['../classAdvectionSimulation.html',1,'']]], - ['advectionsimulation_3c_20advectionfield_5fdecentred_5frotation_2c_20functiontobeadvected_5fcos_5f4_5felipse_3c_20mapping_20_3e_20_3e_516',['AdvectionSimulation< AdvectionField_decentred_rotation, FunctionToBeAdvected_cos_4_elipse< Mapping > >',['../classAdvectionSimulation.html',1,'']]], - ['advectionsimulation_3c_20advectionfield_5frotation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_517',['AdvectionSimulation< AdvectionField_rotation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], - ['advectionsimulation_3c_20advectionfield_5ftranslation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_518',['AdvectionSimulation< AdvectionField_translation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], - ['analyticalinvertiblecurvilinear2dtocartesian_519',['AnalyticalInvertibleCurvilinear2DToCartesian',['../classAnalyticalInvertibleCurvilinear2DToCartesian.html',1,'']]] + ['advectiondomain_431',['AdvectionDomain',['../classAdvectionDomain.html',1,'']]], + ['advectionfield_432',['AdvectionField',['../classAdvectionField.html',1,'']]], + ['advectionfield_5fdecentred_5frotation_433',['AdvectionField_decentred_rotation',['../classAdvectionField__decentred__rotation.html',1,'']]], + ['advectionfield_5frotation_434',['AdvectionField_rotation',['../classAdvectionField__rotation.html',1,'']]], + ['advectionfield_5ftranslation_435',['AdvectionField_translation',['../classAdvectionField__translation.html',1,'']]], + ['advectionfieldfinder_436',['AdvectionFieldFinder',['../classAdvectionFieldFinder.html',1,'']]], + ['advectionfieldsimulation_437',['AdvectionFieldSimulation',['../classAdvectionFieldSimulation.html',1,'']]], + ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5fdecentred_5frotation_2c_20functiontobeadvected_5fcos_5f4_5felipse_3c_20mapping_20_3e_2c_20advectionfield_5fdecentred_5frotation_20_3e_438',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_decentred_rotation, FunctionToBeAdvected_cos_4_elipse< Mapping >, AdvectionField_decentred_rotation >',['../classAdvectionFieldSimulation.html',1,'']]], + ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5frotation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_2c_20advectionfield_5frotation_20_3e_439',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_rotation, FunctionToBeAdvected_gaussian< Mapping >, AdvectionField_rotation >',['../classAdvectionFieldSimulation.html',1,'']]], + ['advectionfieldsimulation_3c_20electrostaticalpotentialsimulation_5ftranslation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_2c_20advectionfield_5ftranslation_20_3e_440',['AdvectionFieldSimulation< ElectrostaticalPotentialSimulation_translation, FunctionToBeAdvected_gaussian< Mapping >, AdvectionField_translation >',['../classAdvectionFieldSimulation.html',1,'']]], + ['advectionphysicaldomain_441',['AdvectionPhysicalDomain',['../classAdvectionPhysicalDomain.html',1,'']]], + ['advectionpseudocartesiandomain_442',['AdvectionPseudoCartesianDomain',['../classAdvectionPseudoCartesianDomain.html',1,'']]], + ['advectionsimulation_443',['AdvectionSimulation',['../classAdvectionSimulation.html',1,'']]], + ['advectionsimulation_3c_20advectionfield_5fdecentred_5frotation_2c_20functiontobeadvected_5fcos_5f4_5felipse_3c_20mapping_20_3e_20_3e_444',['AdvectionSimulation< AdvectionField_decentred_rotation, FunctionToBeAdvected_cos_4_elipse< Mapping > >',['../classAdvectionSimulation.html',1,'']]], + ['advectionsimulation_3c_20advectionfield_5frotation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_445',['AdvectionSimulation< AdvectionField_rotation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], + ['advectionsimulation_3c_20advectionfield_5ftranslation_2c_20functiontobeadvected_5fgaussian_3c_20mapping_20_3e_20_3e_446',['AdvectionSimulation< AdvectionField_translation, FunctionToBeAdvected_gaussian< Mapping > >',['../classAdvectionSimulation.html',1,'']]], + ['analyticalinvertiblecurvilinear2dtocartesian_447',['AnalyticalInvertibleCurvilinear2DToCartesian',['../classAnalyticalInvertibleCurvilinear2DToCartesian.html',1,'']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js index e0a53c261..078cf45e8 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,15 +1,12 @@ var searchData= [ - ['bernsteinpolynomialbasis_520',['BernsteinPolynomialBasis',['../classBernsteinPolynomialBasis.html',1,'']]], - ['boundary_5fdata_5f2d_521',['Boundary_data_2d',['../structdeprecated_1_1Boundary__data__2d.html',1,'deprecated']]], - ['bsladvectionrp_522',['BslAdvectionRP',['../classBslAdvectionRP.html',1,'']]], - ['bsladvectionrp_3c_20splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_2c_20mapping_20_3e_523',['BslAdvectionRP< SplineFootFinder< Euler, AdvectionDomain >, Mapping >',['../classBslAdvectionRP.html',1,'']]], - ['bsladvectionspatialbatched_524',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html',1,'']]], - ['bsladvectionvelocitybatched_525',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html',1,'']]], - ['bslexplicitpredcorrrp_526',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html',1,'']]], - ['bslimplicitpredcorrrp_527',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html',1,'']]], - ['bslpredcorrrp_528',['BslPredCorrRP',['../classBslPredCorrRP.html',1,'']]], - ['bspline_529',['BSpline',['../structBSpline.html',1,'']]], - ['bsplines_530',['BSplines',['../classdeprecated_1_1BSplines.html',1,'deprecated']]], - ['bumpontailequilibrium_531',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html',1,'']]] + ['bernsteinpolynomialbasis_448',['BernsteinPolynomialBasis',['../classBernsteinPolynomialBasis.html',1,'']]], + ['bsladvectionrp_449',['BslAdvectionRP',['../classBslAdvectionRP.html',1,'']]], + ['bsladvectionrp_3c_20splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_2c_20mapping_20_3e_450',['BslAdvectionRP< SplineFootFinder< Euler, AdvectionDomain >, Mapping >',['../classBslAdvectionRP.html',1,'']]], + ['bsladvectionspatialbatched_451',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html',1,'']]], + ['bsladvectionvelocitybatched_452',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html',1,'']]], + ['bslexplicitpredcorrrp_453',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html',1,'']]], + ['bslimplicitpredcorrrp_454',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html',1,'']]], + ['bslpredcorrrp_455',['BslPredCorrRP',['../classBslPredCorrRP.html',1,'']]], + ['bumpontailequilibrium_456',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html',1,'']]] ]; diff --git a/search/classes_10.js b/search/classes_10.js index dd72d3177..f6aed1166 100644 --- a/search/classes_10.js +++ b/search/classes_10.js @@ -1,13 +1,13 @@ var searchData= [ - ['to_5ftuple_710',['to_tuple',['../structto__tuple.html',1,'']]], - ['to_5ftuple_3c_20std_3a_3ainteger_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_20_3e_711',['to_tuple< std::integer_sequence< T, Ints... > >',['../structto__tuple_3_01std_1_1integer__sequence_3_01T_00_01Ints_8_8_8_01_4_01_4.html',1,'']]], - ['to_5ftuple_3c_20std_3a_3apair_3c_20t_2c_20u_20_3e_20_3e_712',['to_tuple< std::pair< T, U > >',['../structto__tuple_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html',1,'']]], - ['tor1_713',['Tor1',['../structTor1.html',1,'']]], - ['tor2_714',['Tor2',['../structTor2.html',1,'']]], - ['tor3_715',['Tor3',['../structTor3.html',1,'']]], - ['translationadvectionfieldsimulation_716',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html',1,'']]], - ['translationsimulation_717',['TranslationSimulation',['../classTranslationSimulation.html',1,'']]], - ['tuple_5fto_5ftypes_718',['tuple_to_types',['../structtuple__to__types.html',1,'']]], - ['tuple_5fto_5ftypes_3c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e_719',['tuple_to_types< std::tuple< Args... > >',['../structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'']]] + ['to_5ftuple_611',['to_tuple',['../structto__tuple.html',1,'']]], + ['to_5ftuple_3c_20std_3a_3ainteger_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_20_3e_612',['to_tuple< std::integer_sequence< T, Ints... > >',['../structto__tuple_3_01std_1_1integer__sequence_3_01T_00_01Ints_8_8_8_01_4_01_4.html',1,'']]], + ['to_5ftuple_3c_20std_3a_3apair_3c_20t_2c_20u_20_3e_20_3e_613',['to_tuple< std::pair< T, U > >',['../structto__tuple_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html',1,'']]], + ['tor1_614',['Tor1',['../structTor1.html',1,'']]], + ['tor2_615',['Tor2',['../structTor2.html',1,'']]], + ['tor3_616',['Tor3',['../structTor3.html',1,'']]], + ['translationadvectionfieldsimulation_617',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html',1,'']]], + ['translationsimulation_618',['TranslationSimulation',['../classTranslationSimulation.html',1,'']]], + ['tuple_5fto_5ftypes_619',['tuple_to_types',['../structtuple__to__types.html',1,'']]], + ['tuple_5fto_5ftypes_3c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e_620',['tuple_to_types< std::tuple< Args... > >',['../structtuple__to__types_3_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'']]] ]; diff --git a/search/classes_11.js b/search/classes_11.js index 9c87056bb..86e9b9e83 100644 --- a/search/classes_11.js +++ b/search/classes_11.js @@ -1,4 +1,11 @@ var searchData= [ - ['uniformbsplines_720',['UniformBSplines',['../classdeprecated_1_1UniformBSplines.html',1,'deprecated::UniformBSplines'],['../classUniformBSplines.html',1,'UniformBSplines< Tag, D >']]] + ['vectorfield_621',['VectorField',['../classVectorField.html',1,'']]], + ['vectorfieldcommon_622',['VectorFieldCommon',['../classVectorFieldCommon.html',1,'']]], + ['vectorfieldcommon_3c_20ddc_3a_3achunk_3c_20elementtype_2c_20domain_2c_20allocator_20_3e_2c_20ndtag_20_3e_623',['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_624',['VectorFieldCommon< ddc::ChunkSpan< ElementType, Domain, LayoutStridedPolicy, MemorySpace >, NDTag >',['../classVectorFieldCommon.html',1,'']]], + ['vectorfieldspan_625',['VectorFieldSpan',['../classVectorFieldSpan.html',1,'']]], + ['vortexmergerdensitysolution_626',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html',1,'']]], + ['vortexmergerequilibria_627',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html',1,'']]], + ['vpar_628',['Vpar',['../structVpar.html',1,'']]] ]; diff --git a/search/classes_12.html b/search/classes_12.html deleted file mode 100644 index 90bc9f579..000000000 --- a/search/classes_12.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/search/classes_12.js b/search/classes_12.js deleted file mode 100644 index 14c627ec9..000000000 --- a/search/classes_12.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['vectorfield_721',['VectorField',['../classVectorField.html',1,'']]], - ['vectorfieldcommon_722',['VectorFieldCommon',['../classVectorFieldCommon.html',1,'']]], - ['vectorfieldcommon_3c_20ddc_3a_3achunk_3c_20elementtype_2c_20domain_2c_20allocator_20_3e_2c_20ndtag_20_3e_723',['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_724',['VectorFieldCommon< ddc::ChunkSpan< ElementType, Domain, LayoutStridedPolicy, MemorySpace >, NDTag >',['../classVectorFieldCommon.html',1,'']]], - ['vectorfieldspan_725',['VectorFieldSpan',['../classVectorFieldSpan.html',1,'']]], - ['vortexmergerdensitysolution_726',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html',1,'']]], - ['vortexmergerequilibria_727',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html',1,'']]], - ['vpar_728',['Vpar',['../structVpar.html',1,'']]] -]; diff --git a/search/classes_2.js b/search/classes_2.js index 071c13526..4c9ea04c6 100644 --- a/search/classes_2.js +++ b/search/classes_2.js @@ -1,29 +1,27 @@ var searchData= [ - ['cartesian_5fproduct_5fimpl_532',['cartesian_product_impl',['../structcartesian__product__impl.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20std_3a_3atuple_3c_20headargs_2e_2e_2e_20_3e_2c_20tailtuples_2e_2e_2e_20_3e_2c_20outtupleoftuples_20_3e_533',['cartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20tailtuples_2e_2e_2e_20_3e_2c_20decltype_28std_3a_3atuple_5fcat_28std_3a_3adeclval_3c_20for_5feach_5ftuple_5fcat_5ft_3c_20outtupleoftuples_2c_20std_3a_3atuple_3c_20headargs_20_3e_3e_3e_28_29_2e_2e_2e_29_29_3e_534',['cartesian_product_impl< std::tuple< TailTuples... >, decltype(std::tuple_cat(std::declval< for_each_tuple_cat_t< OutTupleOfTuples, std::tuple< HeadArgs >>>()...))>',['../structcartesian__product__impl.html',1,'']]], - ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_3e_2c_20outtupleoftuples_20_3e_535',['cartesian_product_impl< std::tuple<>, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_4_00_01OutTupleOfTuples_01_4.html',1,'']]], - ['cartesiansolution_536',['CartesianSolution',['../classCartesianSolution.html',1,'']]], - ['cartesiantobarycentriccoordinates_537',['CartesianToBarycentricCoordinates',['../classCartesianToBarycentricCoordinates.html',1,'']]], - ['cartesiantobarycentriccoordinates_3c_20tag1_2c_20tag2_2c_20corner1tag_2c_20corner2tag_2c_20corner3tag_20_3e_538',['CartesianToBarycentricCoordinates< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag >',['../classCartesianToBarycentricCoordinates.html',1,'']]], - ['chargedensitycalculator_539',['ChargeDensityCalculator',['../classChargeDensityCalculator.html',1,'']]], - ['circulartocartesian_540',['CircularToCartesian',['../classCircularToCartesian.html',1,'']]], - ['circulartocartesian_3c_20rdimx_2c_20rdimy_2c_20rdimr_2c_20rdimp_20_3e_541',['CircularToCartesian< RDimX, RDimY, RDimR, RDimP >',['../classCircularToCartesian.html',1,'']]], - ['collisions_542',['Collisions',['../classCollisions.html',1,'']]], - ['collisionsguard_543',['CollisionsGuard',['../classCollisionsGuard.html',1,'']]], - ['collisionsinter_544',['CollisionsInter',['../classCollisionsInter.html',1,'']]], - ['collisionsintra_545',['CollisionsIntra',['../classCollisionsIntra.html',1,'']]], - ['constantextrapolationboundaryvalue_546',['ConstantExtrapolationBoundaryValue',['../classConstantExtrapolationBoundaryValue.html',1,'']]], - ['constantextrapolationboundaryvalue2d_547',['ConstantExtrapolationBoundaryValue2D',['../classConstantExtrapolationBoundaryValue2D.html',1,'']]], - ['corner1tag_548',['Corner1Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag',1,'PolarBSplines::Impl']]], - ['corner2tag_549',['Corner2Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag',1,'PolarBSplines::Impl']]], - ['corner3tag_550',['Corner3Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag',1,'PolarBSplines::Impl']]], - ['cosineevaluator_551',['CosineEvaluator',['../structCosineEvaluator.html',1,'']]], - ['cranknicolson_552',['CrankNicolson',['../classCrankNicolson.html',1,'']]], - ['curvilinear2dtocartesian_553',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html',1,'']]], - ['curvilinear2dtocartesian_3c_20dimx_2c_20dimy_2c_20splinebuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinebuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_554',['Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], - ['curvilinear2dtocartesian_3c_20rdimx_2c_20rdimy_2c_20splinerpbuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinerpbuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_555',['Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], - ['curvilinearsolution_556',['CurvilinearSolution',['../classCurvilinearSolution.html',1,'']]], - ['czarnytocartesian_557',['CzarnyToCartesian',['../classCzarnyToCartesian.html',1,'']]] + ['cartesian_5fproduct_5fimpl_457',['cartesian_product_impl',['../structcartesian__product__impl.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20std_3a_3atuple_3c_20headargs_2e_2e_2e_20_3e_2c_20tailtuples_2e_2e_2e_20_3e_2c_20outtupleoftuples_20_3e_458',['cartesian_product_impl< std::tuple< std::tuple< HeadArgs... >, TailTuples... >, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_01std_1_1tuple_3_01HeadArgs_8_8_8_01_4_00_01Ta2e54ffdefaa524ceede7a120148cdbe5.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_20tailtuples_2e_2e_2e_20_3e_2c_20decltype_28std_3a_3atuple_5fcat_28std_3a_3adeclval_3c_20for_5feach_5ftuple_5fcat_5ft_3c_20outtupleoftuples_2c_20std_3a_3atuple_3c_20headargs_20_3e_3e_3e_28_29_2e_2e_2e_29_29_3e_459',['cartesian_product_impl< std::tuple< TailTuples... >, decltype(std::tuple_cat(std::declval< for_each_tuple_cat_t< OutTupleOfTuples, std::tuple< HeadArgs >>>()...))>',['../structcartesian__product__impl.html',1,'']]], + ['cartesian_5fproduct_5fimpl_3c_20std_3a_3atuple_3c_3e_2c_20outtupleoftuples_20_3e_460',['cartesian_product_impl< std::tuple<>, OutTupleOfTuples >',['../structcartesian__product__impl_3_01std_1_1tuple_3_4_00_01OutTupleOfTuples_01_4.html',1,'']]], + ['cartesiansolution_461',['CartesianSolution',['../classCartesianSolution.html',1,'']]], + ['cartesiantobarycentriccoordinates_462',['CartesianToBarycentricCoordinates',['../classCartesianToBarycentricCoordinates.html',1,'']]], + ['cartesiantobarycentriccoordinates_3c_20tag1_2c_20tag2_2c_20corner1tag_2c_20corner2tag_2c_20corner3tag_20_3e_463',['CartesianToBarycentricCoordinates< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag >',['../classCartesianToBarycentricCoordinates.html',1,'']]], + ['chargedensitycalculator_464',['ChargeDensityCalculator',['../classChargeDensityCalculator.html',1,'']]], + ['circulartocartesian_465',['CircularToCartesian',['../classCircularToCartesian.html',1,'']]], + ['circulartocartesian_3c_20rdimx_2c_20rdimy_2c_20rdimr_2c_20rdimp_20_3e_466',['CircularToCartesian< RDimX, RDimY, RDimR, RDimP >',['../classCircularToCartesian.html',1,'']]], + ['collisions_467',['Collisions',['../classCollisions.html',1,'']]], + ['collisionsguard_468',['CollisionsGuard',['../classCollisionsGuard.html',1,'']]], + ['collisionsinter_469',['CollisionsInter',['../classCollisionsInter.html',1,'']]], + ['collisionsintra_470',['CollisionsIntra',['../classCollisionsIntra.html',1,'']]], + ['corner1tag_471',['Corner1Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner1Tag',1,'PolarBSplines::Impl']]], + ['corner2tag_472',['Corner2Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner2Tag',1,'PolarBSplines::Impl']]], + ['corner3tag_473',['Corner3Tag',['../classPolarBSplines_1_1Impl.html#structPolarBSplines_1_1Impl_1_1Corner3Tag',1,'PolarBSplines::Impl']]], + ['cosineevaluator_474',['CosineEvaluator',['../structCosineEvaluator.html',1,'']]], + ['cranknicolson_475',['CrankNicolson',['../classCrankNicolson.html',1,'']]], + ['curvilinear2dtocartesian_476',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html',1,'']]], + ['curvilinear2dtocartesian_3c_20dimx_2c_20dimy_2c_20splinebuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinebuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_477',['Curvilinear2DToCartesian< DimX, DimY, SplineBuilder::bsplines_type1::tag_type, SplineBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], + ['curvilinear2dtocartesian_3c_20rdimx_2c_20rdimy_2c_20splinerpbuilder_3a_3absplines_5ftype1_3a_3atag_5ftype_2c_20splinerpbuilder_3a_3absplines_5ftype2_3a_3atag_5ftype_20_3e_478',['Curvilinear2DToCartesian< RDimX, RDimY, SplineRPBuilder::bsplines_type1::tag_type, SplineRPBuilder::bsplines_type2::tag_type >',['../classCurvilinear2DToCartesian.html',1,'']]], + ['curvilinearsolution_479',['CurvilinearSolution',['../classCurvilinearSolution.html',1,'']]], + ['czarnytocartesian_480',['CzarnyToCartesian',['../classCzarnyToCartesian.html',1,'']]] ]; diff --git a/search/classes_3.js b/search/classes_3.js index 7bf893f66..43f8bc4dd 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -1,10 +1,10 @@ var searchData= [ - ['decentredrotationadvectionfieldsimulation_558',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html',1,'']]], - ['decentredrotationsimulation_559',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html',1,'']]], - ['dimx_5fpc_560',['DimX_pC',['../structDimX__pC.html',1,'']]], - ['dimy_5fpc_561',['DimY_pC',['../structDimY__pC.html',1,'']]], - ['diocotrondensitysolution_562',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html',1,'']]], - ['discretetocartesian_563',['DiscreteToCartesian',['../classDiscreteToCartesian.html',1,'']]], - ['discretetocartesian_3c_20refineddiscretetocartesian_3a_3ardimxrefined_2c_20refineddiscretetocartesian_3a_3ardimyrefined_2c_20splinebuilder2d_20_3e_564',['DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineBuilder2D >',['../classDiscreteToCartesian.html',1,'']]] + ['decentredrotationadvectionfieldsimulation_481',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html',1,'']]], + ['decentredrotationsimulation_482',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html',1,'']]], + ['dimx_5fpc_483',['DimX_pC',['../structDimX__pC.html',1,'']]], + ['dimy_5fpc_484',['DimY_pC',['../structDimY__pC.html',1,'']]], + ['diocotrondensitysolution_485',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html',1,'']]], + ['discretetocartesian_486',['DiscreteToCartesian',['../classDiscreteToCartesian.html',1,'']]], + ['discretetocartesian_3c_20refineddiscretetocartesian_3a_3ardimxrefined_2c_20refineddiscretetocartesian_3a_3ardimyrefined_2c_20splinerpbuilderrefined_2c_20splinerpevaluatorrefined_20_3e_487',['DiscreteToCartesian< RefinedDiscreteToCartesian::RDimXRefined, RefinedDiscreteToCartesian::RDimYRefined, SplineRPBuilderRefined, SplineRPEvaluatorRefined >',['../classDiscreteToCartesian.html',1,'']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index d7ca171ea..9f6e9dbe3 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -1,10 +1,10 @@ var searchData= [ - ['electrostaticalpotentialsimulation_565',['ElectrostaticalPotentialSimulation',['../classElectrostaticalPotentialSimulation.html',1,'']]], - ['electrostaticalpotentialsimulation_5fdecentred_5frotation_566',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html',1,'']]], - ['electrostaticalpotentialsimulation_5frotation_567',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html',1,'']]], - ['electrostaticalpotentialsimulation_5ftranslation_568',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html',1,'']]], - ['euler_569',['Euler',['../classEuler.html',1,'']]], - ['evaluator_570',['Evaluator',['../classCosineEvaluator_1_1Evaluator.html',1,'CosineEvaluator::Evaluator< DDim >'],['../classEvaluator2D_1_1Evaluator.html',1,'Evaluator2D::Evaluator< Eval1, Eval2 >'],['../classPolynomialEvaluator_1_1Evaluator.html',1,'PolynomialEvaluator::Evaluator< DDim, Degree >']]], - ['evaluator2d_571',['Evaluator2D',['../structEvaluator2D.html',1,'']]] + ['electrostaticalpotentialsimulation_488',['ElectrostaticalPotentialSimulation',['../classElectrostaticalPotentialSimulation.html',1,'']]], + ['electrostaticalpotentialsimulation_5fdecentred_5frotation_489',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html',1,'']]], + ['electrostaticalpotentialsimulation_5frotation_490',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html',1,'']]], + ['electrostaticalpotentialsimulation_5ftranslation_491',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html',1,'']]], + ['euler_492',['Euler',['../classEuler.html',1,'']]], + ['evaluator_493',['Evaluator',['../classCosineEvaluator_1_1Evaluator.html',1,'CosineEvaluator::Evaluator< DDim >'],['../classEvaluator2D_1_1Evaluator.html',1,'Evaluator2D::Evaluator< Eval1, Eval2 >'],['../classPolynomialEvaluator_1_1Evaluator.html',1,'PolynomialEvaluator::Evaluator< DDim, Degree >']]], + ['evaluator2d_494',['Evaluator2D',['../structEvaluator2D.html',1,'']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index d6b95de5b..26e90467f 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,12 +1,12 @@ var searchData= [ - ['femnonperiodicpoissonsolver_572',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html',1,'']]], - ['femperiodicpoissonsolver_573',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html',1,'']]], - ['fftpoissonsolver_574',['FftPoissonSolver',['../classFftPoissonSolver.html',1,'']]], - ['fluidmoments_575',['FluidMoments',['../classFluidMoments.html',1,'']]], - ['for_5feach_5ftuple_5fcat_576',['for_each_tuple_cat',['../structfor__each__tuple__cat.html',1,'']]], - ['for_5feach_5ftuple_5fcat_3c_20std_3a_3atuple_3c_20tuples_2e_2e_2e_20_3e_2c_20tuple_20_3e_577',['for_each_tuple_cat< std::tuple< Tuples... >, Tuple >',['../structfor__each__tuple__cat_3_01std_1_1tuple_3_01Tuples_8_8_8_01_4_00_01Tuple_01_4.html',1,'']]], - ['functiontobeadvected_578',['FunctionToBeAdvected',['../classFunctionToBeAdvected.html',1,'']]], - ['functiontobeadvected_5fcos_5f4_5felipse_579',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html',1,'']]], - ['functiontobeadvected_5fgaussian_580',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html',1,'']]] + ['femnonperiodicpoissonsolver_495',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html',1,'']]], + ['femperiodicpoissonsolver_496',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html',1,'']]], + ['fftpoissonsolver_497',['FftPoissonSolver',['../classFftPoissonSolver.html',1,'']]], + ['fluidmoments_498',['FluidMoments',['../classFluidMoments.html',1,'']]], + ['for_5feach_5ftuple_5fcat_499',['for_each_tuple_cat',['../structfor__each__tuple__cat.html',1,'']]], + ['for_5feach_5ftuple_5fcat_3c_20std_3a_3atuple_3c_20tuples_2e_2e_2e_20_3e_2c_20tuple_20_3e_500',['for_each_tuple_cat< std::tuple< Tuples... >, Tuple >',['../structfor__each__tuple__cat_3_01std_1_1tuple_3_01Tuples_8_8_8_01_4_00_01Tuple_01_4.html',1,'']]], + ['functiontobeadvected_501',['FunctionToBeAdvected',['../classFunctionToBeAdvected.html',1,'']]], + ['functiontobeadvected_5fcos_5f4_5felipse_502',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html',1,'']]], + ['functiontobeadvected_5fgaussian_503',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html',1,'']]] ]; diff --git a/search/classes_6.js b/search/classes_6.js index 46f3ce8bd..cef6022ce 100644 --- a/search/classes_6.js +++ b/search/classes_6.js @@ -1,10 +1,9 @@ var searchData= [ - ['gausslegendre_581',['GaussLegendre',['../classGaussLegendre.html',1,'']]], - ['gausslegendrecoefficients_582',['GaussLegendreCoefficients',['../structGaussLegendreCoefficients.html',1,'']]], - ['geometryxvx_583',['GeometryXVx',['../classGeometryXVx.html',1,'']]], - ['geometryxyvxvy_584',['GeometryXYVxVy',['../classGeometryXYVxVy.html',1,'']]], - ['ghostedvx_585',['GhostedVx',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx',1,'CollisionsIntra']]], - ['ghostedvxstaggered_586',['GhostedVxStaggered',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered',1,'CollisionsIntra']]], - ['grevilleinterpolationpoints_587',['GrevilleInterpolationPoints',['../classGrevilleInterpolationPoints.html',1,'']]] + ['gausslegendre_504',['GaussLegendre',['../classGaussLegendre.html',1,'']]], + ['gausslegendrecoefficients_505',['GaussLegendreCoefficients',['../structGaussLegendreCoefficients.html',1,'']]], + ['geometryxvx_506',['GeometryXVx',['../classGeometryXVx.html',1,'']]], + ['geometryxyvxvy_507',['GeometryXYVxVy',['../classGeometryXYVxVy.html',1,'']]], + ['ghostedvx_508',['GhostedVx',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVx',1,'CollisionsIntra']]], + ['ghostedvxstaggered_509',['GhostedVxStaggered',['../classCollisionsIntra.html#structCollisionsIntra_1_1GhostedVxStaggered',1,'CollisionsIntra']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index 00522bbd1..ebd8a4802 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -1,33 +1,33 @@ var searchData= [ - ['iadvectionrp_588',['IAdvectionRP',['../classIAdvectionRP.html',1,'']]], - ['iadvectionspatial_589',['IAdvectionSpatial',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxvx_2c_20idimx_20_3e_590',['IAdvectionSpatial< GeometryXVx, IDimX >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimx_20_3e_591',['IAdvectionSpatial< GeometryXYVxVy, IDimX >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimy_20_3e_592',['IAdvectionSpatial< GeometryXYVxVy, IDimY >',['../classIAdvectionSpatial.html',1,'']]], - ['iadvectionvelocity_593',['IAdvectionVelocity',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxvx_2c_20idimvx_20_3e_594',['IAdvectionVelocity< GeometryXVx, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvx_20_3e_595',['IAdvectionVelocity< GeometryXYVxVy, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], - ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvy_20_3e_596',['IAdvectionVelocity< GeometryXYVxVy, IDimVy >',['../classIAdvectionVelocity.html',1,'']]], - ['iboltzmannsolver_597',['IBoltzmannSolver',['../classIBoltzmannSolver.html',1,'']]], - ['ichargedensitycalculator_598',['IChargeDensityCalculator',['../classIChargeDensityCalculator.html',1,'']]], - ['iequilibrium_599',['IEquilibrium',['../classIEquilibrium.html',1,'']]], - ['ifootfinder_600',['IFootFinder',['../classIFootFinder.html',1,'']]], - ['iinitialization_601',['IInitialization',['../classIInitialization.html',1,'']]], - ['iinterpolatorbatched_602',['IInterpolatorBatched',['../classIInterpolatorBatched.html',1,'']]], - ['iinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_603',['IInterpolatorBatched< DDimI, DDim... >',['../classIInterpolatorBatched.html',1,'']]], - ['iinterpolatorrp_604',['IInterpolatorRP',['../classIInterpolatorRP.html',1,'']]], - ['impl_605',['Impl',['../classBernsteinPolynomialBasis_1_1Impl.html',1,'BernsteinPolynomialBasis< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag, D >::Impl< MemorySpace >'],['../classNonUniformBSplines_1_1Impl.html',1,'NonUniformBSplines< Tag, D >::Impl< MemorySpace >'],['../classPolarBSplines_1_1Impl.html',1,'PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >'],['../classSpeciesInformation_1_1Impl.html',1,'SpeciesInformation::Impl< MemorySpace >'],['../classUniformBSplines_1_1Impl.html',1,'UniformBSplines< Tag, D >::Impl< MemorySpace >']]], - ['internaltaggenerator_606',['InternalTagGenerator',['../classNonUniformBSplines.html#structNonUniformBSplines_1_1InternalTagGenerator',1,'NonUniformBSplines< Tag, D >::InternalTagGenerator< T >'],['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator',1,'PolarSplineFEMPoissonSolver::InternalTagGenerator< T >'],['../classUniformBSplines.html#structUniformBSplines_1_1InternalTagGenerator',1,'UniformBSplines< Tag, D >::InternalTagGenerator< T >']]], - ['interpolator_5fon_5fdomain_607',['interpolator_on_domain',['../structinterpolator__on__domain.html',1,'']]], - ['interpolator_5fon_5fdomain_3c_20interp_2c_20ddimi_2c_20ddc_3a_3adiscretedomain_3c_20ddim_2e_2e_2e_20_3e_20_3e_608',['interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html',1,'']]], - ['ipoissonsolver_609',['IPoissonSolver',['../classIPoissonSolver.html',1,'']]], - ['ipreallocatableinterpolatorbatched_610',['IPreallocatableInterpolatorBatched',['../classIPreallocatableInterpolatorBatched.html',1,'']]], - ['ipreallocatableinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_611',['IPreallocatableInterpolatorBatched< DDimI, DDim... >',['../classIPreallocatableInterpolatorBatched.html',1,'']]], - ['ipreallocatableinterpolatorrp_612',['IPreallocatableInterpolatorRP',['../classIPreallocatableInterpolatorRP.html',1,'']]], - ['irighthandside_613',['IRightHandSide',['../classIRightHandSide.html',1,'']]], - ['itimesolver_614',['ITimeSolver',['../classITimeSolver.html',1,'']]], - ['itimesolverrp_615',['ITimeSolverRP',['../classITimeSolverRP.html',1,'']]], - ['itimestepper_616',['ITimeStepper',['../classITimeStepper.html',1,'']]], - ['ivlasovsolver_617',['IVlasovSolver',['../classIVlasovSolver.html',1,'']]] + ['iadvectionrp_510',['IAdvectionRP',['../classIAdvectionRP.html',1,'']]], + ['iadvectionspatial_511',['IAdvectionSpatial',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxvx_2c_20idimx_20_3e_512',['IAdvectionSpatial< GeometryXVx, IDimX >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimx_20_3e_513',['IAdvectionSpatial< GeometryXYVxVy, IDimX >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionspatial_3c_20geometryxyvxvy_2c_20idimy_20_3e_514',['IAdvectionSpatial< GeometryXYVxVy, IDimY >',['../classIAdvectionSpatial.html',1,'']]], + ['iadvectionvelocity_515',['IAdvectionVelocity',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxvx_2c_20idimvx_20_3e_516',['IAdvectionVelocity< GeometryXVx, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvx_20_3e_517',['IAdvectionVelocity< GeometryXYVxVy, IDimVx >',['../classIAdvectionVelocity.html',1,'']]], + ['iadvectionvelocity_3c_20geometryxyvxvy_2c_20idimvy_20_3e_518',['IAdvectionVelocity< GeometryXYVxVy, IDimVy >',['../classIAdvectionVelocity.html',1,'']]], + ['iboltzmannsolver_519',['IBoltzmannSolver',['../classIBoltzmannSolver.html',1,'']]], + ['ichargedensitycalculator_520',['IChargeDensityCalculator',['../classIChargeDensityCalculator.html',1,'']]], + ['iequilibrium_521',['IEquilibrium',['../classIEquilibrium.html',1,'']]], + ['ifootfinder_522',['IFootFinder',['../classIFootFinder.html',1,'']]], + ['iinitialization_523',['IInitialization',['../classIInitialization.html',1,'']]], + ['iinterpolatorbatched_524',['IInterpolatorBatched',['../classIInterpolatorBatched.html',1,'']]], + ['iinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_525',['IInterpolatorBatched< DDimI, DDim... >',['../classIInterpolatorBatched.html',1,'']]], + ['iinterpolatorrp_526',['IInterpolatorRP',['../classIInterpolatorRP.html',1,'']]], + ['impl_527',['Impl',['../classBernsteinPolynomialBasis_1_1Impl.html',1,'BernsteinPolynomialBasis< Tag1, Tag2, Corner1Tag, Corner2Tag, Corner3Tag, D >::Impl< MemorySpace >'],['../classPolarBSplines_1_1Impl.html',1,'PolarBSplines< BSplinesR, BSplinesP, C >::Impl< MemorySpace >'],['../classSpeciesInformation_1_1Impl.html',1,'SpeciesInformation::Impl< MemorySpace >']]], + ['internaltaggenerator_528',['InternalTagGenerator',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1InternalTagGenerator',1,'PolarSplineFEMPoissonSolver']]], + ['interpolator_5fon_5fdomain_529',['interpolator_on_domain',['../structinterpolator__on__domain.html',1,'']]], + ['interpolator_5fon_5fdomain_3c_20interp_2c_20ddimi_2c_20ddc_3a_3adiscretedomain_3c_20ddim_2e_2e_2e_20_3e_20_3e_530',['interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html',1,'']]], + ['ipoissonsolver_531',['IPoissonSolver',['../classIPoissonSolver.html',1,'']]], + ['ipreallocatableinterpolatorbatched_532',['IPreallocatableInterpolatorBatched',['../classIPreallocatableInterpolatorBatched.html',1,'']]], + ['ipreallocatableinterpolatorbatched_3c_20ddimi_2c_20ddim_2e_2e_2e_20_3e_533',['IPreallocatableInterpolatorBatched< DDimI, DDim... >',['../classIPreallocatableInterpolatorBatched.html',1,'']]], + ['ipreallocatableinterpolatorrp_534',['IPreallocatableInterpolatorRP',['../classIPreallocatableInterpolatorRP.html',1,'']]], + ['irighthandside_535',['IRightHandSide',['../classIRightHandSide.html',1,'']]], + ['itimesolver_536',['ITimeSolver',['../classITimeSolver.html',1,'']]], + ['itimesolverrp_537',['ITimeSolverRP',['../classITimeSolverRP.html',1,'']]], + ['itimestepper_538',['ITimeStepper',['../classITimeStepper.html',1,'']]], + ['ivlasovsolver_539',['IVlasovSolver',['../classIVlasovSolver.html',1,'']]] ]; diff --git a/search/classes_8.js b/search/classes_8.js index 3e31af36d..0e916bf5b 100644 --- a/search/classes_8.js +++ b/search/classes_8.js @@ -1,7 +1,6 @@ var searchData= [ - ['kineticsource_618',['KineticSource',['../classKineticSource.html',1,'']]], - ['knotsasinterpolationpoints_619',['KnotsAsInterpolationPoints',['../classKnotsAsInterpolationPoints.html',1,'']]], - ['krooksourceadaptive_620',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html',1,'']]], - ['krooksourceconstant_621',['KrookSourceConstant',['../classKrookSourceConstant.html',1,'']]] + ['kineticsource_540',['KineticSource',['../classKineticSource.html',1,'']]], + ['krooksourceadaptive_541',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html',1,'']]], + ['krooksourceconstant_542',['KrookSourceConstant',['../classKrookSourceConstant.html',1,'']]] ]; diff --git a/search/classes_9.js b/search/classes_9.js index 19e40f61f..90dbb4d9b 100644 --- a/search/classes_9.js +++ b/search/classes_9.js @@ -1,6 +1,6 @@ var searchData= [ - ['lagrange_622',['Lagrange',['../classLagrange.html',1,'']]], - ['lagrangeinterpolatorbatched_623',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html',1,'']]], - ['lagrangeinterpolatorbatched_3c_20ddimi_2c_20bcmin_2c_20bcmax_2c_20ddim_2e_2e_2e_20_3e_624',['LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim... >',['../classLagrangeInterpolatorBatched.html',1,'']]] + ['lagrange_543',['Lagrange',['../classLagrange.html',1,'']]], + ['lagrangeinterpolatorbatched_544',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html',1,'']]], + ['lagrangeinterpolatorbatched_3c_20ddimi_2c_20bcmin_2c_20bcmax_2c_20ddim_2e_2e_2e_20_3e_545',['LagrangeInterpolatorBatched< DDimI, BcMin, BcMax, DDim... >',['../classLagrangeInterpolatorBatched.html',1,'']]] ]; diff --git a/search/classes_a.js b/search/classes_a.js index bc6880114..25cf1aa5c 100644 --- a/search/classes_a.js +++ b/search/classes_a.js @@ -1,16 +1,16 @@ var searchData= [ - ['manufacturedpoissontest_625',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html',1,'']]], - ['matrix_626',['Matrix',['../classMatrix.html',1,'']]], - ['matrix_5fbanded_627',['Matrix_Banded',['../classMatrix__Banded.html',1,'']]], - ['matrix_5fcenter_5fblock_628',['Matrix_Center_Block',['../classMatrix__Center__Block.html',1,'']]], - ['matrix_5fcorner_5fblock_629',['Matrix_Corner_Block',['../classMatrix__Corner__Block.html',1,'']]], - ['matrix_5fdense_630',['Matrix_Dense',['../classMatrix__Dense.html',1,'']]], - ['matrix_5fpds_5ftridiag_631',['Matrix_PDS_Tridiag',['../classMatrix__PDS__Tridiag.html',1,'']]], - ['matrix_5fperiodic_5fbanded_632',['Matrix_Periodic_Banded',['../classMatrix__Periodic__Banded.html',1,'']]], - ['maxwellianequilibrium_633',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html',1,'']]], - ['momentdensity_634',['MomentDensity',['../classFluidMoments.html#structFluidMoments_1_1MomentDensity',1,'FluidMoments']]], - ['momenttemperature_635',['MomentTemperature',['../classFluidMoments.html#structFluidMoments_1_1MomentTemperature',1,'FluidMoments']]], - ['momentvelocity_636',['MomentVelocity',['../classFluidMoments.html#structFluidMoments_1_1MomentVelocity',1,'FluidMoments']]], - ['mu_637',['Mu',['../structMu.html',1,'']]] + ['manufacturedpoissontest_546',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html',1,'']]], + ['matrix_547',['Matrix',['../classMatrix.html',1,'']]], + ['matrix_5fbanded_548',['Matrix_Banded',['../classMatrix__Banded.html',1,'']]], + ['matrix_5fcenter_5fblock_549',['Matrix_Center_Block',['../classMatrix__Center__Block.html',1,'']]], + ['matrix_5fcorner_5fblock_550',['Matrix_Corner_Block',['../classMatrix__Corner__Block.html',1,'']]], + ['matrix_5fdense_551',['Matrix_Dense',['../classMatrix__Dense.html',1,'']]], + ['matrix_5fpds_5ftridiag_552',['Matrix_PDS_Tridiag',['../classMatrix__PDS__Tridiag.html',1,'']]], + ['matrix_5fperiodic_5fbanded_553',['Matrix_Periodic_Banded',['../classMatrix__Periodic__Banded.html',1,'']]], + ['maxwellianequilibrium_554',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html',1,'']]], + ['momentdensity_555',['MomentDensity',['../classFluidMoments.html#structFluidMoments_1_1MomentDensity',1,'FluidMoments']]], + ['momenttemperature_556',['MomentTemperature',['../classFluidMoments.html#structFluidMoments_1_1MomentTemperature',1,'FluidMoments']]], + ['momentvelocity_557',['MomentVelocity',['../classFluidMoments.html#structFluidMoments_1_1MomentVelocity',1,'FluidMoments']]], + ['mu_558',['Mu',['../structMu.html',1,'']]] ]; diff --git a/search/classes_b.js b/search/classes_b.js index ec49464d4..57e3026e5 100644 --- a/search/classes_b.js +++ b/search/classes_b.js @@ -1,8 +1,5 @@ var searchData= [ - ['nonuniformbsplines_638',['NonUniformBSplines',['../classdeprecated_1_1NonUniformBSplines.html',1,'deprecated::NonUniformBSplines'],['../classNonUniformBSplines.html',1,'NonUniformBSplines< Tag, D >']]], - ['nulladvectionvelocity_639',['NullAdvectionVelocity',['../classNullAdvectionVelocity.html',1,'']]], - ['nullboundaryvalue_640',['NullBoundaryValue',['../classNullBoundaryValue.html',1,'']]], - ['nullboundaryvalue2d_641',['NullBoundaryValue2D',['../classNullBoundaryValue2D.html',1,'']]], - ['nullpoissonsolver_642',['NullPoissonSolver',['../classNullPoissonSolver.html',1,'']]] + ['nulladvectionvelocity_559',['NullAdvectionVelocity',['../classNullAdvectionVelocity.html',1,'']]], + ['nullpoissonsolver_560',['NullPoissonSolver',['../classNullPoissonSolver.html',1,'']]] ]; diff --git a/search/classes_c.js b/search/classes_c.js index 13277d679..1f167e2ac 100644 --- a/search/classes_c.js +++ b/search/classes_c.js @@ -1,23 +1,20 @@ var searchData= [ - ['pbasissubset_643',['PBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset',1,'PolarSplineFEMPoissonSolver']]], - ['pcelldim_644',['PCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim',1,'PolarSplineFEMPoissonSolver']]], - ['poissonrhsfunction_645',['PoissonRHSFunction',['../classPoissonRHSFunction.html',1,'']]], - ['poissonsolution_646',['PoissonSolution',['../classPoissonSolution.html',1,'']]], - ['polarbsplines_647',['PolarBSplines',['../classPolarBSplines.html',1,'']]], - ['polarnullboundaryvalue2d_648',['PolarNullBoundaryValue2D',['../classPolarNullBoundaryValue2D.html',1,'']]], - ['polarspline_649',['PolarSpline',['../structPolarSpline.html',1,'']]], - ['polarsplineboundaryvalue2d_650',['PolarSplineBoundaryValue2D',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineboundaryvalue2d_3c_20polarbsplines_20_3e_651',['PolarSplineBoundaryValue2D< PolarBSplines >',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineboundaryvalue2d_3c_20polarbsplinestype_20_3e_652',['PolarSplineBoundaryValue2D< PolarBSplinesType >',['../classPolarSplineBoundaryValue2D.html',1,'']]], - ['polarsplineevaluator_653',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html',1,'']]], - ['polarsplineevaluator_3c_20polarbsplines_20_3e_654',['PolarSplineEvaluator< PolarBSplines >',['../classPolarSplineEvaluator.html',1,'']]], - ['polarsplinefempoissonsolver_655',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html',1,'']]], - ['polarsplinespan_656',['PolarSplineSpan',['../structPolarSplineSpan.html',1,'']]], - ['polarsplineview_657',['PolarSplineView',['../structPolarSplineView.html',1,'']]], - ['polynomialevaluator_658',['PolynomialEvaluator',['../structPolynomialEvaluator.html',1,'']]], - ['preallocatablelagrangeinterpolatorbatched_659',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html',1,'']]], - ['preallocatablesplineinterpolatorbatched_660',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html',1,'']]], - ['preallocatablesplineinterpolatorrp_661',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html',1,'']]], - ['predcorr_662',['PredCorr',['../classPredCorr.html',1,'']]] + ['pbasissubset_561',['PBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PBasisSubset',1,'PolarSplineFEMPoissonSolver']]], + ['pcelldim_562',['PCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1PCellDim',1,'PolarSplineFEMPoissonSolver']]], + ['poissonrhsfunction_563',['PoissonRHSFunction',['../classPoissonRHSFunction.html',1,'']]], + ['poissonsolution_564',['PoissonSolution',['../classPoissonSolution.html',1,'']]], + ['polarbsplines_565',['PolarBSplines',['../classPolarBSplines.html',1,'']]], + ['polarspline_566',['PolarSpline',['../structPolarSpline.html',1,'']]], + ['polarsplineevaluator_567',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html',1,'']]], + ['polarsplineevaluator_3c_20polarbsplines_2c_20ddc_3a_3anullextrapolationrule_20_3e_568',['PolarSplineEvaluator< PolarBSplines, ddc::NullExtrapolationRule >',['../classPolarSplineEvaluator.html',1,'']]], + ['polarsplinefempoissonsolver_569',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html',1,'']]], + ['polarsplinespan_570',['PolarSplineSpan',['../structPolarSplineSpan.html',1,'']]], + ['polarsplineview_571',['PolarSplineView',['../structPolarSplineView.html',1,'']]], + ['polynomialevaluator_572',['PolynomialEvaluator',['../structPolynomialEvaluator.html',1,'']]], + ['preallocatablelagrangeinterpolatorbatched_573',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html',1,'']]], + ['preallocatablesplineinterpolatorbatched_574',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html',1,'']]], + ['preallocatablesplineinterpolatorrp_575',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html',1,'']]], + ['preallocatablesplineinterpolatorrp_3c_20ddc_3a_3anullextrapolationrule_20_3e_576',['PreallocatableSplineInterpolatorRP< ddc::NullExtrapolationRule >',['../classPreallocatableSplineInterpolatorRP.html',1,'']]], + ['predcorr_577',['PredCorr',['../classPredCorr.html',1,'']]] ]; diff --git a/search/classes_d.js b/search/classes_d.js index 6598557ac..9dcb04ed7 100644 --- a/search/classes_d.js +++ b/search/classes_d.js @@ -1,6 +1,6 @@ var searchData= [ - ['qdimx_663',['QDimX',['../classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX',1,'FemNonPeriodicPoissonSolver::QDimX'],['../classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX',1,'FemPeriodicPoissonSolver::QDimX']]], - ['quadrature_664',['Quadrature',['../classQuadrature.html',1,'']]], - ['quadrature_3c_20idimvx_20_3e_665',['Quadrature< IDimVx >',['../classQuadrature.html',1,'']]] + ['qdimx_578',['QDimX',['../classFemNonPeriodicPoissonSolver.html#structFemNonPeriodicPoissonSolver_1_1QDimX',1,'FemNonPeriodicPoissonSolver::QDimX'],['../classFemPeriodicPoissonSolver.html#structFemPeriodicPoissonSolver_1_1QDimX',1,'FemPeriodicPoissonSolver::QDimX']]], + ['quadrature_579',['Quadrature',['../classQuadrature.html',1,'']]], + ['quadrature_3c_20idimvx_20_3e_580',['Quadrature< IDimVx >',['../classQuadrature.html',1,'']]] ]; diff --git a/search/classes_e.js b/search/classes_e.js index 936bff6f0..e9d6f9739 100644 --- a/search/classes_e.js +++ b/search/classes_e.js @@ -1,25 +1,25 @@ var searchData= [ - ['rbasissubset_666',['RBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset',1,'PolarSplineFEMPoissonSolver']]], - ['rcelldim_667',['RCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim',1,'PolarSplineFEMPoissonSolver']]], - ['rdimp_668',['RDimP',['../structRDimP.html',1,'']]], - ['rdimprefined_669',['RDimPRefined',['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimr_670',['RDimR',['../structRDimR.html',1,'']]], - ['rdimrrefined_671',['RDimRRefined',['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimt_672',['RDimT',['../structRDimT.html',1,'']]], - ['rdimvp_673',['RDimVp',['../structRDimVp.html',1,'']]], - ['rdimvr_674',['RDimVr',['../structRDimVr.html',1,'']]], - ['rdimvx_675',['RDimVx',['../structRDimVx.html',1,'']]], - ['rdimvy_676',['RDimVy',['../structRDimVy.html',1,'']]], - ['rdimx_677',['RDimX',['../structRDimX.html',1,'']]], - ['rdimxrefined_678',['RDimXRefined',['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html',1,'RefinedDiscreteToCartesian']]], - ['rdimy_679',['RDimY',['../structRDimY.html',1,'']]], - ['rdimyrefined_680',['RDimYRefined',['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html',1,'RefinedDiscreteToCartesian']]], - ['refineddiscretetocartesian_681',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html',1,'']]], - ['restartinitialization_682',['RestartInitialization',['../classRestartInitialization.html',1,'']]], - ['rk2_683',['RK2',['../classRK2.html',1,'']]], - ['rk3_684',['RK3',['../classRK3.html',1,'']]], - ['rk4_685',['RK4',['../classRK4.html',1,'']]], - ['rotationadvectionfieldsimulation_686',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html',1,'']]], - ['rotationsimulation_687',['RotationSimulation',['../classRotationSimulation.html',1,'']]] + ['rbasissubset_581',['RBasisSubset',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RBasisSubset',1,'PolarSplineFEMPoissonSolver']]], + ['rcelldim_582',['RCellDim',['../classPolarSplineFEMPoissonSolver.html#structPolarSplineFEMPoissonSolver_1_1RCellDim',1,'PolarSplineFEMPoissonSolver']]], + ['rdimp_583',['RDimP',['../structRDimP.html',1,'']]], + ['rdimprefined_584',['RDimPRefined',['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimr_585',['RDimR',['../structRDimR.html',1,'']]], + ['rdimrrefined_586',['RDimRRefined',['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimt_587',['RDimT',['../structRDimT.html',1,'']]], + ['rdimvp_588',['RDimVp',['../structRDimVp.html',1,'']]], + ['rdimvr_589',['RDimVr',['../structRDimVr.html',1,'']]], + ['rdimvx_590',['RDimVx',['../structRDimVx.html',1,'']]], + ['rdimvy_591',['RDimVy',['../structRDimVy.html',1,'']]], + ['rdimx_592',['RDimX',['../structRDimX.html',1,'']]], + ['rdimxrefined_593',['RDimXRefined',['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html',1,'RefinedDiscreteToCartesian']]], + ['rdimy_594',['RDimY',['../structRDimY.html',1,'']]], + ['rdimyrefined_595',['RDimYRefined',['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html',1,'RefinedDiscreteToCartesian']]], + ['refineddiscretetocartesian_596',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html',1,'']]], + ['restartinitialization_597',['RestartInitialization',['../classRestartInitialization.html',1,'']]], + ['rk2_598',['RK2',['../classRK2.html',1,'']]], + ['rk3_599',['RK3',['../classRK3.html',1,'']]], + ['rk4_600',['RK4',['../classRK4.html',1,'']]], + ['rotationadvectionfieldsimulation_601',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html',1,'']]], + ['rotationsimulation_602',['RotationSimulation',['../classRotationSimulation.html',1,'']]] ]; diff --git a/search/classes_f.js b/search/classes_f.js index a622b4cef..61a32bb7d 100644 --- a/search/classes_f.js +++ b/search/classes_f.js @@ -1,25 +1,11 @@ var searchData= [ - ['singlemodeperturbinitialization_688',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html',1,'']]], - ['speciesinformation_689',['SpeciesInformation',['../classSpeciesInformation.html',1,'']]], - ['spline1d_690',['Spline1D',['../classdeprecated_1_1Spline1D.html',1,'deprecated']]], - ['spline2d_691',['Spline2D',['../classdeprecated_1_1Spline2D.html',1,'deprecated']]], - ['splineboundaryvalue_692',['SplineBoundaryValue',['../classSplineBoundaryValue.html',1,'']]], - ['splineboundaryvalue2d_693',['SplineBoundaryValue2D',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue2d_3c_20bspliner_2c_20bsplinep_20_3e_694',['SplineBoundaryValue2D< BSplineR, BSplineP >',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue2d_3c_20bsplinestype1_2c_20bsplinestype2_20_3e_695',['SplineBoundaryValue2D< BSplinesType1, BSplinesType2 >',['../classSplineBoundaryValue2D.html',1,'']]], - ['splineboundaryvalue_3c_20bsplinestype_20_3e_696',['SplineBoundaryValue< BSplinesType >',['../classSplineBoundaryValue.html',1,'']]], - ['splinebuilder_697',['SplineBuilder',['../classSplineBuilder.html',1,'']]], - ['splinebuilder1d_698',['SplineBuilder1D',['../classdeprecated_1_1SplineBuilder1D.html',1,'deprecated']]], - ['splinebuilder2d_699',['SplineBuilder2D',['../classdeprecated_1_1SplineBuilder2D.html',1,'deprecated::SplineBuilder2D'],['../classSplineBuilder2D.html',1,'SplineBuilder2D< SplineBuilder1, SplineBuilder2 >']]], - ['splineerrorbounds_700',['SplineErrorBounds',['../classSplineErrorBounds.html',1,'']]], - ['splineevaluator_701',['SplineEvaluator',['../classSplineEvaluator.html',1,'']]], - ['splineevaluator2d_702',['SplineEvaluator2D',['../classSplineEvaluator2D.html',1,'']]], - ['splineevaluator2d_3c_20bspliner_2c_20bsplinep_20_3e_703',['SplineEvaluator2D< BSplineR, BSplineP >',['../classSplineEvaluator2D.html',1,'']]], - ['splinefootfinder_704',['SplineFootFinder',['../classSplineFootFinder.html',1,'']]], - ['splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_705',['SplineFootFinder< Euler, AdvectionDomain >',['../classSplineFootFinder.html',1,'']]], - ['splineinterpolatorbatched_706',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html',1,'']]], - ['splineinterpolatorrp_707',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html',1,'']]], - ['splitrighthandsidesolver_708',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html',1,'']]], - ['splitvlasovsolver_709',['SplitVlasovSolver',['../classSplitVlasovSolver.html',1,'']]] + ['singlemodeperturbinitialization_603',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html',1,'']]], + ['speciesinformation_604',['SpeciesInformation',['../classSpeciesInformation.html',1,'']]], + ['splinefootfinder_605',['SplineFootFinder',['../classSplineFootFinder.html',1,'']]], + ['splinefootfinder_3c_20euler_2c_20advectiondomain_20_3e_606',['SplineFootFinder< Euler, AdvectionDomain >',['../classSplineFootFinder.html',1,'']]], + ['splineinterpolatorbatched_607',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html',1,'']]], + ['splineinterpolatorrp_608',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html',1,'']]], + ['splitrighthandsidesolver_609',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html',1,'']]], + ['splitvlasovsolver_610',['SplitVlasovSolver',['../classSplitVlasovSolver.html',1,'']]] ]; diff --git a/search/files_0.js b/search/files_0.js index 98e1c3ff2..7a888838c 100644 --- a/search/files_0.js +++ b/search/files_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['compute_5fnorms_2ehpp_730',['compute_norms.hpp',['../compute__norms_8hpp.html',1,'']]] + ['compute_5fnorms_2ehpp_630',['compute_norms.hpp',['../compute__norms_8hpp.html',1,'']]] ]; diff --git a/search/files_1.js b/search/files_1.js index 3118bf770..ca38c34b2 100644 --- a/search/files_1.js +++ b/search/files_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['neumann_5fspline_5fquadrature_2ehpp_731',['neumann_spline_quadrature.hpp',['../neumann__spline__quadrature_8hpp.html',1,'']]] + ['neumann_5fspline_5fquadrature_2ehpp_631',['neumann_spline_quadrature.hpp',['../neumann__spline__quadrature_8hpp.html',1,'']]] ]; diff --git a/search/files_2.js b/search/files_2.js index 298bbb214..eefeb071a 100644 --- a/search/files_2.js +++ b/search/files_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['quadrature_5fcoeffs_5fnd_2ehpp_732',['quadrature_coeffs_nd.hpp',['../quadrature__coeffs__nd_8hpp.html',1,'']]] + ['quadrature_5fcoeffs_5fnd_2ehpp_632',['quadrature_coeffs_nd.hpp',['../quadrature__coeffs__nd_8hpp.html',1,'']]] ]; diff --git a/search/files_3.js b/search/files_3.js index 1f6cc9d32..6f821af16 100644 --- a/search/files_3.js +++ b/search/files_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['spline_5fquadrature_2ehpp_733',['spline_quadrature.hpp',['../spline__quadrature_8hpp.html',1,'']]] + ['spline_5fquadrature_2ehpp_633',['spline_quadrature.hpp',['../spline__quadrature_8hpp.html',1,'']]] ]; diff --git a/search/files_4.js b/search/files_4.js index f64804b90..48e3bea0a 100644 --- a/search/files_4.js +++ b/search/files_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['trapezoid_5fquadrature_2ehpp_734',['trapezoid_quadrature.hpp',['../trapezoid__quadrature_8hpp.html',1,'']]] + ['trapezoid_5fquadrature_2ehpp_634',['trapezoid_quadrature.hpp',['../trapezoid__quadrature_8hpp.html',1,'']]] ]; diff --git a/search/files_5.js b/search/files_5.js index 0c957cde3..9ee0983a9 100644 --- a/search/files_5.js +++ b/search/files_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['utils_5ftools_2ehpp_735',['utils_tools.hpp',['../utils__tools_8hpp.html',1,'']]] + ['utils_5ftools_2ehpp_635',['utils_tools.hpp',['../utils__tools_8hpp.html',1,'']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index c435872e6..657d4d481 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,14 +1,14 @@ var searchData= [ - ['advect_5ffeet_736',['advect_feet',['../classAdvectionPhysicalDomain.html#ae142f47494fe70592b870147ab7faf26',1,'AdvectionPhysicalDomain::advect_feet()'],['../classAdvectionPseudoCartesianDomain.html#a7dc2ab61b47cc4362390dd1811bc9f0e',1,'AdvectionPseudoCartesianDomain::advect_feet()']]], - ['advectionfield_5fdecentred_5frotation_737',['AdvectionField_decentred_rotation',['../classAdvectionField__decentred__rotation.html#aa438ce9f694bb80d1dc86a99bc59913c',1,'AdvectionField_decentred_rotation']]], - ['advectionfield_5frotation_738',['AdvectionField_rotation',['../classAdvectionField__rotation.html#aff8b4a078b9e417ae46bb6571790c7ba',1,'AdvectionField_rotation']]], - ['advectionfield_5ftranslation_739',['AdvectionField_translation',['../classAdvectionField__translation.html#a77d512ab8cb0b4a4d8612228417bcdf3',1,'AdvectionField_translation']]], - ['advectionfieldfinder_740',['AdvectionFieldFinder',['../classAdvectionFieldFinder.html#a3086cce87c971e57d63e4ee31c0dadb6',1,'AdvectionFieldFinder']]], - ['advectionfieldsimulation_741',['AdvectionFieldSimulation',['../classAdvectionFieldSimulation.html#ac2a1446ee931ce85527fddebfeb5de25',1,'AdvectionFieldSimulation']]], - ['advectionphysicaldomain_742',['AdvectionPhysicalDomain',['../classAdvectionPhysicalDomain.html#ad1382f8d20297da25bf969fc39937fbe',1,'AdvectionPhysicalDomain']]], - ['advectionpseudocartesiandomain_743',['AdvectionPseudoCartesianDomain',['../classAdvectionPseudoCartesianDomain.html#a26a6a33a31e82fe318360de94e20262d',1,'AdvectionPseudoCartesianDomain']]], - ['advectionsimulation_744',['AdvectionSimulation',['../classAdvectionSimulation.html#abfc8f70e716c6239c19d1da949349e33',1,'AdvectionSimulation']]], - ['analytical_5fto_5fdiscrete_745',['analytical_to_discrete',['../classDiscreteToCartesian.html#aa6f79a79fd0d58ef8d43a9a48adfd4fd',1,'DiscreteToCartesian']]], - ['analytical_5fto_5frefined_746',['analytical_to_refined',['../classRefinedDiscreteToCartesian.html#a436c63b85e409010d739f613a1d69741',1,'RefinedDiscreteToCartesian']]] + ['advect_5ffeet_636',['advect_feet',['../classAdvectionPhysicalDomain.html#ae142f47494fe70592b870147ab7faf26',1,'AdvectionPhysicalDomain::advect_feet()'],['../classAdvectionPseudoCartesianDomain.html#a7dc2ab61b47cc4362390dd1811bc9f0e',1,'AdvectionPseudoCartesianDomain::advect_feet()']]], + ['advectionfield_5fdecentred_5frotation_637',['AdvectionField_decentred_rotation',['../classAdvectionField__decentred__rotation.html#aa438ce9f694bb80d1dc86a99bc59913c',1,'AdvectionField_decentred_rotation']]], + ['advectionfield_5frotation_638',['AdvectionField_rotation',['../classAdvectionField__rotation.html#aff8b4a078b9e417ae46bb6571790c7ba',1,'AdvectionField_rotation']]], + ['advectionfield_5ftranslation_639',['AdvectionField_translation',['../classAdvectionField__translation.html#a77d512ab8cb0b4a4d8612228417bcdf3',1,'AdvectionField_translation']]], + ['advectionfieldfinder_640',['AdvectionFieldFinder',['../classAdvectionFieldFinder.html#a3086cce87c971e57d63e4ee31c0dadb6',1,'AdvectionFieldFinder']]], + ['advectionfieldsimulation_641',['AdvectionFieldSimulation',['../classAdvectionFieldSimulation.html#ac2a1446ee931ce85527fddebfeb5de25',1,'AdvectionFieldSimulation']]], + ['advectionphysicaldomain_642',['AdvectionPhysicalDomain',['../classAdvectionPhysicalDomain.html#ad1382f8d20297da25bf969fc39937fbe',1,'AdvectionPhysicalDomain']]], + ['advectionpseudocartesiandomain_643',['AdvectionPseudoCartesianDomain',['../classAdvectionPseudoCartesianDomain.html#a26a6a33a31e82fe318360de94e20262d',1,'AdvectionPseudoCartesianDomain']]], + ['advectionsimulation_644',['AdvectionSimulation',['../classAdvectionSimulation.html#abfc8f70e716c6239c19d1da949349e33',1,'AdvectionSimulation']]], + ['analytical_5fto_5fdiscrete_645',['analytical_to_discrete',['../classDiscreteToCartesian.html#a249891c4351f41b99630594efedafabb',1,'DiscreteToCartesian']]], + ['analytical_5fto_5frefined_646',['analytical_to_refined',['../classRefinedDiscreteToCartesian.html#a0b3349bb1ae9dd6fd6f9e92ee058646f',1,'RefinedDiscreteToCartesian']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 8b9286b78..f7c21fd63 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,10 +1,10 @@ var searchData= [ - ['bsladvectionrp_747',['BslAdvectionRP',['../classBslAdvectionRP.html#a1625a858ae285a69f801c8400df039fe',1,'BslAdvectionRP']]], - ['bsladvectionspatialbatched_748',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db',1,'BslAdvectionSpatialBatched']]], - ['bsladvectionvelocitybatched_749',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e',1,'BslAdvectionVelocityBatched']]], - ['bslexplicitpredcorrrp_750',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html#ad5ebb8d18489eaf101db816f8187d5bc',1,'BslExplicitPredCorrRP']]], - ['bslimplicitpredcorrrp_751',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html#a85e452a6d8a3bfcbbd94e671179135ab',1,'BslImplicitPredCorrRP']]], - ['bslpredcorrrp_752',['BslPredCorrRP',['../classBslPredCorrRP.html#ad59df29ecec81d37cd221b9bff3b96e7',1,'BslPredCorrRP']]], - ['bumpontailequilibrium_753',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium']]] + ['bsladvectionrp_647',['BslAdvectionRP',['../classBslAdvectionRP.html#a977b86e07de90942c18e1af5428f59c8',1,'BslAdvectionRP']]], + ['bsladvectionspatialbatched_648',['BslAdvectionSpatialBatched',['../classBslAdvectionSpatialBatched.html#a7624ca0ab7725f0fd3aa9c4c481887db',1,'BslAdvectionSpatialBatched']]], + ['bsladvectionvelocitybatched_649',['BslAdvectionVelocityBatched',['../classBslAdvectionVelocityBatched.html#a32981c4c8a44bf431a6170872668661e',1,'BslAdvectionVelocityBatched']]], + ['bslexplicitpredcorrrp_650',['BslExplicitPredCorrRP',['../classBslExplicitPredCorrRP.html#a08e13f4e1ce35d6962b4e73fce3580c4',1,'BslExplicitPredCorrRP']]], + ['bslimplicitpredcorrrp_651',['BslImplicitPredCorrRP',['../classBslImplicitPredCorrRP.html#ad068d165e927773fc85c5b06c267ea2f',1,'BslImplicitPredCorrRP']]], + ['bslpredcorrrp_652',['BslPredCorrRP',['../classBslPredCorrRP.html#a4a6c5378bd5ea4f7f8dfb3e2088cd12a',1,'BslPredCorrRP']]], + ['bumpontailequilibrium_653',['BumpontailEquilibrium',['../classBumpontailEquilibrium.html#ae9e416e1ecca5bbacacb03e68e6c8dfe',1,'BumpontailEquilibrium']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index 5d8e189d1..5df0bd6b8 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -1,5 +1,5 @@ var searchData= [ - ['quadrature_886',['Quadrature',['../classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755',1,'Quadrature']]], - ['quadrature_5fcoeffs_5fnd_887',['quadrature_coeffs_nd',['../quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d',1,'quadrature_coeffs_nd.hpp']]] + ['quadrature_776',['Quadrature',['../classQuadrature.html#a6b8f04ab1b97b80a55b478085a276755',1,'Quadrature']]], + ['quadrature_5fcoeffs_5fnd_777',['quadrature_coeffs_nd',['../quadrature__coeffs__nd_8hpp.html#aaef832627a2d4ddc3f8ca6c570f1a46d',1,'quadrature_coeffs_nd.hpp']]] ]; diff --git a/search/functions_11.js b/search/functions_11.js index b931e4e30..4dbce7a5d 100644 --- a/search/functions_11.js +++ b/search/functions_11.js @@ -1,10 +1,10 @@ var searchData= [ - ['refineddiscretetocartesian_888',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html#a71cf6ce493ab0b2d2648bbf37fe0a1b0',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default'],['../classRefinedDiscreteToCartesian.html#ad15636dc573eac8f0822134b87be904a',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default']]], - ['restartinitialization_889',['RestartInitialization',['../classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f',1,'RestartInitialization']]], - ['rk2_890',['RK2',['../classRK2.html#a29590ce29977600f0a17c7cdfcbb3584',1,'RK2']]], - ['rk3_891',['RK3',['../classRK3.html#ab75113e8885dfdbc7c41494db8d2f269',1,'RK3']]], - ['rk4_892',['RK4',['../classRK4.html#a63289a986749f2cffeb0180bb37b8cfa',1,'RK4']]], - ['rotationadvectionfieldsimulation_893',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a',1,'RotationAdvectionFieldSimulation']]], - ['rotationsimulation_894',['RotationSimulation',['../classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd',1,'RotationSimulation']]] + ['refineddiscretetocartesian_778',['RefinedDiscreteToCartesian',['../classRefinedDiscreteToCartesian.html#ae5bba01bd6c921ef16dc603188003936',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian &&x)=default'],['../classRefinedDiscreteToCartesian.html#ae29f077f94f09fc84bd19d45f8e7e225',1,'RefinedDiscreteToCartesian::RefinedDiscreteToCartesian(RefinedDiscreteToCartesian const &x)=default']]], + ['restartinitialization_779',['RestartInitialization',['../classRestartInitialization.html#a9af5fa49fc9e082a38025f5d20db255f',1,'RestartInitialization']]], + ['rk2_780',['RK2',['../classRK2.html#a29590ce29977600f0a17c7cdfcbb3584',1,'RK2']]], + ['rk3_781',['RK3',['../classRK3.html#ab75113e8885dfdbc7c41494db8d2f269',1,'RK3']]], + ['rk4_782',['RK4',['../classRK4.html#a63289a986749f2cffeb0180bb37b8cfa',1,'RK4']]], + ['rotationadvectionfieldsimulation_783',['RotationAdvectionFieldSimulation',['../classRotationAdvectionFieldSimulation.html#a7680c2f088d504f2879865b190c5128a',1,'RotationAdvectionFieldSimulation']]], + ['rotationsimulation_784',['RotationSimulation',['../classRotationSimulation.html#a24cab55207f4b65feffd1255545b92dd',1,'RotationSimulation']]] ]; diff --git a/search/functions_12.js b/search/functions_12.js index 54a93d835..9f95ec90a 100644 --- a/search/functions_12.js +++ b/search/functions_12.js @@ -1,22 +1,18 @@ var searchData= [ - ['set_5fequilibrium_895',['set_equilibrium',['../classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a',1,'VortexMergerEquilibria']]], - ['set_5finitialisation_896',['set_initialisation',['../classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6',1,'VortexMergerDensitySolution']]], - ['singlemodeperturbinitialization_897',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVx fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)'],['../classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVxVy fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)']]], - ['singular_5fdomain_898',['singular_domain',['../classPolarBSplines.html#a2cf37cc5dad9064411b52af942a4f751',1,'PolarBSplines']]], - ['solution_5fat_5fpole_899',['solution_at_pole',['../classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315',1,'ManufacturedPoissonTest']]], - ['solve_5fmatrix_5fsystem_900',['solve_matrix_system',['../classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3',1,'FemNonPeriodicPoissonSolver::solve_matrix_system()'],['../classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077',1,'FemPeriodicPoissonSolver::solve_matrix_system()']]], - ['span_5fcview_901',['span_cview',['../classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3',1,'VectorField::span_cview()'],['../classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c',1,'VectorFieldSpan::span_cview()']]], - ['span_5fview_902',['span_view',['../classVectorField.html#acb9821e3a1405005d7251bfbfea66f89',1,'VectorField::span_view() const'],['../classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b',1,'VectorField::span_view()'],['../classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549',1,'VectorFieldSpan::span_view()']]], - ['spline_5fdomain_903',['spline_domain',['../classSplineBuilder.html#a2d211caa5dd227dd6d05947484d1b6e9',1,'SplineBuilder::spline_domain()'],['../classSplineBuilder2D.html#a10d968260f75240a4be9d38d8c853353',1,'SplineBuilder2D::spline_domain()']]], - ['spline_5fquadrature_5fcoefficients_904',['spline_quadrature_coefficients',['../spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769',1,'spline_quadrature.hpp']]], - ['spline_5fquadrature_5fcoefficients_5f1d_905',['spline_quadrature_coefficients_1d',['../spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b',1,'spline_quadrature.hpp']]], - ['splinebuilder_906',['SplineBuilder',['../classSplineBuilder.html#ad62a92276f053ebdfcc38f1ede5b7198',1,'SplineBuilder::SplineBuilder(SplineBuilder &&x)=default'],['../classSplineBuilder.html#aff30d3c9ee7e83246b37719a0866874c',1,'SplineBuilder::SplineBuilder(SplineBuilder const &x)=delete'],['../classSplineBuilder.html#aa1c79d6ada6f3253febfc994b9a2d55e',1,'SplineBuilder::SplineBuilder(interpolation_domain_type const &interpolation_domain)']]], - ['splinebuilder2d_907',['SplineBuilder2D',['../classSplineBuilder2D.html#aba437ab9712bba5ffa5dc5a88641bde9',1,'SplineBuilder2D::SplineBuilder2D(interpolation_domain_type const &interpolation_domain)'],['../classSplineBuilder2D.html#a49f64925a4092c41f0d2ef47bfee3300',1,'SplineBuilder2D::SplineBuilder2D(SplineBuilder2D const &x)=delete'],['../classSplineBuilder2D.html#a1d58b27d28466b2ea7cee506ad619c5a',1,'SplineBuilder2D::SplineBuilder2D(SplineBuilder2D &&x)=default']]], - ['splineevaluator2d_908',['SplineEvaluator2D',['../classSplineEvaluator2D.html#a8e40a6e9c33c1c2d66ae6e6f5cedf0f8',1,'SplineEvaluator2D::SplineEvaluator2D(SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_2, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_2)'],['../classSplineEvaluator2D.html#a3f4db4c81b8bd50014edc7ac2565ac0d',1,'SplineEvaluator2D::SplineEvaluator2D(SplineEvaluator2D const &x)=default'],['../classSplineEvaluator2D.html#a6835911453688bae264dd2669f1bd9b7',1,'SplineEvaluator2D::SplineEvaluator2D(SplineEvaluator2D &&x)=default']]], - ['splinefootfinder_909',['SplineFootFinder',['../classSplineFootFinder.html#a2250f61945c089d58d3d30cb555aa739',1,'SplineFootFinder']]], - ['splineinterpolatorbatched_910',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709',1,'SplineInterpolatorBatched']]], - ['splineinterpolatorrp_911',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html#abe1253b38fc582c49d9f0ac08ef8b013',1,'SplineInterpolatorRP']]], - ['splitrighthandsidesolver_912',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac',1,'SplitRightHandSideSolver']]], - ['splitvlasovsolver_913',['SplitVlasovSolver',['../classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5',1,'SplitVlasovSolver']]] + ['set_5fequilibrium_785',['set_equilibrium',['../classVortexMergerEquilibria.html#a53ee133eae7bbe78998ff78e0988ab0a',1,'VortexMergerEquilibria']]], + ['set_5finitialisation_786',['set_initialisation',['../classVortexMergerDensitySolution.html#a3a24dd7ac0324005ca912ac05b54d0d6',1,'VortexMergerDensitySolution']]], + ['singlemodeperturbinitialization_787',['SingleModePerturbInitialization',['../classSingleModePerturbInitialization.html#ad7471b3f7288ab5653f379d558fa25fb',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVx fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)'],['../classSingleModePerturbInitialization.html#aef128356778a0db7ba7b83cc598bc098',1,'SingleModePerturbInitialization::SingleModePerturbInitialization(DViewSpVxVy fequilibrium, host_t< ViewSp< int >> init_perturb_mode, host_t< DViewSp > init_perturb_amplitude)']]], + ['singular_5fdomain_788',['singular_domain',['../classPolarBSplines.html#a2cf37cc5dad9064411b52af942a4f751',1,'PolarBSplines']]], + ['solution_5fat_5fpole_789',['solution_at_pole',['../classManufacturedPoissonTest.html#a9aac013116d3c04b11cdef64cd870315',1,'ManufacturedPoissonTest']]], + ['solve_5fmatrix_5fsystem_790',['solve_matrix_system',['../classFemNonPeriodicPoissonSolver.html#abaa0734fbede404207a0d0d86f4877a3',1,'FemNonPeriodicPoissonSolver::solve_matrix_system()'],['../classFemPeriodicPoissonSolver.html#a1171c23c91e33a1f5b0eff6d5b48d077',1,'FemPeriodicPoissonSolver::solve_matrix_system()']]], + ['span_5fcview_791',['span_cview',['../classVectorField.html#ae5421322e080a9f2ae63ff7796da6ed3',1,'VectorField::span_cview()'],['../classVectorFieldSpan.html#ac9835c4b3c61102263bc404c948c551c',1,'VectorFieldSpan::span_cview()'],['../structPolarSpline.html#a2dac921360e8a966e00b0785621d69fb',1,'PolarSpline::span_cview()'],['../structPolarSplineSpan.html#ad047ad16e073fb9b8aa58f1b8de2687c',1,'PolarSplineSpan::span_cview()'],['../structPolarSplineView.html#a6980452d50ebf203530137aa11a679d8',1,'PolarSplineView::span_cview()']]], + ['span_5fview_792',['span_view',['../classVectorField.html#acb9821e3a1405005d7251bfbfea66f89',1,'VectorField::span_view()'],['../structPolarSplineView.html#a6e770098a5de395d0d7abaf7f338dcb6',1,'PolarSplineView::span_view()'],['../structPolarSplineSpan.html#a70a68be0eda4182137ada4b7c294a6b7',1,'PolarSplineSpan::span_view()'],['../structPolarSpline.html#a6db588a681ff0c344625d6eb7111ca99',1,'PolarSpline::span_view()'],['../classVectorFieldSpan.html#acc499084ae93b3118644c458e16b3549',1,'VectorFieldSpan::span_view()'],['../classVectorField.html#a40800a9ffc0b36a09ae8154aac00759b',1,'VectorField::span_view()']]], + ['spline_5fquadrature_5fcoefficients_793',['spline_quadrature_coefficients',['../spline__quadrature_8hpp.html#ac8ac1fec63f5a595332f7adf4ca2e769',1,'spline_quadrature.hpp']]], + ['spline_5fquadrature_5fcoefficients_5f1d_794',['spline_quadrature_coefficients_1d',['../spline__quadrature_8hpp.html#aa3abf38dc419ac6e23450295ca023e8b',1,'spline_quadrature.hpp']]], + ['splinefootfinder_795',['SplineFootFinder',['../classSplineFootFinder.html#a3da5df4e45c0771002568987d24f922c',1,'SplineFootFinder']]], + ['splineinterpolatorbatched_796',['SplineInterpolatorBatched',['../classSplineInterpolatorBatched.html#a21f161c7fb12708a1f6fbee8bef67709',1,'SplineInterpolatorBatched']]], + ['splineinterpolatorrp_797',['SplineInterpolatorRP',['../classSplineInterpolatorRP.html#a527491e617038baf55192cd315f08187',1,'SplineInterpolatorRP']]], + ['splitrighthandsidesolver_798',['SplitRightHandSideSolver',['../classSplitRightHandSideSolver.html#a0437ce68ef4e58edc866392b429bd1ac',1,'SplitRightHandSideSolver']]], + ['splitvlasovsolver_799',['SplitVlasovSolver',['../classSplitVlasovSolver.html#ae7bc383bc8b9884a4a04f27322c7dde5',1,'SplitVlasovSolver']]] ]; diff --git a/search/functions_13.js b/search/functions_13.js index 003f48496..95568f556 100644 --- a/search/functions_13.js +++ b/search/functions_13.js @@ -1,16 +1,16 @@ var searchData= [ - ['temperature_5fbot_914',['temperature_bot',['../classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8',1,'BumpontailEquilibrium']]], - ['temperature_5feq_915',['temperature_eq',['../classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0',1,'MaxwellianEquilibrium::temperature_eq() const'],['../classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51',1,'MaxwellianEquilibrium::temperature_eq() const']]], - ['tensor_5fbspline_5fdomain_916',['tensor_bspline_domain',['../classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633',1,'PolarBSplines::Impl']]], - ['to_5fcovariant_917',['to_covariant',['../classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664',1,'Curvilinear2DToCartesian']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f11_5fcenter_918',['to_pseudo_cartesian_jacobian_11_center',['../classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classDiscreteToCartesian.html#aae9a0fdd75d4eb4b3e41f5a29c7617b5',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classRefinedDiscreteToCartesian.html#a416da5763f9fbc1102116d87a9d16406',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f12_5fcenter_919',['to_pseudo_cartesian_jacobian_12_center',['../classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classDiscreteToCartesian.html#ace0bcbe9dc37e8aa5d248ca2fdee3158',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classRefinedDiscreteToCartesian.html#afc5ed6dcc2450da218198df4ce5d99db',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f21_5fcenter_920',['to_pseudo_cartesian_jacobian_21_center',['../classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classRefinedDiscreteToCartesian.html#aae2b4b51ccbf6904311b898cf6294697',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classDiscreteToCartesian.html#a1132f1474ca6b5c3ff27398ab7ed18a5',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_21_center(Domain const &grid) const']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5f22_5fcenter_921',['to_pseudo_cartesian_jacobian_22_center',['../classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classDiscreteToCartesian.html#a2dae457c21862f95bf41773e3b87a79f',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classRefinedDiscreteToCartesian.html#aed3ea390d002eebaa27fde9077fd9fc8',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()']]], - ['to_5fpseudo_5fcartesian_5fjacobian_5fcenter_5fmatrix_922',['to_pseudo_cartesian_jacobian_center_matrix',['../classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classDiscreteToCartesian.html#ac835fa42f73cd1018f7d3b40bce558b2',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classRefinedDiscreteToCartesian.html#ad036c1e505c4f6aff7c898f8780b4aae',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()']]], - ['translationadvectionfieldsimulation_923',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272',1,'TranslationAdvectionFieldSimulation']]], - ['translationsimulation_924',['TranslationSimulation',['../classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1',1,'TranslationSimulation']]], - ['trapezoid_5fquadrature_5fcoefficients_925',['trapezoid_quadrature_coefficients',['../trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9',1,'trapezoid_quadrature.hpp']]], - ['trapezoid_5fquadrature_5fcoefficients_5f1d_926',['trapezoid_quadrature_coefficients_1d',['../trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf',1,'trapezoid_quadrature.hpp']]] + ['temperature_5fbot_800',['temperature_bot',['../classBumpontailEquilibrium.html#aa96295ff0b0e3f60f29c53eb2c5c9fe8',1,'BumpontailEquilibrium']]], + ['temperature_5feq_801',['temperature_eq',['../classMaxwellianEquilibrium.html#a4f4cfdcb7499198d67ab12ffb6b1c1b0',1,'MaxwellianEquilibrium::temperature_eq() const'],['../classMaxwellianEquilibrium.html#aa97a6ffa2d60eef457be47111d2c9a51',1,'MaxwellianEquilibrium::temperature_eq() const']]], + ['tensor_5fbspline_5fdomain_802',['tensor_bspline_domain',['../classPolarBSplines_1_1Impl.html#a412a4c73ac266736193b63b48bbf3633',1,'PolarBSplines::Impl']]], + ['to_5fcovariant_803',['to_covariant',['../classCurvilinear2DToCartesian.html#afaa5cd40c5d7e3c63574ab4d7055d664',1,'Curvilinear2DToCartesian']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f11_5fcenter_804',['to_pseudo_cartesian_jacobian_11_center',['../classCircularToCartesian.html#a06f85c9ae89ac993b965b06ef7bd0f08',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classCzarnyToCartesian.html#a84ec08478d0b1d1c48a5ee35db95e045',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classDiscreteToCartesian.html#a07c73338061696ea437f46f81d7a76a4',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()'],['../classRefinedDiscreteToCartesian.html#a2db78ed9508f2ba5653cbbae7a5fe0b1',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_11_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f12_5fcenter_805',['to_pseudo_cartesian_jacobian_12_center',['../classCircularToCartesian.html#a4b84c78508b9a9ac25396f7b91516b3f',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classCzarnyToCartesian.html#a07b7db6f8b4cdc17d8370eb59d96f78a',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classDiscreteToCartesian.html#a5e057de7bd71315b89e0c1b833d60658',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()'],['../classRefinedDiscreteToCartesian.html#a9ccad9ea32431d2129672501ef9ae453',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_12_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f21_5fcenter_806',['to_pseudo_cartesian_jacobian_21_center',['../classCzarnyToCartesian.html#a4754c0affa17788b8ccf334a3b0381d1',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classRefinedDiscreteToCartesian.html#a0f14e02728459802da5197828535c1e2',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classDiscreteToCartesian.html#a9bb82bca2da44831a78f7f6850a7616a',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_21_center()'],['../classCircularToCartesian.html#a17478cc4963e6d7b61ae5e0901e709af',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_21_center(Domain const &grid) const']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5f22_5fcenter_807',['to_pseudo_cartesian_jacobian_22_center',['../classCircularToCartesian.html#ae517bce60bd0f4f2607256aa68bc8bdc',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classCzarnyToCartesian.html#ae3a46cd66ea71ffc5d90196ac10e6689',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classDiscreteToCartesian.html#ae1bf31c827fc3abbf866d77068a93367',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()'],['../classRefinedDiscreteToCartesian.html#a663d2043b6fd23ddbb86815f70f8edf4',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_22_center()']]], + ['to_5fpseudo_5fcartesian_5fjacobian_5fcenter_5fmatrix_808',['to_pseudo_cartesian_jacobian_center_matrix',['../classCircularToCartesian.html#a7753cb50b18b61199e2918835563082a',1,'CircularToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classCzarnyToCartesian.html#abd182453880bc399e4cf03178275a0fc',1,'CzarnyToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classDiscreteToCartesian.html#a096a8b63f61587613c8022ebadbdda0e',1,'DiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()'],['../classRefinedDiscreteToCartesian.html#a188b82d80a44d2d7cdda04c6dce91690',1,'RefinedDiscreteToCartesian::to_pseudo_cartesian_jacobian_center_matrix()']]], + ['translationadvectionfieldsimulation_809',['TranslationAdvectionFieldSimulation',['../classTranslationAdvectionFieldSimulation.html#aa89e869c6d580ce70c186d3a3ec99272',1,'TranslationAdvectionFieldSimulation']]], + ['translationsimulation_810',['TranslationSimulation',['../classTranslationSimulation.html#a93ef880e4bde7812610f07198d620be1',1,'TranslationSimulation']]], + ['trapezoid_5fquadrature_5fcoefficients_811',['trapezoid_quadrature_coefficients',['../trapezoid__quadrature_8hpp.html#a9b37968b97363d75ad6401309016c8f9',1,'trapezoid_quadrature.hpp']]], + ['trapezoid_5fquadrature_5fcoefficients_5f1d_812',['trapezoid_quadrature_coefficients_1d',['../trapezoid__quadrature_8hpp.html#a73588b65e152caa528b76e0906b82ccf',1,'trapezoid_quadrature.hpp']]] ]; diff --git a/search/functions_14.js b/search/functions_14.js index 24273c386..3a4fd20d6 100644 --- a/search/functions_14.js +++ b/search/functions_14.js @@ -1,4 +1,4 @@ var searchData= [ - ['update_927',['update',['../classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2',1,'CrankNicolson::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8',1,'Euler::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a20ceb8499822225f00079922405d9dad',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK2.html#aa215475ac2ff63e25d2451175cff5759',1,'RK2::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#af634097606b3d5f2b54ca3311561ecc1',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK3.html#ab45cc74d736d44303fb755d77976bf14',1,'RK3::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK4.html#a46286b1d28894b90593a2aee6dca725d',1,'RK4::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#af9fdd4103da9b230c52730671abea3d6',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const']]] + ['update_813',['update',['../classCrankNicolson.html#a32ec24437204217997fa7f7da514bcb2',1,'CrankNicolson::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a55cb75c920e5ee4791900c1f7f71bc7f',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classCrankNicolson.html#a4c6d1054d1bc55d3319f47b93bc73e63',1,'CrankNicolson::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classEuler.html#ab0df03fe21a6b3894fb88d3119ed88f8',1,'Euler::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a20ceb8499822225f00079922405d9dad',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classEuler.html#a5af55f31f2b26e3122ef42c6fce49b14',1,'Euler::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK2.html#aa215475ac2ff63e25d2451175cff5759',1,'RK2::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#a44c1f10dc1b14ad6dbad54cd596704f4',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK2.html#af634097606b3d5f2b54ca3311561ecc1',1,'RK2::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK3.html#ab45cc74d736d44303fb755d77976bf14',1,'RK3::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a41b039f09ee3dd37f2a21d9e4a6a518e',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK3.html#a95b8128c3df2bf35ec9634e83c505aa9',1,'RK3::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const'],['../classRK4.html#a46286b1d28894b90593a2aee6dca725d',1,'RK4::update(ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#af9fdd4103da9b230c52730671abea3d6',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy) const'],['../classRK4.html#ac7833aa189d7b72aad7dccdf0b8957f9',1,'RK4::update(ExecSpace const &exec_space, ValSpan y, double dt, std::function< void(DerivSpan, ValView)> dy, std::function< void(ValSpan, DerivView, double)> y_update) const']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index 35e443038..a50651855 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -1,7 +1,7 @@ var searchData= [ - ['vectorfield_928',['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_929',['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)']]], - ['vortexmergerdensitysolution_930',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75',1,'VortexMergerDensitySolution']]], - ['vortexmergerequilibria_931',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html#a797e9f9c68a96d1f73bc7e1c0b1e1d06',1,'VortexMergerEquilibria']]] + ['vectorfield_814',['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_815',['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)']]], + ['vortexmergerdensitysolution_816',['VortexMergerDensitySolution',['../classVortexMergerDensitySolution.html#a75f051a4a9d1ccfee6c1976e4a914c75',1,'VortexMergerDensitySolution']]], + ['vortexmergerequilibria_817',['VortexMergerEquilibria',['../classVortexMergerEquilibria.html#aee9cf588de7231a419e3798c1d72c6c1',1,'VortexMergerEquilibria']]] ]; diff --git a/search/functions_16.js b/search/functions_16.js index 6bd55ccf5..a42fa1823 100644 --- a/search/functions_16.js +++ b/search/functions_16.js @@ -1,5 +1,5 @@ var searchData= [ - ['_7eimpl_932',['~Impl',['../classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf',1,'PolarBSplines::Impl']]], - ['_7evectorfieldspan_933',['~VectorFieldSpan',['../classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b',1,'VectorFieldSpan']]] + ['_7eimpl_818',['~Impl',['../classPolarBSplines_1_1Impl.html#a6c34e52dde8d3a6e3d0ed75e020affaf',1,'PolarBSplines::Impl']]], + ['_7evectorfieldspan_819',['~VectorFieldSpan',['../classVectorFieldSpan.html#a89cfd62b5379f8ecddc0034a95a7087b',1,'VectorFieldSpan']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 09b935e3d..1bce64005 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,27 +1,25 @@ var searchData= [ - ['cartesiansolution_754',['CartesianSolution',['../classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1',1,'CartesianSolution']]], - ['charge_755',['charge',['../classSpeciesInformation_1_1Impl.html#af259b7e3f75193999f7580368dc92093',1,'SpeciesInformation::Impl']]], - ['chargedensitycalculator_756',['ChargeDensityCalculator',['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)']]], - ['charges_757',['charges',['../classSpeciesInformation_1_1Impl.html#a6fa19e2bcac84772f4de38323e4430e3',1,'SpeciesInformation::Impl']]], - ['circulartocartesian_758',['CircularToCartesian',['../classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian const &other)=default'],['../classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian &&x)=default']]], - ['collisions_759',['Collisions',['../classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96',1,'Collisions']]], - ['collisionsguard_760',['CollisionsGuard',['../classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8',1,'CollisionsGuard']]], - ['collisionsinter_761',['CollisionsInter',['../classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647',1,'CollisionsInter']]], - ['collisionsintra_762',['CollisionsIntra',['../classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34',1,'CollisionsIntra']]], - ['compute_5fadvection_5ffield_763',['compute_advection_field',['../classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351',1,'AdvectionPhysicalDomain::compute_advection_field()'],['../classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404',1,'AdvectionPseudoCartesianDomain::compute_advection_field()']]], - ['compute_5fcoeffs_5fon_5fmapping_764',['compute_coeffs_on_mapping',['../compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba',1,'compute_norms.hpp']]], - ['compute_5fl1_5fnorm_765',['compute_L1_norm',['../compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52',1,'compute_norms.hpp']]], - ['compute_5fl2_5fnorm_766',['compute_L2_norm',['../compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8',1,'compute_norms.hpp']]], - ['compute_5fmatrix_5fcoeff_767',['compute_matrix_coeff',['../classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0',1,'CollisionsIntra']]], - ['compute_5fmaxwellian_768',['compute_maxwellian',['../classMaxwellianEquilibrium.html#a72f9f23f4753028c745d92b6512afd0e',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVxVy const fMaxwellian, double const density, double const temperature, double const mean_velocity)'],['../classMaxwellianEquilibrium.html#a3e23dd1e866fe57900314cca7f6c1ec9',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVx const fMaxwellian, double const density, double const temperature, double const mean_velocity)']]], - ['compute_5frhs_5fvector_769',['compute_rhs_vector',['../classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40',1,'CollisionsIntra']]], - ['compute_5ftwomaxwellian_770',['compute_twomaxwellian',['../classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e',1,'BumpontailEquilibrium']]], - ['constantextrapolationboundaryvalue_771',['ConstantExtrapolationBoundaryValue',['../classConstantExtrapolationBoundaryValue.html#ad8756c3fca7296f63a606b171cabe682',1,'ConstantExtrapolationBoundaryValue']]], - ['constantextrapolationboundaryvalue2d_772',['ConstantExtrapolationBoundaryValue2D',['../classConstantExtrapolationBoundaryValue2D.html#ab4eb4f906370d95343681984c1286539',1,'ConstantExtrapolationBoundaryValue2D::ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc, coord_type_no_bc const eval_pos_no_bc_min, coord_type_no_bc const eval_pos_no_bc_max)'],['../classConstantExtrapolationBoundaryValue2D.html#ade982cfc826992a284c102549a553638',1,'ConstantExtrapolationBoundaryValue2D::ConstantExtrapolationBoundaryValue2D(coord_type_bc const eval_pos_bc)']]], - ['control_5fpoint_773',['control_point',['../classDiscreteToCartesian.html#a37da629bdc955f87e99c5b93f7c869bb',1,'DiscreteToCartesian']]], - ['cranknicolson_774',['CrankNicolson',['../classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f',1,'CrankNicolson']]], - ['curvilinear2dtocartesian_775',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian const &other)=default'],['../classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian &&x)=default']]], - ['curvilinearsolution_776',['CurvilinearSolution',['../classCurvilinearSolution.html#a9675511665b712671f19b17b74749763',1,'CurvilinearSolution']]], - ['czarnytocartesian_777',['CzarnyToCartesian',['../classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d',1,'CzarnyToCartesian::CzarnyToCartesian(double epsilon, double e)'],['../classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian const &other)=default'],['../classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian &&x)=default']]] + ['cartesiansolution_654',['CartesianSolution',['../classCartesianSolution.html#ac149cdb56054369fe9539a2c2c0133e1',1,'CartesianSolution']]], + ['charge_655',['charge',['../classSpeciesInformation_1_1Impl.html#af259b7e3f75193999f7580368dc92093',1,'SpeciesInformation::Impl']]], + ['chargedensitycalculator_656',['ChargeDensityCalculator',['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)'],['../classChargeDensityCalculator.html#a9b209db47e420d108fbb6f329a65bbdf',1,'ChargeDensityCalculator::ChargeDensityCalculator(const ChunkViewType &coeffs)']]], + ['charges_657',['charges',['../classSpeciesInformation_1_1Impl.html#a6fa19e2bcac84772f4de38323e4430e3',1,'SpeciesInformation::Impl']]], + ['circulartocartesian_658',['CircularToCartesian',['../classCircularToCartesian.html#a3645bf526455fc943477bf9bdf3f26e4',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian const &other)=default'],['../classCircularToCartesian.html#aff3665268072fb79e9acf8503e9b38f0',1,'CircularToCartesian::CircularToCartesian(CircularToCartesian &&x)=default']]], + ['collisions_659',['Collisions',['../classCollisions.html#ab13ea70b864ed06ad772cbcdd2c91e96',1,'Collisions']]], + ['collisionsguard_660',['CollisionsGuard',['../classCollisionsGuard.html#a319cfc2fd09a547ff55f1d3daf3261f8',1,'CollisionsGuard']]], + ['collisionsinter_661',['CollisionsInter',['../classCollisionsInter.html#a17b3fd2997376d30a7d7474bf675b647',1,'CollisionsInter']]], + ['collisionsintra_662',['CollisionsIntra',['../classCollisionsIntra.html#a7cb44d72275a33044fe1e71f2f4a1d34',1,'CollisionsIntra']]], + ['compute_5fadvection_5ffield_663',['compute_advection_field',['../classAdvectionPhysicalDomain.html#a333cc29b34d5cee8059baa19e2a4c351',1,'AdvectionPhysicalDomain::compute_advection_field()'],['../classAdvectionPseudoCartesianDomain.html#a8325203d349ffa5eb2131a9375f8c404',1,'AdvectionPseudoCartesianDomain::compute_advection_field()']]], + ['compute_5fcoeffs_5fon_5fmapping_664',['compute_coeffs_on_mapping',['../compute__norms_8hpp.html#a5a537a7bbe2916d26a2b34247a33a5ba',1,'compute_norms.hpp']]], + ['compute_5fl1_5fnorm_665',['compute_L1_norm',['../compute__norms_8hpp.html#ace1f4a574cc62230bc0a8079acdcba52',1,'compute_norms.hpp']]], + ['compute_5fl2_5fnorm_666',['compute_L2_norm',['../compute__norms_8hpp.html#a9688fb26c1bd5f7c1afd9ed25839b3c8',1,'compute_norms.hpp']]], + ['compute_5fmatrix_5fcoeff_667',['compute_matrix_coeff',['../classCollisionsIntra.html#ac6d702b34d456ecbcb98a6bad2c2efb0',1,'CollisionsIntra']]], + ['compute_5fmaxwellian_668',['compute_maxwellian',['../classMaxwellianEquilibrium.html#a72f9f23f4753028c745d92b6512afd0e',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVxVy const fMaxwellian, double const density, double const temperature, double const mean_velocity)'],['../classMaxwellianEquilibrium.html#a3e23dd1e866fe57900314cca7f6c1ec9',1,'MaxwellianEquilibrium::compute_maxwellian(DSpanVx const fMaxwellian, double const density, double const temperature, double const mean_velocity)']]], + ['compute_5frhs_5fvector_669',['compute_rhs_vector',['../classCollisionsIntra.html#a4792b1f4327c52726ab740f4c475bc40',1,'CollisionsIntra']]], + ['compute_5ftwomaxwellian_670',['compute_twomaxwellian',['../classBumpontailEquilibrium.html#a8b3d639a3f0cc35ac93ec19818bbd86e',1,'BumpontailEquilibrium']]], + ['control_5fpoint_671',['control_point',['../classDiscreteToCartesian.html#a5d6ccb4e18f3ea4546c70261c27e4cf5',1,'DiscreteToCartesian']]], + ['cranknicolson_672',['CrankNicolson',['../classCrankNicolson.html#a2b58f2e418530fa5218d4631b00faa4f',1,'CrankNicolson']]], + ['curvilinear2dtocartesian_673',['Curvilinear2DToCartesian',['../classCurvilinear2DToCartesian.html#a39cdb71fcfd111b9be3679922f99af4d',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian const &other)=default'],['../classCurvilinear2DToCartesian.html#a2c8fc0f9c7810362245073e56c5f09e3',1,'Curvilinear2DToCartesian::Curvilinear2DToCartesian(Curvilinear2DToCartesian &&x)=default']]], + ['curvilinearsolution_674',['CurvilinearSolution',['../classCurvilinearSolution.html#a9675511665b712671f19b17b74749763',1,'CurvilinearSolution']]], + ['czarnytocartesian_675',['CzarnyToCartesian',['../classCzarnyToCartesian.html#aca44b792c19189a6e9d70693cdde739d',1,'CzarnyToCartesian::CzarnyToCartesian(double epsilon, double e)'],['../classCzarnyToCartesian.html#ac941915f34130ee9e42cb306188f2307',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian const &other)=default'],['../classCzarnyToCartesian.html#a39d3002bfb3a3d759823879321da8176',1,'CzarnyToCartesian::CzarnyToCartesian(CzarnyToCartesian &&x)=default']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index c27c5c39d..5f73b6c62 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,15 +1,15 @@ var searchData= [ - ['decentredrotationadvectionfieldsimulation_778',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02',1,'DecentredRotationAdvectionFieldSimulation']]], - ['decentredrotationsimulation_779',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8',1,'DecentredRotationSimulation']]], - ['density_5feq_780',['density_eq',['../classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0',1,'MaxwellianEquilibrium::density_eq() const'],['../classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3',1,'MaxwellianEquilibrium::density_eq() const']]], - ['deriv_5f1_5fand_5f2_781',['deriv_1_and_2',['../classPolarSplineEvaluator.html#aa8f280512a34519fbb3f3dabfc0a1d87',1,'PolarSplineEvaluator::deriv_1_and_2()'],['../classSplineEvaluator2D.html#a68e1e037a75b290490c648c32d7d197f',1,'SplineEvaluator2D::deriv_1_and_2()']]], - ['deriv_5fdim_5f1_782',['deriv_dim_1',['../classPolarSplineEvaluator.html#a41bb228d256a0785988519f9683b100c',1,'PolarSplineEvaluator::deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a0615c3c92b01a46d9c2a7804688af657',1,'PolarSplineEvaluator::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classSplineEvaluator2D.html#ab8309401577bd1bb5f664ba9dc1f29b1',1,'SplineEvaluator2D::deriv_dim_1(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#ae0358adc831ede3cecf877df29328a81',1,'SplineEvaluator2D::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const']]], - ['deriv_5fdim_5f1_5fand_5f2_783',['deriv_dim_1_and_2',['../classPolarSplineEvaluator.html#a6e40a306765075a23ffc64f56a823605',1,'PolarSplineEvaluator::deriv_dim_1_and_2()'],['../classSplineEvaluator2D.html#a7dc8bd0e513453b6b24c62eb1d6c9ba4',1,'SplineEvaluator2D::deriv_dim_1_and_2()']]], - ['deriv_5fdim_5f2_784',['deriv_dim_2',['../classPolarSplineEvaluator.html#a27b0b79479680b3d506184bf1febc231',1,'PolarSplineEvaluator::deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a87a65b0a223262639ba069a9182993bc',1,'PolarSplineEvaluator::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classSplineEvaluator2D.html#a42054a88c7008abd492b360cd65b57e1',1,'SplineEvaluator2D::deriv_dim_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#abacca820d80fb41219658e8984eb7cb7',1,'SplineEvaluator2D::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const']]], - ['derivative_5fx_785',['derivative_x',['../classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8',1,'CartesianSolution']]], - ['derivative_5fy_786',['derivative_y',['../classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969',1,'CartesianSolution']]], - ['diocotrondensitysolution_787',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734',1,'DiocotronDensitySolution']]], - ['discretetocartesian_788',['DiscreteToCartesian',['../classDiscreteToCartesian.html#ae2bc5f7be14ee231156b039074859bab',1,'DiscreteToCartesian']]], - ['display_5ftime_5fdifference_789',['display_time_difference',['../classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a',1,'ITimeSolverRP']]] + ['decentredrotationadvectionfieldsimulation_676',['DecentredRotationAdvectionFieldSimulation',['../classDecentredRotationAdvectionFieldSimulation.html#adc6bccce97b7860d301ca5e3d12b5d02',1,'DecentredRotationAdvectionFieldSimulation']]], + ['decentredrotationsimulation_677',['DecentredRotationSimulation',['../classDecentredRotationSimulation.html#a94d97e6be53cae16d5458fd5c05e46e8',1,'DecentredRotationSimulation']]], + ['density_5feq_678',['density_eq',['../classMaxwellianEquilibrium.html#a0abd62a61de4d0946ed518dc76b7e6c0',1,'MaxwellianEquilibrium::density_eq() const'],['../classMaxwellianEquilibrium.html#a9d987a36ab8c0610b39397b5576da6e3',1,'MaxwellianEquilibrium::density_eq() const']]], + ['deriv_5f1_5fand_5f2_679',['deriv_1_and_2',['../classPolarSplineEvaluator.html#acf859a6e71699daf14b5e7fe6995797e',1,'PolarSplineEvaluator']]], + ['deriv_5fdim_5f1_680',['deriv_dim_1',['../classPolarSplineEvaluator.html#abdb659ded74486dc5d90b41aece39224',1,'PolarSplineEvaluator::deriv_dim_1(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a26c51eff107663001aee27e8285da70d',1,'PolarSplineEvaluator::deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const']]], + ['deriv_5fdim_5f1_5fand_5f2_681',['deriv_dim_1_and_2',['../classPolarSplineEvaluator.html#a81098a11be51318e8172b18983f812bc',1,'PolarSplineEvaluator']]], + ['deriv_5fdim_5f2_682',['deriv_dim_2',['../classPolarSplineEvaluator.html#ab1d9832c70778fabd91dcf990a481001',1,'PolarSplineEvaluator::deriv_dim_2(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#af5de8a13917331a541a20a989b1564a0',1,'PolarSplineEvaluator::deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const']]], + ['derivative_5fx_683',['derivative_x',['../classCartesianSolution.html#a451cd0cae3b100165ad5e7850f0572a8',1,'CartesianSolution']]], + ['derivative_5fy_684',['derivative_y',['../classCartesianSolution.html#a6b7df1d82066dec5c620bddb7369e969',1,'CartesianSolution']]], + ['diocotrondensitysolution_685',['DiocotronDensitySolution',['../classDiocotronDensitySolution.html#a241c1b873cf5fd34a13d79a149fa5734',1,'DiocotronDensitySolution']]], + ['discretetocartesian_686',['DiscreteToCartesian',['../classDiscreteToCartesian.html#aab258ec1dcafc8ee5e162daa5c0ee756',1,'DiscreteToCartesian']]], + ['display_5ftime_5fdifference_687',['display_time_difference',['../classITimeSolverRP.html#aa9b8aa593b80793bd9b8586a6c50dd2a',1,'ITimeSolverRP']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 50fc9533b..454262f12 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,17 +1,17 @@ var searchData= [ - ['e_790',['e',['../classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5',1,'CzarnyToCartesian']]], - ['electrostaticalpotentialsimulation_5fdecentred_5frotation_791',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445',1,'ElectrostaticalPotentialSimulation_decentred_rotation']]], - ['electrostaticalpotentialsimulation_5frotation_792',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc',1,'ElectrostaticalPotentialSimulation_rotation']]], - ['electrostaticalpotentialsimulation_5ftranslation_793',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64',1,'ElectrostaticalPotentialSimulation_translation']]], - ['epsilon_794',['epsilon',['../classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a',1,'CzarnyToCartesian']]], - ['epsilon_5fbot_795',['epsilon_bot',['../classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70',1,'BumpontailEquilibrium']]], - ['equilibrium_796',['equilibrium',['../classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47',1,'DiocotronDensitySolution']]], - ['euler_797',['Euler',['../classEuler.html#a8019703dccd8358b9b221818fa51bdcb',1,'Euler']]], - ['eval_5fbasis_798',['eval_basis',['../classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fp_799',['eval_deriv_p',['../classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fr_800',['eval_deriv_r',['../classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c',1,'PolarBSplines::Impl']]], - ['eval_5fderiv_5fr_5fand_5fp_801',['eval_deriv_r_and_p',['../classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e',1,'PolarBSplines::Impl']]], - ['evaluate_802',['evaluate',['../classLagrange.html#ad527b811b643d250343f3cf19de2be7d',1,'Lagrange']]], - ['exact_5ffeet_803',['exact_feet',['../classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c',1,'AdvectionField::exact_feet()'],['../classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d',1,'AdvectionField_decentred_rotation::exact_feet()'],['../classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e',1,'AdvectionField_translation::exact_feet()'],['../classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e',1,'AdvectionField_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821',1,'ElectrostaticalPotentialSimulation::exact_feet()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d',1,'ElectrostaticalPotentialSimulation_decentred_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909',1,'ElectrostaticalPotentialSimulation_translation::exact_feet()'],['../classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533',1,'ElectrostaticalPotentialSimulation_rotation::exact_feet()']]] + ['e_688',['e',['../classCzarnyToCartesian.html#a4b4f1725b24004e0b0edc124b66396f5',1,'CzarnyToCartesian']]], + ['electrostaticalpotentialsimulation_5fdecentred_5frotation_689',['ElectrostaticalPotentialSimulation_decentred_rotation',['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a6a741279515929335be52f35905b3445',1,'ElectrostaticalPotentialSimulation_decentred_rotation']]], + ['electrostaticalpotentialsimulation_5frotation_690',['ElectrostaticalPotentialSimulation_rotation',['../classElectrostaticalPotentialSimulation__rotation.html#a4c7399b2e5fcb348785d57a09c70d9fc',1,'ElectrostaticalPotentialSimulation_rotation']]], + ['electrostaticalpotentialsimulation_5ftranslation_691',['ElectrostaticalPotentialSimulation_translation',['../classElectrostaticalPotentialSimulation__translation.html#aed3279c83ba2704c2f5e52da4cc7bf64',1,'ElectrostaticalPotentialSimulation_translation']]], + ['epsilon_692',['epsilon',['../classCzarnyToCartesian.html#a9e4ad729fd290d47759637b69b9aa30a',1,'CzarnyToCartesian']]], + ['epsilon_5fbot_693',['epsilon_bot',['../classBumpontailEquilibrium.html#a364f262c4b5d89461566bf23c6ec6e70',1,'BumpontailEquilibrium']]], + ['equilibrium_694',['equilibrium',['../classDiocotronDensitySolution.html#addb4e4b9e22583a0922b16b770841c47',1,'DiocotronDensitySolution']]], + ['euler_695',['Euler',['../classEuler.html#a8019703dccd8358b9b221818fa51bdcb',1,'Euler']]], + ['eval_5fbasis_696',['eval_basis',['../classPolarBSplines_1_1Impl.html#a9e13523e0823f7f8b7d597c8f37bfc2e',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fp_697',['eval_deriv_p',['../classPolarBSplines_1_1Impl.html#a05c6bb8ade860a3a65d78180e89b1b05',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fr_698',['eval_deriv_r',['../classPolarBSplines_1_1Impl.html#a614acb0df422f2e0cc805a53e6f0471c',1,'PolarBSplines::Impl']]], + ['eval_5fderiv_5fr_5fand_5fp_699',['eval_deriv_r_and_p',['../classPolarBSplines_1_1Impl.html#a7cd3cdeacf6a4ea36a5ab7df8eecbb1e',1,'PolarBSplines::Impl']]], + ['evaluate_700',['evaluate',['../classLagrange.html#ad527b811b643d250343f3cf19de2be7d',1,'Lagrange']]], + ['exact_5ffeet_701',['exact_feet',['../classAdvectionField.html#ab0c285eac8fe3ebe600c740149dbdd8c',1,'AdvectionField::exact_feet()'],['../classAdvectionField__decentred__rotation.html#afadcf1aa52017d707a425f1bf579700d',1,'AdvectionField_decentred_rotation::exact_feet()'],['../classAdvectionField__translation.html#a07f7b172dc47150da0b7c865a52dc11e',1,'AdvectionField_translation::exact_feet()'],['../classAdvectionField__rotation.html#a3c60e8cc5684b7c0394b42a5746bd23e',1,'AdvectionField_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation.html#acf93729d91941c8db9f9b73d761f4821',1,'ElectrostaticalPotentialSimulation::exact_feet()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a9a93124e713a5da0c81695f10d723f3d',1,'ElectrostaticalPotentialSimulation_decentred_rotation::exact_feet()'],['../classElectrostaticalPotentialSimulation__translation.html#a93ab63e24d057215cc40e2cdae0fc909',1,'ElectrostaticalPotentialSimulation_translation::exact_feet()'],['../classElectrostaticalPotentialSimulation__rotation.html#af7a04b40f9ba3220367b6b1eebaf6533',1,'ElectrostaticalPotentialSimulation_rotation::exact_feet()']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 7dbb73c96..468c8d354 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,12 +1,12 @@ var searchData= [ - ['femnonperiodicpoissonsolver_804',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4',1,'FemNonPeriodicPoissonSolver']]], - ['femperiodicpoissonsolver_805',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a',1,'FemPeriodicPoissonSolver']]], - ['fftpoissonsolver_806',['FftPoissonSolver',['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)']]], - ['fill_5fmatrix_5fwith_5fcoeff_807',['fill_matrix_with_coeff',['../classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c',1,'CollisionsIntra']]], - ['find_5fequilibrium_808',['find_equilibrium',['../classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091',1,'VortexMergerEquilibria']]], - ['fluidmoments_809',['FluidMoments',['../classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443',1,'FluidMoments']]], - ['full_5fdomain_810',['full_domain',['../classNonUniformBSplines_1_1Impl.html#ac8a6caf50fd6643695e349fc63600008',1,'NonUniformBSplines::Impl::full_domain()'],['../classUniformBSplines_1_1Impl.html#a4ec6f3bfdd493458acbf5db3c2488eec',1,'UniformBSplines::Impl::full_domain()'],['../classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311',1,'PolarBSplines::Impl::full_domain()']]], - ['functiontobeadvected_5fcos_5f4_5felipse_811',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6',1,'FunctionToBeAdvected_cos_4_elipse']]], - ['functiontobeadvected_5fgaussian_812',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360',1,'FunctionToBeAdvected_gaussian']]] + ['femnonperiodicpoissonsolver_702',['FemNonPeriodicPoissonSolver',['../classFemNonPeriodicPoissonSolver.html#ac4823c397f9cfc7a2904da3e6cbb13a4',1,'FemNonPeriodicPoissonSolver']]], + ['femperiodicpoissonsolver_703',['FemPeriodicPoissonSolver',['../classFemPeriodicPoissonSolver.html#a6daece15bbe984f1062593a31b2a478a',1,'FemPeriodicPoissonSolver']]], + ['fftpoissonsolver_704',['FftPoissonSolver',['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)'],['../classFftPoissonSolver.html#af21fa1248a4a7b73e8e8caf1f339f4fd',1,'FftPoissonSolver::FftPoissonSolver(IChargeDensityCalculator const &compute_rho)']]], + ['fill_5fmatrix_5fwith_5fcoeff_705',['fill_matrix_with_coeff',['../classCollisionsIntra.html#ad0dc6d2a1b8acb82d9ec60592ef72e6c',1,'CollisionsIntra']]], + ['find_5fequilibrium_706',['find_equilibrium',['../classVortexMergerEquilibria.html#a8761babf41d8e77ecf9159f142a10091',1,'VortexMergerEquilibria']]], + ['fluidmoments_707',['FluidMoments',['../classFluidMoments.html#a349bb1bca93f384ceea5ce4df7457443',1,'FluidMoments']]], + ['full_5fdomain_708',['full_domain',['../classPolarBSplines_1_1Impl.html#a1119289181a457c98ec8ed1cf0185311',1,'PolarBSplines::Impl']]], + ['functiontobeadvected_5fcos_5f4_5felipse_709',['FunctionToBeAdvected_cos_4_elipse',['../classFunctionToBeAdvected__cos__4__elipse.html#a3b7c4536b840b3c02e61b57b3bfb0ec6',1,'FunctionToBeAdvected_cos_4_elipse']]], + ['functiontobeadvected_5fgaussian_710',['FunctionToBeAdvected_gaussian',['../classFunctionToBeAdvected__gaussian.html#aef3eeccf31077b83bd59c4d83d5ab360',1,'FunctionToBeAdvected_gaussian']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 2f6b3c2b7..24855ed4a 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,21 +1,16 @@ var searchData= [ - ['get_5f2d_5findex_813',['get_2d_index',['../classPolarBSplines.html#a13e723ee1f34689950b4310815a85f6d',1,'PolarBSplines']]], - ['get_5fadvection_5ffield_814',['get_advection_field',['../classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f',1,'AdvectionSimulation::get_advection_field()'],['../classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883',1,'AdvectionFieldSimulation::get_advection_field()']]], - ['get_5famplitudes_815',['get_amplitudes',['../classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0',1,'KrookSourceAdaptive']]], - ['get_5fbuilder_5f1_816',['get_builder_1',['../classSplineBuilder2D.html#ab9e9788616d4be20d309ec04da8e25fe',1,'SplineBuilder2D']]], - ['get_5fbuilder_5f2_817',['get_builder_2',['../classSplineBuilder2D.html#a5a406c6bc3f47c2895963a66c40e5cee',1,'SplineBuilder2D']]], - ['get_5fderivative_818',['get_derivative',['../classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc',1,'CollisionsInter::get_derivative()'],['../classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e',1,'KrookSourceAdaptive::get_derivative()']]], - ['get_5fdomain_819',['get_domain',['../classGrevilleInterpolationPoints.html#a3127b5d6b1760431fa385c1d1c11e605',1,'GrevilleInterpolationPoints::get_domain()'],['../classKnotsAsInterpolationPoints.html#a1546bfe0c37a3a8387219c7f2006798c',1,'KnotsAsInterpolationPoints::get_domain()']]], - ['get_5felectrostatique_5fpotential_820',['get_electrostatique_potential',['../classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371',1,'AdvectionFieldSimulation']]], - ['get_5ffrequency_821',['get_frequency',['../classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd',1,'DiocotronDensitySolution']]], - ['get_5fgridvx_5fghosted_822',['get_gridvx_ghosted',['../classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3',1,'CollisionsIntra']]], - ['get_5fgridvx_5fghosted_5fstaggered_823',['get_gridvx_ghosted_staggered',['../classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532',1,'CollisionsIntra']]], - ['get_5finterpolation_5fmatrix_824',['get_interpolation_matrix',['../classSplineBuilder.html#ab66639ab2f9529f4430ce60320eb9e17',1,'SplineBuilder']]], - ['get_5fmesh_5fghosted_825',['get_mesh_ghosted',['../classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0',1,'CollisionsIntra']]], - ['get_5fnustar0_826',['get_nustar0',['../classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac',1,'CollisionsInter::get_nustar0()'],['../classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8',1,'CollisionsIntra::get_nustar0()']]], - ['get_5fpolar_5findex_827',['get_polar_index',['../classPolarBSplines.html#a7a50973a7a1106e6aad21b23e6ea6112',1,'PolarBSplines']]], - ['get_5fsampling_828',['get_sampling',['../classGrevilleInterpolationPoints.html#a075f0998c6e80de05eb1b8de403551f2',1,'GrevilleInterpolationPoints::get_sampling()'],['../classGrevilleInterpolationPoints.html#a075f0998c6e80de05eb1b8de403551f2',1,'GrevilleInterpolationPoints::get_sampling()'],['../classKnotsAsInterpolationPoints.html#ad5bba376037aaeb3374f7efcfa60cbe9',1,'KnotsAsInterpolationPoints::get_sampling()']]], - ['get_5fslope_829',['get_slope',['../classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62',1,'DiocotronDensitySolution']]], - ['get_5ftest_5ffunction_830',['get_test_function',['../classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0',1,'AdvectionSimulation::get_test_function()'],['../classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d',1,'AdvectionFieldSimulation::get_test_function()']]] + ['get_5f2d_5findex_711',['get_2d_index',['../classPolarBSplines.html#a13e723ee1f34689950b4310815a85f6d',1,'PolarBSplines']]], + ['get_5fadvection_5ffield_712',['get_advection_field',['../classAdvectionSimulation.html#a754d22f275182e9571c7d12414fd7f6f',1,'AdvectionSimulation::get_advection_field()'],['../classAdvectionFieldSimulation.html#a0bc3c0d1829fc8f286c5880848cf4883',1,'AdvectionFieldSimulation::get_advection_field()']]], + ['get_5famplitudes_713',['get_amplitudes',['../classKrookSourceAdaptive.html#a8a429dd473078201e0879422899414c0',1,'KrookSourceAdaptive']]], + ['get_5fderivative_714',['get_derivative',['../classCollisionsInter.html#a42683cdfbd5476e2d01c0b0b6c4d9fcc',1,'CollisionsInter::get_derivative()'],['../classKrookSourceAdaptive.html#a9b406e47034bbf02b16a3a0a43a7207e',1,'KrookSourceAdaptive::get_derivative()']]], + ['get_5felectrostatique_5fpotential_715',['get_electrostatique_potential',['../classAdvectionFieldSimulation.html#a8fa1ef67149e01963ee6a2b79f164371',1,'AdvectionFieldSimulation']]], + ['get_5ffrequency_716',['get_frequency',['../classDiocotronDensitySolution.html#a9a485619ee6cbd2ff396ae8fe2a0a1bd',1,'DiocotronDensitySolution']]], + ['get_5fgridvx_5fghosted_717',['get_gridvx_ghosted',['../classCollisionsIntra.html#a4d0cc51fe8429d6f21e5174b8e3f47b3',1,'CollisionsIntra']]], + ['get_5fgridvx_5fghosted_5fstaggered_718',['get_gridvx_ghosted_staggered',['../classCollisionsIntra.html#a112f2e8ef15375f41b2e5b3b13574532',1,'CollisionsIntra']]], + ['get_5fmesh_5fghosted_719',['get_mesh_ghosted',['../classCollisionsIntra.html#a2d0d4a6ef673d1b08771b589e1522be0',1,'CollisionsIntra']]], + ['get_5fnustar0_720',['get_nustar0',['../classCollisionsInter.html#a0de983fd5f398b17fc7b5c6137f8e8ac',1,'CollisionsInter::get_nustar0()'],['../classCollisionsIntra.html#a6b18fb17a213025672de06d8d6b7cee8',1,'CollisionsIntra::get_nustar0()']]], + ['get_5fpolar_5findex_721',['get_polar_index',['../classPolarBSplines.html#a7a50973a7a1106e6aad21b23e6ea6112',1,'PolarBSplines']]], + ['get_5fslope_722',['get_slope',['../classDiocotronDensitySolution.html#a59c17bab82ed59b39b68750be2f81b62',1,'DiocotronDensitySolution']]], + ['get_5ftest_5ffunction_723',['get_test_function',['../classAdvectionSimulation.html#a532d9d81e03afffdeb8c1b3f83970ed0',1,'AdvectionSimulation::get_test_function()'],['../classAdvectionFieldSimulation.html#aec5983837443c29751c95bb08ec5025d',1,'AdvectionFieldSimulation::get_test_function()']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index 8b8458a4f..94e3aa1d0 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['have_5fconverged_831',['have_converged',['../classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d',1,'CrankNicolson']]] + ['have_5fconverged_724',['have_converged',['../classCrankNicolson.html#a0be1faf244dffbe3dbe2af27f1444e6d',1,'CrankNicolson']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index 77d839ad3..c548244b8 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,17 +1,14 @@ var searchData= [ - ['ielec_832',['ielec',['../classSpeciesInformation_1_1Impl.html#ad069f5667f3d88ab36856bd941c6e937',1,'SpeciesInformation::Impl']]], - ['impl_833',['Impl',['../classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd',1,'PolarBSplines::Impl::Impl(Impl const &x)=default'],['../classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e',1,'PolarBSplines::Impl::Impl(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d',1,'PolarBSplines::Impl::Impl(Impl< OriginMemorySpace > const &impl)'],['../classPolarBSplines_1_1Impl.html#aaed9f0037acefbb5acdecff592114967',1,'PolarBSplines::Impl::Impl(const DiscreteToCartesian< DimX, DimY, SplineBuilder2D< SplineBuilderR, SplineBuilderP >> &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)'],['../classUniformBSplines_1_1Impl.html#a28f27bb74cd250b6ff9508494dd280a9',1,'UniformBSplines::Impl::Impl()'],['../classNonUniformBSplines_1_1Impl.html#add53c595b626c160a4333ee3f8cf8819',1,'NonUniformBSplines::Impl::Impl(RandomIt breaks_begin, RandomIt breaks_end)'],['../classNonUniformBSplines_1_1Impl.html#af49330b0d18915f9bfff5e7a5954d4d2',1,'NonUniformBSplines::Impl::Impl(std::vector< ddc::Coordinate< Tag >> const &breaks)'],['../classNonUniformBSplines_1_1Impl.html#aa401e9626386fee2831742b4a65f867a',1,'NonUniformBSplines::Impl::Impl(std::initializer_list< ddc::Coordinate< Tag >> breaks)'],['../classSpeciesInformation_1_1Impl.html#a6db1244e4fe5d4e27526bb44ee4d7389',1,'SpeciesInformation::Impl::Impl(ddc::Chunk< int, discrete_domain_type, ddc::KokkosAllocator< int, MemorySpace >> charge, ddc::Chunk< double, discrete_domain_type, ddc::KokkosAllocator< double, MemorySpace >> mass)'],['../classSpeciesInformation_1_1Impl.html#a788f54c43e25317f947aa8be9716c3bc',1,'SpeciesInformation::Impl::Impl(Impl< OMemorySpace > const &impl)']]], - ['initialisation_834',['initialisation',['../classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed',1,'DiocotronDensitySolution']]], - ['integrals_835',['integrals',['../classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5',1,'PolarBSplines::Impl']]], - ['integrate_836',['integrate',['../classPolarSplineEvaluator.html#aacce24543106f51ca08ce5d8fc96cb21',1,'PolarSplineEvaluator::integrate()'],['../classSplineEvaluator2D.html#ad5a55c54ec1a16b245e4b314a1c74701',1,'SplineEvaluator2D::integrate()']]], - ['interpolation_5fdomain_837',['interpolation_domain',['../classSplineBuilder.html#aea5b09d866bfabd34f93dc7244061e51',1,'SplineBuilder::interpolation_domain()'],['../classSplineBuilder2D.html#a39af65f3e39ba9570fbc517ac614241e',1,'SplineBuilder2D::interpolation_domain() const noexcept']]], - ['interpolation_5fdomain1_838',['interpolation_domain1',['../classSplineBuilder2D.html#a3c9bff8d716e44e4eddd2d0ca3f96a2e',1,'SplineBuilder2D']]], - ['interpolation_5fdomain2_839',['interpolation_domain2',['../classSplineBuilder2D.html#aa8b6177989a74d8e158343ae555ca22d',1,'SplineBuilder2D']]], - ['inv_5fjacobian_5f11_840',['inv_jacobian_11',['../classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7',1,'CircularToCartesian::inv_jacobian_11()'],['../classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d',1,'Curvilinear2DToCartesian::inv_jacobian_11()'],['../classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24',1,'CzarnyToCartesian::inv_jacobian_11()']]], - ['inv_5fjacobian_5f12_841',['inv_jacobian_12',['../classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac',1,'CircularToCartesian::inv_jacobian_12()'],['../classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61',1,'Curvilinear2DToCartesian::inv_jacobian_12()'],['../classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5',1,'CzarnyToCartesian::inv_jacobian_12()']]], - ['inv_5fjacobian_5f21_842',['inv_jacobian_21',['../classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6',1,'Curvilinear2DToCartesian::inv_jacobian_21()'],['../classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd',1,'CzarnyToCartesian::inv_jacobian_21()'],['../classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96',1,'CircularToCartesian::inv_jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['inv_5fjacobian_5f22_843',['inv_jacobian_22',['../classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4',1,'CircularToCartesian::inv_jacobian_22()'],['../classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237',1,'Curvilinear2DToCartesian::inv_jacobian_22()'],['../classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914',1,'CzarnyToCartesian::inv_jacobian_22()']]], - ['inv_5fjacobian_5fmatrix_844',['inv_jacobian_matrix',['../classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c',1,'CircularToCartesian::inv_jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3',1,'Curvilinear2DToCartesian::inv_jacobian_matrix()'],['../classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52',1,'CzarnyToCartesian::inv_jacobian_matrix()']]], - ['inverse_5fmetric_5ftensor_845',['inverse_metric_tensor',['../classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1',1,'Curvilinear2DToCartesian']]] + ['ielec_725',['ielec',['../classSpeciesInformation_1_1Impl.html#ad069f5667f3d88ab36856bd941c6e937',1,'SpeciesInformation::Impl']]], + ['impl_726',['Impl',['../classSpeciesInformation_1_1Impl.html#a788f54c43e25317f947aa8be9716c3bc',1,'SpeciesInformation::Impl::Impl(Impl< OMemorySpace > const &impl)'],['../classSpeciesInformation_1_1Impl.html#a6db1244e4fe5d4e27526bb44ee4d7389',1,'SpeciesInformation::Impl::Impl(ddc::Chunk< int, discrete_domain_type, ddc::KokkosAllocator< int, MemorySpace >> charge, ddc::Chunk< double, discrete_domain_type, ddc::KokkosAllocator< double, MemorySpace >> mass)'],['../classPolarBSplines_1_1Impl.html#a4f6c28472809eb95951c92a5d8a21541',1,'PolarBSplines::Impl::Impl(const DiscreteMapping &curvilinear_to_cartesian, SplineBuilderR const &spline_builder_r, SplineBuilderP const &spline_builder_p)'],['../classPolarBSplines_1_1Impl.html#a2dd5ab4233bbd69675345f083a271b7d',1,'PolarBSplines::Impl::Impl(Impl< OriginMemorySpace > const &impl)'],['../classPolarBSplines_1_1Impl.html#ad4c9c75d6336374631bf5f339eb477dd',1,'PolarBSplines::Impl::Impl(Impl const &x)=default'],['../classPolarBSplines_1_1Impl.html#a127fabb6136ceb26342055d12f02a50e',1,'PolarBSplines::Impl::Impl(Impl &&x)=default']]], + ['initialisation_727',['initialisation',['../classDiocotronDensitySolution.html#ae93f847aaf4aaa2ec69889a8a197b9ed',1,'DiocotronDensitySolution']]], + ['integrals_728',['integrals',['../classPolarBSplines_1_1Impl.html#a7335599401310ced75a9b2dd3ff9f3f5',1,'PolarBSplines::Impl']]], + ['integrate_729',['integrate',['../classPolarSplineEvaluator.html#a0dace1c41499a5500a1f1c10e01794d1',1,'PolarSplineEvaluator']]], + ['inv_5fjacobian_5f11_730',['inv_jacobian_11',['../classCircularToCartesian.html#a40e1ae5956248f31cc3776f2353374e7',1,'CircularToCartesian::inv_jacobian_11()'],['../classCurvilinear2DToCartesian.html#a4a0be88153c07cdab1f6e4dcd9c9133d',1,'Curvilinear2DToCartesian::inv_jacobian_11()'],['../classCzarnyToCartesian.html#a8b428fe5b3ecb96d0638b8a2b0b63a24',1,'CzarnyToCartesian::inv_jacobian_11()']]], + ['inv_5fjacobian_5f12_731',['inv_jacobian_12',['../classCircularToCartesian.html#a30e645668c1281dbbcb8544b05234dac',1,'CircularToCartesian::inv_jacobian_12()'],['../classCzarnyToCartesian.html#a1d5e035e43ecd13a4cb5078f8d0fd8b5',1,'CzarnyToCartesian::inv_jacobian_12()'],['../classCurvilinear2DToCartesian.html#afbc01889defa456fd0f757435bcdfc61',1,'Curvilinear2DToCartesian::inv_jacobian_12()']]], + ['inv_5fjacobian_5f21_732',['inv_jacobian_21',['../classCircularToCartesian.html#aa0a70958358a7131b7bf02761d992f96',1,'CircularToCartesian::inv_jacobian_21()'],['../classCurvilinear2DToCartesian.html#a51184f1bc79b0cd2e07c240737a573e6',1,'Curvilinear2DToCartesian::inv_jacobian_21()'],['../classCzarnyToCartesian.html#a54f40cd2c01452155acb39d73d45bfbd',1,'CzarnyToCartesian::inv_jacobian_21()']]], + ['inv_5fjacobian_5f22_733',['inv_jacobian_22',['../classCircularToCartesian.html#aae24bc181c3639fc5bb9016fc4c07fa4',1,'CircularToCartesian::inv_jacobian_22()'],['../classCurvilinear2DToCartesian.html#a2a2a127c36b9f0e5d141d893bde33237',1,'Curvilinear2DToCartesian::inv_jacobian_22()'],['../classCzarnyToCartesian.html#a093d9a72394c1d6a936d03b8e1471914',1,'CzarnyToCartesian::inv_jacobian_22()']]], + ['inv_5fjacobian_5fmatrix_734',['inv_jacobian_matrix',['../classCircularToCartesian.html#a40fb49c01be6924d0e2f83116d593d6c',1,'CircularToCartesian::inv_jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a35925923a15089e1965577f52f612ac3',1,'Curvilinear2DToCartesian::inv_jacobian_matrix()'],['../classCzarnyToCartesian.html#ac0df2a98795204cbc799d8d250b01f52',1,'CzarnyToCartesian::inv_jacobian_matrix()']]], + ['inverse_5fmetric_5ftensor_735',['inverse_metric_tensor',['../classCurvilinear2DToCartesian.html#ae0d8bb4ae71f1ccdf0e9301c57c809d1',1,'Curvilinear2DToCartesian']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index b0412694e..a6171cfe6 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,9 +1,9 @@ var searchData= [ - ['jacobian_846',['jacobian',['../classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35',1,'Curvilinear2DToCartesian::jacobian()'],['../classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f',1,'CzarnyToCartesian::jacobian()'],['../classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219',1,'CircularToCartesian::jacobian(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['jacobian_5f11_847',['jacobian_11',['../classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf',1,'CircularToCartesian::jacobian_11()'],['../classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351',1,'Curvilinear2DToCartesian::jacobian_11()'],['../classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918',1,'CzarnyToCartesian::jacobian_11()'],['../classDiscreteToCartesian.html#ae724fc03c7fca1e9f61b138f22fa28cc',1,'DiscreteToCartesian::jacobian_11()'],['../classRefinedDiscreteToCartesian.html#a92814d6e27ac7ea37614afebb77b948c',1,'RefinedDiscreteToCartesian::jacobian_11()']]], - ['jacobian_5f12_848',['jacobian_12',['../classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196',1,'CircularToCartesian::jacobian_12()'],['../classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260',1,'Curvilinear2DToCartesian::jacobian_12()'],['../classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1',1,'CzarnyToCartesian::jacobian_12()'],['../classDiscreteToCartesian.html#ad5483889f614f6910a5bf2dd7e212905',1,'DiscreteToCartesian::jacobian_12()'],['../classRefinedDiscreteToCartesian.html#a9e3a54843420a1bb60def2673e76f6b5',1,'RefinedDiscreteToCartesian::jacobian_12()']]], - ['jacobian_5f21_849',['jacobian_21',['../classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce',1,'Curvilinear2DToCartesian::jacobian_21()'],['../classRefinedDiscreteToCartesian.html#a3566dfb3c96667eb21a1f2bf7cef9e20',1,'RefinedDiscreteToCartesian::jacobian_21()'],['../classDiscreteToCartesian.html#ac8d071392fbd8b069143b5406e656421',1,'DiscreteToCartesian::jacobian_21()'],['../classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653',1,'CzarnyToCartesian::jacobian_21()'],['../classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd',1,'CircularToCartesian::jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], - ['jacobian_5f22_850',['jacobian_22',['../classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74',1,'CircularToCartesian::jacobian_22()'],['../classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a',1,'Curvilinear2DToCartesian::jacobian_22()'],['../classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f',1,'CzarnyToCartesian::jacobian_22()'],['../classDiscreteToCartesian.html#abb903e9bbfacef685339c6b97be0405c',1,'DiscreteToCartesian::jacobian_22()'],['../classRefinedDiscreteToCartesian.html#aadcec35fb2e9e3d3374319c2083252ac',1,'RefinedDiscreteToCartesian::jacobian_22()']]], - ['jacobian_5fmatrix_851',['jacobian_matrix',['../classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272',1,'CircularToCartesian::jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b',1,'Curvilinear2DToCartesian::jacobian_matrix()'],['../classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3',1,'CzarnyToCartesian::jacobian_matrix()'],['../classDiscreteToCartesian.html#a4f53f0eb32eb687dec8c4071c390811f',1,'DiscreteToCartesian::jacobian_matrix()'],['../classRefinedDiscreteToCartesian.html#afa1403f0c31addf1ddc2a32546e95968',1,'RefinedDiscreteToCartesian::jacobian_matrix()']]] + ['jacobian_736',['jacobian',['../classCurvilinear2DToCartesian.html#a8ebbf453340cc02315cc0f67ae798d35',1,'Curvilinear2DToCartesian::jacobian()'],['../classCzarnyToCartesian.html#a357404759baedffd67aa69235fde390f',1,'CzarnyToCartesian::jacobian()'],['../classCircularToCartesian.html#a2dd085246601b9372d1da2dd679d1219',1,'CircularToCartesian::jacobian(ddc::Coordinate< DimR, DimP > const &coord) const final']]], + ['jacobian_5f11_737',['jacobian_11',['../classCircularToCartesian.html#a17620bce5d7ddcfc89ed40693b2dd8cf',1,'CircularToCartesian::jacobian_11()'],['../classCurvilinear2DToCartesian.html#ae5621eb6b96912a51ec4792b34c74351',1,'Curvilinear2DToCartesian::jacobian_11()'],['../classCzarnyToCartesian.html#a632586b47fae069aac956bfc36410918',1,'CzarnyToCartesian::jacobian_11()'],['../classDiscreteToCartesian.html#a877114081962f3bb5bca708b90574ba9',1,'DiscreteToCartesian::jacobian_11()'],['../classRefinedDiscreteToCartesian.html#a1c1f98fdaf4b64cb7084909773a85664',1,'RefinedDiscreteToCartesian::jacobian_11()']]], + ['jacobian_5f12_738',['jacobian_12',['../classCircularToCartesian.html#a908330bf39aaa005e51e8e49f53cd196',1,'CircularToCartesian::jacobian_12()'],['../classCurvilinear2DToCartesian.html#a16b7504f90a17ae4065d4c86ae8a3260',1,'Curvilinear2DToCartesian::jacobian_12()'],['../classCzarnyToCartesian.html#ad395ce1648886f60224a36a4e1d243c1',1,'CzarnyToCartesian::jacobian_12()'],['../classDiscreteToCartesian.html#a333d4057c581b13ff1b15a8635565c50',1,'DiscreteToCartesian::jacobian_12()'],['../classRefinedDiscreteToCartesian.html#a7c5f9aada92d9fdb721f49963ed4c931',1,'RefinedDiscreteToCartesian::jacobian_12()']]], + ['jacobian_5f21_739',['jacobian_21',['../classCurvilinear2DToCartesian.html#af2f6cf5d84aee801605fe30cdae6c9ce',1,'Curvilinear2DToCartesian::jacobian_21()'],['../classRefinedDiscreteToCartesian.html#a308b497ac063952739c487bdce48145c',1,'RefinedDiscreteToCartesian::jacobian_21()'],['../classDiscreteToCartesian.html#a8a725ddbd503b023730b36b8f4f41b4f',1,'DiscreteToCartesian::jacobian_21()'],['../classCzarnyToCartesian.html#abcf364da9d603a73a27cf29dc9ef5653',1,'CzarnyToCartesian::jacobian_21()'],['../classCircularToCartesian.html#af755eb64c3ad1cea47fc2c93d2df4acd',1,'CircularToCartesian::jacobian_21(ddc::Coordinate< DimR, DimP > const &coord) const final']]], + ['jacobian_5f22_740',['jacobian_22',['../classCircularToCartesian.html#aa3575169c602119dafa50bab9f4c9c74',1,'CircularToCartesian::jacobian_22()'],['../classCurvilinear2DToCartesian.html#a8fe963bcecfe272c3143cb987f12787a',1,'Curvilinear2DToCartesian::jacobian_22()'],['../classCzarnyToCartesian.html#a13e22f85f9041e5d5e602513029baa4f',1,'CzarnyToCartesian::jacobian_22()'],['../classDiscreteToCartesian.html#a22ad931ba89dd5cfe03aa339d2742b9a',1,'DiscreteToCartesian::jacobian_22()'],['../classRefinedDiscreteToCartesian.html#ac688e376939b25dae506045883181fb5',1,'RefinedDiscreteToCartesian::jacobian_22()']]], + ['jacobian_5fmatrix_741',['jacobian_matrix',['../classCircularToCartesian.html#a13d399ea7b3b0cd46bcfd98fbcea5272',1,'CircularToCartesian::jacobian_matrix()'],['../classCurvilinear2DToCartesian.html#a703838ae69a4b6118cbc5fa1beb7d09b',1,'Curvilinear2DToCartesian::jacobian_matrix()'],['../classCzarnyToCartesian.html#a42bf00b0b72392175c1773a9195d49c3',1,'CzarnyToCartesian::jacobian_matrix()'],['../classDiscreteToCartesian.html#a2155fe8040b53865df4a2c31a16ab82e',1,'DiscreteToCartesian::jacobian_matrix()'],['../classRefinedDiscreteToCartesian.html#aaedfa0d22464f78665eb0065a985edd3',1,'RefinedDiscreteToCartesian::jacobian_matrix()']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index 0f7e6d257..d4a687b61 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,6 +1,6 @@ var searchData= [ - ['kineticsource_852',['KineticSource',['../classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88',1,'KineticSource']]], - ['krooksourceadaptive_853',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27',1,'KrookSourceAdaptive::KrookSourceAdaptive(IDomainX const &gridx, IDomainVx const &gridvx, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0',1,'KrookSourceAdaptive::KrookSourceAdaptive(KrookSourceAdaptive &&)=default']]], - ['krooksourceconstant_854',['KrookSourceConstant',['../classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c',1,'KrookSourceConstant::KrookSourceConstant(IDomainX const &gridx, IDomainVx const &gridv, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8',1,'KrookSourceConstant::KrookSourceConstant(KrookSourceConstant &&)=default']]] + ['kineticsource_742',['KineticSource',['../classKineticSource.html#a361b8d5b34373ff17f657c9df6067f88',1,'KineticSource']]], + ['krooksourceadaptive_743',['KrookSourceAdaptive',['../classKrookSourceAdaptive.html#abf1debbb6437f7a5b9fe6656e39dee27',1,'KrookSourceAdaptive::KrookSourceAdaptive(IDomainX const &gridx, IDomainVx const &gridvx, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceAdaptive.html#a7bddcb9927245e841113f9483271e6a0',1,'KrookSourceAdaptive::KrookSourceAdaptive(KrookSourceAdaptive &&)=default']]], + ['krooksourceconstant_744',['KrookSourceConstant',['../classKrookSourceConstant.html#ad395273e96edc581ba4ba375c6fbb98c',1,'KrookSourceConstant::KrookSourceConstant(IDomainX const &gridx, IDomainVx const &gridv, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)'],['../classKrookSourceConstant.html#a94d8fa0b721fbe980a11a9edc298b9c8',1,'KrookSourceConstant::KrookSourceConstant(KrookSourceConstant &&)=default']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js index 3437b7de0..f33606619 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,5 +1,5 @@ var searchData= [ - ['lagrange_855',['Lagrange',['../classLagrange.html#a0768122bb54bed3ee47c4e751984784c',1,'Lagrange']]], - ['lagrangeinterpolatorbatched_856',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517',1,'LagrangeInterpolatorBatched']]] + ['lagrange_745',['Lagrange',['../classLagrange.html#a0768122bb54bed3ee47c4e751984784c',1,'Lagrange']]], + ['lagrangeinterpolatorbatched_746',['LagrangeInterpolatorBatched',['../classLagrangeInterpolatorBatched.html#a7428000bb0e4008f0faaae57bb6ce517',1,'LagrangeInterpolatorBatched']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index e755e6852..056112875 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,10 +1,10 @@ var searchData= [ - ['manufacturedpoissontest_857',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b',1,'ManufacturedPoissonTest']]], - ['mass_858',['mass',['../classSpeciesInformation_1_1Impl.html#a7f9302fc8c496d8ccb936fbb6f171bc6',1,'SpeciesInformation::Impl']]], - ['masses_859',['masses',['../classSpeciesInformation_1_1Impl.html#ab5fea032a19715a668e86acfa0a4e93a',1,'SpeciesInformation::Impl']]], - ['maxwellianequilibrium_860',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)']]], - ['mean_5fvelocity_5fbot_861',['mean_velocity_bot',['../classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e',1,'BumpontailEquilibrium']]], - ['mean_5fvelocity_5feq_862',['mean_velocity_eq',['../classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99',1,'MaxwellianEquilibrium::mean_velocity_eq() const'],['../classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea',1,'MaxwellianEquilibrium::mean_velocity_eq() const']]], - ['metric_5ftensor_863',['metric_tensor',['../classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a',1,'Curvilinear2DToCartesian']]] + ['manufacturedpoissontest_747',['ManufacturedPoissonTest',['../classManufacturedPoissonTest.html#a2882eef1431cf9ca3ff4504e2060890b',1,'ManufacturedPoissonTest']]], + ['mass_748',['mass',['../classSpeciesInformation_1_1Impl.html#a7f9302fc8c496d8ccb936fbb6f171bc6',1,'SpeciesInformation::Impl']]], + ['masses_749',['masses',['../classSpeciesInformation_1_1Impl.html#ab5fea032a19715a668e86acfa0a4e93a',1,'SpeciesInformation::Impl']]], + ['maxwellianequilibrium_750',['MaxwellianEquilibrium',['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)'],['../classMaxwellianEquilibrium.html#a5f657dcdbd3aa11ddeef82f44bb87eb0',1,'MaxwellianEquilibrium::MaxwellianEquilibrium(host_t< DFieldSp > density_eq, host_t< DFieldSp > temperature_eq, host_t< DFieldSp > mean_velocity_eq)']]], + ['mean_5fvelocity_5fbot_751',['mean_velocity_bot',['../classBumpontailEquilibrium.html#a92c189484ec209d152b6f5beb3c9387e',1,'BumpontailEquilibrium']]], + ['mean_5fvelocity_5feq_752',['mean_velocity_eq',['../classMaxwellianEquilibrium.html#aa7440e168a827388920b554888c65c99',1,'MaxwellianEquilibrium::mean_velocity_eq() const'],['../classMaxwellianEquilibrium.html#aad0aaed893509562108c46bb204be3ea',1,'MaxwellianEquilibrium::mean_velocity_eq() const']]], + ['metric_5ftensor_753',['metric_tensor',['../classCurvilinear2DToCartesian.html#a5d1a1f488cffb8a5e11c9a94dee2036a',1,'Curvilinear2DToCartesian']]] ]; diff --git a/search/functions_d.js b/search/functions_d.js index 2a5e2b96d..3a5c93757 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,9 +1,9 @@ var searchData= [ - ['n_5fsingular_5fbasis_864',['n_singular_basis',['../classPolarBSplines.html#a584dca3a3f8fa56d1d4a887b0744a777',1,'PolarBSplines']]], - ['nbasis_865',['nbasis',['../classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5',1,'PolarBSplines::Impl']]], - ['neumann_5fspline_5fquadrature_5fcoefficients_866',['neumann_spline_quadrature_coefficients',['../neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4',1,'neumann_spline_quadrature.hpp']]], - ['neumann_5fspline_5fquadrature_5fcoefficients_5f1d_867',['neumann_spline_quadrature_coefficients_1d',['../neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d',1,'neumann_spline_quadrature.hpp']]], - ['non_5fsingular_5fsolution_868',['non_singular_solution',['../classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de',1,'ManufacturedPoissonTest']]], - ['norm_5finf_869',['norm_inf',['../utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009',1,'norm_inf(ddc::Coordinate< Tags... > coord): utils_tools.hpp'],['../utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d',1,'norm_inf(double const coord): utils_tools.hpp']]] + ['n_5fsingular_5fbasis_754',['n_singular_basis',['../classPolarBSplines.html#a584dca3a3f8fa56d1d4a887b0744a777',1,'PolarBSplines']]], + ['nbasis_755',['nbasis',['../classPolarBSplines_1_1Impl.html#a998daf54696cc0380ddce6c2ee1865d5',1,'PolarBSplines::Impl']]], + ['neumann_5fspline_5fquadrature_5fcoefficients_756',['neumann_spline_quadrature_coefficients',['../neumann__spline__quadrature_8hpp.html#a145fedb902adc371aa405919d8f4bdb4',1,'neumann_spline_quadrature.hpp']]], + ['neumann_5fspline_5fquadrature_5fcoefficients_5f1d_757',['neumann_spline_quadrature_coefficients_1d',['../neumann__spline__quadrature_8hpp.html#aa424bfd56a3d732e3e796e60125ca31d',1,'neumann_spline_quadrature.hpp']]], + ['non_5fsingular_5fsolution_758',['non_singular_solution',['../classManufacturedPoissonTest.html#af7bed860a32f8678d1128795b614d6de',1,'ManufacturedPoissonTest']]], + ['norm_5finf_759',['norm_inf',['../utils__tools_8hpp.html#a939e3995d29bdb32c073e38494563009',1,'norm_inf(ddc::Coordinate< Tags... > coord): utils_tools.hpp'],['../utils__tools_8hpp.html#a74cd2065291900b963fdc775ae5aec8d',1,'norm_inf(double const coord): utils_tools.hpp']]] ]; diff --git a/search/functions_e.js b/search/functions_e.js index 9a6b020a6..04d0b2707 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,6 +1,6 @@ var searchData= [ - ['operator_28_29_870',['operator()',['../classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c',1,'IInterpolatorBatched::operator()()'],['../classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d',1,'AdvectionField_translation::operator()()'],['../classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f',1,'AdvectionField_decentred_rotation::operator()()'],['../classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727',1,'AdvectionField::operator()()'],['../classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518',1,'FunctionToBeAdvected_gaussian::operator()()'],['../classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71',1,'FunctionToBeAdvected_cos_4_elipse::operator()()'],['../classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac',1,'FunctionToBeAdvected::operator()()'],['../classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c',1,'VectorField::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6',1,'VectorField::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classQuadrature.html#a533af2a43db87593d2a9863065eefde8',1,'Quadrature::operator()()'],['../classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0',1,'SplineInterpolatorBatched::operator()()'],['../classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5',1,'IPreallocatableInterpolatorBatched::operator()()'],['../classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf',1,'AdvectionField_rotation::operator()()'],['../classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6',1,'LagrangeInterpolatorBatched::operator()()'],['../classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b',1,'IChargeDensityCalculator::operator()()'],['../classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98',1,'FftPoissonSolver::operator()()'],['../classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26',1,'ChargeDensityCalculator::operator()()'],['../classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b',1,'SingleModePerturbInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293',1,'MaxwellianEquilibrium::operator()()'],['../classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008',1,'FluidMoments::operator()(host_t< DSpanSpX > temperature, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, host_t< DViewSpX > mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#ad8e6152f463394ef2f64807039217969',1,'FluidMoments::operator()(double &temperature, host_t< DViewVx > fdistribu, double density, double mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b',1,'FluidMoments::operator()(host_t< DSpanSpX > mean_velocity, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd',1,'FluidMoments::operator()(double &mean_velocity, host_t< DViewVx > fdistribu, double density, MomentVelocity moment_velocity)'],['../classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64',1,'CircularToCartesian::operator()()'],['../classSplineEvaluator2D.html#a7fd273468ec33acdc19eeb08c088f944',1,'SplineEvaluator2D::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineEvaluator2D.html#a93fe4a102cca7e2469c7230d8e2a6ecc',1,'SplineEvaluator2D::operator()(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const'],['../classSplineBuilder2D.html#a31e3e45f0a33da08793e546b2e4e5981',1,'SplineBuilder2D::operator()()'],['../classSplineBuilder.html#a60ece27168e990dd396dd059ce238267',1,'SplineBuilder::operator()()'],['../classPolarSplineEvaluator.html#a60de03671b33a0daf678b6df31cc9206',1,'PolarSplineEvaluator::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a2dfd0747f1aa1bd56676980918723d68',1,'PolarSplineEvaluator::operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classRefinedDiscreteToCartesian.html#ab2bd385b85af4de24b2b551ad7d08395',1,'RefinedDiscreteToCartesian::operator()()'],['../classDiscreteToCartesian.html#a2886ad4e22efd1d8d875478e5b50c823',1,'DiscreteToCartesian::operator()()'],['../classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25',1,'Curvilinear2DToCartesian::operator()()'],['../classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830',1,'CircularToCartesian::operator()()'],['../classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163',1,'BslAdvectionSpatialBatched::operator()()'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const =0'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const =0'],['../classConstantExtrapolationBoundaryValue2D.html#aa2d150cef282326983fab5e3567e6c7f',1,'ConstantExtrapolationBoundaryValue2D::operator()()'],['../classConstantExtrapolationBoundaryValue.html#a0065a13a55757e01d555d68bc4729921',1,'ConstantExtrapolationBoundaryValue::operator()()'],['../classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122',1,'ManufacturedPoissonTest::operator()()'],['../classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1',1,'CartesianSolution::operator()()'],['../classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1',1,'CurvilinearSolution::operator()()'],['../classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7',1,'PoissonSolution::operator()()'],['../classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd',1,'ElectrostaticalPotentialSimulation_rotation::operator()()'],['../classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189',1,'ElectrostaticalPotentialSimulation_translation::operator()()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af',1,'ElectrostaticalPotentialSimulation_decentred_rotation::operator()()'],['../classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471',1,'ElectrostaticalPotentialSimulation::operator()()'],['../classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79',1,'AdvectionFieldFinder::operator()()'],['../classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb',1,'BslImplicitPredCorrRP::operator()()'],['../classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121',1,'BslExplicitPredCorrRP::operator()()'],['../classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6',1,'BslPredCorrRP::operator()()'],['../classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const'],['../classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, SplinePolar &spline) const'],['../classPoissonRHSFunction.html#a98c05540209406a0c79c53c43767314f',1,'PoissonRHSFunction::operator()()'],['../classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5',1,'IPoissonSolver::operator()()'],['../classSplineInterpolatorRP.html#a7186f69f12ef92492b5cb334bafa220e',1,'SplineInterpolatorRP::operator()()'],['../classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4',1,'IPreallocatableInterpolatorRP::operator()()'],['../classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe',1,'IInterpolatorRP::operator()()'],['../classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3',1,'FluidMoments::operator()()'],['../classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d',1,'SplineFootFinder::operator()()'],['../classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860',1,'IFootFinder::operator()()'],['../classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field, CoordXY const &advection_field_xy_center, double const dt) const =0'],['../classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field, double const dt) const =0'],['../classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const'],['../classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const'],['../classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff',1,'Collisions::operator()()'],['../classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22',1,'IAdvectionSpatial::operator()()'],['../classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827',1,'IAdvectionVelocity::operator()()'],['../classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0',1,'BslAdvectionVelocityBatched::operator()()'],['../classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb',1,'IBoltzmannSolver::operator()()'],['../classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b',1,'FluidMoments::operator()()'],['../classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60',1,'PredCorr::operator()()'],['../classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20',1,'ITimeSolver::operator()()'],['../classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151',1,'KrookSourceConstant::operator()()'],['../classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7',1,'KrookSourceAdaptive::operator()()'],['../classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a',1,'KineticSource::operator()()'],['../classIRightHandSide.html#ae583170af9abcdbb740c12c963860367',1,'IRightHandSide::operator()()'],['../classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4',1,'CollisionsIntra::operator()()'],['../classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b',1,'CollisionsInter::operator()()'],['../classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3',1,'IChargeDensityCalculator::operator()()'],['../classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e',1,'FemPeriodicPoissonSolver::operator()()'],['../classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b',1,'FftPoissonSolver::operator()()'],['../classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7',1,'ITimeSolverRP::operator()()'],['../classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6',1,'SplitRightHandSideSolver::operator()()'],['../classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3',1,'SplitVlasovSolver::operator()()'],['../classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215',1,'BumpontailEquilibrium::operator()()'],['../classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9',1,'IEquilibrium::operator()()'],['../classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e',1,'IInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64',1,'MaxwellianEquilibrium::operator()()'],['../classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0',1,'RestartInitialization::operator()()'],['../classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8',1,'SingleModePerturbInitialization::operator()()'],['../classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea',1,'ChargeDensityCalculator::operator()()'],['../classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66',1,'FemNonPeriodicPoissonSolver::operator()()']]], - ['operator_3d_871',['operator=',['../classSplineEvaluator2D.html#a838efa37db6564eed9af26f72327403b',1,'SplineEvaluator2D::operator=(SplineEvaluator2D &&x)=default'],['../classSplineEvaluator2D.html#a7a4962219e4e0a3cf1e7fdd0afba8efe',1,'SplineEvaluator2D::operator=(SplineEvaluator2D const &x)=default'],['../classSplineBuilder2D.html#a79579f5213c410988e0caa6da989d2c8',1,'SplineBuilder2D::operator=()'],['../classSplineBuilder.html#a2763318a2269b27a7a051200bbc5b659',1,'SplineBuilder::operator=()'],['../classPolarSplineEvaluator.html#aa404705c242b03294d522da12fdfdc81',1,'PolarSplineEvaluator::operator=()'],['../classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a',1,'CircularToCartesian::operator=()'],['../classPolarSplineEvaluator.html#a6e5b5a439964fa71862689834cf5c1eb',1,'PolarSplineEvaluator::operator=()'],['../classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08',1,'PolarBSplines::Impl::operator=(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c',1,'PolarBSplines::Impl::operator=(Impl const &x)=default'],['../classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3',1,'CzarnyToCartesian::operator=(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952',1,'CzarnyToCartesian::operator=(CzarnyToCartesian const &x)=default'],['../classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian &&x)=default'],['../classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian const &x)=default'],['../classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df',1,'CircularToCartesian::operator=()'],['../classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945',1,'VectorFieldSpan::operator=(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc',1,'VectorFieldSpan::operator=(VectorFieldSpan const &other)=default'],['../classVectorField.html#a4b839128727925cdffed6fbfca8da63e',1,'VectorField::operator=(VectorField &&other)=default'],['../classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0',1,'VectorField::operator=(VectorField const &other)=delete']]], - ['operator_5b_5d_872',['operator[]',['../classVectorField.html#a925526e030fc6967c04e66771fc13e2a',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec) const'],['../classVectorField.html#a86ea12473bc7ea9364085826a7c5d512',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorField.html#a4db1434ddd534be7882315c50bb25396',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain) const'],['../classVectorField.html#a572811a19242a05acf2106e0543ae5df',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)'],['../classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046',1,'VectorFieldSpan::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572',1,'VectorFieldSpan::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)']]] + ['operator_28_29_760',['operator()',['../classIChargeDensityCalculator.html#a720c2444f9f9f61cf70755b592f53c7b',1,'IChargeDensityCalculator::operator()()'],['../classFunctionToBeAdvected.html#a4e0e7566e363527e72d3c1100ecbcbac',1,'FunctionToBeAdvected::operator()()'],['../classVectorFieldSpan.html#a40c96027d4f5d45385ede1a672e98db4',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorFieldSpan.html#a0e427b749f6b250678072c3717f8af51',1,'VectorFieldSpan::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classVectorField.html#a06536f7ec56093a9b87f4ee0c1d5b64c',1,'VectorField::operator()(ddc::DiscreteElement< ODDims... > const &delems) const noexcept'],['../classVectorField.html#acb1058aa8ea2bd2cc6e2449c3b5c3eb6',1,'VectorField::operator()(ddc::DiscreteElement< ODDims > const &... delems) const noexcept'],['../classQuadrature.html#a533af2a43db87593d2a9863065eefde8',1,'Quadrature::operator()()'],['../classSplineInterpolatorBatched.html#a4a2ef90b471abac961d071f993d027a0',1,'SplineInterpolatorBatched::operator()()'],['../classIPreallocatableInterpolatorBatched.html#a4b23b4ee8b129eedb674cdec540621b5',1,'IPreallocatableInterpolatorBatched::operator()()'],['../classIInterpolatorBatched.html#a251833e322c41c7bdb91de9a4fb0270c',1,'IInterpolatorBatched::operator()()'],['../classLagrangeInterpolatorBatched.html#a3544c6327e64a7297406a53892b281c6',1,'LagrangeInterpolatorBatched::operator()()'],['../classNullPoissonSolver.html#a8c62eaa48fd2e9dcf304c3e0fa50b9ec',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#acc648976a27e0b36daf0615d7b8eebd6',1,'IPoissonSolver::operator()()'],['../classFunctionToBeAdvected__cos__4__elipse.html#a257423f6b03723cea9accbed1041fe71',1,'FunctionToBeAdvected_cos_4_elipse::operator()()'],['../classFftPoissonSolver.html#a39d2b32d21f00f96f2c9f1625211eb98',1,'FftPoissonSolver::operator()()'],['../classChargeDensityCalculator.html#aa171397828c246922b136642e0295e26',1,'ChargeDensityCalculator::operator()()'],['../classSingleModePerturbInitialization.html#a7000b61f058ed580a8c2a5d1df85313b',1,'SingleModePerturbInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a7052573b3a3cb1a05f8e8bf3911bb293',1,'MaxwellianEquilibrium::operator()()'],['../classFluidMoments.html#a7e0f847c63334e0e92887d6cc3ae2008',1,'FluidMoments::operator()(host_t< DSpanSpX > temperature, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, host_t< DViewSpX > mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#ad8e6152f463394ef2f64807039217969',1,'FluidMoments::operator()(double &temperature, host_t< DViewVx > fdistribu, double density, double mean_velocity, MomentTemperature moment_temperature)'],['../classFluidMoments.html#aa2b10579e30125723359e03ee68fb62b',1,'FluidMoments::operator()(host_t< DSpanSpX > mean_velocity, host_t< DViewSpXVx > allfdistribu, host_t< DViewSpX > density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#a82ac672fe404af385a770e92d25b21fd',1,'FluidMoments::operator()(double &mean_velocity, host_t< DViewVx > fdistribu, double density, MomentVelocity moment_velocity)'],['../classFluidMoments.html#ae7014f5f99935b31a2d1c0beefe4772b',1,'FluidMoments::operator()(host_t< DSpanSpX > density, host_t< DViewSpXVx > allfdistribu, MomentDensity moment_density)'],['../classFluidMoments.html#abf892238c0f96cf38e9943a5d3b815a3',1,'FluidMoments::operator()(double &density, host_t< DViewVx > fdistribu, MomentDensity moment_density)'],['../classPredCorr.html#a5916671433abd2af3ee5e0ed3b8eae60',1,'PredCorr::operator()()'],['../classCartesianSolution.html#a7145c82766a1b52602342ab3e8eb87d1',1,'CartesianSolution::operator()()'],['../classPolarSplineEvaluator.html#a32288ba8cc125ab9579b157060cb744a',1,'PolarSplineEvaluator::operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< DimR, DimP > const, Domain > const coords_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classPolarSplineEvaluator.html#a452214ac565140c42c611324dbc8ca5c',1,'PolarSplineEvaluator::operator()(ddc::Coordinate< DimR, DimP > coord_eval, PolarSplineView< PolarBSplinesType > const spline_coef) const'],['../classRefinedDiscreteToCartesian.html#a0f901e23b2dfd8a35174d35fdd7ba4b5',1,'RefinedDiscreteToCartesian::operator()()'],['../classDiscreteToCartesian.html#a9ad936fbb7dcb9146eea744086e583d8',1,'DiscreteToCartesian::operator()()'],['../classCzarnyToCartesian.html#a905d9d0824cb0dd20c51508fc72dd001',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCzarnyToCartesian.html#a0af1089db27e751c508f63885cd64688',1,'CzarnyToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classCurvilinear2DToCartesian.html#a5f611cc3888f47ec1c78450a7c202a25',1,'Curvilinear2DToCartesian::operator()()'],['../classCircularToCartesian.html#adb1fc7dd90639be19b4ca5a2e63e7830',1,'CircularToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const'],['../classCircularToCartesian.html#ad70dfd0d013330c445aaa61736ebdd64',1,'CircularToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#a49f2c6b6bdbbb0c62e4b2547a057d4f4',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimX, DimY > const &coord) const =0'],['../classAnalyticalInvertibleCurvilinear2DToCartesian.html#aef1f348d864cec95dd0c7bfc4cc6481d',1,'AnalyticalInvertibleCurvilinear2DToCartesian::operator()(ddc::Coordinate< DimR, DimP > const &coord) const =0'],['../classManufacturedPoissonTest.html#a9b5c16b99b6b74af7f724451fecd1122',1,'ManufacturedPoissonTest::operator()()'],['../classBslAdvectionSpatialBatched.html#a0844fe42e64f4ef23cf4e1e27bd1d163',1,'BslAdvectionSpatialBatched::operator()()'],['../classCurvilinearSolution.html#ac393eea78d63352e2db92c6b116fe5f1',1,'CurvilinearSolution::operator()()'],['../classPoissonSolution.html#a6eafbb2783113ace8384d433608854b7',1,'PoissonSolution::operator()()'],['../classElectrostaticalPotentialSimulation__rotation.html#af3f3c3819cbc815aa2a272028ef24fcd',1,'ElectrostaticalPotentialSimulation_rotation::operator()()'],['../classElectrostaticalPotentialSimulation__translation.html#ab42dce0f7ac411db86c2dd9871537189',1,'ElectrostaticalPotentialSimulation_translation::operator()()'],['../classElectrostaticalPotentialSimulation__decentred__rotation.html#a0a5322b2df29b69ab4c5438b5b0207af',1,'ElectrostaticalPotentialSimulation_decentred_rotation::operator()()'],['../classElectrostaticalPotentialSimulation.html#a445037f02ef92015762871398e8fd471',1,'ElectrostaticalPotentialSimulation::operator()()'],['../classAdvectionField__rotation.html#a4dc539810d2d10aa68104841574802cf',1,'AdvectionField_rotation::operator()()'],['../classAdvectionField__translation.html#afd102ec3e9ce04fa1d0a38643525eb8d',1,'AdvectionField_translation::operator()()'],['../classAdvectionField__decentred__rotation.html#aaabb7b2f3ae0f6aadaa1b5e3a7d1a94f',1,'AdvectionField_decentred_rotation::operator()()'],['../classAdvectionField.html#ad83cd6e152724ab1c8e91be077eb5727',1,'AdvectionField::operator()()'],['../classFunctionToBeAdvected__gaussian.html#a2335fa595256b93cfebca7b15195d518',1,'FunctionToBeAdvected_gaussian::operator()()'],['../classAdvectionFieldFinder.html#ac3fe42a034907c85889edbbc45776b23',1,'AdvectionFieldFinder::operator()()'],['../classBslPredCorrRP.html#a1d5158f8924aab4774ce93c180bcbef6',1,'BslPredCorrRP::operator()()'],['../classPolarSplineFEMPoissonSolver.html#a0c831b726d553adf9811f843ad2c713e',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, ViewRP< CoordRP > const coords_eval, DSpanRP result) const'],['../classPolarSplineFEMPoissonSolver.html#ab17e5f6a703cda07ed9701b908295b99',1,'PolarSplineFEMPoissonSolver::operator()(RHSFunction const &rhs, SplinePolar &spline) const'],['../classPoissonRHSFunction.html#a62cc8e961e80992b062179ec78e8685f',1,'PoissonRHSFunction::operator()()'],['../classIPoissonSolver.html#a2e07de086727dd87d194d5132517e8a5',1,'IPoissonSolver::operator()()'],['../classSplineInterpolatorRP.html#a2963c57f391e96345b0ac6b4d44cbaf1',1,'SplineInterpolatorRP::operator()()'],['../classIPreallocatableInterpolatorRP.html#a88840885778bcbd264dd3dcb6e0c04d4',1,'IPreallocatableInterpolatorRP::operator()()'],['../classIInterpolatorRP.html#af7daa16aa6bf5a6b94fb2f515d9101fe',1,'IInterpolatorRP::operator()()'],['../classAdvectionFieldFinder.html#acf5cc4e220a08ea65f312ca40ac08df4',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#aae34a32dffc7407c96f5571d33dde3b1',1,'AdvectionFieldFinder::operator()(Spline2DSpan electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#ad380b5c90a1234d29b697acc6e182996',1,'AdvectionFieldFinder::operator()(DSpanRP electrostatic_potential, VectorFieldSpan< double, IDomainRP, NDTag< RDimR, RDimP >> advection_field_rp, CoordXY &advection_field_xy_center) const'],['../classAdvectionFieldFinder.html#a3e52e81491f7ae8ee2ed01897665fb79',1,'AdvectionFieldFinder::operator()(SplinePolar &electrostatic_potential_coef, VectorFieldSpan< double, IDomainRP, NDTag< RDimX, RDimY >> advection_field_xy) const'],['../classKrookSourceConstant.html#a4bb1a360f9fc26be63ed224103237151',1,'KrookSourceConstant::operator()()'],['../classAdvectionFieldFinder.html#a462a33b402d2175a35202f96de08eea8',1,'AdvectionFieldFinder::operator()()'],['../classSplineFootFinder.html#a6c99a3c797b8e49db511bee6d62e051d',1,'SplineFootFinder::operator()()'],['../classIFootFinder.html#a430abc49f8be3d1315d3b270c33c2860',1,'IFootFinder::operator()()'],['../classIAdvectionRP.html#ad47ac3a55e29c2e7435a3317de3c931c',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field, CoordXY const &advection_field_xy_center, double const dt) const =0'],['../classIAdvectionRP.html#ac3294f0513c2b2e89e5fc1f64fc19ac7',1,'IAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field, double const dt) const =0'],['../classBslAdvectionRP.html#a54cd7188a7ea0961eb532d5e5fc875d4',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimR, RDimP > advection_field_rp, CoordXY const &advection_field_xy_center, double dt) const'],['../classBslAdvectionRP.html#ab8f2a425020cb64eac512117fc9d6ae6',1,'BslAdvectionRP::operator()(DSpanRP allfdistribu, VectorDViewRP< RDimX, RDimY > advection_field_xy, double dt) const'],['../classCollisions.html#a4c6250015adaeb3f163f6cfc8e210dff',1,'Collisions::operator()()'],['../classIAdvectionSpatial.html#a2eefd7931b654b66a2cb13060819ef22',1,'IAdvectionSpatial::operator()()'],['../classIAdvectionVelocity.html#a1b1caa9543145f61490ac8dcd8253827',1,'IAdvectionVelocity::operator()()'],['../classBslAdvectionVelocityBatched.html#a10d24d4c9282ccad3d13fd44477cbfa0',1,'BslAdvectionVelocityBatched::operator()()'],['../classBslImplicitPredCorrRP.html#a95d2b3c32e65fa9d2e08fcf2a05c83fb',1,'BslImplicitPredCorrRP::operator()()'],['../classITimeSolver.html#ab62c963f741ff88c6167c798392d8d20',1,'ITimeSolver::operator()()'],['../classKrookSourceAdaptive.html#a2de5dbf5c5fdda96c35462b48e9f81f7',1,'KrookSourceAdaptive::operator()()'],['../classKineticSource.html#ab3425fe8d56c34d35fe15a4378e97a6a',1,'KineticSource::operator()()'],['../classIRightHandSide.html#ae583170af9abcdbb740c12c963860367',1,'IRightHandSide::operator()()'],['../classCollisionsIntra.html#a84754937b848935dba4e2d4f01a39dd4',1,'CollisionsIntra::operator()()'],['../classCollisionsInter.html#a3675918e984dedb1d536be00a20d398b',1,'CollisionsInter::operator()()'],['../classNullPoissonSolver.html#a9f96957959d01b15de007812bdd513af',1,'NullPoissonSolver::operator()()'],['../classIPoissonSolver.html#a2819621d345ddde4acad30a47c8fd7f9',1,'IPoissonSolver::operator()()'],['../classIChargeDensityCalculator.html#a94853ddecb41d04c60155fdc18f9fcf3',1,'IChargeDensityCalculator::operator()()'],['../classFftPoissonSolver.html#a58e99a7d9c0110c9174edee83ac3025b',1,'FftPoissonSolver::operator()()'],['../classFemPeriodicPoissonSolver.html#a29947ba0529fe6de504b85780a0d741e',1,'FemPeriodicPoissonSolver::operator()()'],['../classFemNonPeriodicPoissonSolver.html#ae81c12b0b37dd2f2bf3f4f24d7d7bf66',1,'FemNonPeriodicPoissonSolver::operator()()'],['../classSingleModePerturbInitialization.html#ac351dadf3c630ae1b2e70c0d281e9ac8',1,'SingleModePerturbInitialization::operator()()'],['../classChargeDensityCalculator.html#ad7440f208cab363eef9c4374da155fea',1,'ChargeDensityCalculator::operator()()'],['../classBslExplicitPredCorrRP.html#a0cddd3f97de5c31339ca8554404cb121',1,'BslExplicitPredCorrRP::operator()()'],['../classITimeSolverRP.html#aeb7feb15d0421c29645c9daf2feebda7',1,'ITimeSolverRP::operator()()'],['../classIBoltzmannSolver.html#a98dec4fbaa427c58422ed1c179e738bb',1,'IBoltzmannSolver::operator()()'],['../classSplitRightHandSideSolver.html#a83cc73ba72845154b30ac9fd8cc376e6',1,'SplitRightHandSideSolver::operator()()'],['../classSplitVlasovSolver.html#ad4843f29aef761e78933df55034e7aa3',1,'SplitVlasovSolver::operator()()'],['../classBumpontailEquilibrium.html#a4cd4ddf29a44f068db013ed7dc2a0215',1,'BumpontailEquilibrium::operator()()'],['../classIEquilibrium.html#a8299421036e8a33c363d6a3d9388eaa9',1,'IEquilibrium::operator()()'],['../classIInitialization.html#a5c066d7173ca9686cda27a8bbc54667e',1,'IInitialization::operator()()'],['../classMaxwellianEquilibrium.html#a0f4e3335acb638b07bd95fa868842d64',1,'MaxwellianEquilibrium::operator()()'],['../classRestartInitialization.html#a6c721e52e387f0fa2ed28e6ae5a280d0',1,'RestartInitialization::operator()()']]], + ['operator_3d_761',['operator=',['../classPolarSplineEvaluator.html#aa9f2c3bbb2863cd856857fd978cc9af1',1,'PolarSplineEvaluator::operator=(PolarSplineEvaluator &&x)=default'],['../classPolarSplineEvaluator.html#a050a2b7f7baeaccdfeddbbe571580bb5',1,'PolarSplineEvaluator::operator=(PolarSplineEvaluator const &x)=default'],['../classPolarBSplines_1_1Impl.html#aa480537cd28350daa6a58729a1386c08',1,'PolarBSplines::Impl::operator=(Impl &&x)=default'],['../classPolarBSplines_1_1Impl.html#a68b92bdbbf97fe2d0baaa878f3ad439c',1,'PolarBSplines::Impl::operator=(Impl const &x)=default'],['../classCircularToCartesian.html#ae413ed65e8f1312f59c073802aa7f9df',1,'CircularToCartesian::operator=()'],['../classCzarnyToCartesian.html#a935d24abcbe6823918fb71cc979e93a3',1,'CzarnyToCartesian::operator=(CzarnyToCartesian &&x)=default'],['../classCzarnyToCartesian.html#a7d99c69a61d9fcd45a1a8a84d4151952',1,'CzarnyToCartesian::operator=(CzarnyToCartesian const &x)=default'],['../classCurvilinear2DToCartesian.html#ab2b963589e6ead8d7fcbaf5ab7796b4a',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian &&x)=default'],['../classCurvilinear2DToCartesian.html#a559b10a42efc10289eadae2d9cdc5364',1,'Curvilinear2DToCartesian::operator=(Curvilinear2DToCartesian const &x)=default'],['../classCircularToCartesian.html#a432a9c957695fa07d0ec03bceaba7d8a',1,'CircularToCartesian::operator=()'],['../classVectorFieldSpan.html#a433af9f5d44cbce08babed67ef482945',1,'VectorFieldSpan::operator=(VectorFieldSpan &&other)=default'],['../classVectorFieldSpan.html#ad3abef65badf2ce5915d6b9b86b0ebdc',1,'VectorFieldSpan::operator=(VectorFieldSpan const &other)=default'],['../classVectorField.html#a4b839128727925cdffed6fbfca8da63e',1,'VectorField::operator=(VectorField &&other)=default'],['../classVectorField.html#ae367dbe4c6643fb0fed766b1157b85a0',1,'VectorField::operator=(VectorField const &other)=delete']]], + ['operator_5b_5d_762',['operator[]',['../classVectorField.html#a925526e030fc6967c04e66771fc13e2a',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec) const'],['../classVectorField.html#a86ea12473bc7ea9364085826a7c5d512',1,'VectorField::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorField.html#a4db1434ddd534be7882315c50bb25396',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain) const'],['../classVectorField.html#a572811a19242a05acf2106e0543ae5df',1,'VectorField::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)'],['../classVectorFieldSpan.html#ad70b8f79a45666e097299ac974f76046',1,'VectorFieldSpan::operator[](ddc::DiscreteElement< QueryDDims... > const &slice_spec)'],['../classVectorFieldSpan.html#a84b7f478c286e75b21ae9ae58d033572',1,'VectorFieldSpan::operator[](ddc::DiscreteDomain< QueryDDims... > const &odomain)']]] ]; diff --git a/search/functions_f.js b/search/functions_f.js index 753908071..c99281669 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -1,16 +1,16 @@ var searchData= [ - ['perturbation_5finitialization_873',['perturbation_initialization',['../classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanXY perturbation, int mode, double perturb_amplitude) const'],['../classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanX perturbation, int mode, double perturb_amplitude) const']]], - ['poissonrhsfunction_874',['PoissonRHSFunction',['../classPoissonRHSFunction.html#a2287f1a0481b7e8dd07d24a902743876',1,'PoissonRHSFunction']]], - ['poissonsolution_875',['PoissonSolution',['../classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703',1,'PoissonSolution']]], - ['polarspline_876',['PolarSpline',['../structPolarSpline.html#a89343478d4d570638a82ad70777231b4',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< BSplineR, BSplineP > domain)'],['../structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)']]], - ['polarsplineevaluator_877',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html#ad16dac26ccca13b143d00d7aa53febcf',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineBoundaryValue2D< PolarBSplinesType > const &outer_bc)'],['../classPolarSplineEvaluator.html#a117fe2ce4d5dcb58f90c781d3c39c233',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator const &x)=default'],['../classPolarSplineEvaluator.html#a0b951375b57b56e51acd207739d21eb5',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator &&x)=default']]], - ['polarsplinefempoissonsolver_878',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8',1,'PolarSplineFEMPoissonSolver']]], - ['polarsplinespan_879',['PolarSplineSpan',['../structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c',1,'PolarSplineSpan']]], - ['polarsplineview_880',['PolarSplineView',['../structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d',1,'PolarSplineView']]], - ['preallocatablelagrangeinterpolatorbatched_881',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475',1,'PreallocatableLagrangeInterpolatorBatched']]], - ['preallocatablesplineinterpolatorbatched_882',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10',1,'PreallocatableSplineInterpolatorBatched']]], - ['preallocatablesplineinterpolatorrp_883',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html#ade36aac246ed7b8003ec0e227ca95b7e',1,'PreallocatableSplineInterpolatorRP']]], - ['preallocate_884',['preallocate',['../classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6',1,'IPreallocatableInterpolatorRP::preallocate()'],['../classPreallocatableSplineInterpolatorRP.html#a96c0faf84015ec3b49d8d98b3eeef938',1,'PreallocatableSplineInterpolatorRP::preallocate()'],['../classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea',1,'PreallocatableLagrangeInterpolatorBatched::preallocate()'],['../classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2',1,'IPreallocatableInterpolatorBatched::preallocate()'],['../classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0',1,'PreallocatableSplineInterpolatorBatched::preallocate()']]], - ['predcorr_885',['PredCorr',['../classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d',1,'PredCorr']]] + ['perturbation_5finitialization_763',['perturbation_initialization',['../classSingleModePerturbInitialization.html#a2973b171507f7ed3d263007030ff2d79',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanXY perturbation, int mode, double perturb_amplitude) const'],['../classSingleModePerturbInitialization.html#ae765597410a9ba3ca138985cc0c4365a',1,'SingleModePerturbInitialization::perturbation_initialization(DSpanX perturbation, int mode, double perturb_amplitude) const']]], + ['poissonrhsfunction_764',['PoissonRHSFunction',['../classPoissonRHSFunction.html#a1d014ed759a8fbee81a13893e1980171',1,'PoissonRHSFunction']]], + ['poissonsolution_765',['PoissonSolution',['../classPoissonSolution.html#ab858595c50946f5077ed256c5b01f703',1,'PoissonSolution']]], + ['polarspline_766',['PolarSpline',['../structPolarSpline.html#a89343478d4d570638a82ad70777231b4',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< BSplineR, BSplineP > domain)'],['../structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477',1,'PolarSpline::PolarSpline(ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)']]], + ['polarsplineevaluator_767',['PolarSplineEvaluator',['../classPolarSplineEvaluator.html#a8960c721f4ef12c2343fae7c36dae0da',1,'PolarSplineEvaluator::PolarSplineEvaluator(OuterExtrapolationRule const &outer_bc)'],['../classPolarSplineEvaluator.html#a13c5887c37f94a933cdd431c122a0124',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator const &x)=default'],['../classPolarSplineEvaluator.html#a87b7163ab815cc562d0222b1d5dcd27e',1,'PolarSplineEvaluator::PolarSplineEvaluator(PolarSplineEvaluator &&x)=default']]], + ['polarsplinefempoissonsolver_768',['PolarSplineFEMPoissonSolver',['../classPolarSplineFEMPoissonSolver.html#a67df2ac50d26494ba1fae371fc97a5d8',1,'PolarSplineFEMPoissonSolver']]], + ['polarsplinespan_769',['PolarSplineSpan',['../structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c',1,'PolarSplineSpan']]], + ['polarsplineview_770',['PolarSplineView',['../structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d',1,'PolarSplineView::PolarSplineView(PolarSpline< PolarBSplinesType > const &spl)'],['../structPolarSplineView.html#af01a912e50f5d8dc5dda51fc2d28f929',1,'PolarSplineView::PolarSplineView(PolarSplineSpan< PolarBSplinesType > const &spl)']]], + ['preallocatablelagrangeinterpolatorbatched_771',['PreallocatableLagrangeInterpolatorBatched',['../classPreallocatableLagrangeInterpolatorBatched.html#ab06bcd325accce10081dc54f06835475',1,'PreallocatableLagrangeInterpolatorBatched']]], + ['preallocatablesplineinterpolatorbatched_772',['PreallocatableSplineInterpolatorBatched',['../classPreallocatableSplineInterpolatorBatched.html#ae12babd8b0e5f5b6ff573c3c52ffcd10',1,'PreallocatableSplineInterpolatorBatched']]], + ['preallocatablesplineinterpolatorrp_773',['PreallocatableSplineInterpolatorRP',['../classPreallocatableSplineInterpolatorRP.html#ad92427481b794b783f83e137e52108f9',1,'PreallocatableSplineInterpolatorRP']]], + ['preallocate_774',['preallocate',['../classIPreallocatableInterpolatorRP.html#a351c066ba6ec6e97a2ddb1ce38c3f0a6',1,'IPreallocatableInterpolatorRP::preallocate()'],['../classPreallocatableSplineInterpolatorRP.html#aedfcd0cff398fd0d6766aeac6b6bb366',1,'PreallocatableSplineInterpolatorRP::preallocate()'],['../classPreallocatableLagrangeInterpolatorBatched.html#abb183c5aab077bc1c26036eaa4b5e6ea',1,'PreallocatableLagrangeInterpolatorBatched::preallocate()'],['../classIPreallocatableInterpolatorBatched.html#a46f50f9b73b8c96034fb5d22e67d98a2',1,'IPreallocatableInterpolatorBatched::preallocate()'],['../classPreallocatableSplineInterpolatorBatched.html#ac33e5d7cca5000696a996e7891e668c0',1,'PreallocatableSplineInterpolatorBatched::preallocate()']]], + ['predcorr_775',['PredCorr',['../classPredCorr.html#a2456246c1a302aea3302ae4ea8521b4d',1,'PredCorr']]] ]; diff --git a/search/namespaces_0.js b/search/namespaces_0.js index d648b9aa9..c8e4f3a65 100644 --- a/search/namespaces_0.js +++ b/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['gslx_729',['gslx',['../namespacegslx.html',1,'']]] + ['gslx_629',['gslx',['../namespacegslx.html',1,'']]] ]; diff --git a/search/pages_0.js b/search/pages_0.js index 9676cac62..7e2aa0cf1 100644 --- a/search/pages_0.js +++ b/search/pages_0.js @@ -1,7 +1,7 @@ var searchData= [ - ['adding_20documentation_1047',['Adding Documentation',['../docs_Adding_docs.html',1,'']]], - ['advection_20field_20finder_1048',['Advection Field finder',['../src_geometryRTheta_advection_field.html',1,'src_geometryRTheta']]], - ['advection_20methods_1049',['Advection methods',['../src_advection.html',1,'src']]], - ['advection_20operator_1050',['Advection operator',['../src_geometryRTheta_advection.html',1,'src_geometryRTheta']]] + ['adding_20documentation_898',['Adding Documentation',['../docs_Adding_docs.html',1,'']]], + ['advection_20field_20finder_899',['Advection Field finder',['../src_geometryRTheta_advection_field.html',1,'src_geometryRTheta']]], + ['advection_20methods_900',['Advection methods',['../src_advection.html',1,'src']]], + ['advection_20operator_901',['Advection operator',['../src_geometryRTheta_advection.html',1,'src_geometryRTheta']]] ]; diff --git a/search/pages_1.js b/search/pages_1.js index fa5003884..d875991ff 100644 --- a/search/pages_1.js +++ b/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['boltzmann_20solver_1051',['Boltzmann solver',['../src_geometryXVx_boltzmann.html',1,'src_geometryXVx']]] + ['boltzmann_20solver_902',['Boltzmann solver',['../src_geometryXVx_boltzmann.html',1,'src_geometryXVx']]] ]; diff --git a/search/pages_2.js b/search/pages_2.js index 819a55c90..c5051cc02 100644 --- a/search/pages_2.js +++ b/search/pages_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['coding_20standards_1052',['Coding Standards',['../docs_CODING_STANDARD.html',1,'']]], - ['collisions_1053',['Collisions',['../src_geometry5D_rhs_collisions.html',1,'']]] + ['coding_20standards_903',['Coding Standards',['../docs_CODING_STANDARD.html',1,'']]], + ['collisions_904',['Collisions',['../src_geometry5D_rhs_collisions.html',1,'']]] ]; diff --git a/search/pages_3.js b/search/pages_3.js index c17961a81..1647ee579 100644 --- a/search/pages_3.js +++ b/search/pages_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['diocotron_20instability_1054',['Diocotron instability',['../simulations_geometryRTheta_diocotron.html',1,'simulations_geometryRTheta']]] + ['diocotron_20instability_905',['Diocotron instability',['../simulations_geometryRTheta_diocotron.html',1,'simulations_geometryRTheta']]] ]; diff --git a/search/pages_4.js b/search/pages_4.js index ba0ab9231..c62b6c1c1 100644 --- a/search/pages_4.js +++ b/search/pages_4.js @@ -1,12 +1,12 @@ var searchData= [ - ['geometry_20_28mu_2c_20vpar_2c_20r_2c_20theta_2c_20phi_29_1055',['Geometry (mu, vpar, r, theta, phi)',['../src_geometry5D.html',1,'src']]], - ['geometry_20_28r_2c_20theta_29_1056',['Geometry (r, theta)',['../src_geometryRTheta.html',1,'src']]], - ['geometry_20_28x_2c_20v_5fx_29_1057',['Geometry (x, v_x)',['../src_geometryXVx.html',1,'src']]], - ['geometry_20_28x_2c_20y_2c_20v_5fx_2c_20v_5fy_29_1058',['Geometry (x, y, v_x, v_y)',['../src_geometryXYVxVy.html',1,'src']]], - ['geometry_20x_20y_2dvx_20vy_1059',['Geometry X Y-Vx Vy',['../src_geometryXYVxVy_geometry.html',1,'src_geometryXYVxVy']]], - ['geometry_20x_2dvx_1060',['Geometry X-Vx',['../src_geometryXVx_geometry.html',1,'src_geometryXVx']]], - ['geometry5d_20_3a_1061',['Geometry5D :',['../src_geometry5D_geometry.html',1,'src_geometry5D']]], - ['gyselalib_2b_2b_20contents_1062',['Gyselalib++ contents',['../src.html',1,'']]], - ['gyselalib_2b_2b_20simulations_1063',['Gyselalib++ simulations',['../simulations.html',1,'']]] + ['geometry_20_28mu_2c_20vpar_2c_20r_2c_20theta_2c_20phi_29_906',['Geometry (mu, vpar, r, theta, phi)',['../src_geometry5D.html',1,'src']]], + ['geometry_20_28r_2c_20theta_29_907',['Geometry (r, theta)',['../src_geometryRTheta.html',1,'src']]], + ['geometry_20_28x_2c_20v_5fx_29_908',['Geometry (x, v_x)',['../src_geometryXVx.html',1,'src']]], + ['geometry_20_28x_2c_20y_2c_20v_5fx_2c_20v_5fy_29_909',['Geometry (x, y, v_x, v_y)',['../src_geometryXYVxVy.html',1,'src']]], + ['geometry_20x_20y_2dvx_20vy_910',['Geometry X Y-Vx Vy',['../src_geometryXYVxVy_geometry.html',1,'src_geometryXYVxVy']]], + ['geometry_20x_2dvx_911',['Geometry X-Vx',['../src_geometryXVx_geometry.html',1,'src_geometryXVx']]], + ['geometry5d_20_3a_912',['Geometry5D :',['../src_geometry5D_geometry.html',1,'src_geometry5D']]], + ['gyselalib_2b_2b_20contents_913',['Gyselalib++ contents',['../src.html',1,'']]], + ['gyselalib_2b_2b_20simulations_914',['Gyselalib++ simulations',['../simulations.html',1,'']]] ]; diff --git a/search/pages_5.js b/search/pages_5.js index e4777375f..9dc25c499 100644 --- a/search/pages_5.js +++ b/search/pages_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['initialization_1064',['Initialization',['../src_geometryRTheta_initialization.html',1,'src_geometryRTheta']]], - ['initialization_20methods_1065',['Initialization methods',['../src_geometryXVx_initialization.html',1,'src_geometryXVx']]], - ['interpolation_20methods_1066',['Interpolation Methods',['../src_interpolation.html',1,'src']]] + ['initialization_915',['Initialization',['../src_geometryRTheta_initialization.html',1,'src_geometryRTheta']]], + ['initialization_20methods_916',['Initialization methods',['../src_geometryXVx_initialization.html',1,'src_geometryXVx']]], + ['interpolation_20methods_917',['Interpolation Methods',['../src_interpolation.html',1,'src']]] ]; diff --git a/search/pages_6.js b/search/pages_6.js index fc7320018..5527ce4fa 100644 --- a/search/pages_6.js +++ b/search/pages_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['mappings_1067',['Mappings',['../vendor_sll_include_sll_mapping.html',1,'vendor_sll']]] + ['mappings_918',['Mappings',['../vendor_sll_include_sll_mapping.html',1,'vendor_sll']]] ]; diff --git a/search/pages_7.js b/search/pages_7.js index 1205b3d59..874990cf9 100644 --- a/search/pages_7.js +++ b/search/pages_7.js @@ -1,6 +1,6 @@ var searchData= [ - ['poisson_20solver_1068',['Poisson Solver',['../src_geometryXVx_poisson.html',1,'src_geometryXVx'],['../src_geometryXYVxVy_poisson.html',1,'src_geometryXYVxVy']]], - ['polar_20poisson_20solver_1069',['Polar Poisson solver',['../src_geometryRTheta_poisson.html',1,'src_geometryRTheta']]], - ['predictor_2dcorrector_20methods_1070',['Predictor-corrector methods',['../src_geometryRTheta_time_solver.html',1,'src_geometryRTheta']]] + ['poisson_20solver_919',['Poisson Solver',['../src_geometryXVx_poisson.html',1,'src_geometryXVx'],['../src_geometryXYVxVy_poisson.html',1,'src_geometryXYVxVy']]], + ['polar_20poisson_20solver_920',['Polar Poisson solver',['../src_geometryRTheta_poisson.html',1,'src_geometryRTheta']]], + ['predictor_2dcorrector_20methods_921',['Predictor-corrector methods',['../src_geometryRTheta_time_solver.html',1,'src_geometryRTheta']]] ]; diff --git a/search/pages_8.js b/search/pages_8.js index efb3ca37e..4bb510a43 100644 --- a/search/pages_8.js +++ b/search/pages_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['quadrature_20methods_1071',['Quadrature Methods',['../src_quadrature.html',1,'src']]] + ['quadrature_20methods_922',['Quadrature Methods',['../src_quadrature.html',1,'src']]] ]; diff --git a/search/pages_9.js b/search/pages_9.js index ea1c00e5b..38c0fb9a9 100644 --- a/search/pages_9.js +++ b/search/pages_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['rhs_1072',['RHS',['../src_geometry5D_rhs.html',1,'src_geometry5D'],['../src_geometryXVx_rhs.html',1,'src_geometryXVx']]] + ['rhs_923',['RHS',['../src_geometry5D_rhs.html',1,'src_geometry5D'],['../src_geometryXVx_rhs.html',1,'src_geometryXVx']]] ]; diff --git a/search/pages_a.js b/search/pages_a.js index 21f7bd4c1..cfae4a0e2 100644 --- a/search/pages_a.js +++ b/search/pages_a.js @@ -1,9 +1,9 @@ var searchData= [ - ['script_20to_20automise_20_3a_1073',['Script to automise :',['../tests_geometry5D_collisions.html',1,'']]], - ['selalib_2b_2b_1074',['Selalib++',['../vendor_sll.html',1,'']]], - ['sheath_20simulations_1075',['Sheath simulations',['../simulations_geometryXVx_sheath.html',1,'simulations_geometryXVx']]], - ['simulations_20in_20_28r_2c_20theta_29_20geometry_1076',['Simulations in (r, theta) geometry',['../simulations_geometryRTheta.html',1,'simulations']]], - ['simulations_20in_20_28x_2c_20vx_29_20geometry_1077',['Simulations in (x, vx) geometry',['../simulations_geometryXVx.html',1,'simulations']]], - ['spline_20interpolator_20in_20polar_20coordinates_1078',['Spline interpolator in polar coordinates',['../src_geometryRTheta_interpolation.html',1,'src_geometryRTheta']]] + ['script_20to_20automise_20_3a_924',['Script to automise :',['../tests_geometry5D_collisions.html',1,'']]], + ['selalib_2b_2b_925',['Selalib++',['../vendor_sll.html',1,'']]], + ['sheath_20simulations_926',['Sheath simulations',['../simulations_geometryXVx_sheath.html',1,'simulations_geometryXVx']]], + ['simulations_20in_20_28r_2c_20theta_29_20geometry_927',['Simulations in (r, theta) geometry',['../simulations_geometryRTheta.html',1,'simulations']]], + ['simulations_20in_20_28x_2c_20vx_29_20geometry_928',['Simulations in (x, vx) geometry',['../simulations_geometryXVx.html',1,'simulations']]], + ['spline_20interpolator_20in_20polar_20coordinates_929',['Spline interpolator in polar coordinates',['../src_geometryRTheta_interpolation.html',1,'src_geometryRTheta']]] ]; diff --git a/search/pages_b.js b/search/pages_b.js index 438ed6488..511544c2f 100644 --- a/search/pages_b.js +++ b/search/pages_b.js @@ -1,10 +1,10 @@ var searchData= [ - ['tests_1079',['Tests',['../tests.html',1,'']]], - ['tests_20_3a_20geometry_20_28r_2c_20theta_29_1080',['Tests : Geometry (r, theta)',['../tests_geometryRTheta.html',1,'tests']]], - ['tests_20on_20spline_20interpolator_20in_20polar_20coordinates_1081',['Tests on spline interpolator in polar coordinates',['../tests_geometryRTheta_2d_spline_interpolator.html',1,'tests_geometryRTheta']]], - ['tests_20on_20the_202d_20polar_20advection_20operator_1082',['Tests on the 2D polar advection operator',['../tests_geometryRTheta_advection_2d_rp.html',1,'tests_geometryRTheta']]], - ['tests_20on_20the_202d_20polar_20poisson_20solver_1083',['Tests on the 2D polar poisson solver',['../tests_geometryRTheta_polar_poisson.html',1,'tests_geometryRTheta']]], - ['time_20integration_1084',['Time integration',['../src_geometryXVx_time_integration.html',1,'src_geometryXVx']]], - ['time_20stepping_20methods_1085',['Time Stepping Methods',['../src_timestepper.html',1,'src']]] + ['tests_930',['Tests',['../tests.html',1,'']]], + ['tests_20_3a_20geometry_20_28r_2c_20theta_29_931',['Tests : Geometry (r, theta)',['../tests_geometryRTheta.html',1,'tests']]], + ['tests_20on_20spline_20interpolator_20in_20polar_20coordinates_932',['Tests on spline interpolator in polar coordinates',['../tests_geometryRTheta_2d_spline_interpolator.html',1,'tests_geometryRTheta']]], + ['tests_20on_20the_202d_20polar_20advection_20operator_933',['Tests on the 2D polar advection operator',['../tests_geometryRTheta_advection_2d_rp.html',1,'tests_geometryRTheta']]], + ['tests_20on_20the_202d_20polar_20poisson_20solver_934',['Tests on the 2D polar poisson solver',['../tests_geometryRTheta_polar_poisson.html',1,'tests_geometryRTheta']]], + ['time_20integration_935',['Time integration',['../src_geometryXVx_time_integration.html',1,'src_geometryXVx']]], + ['time_20stepping_20methods_936',['Time Stepping Methods',['../src_timestepper.html',1,'src']]] ]; diff --git a/search/pages_c.js b/search/pages_c.js index 906b12141..8422a3439 100644 --- a/search/pages_c.js +++ b/search/pages_c.js @@ -1,7 +1,7 @@ var searchData= [ - ['using_20ddc_20in_20gyselalibxx_1086',['Using DDC in Gyselalibxx',['../docs_DDC_in_gyselalibxx.html',1,'']]], - ['using_20git_1087',['Using Git',['../docs_Using_git.html',1,'']]], - ['utility_20functions_1088',['Utility Functions',['../src_utils.html',1,'src']]], - ['utils_1089',['Utils',['../src_geometryXVx_utils.html',1,'src_geometryXVx']]] + ['using_20ddc_20in_20gyselalibxx_937',['Using DDC in Gyselalibxx',['../docs_DDC_in_gyselalibxx.html',1,'']]], + ['using_20git_938',['Using Git',['../docs_Using_git.html',1,'']]], + ['utility_20functions_939',['Utility Functions',['../src_utils.html',1,'src']]], + ['utils_940',['Utils',['../src_geometryXVx_utils.html',1,'src_geometryXVx']]] ]; diff --git a/search/pages_d.js b/search/pages_d.js index 9572c47c7..d8fd7f9d6 100644 --- a/search/pages_d.js +++ b/search/pages_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['vortex_20merger_1090',['Vortex merger',['../simulations_geometryRTheta_vortex_merger.html',1,'simulations_geometryRTheta']]] + ['vortex_20merger_941',['Vortex merger',['../simulations_geometryRTheta_vortex_merger.html',1,'simulations_geometryRTheta']]] ]; diff --git a/search/searchdata.js b/search/searchdata.js index 64ee9fbc2..a1420b2ab 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -1,12 +1,12 @@ var indexSectionsWithContent = { 0: "abcdefghijklmnopqrstuv~", - 1: "abcdefgiklmnpqrstuv", + 1: "abcdefgiklmnpqrstv", 2: "g", 3: "cnqstu", 4: "abcdefghijklmnopqrstuv~", - 5: "bcmps", - 6: "bcdefgiklmnrstv", + 5: "cmps", + 6: "bcdefgilmrstv", 7: "abcdgimpqrstuv" }; diff --git a/search/typedefs_0.js b/search/typedefs_0.js index 409987261..539580d94 100644 --- a/search/typedefs_0.js +++ b/search/typedefs_0.js @@ -1,14 +1,10 @@ var searchData= [ - ['bsplinep_972',['BSplineP',['../structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2',1,'PolarSpline::BSplineP()'],['../structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5',1,'PolarSplineSpan::BSplineP()'],['../structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48',1,'PolarSplineView::BSplineP()'],['../classDiscreteToCartesian.html#aabeacc8cb7637a03d010696e2b7645ed',1,'DiscreteToCartesian::BSplineP()']]], - ['bspliner_973',['BSplineR',['../classDiscreteToCartesian.html#a56a6643d010d176c4ebe807e8d44624f',1,'DiscreteToCartesian::BSplineR()'],['../structPolarSpline.html#ad26033ae149504208d160b5ac474d613',1,'PolarSpline::BSplineR()'],['../structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49',1,'PolarSplineSpan::BSplineR()'],['../structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8',1,'PolarSplineView::BSplineR()']]], - ['bsplines_5ftype_974',['bsplines_type',['../classPolarSplineEvaluator.html#a26a1961933d750d08fb027e9142cb6ba',1,'PolarSplineEvaluator::bsplines_type()'],['../classSplineBuilder.html#a8e306ff751612410e7c80db1eeabd0c8',1,'SplineBuilder::bsplines_type()']]], - ['bsplines_5ftype1_975',['bsplines_type1',['../classSplineBuilder2D.html#aceec329f2770bef48e3d35871ae01502',1,'SplineBuilder2D::bsplines_type1()'],['../classSplineEvaluator2D.html#a61d223c29a716634e15dca19daa41955',1,'SplineEvaluator2D::bsplines_type1()']]], - ['bsplines_5ftype2_976',['bsplines_type2',['../classSplineBuilder2D.html#ad1c9fafdefd9b45835b8b89573571900',1,'SplineBuilder2D::bsplines_type2()'],['../classSplineEvaluator2D.html#a20ef11c270ad545361a8b3f683a724d8',1,'SplineEvaluator2D::bsplines_type2()']]], - ['bsplinesp_977',['BSplinesP',['../classPolarSplineEvaluator.html#a21c225b744962b5b83476156e737b46f',1,'PolarSplineEvaluator']]], - ['bsplinesp_5ftag_978',['BSplinesP_tag',['../classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169',1,'PolarBSplines']]], - ['bsplinesr_979',['BSplinesR',['../classPolarSplineEvaluator.html#af95eaa07f8890667fe4feade36d50423',1,'PolarSplineEvaluator']]], - ['bsplinesr_5ftag_980',['BSplinesR_tag',['../classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d',1,'PolarBSplines']]], - ['builder_5ftype1_981',['builder_type1',['../classSplineBuilder2D.html#a32fa22d267cdeb0722572c33fd6c6e11',1,'SplineBuilder2D']]], - ['builder_5ftype2_982',['builder_type2',['../classSplineBuilder2D.html#a0a33a10b79cf3d7273c5f20337727dff',1,'SplineBuilder2D']]] + ['bsplinep_843',['BSplineP',['../classDiscreteToCartesian.html#a5a62d9f5bba1aae83ab17068764dbc96',1,'DiscreteToCartesian::BSplineP()'],['../structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2',1,'PolarSpline::BSplineP()'],['../structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5',1,'PolarSplineSpan::BSplineP()'],['../structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48',1,'PolarSplineView::BSplineP()']]], + ['bspliner_844',['BSplineR',['../classDiscreteToCartesian.html#a8cc25d288b46b3e30dce665d9930b6e6',1,'DiscreteToCartesian::BSplineR()'],['../structPolarSpline.html#ad26033ae149504208d160b5ac474d613',1,'PolarSpline::BSplineR()'],['../structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49',1,'PolarSplineSpan::BSplineR()'],['../structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8',1,'PolarSplineView::BSplineR()']]], + ['bsplines_5ftype_845',['bsplines_type',['../classPolarSplineEvaluator.html#a4fda8acef6472fb27ffe42d078943f26',1,'PolarSplineEvaluator']]], + ['bsplinesp_846',['BSplinesP',['../classPolarSplineEvaluator.html#a372867a0573a0adaf9a9006a2d78f30c',1,'PolarSplineEvaluator']]], + ['bsplinesp_5ftag_847',['BSplinesP_tag',['../classPolarBSplines.html#a00c59661715ccfa45c849ab6e0a5e169',1,'PolarBSplines']]], + ['bsplinesr_848',['BSplinesR',['../classPolarSplineEvaluator.html#af825f47ac1278302e5dd3ac0d906f09c',1,'PolarSplineEvaluator']]], + ['bsplinesr_5ftag_849',['BSplinesR_tag',['../classPolarBSplines.html#ae85f7d8e49f34f2ba35a41702439012d',1,'PolarBSplines']]] ]; diff --git a/search/typedefs_1.js b/search/typedefs_1.js index 46bfb22d6..665963708 100644 --- a/search/typedefs_1.js +++ b/search/typedefs_1.js @@ -1,18 +1,13 @@ var searchData= [ - ['cartesian_5ftag_5fx_983',['cartesian_tag_x',['../classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd',1,'Curvilinear2DToCartesian::cartesian_tag_x()'],['../classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31',1,'CzarnyToCartesian::cartesian_tag_x()'],['../classDiscreteToCartesian.html#a0859a3a3f5153b0803dec995b33da10f',1,'DiscreteToCartesian::cartesian_tag_x()'],['../classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b',1,'CircularToCartesian::cartesian_tag_x()']]], - ['cartesian_5ftag_5fy_984',['cartesian_tag_y',['../classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b',1,'CircularToCartesian::cartesian_tag_y()'],['../classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4',1,'Curvilinear2DToCartesian::cartesian_tag_y()'],['../classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314',1,'CzarnyToCartesian::cartesian_tag_y()'],['../classDiscreteToCartesian.html#a3915c637ee4b9d88366151d7906155b0',1,'DiscreteToCartesian::cartesian_tag_y()']]], - ['chunk_5ftype_985',['chunk_type',['../classVectorField.html#a17028a562655b6e58926450f8849b066',1,'VectorField::chunk_type()'],['../classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e',1,'VectorFieldSpan::chunk_type()']]], - ['circular_5ftag_5fp_986',['circular_tag_p',['../classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026',1,'CircularToCartesian::circular_tag_p()'],['../classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156',1,'CzarnyToCartesian::circular_tag_p()'],['../classDiscreteToCartesian.html#ae1c7b39ab242d555ed6f74529cce5ccc',1,'DiscreteToCartesian::circular_tag_p()']]], - ['circular_5ftag_5fr_987',['circular_tag_r',['../classCircularToCartesian.html#a542194138b7c390892767e6f142885f1',1,'CircularToCartesian::circular_tag_r()'],['../classDiscreteToCartesian.html#a6bed491350aa17dda83454512e3ea70e',1,'DiscreteToCartesian::circular_tag_r()'],['../classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5',1,'CzarnyToCartesian::circular_tag_r()']]], - ['coord_5ftype_988',['coord_type',['../classConstantExtrapolationBoundaryValue.html#af08b80060384a655dc1b1e8c96a65086',1,'ConstantExtrapolationBoundaryValue']]], - ['coord_5ftype1_989',['coord_type1',['../classConstantExtrapolationBoundaryValue2D.html#a299e90d013db5760d9d5eddf09e65983',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype2_990',['coord_type2',['../classConstantExtrapolationBoundaryValue2D.html#af2dbe50fa1a5e2c0a886f68050b0cb14',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype_5fbc_991',['coord_type_bc',['../classConstantExtrapolationBoundaryValue2D.html#a60fca7bd0cfc5d62eac436aed6999478',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coord_5ftype_5fno_5fbc_992',['coord_type_no_bc',['../classConstantExtrapolationBoundaryValue2D.html#a29a881d8ec135b757133504275194143',1,'ConstantExtrapolationBoundaryValue2D']]], - ['coordinate_5fconverter_5ftype_993',['coordinate_converter_type',['../classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c',1,'PoissonSolution']]], - ['coordxy_5fadv_994',['CoordXY_adv',['../classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161',1,'AdvectionPhysicalDomain::CoordXY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1',1,'AdvectionPseudoCartesianDomain::CoordXY_adv()']]], - ['curvilinear_5ftag_5fp_995',['curvilinear_tag_p',['../classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e',1,'Curvilinear2DToCartesian']]], - ['curvilinear_5ftag_5fr_996',['curvilinear_tag_r',['../classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4',1,'Curvilinear2DToCartesian']]], - ['curvilineartocartesian_997',['CurvilinearToCartesian',['../classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736',1,'ManufacturedPoissonTest']]] + ['cartesian_5ftag_5fx_850',['cartesian_tag_x',['../classCurvilinear2DToCartesian.html#a9cb912db07408d26313286d6e63b7bcd',1,'Curvilinear2DToCartesian::cartesian_tag_x()'],['../classCzarnyToCartesian.html#aaba474911a7da6aa138410d98247ec31',1,'CzarnyToCartesian::cartesian_tag_x()'],['../classDiscreteToCartesian.html#a0516a634ec97a4e6c9b83bb78b21d087',1,'DiscreteToCartesian::cartesian_tag_x()'],['../classCircularToCartesian.html#a70e85d10d298749949a9711ce3eade0b',1,'CircularToCartesian::cartesian_tag_x()']]], + ['cartesian_5ftag_5fy_851',['cartesian_tag_y',['../classCircularToCartesian.html#aaed05c5f5e1d835ec39f96b6ef83973b',1,'CircularToCartesian::cartesian_tag_y()'],['../classCurvilinear2DToCartesian.html#ae9965205c1ab71d705776f51eea676a4',1,'Curvilinear2DToCartesian::cartesian_tag_y()'],['../classCzarnyToCartesian.html#a9a91a4434587565257be6cff97b8e314',1,'CzarnyToCartesian::cartesian_tag_y()'],['../classDiscreteToCartesian.html#a4a47016434b23eceeb14da74fff5bdb5',1,'DiscreteToCartesian::cartesian_tag_y()']]], + ['chunk_5ftype_852',['chunk_type',['../classVectorField.html#a17028a562655b6e58926450f8849b066',1,'VectorField::chunk_type()'],['../classVectorFieldSpan.html#a1403b2b999f37027f7dc54e056ad5c0e',1,'VectorFieldSpan::chunk_type()']]], + ['circular_5ftag_5fp_853',['circular_tag_p',['../classCzarnyToCartesian.html#a05cb8ed64e6366322b7842905b696156',1,'CzarnyToCartesian::circular_tag_p()'],['../classDiscreteToCartesian.html#a1c8ed111382283d1656c8509ffce07ea',1,'DiscreteToCartesian::circular_tag_p()'],['../classCircularToCartesian.html#abec560df7454143d674f8ed2172ed026',1,'CircularToCartesian::circular_tag_p()']]], + ['circular_5ftag_5fr_854',['circular_tag_r',['../classCircularToCartesian.html#a542194138b7c390892767e6f142885f1',1,'CircularToCartesian::circular_tag_r()'],['../classCzarnyToCartesian.html#a2accff89f6adf775ecd46e7a467938b5',1,'CzarnyToCartesian::circular_tag_r()'],['../classDiscreteToCartesian.html#a8a15804f7a85290d750293738aaf7594',1,'DiscreteToCartesian::circular_tag_r()']]], + ['coordinate_5fconverter_5ftype_855',['coordinate_converter_type',['../classPoissonSolution.html#a6451537e7ef15aa643718b9fec5c998c',1,'PoissonSolution']]], + ['coordxy_5fadv_856',['CoordXY_adv',['../classAdvectionPhysicalDomain.html#a968df0b266b2ba52b3bffd1982170161',1,'AdvectionPhysicalDomain::CoordXY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a6f41e47d28f2b78e657fafb7d45c4aa1',1,'AdvectionPseudoCartesianDomain::CoordXY_adv()']]], + ['curvilinear_5ftag_5fp_857',['curvilinear_tag_p',['../classCurvilinear2DToCartesian.html#aac63520a80a234284330365afcf42c1e',1,'Curvilinear2DToCartesian']]], + ['curvilinear_5ftag_5fr_858',['curvilinear_tag_r',['../classCurvilinear2DToCartesian.html#aaf43cce0853afcd23bbd60a9563c50f4',1,'Curvilinear2DToCartesian']]], + ['curvilineartocartesian_859',['CurvilinearToCartesian',['../classManufacturedPoissonTest.html#a7349fe81c3343867df59d8e72a110736',1,'ManufacturedPoissonTest']]] ]; diff --git a/search/typedefs_2.js b/search/typedefs_2.js index fc883fe3a..99845260c 100644 --- a/search/typedefs_2.js +++ b/search/typedefs_2.js @@ -1,12 +1,10 @@ var searchData= [ - ['ddimsp_998',['DDimSp',['../classGeometryXYVxVy.html#a9be0f111d79a4e10d3bc86050fc28f57',1,'GeometryXYVxVy::DDimSp()'],['../classGeometryXVx.html#a68959bdc90d5ba5d2b06ccc6bb0728fc',1,'GeometryXVx::DDimSp()']]], - ['dim1_999',['Dim1',['../classConstantExtrapolationBoundaryValue2D.html#a026277035a0c82fcacad36615880c0b2',1,'ConstantExtrapolationBoundaryValue2D::Dim1()'],['../classSplineEvaluator2D.html#a447cf63370c2b8a11dc0dea976e780fb',1,'SplineEvaluator2D::Dim1()']]], - ['dim2_1000',['Dim2',['../classConstantExtrapolationBoundaryValue2D.html#a387b995ef1c83a6231f48f639b8cceb2',1,'ConstantExtrapolationBoundaryValue2D::Dim2()'],['../classSplineEvaluator2D.html#a4256b16add450444f496675008d3c474',1,'SplineEvaluator2D::Dim2()']]], - ['dimp_1001',['DimP',['../classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a',1,'PolarBSplines::DimP()'],['../classPolarSplineEvaluator.html#a6d98892294bafa10455c71f68c0cfb12',1,'PolarSplineEvaluator::DimP()']]], - ['dimr_1002',['DimR',['../classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d',1,'PolarBSplines::DimR()'],['../classPolarSplineEvaluator.html#a131aa5dd99b62b024c4b0ae386db1489',1,'PolarSplineEvaluator::DimR()']]], - ['discrete_5fdimension_5ftype_1003',['discrete_dimension_type',['../classSpeciesInformation.html#af77dd55f79155df4dab9bf490d900a07',1,'SpeciesInformation::discrete_dimension_type()'],['../classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d',1,'PolarBSplines::Impl::discrete_dimension_type()'],['../classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da',1,'PolarBSplines::discrete_dimension_type()'],['../classSpeciesInformation_1_1Impl.html#a79dd22b07e0b671a5f85b7a1d47c10a4',1,'SpeciesInformation::Impl::discrete_dimension_type()']]], - ['discrete_5fdomain_5ftype_1004',['discrete_domain_type',['../classSpeciesInformation.html#a31f68f10d7b75908ecb398bdf109bec9',1,'SpeciesInformation::discrete_domain_type()'],['../classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4',1,'PolarBSplines::discrete_domain_type()']]], - ['discrete_5felement_5ftype_1005',['discrete_element_type',['../classSpeciesInformation.html#a8e46a5b4955a5164dbc6703fd7a86eb4',1,'SpeciesInformation::discrete_element_type()'],['../classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6',1,'PolarBSplines::discrete_element_type()']]], - ['discrete_5fvector_5ftype_1006',['discrete_vector_type',['../classSpeciesInformation.html#a7e78c8b4febd8b9a350cc3d38931befd',1,'SpeciesInformation::discrete_vector_type()'],['../classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d',1,'PolarBSplines::discrete_vector_type()']]] + ['ddimsp_860',['DDimSp',['../classGeometryXVx.html#a68959bdc90d5ba5d2b06ccc6bb0728fc',1,'GeometryXVx::DDimSp()'],['../classGeometryXYVxVy.html#a9be0f111d79a4e10d3bc86050fc28f57',1,'GeometryXYVxVy::DDimSp()']]], + ['dimp_861',['DimP',['../classPolarBSplines.html#a07b201e46fe1f666019ca6a9f85b5c1a',1,'PolarBSplines::DimP()'],['../classPolarSplineEvaluator.html#add8585efe107f2cb0e91a765d71f68ec',1,'PolarSplineEvaluator::DimP()']]], + ['dimr_862',['DimR',['../classPolarBSplines.html#a36f25fbe8494742d19c56b2940498c8d',1,'PolarBSplines::DimR()'],['../classPolarSplineEvaluator.html#aaccc486ada502c4b48ab55b683c2cbb7',1,'PolarSplineEvaluator::DimR()']]], + ['discrete_5fdimension_5ftype_863',['discrete_dimension_type',['../classSpeciesInformation.html#af77dd55f79155df4dab9bf490d900a07',1,'SpeciesInformation::discrete_dimension_type()'],['../classSpeciesInformation_1_1Impl.html#a79dd22b07e0b671a5f85b7a1d47c10a4',1,'SpeciesInformation::Impl::discrete_dimension_type()'],['../classPolarBSplines.html#ad482878a50c6e37c0d5b453a93a7e4da',1,'PolarBSplines::discrete_dimension_type()'],['../classPolarBSplines_1_1Impl.html#aaf6866a2bb501564808f8ba20a3e962d',1,'PolarBSplines::Impl::discrete_dimension_type()']]], + ['discrete_5fdomain_5ftype_864',['discrete_domain_type',['../classSpeciesInformation.html#a31f68f10d7b75908ecb398bdf109bec9',1,'SpeciesInformation::discrete_domain_type()'],['../classPolarBSplines.html#a9a888a2594104eb3856635483b02eef4',1,'PolarBSplines::discrete_domain_type()']]], + ['discrete_5felement_5ftype_865',['discrete_element_type',['../classSpeciesInformation.html#a8e46a5b4955a5164dbc6703fd7a86eb4',1,'SpeciesInformation::discrete_element_type()'],['../classPolarBSplines.html#a916799a5095e2fe849b9ac43ff7541c6',1,'PolarBSplines::discrete_element_type()']]], + ['discrete_5fvector_5ftype_866',['discrete_vector_type',['../classSpeciesInformation.html#a7e78c8b4febd8b9a350cc3d38931befd',1,'SpeciesInformation::discrete_vector_type()'],['../classPolarBSplines.html#af310fcd36f0c590def11db28f5dab54d',1,'PolarBSplines::discrete_vector_type()']]] ]; diff --git a/search/typedefs_3.js b/search/typedefs_3.js index 60c8ad501..b88cc4396 100644 --- a/search/typedefs_3.js +++ b/search/typedefs_3.js @@ -1,4 +1,5 @@ var searchData= [ - ['element_5ftype_1007',['element_type',['../classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d',1,'VectorField::element_type()'],['../classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0',1,'VectorFieldSpan::element_type()']]] + ['element_5ftype_867',['element_type',['../classVectorField.html#a7d71d064cda609eb5a4bd7a5b8ca870d',1,'VectorField::element_type()'],['../classVectorFieldSpan.html#a2068672157fb033bbdb9a634f8e678a0',1,'VectorFieldSpan::element_type()']]], + ['evaluator_5ftype_868',['evaluator_type',['../classSplineInterpolatorRP.html#abe963c4d63a8d95b2d5401699305787f',1,'SplineInterpolatorRP::evaluator_type()'],['../classPreallocatableSplineInterpolatorRP.html#abdf68fc355d1eb8329a511896febde4c',1,'PreallocatableSplineInterpolatorRP::evaluator_type()'],['../classPoissonRHSFunction.html#aa1f52a141ac086564a6cd00ddaa6f01b',1,'PoissonRHSFunction::evaluator_type()']]] ]; diff --git a/search/typedefs_4.js b/search/typedefs_4.js index c61479c03..a6ef74a5c 100644 --- a/search/typedefs_4.js +++ b/search/typedefs_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['fdistribuddom_1008',['FdistribuDDom',['../classGeometryXVx.html#a01dd11ecfb6414512e1f8cbaf204c5cd',1,'GeometryXVx::FdistribuDDom()'],['../classGeometryXYVxVy.html#a78e6b9a2d43d06e94d551cc736801e90',1,'GeometryXYVxVy::FdistribuDDom()']]] + ['fdistribuddom_869',['FdistribuDDom',['../classGeometryXVx.html#a01dd11ecfb6414512e1f8cbaf204c5cd',1,'GeometryXVx::FdistribuDDom()'],['../classGeometryXYVxVy.html#a78e6b9a2d43d06e94d551cc736801e90',1,'GeometryXYVxVy::FdistribuDDom()']]] ]; diff --git a/search/typedefs_5.js b/search/typedefs_5.js index 59bc7d5e7..7eb49528e 100644 --- a/search/typedefs_5.js +++ b/search/typedefs_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['ghosted_5fvx_5fpoint_5fsampling_1009',['ghosted_vx_point_sampling',['../classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524',1,'CollisionsIntra']]], - ['ghosted_5fvx_5fstaggered_5fpoint_5fsampling_1010',['ghosted_vx_staggered_point_sampling',['../classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d',1,'CollisionsIntra']]] + ['ghosted_5fvx_5fpoint_5fsampling_870',['ghosted_vx_point_sampling',['../classCollisionsIntra.html#a48b47bcef17a6eacebe77247026b8524',1,'CollisionsIntra']]], + ['ghosted_5fvx_5fstaggered_5fpoint_5fsampling_871',['ghosted_vx_staggered_point_sampling',['../classCollisionsIntra.html#a10027e09096499cca4d7b2dda2afa60d',1,'CollisionsIntra']]] ]; diff --git a/search/typedefs_6.js b/search/typedefs_6.js index 48ed5c9f8..a2aa39acc 100644 --- a/search/typedefs_6.js +++ b/search/typedefs_6.js @@ -1,17 +1,11 @@ var searchData= [ - ['idimp_1011',['IDimP',['../classDiscreteToCartesian.html#a28e4fcd138bbb895cfe2af37da909119',1,'DiscreteToCartesian']]], - ['idimr_1012',['IDimR',['../classDiscreteToCartesian.html#afd9f4a75683b2b502184ec363897300a',1,'DiscreteToCartesian']]], - ['idomainspxvx_5fghosted_1013',['IDomainSpXVx_ghosted',['../classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e',1,'CollisionsIntra']]], - ['idomainspxvx_5fghosted_5fstaggered_1014',['IDomainSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb',1,'CollisionsIntra']]], - ['indexspxvx_5fghosted_1015',['IndexSpXVx_ghosted',['../classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945',1,'CollisionsIntra']]], - ['indexspxvx_5fghosted_5fstaggered_1016',['IndexSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625',1,'CollisionsIntra']]], - ['indexvx_5fghosted_1017',['IndexVx_ghosted',['../classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858',1,'CollisionsIntra']]], - ['indexvx_5fghosted_5fstaggered_1018',['IndexVx_ghosted_staggered',['../classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd',1,'CollisionsIntra']]], - ['interpolation_5fdomain_5ftype_1019',['interpolation_domain_type',['../classSplineBuilder.html#aec9bd498c486b22848aeb026de467fcf',1,'SplineBuilder::interpolation_domain_type()'],['../classSplineBuilder2D.html#a35bda9e84e8cb84738504561b0263968',1,'SplineBuilder2D::interpolation_domain_type()']]], - ['interpolation_5fdomain_5ftype1_1020',['interpolation_domain_type1',['../classSplineBuilder2D.html#aef863d05ef8f81f401a463b333d076b7',1,'SplineBuilder2D']]], - ['interpolation_5fdomain_5ftype2_1021',['interpolation_domain_type2',['../classSplineBuilder2D.html#a8ae9bfa7b55d920faeb880abbb1a0c0c',1,'SplineBuilder2D']]], - ['interpolation_5fmesh_5ftype_1022',['interpolation_mesh_type',['../classGrevilleInterpolationPoints.html#a80607a4c866ff36244d980e41870a347',1,'GrevilleInterpolationPoints::interpolation_mesh_type()'],['../classKnotsAsInterpolationPoints.html#a9a6cd19c503370d4a3abf8083bbfad57',1,'KnotsAsInterpolationPoints::interpolation_mesh_type()']]], - ['interpolation_5fmesh_5ftype1_1023',['interpolation_mesh_type1',['../classSplineBuilder2D.html#ad56825cbd307241b22beb1d33eaea1f4',1,'SplineBuilder2D']]], - ['interpolation_5fmesh_5ftype2_1024',['interpolation_mesh_type2',['../classSplineBuilder2D.html#ad02722b76506e82b67798ccee4c52fff',1,'SplineBuilder2D']]] + ['idimp_872',['IDimP',['../classDiscreteToCartesian.html#a6f3ffd5e1a75024792d0c1b084c1f772',1,'DiscreteToCartesian']]], + ['idimr_873',['IDimR',['../classDiscreteToCartesian.html#a8724b6b60097ada309a254030df44ed2',1,'DiscreteToCartesian']]], + ['idomainspxvx_5fghosted_874',['IDomainSpXVx_ghosted',['../classCollisionsIntra.html#a0b9b6393f5916d8c0800619c8e61f72e',1,'CollisionsIntra']]], + ['idomainspxvx_5fghosted_5fstaggered_875',['IDomainSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4d4250ba0b147a7cef591f7c59d3dfdb',1,'CollisionsIntra']]], + ['indexspxvx_5fghosted_876',['IndexSpXVx_ghosted',['../classCollisionsIntra.html#a03cc4113e786ec36151aa361cb1b1945',1,'CollisionsIntra']]], + ['indexspxvx_5fghosted_5fstaggered_877',['IndexSpXVx_ghosted_staggered',['../classCollisionsIntra.html#a4c6cb4669bc2fc8a808ec91866d06625',1,'CollisionsIntra']]], + ['indexvx_5fghosted_878',['IndexVx_ghosted',['../classCollisionsIntra.html#aafd4699b36713534bcb92d914a0aa858',1,'CollisionsIntra']]], + ['indexvx_5fghosted_5fstaggered_879',['IndexVx_ghosted_staggered',['../classCollisionsIntra.html#a3c4e465ab60fe9da737ad3730965a3bd',1,'CollisionsIntra']]] ]; diff --git a/search/typedefs_7.js b/search/typedefs_7.js index 9324e8c5b..bd2b15de2 100644 --- a/search/typedefs_7.js +++ b/search/typedefs_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['knotdim_1025',['KnotDim',['../classNonUniformBSplines.html#a266155b617441df530bb202effb00199',1,'NonUniformBSplines::KnotDim()'],['../classUniformBSplines.html#a35a003b75d534eac96c099cb4fdcad0f',1,'UniformBSplines::KnotDim()']]] + ['layout_5ftype_880',['layout_type',['../classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb',1,'VectorFieldSpan']]] ]; diff --git a/search/typedefs_8.js b/search/typedefs_8.js index d5d108ea0..a681646b4 100644 --- a/search/typedefs_8.js +++ b/search/typedefs_8.js @@ -1,4 +1,8 @@ var searchData= [ - ['layout_5ftype_1026',['layout_type',['../classVectorFieldSpan.html#afb64624cf289a427bf7e964b58d7d6cb',1,'VectorFieldSpan']]] + ['matrix2x2_881',['Matrix2x2',['../classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf',1,'AdvectionPseudoCartesianDomain']]], + ['matrix_5f2x2_882',['Matrix_2x2',['../classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730',1,'AdvectionFieldFinder::Matrix_2x2()'],['../classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664',1,'CircularToCartesian::Matrix_2x2()'],['../classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c',1,'Curvilinear2DToCartesian::Matrix_2x2()'],['../classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c',1,'CzarnyToCartesian::Matrix_2x2()'],['../classDiscreteToCartesian.html#acebb0c8ce43be04e7bd8a097f7415514',1,'DiscreteToCartesian::Matrix_2x2()']]], + ['mdl_883',['MDL',['../classCollisions.html#aaa296103febae7bee56fa356c4708444',1,'Collisions']]], + ['mdomain_5ftype_884',['mdomain_type',['../classVectorField.html#ab896e267b63db730e4344e1e15f2956f',1,'VectorField::mdomain_type()'],['../classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4',1,'VectorFieldSpan::mdomain_type()']]], + ['memory_5fspace_885',['memory_space',['../classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478',1,'VectorField::memory_space()'],['../classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c',1,'VectorFieldSpan::memory_space()']]] ]; diff --git a/search/typedefs_9.js b/search/typedefs_9.js index 2ff0f3aa4..f704a38cd 100644 --- a/search/typedefs_9.js +++ b/search/typedefs_9.js @@ -1,9 +1,5 @@ var searchData= [ - ['matrix2x2_1027',['Matrix2x2',['../classAdvectionPseudoCartesianDomain.html#af2cc143c4ef6ae87db82c3fd7add6dbf',1,'AdvectionPseudoCartesianDomain']]], - ['matrix_5f2x2_1028',['Matrix_2x2',['../classAdvectionFieldFinder.html#adc93eaa4ffdf24734faae6857ee43730',1,'AdvectionFieldFinder::Matrix_2x2()'],['../classCircularToCartesian.html#afdac5ab113c09b1b53029e479f224664',1,'CircularToCartesian::Matrix_2x2()'],['../classCurvilinear2DToCartesian.html#ad0f61c18363bff817f9c34f2b03e8d4c',1,'Curvilinear2DToCartesian::Matrix_2x2()'],['../classCzarnyToCartesian.html#a3c3bdf0e9db5495c57f16c361943928c',1,'CzarnyToCartesian::Matrix_2x2()'],['../classDiscreteToCartesian.html#aff278fecc61e7bf4519da6b8e32f6fa8',1,'DiscreteToCartesian::Matrix_2x2()']]], - ['mdl_1029',['MDL',['../classCollisions.html#aaa296103febae7bee56fa356c4708444',1,'Collisions']]], - ['mdomain_5ftype_1030',['mdomain_type',['../classVectorField.html#ab896e267b63db730e4344e1e15f2956f',1,'VectorField::mdomain_type()'],['../classVectorFieldSpan.html#a02615c4513fb510c9fdc12db6d776df4',1,'VectorFieldSpan::mdomain_type()']]], - ['memory_5fspace_1031',['memory_space',['../classVectorField.html#a7df5bf4cd762372ba4ae06c99b6ed478',1,'VectorField::memory_space()'],['../classVectorFieldSpan.html#a7a58d951bcf7190337944ef8a3789e1c',1,'VectorFieldSpan::memory_space()']]], - ['mesh_5ftype_1032',['mesh_type',['../classSplineBuilder.html#a277cde780e9a94f7f2dbc8a3fef5e4ff',1,'SplineBuilder']]] + ['rdimx_5fadv_886',['RDimX_adv',['../classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812',1,'AdvectionPhysicalDomain::RDimX_adv()'],['../classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a',1,'AdvectionPseudoCartesianDomain::RDimX_adv()']]], + ['rdimy_5fadv_887',['RDimY_adv',['../classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496',1,'AdvectionPhysicalDomain::RDimY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b',1,'AdvectionPseudoCartesianDomain::RDimY_adv()']]] ]; diff --git a/search/typedefs_a.js b/search/typedefs_a.js index 3382c1765..d84eb4332 100644 --- a/search/typedefs_a.js +++ b/search/typedefs_a.js @@ -1,4 +1,6 @@ var searchData= [ - ['nobcdim_1033',['NoBCDim',['../classConstantExtrapolationBoundaryValue2D.html#a75bbdf35f1f8bcb4893cbae1fae4414b',1,'ConstantExtrapolationBoundaryValue2D']]] + ['span_5ftype_888',['span_type',['../classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41',1,'VectorField::span_type()'],['../classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3',1,'VectorFieldSpan::span_type()']]], + ['spatial_5fdim_5ffor_889',['spatial_dim_for',['../classGeometryXVx.html#ab25a8b2541d4cb66330b480e41b252f9',1,'GeometryXVx']]], + ['spatialddom_890',['SpatialDDom',['../classGeometryXVx.html#aae0be9b78f75cf231259785f2ffd4862',1,'GeometryXVx::SpatialDDom()'],['../classGeometryXYVxVy.html#a93e46a882dc277945ed3d50d7cb892ad',1,'GeometryXYVxVy::SpatialDDom()']]] ]; diff --git a/search/typedefs_b.js b/search/typedefs_b.js index 6f1c6d1f3..116569818 100644 --- a/search/typedefs_b.js +++ b/search/typedefs_b.js @@ -1,5 +1,7 @@ var searchData= [ - ['rdimx_5fadv_1034',['RDimX_adv',['../classAdvectionPhysicalDomain.html#a77b189d95314b128a28c1cc16cb82812',1,'AdvectionPhysicalDomain::RDimX_adv()'],['../classAdvectionPseudoCartesianDomain.html#a76a522695ce2d2704583afb7a91f218a',1,'AdvectionPseudoCartesianDomain::RDimX_adv()']]], - ['rdimy_5fadv_1035',['RDimY_adv',['../classAdvectionPhysicalDomain.html#ade892d96a026786816cc72679b18e496',1,'AdvectionPhysicalDomain::RDimY_adv()'],['../classAdvectionPseudoCartesianDomain.html#a761b8ac4b157cce005008ca24ba11c2b',1,'AdvectionPseudoCartesianDomain::RDimY_adv()']]] + ['tensor_5fproduct_5fdiscrete_5fdomain_5ftype_891',['tensor_product_discrete_domain_type',['../classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d',1,'PolarBSplines']]], + ['tensor_5fproduct_5fdiscrete_5felement_5ftype_892',['tensor_product_discrete_element_type',['../classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe',1,'PolarBSplines']]], + ['tensor_5fproduct_5fdiscrete_5fvector_5ftype_893',['tensor_product_discrete_vector_type',['../classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6',1,'PolarBSplines']]], + ['type_894',['type',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html#a01b41fecaeb84e4397c995d4bcfca4f7',1,'interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >']]] ]; diff --git a/search/typedefs_c.js b/search/typedefs_c.js index 4f4743a11..8b61807d9 100644 --- a/search/typedefs_c.js +++ b/search/typedefs_c.js @@ -1,6 +1,6 @@ var searchData= [ - ['span_5ftype_1036',['span_type',['../classVectorField.html#a94d0034047dacae6e8a7f87d8b21fc41',1,'VectorField::span_type()'],['../classVectorFieldSpan.html#a159b7fcc46c877cd175b88be6b47d2d3',1,'VectorFieldSpan::span_type()']]], - ['spatial_5fdim_5ffor_1037',['spatial_dim_for',['../classGeometryXVx.html#ab25a8b2541d4cb66330b480e41b252f9',1,'GeometryXVx']]], - ['spatialddom_1038',['SpatialDDom',['../classGeometryXVx.html#aae0be9b78f75cf231259785f2ffd4862',1,'GeometryXVx::SpatialDDom()'],['../classGeometryXYVxVy.html#a93e46a882dc277945ed3d50d7cb892ad',1,'GeometryXYVxVy::SpatialDDom()']]] + ['velocity_5fdim_5ffor_895',['velocity_dim_for',['../classGeometryXVx.html#a90587dbc849cee58b202b991ada76d10',1,'GeometryXVx::velocity_dim_for()'],['../classGeometryXYVxVy.html#a9478473d2c2f743cbd876536fb40fcc0',1,'GeometryXYVxVy::velocity_dim_for()']]], + ['velocityddom_896',['VelocityDDom',['../classGeometryXVx.html#a9793a4dcc9baef9a3e17e9ecca354940',1,'GeometryXVx::VelocityDDom()'],['../classGeometryXYVxVy.html#a32ca2463cf7921342f7816c97121eddb',1,'GeometryXYVxVy::VelocityDDom()']]], + ['view_5ftype_897',['view_type',['../classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd',1,'VectorField::view_type()'],['../classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f',1,'VectorFieldSpan::view_type()']]] ]; diff --git a/search/typedefs_d.html b/search/typedefs_d.html deleted file mode 100644 index 7b7ff3008..000000000 --- a/search/typedefs_d.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/search/typedefs_d.js b/search/typedefs_d.js deleted file mode 100644 index ef9eafaaa..000000000 --- a/search/typedefs_d.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['tag_5ftype_1039',['tag_type',['../classConstantExtrapolationBoundaryValue.html#aae8a770049d4897e5472c2d01772bf5e',1,'ConstantExtrapolationBoundaryValue']]], - ['tensor_5fproduct_5fdiscrete_5fdomain_5ftype_1040',['tensor_product_discrete_domain_type',['../classPolarBSplines.html#a80fbb43730f6b755755d7641f727a93d',1,'PolarBSplines']]], - ['tensor_5fproduct_5fdiscrete_5felement_5ftype_1041',['tensor_product_discrete_element_type',['../classPolarBSplines.html#a702d43d6d57622232401eca237f82bfe',1,'PolarBSplines']]], - ['tensor_5fproduct_5fdiscrete_5fvector_5ftype_1042',['tensor_product_discrete_vector_type',['../classPolarBSplines.html#a94827b147e44e22abf6169d1aaf131a6',1,'PolarBSplines']]], - ['type_1043',['type',['../structinterpolator__on__domain_3_01Interp_00_01DDimI_00_01ddc_1_1DiscreteDomain_3_01DDim_8_8_8_01_4_01_4.html#a01b41fecaeb84e4397c995d4bcfca4f7',1,'interpolator_on_domain< Interp, DDimI, ddc::DiscreteDomain< DDim... > >']]] -]; diff --git a/search/typedefs_e.html b/search/typedefs_e.html deleted file mode 100644 index 97b2a8eb2..000000000 --- a/search/typedefs_e.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/search/typedefs_e.js b/search/typedefs_e.js deleted file mode 100644 index 2ad445504..000000000 --- a/search/typedefs_e.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['velocity_5fdim_5ffor_1044',['velocity_dim_for',['../classGeometryXVx.html#a90587dbc849cee58b202b991ada76d10',1,'GeometryXVx::velocity_dim_for()'],['../classGeometryXYVxVy.html#a9478473d2c2f743cbd876536fb40fcc0',1,'GeometryXYVxVy::velocity_dim_for()']]], - ['velocityddom_1045',['VelocityDDom',['../classGeometryXVx.html#a9793a4dcc9baef9a3e17e9ecca354940',1,'GeometryXVx::VelocityDDom()'],['../classGeometryXYVxVy.html#a32ca2463cf7921342f7816c97121eddb',1,'GeometryXYVxVy::VelocityDDom()']]], - ['view_5ftype_1046',['view_type',['../classVectorField.html#a3ec69912b7bbe42bf8302013b4ee3bcd',1,'VectorField::view_type()'],['../classVectorFieldSpan.html#ae3ef9487bd121b575f80db5989536a2f',1,'VectorFieldSpan::view_type()']]] -]; diff --git a/search/variables_0.js b/search/variables_0.js index b555c9be5..28df3e863 100644 --- a/search/variables_0.js +++ b/search/variables_0.js @@ -1,10 +1,4 @@ var searchData= [ - ['bcxmax1_934',['BcXmax1',['../classSplineBuilder2D.html#a5bcc32d76f7854b726985e68fd74f2ab',1,'SplineBuilder2D']]], - ['bcxmax2_935',['BcXmax2',['../classSplineBuilder2D.html#a5408d23c1dda012129181cb7d73842ac',1,'SplineBuilder2D']]], - ['bcxmin1_936',['BcXmin1',['../classSplineBuilder2D.html#a12e1bcbe62375a83e3f983047bec8605',1,'SplineBuilder2D']]], - ['bcxmin2_937',['BcXmin2',['../classSplineBuilder2D.html#a4ec08d11ae6959f79f441a6c59c7d964',1,'SplineBuilder2D']]], - ['bsplines1_5fis_5fperiodic_938',['BSplines1_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#ae0efdcf994a473793187c15d457644ac',1,'ConstantExtrapolationBoundaryValue2D']]], - ['bsplines2_5fis_5fperiodic_939',['BSplines2_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#a919241d1d62db14ce4b9eabe93b23469',1,'ConstantExtrapolationBoundaryValue2D']]], - ['bsplinesnobc_5fis_5fperiodic_940',['BSplinesNoBC_is_periodic',['../classConstantExtrapolationBoundaryValue2D.html#adaa000f80443f67449caf90ced1ecc50',1,'ConstantExtrapolationBoundaryValue2D']]] + ['continuity_820',['continuity',['../classPolarBSplines.html#ae3830973693187e44d326d18089c12b5',1,'PolarBSplines::continuity()'],['../classPolarSplineEvaluator.html#a8c79ae1222acad5fdce6d148582c67ad',1,'PolarSplineEvaluator::continuity()']]] ]; diff --git a/search/variables_1.js b/search/variables_1.js index 586d9ee50..5cdfec8e3 100644 --- a/search/variables_1.js +++ b/search/variables_1.js @@ -1,4 +1,19 @@ var searchData= [ - ['continuity_941',['continuity',['../classPolarBSplines.html#ae3830973693187e44d326d18089c12b5',1,'PolarBSplines::continuity()'],['../classPolarSplineEvaluator.html#a15aee591887e56951f682344a630d204',1,'PolarSplineEvaluator::continuity()']]] + ['m_5fadvection_5ffield_821',['m_advection_field',['../classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15',1,'AdvectionFieldSimulation::m_advection_field()'],['../classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb',1,'AdvectionSimulation::m_advection_field()']]], + ['m_5fb_5fnorm_822',['m_B_norm',['../classCollisions.html#a8511215c1884f50c3d689983d2b7303c',1,'Collisions']]], + ['m_5fbstar_5fs_823',['m_Bstar_s',['../classCollisions.html#a90e619814468ac7ac68c78c849d77a02',1,'Collisions']]], + ['m_5fcomb_5fmat_824',['m_comb_mat',['../classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b',1,'Collisions']]], + ['m_5fcoordinate_5fconverter_825',['m_coordinate_converter',['../classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0',1,'PoissonSolution']]], + ['m_5felectrostatical_5fpotential_826',['m_electrostatical_potential',['../classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed',1,'AdvectionFieldSimulation']]], + ['m_5ffunction_827',['m_function',['../classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca',1,'AdvectionSimulation::m_function()'],['../classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259',1,'AdvectionFieldSimulation::m_function()']]], + ['m_5fhat_5fas_828',['m_hat_As',['../classCollisions.html#af03302549e2a96417cf558882c1b0a47',1,'Collisions']]], + ['m_5fhat_5fzs_829',['m_hat_Zs',['../classCollisions.html#abe6c025bdc57076121328fd62aacc7d0',1,'Collisions']]], + ['m_5fmask_5fbuffer_5fr_830',['m_mask_buffer_r',['../classCollisions.html#a578e1b5da086721b0671febbcc98b491',1,'Collisions']]], + ['m_5fmask_5flim_831',['m_mask_LIM',['../classCollisions.html#a6ca012950263c99778465fbcbcce4c10',1,'Collisions']]], + ['m_5fmug_832',['m_mug',['../classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126',1,'Collisions']]], + ['m_5foperator_5fhandle_833',['m_operator_handle',['../classCollisions.html#a9361514c14f7cf4473c876d4ced201d9',1,'Collisions']]], + ['m_5fq_5fr_834',['m_q_r',['../classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0',1,'Collisions']]], + ['m_5frg_835',['m_rg',['../classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7',1,'Collisions']]], + ['m_5fvparg_836',['m_vparg',['../classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f',1,'Collisions']]] ]; diff --git a/search/variables_2.js b/search/variables_2.js index f147a0342..8cf0d2e98 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -1,20 +1,4 @@ var searchData= [ - ['m_5fadvection_5ffield_942',['m_advection_field',['../classAdvectionFieldSimulation.html#a0b507af92d3d444543a372d8b265dc15',1,'AdvectionFieldSimulation::m_advection_field()'],['../classAdvectionSimulation.html#a1f56e396c183f4811c21b0fdb10fe2bb',1,'AdvectionSimulation::m_advection_field()']]], - ['m_5fb_5fnorm_943',['m_B_norm',['../classCollisions.html#a8511215c1884f50c3d689983d2b7303c',1,'Collisions']]], - ['m_5fbstar_5fs_944',['m_Bstar_s',['../classCollisions.html#a90e619814468ac7ac68c78c849d77a02',1,'Collisions']]], - ['m_5fcomb_5fmat_945',['m_comb_mat',['../classCollisions.html#ab1fda5469726b5ae4acaea9848deb49b',1,'Collisions']]], - ['m_5fcoordinate_5fconverter_946',['m_coordinate_converter',['../classPoissonSolution.html#a85694a84b02f52d5dacdf98dda53fba0',1,'PoissonSolution']]], - ['m_5felectrostatical_5fpotential_947',['m_electrostatical_potential',['../classAdvectionFieldSimulation.html#a49aa5c7af88d71b84e4cc0b5a92a36ed',1,'AdvectionFieldSimulation']]], - ['m_5ffunction_948',['m_function',['../classAdvectionSimulation.html#ac63008bb3c1c8634a0dc992dfed41bca',1,'AdvectionSimulation::m_function()'],['../classAdvectionFieldSimulation.html#a24cdebe5ef2c03b345a742b097bd4259',1,'AdvectionFieldSimulation::m_function()']]], - ['m_5fhat_5fas_949',['m_hat_As',['../classCollisions.html#af03302549e2a96417cf558882c1b0a47',1,'Collisions']]], - ['m_5fhat_5fzs_950',['m_hat_Zs',['../classCollisions.html#abe6c025bdc57076121328fd62aacc7d0',1,'Collisions']]], - ['m_5fmask_5fbuffer_5fr_951',['m_mask_buffer_r',['../classCollisions.html#a578e1b5da086721b0671febbcc98b491',1,'Collisions']]], - ['m_5fmask_5flim_952',['m_mask_LIM',['../classCollisions.html#a6ca012950263c99778465fbcbcce4c10',1,'Collisions']]], - ['m_5fmug_953',['m_mug',['../classCollisions.html#a2f967b8420ff2b82b3182ecb6aa33126',1,'Collisions']]], - ['m_5fncells_954',['m_ncells',['../classdeprecated_1_1BSplines.html#ae6644ef87cc1a18daf0bdac1ec059697',1,'deprecated::BSplines']]], - ['m_5foperator_5fhandle_955',['m_operator_handle',['../classCollisions.html#a9361514c14f7cf4473c876d4ced201d9',1,'Collisions']]], - ['m_5fq_5fr_956',['m_q_r',['../classCollisions.html#a1c651f047ac3850c30d107ca64fef9e0',1,'Collisions']]], - ['m_5frg_957',['m_rg',['../classCollisions.html#a9c31fadf7d2cb83137ce344b20bf3aa7',1,'Collisions']]], - ['m_5fvparg_958',['m_vparg',['../classCollisions.html#a44d05d14935ba8eff16f5c2c93cb7e7f',1,'Collisions']]] + ['periodic_837',['PERIODIC',['../structRDimVp.html#ab8adf3e4980f2cf15945ad3602d41091',1,'RDimVp::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html#a0f50a9073257f594f7c0e7cd0ebdaa23',1,'RefinedDiscreteToCartesian::RDimYRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html#a5541d5de608d7fd975e314d933af9d72',1,'RefinedDiscreteToCartesian::RDimXRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html#ad514de051dbba29c434430eff517006e',1,'RefinedDiscreteToCartesian::RDimPRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html#a6383c5fd3f13ecc58c08b8aa0b2283ca',1,'RefinedDiscreteToCartesian::RDimRRefined::PERIODIC()'],['../structRDimT.html#ac518ba935033dd7ec6e36a2860a5ee68',1,'RDimT::PERIODIC()'],['../structRDimVy.html#ac3acad5786a7c7b748997dba2c7dbcdd',1,'RDimVy::PERIODIC()'],['../structRDimY.html#a48a27c572829350ae0f5b47bf6e13f74',1,'RDimY::PERIODIC()'],['../structRDimVx.html#a11bf97b66f066f6e9b062e8742f6cc78',1,'RDimVx::PERIODIC()'],['../structRDimX.html#a8cb720efb33235cee3371843279ea9ab',1,'RDimX::PERIODIC()'],['../structTor1.html#a62028f8731a8a591e5b97e93bf0dffa0',1,'Tor1::PERIODIC()'],['../structRDimVr.html#a1e8890fa598572b69d07d3869c5f5e09',1,'RDimVr::PERIODIC()'],['../structRDimP.html#ace2d48a5928bd5274bd7c75144aa6c78',1,'RDimP::PERIODIC()'],['../structRDimR.html#ad387eb1164fd90dea9833ba4bf856cad',1,'RDimR::PERIODIC()'],['../structDimY__pC.html#a1fcc51d25d5dbf1e1939cb4b908a1760',1,'DimY_pC::PERIODIC()'],['../structDimX__pC.html#a7d5e2f4b22e1efa830db069a41122e24',1,'DimX_pC::PERIODIC()'],['../structMu.html#ad044685c30893649b870991b5f0e592a',1,'Mu::PERIODIC()'],['../structVpar.html#a463f771232ce1d607bf477d8c395eafe',1,'Vpar::PERIODIC()'],['../structTor3.html#a491f63f0705c1c71b52485fc172469f6',1,'Tor3::PERIODIC()'],['../structTor2.html#ace83f98401e5275f4164472205a202ba',1,'Tor2::PERIODIC()']]] ]; diff --git a/search/variables_3.js b/search/variables_3.js index 13b5d1cab..3e9352c5d 100644 --- a/search/variables_3.js +++ b/search/variables_3.js @@ -1,4 +1,8 @@ var searchData= [ - ['periodic_959',['PERIODIC',['../structRDimVp.html#ab8adf3e4980f2cf15945ad3602d41091',1,'RDimVp::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimYRefined.html#ab96295832a0b6ac10c7d9a4d80214a17',1,'RefinedDiscreteToCartesian::RDimYRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimXRefined.html#a57dfa04f15947815c773c65f2696f47f',1,'RefinedDiscreteToCartesian::RDimXRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimPRefined.html#acd2d7666977e04ba57e4197dcde3ba20',1,'RefinedDiscreteToCartesian::RDimPRefined::PERIODIC()'],['../structRefinedDiscreteToCartesian_1_1RDimRRefined.html#ae445f4739f90ca0005ae72aa62c41d04',1,'RefinedDiscreteToCartesian::RDimRRefined::PERIODIC()'],['../structRDimT.html#ac518ba935033dd7ec6e36a2860a5ee68',1,'RDimT::PERIODIC()'],['../structRDimVy.html#ac3acad5786a7c7b748997dba2c7dbcdd',1,'RDimVy::PERIODIC()'],['../structRDimY.html#a48a27c572829350ae0f5b47bf6e13f74',1,'RDimY::PERIODIC()'],['../structRDimVx.html#a11bf97b66f066f6e9b062e8742f6cc78',1,'RDimVx::PERIODIC()'],['../structRDimX.html#a8cb720efb33235cee3371843279ea9ab',1,'RDimX::PERIODIC()'],['../structTor1.html#a62028f8731a8a591e5b97e93bf0dffa0',1,'Tor1::PERIODIC()'],['../structRDimVr.html#a1e8890fa598572b69d07d3869c5f5e09',1,'RDimVr::PERIODIC()'],['../structRDimP.html#ace2d48a5928bd5274bd7c75144aa6c78',1,'RDimP::PERIODIC()'],['../structRDimR.html#ad387eb1164fd90dea9833ba4bf856cad',1,'RDimR::PERIODIC()'],['../structDimY__pC.html#a1fcc51d25d5dbf1e1939cb4b908a1760',1,'DimY_pC::PERIODIC()'],['../structDimX__pC.html#a7d5e2f4b22e1efa830db069a41122e24',1,'DimX_pC::PERIODIC()'],['../structMu.html#ad044685c30893649b870991b5f0e592a',1,'Mu::PERIODIC()'],['../structVpar.html#a463f771232ce1d607bf477d8c395eafe',1,'Vpar::PERIODIC()'],['../structTor3.html#a491f63f0705c1c71b52485fc172469f6',1,'Tor3::PERIODIC()'],['../structTor2.html#ace83f98401e5275f4164472205a202ba',1,'Tor2::PERIODIC()']]] + ['s_5fdensity_838',['s_density',['../classFluidMoments.html#a51b8fc4fc4530a3cad0836bb997c4c3d',1,'FluidMoments']]], + ['s_5ftemperature_839',['s_temperature',['../classFluidMoments.html#a4648e3f7abc452675a0ed4bdecd59a80',1,'FluidMoments']]], + ['s_5fvelocity_840',['s_velocity',['../classFluidMoments.html#a0e36a0f2a4851525413ad0f033ffe37f',1,'FluidMoments']]], + ['singular_5fspline_5fcoef_841',['singular_spline_coef',['../structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60',1,'PolarSpline::singular_spline_coef()'],['../structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e',1,'PolarSplineSpan::singular_spline_coef()'],['../structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456',1,'PolarSplineView::singular_spline_coef()']]], + ['spline_5fcoef_842',['spline_coef',['../structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc',1,'PolarSpline::spline_coef()'],['../structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc',1,'PolarSplineSpan::spline_coef()'],['../structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890',1,'PolarSplineView::spline_coef()']]] ]; diff --git a/search/variables_4.html b/search/variables_4.html deleted file mode 100644 index a4b6506bb..000000000 --- a/search/variables_4.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/search/variables_4.js b/search/variables_4.js deleted file mode 100644 index 093602185..000000000 --- a/search/variables_4.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['s_5fbc_5fxmax_960',['s_bc_xmax',['../classSplineBuilder.html#aecdea9406e7d85496bf6ed4c479d064d',1,'SplineBuilder']]], - ['s_5fbc_5fxmin_961',['s_bc_xmin',['../classSplineBuilder.html#a4d5e60f3a4050a4a54415835b65d03c8',1,'SplineBuilder']]], - ['s_5fdensity_962',['s_density',['../classFluidMoments.html#a51b8fc4fc4530a3cad0836bb997c4c3d',1,'FluidMoments']]], - ['s_5fnbc_5fxmax_963',['s_nbc_xmax',['../classSplineBuilder.html#a750e366c0f6cff13ee6b09e84fbd7f39',1,'SplineBuilder']]], - ['s_5fnbc_5fxmin_964',['s_nbc_xmin',['../classSplineBuilder.html#ad95603fd1144bd421f0ab85c8e8985a8',1,'SplineBuilder']]], - ['s_5fnbe_5fxmax_965',['s_nbe_xmax',['../classSplineBuilder.html#ac37e871f135ba9da956d8faacff00032',1,'SplineBuilder']]], - ['s_5fnbe_5fxmin_966',['s_nbe_xmin',['../classSplineBuilder.html#a6e27acbbf2fc5f1400ce4a08c810d52e',1,'SplineBuilder']]], - ['s_5fodd_967',['s_odd',['../classSplineBuilder.html#a8c55b038757bcdf9ad2572897f4f836b',1,'SplineBuilder']]], - ['s_5ftemperature_968',['s_temperature',['../classFluidMoments.html#a4648e3f7abc452675a0ed4bdecd59a80',1,'FluidMoments']]], - ['s_5fvelocity_969',['s_velocity',['../classFluidMoments.html#a0e36a0f2a4851525413ad0f033ffe37f',1,'FluidMoments']]], - ['singular_5fspline_5fcoef_970',['singular_spline_coef',['../structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60',1,'PolarSpline::singular_spline_coef()'],['../structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e',1,'PolarSplineSpan::singular_spline_coef()'],['../structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456',1,'PolarSplineView::singular_spline_coef()']]], - ['spline_5fcoef_971',['spline_coef',['../structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc',1,'PolarSpline::spline_coef()'],['../structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc',1,'PolarSplineSpan::spline_coef()'],['../structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890',1,'PolarSplineView::spline_coef()']]] -]; diff --git a/spline__1d_8hpp_source.html b/spline__1d_8hpp_source.html deleted file mode 100644 index 55ef7ba50..000000000 --- a/spline__1d_8hpp_source.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_1d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_1d.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <iosfwd>
-
4 #include <memory>
-
5 #include <type_traits>
-
6 
-
7 #include <experimental/mdspan>
-
8 
-
9 #include "sll/null_boundary_value.hpp"
-
10 #include "sll/view.hpp"
-
11 
-
12 class BoundaryValue;
-
13 
-
14 namespace deprecated {
-
15 class BSplines;
-
16 
-
17 class Spline1D
-
18 {
-
19 private:
-
20  // Friends
-
21  friend class SplineBuilder1D;
-
22  friend class SplineBuilder2D;
-
23 
-
24 private:
-
25  std::unique_ptr<double[]> m_bcoef_ptr;
-
26  DSpan1D m_bcoef;
-
27  const BSplines& m_bspl;
-
28  const BoundaryValue& m_left_bc;
-
29  const BoundaryValue& m_right_bc;
-
30 
-
31 public:
-
32  Spline1D() = delete;
-
33  Spline1D(
-
34  const BSplines& bspl,
-
35  const BoundaryValue& left_bc = NullBoundaryValue::value,
-
36  const BoundaryValue& right_bc = NullBoundaryValue::value);
-
37  Spline1D(const Spline1D& x) = delete;
-
38  Spline1D(Spline1D&& x) = delete;
-
39  ~Spline1D() = default;
-
40  Spline1D& operator=(const Spline1D& x) = delete;
-
41  Spline1D& operator=(Spline1D&& x) = delete;
-
42 
-
43  DSpan1D const& bcoef() const noexcept
-
44  {
-
45  return m_bcoef;
-
46  }
-
47 
-
48  double const& bcoef(std::size_t i) const noexcept
-
49  {
-
50  return m_bcoef(i);
-
51  }
-
52 
-
53  double& bcoef(std::size_t i) noexcept
-
54  {
-
55  return m_bcoef(i);
-
56  }
-
57 
-
58  bool belongs_to_space(const BSplines& bspline) const;
-
59  double eval(double x) const;
-
60  double eval_deriv(double x) const;
-
61  void eval_array(DSpan1D const x, DSpan1D y) const;
-
62  void eval_array_deriv(DSpan1D const x, DSpan1D y) const;
-
63  double integrate() const;
-
64 
-
65 private:
-
66  // Internal templated functions
-
67  template <class T, std::enable_if_t<std::is_base_of_v<BSplines, T>>* = nullptr>
-
68  double eval_intern_no_bcs(double x, const T& bspl, DSpan1D& vals) const;
-
69  template <class T, bool periodic, std::enable_if_t<std::is_base_of_v<BSplines, T>>* = nullptr>
-
70  double eval_intern(double x, const T& bspl, DSpan1D& vals) const;
-
71  template <class T, std::enable_if_t<std::is_base_of_v<BSplines, T>>* = nullptr>
-
72  double eval_deriv_intern(double x, const T& bspl, DSpan1D& vals) const;
-
73  template <class T, bool periodic, std::enable_if_t<std::is_base_of_v<BSplines, T>>* = nullptr>
-
74  void eval_array_loop(DSpan1D const& x, DSpan1D& y) const;
-
75  template <class T, std::enable_if_t<std::is_base_of_v<BSplines, T>>* = nullptr>
-
76  void eval_array_deriv_loop(DSpan1D const& x, DSpan1D& y) const;
-
77 };
-
78 
-
79 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
Definition: spline_1d.hpp:18
-
Definition: spline_builder_1d.hpp:15
-
Definition: spline_builder_2d.hpp:29
-
-
- - - - diff --git a/spline__2d_8hpp_source.html b/spline__2d_8hpp_source.html deleted file mode 100644 index 9309a1702..000000000 --- a/spline__2d_8hpp_source.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_2d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_2d.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <iosfwd>
-
4 #include <memory>
-
5 #include <type_traits>
-
6 
-
7 #include "sll/view.hpp"
-
8 
-
9 namespace deprecated {
-
10 class BSplines;
-
11 
-
12 class Spline2D
-
13 {
-
14 private:
-
15  friend class SplineBuilder2D;
-
16 
-
17 private:
-
18  std::unique_ptr<double[]> m_bcoef_ptr;
-
19  DSpan2D m_bcoef;
-
20  const BSplines& m_bspl1;
-
21  const BSplines& m_bspl2;
-
22 
-
23 public:
-
24  Spline2D() = delete;
-
25  Spline2D(const BSplines& bspl1, const BSplines& bspl2);
-
26  Spline2D(const Spline2D& x) = delete;
-
27  Spline2D(Spline2D&& x) = delete;
-
28  ~Spline2D() = default;
-
29  Spline2D& operator=(const Spline2D& x) = delete;
-
30  Spline2D& operator=(Spline2D&& x) = delete;
-
31 
-
32  DSpan2D const& bcoef() const noexcept
-
33  {
-
34  return m_bcoef;
-
35  }
-
36 
-
37  double& bcoef(std::size_t i, std::size_t j) const noexcept
-
38  {
-
39  return m_bcoef(i, j);
-
40  }
-
41 
-
42  bool belongs_to_space(const BSplines& bspline1, const BSplines& bspline2) const;
-
43  double eval(const double x1, const double x2) const;
-
44  template <bool deriv1, bool deriv2>
-
45  double eval_deriv(const double x1, const double x2) const;
-
46  void eval_array(DSpan2D const& x1, DSpan2D const& x2, DSpan2D& y) const;
-
47  template <bool deriv1, bool deriv2>
-
48  void eval_array_deriv(DSpan2D const& x1, DSpan2D const& x2, DSpan2D& y) const;
-
49  void integrate_dim(DSpan1D& y, const int dim) const;
-
50  double integrate() const;
-
51 
-
52 private:
-
53  template <
-
54  class T1,
-
55  class T2,
-
56  bool deriv1,
-
57  bool deriv2,
-
58  std::enable_if_t<std::is_base_of_v<BSplines, T1>>* = nullptr,
-
59  std::enable_if_t<std::is_base_of_v<BSplines, T2>>* = nullptr>
-
60  double eval_intern(
-
61  double x1,
-
62  double x2,
-
63  const T1& bspl1,
-
64  const T2& bspl2,
-
65  DSpan1D& vals1,
-
66  DSpan1D& vals2) const;
-
67  template <
-
68  class T1,
-
69  std::enable_if_t<std::is_base_of_v<BSplines, T1>>* = nullptr,
-
70  class T2,
-
71  std::enable_if_t<std::is_base_of_v<BSplines, T2>>* = nullptr>
-
72  void eval_array_loop(DSpan2D const& x1, DSpan2D const& x2, DSpan2D& y) const;
-
73 };
-
74 
-
75 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
Definition: spline_2d.hpp:13
-
Definition: spline_builder_2d.hpp:29
-
-
- - - - diff --git a/spline__boundary__conditions_8hpp_source.html b/spline__boundary__conditions_8hpp_source.html deleted file mode 100644 index 863905ca6..000000000 --- a/spline__boundary__conditions_8hpp_source.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_boundary_conditions.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_boundary_conditions.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <iostream>
-
4 #include <stdexcept>
-
5 
-
6 enum class BoundCond {
-
7  // Periodic boundary condition u(1)=u(n)
-
8  PERIODIC,
-
9  // Hermite boundary condition
-
10  HERMITE,
-
11  // Use Greville points instead of conditions on derivative for B-Spline
-
12  // interpolation
-
13  GREVILLE,
-
14  // Natural boundary condition
-
15  NATURAL
-
16 };
-
17 
-
18 static inline std::ostream& operator<<(std::ostream& out, BoundCond const bc)
-
19 {
-
20  switch (bc) {
-
21  case BoundCond::PERIODIC:
-
22  return out << "PERIODIC";
-
23  case BoundCond::HERMITE:
-
24  return out << "HERMITE";
-
25  case BoundCond::GREVILLE:
-
26  return out << "GREVILLE";
-
27  case BoundCond::NATURAL:
-
28  return out << "NATURAL";
-
29  default:
-
30  throw std::runtime_error("BoundCond not handled");
-
31  }
-
32 }
-
33 
-
34 constexpr int n_boundary_equations(BoundCond const bc, std::size_t const degree)
-
35 {
-
36  if (bc == BoundCond::PERIODIC) {
-
37  return 0;
-
38  } else if (bc == BoundCond::HERMITE) {
-
39  return degree / 2;
-
40  } else if (bc == BoundCond::GREVILLE) {
-
41  return 0;
-
42  } else if (bc == BoundCond::NATURAL) {
-
43  return degree / 2;
-
44  } else {
-
45  throw std::runtime_error("BoundCond not handled");
-
46  }
-
47 }
-
48 
-
49 constexpr int n_user_input(BoundCond const bc, std::size_t const degree)
-
50 {
-
51  if (bc == BoundCond::PERIODIC) {
-
52  return 0;
-
53  } else if (bc == BoundCond::HERMITE) {
-
54  return degree / 2;
-
55  } else if (bc == BoundCond::GREVILLE) {
-
56  return 0;
-
57  } else if (bc == BoundCond::NATURAL) {
-
58  return 0;
-
59  } else {
-
60  throw std::runtime_error("BoundCond not handled");
-
61  }
-
62 }
-
-
- - - - diff --git a/spline__boundary__value_8hpp_source.html b/spline__boundary__value_8hpp_source.html deleted file mode 100644 index b54c7e853..000000000 --- a/spline__boundary__value_8hpp_source.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_boundary_value.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_boundary_value.hpp
-
-
-
1 #pragma once
-
2 #include <functional>
-
3 
-
4 #include <ddc/ddc.hpp>
-
5 
-
6 #include <sll/polar_spline.hpp>
-
7 
-
8 template <class BSplines>
- -
10 {
-
11 public:
-
12  virtual ~SplineBoundaryValue() = default;
-
13 
-
14  virtual double operator()(
-
15  ddc::Coordinate<typename BSplines::tag_type> x,
-
16  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplines>>) const = 0;
-
17 };
-
18 
-
19 template <class BSplines1, class BSplines2>
- -
21 {
-
22 public:
-
23  virtual ~SplineBoundaryValue2D() = default;
-
24 
-
25  virtual double operator()(
-
26  ddc::Coordinate<typename BSplines1::tag_type> x,
-
27  ddc::Coordinate<typename BSplines2::tag_type> y,
-
28  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplines1, BSplines2>>) const = 0;
-
29 };
-
30 
-
31 template <class BSplines>
- -
33 {
-
34 public:
-
35  virtual ~PolarSplineBoundaryValue2D() = default;
-
36 
-
37  virtual double operator()(double x, double y, PolarSplineView<BSplines>) const = 0;
-
38 };
-
Definition: spline_boundary_value.hpp:33
-
Definition: spline_boundary_value.hpp:21
-
Definition: spline_boundary_value.hpp:10
-
A structure containing the two ChunkViews necessary to define a constant reference to a spline on a s...
Definition: polar_spline.hpp:122
-
-
- - - - diff --git a/spline__builder_8hpp_source.html b/spline__builder_8hpp_source.html deleted file mode 100644 index 4d9b6a464..000000000 --- a/spline__builder_8hpp_source.html +++ /dev/null @@ -1,585 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_builder.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_builder.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <cstdint>
-
4 #include <iostream>
-
5 #include <memory>
-
6 #include <optional>
-
7 #include <stdexcept>
-
8 #include <vector>
-
9 
-
10 #include <ddc/ddc.hpp>
-
11 
-
12 #include <Kokkos_Core.hpp>
-
13 
-
14 #include "sll/math_tools.hpp"
-
15 #include "sll/matrix.hpp"
-
16 #include "sll/spline_boundary_conditions.hpp"
-
17 #include "sll/view.hpp"
-
18 
-
19 constexpr bool is_spline_interpolation_mesh_uniform(
-
20  bool const is_uniform,
-
21  BoundCond const BcXmin,
-
22  BoundCond const BcXmax,
-
23  int degree)
-
24 {
-
25  int N_BE_MIN = n_boundary_equations(BcXmin, degree);
-
26  int N_BE_MAX = n_boundary_equations(BcXmax, degree);
-
27  bool is_periodic = (BcXmin == BoundCond::PERIODIC) && (BcXmax == BoundCond::PERIODIC);
-
28  return is_uniform && ((N_BE_MIN != 0 && N_BE_MAX != 0) || is_periodic);
-
29 }
-
30 
-
40 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
42 {
-
43  static_assert(
-
44  (BSplines::is_periodic() && (BcXmin == BoundCond::PERIODIC)
-
45  && (BcXmax == BoundCond::PERIODIC))
-
46  || (!BSplines::is_periodic() && (BcXmin != BoundCond::PERIODIC)
-
47  && (BcXmax != BoundCond::PERIODIC)));
-
48  static_assert(!BSplines::is_radial());
-
49 
-
50 private:
-
51  using tag_type = typename interpolation_mesh_type::continuous_dimension_type;
-
52 
-
53 public:
-
57  using bsplines_type = BSplines;
-
58 
-
62  using mesh_type = interpolation_mesh_type;
-
63 
-
67  using interpolation_domain_type = ddc::DiscreteDomain<interpolation_mesh_type>;
-
68 
-
69 public:
-
73  static constexpr bool s_odd = BSplines::degree() % 2;
-
74 
-
78  static constexpr int s_nbe_xmin = n_boundary_equations(BcXmin, BSplines::degree());
-
79 
-
83  static constexpr int s_nbe_xmax = n_boundary_equations(BcXmax, BSplines::degree());
-
84 
-
92  static constexpr int s_nbc_xmin = n_user_input(BcXmin, BSplines::degree());
-
93 
-
101  static constexpr int s_nbc_xmax = n_user_input(BcXmax, BSplines::degree());
-
102 
-
106  static constexpr BoundCond s_bc_xmin = BcXmin;
-
110  static constexpr BoundCond s_bc_xmax = BcXmax;
-
111 
-
112 private:
-
113  interpolation_domain_type m_interpolation_domain;
-
114 
-
115  double m_dx; // average cell size for normalization of derivatives
-
116 
-
117  // interpolator specific
-
118  std::unique_ptr<Matrix> matrix;
-
119 
-
120  int m_offset;
-
121 
-
122 public:
- -
130 
-
136  SplineBuilder(SplineBuilder const& x) = delete;
-
137 
-
143  SplineBuilder(SplineBuilder&& x) = default;
-
144 
-
145  ~SplineBuilder() = default;
-
146 
-
147  SplineBuilder& operator=(SplineBuilder const& x) = delete;
-
148 
- -
156 
-
173  void operator()(
-
174  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type>> spline,
-
175  ddc::ChunkSpan<double const, interpolation_domain_type> vals,
-
176  std::optional<CDSpan1D> const derivs_xmin = std::nullopt,
-
177  std::optional<CDSpan1D> const derivs_xmax = std::nullopt) const;
-
178 
- -
188  {
-
189  return m_interpolation_domain;
-
190  }
-
191 
-
200  ddc::DiscreteDomain<BSplines> spline_domain() const noexcept
-
201  {
-
202  return ddc::discrete_space<BSplines>().full_domain();
-
203  }
-
204 
-
213  const Matrix& get_interpolation_matrix() const noexcept
-
214  {
-
215  return *matrix;
-
216  }
-
217 
-
218 private:
-
219  void compute_block_sizes_uniform(int& lower_block_size, int& upper_block_size) const;
-
220 
-
221  void compute_block_sizes_non_uniform(int& lower_block_size, int& upper_block_size) const;
-
222 
-
223  void allocate_matrix(int lower_block_size, int upper_block_size);
-
224 
-
225  void compute_interpolant_degree1(
-
226  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type>> spline,
-
227  ddc::ChunkSpan<double const, interpolation_domain_type> vals) const;
-
228 
-
229  void build_matrix_system();
-
230 };
-
231 
-
232 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
234  interpolation_domain_type const& interpolation_domain)
-
235  : m_interpolation_domain(interpolation_domain)
-
236  , m_dx((ddc::discrete_space<BSplines>().rmax() - ddc::discrete_space<BSplines>().rmin())
-
237  / ddc::discrete_space<BSplines>().ncells())
-
238  , matrix(nullptr)
-
239  , m_offset(0)
-
240 {
-
241  if constexpr (bsplines_type::is_periodic()) {
-
242  // Calculate offset so that the matrix is diagonally dominant
-
243  std::array<double, bsplines_type::degree() + 1> values_ptr;
-
244  DSpan1D values(values_ptr.data(), bsplines_type::degree() + 1);
-
245  ddc::DiscreteElement<interpolation_mesh_type> start(interpolation_domain.front());
-
246  auto jmin = ddc::discrete_space<BSplines>()
-
247  .eval_basis(values, ddc::coordinate(start + BSplines::degree()));
-
248  if constexpr (bsplines_type::degree() % 2 == 0) {
-
249  m_offset = jmin.uid() - start.uid() + bsplines_type::degree() / 2 - BSplines::degree();
-
250  } else {
-
251  int const mid = bsplines_type::degree() / 2;
-
252  m_offset = jmin.uid() - start.uid() + (values(mid) > values(mid + 1) ? mid : mid + 1)
-
253  - BSplines::degree();
-
254  }
-
255  }
-
256 
-
257  // Calculate block sizes
-
258  int lower_block_size, upper_block_size;
-
259  if constexpr (bsplines_type::is_uniform()) {
-
260  compute_block_sizes_uniform(lower_block_size, upper_block_size);
-
261  } else {
-
262  compute_block_sizes_non_uniform(lower_block_size, upper_block_size);
-
263  }
-
264  allocate_matrix(lower_block_size, upper_block_size);
-
265 }
-
266 
-
267 //-------------------------------------------------------------------------------------------------
-
268 /************************************************************************************
-
269  * Compute interpolant functions *
-
270  ************************************************************************************/
-
271 
-
272 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
274  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type>> const spline,
-
275  ddc::ChunkSpan<double const, interpolation_domain_type> const vals) const
-
276 {
-
277  for (std::size_t i = 0; i < ddc::discrete_space<BSplines>().nbasis(); ++i) {
-
278  spline(ddc::DiscreteElement<bsplines_type>(i))
-
279  = vals(ddc::DiscreteElement<interpolation_mesh_type>(i));
-
280  }
-
281  if constexpr (bsplines_type::is_periodic()) {
-
282  spline(ddc::DiscreteElement<bsplines_type>(ddc::discrete_space<BSplines>().nbasis()))
-
283  = spline(ddc::DiscreteElement<bsplines_type>(0));
-
284  }
-
285 }
-
286 
-
287 //-------------------------------------------------------------------------------------------------
-
288 
-
289 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
291  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type>> const spline,
-
292  ddc::ChunkSpan<double const, interpolation_domain_type> const vals,
-
293  std::optional<CDSpan1D> const derivs_xmin,
-
294  std::optional<CDSpan1D> const derivs_xmax) const
-
295 {
-
296  assert(vals.template extent<interpolation_mesh_type>()
-
297  == ddc::discrete_space<BSplines>().nbasis() - s_nbe_xmin - s_nbe_xmax);
-
298  // assert(spline.belongs_to_space(ddc::discrete_space<BSplines>()));
-
299  // TODO: LOG Errors
-
300  if constexpr (bsplines_type::degree() == 1)
-
301  return compute_interpolant_degree1(spline, vals);
-
302 
-
303  assert((BcXmin == BoundCond::HERMITE)
-
304  != (!derivs_xmin.has_value() || derivs_xmin->extent(0) == 0));
-
305  assert((BcXmax == BoundCond::HERMITE)
-
306  != (!derivs_xmax.has_value() || derivs_xmax->extent(0) == 0));
-
307 
-
308  // Hermite boundary conditions at xmin, if any
-
309  // NOTE: For consistency with the linear system, the i-th derivative
-
310  // provided by the user must be multiplied by dx^i
-
311  if constexpr (BcXmin == BoundCond::HERMITE) {
-
312  assert(derivs_xmin->extent(0) == s_nbc_xmin);
-
313  for (int i = s_nbc_xmin; i > 0; --i) {
-
314  spline(ddc::DiscreteElement<bsplines_type>(s_nbc_xmin - i))
-
315  = (*derivs_xmin)(i - 1) * ipow(m_dx, i + s_odd - 1);
-
316  }
-
317  }
-
318  for (int i = s_nbc_xmin; i < s_nbc_xmin + m_offset; ++i) {
-
319  spline(ddc::DiscreteElement<bsplines_type>(i)) = 0.0;
-
320  }
-
321 
-
322  for (int i = 0; i < m_interpolation_domain.extents(); ++i) {
-
323  spline(ddc::DiscreteElement<bsplines_type>(s_nbc_xmin + i + m_offset))
-
324  = vals(ddc::DiscreteElement<interpolation_mesh_type>(i));
-
325  }
-
326 
-
327  // Hermite boundary conditions at xmax, if any
-
328  // NOTE: For consistency with the linear system, the i-th derivative
-
329  // provided by the user must be multiplied by dx^i
-
330  if constexpr (BcXmax == BoundCond::HERMITE) {
-
331  assert(derivs_xmax->extent(0) == s_nbc_xmax);
-
332  for (int i = 0; i < s_nbc_xmax; ++i) {
-
333  spline(ddc::DiscreteElement<bsplines_type>(
-
334  ddc::discrete_space<BSplines>().nbasis() - s_nbc_xmax + i))
-
335  = (*derivs_xmax)(i)*ipow(m_dx, i + s_odd);
-
336  }
-
337  }
-
338 
-
339  DSpan1D const bcoef_section(
-
340  spline.data_handle() + m_offset,
-
341  ddc::discrete_space<BSplines>().nbasis());
-
342  matrix->solve_inplace(bcoef_section);
-
343 
-
344  if constexpr (bsplines_type::is_periodic()) {
-
345  if (m_offset != 0) {
-
346  for (int i = 0; i < m_offset; ++i) {
-
347  spline(ddc::DiscreteElement<bsplines_type>(i))
-
348  = spline(ddc::DiscreteElement<bsplines_type>(
-
349  ddc::discrete_space<BSplines>().nbasis() + i));
-
350  }
-
351  for (std::size_t i = m_offset; i < bsplines_type::degree(); ++i) {
-
352  spline(ddc::DiscreteElement<bsplines_type>(
-
353  ddc::discrete_space<BSplines>().nbasis() + i))
-
354  = spline(ddc::DiscreteElement<bsplines_type>(i));
-
355  }
-
356  }
-
357  }
-
358 }
-
359 
-
360 //-------------------------------------------------------------------------------------------------
-
361 /************************************************************************************
-
362  * Compute num diags functions *
-
363  ************************************************************************************/
-
364 
-
365 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
367  int& lower_block_size,
-
368  int& upper_block_size) const
-
369 {
-
370  switch (BcXmin) {
-
371  case BoundCond::PERIODIC:
-
372  upper_block_size = (bsplines_type::degree()) / 2;
-
373  break;
-
374  case BoundCond::NATURAL:
-
375  case BoundCond::HERMITE:
-
376  upper_block_size = s_nbc_xmin;
-
377  break;
-
378  case BoundCond::GREVILLE:
-
379  upper_block_size = bsplines_type::degree() - 1;
-
380  break;
-
381  default:
-
382  throw std::runtime_error("BoundCond not handled");
-
383  }
-
384  switch (BcXmax) {
-
385  case BoundCond::PERIODIC:
-
386  lower_block_size = (bsplines_type::degree()) / 2;
-
387  break;
-
388  case BoundCond::NATURAL:
-
389  case BoundCond::HERMITE:
-
390  lower_block_size = s_nbc_xmax;
-
391  break;
-
392  case BoundCond::GREVILLE:
-
393  lower_block_size = bsplines_type::degree() - 1;
-
394  break;
-
395  default:
-
396  throw std::runtime_error("BoundCond not handled");
-
397  }
-
398 }
-
399 
-
400 //-------------------------------------------------------------------------------------------------
-
401 
-
402 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
404  compute_block_sizes_non_uniform(int& lower_block_size, int& upper_block_size) const
-
405 {
-
406  switch (BcXmin) {
-
407  case BoundCond::PERIODIC:
-
408  upper_block_size = bsplines_type::degree() - 1;
-
409  break;
-
410  case BoundCond::HERMITE:
-
411  upper_block_size = s_nbc_xmin + 1;
-
412  break;
-
413  case BoundCond::GREVILLE:
-
414  upper_block_size = bsplines_type::degree() - 1;
-
415  break;
-
416  default:
-
417  throw std::runtime_error("BoundCond not handled");
-
418  }
-
419  switch (BcXmax) {
-
420  case BoundCond::PERIODIC:
-
421  lower_block_size = bsplines_type::degree() - 1;
-
422  break;
-
423  case BoundCond::HERMITE:
-
424  lower_block_size = s_nbc_xmax + 1;
-
425  break;
-
426  case BoundCond::GREVILLE:
-
427  lower_block_size = bsplines_type::degree() - 1;
-
428  break;
-
429  default:
-
430  throw std::runtime_error("BoundCond not handled");
-
431  }
-
432 }
-
433 
-
434 //-------------------------------------------------------------------------------------------------
-
435 /************************************************************************************
-
436  * Initialize matrix functions *
-
437  ************************************************************************************/
-
438 
-
439 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
441  int lower_block_size,
-
442  int upper_block_size)
-
443 {
-
444  // Special case: linear spline
-
445  // No need for matrix assembly
-
446  if constexpr (bsplines_type::degree() == 1)
-
447  return;
-
448 
-
449  int upper_band_width;
-
450  if (bsplines_type::is_uniform()) {
-
451  upper_band_width = bsplines_type::degree() / 2;
-
452  } else {
-
453  upper_band_width = bsplines_type::degree() - 1;
-
454  }
-
455 
-
456  if constexpr (bsplines_type::is_periodic()) {
-
457  matrix = Matrix::make_new_periodic_banded(
-
458  ddc::discrete_space<BSplines>().nbasis(),
-
459  upper_band_width,
-
460  upper_band_width,
-
461  bsplines_type::is_uniform());
-
462  } else {
-
463  matrix = Matrix::make_new_block_with_banded_region(
-
464  ddc::discrete_space<BSplines>().nbasis(),
-
465  upper_band_width,
-
466  upper_band_width,
-
467  bsplines_type::is_uniform(),
-
468  upper_block_size,
-
469  lower_block_size);
-
470  }
-
471 
-
472  build_matrix_system();
-
473 
-
474  matrix->factorize();
-
475 }
-
476 
-
477 //-------------------------------------------------------------------------------------------------
-
478 
-
479 template <class BSplines, class interpolation_mesh_type, BoundCond BcXmin, BoundCond BcXmax>
- -
481 {
-
482  // Hermite boundary conditions at xmin, if any
-
483  if constexpr (BcXmin == BoundCond::HERMITE) {
-
484  double derivs_ptr[(bsplines_type::degree() / 2 + 1) * (bsplines_type::degree() + 1)];
-
485  DSpan2D derivs(derivs_ptr, bsplines_type::degree() + 1, bsplines_type::degree() / 2 + 1);
-
486  ddc::discrete_space<BSplines>().eval_basis_and_n_derivs(
-
487  derivs,
-
488  ddc::discrete_space<BSplines>().rmin(),
-
489  s_nbc_xmin);
-
490 
-
491  // In order to improve the condition number of the matrix, we normalize
-
492  // all derivatives by multiplying the i-th derivative by dx^i
-
493  for (std::size_t i = 0; i < bsplines_type::degree() + 1; ++i) {
-
494  for (std::size_t j = 1; j < bsplines_type::degree() / 2 + 1; ++j) {
-
495  derivs(i, j) *= ipow(m_dx, j);
-
496  }
-
497  }
-
498 
-
499  // iterate only to deg as last bspline is 0
-
500  for (std::size_t i = 0; i < s_nbc_xmin; ++i) {
-
501  for (std::size_t j = 0; j < bsplines_type::degree(); ++j) {
-
502  matrix->set_element(i, j, derivs(j, s_nbc_xmin - i - 1 + s_odd));
-
503  }
-
504  }
-
505  }
-
506 
-
507  // Interpolation points
-
508  std::array<double, bsplines_type::degree() + 1> values_ptr;
-
509  std::experimental::mdspan<
-
510  double,
-
511  std::experimental::extents<std::size_t, bsplines_type::degree() + 1>> const
-
512  values(values_ptr.data());
-
513  int start = m_interpolation_domain.front().uid();
-
514  ddc::for_each(m_interpolation_domain, [&](auto ix) {
-
515  auto jmin = ddc::discrete_space<BSplines>().eval_basis(
-
516  values,
-
517  ddc::coordinate(ddc::DiscreteElement<interpolation_mesh_type>(ix)));
-
518  for (std::size_t s = 0; s < bsplines_type::degree() + 1; ++s) {
-
519  int const j = modulo(
-
520  int(jmin.uid() - m_offset + s),
-
521  (int)ddc::discrete_space<BSplines>().nbasis());
-
522  matrix->set_element(ix.uid() - start + s_nbc_xmin, j, values(s));
-
523  }
-
524  });
-
525 
-
526  // Hermite boundary conditions at xmax, if any
-
527  if constexpr (BcXmax == BoundCond::HERMITE) {
-
528  std::array<double, (bsplines_type::degree() / 2 + 1) * (bsplines_type::degree() + 1)>
-
529  derivs_ptr;
-
530  std::experimental::mdspan<
-
531  double,
-
532  std::experimental::extents<
-
533  std::size_t,
-
534  bsplines_type::degree() + 1,
-
535  bsplines_type::degree() / 2 + 1>> const derivs(derivs_ptr.data());
-
536 
-
537  ddc::discrete_space<BSplines>().eval_basis_and_n_derivs(
-
538  derivs,
-
539  ddc::discrete_space<BSplines>().rmax(),
-
540  s_nbc_xmax);
-
541 
-
542  // In order to improve the condition number of the matrix, we normalize
-
543  // all derivatives by multiplying the i-th derivative by dx^i
-
544  for (std::size_t i = 0; i < bsplines_type::degree() + 1; ++i) {
-
545  for (std::size_t j = 1; j < bsplines_type::degree() / 2 + 1; ++j) {
-
546  derivs(i, j) *= ipow(m_dx, j);
-
547  }
-
548  }
-
549 
-
550  int const i0 = ddc::discrete_space<BSplines>().nbasis() - s_nbc_xmax;
-
551  int const j0 = ddc::discrete_space<BSplines>().nbasis() - bsplines_type::degree();
-
552  for (std::size_t j = 0; j < bsplines_type::degree(); ++j) {
-
553  for (std::size_t i = 0; i < s_nbc_xmax; ++i) {
-
554  matrix->set_element(i0 + i, j0 + j, derivs(j + 1, i + s_odd));
-
555  }
-
556  }
-
557  }
-
558 }
-
Definition: matrix.hpp:9
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
SplineBuilder & operator=(SplineBuilder &&x)=default
Copy a SplineBuilder.
-
interpolation_mesh_type mesh_type
The type of the interpolation mesh used by this class.
Definition: spline_builder.hpp:62
-
ddc::DiscreteDomain< BSplines > spline_domain() const noexcept
Get the domain on which the approximation is defined.
Definition: spline_builder.hpp:200
-
static constexpr BoundCond s_bc_xmin
The boundary condition implemented at the lower bound.
Definition: spline_builder.hpp:106
-
void operator()(ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan1D > const derivs_xmin=std::nullopt, std::optional< CDSpan1D > const derivs_xmax=std::nullopt) const
Build a spline approximation of a function.
Definition: spline_builder.hpp:290
-
static constexpr int s_nbe_xmin
The number of equations which define the boundary conditions at the lower bound.
Definition: spline_builder.hpp:78
-
static constexpr int s_nbc_xmax
The number of boundary conditions which must be provided by the user at the upper bound.
Definition: spline_builder.hpp:101
-
static constexpr bool s_odd
Indicates if the degree of the splines is odd or even.
Definition: spline_builder.hpp:73
-
BSplines bsplines_type
The type of the BSplines which are compatible with this class.
Definition: spline_builder.hpp:57
-
SplineBuilder(interpolation_domain_type const &interpolation_domain)
Create a new SplineBuilder.
Definition: spline_builder.hpp:233
-
const Matrix & get_interpolation_matrix() const noexcept
Get the interpolation matrix.
Definition: spline_builder.hpp:213
-
static constexpr int s_nbe_xmax
The number of equations which define the boundary conditions at the upper bound.
Definition: spline_builder.hpp:83
-
SplineBuilder(SplineBuilder &&x)=default
Create a new SplineBuilder by copy.
-
static constexpr int s_nbc_xmin
The number of boundary conditions which must be provided by the user at the lower bound.
Definition: spline_builder.hpp:92
-
interpolation_domain_type const & interpolation_domain() const noexcept
Get the domain from which the approximation is defined.
Definition: spline_builder.hpp:187
-
ddc::DiscreteDomain< interpolation_mesh_type > interpolation_domain_type
The type of the domain for the interpolation mesh used by this class.
Definition: spline_builder.hpp:67
-
static constexpr BoundCond s_bc_xmax
The boundary condition implemented at the upper bound.
Definition: spline_builder.hpp:110
-
SplineBuilder(SplineBuilder const &x)=delete
Create a new SplineBuilder by copy.
-
-
- - - - diff --git a/spline__builder__1d_8hpp_source.html b/spline__builder__1d_8hpp_source.html deleted file mode 100644 index a3c9e1d2b..000000000 --- a/spline__builder__1d_8hpp_source.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_builder_1d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_builder_1d.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 #include <memory>
-
5 
-
6 #include "sll/deprecated/boundary_conditions.hpp"
-
7 #include "sll/matrix.hpp"
-
8 #include "sll/view.hpp"
-
9 
-
10 namespace deprecated {
-
11 class BSplines;
-
12 class Spline1D;
-
13 
- -
15 {
-
16 private:
-
17  // hand-made inheritance
-
18  static std::array<BoundCond, 3> allowed_bcs;
-
19 
-
20 private:
-
21  const BSplines& bspl;
-
22 
-
23  // bspline stuff: TODO move
-
24  const bool odd; // bspl.degree % 2 == 1
-
25  const int offset; // bspl.periodic ? bspl.degree / 2 : 0
-
26  const double dx; // average cell size for normalization of derivatives
-
27 
-
28  // mesh info: TODO use Mesh
-
29  std::unique_ptr<double[]> interp_pts_ptr;
-
30  DSpan1D interp_pts;
-
31 
-
32  // interpolator specific
-
33  std::unique_ptr<Matrix> matrix;
-
34 
-
35  const BoundCond m_xmin_bc;
-
36 
-
37  const BoundCond m_xmax_bc;
-
38 
-
39  const int m_nbc_xmin;
-
40 
-
41  const int m_nbc_xmax;
-
42 
-
43 public:
-
44  SplineBuilder1D() = delete;
-
45  SplineBuilder1D(const BSplines& bspl, BoundCond xmin_bc, BoundCond xmax_bc);
-
46  SplineBuilder1D(const SplineBuilder1D& x) = delete;
-
47  SplineBuilder1D(SplineBuilder1D&& x) = delete;
-
48  ~SplineBuilder1D() = default;
-
49  SplineBuilder1D& operator=(const SplineBuilder1D& x) = delete;
-
50  SplineBuilder1D& operator=(SplineBuilder1D&& x) = delete;
-
51 
-
52  const DSpan1D& get_interp_points() const;
-
53 
-
54  void compute_interpolant(
-
55  Spline1D& spline,
-
56  const DSpan1D& vals,
-
57  const DSpan1D* derivs_xmin = nullptr,
-
58  const DSpan1D* derivs_xmax = nullptr) const;
-
59 
-
60  static int compute_num_cells(int degree, BoundCond xmin, BoundCond xmax, int nipts);
-
61 
-
62  BoundCond xmin_bc() const noexcept
-
63  {
-
64  return m_xmin_bc;
-
65  }
-
66 
-
67  BoundCond xmax_bc() const noexcept
-
68  {
-
69  return m_xmax_bc;
-
70  }
-
71 
-
72  int nbc_xmin() const noexcept
-
73  {
-
74  return m_nbc_xmin;
-
75  }
-
76 
-
77  int nbc_xmax() const noexcept
-
78  {
-
79  return m_nbc_xmax;
-
80  }
-
81 
-
82 private:
-
83  void compute_interpolation_points_uniform();
-
84  void compute_interpolation_points_non_uniform();
-
85  void compute_block_sizes_uniform(int& kl, int& ku) const;
-
86  void compute_block_sizes_non_uniform(int& kl, int& ku) const;
-
87 
-
88  void constructor_sanity_checks() const;
-
89  void allocate_matrix(int kl, int ku);
-
90  void compute_interpolant_degree1(Spline1D& spline, const DSpan1D& vals) const;
-
91  void build_matrix_system();
-
92 };
-
93 
-
94 } // namespace deprecated
-
Definition: bsplines.hpp:8
-
Definition: spline_1d.hpp:18
-
Definition: spline_builder_1d.hpp:15
-
-
- - - - diff --git a/spline__builder__2d_8hpp_source.html b/spline__builder__2d_8hpp_source.html deleted file mode 100644 index 5be0b2856..000000000 --- a/spline__builder__2d_8hpp_source.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_builder_2d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_builder_2d.hpp
-
-
-
1 #pragma once
-
2 #include <sll/spline_builder.hpp>
-
3 
-
4 
-
13 template <class SplineBuilder1, class SplineBuilder2>
- -
15 {
-
16 private:
-
20  using tag_type1 = typename SplineBuilder1::bsplines_type::tag_type;
-
24  using tag_type2 = typename SplineBuilder2::bsplines_type::tag_type;
-
25 
-
26 public:
-
30  using bsplines_type1 = typename SplineBuilder1::bsplines_type;
-
34  using bsplines_type2 = typename SplineBuilder2::bsplines_type;
-
35 
-
39  using builder_type1 = SplineBuilder1;
-
43  using builder_type2 = SplineBuilder2;
-
44 
-
48  using interpolation_mesh_type1 = typename SplineBuilder1::mesh_type;
-
52  using interpolation_mesh_type2 = typename SplineBuilder2::mesh_type;
-
53 
-
57  using interpolation_domain_type1 = ddc::DiscreteDomain<interpolation_mesh_type1>;
-
61  using interpolation_domain_type2 = ddc::DiscreteDomain<interpolation_mesh_type2>;
- -
66  = ddc::DiscreteDomain<interpolation_mesh_type1, interpolation_mesh_type2>;
-
67 
-
71  static constexpr BoundCond BcXmin1 = SplineBuilder1::s_bc_xmin;
-
75  static constexpr BoundCond BcXmax1 = SplineBuilder1::s_bc_xmax;
-
79  static constexpr BoundCond BcXmin2 = SplineBuilder2::s_bc_xmin;
-
83  static constexpr BoundCond BcXmax2 = SplineBuilder2::s_bc_xmax;
-
84 
-
85 private:
-
86  builder_type1 spline_builder1;
-
87  builder_type2 spline_builder2;
-
88  interpolation_domain_type m_interpolation_domain;
-
89 
-
90 public:
- -
99  : spline_builder1(ddc::select<interpolation_mesh_type1>(interpolation_domain))
-
100  , spline_builder2(ddc::select<interpolation_mesh_type2>(interpolation_domain))
-
101  , m_interpolation_domain(interpolation_domain)
-
102  {
-
103  }
-
104 
-
111  SplineBuilder2D(SplineBuilder2D const& x) = delete;
-
112 
- -
120 
-
121  ~SplineBuilder2D() = default;
-
122 
-
123  SplineBuilder2D& operator=(SplineBuilder2D const& x) = delete;
-
124 
-
125 
- -
134 
-
171  void operator()(
-
172  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type1, bsplines_type2>> spline,
-
173  ddc::ChunkSpan<double const, interpolation_domain_type> vals,
-
174  std::optional<CDSpan2D> const derivs_xmin = std::nullopt,
-
175  std::optional<CDSpan2D> const derivs_xmax = std::nullopt,
-
176  std::optional<CDSpan2D> const derivs_ymin = std::nullopt,
-
177  std::optional<CDSpan2D> const derivs_ymax = std::nullopt,
-
178  std::optional<CDSpan2D> const mixed_derivs_xmin_ymin = std::nullopt,
-
179  std::optional<CDSpan2D> const mixed_derivs_xmax_ymin = std::nullopt,
-
180  std::optional<CDSpan2D> const mixed_derivs_xmin_ymax = std::nullopt,
-
181  std::optional<CDSpan2D> const mixed_derivs_xmax_ymax = std::nullopt) const;
-
182 
- -
192  {
-
193  return spline_builder1.interpolation_domain();
-
194  }
-
195 
- -
205  {
-
206  return spline_builder2.interpolation_domain();
-
207  }
-
208 
- -
218  {
-
219  return m_interpolation_domain;
-
220  }
-
221 
-
230  ddc::DiscreteDomain<bsplines_type1, bsplines_type2> spline_domain() const noexcept
-
231  {
-
232  return ddc::DiscreteDomain<bsplines_type1, bsplines_type2>(
-
233  ddc::DiscreteElement<bsplines_type1, bsplines_type2>(0, 0),
-
234  ddc::DiscreteVector<bsplines_type1, bsplines_type2>(
-
235  ddc::discrete_space<bsplines_type1>().size(),
-
236  ddc::discrete_space<bsplines_type2>().size()));
-
237  }
-
238 
-
244  builder_type1 const& get_builder_1() const noexcept
-
245  {
-
246  return spline_builder1;
-
247  }
-
248 
-
254  builder_type2 const& get_builder_2() const noexcept
-
255  {
-
256  return spline_builder2;
-
257  }
-
258 };
-
259 
-
260 
-
261 template <class SplineBuilder1, class SplineBuilder2>
- -
263  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type1, bsplines_type2>> spline,
-
264  ddc::ChunkSpan<double const, interpolation_domain_type> vals,
-
265  std::optional<CDSpan2D> const derivs_xmin,
-
266  std::optional<CDSpan2D> const derivs_xmax,
-
267  std::optional<CDSpan2D> const derivs_ymin,
-
268  std::optional<CDSpan2D> const derivs_ymax,
-
269  std::optional<CDSpan2D> const mixed_derivs_xmin_ymin,
-
270  std::optional<CDSpan2D> const mixed_derivs_xmax_ymin,
-
271  std::optional<CDSpan2D> const mixed_derivs_xmin_ymax,
-
272  std::optional<CDSpan2D> const mixed_derivs_xmax_ymax) const
-
273 {
-
274  const std::size_t nbc_xmin = spline_builder1.s_nbc_xmin;
-
275  const std::size_t nbc_xmax = spline_builder1.s_nbc_xmax;
-
276  const std::size_t nbc_ymin = spline_builder2.s_nbc_xmin;
-
277  const std::size_t nbc_ymax = spline_builder2.s_nbc_xmax;
-
278 
-
279  assert((BcXmin1 == BoundCond::HERMITE)
-
280  != (!derivs_xmin.has_value() || derivs_xmin->extent(0) == 0));
-
281  assert((BcXmax1 == BoundCond::HERMITE)
-
282  != (!derivs_xmax.has_value() || derivs_xmax->extent(0) == 0));
-
283  assert((BcXmin2 == BoundCond::HERMITE)
-
284  != (!derivs_ymin.has_value() || derivs_ymin->extent(0) == 0));
-
285  assert((BcXmax2 == BoundCond::HERMITE)
-
286  != (!derivs_ymax.has_value() || derivs_ymax->extent(0) == 0));
-
287  assert((BcXmin1 == BoundCond::HERMITE && BcXmin2 == BoundCond::HERMITE)
-
288  != (!mixed_derivs_xmin_ymin.has_value()
-
289  || mixed_derivs_xmin_ymin->extent(0) != nbc_xmin));
-
290  assert((BcXmax1 == BoundCond::HERMITE && BcXmin2 == BoundCond::HERMITE)
-
291  != (!mixed_derivs_xmax_ymin.has_value()
-
292  || mixed_derivs_xmax_ymin->extent(0) != nbc_xmax));
-
293  assert((BcXmin2 == BoundCond::HERMITE && BcXmax2 == BoundCond::HERMITE)
-
294  != (!mixed_derivs_xmin_ymax.has_value()
-
295  || mixed_derivs_xmin_ymax->extent(0) != nbc_xmin));
-
296  assert((BcXmax2 == BoundCond::HERMITE && BcXmax2 == BoundCond::HERMITE)
-
297  != (!mixed_derivs_xmax_ymax.has_value()
-
298  || mixed_derivs_xmax_ymax->extent(0) != nbc_xmax));
-
299 
-
300  ddc::Chunk<double, ddc::DiscreteDomain<bsplines_type1>> spline1(
-
301  spline_builder1.spline_domain());
-
302  ddc::Chunk<double, ddc::DiscreteDomain<bsplines_type2>> spline2(
-
303  spline_builder2.spline_domain());
-
304 
-
305  using IMesh1 = ddc::DiscreteElement<interpolation_mesh_type1>;
-
306  using IMesh2 = ddc::DiscreteElement<interpolation_mesh_type2>;
-
307 
-
308  /******************************************************************
-
309  * Cycle over x1 position (or order of x1-derivative at boundary)
-
310  * and interpolate f along x2 direction.
-
311  *******************************************************************/
-
312  if constexpr (BcXmin2 == BoundCond::HERMITE) {
-
313  assert((long int)(derivs_ymin->extent(0))
-
314  == spline_builder1.interpolation_domain().extents()
-
315  && derivs_ymin->extent(1) == nbc_ymin);
-
316  if constexpr (BcXmin1 == BoundCond::HERMITE) {
-
317  assert(mixed_derivs_xmin_ymin->extent(0) == nbc_xmin
-
318  && mixed_derivs_xmin_ymin->extent(1) == nbc_ymin);
-
319  }
-
320  if constexpr (BcXmax1 == BoundCond::HERMITE) {
-
321  assert(mixed_derivs_xmax_ymin->extent(0) == nbc_xmax
-
322  && mixed_derivs_xmax_ymin->extent(1) == nbc_ymin);
-
323  }
-
324  // In the boundary region we interpolate the derivatives
-
325  for (int i = nbc_ymin; i > 0; --i) {
-
326  const ddc::DiscreteElement<bsplines_type2> spl_idx(i - 1);
-
327 
-
328  // Get interpolated values
-
329  ddc::Chunk<double, interpolation_domain_type1> vals1(
-
330  spline_builder1.interpolation_domain());
-
331  ddc::for_each(spline_builder1.interpolation_domain(), [&](IMesh1 const j) {
-
332  vals1(j) = (*derivs_ymin)(j.uid(), i - 1);
-
333  });
-
334 
-
335  // Get interpolated derivatives
-
336  std::vector<double> l_derivs(nbc_xmin);
-
337  if constexpr (BcXmin1 == BoundCond::HERMITE) {
-
338  for (std::size_t j(0); j < nbc_xmin; ++j)
-
339  l_derivs[j] = (*mixed_derivs_xmin_ymin)(j, i - 1);
-
340  }
-
341  const std::optional<CDSpan1D> deriv_l(
-
342  BcXmin1 == BoundCond::HERMITE
-
343  ? std::optional(CDSpan1D(l_derivs.data(), nbc_xmin))
-
344  : std::nullopt);
-
345 
-
346  std::vector<double> r_derivs(nbc_xmax);
-
347  if constexpr (BcXmax1 == BoundCond::HERMITE) {
-
348  for (std::size_t j(0); j < nbc_xmax; ++j)
-
349  r_derivs[j] = (*mixed_derivs_xmax_ymin)(j, i - 1);
-
350  }
-
351  const std::optional<CDSpan1D> deriv_r(
-
352  BcXmax1 == BoundCond::HERMITE
-
353  ? std::optional(CDSpan1D(r_derivs.data(), nbc_xmax))
-
354  : std::nullopt);
-
355 
-
356  // Interpolate derivatives
-
357  spline_builder1(spline1, vals1, deriv_l, deriv_r);
-
358 
-
359  // Save result into 2d spline structure
-
360  ddc::for_each(
-
361  ddc::get_domain<bsplines_type1>(spline),
-
362  [&](ddc::DiscreteElement<bsplines_type1> const j) {
-
363  spline(spl_idx, j) = spline1(j);
-
364  });
-
365  }
-
366  }
-
367 
-
368  if (BcXmin1 == BoundCond::HERMITE) {
-
369  assert((long int)(derivs_xmin->extent(0))
-
370  == spline_builder2.interpolation_domain().extents()
-
371  && derivs_xmin->extent(1) == nbc_xmin);
-
372  }
-
373  if (BcXmax1 == BoundCond::HERMITE) {
-
374  assert((long int)(derivs_xmax->extent(0))
-
375  == spline_builder2.interpolation_domain().extents()
-
376  && derivs_xmax->extent(1) == nbc_xmax);
-
377  }
-
378  ddc::for_each(spline_builder2.interpolation_domain(), [&](IMesh2 const i) {
-
379  const std::size_t ii = i.uid();
-
380  const ddc::DiscreteElement<bsplines_type2> spl_idx(nbc_ymin + ii);
-
381 
-
382  // Get interpolated values
-
383  ddc::Chunk<double, interpolation_domain_type1> vals1(
-
384  spline_builder1.interpolation_domain());
-
385  ddc::parallel_deepcopy(vals1, vals[i]);
-
386 
-
387  // Get interpolated derivatives
-
388  const std::optional<CDSpan1D> deriv_l(
-
389  BcXmin1 == BoundCond::HERMITE ? std::optional(
-
390  CDSpan1D(derivs_xmin->data_handle() + ii * nbc_xmin, nbc_xmin))
-
391  : std::nullopt);
-
392  const std::optional<CDSpan1D> deriv_r(
-
393  BcXmax1 == BoundCond::HERMITE ? std::optional(
-
394  CDSpan1D(derivs_xmax->data_handle() + ii * nbc_xmax, nbc_xmax))
-
395  : std::nullopt);
-
396 
-
397  // Interpolate values
-
398  spline_builder1(spline1, vals1, deriv_l, deriv_r);
-
399 
-
400  // Save result into 2d spline structure
-
401  ddc::for_each(
-
402  ddc::get_domain<bsplines_type1>(spline),
-
403  [&](ddc::DiscreteElement<bsplines_type1> const j) {
-
404  spline(spl_idx, j) = spline1(j);
-
405  });
-
406  });
-
407 
-
408  if constexpr (BcXmax2 == BoundCond::HERMITE) {
-
409  assert((long int)(derivs_ymax->extent(0))
-
410  == spline_builder1.interpolation_domain().extents()
-
411  && derivs_ymax->extent(1) == nbc_ymax);
-
412  if constexpr (BcXmin2 == BoundCond::HERMITE) {
-
413  assert(mixed_derivs_xmin_ymax->extent(0) == nbc_xmin
-
414  && mixed_derivs_xmin_ymax->extent(1) == nbc_ymax);
-
415  }
-
416  if constexpr (BcXmax2 == BoundCond::HERMITE) {
-
417  assert(mixed_derivs_xmax_ymax->extent(0) == nbc_xmax
-
418  && mixed_derivs_xmax_ymax->extent(1) == nbc_ymax);
-
419  }
-
420  for (int i = nbc_ymax; i > 0; --i) {
-
421  // In the boundary region we interpolate the derivatives
-
422  const ddc::DiscreteElement<bsplines_type2> spl_idx(
-
423  i + ddc::discrete_space<bsplines_type2>().nbasis() - nbc_ymax - 1);
-
424 
-
425  // Get interpolated values
-
426  ddc::Chunk<double, interpolation_domain_type1> vals1(
-
427  spline_builder1.interpolation_domain());
-
428  ddc::for_each(spline_builder1.interpolation_domain(), [&](IMesh1 const j) {
-
429  vals1(j) = (*derivs_ymax)(j.uid(), i - 1);
-
430  });
-
431 
-
432  // Get interpolated derivatives
-
433  std::vector<double> l_derivs(nbc_xmin);
-
434  if constexpr (BcXmin1 == BoundCond::HERMITE) {
-
435  for (std::size_t j(0); j < nbc_xmin; ++j)
-
436  l_derivs[j] = (*mixed_derivs_xmin_ymax)(j, i - 1);
-
437  }
-
438  const std::optional<CDSpan1D> deriv_l(
-
439  BcXmin1 == BoundCond::HERMITE
-
440  ? std::optional(CDSpan1D(l_derivs.data(), nbc_xmin))
-
441  : std::nullopt);
-
442 
-
443  std::vector<double> r_derivs(nbc_xmax);
-
444  if constexpr (BcXmax1 == BoundCond::HERMITE) {
-
445  for (std::size_t j(0); j < nbc_xmax; ++j)
-
446  r_derivs[j] = (*mixed_derivs_xmax_ymax)(j, i - 1);
-
447  }
-
448  const std::optional<CDSpan1D> deriv_r(
-
449  BcXmax1 == BoundCond::HERMITE
-
450  ? std::optional(CDSpan1D(r_derivs.data(), nbc_xmax))
-
451  : std::nullopt);
-
452 
-
453  // Interpolate derivatives
-
454  spline_builder1(spline1, vals1, deriv_l, deriv_r);
-
455 
-
456  // Save result into 2d spline structure
-
457  ddc::for_each(
-
458  ddc::get_domain<bsplines_type1>(spline),
-
459  [&](ddc::DiscreteElement<bsplines_type1> const j) {
-
460  spline(spl_idx, j) = spline1(j);
-
461  });
-
462  }
-
463  }
-
464 
-
465  using IMeshV2 = ddc::DiscreteVector<bsplines_type2>;
-
466 
-
467  /******************************************************************
-
468  * Cycle over x1 position (or order of x1-derivative at boundary)
-
469  * and interpolate x2 cofficients along x2 direction.
-
470  *******************************************************************/
-
471  const ddc::DiscreteDomain<bsplines_type1> spline_basis_domain
-
472  = ddc::DiscreteDomain<bsplines_type1>(
-
473  ddc::DiscreteElement<bsplines_type1>(0),
-
474  ddc::DiscreteVector<bsplines_type1>(
-
475  ddc::discrete_space<bsplines_type1>().nbasis()));
-
476 
-
477  ddc::for_each(spline_basis_domain, [&](ddc::DiscreteElement<bsplines_type1> const i) {
-
478  const ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type2>> line_2 = spline[i];
-
479  const ddc::DiscreteDomain<bsplines_type2> whole_line_dom
-
480  = ddc::get_domain<bsplines_type2>(spline);
-
481  // Get interpolated values
-
482  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type2>> const vals2(
-
483  line_2[whole_line_dom.remove(IMeshV2(nbc_ymin), IMeshV2(nbc_ymax))]);
-
484  // Get interpolated values acting as derivatives
-
485  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type2>> const l_derivs(
-
486  line_2[whole_line_dom.take_first(IMeshV2(nbc_ymin))]);
-
487  ddc::ChunkSpan<double, ddc::DiscreteDomain<bsplines_type2>> const r_derivs(
-
488  line_2[whole_line_dom.take_last(IMeshV2(nbc_ymax))]);
-
489  const std::optional<CDSpan1D> deriv_l(
-
490  BcXmin2 == BoundCond::HERMITE ? std::optional(l_derivs.allocation_mdspan())
-
491  : std::nullopt);
-
492  const std::optional<CDSpan1D> deriv_r(
-
493  BcXmax2 == BoundCond::HERMITE ? std::optional(r_derivs.allocation_mdspan())
-
494  : std::nullopt);
-
495 
-
496  ddc::ChunkSpan<double const, interpolation_domain_type2>
-
497  vals2_i(vals2.data_handle(), spline_builder2.interpolation_domain());
-
498 
-
499  // Interpolate coefficients
-
500  spline_builder2(spline2, vals2_i, deriv_l, deriv_r);
-
501 
-
502  // Re-write result into 2d spline structure
-
503  ddc::for_each(
-
504  ddc::get_domain<bsplines_type2>(spline),
-
505  [&](ddc::DiscreteElement<bsplines_type2> const j) { spline(i, j) = spline2(j); });
-
506  });
-
507 
-
508  if (bsplines_type1::is_periodic()) {
-
509  for (std::size_t i(0); i < bsplines_type1::degree(); ++i) {
-
510  const ddc::DiscreteElement<bsplines_type1> i_start(i);
-
511  const ddc::DiscreteElement<bsplines_type1> i_end(
-
512  ddc::discrete_space<bsplines_type1>().nbasis() + i);
-
513  ddc::for_each(
-
514  ddc::get_domain<bsplines_type2>(spline),
-
515  [&](ddc::DiscreteElement<bsplines_type2> const j) {
-
516  spline(i_end, j) = spline(i_start, j);
-
517  });
-
518  }
-
519  }
-
520 }
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
SplineBuilder2 builder_type2
Tag the type of the Bsplines in the second dimension.
Definition: spline_builder_2d.hpp:43
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
static constexpr BoundCond BcXmin1
The boundary condition implemented at the lower bound in the first dimension.
Definition: spline_builder_2d.hpp:71
-
SplineBuilder2D(SplineBuilder2D &&x)=default
Create a new SplineBuilder2D by copy.
-
void operator()(ddc::ChunkSpan< double, ddc::DiscreteDomain< bsplines_type1, bsplines_type2 >> spline, ddc::ChunkSpan< double const, interpolation_domain_type > vals, std::optional< CDSpan2D > const derivs_xmin=std::nullopt, std::optional< CDSpan2D > const derivs_xmax=std::nullopt, std::optional< CDSpan2D > const derivs_ymin=std::nullopt, std::optional< CDSpan2D > const derivs_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymin=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmin_ymax=std::nullopt, std::optional< CDSpan2D > const mixed_derivs_xmax_ymax=std::nullopt) const
Build a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:262
-
SplineBuilder1 builder_type1
Tag the type of the Bsplines in the first dimension.
Definition: spline_builder_2d.hpp:39
-
ddc::DiscreteDomain< interpolation_mesh_type1, interpolation_mesh_type2 > interpolation_domain_type
The type of the domain for the interpolation mesh is the 2D dimension used by this class.
Definition: spline_builder_2d.hpp:66
-
interpolation_domain_type const & interpolation_domain() const noexcept
Get the 2D dimension domain from which the approximation is defined.
Definition: spline_builder_2d.hpp:217
-
interpolation_domain_type1 const & interpolation_domain1() const noexcept
Get the first dimension domain from which the approximation is defined.
Definition: spline_builder_2d.hpp:191
-
SplineBuilder2D(SplineBuilder2D const &x)=delete
Create a new SplineBuilder2D by copy.
-
static constexpr BoundCond BcXmin2
The boundary condition implemented at the lower bound in the second dimension.
Definition: spline_builder_2d.hpp:79
-
static constexpr BoundCond BcXmax2
The boundary condition implemented at the upper bound in the second dimension.
Definition: spline_builder_2d.hpp:83
-
builder_type2 const & get_builder_2() const noexcept
Get the 1D spline builder in the second dimension.
Definition: spline_builder_2d.hpp:254
-
static constexpr BoundCond BcXmax1
The boundary condition implemented at the upper bound in the first dimension.
Definition: spline_builder_2d.hpp:75
-
SplineBuilder2D & operator=(SplineBuilder2D &&x)=default
Copy a SplineBuilder2D.
-
ddc::DiscreteDomain< interpolation_mesh_type2 > interpolation_domain_type2
The type of the domain for the interpolation mesh is the second dimension used by this class.
Definition: spline_builder_2d.hpp:61
-
interpolation_domain_type2 const & interpolation_domain2() const noexcept
Get the second dimension domain from which the approximation is defined.
Definition: spline_builder_2d.hpp:204
-
builder_type1 const & get_builder_1() const noexcept
Get the 1D spline builder in the first dimension.
Definition: spline_builder_2d.hpp:244
-
SplineBuilder2D(interpolation_domain_type const &interpolation_domain)
Create a new SplineBuilder2D.
Definition: spline_builder_2d.hpp:98
-
typename SplineBuilder1::bsplines_type bsplines_type1
The type of the BSplines in the first dimension which are compatible with this class.
Definition: spline_builder_2d.hpp:30
-
typename SplineBuilder2::mesh_type interpolation_mesh_type2
The type of the interpolation mesh in the second dimension used by this class.
Definition: spline_builder_2d.hpp:52
-
typename SplineBuilder2::bsplines_type bsplines_type2
The type of the BSplines in the second dimension which are compatible with this class.
Definition: spline_builder_2d.hpp:34
-
typename SplineBuilder1::mesh_type interpolation_mesh_type1
The type of the interpolation mesh in the first dimension used by this class.
Definition: spline_builder_2d.hpp:48
-
ddc::DiscreteDomain< interpolation_mesh_type1 > interpolation_domain_type1
The type of the domain for the interpolation mesh is the first dimension used by this class.
Definition: spline_builder_2d.hpp:57
-
-
- - - - diff --git a/spline__error__bounds_8hpp_source.html b/spline__error__bounds_8hpp_source.html deleted file mode 100644 index 213d28172..000000000 --- a/spline__error__bounds_8hpp_source.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/tests/spline_error_bounds.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_error_bounds.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <algorithm>
-
4 #include <array>
-
5 
-
6 #include <sll/math_tools.hpp>
-
7 
-
8 template <class Evaluator>
- -
10 {
-
11 private:
-
12  static constexpr std::array<double, 10> tihomirov_error_bound_array = std::array<double, 10>(
-
13  {1.0 / 2.0,
-
14  1.0 / 8.0,
-
15  1.0 / 24.0,
-
16  5.0 / 384.0,
-
17  1.0 / 240.0,
-
18  61.0 / 46080.0,
-
19  17.0 / 40320.0,
-
20  277.0 / 2064384.0,
-
21  31.0 / 725760.0,
-
22  50521.0 / 3715891200.0});
-
23 
-
24 private:
-
25  Evaluator const& m_evaluator;
-
26 
-
27 private:
-
28  /*******************************************************************************
-
29  * Error bound in max norm for spline interpolation of periodic functions from:
-
30  *
-
31  * V M Tihomirov 1969 Math. USSR Sb. 9 275
-
32  * https://doi.org/10.1070/SM1969v009n02ABEH002052 (page 286, bottom)
-
33  *
-
34  * Yu. S. Volkov and Yu. N. Subbotin
-
35  * https://doi.org/10.1134/S0081543815020236 (equation 14)
-
36  *
-
37  * Also applicable to first derivative by passing deg-1 instead of deg
-
38  * Volkov & Subbotin 2015, eq. 15
-
39  *******************************************************************************/
-
40  static double tihomirov_error_bound(double cell_width, int degree, double max_norm)
-
41  {
-
42  degree = std::min(degree, 9);
-
43  return tihomirov_error_bound_array[degree] * ipow(cell_width, degree + 1) * max_norm;
-
44  }
-
45 
-
46 public:
-
47  SplineErrorBounds(Evaluator const& evaluator) : m_evaluator(evaluator) {}
-
48 
-
49  double error_bound(double cell_width, int degree)
-
50  {
-
51  return tihomirov_error_bound(cell_width, degree, m_evaluator.max_norm(degree + 1));
-
52  }
-
53  double error_bound(double cell_width1, double cell_width2, int degree1, int degree2)
-
54  {
-
55  double norm1 = m_evaluator.max_norm(degree1 + 1, 0);
-
56  double norm2 = m_evaluator.max_norm(0, degree2 + 1);
-
57  return tihomirov_error_bound(cell_width1, degree1, norm1)
-
58  + tihomirov_error_bound(cell_width2, degree2, norm2);
-
59  }
-
60  double error_bound_on_deriv(double cell_width, int degree)
-
61  {
-
62  return tihomirov_error_bound(cell_width, degree - 1, m_evaluator.max_norm(degree + 1));
-
63  }
-
64  double error_bound_on_deriv_1(double cell_width1, double cell_width2, int degree1, int degree2)
-
65  {
-
66  double norm1 = m_evaluator.max_norm(degree1 + 1, 0);
-
67  double norm2 = m_evaluator.max_norm(0, degree2 + 1);
-
68  return tihomirov_error_bound(cell_width1, degree1 - 1, norm1)
-
69  + tihomirov_error_bound(cell_width2, degree2, norm2);
-
70  }
-
71  double error_bound_on_deriv_2(double cell_width1, double cell_width2, int degree1, int degree2)
-
72  {
-
73  double norm1 = m_evaluator.max_norm(degree1 + 1, 0);
-
74  double norm2 = m_evaluator.max_norm(0, degree2 + 1);
-
75  return tihomirov_error_bound(cell_width1, degree1, norm1)
-
76  + tihomirov_error_bound(cell_width2, degree2 - 1, norm2);
-
77  }
-
78 
-
79  /*******************************************************************************
-
80  * NOTE: The following estimates have no theoretical justification but capture
-
81  * the correct asympthotic rate of convergence.
-
82  * The error constant may be overestimated.
-
83  *******************************************************************************/
-
84  double error_bound_on_deriv_12(double cell_width1, double cell_width2, int degree1, int degree2)
-
85  {
-
86  double norm1 = m_evaluator.max_norm(degree1 + 1, 1);
-
87  double norm2 = m_evaluator.max_norm(1, degree2 + 1);
-
88  return tihomirov_error_bound(cell_width1, degree1 - 1, norm1)
-
89  + tihomirov_error_bound(cell_width2, degree2 - 1, norm2);
-
90  }
-
91 
-
92  double error_bound_on_int(double cell_width, int degree)
-
93  {
-
94  return tihomirov_error_bound(cell_width, degree + 1, m_evaluator.max_norm(degree + 1));
-
95  }
-
96 };
-
Definition: spline_error_bounds.hpp:10
-
-
- - - - diff --git a/spline__evaluator_8hpp_source.html b/spline__evaluator_8hpp_source.html deleted file mode 100644 index c523675a3..000000000 --- a/spline__evaluator_8hpp_source.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_evaluator.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_evaluator.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 #include <cmath>
-
5 
-
6 #include <ddc/ddc.hpp>
-
7 
-
8 #include "sll/spline_boundary_value.hpp"
-
9 #include "sll/view.hpp"
-
10 
-
11 template <class BSplinesType>
- -
13 {
-
14 private:
-
15  // Tags to determine what to evaluate
-
16  struct eval_type
-
17  {
-
18  };
-
19 
-
20  struct eval_deriv_type
-
21  {
-
22  };
-
23 
-
24 public:
-
25  using bsplines_type = BSplinesType;
-
26 
-
27  using tag_type = typename BSplinesType::tag_type;
-
28 
-
29 private:
-
30  SplineBoundaryValue<BSplinesType> const& m_left_bc;
-
31 
-
32  SplineBoundaryValue<BSplinesType> const& m_right_bc;
-
33 
-
34 public:
-
35  SplineEvaluator() = delete;
-
36 
-
37  explicit SplineEvaluator(
-
38  SplineBoundaryValue<BSplinesType> const& left_bc,
-
39  SplineBoundaryValue<BSplinesType> const& right_bc)
-
40  : m_left_bc(left_bc)
-
41  , m_right_bc(right_bc)
-
42  {
-
43  }
-
44 
-
45  SplineEvaluator(SplineEvaluator const& x) = default;
-
46 
-
47  SplineEvaluator(SplineEvaluator&& x) = default;
-
48 
-
49  ~SplineEvaluator() = default;
-
50 
-
51  SplineEvaluator& operator=(SplineEvaluator const& x) = default;
-
52 
-
53  SplineEvaluator& operator=(SplineEvaluator&& x) = default;
-
54 
-
55  double operator()(
-
56  ddc::Coordinate<tag_type> const& coord_eval,
-
57  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef) const
-
58  {
-
59  std::array<double, bsplines_type::degree() + 1> values;
-
60  DSpan1D const vals = as_span(values);
-
61 
-
62  return eval(coord_eval, spline_coef, vals);
-
63  }
-
64 
-
65  template <class Domain>
-
66  void operator()(
-
67  ddc::ChunkSpan<double, Domain> const spline_eval,
-
68  ddc::ChunkSpan<const ddc::Coordinate<tag_type>, Domain> const coords_eval,
-
69  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef) const
-
70  {
-
71  std::array<double, bsplines_type::degree() + 1> values;
-
72  DSpan1D const vals = as_span(values);
-
73 
-
74  for (auto i : coords_eval.domain()) {
-
75  spline_eval(i) = eval(coords_eval(i), spline_coef, vals);
-
76  }
-
77  }
-
78 
-
79  double deriv(
-
80  ddc::Coordinate<tag_type> const& coord_eval,
-
81  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef) const
-
82  {
-
83  std::array<double, bsplines_type::degree() + 1> values;
-
84  DSpan1D const vals = as_span(values);
-
85 
-
86  return eval_no_bc(coord_eval, spline_coef, vals, eval_deriv_type());
-
87  }
-
88 
-
89  template <class Domain>
-
90  void deriv(
-
91  ddc::ChunkSpan<double, Domain> const spline_eval,
-
92  ddc::ChunkSpan<const ddc::Coordinate<tag_type>, Domain> const coords_eval,
-
93  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef) const
-
94  {
-
95  std::array<double, bsplines_type::degree() + 1> values;
-
96  DSpan1D const vals = as_span(values);
-
97 
-
98  for (auto i : coords_eval.domain()) {
-
99  spline_eval(i) = eval_no_bc(coords_eval(i), spline_coef, vals, eval_deriv_type());
-
100  }
-
101  }
-
102 
-
103  double integrate(
-
104  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef) const
-
105  {
-
106  ddc::Chunk<double, ddc::DiscreteDomain<BSplinesType>> values(spline_coef.domain());
-
107 
-
108  ddc::discrete_space<bsplines_type>().integrals(values);
-
109 
-
110  return ddc::transform_reduce(
-
111  spline_coef.domain(),
-
112  0.0,
-
113  ddc::reducer::sum<double>(),
-
114  [&](ddc::DiscreteElement<BSplinesType> const ibspl) {
-
115  return spline_coef(ibspl) * values(ibspl);
-
116  });
-
117  }
-
118 
-
119 private:
-
120  double eval(
-
121  ddc::Coordinate<tag_type> coord_eval,
-
122  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef,
-
123  DSpan1D const vals) const
-
124  {
-
125  if constexpr (bsplines_type::is_periodic()) {
-
126  if (coord_eval < ddc::discrete_space<bsplines_type>().rmin()
-
127  || coord_eval > ddc::discrete_space<bsplines_type>().rmax()) {
-
128  coord_eval -= std::floor(
-
129  (coord_eval - ddc::discrete_space<bsplines_type>().rmin())
-
130  / ddc::discrete_space<bsplines_type>().length())
-
131  * ddc::discrete_space<bsplines_type>().length();
-
132  }
-
133  } else {
-
134  if (coord_eval < ddc::discrete_space<bsplines_type>().rmin()) {
-
135  return m_left_bc(coord_eval, spline_coef);
-
136  }
-
137  if (coord_eval > ddc::discrete_space<bsplines_type>().rmax()) {
-
138  return m_right_bc(coord_eval, spline_coef);
-
139  }
-
140  }
-
141  return eval_no_bc(coord_eval, spline_coef, vals, eval_type());
-
142  }
-
143 
-
144  template <class EvalType>
-
145  double eval_no_bc(
-
146  ddc::Coordinate<tag_type> const& coord_eval,
-
147  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType>> const spline_coef,
-
148  DSpan1D const vals,
-
149  EvalType const) const
-
150  {
-
151  static_assert(
-
152  std::is_same_v<EvalType, eval_type> || std::is_same_v<EvalType, eval_deriv_type>);
-
153  ddc::DiscreteElement<BSplinesType> jmin;
-
154 
-
155  if constexpr (std::is_same_v<EvalType, eval_type>) {
-
156  jmin = ddc::discrete_space<bsplines_type>().eval_basis(vals, coord_eval);
-
157  } else if constexpr (std::is_same_v<EvalType, eval_deriv_type>) {
-
158  jmin = ddc::discrete_space<bsplines_type>().eval_deriv(vals, coord_eval);
-
159  }
-
160 
-
161  double y = 0.0;
-
162  for (std::size_t i = 0; i < bsplines_type::degree() + 1; ++i) {
-
163  y += spline_coef(jmin + i) * vals(i);
-
164  }
-
165  return y;
-
166  }
-
167 };
- -
Definition: spline_evaluator.hpp:13
-
-
- - - - diff --git a/spline__evaluator__2d_8hpp_source.html b/spline__evaluator__2d_8hpp_source.html deleted file mode 100644 index 9976fac8b..000000000 --- a/spline__evaluator__2d_8hpp_source.html +++ /dev/null @@ -1,477 +0,0 @@ - - - - - - - -Gyselalib++: /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/spline_evaluator_2d.hpp Source File - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
spline_evaluator_2d.hpp
-
-
-
1 #pragma once
-
2 
-
3 #include <array>
-
4 
-
5 #include <ddc/ddc.hpp>
-
6 
-
7 #include <sll/spline_boundary_value.hpp>
-
8 #include <sll/view.hpp>
-
9 
-
13 template <class BSplinesType1, class BSplinesType2>
- -
15 {
-
16 private:
-
20  struct eval_type
-
21  {
-
22  };
-
23 
-
27  struct eval_deriv_type
-
28  {
-
29  };
-
30 
-
31 public:
-
35  using bsplines_type1 = BSplinesType1;
-
39  using bsplines_type2 = BSplinesType2;
-
43  using Dim1 = typename BSplinesType1::tag_type;
-
47  using Dim2 = typename BSplinesType2::tag_type;
-
48 
-
49 private:
- -
51 
- -
53 
- -
55 
- -
57 
-
58 public:
-
59  SplineEvaluator2D() = delete;
-
60 
- - - - - -
84  : m_left_bc_1(left_bc_1)
-
85  , m_right_bc_1(right_bc_1)
-
86  , m_left_bc_2(left_bc_2)
-
87  , m_right_bc_2(right_bc_2)
-
88  {
-
89  }
-
90 
-
98  SplineEvaluator2D(SplineEvaluator2D const& x) = default;
-
99 
- -
108 
-
109  ~SplineEvaluator2D() = default;
-
110 
- -
120 
- -
130 
-
141  double operator()(
-
142  ddc::Coordinate<Dim1, Dim2> const& coord_eval,
-
143  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
144  spline_coef) const
-
145  {
-
146  std::array<double, bsplines_type1::degree() + 1> values1;
-
147  DSpan1D const vals1 = as_span(values1);
-
148  std::array<double, bsplines_type2::degree() + 1> values2;
-
149  DSpan1D const vals2 = as_span(values2);
-
150 
-
151  return eval(coord_eval, spline_coef, vals1, vals2);
-
152  }
-
153 
-
164  template <class Domain>
- -
166  ddc::ChunkSpan<double, Domain> const spline_eval,
-
167  ddc::ChunkSpan<ddc::Coordinate<Dim1, Dim2> const, Domain> const coords_eval,
-
168  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
169  spline_coef) const
-
170  {
-
171  std::array<double, bsplines_type1::degree() + 1> values1;
-
172  DSpan1D const vals1 = as_span(values1);
-
173  std::array<double, bsplines_type2::degree() + 1> values2;
-
174  DSpan1D const vals2 = as_span(values2);
-
175 
-
176  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
177  spline_eval(i) = eval(coords_eval(i), spline_coef, vals1, vals2);
-
178  });
-
179  }
-
180 
-
191  double deriv_dim_1(
-
192  ddc::Coordinate<Dim1, Dim2> const& coord_eval,
-
193  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
194  spline_coef) const
-
195  {
-
196  std::array<double, bsplines_type1::degree() + 1> values1;
-
197  DSpan1D const vals1 = as_span(values1);
-
198  std::array<double, bsplines_type2::degree() + 1> values2;
-
199  DSpan1D const vals2 = as_span(values2);
-
200 
-
201  return eval_no_bc(
-
202  ddc::select<Dim1>(coord_eval),
-
203  ddc::select<Dim2>(coord_eval),
-
204  spline_coef,
-
205  vals1,
-
206  vals2,
-
207  eval_deriv_type(),
-
208  eval_type());
-
209  }
-
210 
-
221  double deriv_dim_2(
-
222  ddc::Coordinate<Dim1, Dim2> const& coord_eval,
-
223  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
224  spline_coef) const
-
225  {
-
226  std::array<double, bsplines_type1::degree() + 1> values1;
-
227  DSpan1D const vals1 = as_span(values1);
-
228  std::array<double, bsplines_type2::degree() + 1> values2;
-
229  DSpan1D const vals2 = as_span(values2);
-
230 
-
231  return eval_no_bc(
-
232  ddc::select<Dim1>(coord_eval),
-
233  ddc::select<Dim2>(coord_eval),
-
234  spline_coef,
-
235  vals1,
-
236  vals2,
-
237  eval_type(),
-
238  eval_deriv_type());
-
239  }
-
240 
- -
252  ddc::Coordinate<Dim1, Dim2> const& coord_eval,
-
253  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
254  spline_coef) const
-
255  {
-
256  std::array<double, bsplines_type1::degree() + 1> values1;
-
257  DSpan1D const vals1 = as_span(values1);
-
258  std::array<double, bsplines_type2::degree() + 1> values2;
-
259  DSpan1D const vals2 = as_span(values2);
-
260 
-
261  return eval_no_bc(
-
262  ddc::select<Dim1>(coord_eval),
-
263  ddc::select<Dim2>(coord_eval),
-
264  spline_coef,
-
265  vals1,
-
266  vals2,
-
267  eval_deriv_type(),
-
268  eval_deriv_type());
-
269  }
-
270 
-
281  template <class Domain>
- -
283  ddc::ChunkSpan<double, Domain> const spline_eval,
-
284  ddc::ChunkSpan<ddc::Coordinate<Dim1, Dim2> const, Domain> const coords_eval,
-
285  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
286  spline_coef) const
-
287  {
-
288  std::array<double, bsplines_type1::degree() + 1> values1;
-
289  DSpan1D const vals1 = as_span(values1);
-
290  std::array<double, bsplines_type2::degree() + 1> values2;
-
291  DSpan1D const vals2 = as_span(values2);
-
292 
-
293  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
294  spline_eval(i) = eval_no_bc(
-
295  ddc::select<Dim1>(coords_eval(i)),
-
296  ddc::select<Dim2>(coords_eval(i)),
-
297  spline_coef,
-
298  vals1,
-
299  vals2,
-
300  eval_deriv_type(),
-
301  eval_type());
-
302  });
-
303  }
-
304 
-
315  template <class Domain>
- -
317  ddc::ChunkSpan<double, Domain> const spline_eval,
-
318  ddc::ChunkSpan<ddc::Coordinate<Dim1, Dim2> const, Domain> const coords_eval,
-
319  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
320  spline_coef) const
-
321  {
-
322  std::array<double, bsplines_type1::degree() + 1> values1;
-
323  DSpan1D const vals1 = as_span(values1);
-
324  std::array<double, bsplines_type2::degree() + 1> values2;
-
325  DSpan1D const vals2 = as_span(values2);
-
326 
-
327  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
328  spline_eval(i) = eval_no_bc(
-
329  ddc::select<Dim1>(coords_eval(i)),
-
330  ddc::select<Dim2>(coords_eval(i)),
-
331  spline_coef,
-
332  vals1,
-
333  vals2,
-
334  eval_type(),
-
335  eval_deriv_type());
-
336  });
-
337  }
-
338 
-
349  template <class Domain>
- -
351  ddc::ChunkSpan<double, Domain> const spline_eval,
-
352  ddc::ChunkSpan<ddc::Coordinate<Dim1, Dim2> const, Domain> const coords_eval,
-
353  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
354  spline_coef) const
-
355  {
-
356  std::array<double, bsplines_type1::degree() + 1> values1;
-
357  DSpan1D const vals1 = as_span(values1);
-
358  std::array<double, bsplines_type2::degree() + 1> values2;
-
359  DSpan1D const vals2 = as_span(values2);
-
360 
-
361  ddc::for_each(coords_eval.domain(), [=](auto i) {
-
362  spline_eval(i) = eval_no_bc(
-
363  ddc::select<Dim1>(coords_eval(i)),
-
364  ddc::select<Dim2>(coords_eval(i)),
-
365  spline_coef,
-
366  vals1,
-
367  vals2,
-
368  eval_deriv_type(),
-
369  eval_deriv_type());
-
370  });
-
371  }
-
372 
-
381  double integrate(
-
382  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
383  spline_coef) const
-
384  {
-
385  ddc::Chunk<double, ddc::DiscreteDomain<BSplinesType1>> values1(
-
386  ddc::DiscreteDomain<BSplinesType1>(spline_coef.domain()));
-
387  ddc::Chunk<double, ddc::DiscreteDomain<BSplinesType2>> values2(
-
388  ddc::DiscreteDomain<BSplinesType2>(spline_coef.domain()));
-
389 
-
390  ddc::discrete_space<bsplines_type1>().integrals(values1.span_view());
-
391  ddc::discrete_space<bsplines_type2>().integrals(values2.span_view());
-
392 
-
393  return ddc::transform_reduce(
-
394  spline_coef.domain(),
-
395  0.0,
-
396  ddc::reducer::sum<double>(),
-
397  [&](ddc::DiscreteElement<BSplinesType1, BSplinesType2> const i) {
-
398  return spline_coef(i) * values1(ddc::select<BSplinesType1>(i))
-
399  * values2(ddc::select<BSplinesType2>(i));
-
400  });
-
401  }
-
402 
-
403 private:
-
423  double eval(
-
424  ddc::Coordinate<Dim1, Dim2> const& coord_eval,
-
425  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
426  spline_coef,
-
427  DSpan1D const vals1,
-
428  DSpan1D const vals2) const
-
429  {
-
430  ddc::Coordinate<Dim1> coord_eval1 = ddc::select<Dim1>(coord_eval);
-
431  ddc::Coordinate<Dim2> coord_eval2 = ddc::select<Dim2>(coord_eval);
-
432  if constexpr (bsplines_type1::is_periodic()) {
-
433  if (coord_eval1 < ddc::discrete_space<bsplines_type1>().rmin()
-
434  || coord_eval1 > ddc::discrete_space<bsplines_type1>().rmax()) {
-
435  coord_eval1 -= std::floor(
-
436  (coord_eval1 - ddc::discrete_space<bsplines_type1>().rmin())
-
437  / ddc::discrete_space<bsplines_type1>().length())
-
438  * ddc::discrete_space<bsplines_type1>().length();
-
439  }
-
440  }
-
441 
-
442  if constexpr (bsplines_type2::is_periodic()) {
-
443  if (coord_eval2 < ddc::discrete_space<bsplines_type2>().rmin()
-
444  || coord_eval2 > ddc::discrete_space<bsplines_type2>().rmax()) {
-
445  coord_eval2 -= std::floor(
-
446  (coord_eval2 - ddc::discrete_space<bsplines_type2>().rmin())
-
447  / ddc::discrete_space<bsplines_type2>().length())
-
448  * ddc::discrete_space<bsplines_type2>().length();
-
449  }
-
450  }
-
451 
-
452  if constexpr (!bsplines_type1::is_periodic()) {
-
453  if (coord_eval1 < ddc::discrete_space<bsplines_type1>().rmin()) {
-
454  return m_left_bc_1(coord_eval1, coord_eval2, spline_coef);
-
455  }
-
456  if (coord_eval1 > ddc::discrete_space<bsplines_type1>().rmax()) {
-
457  return m_right_bc_1(coord_eval1, coord_eval2, spline_coef);
-
458  }
-
459  }
-
460 
-
461  if constexpr (!bsplines_type2::is_periodic()) {
-
462  if (coord_eval2 < ddc::discrete_space<bsplines_type2>().rmin()) {
-
463  return m_left_bc_2(coord_eval1, coord_eval2, spline_coef);
-
464  }
-
465  if (coord_eval2 > ddc::discrete_space<bsplines_type2>().rmax()) {
-
466  return m_right_bc_2(coord_eval1, coord_eval2, spline_coef);
-
467  }
-
468  }
-
469 
-
470  return eval_no_bc(
-
471  coord_eval1,
-
472  coord_eval2,
-
473  spline_coef,
-
474  vals1,
-
475  vals2,
-
476  eval_type(),
-
477  eval_type());
-
478  }
-
479 
-
500  template <class EvalType1, class EvalType2>
-
501  double eval_no_bc(
-
502  ddc::Coordinate<Dim1> const& coord_eval1,
-
503  ddc::Coordinate<Dim2> const& coord_eval2,
-
504  ddc::ChunkSpan<double const, ddc::DiscreteDomain<BSplinesType1, BSplinesType2>> const
-
505  spline_coef,
-
506  DSpan1D const vals1,
-
507  DSpan1D const vals2,
-
508  EvalType1 const eval_type_1,
-
509  EvalType2 const eval_type_2) const
-
510  {
-
511  static_assert(
-
512  std::is_same_v<EvalType1, eval_type> || std::is_same_v<EvalType1, eval_deriv_type>);
-
513  static_assert(
-
514  std::is_same_v<EvalType2, eval_type> || std::is_same_v<EvalType2, eval_deriv_type>);
-
515  ddc::DiscreteElement<BSplinesType1> jmin1;
-
516  ddc::DiscreteElement<BSplinesType2> jmin2;
-
517 
-
518  if constexpr (std::is_same_v<EvalType1, eval_type>) {
-
519  jmin1 = ddc::discrete_space<bsplines_type1>().eval_basis(vals1, coord_eval1);
-
520  } else if constexpr (std::is_same_v<EvalType1, eval_deriv_type>) {
-
521  jmin1 = ddc::discrete_space<bsplines_type1>().eval_deriv(vals1, coord_eval1);
-
522  }
-
523  if constexpr (std::is_same_v<EvalType2, eval_type>) {
-
524  jmin2 = ddc::discrete_space<bsplines_type2>().eval_basis(vals2, coord_eval2);
-
525  } else if constexpr (std::is_same_v<EvalType2, eval_deriv_type>) {
-
526  jmin2 = ddc::discrete_space<bsplines_type2>().eval_deriv(vals2, coord_eval2);
-
527  }
-
528 
-
529  double y = 0.0;
-
530  for (std::size_t i = 0; i < bsplines_type1::degree() + 1; ++i) {
-
531  for (std::size_t j = 0; j < bsplines_type2::degree() + 1; ++j) {
-
532  y += spline_coef(jmin1 + i, jmin2 + j) * vals1(i) * vals2(j);
-
533  }
-
534  }
-
535  return y;
-
536  }
-
537 };
- -
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
-
BSplinesType2 bsplines_type2
Tag the B-spline type of the second dimension.
Definition: spline_evaluator_2d.hpp:39
-
SplineEvaluator2D(SplineEvaluator2D const &x)=default
Instantiate a SplineEvaluator2D from another SplineEvaluator2D (lvalue).
-
double deriv_dim_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the derivative of the second dimension of the function on B-splines at the coordinat...
Definition: spline_evaluator_2d.hpp:221
-
typename BSplinesType2::tag_type Dim2
Tag the second dimension.
Definition: spline_evaluator_2d.hpp:47
-
typename BSplinesType1::tag_type Dim1
Tag the first dimension.
Definition: spline_evaluator_2d.hpp:43
-
BSplinesType1 bsplines_type1
Tag the B-spline type of the first dimension.
Definition: spline_evaluator_2d.hpp:35
-
SplineEvaluator2D(SplineEvaluator2D &&x)=default
Instantiate a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue).
-
double deriv_1_and_2(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the cross derivative of the function on B-splines at the coordinate given.
Definition: spline_evaluator_2d.hpp:251
-
SplineEvaluator2D & operator=(SplineEvaluator2D const &x)=default
Assign a SplineEvaluator2D from another SplineEvaluator2D (lvalue).
-
void deriv_dim_1_and_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the values of the cross derivative of the function on B-splines at the coordinates given.
Definition: spline_evaluator_2d.hpp:350
-
void operator()(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the values of the function on B-splines at the coordinates given.
Definition: spline_evaluator_2d.hpp:165
-
SplineEvaluator2D & operator=(SplineEvaluator2D &&x)=default
Assign a SplineEvaluator2D from another temporary SplineEvaluator2D (rvalue).
-
SplineEvaluator2D(SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_1, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &left_bc_2, SplineBoundaryValue2D< BSplinesType1, BSplinesType2 > const &right_bc_2)
Instantiate an evaluator operator.
Definition: spline_evaluator_2d.hpp:79
-
double operator()(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the function on B-splines at the coordinate given.
Definition: spline_evaluator_2d.hpp:141
-
double deriv_dim_1(ddc::Coordinate< Dim1, Dim2 > const &coord_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the value of the derivative of the first dimension of the function on B-splines at the coordinate...
Definition: spline_evaluator_2d.hpp:191
-
void deriv_dim_2(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the values of the derivative of the second dimension of the function on B-splines at the coordina...
Definition: spline_evaluator_2d.hpp:316
-
double integrate(ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the the integral of the function on B-splines on the domain.
Definition: spline_evaluator_2d.hpp:381
-
void deriv_dim_1(ddc::ChunkSpan< double, Domain > const spline_eval, ddc::ChunkSpan< ddc::Coordinate< Dim1, Dim2 > const, Domain > const coords_eval, ddc::ChunkSpan< double const, ddc::DiscreteDomain< BSplinesType1, BSplinesType2 >> const spline_coef) const
Get the values of the derivative of the first dimension of the function on B-splines at the coordinat...
Definition: spline_evaluator_2d.hpp:282
-
-
- - - - diff --git a/spline__foot__finder_8hpp_source.html b/spline__foot__finder_8hpp_source.html index 383508753..8fa3c660c 100644 --- a/spline__foot__finder_8hpp_source.html +++ b/spline__foot__finder_8hpp_source.html @@ -121,16 +121,16 @@
32 
33  AdvectionDomain const& m_advection_domain;
34 
-
35  SplineRPBuilder const& m_builder_advection_field;
-
36  SplineRPEvaluator const& m_evaluator_advection_field;
+
35  SplineRPBuilder const& m_builder_advection_field;
+
36  SplineRPEvaluatorConstBound const& m_evaluator_advection_field;
37 
38 
39 public:
- +
64  TimeStepper const& time_stepper,
65  AdvectionDomain const& advection_domain,
-
66  SplineRPBuilder const& builder_advection_field,
-
67  SplineRPEvaluator const& evaluator_advection_field)
+
66  SplineRPBuilder const& builder_advection_field,
+
67  SplineRPEvaluatorConstBound const& evaluator_advection_field)
68  : m_time_stepper(time_stepper)
69  , m_advection_domain(advection_domain)
70  , m_builder_advection_field(builder_advection_field)
@@ -146,7 +146,7 @@
96  {
97  VectorDFieldRP<RDimX_adv, RDimY_adv> advection_field_in_adv_dom(advection_field.domain());
98  VectorSpline2D<RDimX_adv, RDimY_adv> advection_field_in_adv_dom_coefs(
-
99  m_builder_advection_field.spline_domain());
+
99  m_builder_advection_field.spline_domain());
100 
101  // Compute the advection field in the advection domain.
102  m_advection_domain
@@ -155,10 +155,10 @@
105  // Get the coefficients of the advection field in the advection domain.
106  m_builder_advection_field(
107  ddcHelper::get<RDimX_adv>(advection_field_in_adv_dom_coefs),
-
108  ddcHelper::get<RDimX_adv>(advection_field_in_adv_dom));
+
108  ddcHelper::get<RDimX_adv>(advection_field_in_adv_dom.span_cview()));
109  m_builder_advection_field(
110  ddcHelper::get<RDimY_adv>(advection_field_in_adv_dom_coefs),
-
111  ddcHelper::get<RDimY_adv>(advection_field_in_adv_dom));
+
111  ddcHelper::get<RDimY_adv>(advection_field_in_adv_dom.span_cview()));
112 
113 
114  // The function describing how the derivative of the evolve function is calculated.
@@ -235,15 +235,13 @@
210 };
Define a domain for the advection.
Definition: advection_domain.hpp:41
Define a base class for all the time integration methods used for the advection.
Definition: ifoot_finder.hpp:13
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
Get the 2D domain on which the approximation is defined.
Definition: spline_builder_2d.hpp:230
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
Define a base class for all the time integration methods used for the advection.
Definition: spline_foot_finder.hpp:19
-
SplineFootFinder(TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluator const &evaluator_advection_field)
Instantiate a time integration method for the advection operator.
Definition: spline_foot_finder.hpp:63
+
SplineFootFinder(TimeStepper const &time_stepper, AdvectionDomain const &advection_domain, SplineRPBuilder const &builder_advection_field, SplineRPEvaluatorConstBound const &evaluator_advection_field)
Instantiate a time integration method for the advection operator.
Definition: spline_foot_finder.hpp:63
void operator()(SpanRP< CoordRP > feet, VectorDViewRP< RDimX, RDimY > advection_field, double dt) const final
Advect the feet over .
Definition: spline_foot_finder.hpp:94
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:153
+
view_type span_cview() const
Get a constant reference to this vector field.
Definition: vector_field.hpp:143
KOKKOS_FUNCTION double norm_inf(ddc::Coordinate< Tags... > coord)
Compute the infinity norm.
Definition: utils_tools.hpp:23
diff --git a/spline__interpolator__2d__rp_8hpp_source.html b/spline__interpolator__2d__rp_8hpp_source.html index 09619b2d9..d880012ad 100644 --- a/spline__interpolator__2d__rp_8hpp_source.html +++ b/spline__interpolator__2d__rp_8hpp_source.html @@ -104,71 +104,125 @@
1 #pragma once
-
2 
-
3 #include <sll/spline_builder_2d.hpp>
-
4 #include <sll/spline_evaluator_2d.hpp>
+
2 #include "geometry.hpp"
+
3 #include "i_interpolator_2d_rp.hpp"
+
4 
5 
-
6 #include "geometry.hpp"
-
7 #include "i_interpolator_2d_rp.hpp"
-
8 
-
9 
- -
16 {
-
17 private:
-
18  SplineRPBuilder const& m_builder;
-
19 
-
20  SplineRPEvaluator const& m_evaluator;
-
21 
-
22  mutable ddc::Chunk<double, BSDomainRP> m_coefs;
-
23 
-
24 public:
-
30  SplineInterpolatorRP(SplineRPBuilder const& builder, SplineRPEvaluator const& evaluator)
-
31  : m_builder(builder)
-
32  , m_evaluator(evaluator)
-
33  , m_coefs(builder.spline_domain())
-
34  {
-
35  }
+
11 template <class RadialExtrapolationRule>
+ +
13 {
+
14 public:
+
16  using evaluator_type = ddc::SplineEvaluator2D<
+
17  Kokkos::DefaultHostExecutionSpace,
+
18  Kokkos::DefaultHostExecutionSpace::memory_space,
+
19  BSplinesR,
+
20  BSplinesP,
+
21  IDimR,
+
22  IDimP,
+
23  RadialExtrapolationRule,
+
24  RadialExtrapolationRule,
+
25  ddc::PeriodicExtrapolationRule<RDimP>,
+
26  ddc::PeriodicExtrapolationRule<RDimP>,
+
27  IDimR,
+
28  IDimP>;
+
29 
+
30 private:
+
31  SplineRPBuilder const& m_builder;
+
32 
+
33  evaluator_type const& m_evaluator;
+
34 
+
35  mutable ddc::Chunk<double, BSDomainRP> m_coefs;
36 
-
37  ~SplineInterpolatorRP() override = default;
-
38 
-
51  DSpanRP operator()(DSpanRP inout_data, ddc::ChunkSpan<CoordRP const, IDomainRP> coordinates)
-
52  const override;
-
53 };
-
54 
+
37  using r_deriv_type = ddc::ChunkSpan<double const, SplineRPBuilder::derivs_domain_type1>;
+
38  using p_deriv_type = ddc::ChunkSpan<double const, SplineRPBuilder::derivs_domain_type2>;
+
39  using mixed_deriv_type = ddc::ChunkSpan<double const, SplineRPBuilder::derivs_domain_type>;
+
40 
+
41 public:
+
47  SplineInterpolatorRP(SplineRPBuilder const& builder, evaluator_type const& evaluator)
+
48  : m_builder(builder)
+
49  , m_evaluator(evaluator)
+
50  , m_coefs(builder.spline_domain())
+
51  {
+
52  }
+
53 
+
54  ~SplineInterpolatorRP() override = default;
55 
-
56 
- -
65 {
-
66  SplineRPBuilder const& m_builder;
-
67 
-
68  SplineRPEvaluator const& m_evaluator;
-
69 
-
70 public:
- -
77  SplineRPBuilder const& builder,
-
78  SplineRPEvaluator const& evaluator)
-
79  : m_builder(builder)
-
80  , m_evaluator(evaluator)
-
81  {
-
82  }
-
83 
-
84  ~PreallocatableSplineInterpolatorRP() override = default;
+
68  DSpanRP operator()(
+
69  DSpanRP const inout_data,
+
70  ddc::ChunkSpan<CoordRP const, IDomainRP> const coordinates) const override
+
71  {
+
72 #ifndef NDEBUG
+
73  // To ensure that the interpolator is C0, we ensure that
+
74  // the value at (r=0,theta) is the same for all theta.
+
75  auto r_domain = ddc::get_domain<IDimR>(inout_data);
+
76  auto theta_domain = ddc::get_domain<IDimP>(inout_data);
+
77  if (ddc::coordinate(r_domain.front()) == 0) {
+
78  ddc::for_each(theta_domain, [&](IndexP const ip) {
+
79  assert(("Unicity of the value at the center point:",
+
80  inout_data(r_domain.front(), ip)
+
81  == inout_data(r_domain.front(), theta_domain.front())));
+
82  });
+
83  }
+
84 #endif
85 
-
91  std::unique_ptr<IInterpolatorRP> preallocate() const override
-
92  {
-
93  return std::make_unique<SplineInterpolatorRP>(m_builder, m_evaluator);
-
94  }
-
95 };
+
86  m_builder(m_coefs.span_view(), inout_data.span_cview());
+
87  m_evaluator(inout_data.span_view(), coordinates, m_coefs.span_cview());
+
88  return inout_data;
+
89  }
+
90 };
+
91 
+
92 
+
93 
+
101 template <class RadialExtrapolationRule>
+ +
103 {
+
104 public:
+
106  using evaluator_type = ddc::SplineEvaluator2D<
+
107  Kokkos::DefaultHostExecutionSpace,
+
108  Kokkos::DefaultHostExecutionSpace::memory_space,
+
109  BSplinesR,
+
110  BSplinesP,
+
111  IDimR,
+
112  IDimP,
+
113  RadialExtrapolationRule,
+
114  RadialExtrapolationRule,
+
115  ddc::PeriodicExtrapolationRule<RDimP>,
+
116  ddc::PeriodicExtrapolationRule<RDimP>,
+
117  IDimR,
+
118  IDimP>;
+
119 
+
120 private:
+
121  SplineRPBuilder const& m_builder;
+
122 
+
123  evaluator_type const& m_evaluator;
+
124 
+
125 public:
+ +
132  SplineRPBuilder const& builder,
+
133  evaluator_type const& evaluator)
+
134  : m_builder(builder)
+
135  , m_evaluator(evaluator)
+
136  {
+
137  }
+
138 
+
139  ~PreallocatableSplineInterpolatorRP() override = default;
+
140 
+
146  std::unique_ptr<IInterpolatorRP> preallocate() const override
+
147  {
+
148  return std::make_unique<
+
149  SplineInterpolatorRP<RadialExtrapolationRule>>(m_builder, m_evaluator);
+
150  }
+
151 };
A class which provides an interpolating function.
Definition: i_interpolator_2d_rp.hpp:17
A class which provides access to an interpolating function which can be preallocated where useful.
Definition: i_interpolator_2d_rp.hpp:52
-
A class which stores information necessary to create a pointer to an instance of the SplineInterpolat...
Definition: spline_interpolator_2d_rp.hpp:65
-
std::unique_ptr< IInterpolatorRP > preallocate() const override
Create a pointer to an instance of the SplineInterpolatorRP class.
Definition: spline_interpolator_2d_rp.hpp:91
-
PreallocatableSplineInterpolatorRP(SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)
Create an object capable of creating SplineInterpolatorRP objects.
Definition: spline_interpolator_2d_rp.hpp:76
-
A class for creating a 2D spline approximation of a function.
Definition: spline_builder_2d.hpp:15
-
Define an evaluator 2D on B-splines.
Definition: spline_evaluator_2d.hpp:15
-
A class for interpolating a function using splines in polar coordinates.
Definition: spline_interpolator_2d_rp.hpp:16
-
DSpanRP operator()(DSpanRP inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > coordinates) const override
Approximate the value of a function at a set of polar coordinates using the current values at a known...
-
SplineInterpolatorRP(SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator)
Create a spline interpolator object.
Definition: spline_interpolator_2d_rp.hpp:30
+
A class which stores information necessary to create a pointer to an instance of the SplineInterpolat...
Definition: spline_interpolator_2d_rp.hpp:103
+
ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP > evaluator_type
The type of the 2D Spline Evaluator used by this class.
Definition: spline_interpolator_2d_rp.hpp:118
+
PreallocatableSplineInterpolatorRP(SplineRPBuilder const &builder, evaluator_type const &evaluator)
Create an object capable of creating SplineInterpolatorRP objects.
Definition: spline_interpolator_2d_rp.hpp:131
+
std::unique_ptr< IInterpolatorRP > preallocate() const override
Create a pointer to an instance of the SplineInterpolatorRP class.
Definition: spline_interpolator_2d_rp.hpp:146
+
A class for interpolating a function using splines in polar coordinates.
Definition: spline_interpolator_2d_rp.hpp:13
+
DSpanRP operator()(DSpanRP const inout_data, ddc::ChunkSpan< CoordRP const, IDomainRP > const coordinates) const override
Approximate the value of a function at a set of polar coordinates using the current values at a known...
Definition: spline_interpolator_2d_rp.hpp:68
+
SplineInterpolatorRP(SplineRPBuilder const &builder, evaluator_type const &evaluator)
Create a spline interpolator object.
Definition: spline_interpolator_2d_rp.hpp:47
+
ddc::SplineEvaluator2D< Kokkos::DefaultHostExecutionSpace, Kokkos::DefaultHostExecutionSpace::memory_space, BSplinesR, BSplinesP, IDimR, IDimP, RadialExtrapolationRule, RadialExtrapolationRule, ddc::PeriodicExtrapolationRule< RDimP >, ddc::PeriodicExtrapolationRule< RDimP >, IDimR, IDimP > evaluator_type
The type of the 2D Spline Evaluator used by this class.
Definition: spline_interpolator_2d_rp.hpp:28
diff --git a/spline__quadrature_8hpp.html b/spline__quadrature_8hpp.html index 9840fe3ba..cce48136a 100644 --- a/spline__quadrature_8hpp.html +++ b/spline__quadrature_8hpp.html @@ -110,18 +110,14 @@ More...

#include <cassert>
#include <ddc/ddc.hpp>
-#include <sll/bsplines_non_uniform.hpp>
#include <sll/matrix.hpp>
-#include <sll/null_boundary_value.hpp>
-#include <sll/spline_builder.hpp>
-#include <sll/spline_evaluator.hpp>

Go to the source code of this file.

- + @@ -149,7 +145,7 @@

- + diff --git a/spline__quadrature_8hpp_source.html b/spline__quadrature_8hpp_source.html index 11aa56984..273696dc5 100644 --- a/spline__quadrature_8hpp_source.html +++ b/spline__quadrature_8hpp_source.html @@ -111,92 +111,82 @@
11 
12 #include <ddc/ddc.hpp>
13 
-
14 #include <sll/bsplines_non_uniform.hpp>
-
15 #include <sll/matrix.hpp>
-
16 #include <sll/null_boundary_value.hpp>
-
17 #include <sll/spline_builder.hpp>
-
18 #include <sll/spline_evaluator.hpp>
-
19 
-
20 
-
21 
-
22 namespace {
-
23 template <class IDim>
-
24 using CoefficientChunk1D = ddc::Chunk<double, ddc::DiscreteDomain<IDim>>;
-
25 }
-
26 
-
27 
-
61 template <class IDim, class SplineBuilder>
-
62 ddc::Chunk<double, ddc::DiscreteDomain<IDim>> spline_quadrature_coefficients_1d(
-
63  ddc::DiscreteDomain<IDim> const& domain,
-
64  SplineBuilder const& builder)
-
65 {
+
14 #include <sll/matrix.hpp>
+
15 
+
16 
+
17 
+
18 namespace {
+
19 template <class IDim>
+
20 using CoefficientChunk1D = ddc::Chunk<double, ddc::DiscreteDomain<IDim>>;
+
21 }
+
22 
+
23 
+
57 template <class IDim, class SplineBuilder>
+
58 ddc::Chunk<double, ddc::DiscreteDomain<IDim>> spline_quadrature_coefficients_1d(
+
59  ddc::DiscreteDomain<IDim> const& domain,
+
60  SplineBuilder const& builder)
+
61 {
+
62  static_assert(
+
63  SplineBuilder::s_nbe_xmin == 0,
+
64  "The spline quadrature requires a builder which can construct the coefficients using "
+
65  "only the values at the interpolation points.");
66  static_assert(
- +
67  SplineBuilder::s_nbe_xmax == 0,
68  "The spline quadrature requires a builder which can construct the coefficients using "
69  "only the values at the interpolation points.");
-
70  static_assert(
- -
72  "The spline quadrature requires a builder which can construct the coefficients using "
-
73  "only the values at the interpolation points.");
+
70 
+
71  using bsplines_type = typename SplineBuilder::bsplines_type;
+
72 
+
73  ddc::Chunk<double, ddc::DiscreteDomain<IDim>> coefficients(domain);
74 
-
75  using bsplines_type = typename SplineBuilder::bsplines_type;
-
76 
-
77  ddc::Chunk<double, ddc::DiscreteDomain<IDim>> coefficients(domain);
-
78 
-
79  // Vector of integrals of B-splines
-
80  ddc::Chunk<double, ddc::DiscreteDomain<bsplines_type>> integral_bsplines(
-
81  builder.spline_domain());
-
82  ddc::discrete_space<bsplines_type>().integrals(integral_bsplines);
+
75  // Vector of integrals of B-splines
+
76  ddc::Chunk<double, ddc::DiscreteDomain<bsplines_type>> integral_bsplines(
+
77  builder.spline_domain());
+
78  ddc::discrete_space<bsplines_type>().integrals(integral_bsplines.span_view());
+
79 
+
80  // Coefficients of quadrature in integral_bsplines
+
81  ddc::DiscreteDomain<bsplines_type> slice = builder.spline_domain().take_first(
+
82  ddc::DiscreteVector<bsplines_type> {ddc::discrete_space<bsplines_type>().nbasis()});
83 
-
84  // Coefficients of quadrature in integral_bsplines
-
85  ddc::DiscreteDomain<bsplines_type> slice = builder.spline_domain().take_first(
-
86  ddc::DiscreteVector<bsplines_type> {ddc::discrete_space<bsplines_type>().nbasis()});
+
84  Kokkos::deep_copy(
+
85  coefficients.allocation_kokkos_view(),
+
86  integral_bsplines[slice].allocation_kokkos_view());
87 
-
88  Kokkos::deep_copy(
-
89  coefficients.allocation_kokkos_view(),
-
90  integral_bsplines[slice].allocation_kokkos_view());
-
91 
-
92  // Solve matrix equation
-
93  builder.get_interpolation_matrix().solve_transpose_inplace(coefficients.allocation_mdspan());
+
88  // Solve matrix equation
+
89  builder.get_interpolation_matrix().solve_transpose_inplace(coefficients.allocation_mdspan());
+
90 
+
91  return coefficients;
+
92 }
+
93 
94 
-
95  return coefficients;
-
96 }
-
97 
-
98 
-
99 
-
112 template <class... DDims, class... SplineBuilders>
-
113 ddc::Chunk<double, ddc::DiscreteDomain<DDims...>> spline_quadrature_coefficients(
-
114  ddc::DiscreteDomain<DDims...> const& domain,
-
115  SplineBuilders const&... builders)
-
116 {
-
117  assert((std::is_same_v<
-
118  typename DDims::continuous_dimension_type,
-
119  typename SplineBuilders::bsplines_type::tag_type> and ...));
+
95 
+
108 template <class... DDims, class... SplineBuilders>
+
109 ddc::Chunk<double, ddc::DiscreteDomain<DDims...>> spline_quadrature_coefficients(
+
110  ddc::DiscreteDomain<DDims...> const& domain,
+
111  SplineBuilders const&... builders)
+
112 {
+
113  assert((std::is_same_v<
+
114  typename DDims::continuous_dimension_type,
+
115  typename SplineBuilders::bsplines_type::tag_type> and ...));
+
116 
+
117  // Get coefficients for each dimension
+
118  std::tuple<CoefficientChunk1D<DDims>...> current_dim_coeffs(
+
119  spline_quadrature_coefficients_1d(ddc::select<DDims>(domain), builders)...);
120 
-
121  // Get coefficients for each dimension
-
122  std::tuple<CoefficientChunk1D<DDims>...> current_dim_coeffs(
-
123  spline_quadrature_coefficients_1d(ddc::select<DDims>(domain), builders)...);
-
124 
-
125  // Allocate ND coefficients
-
126  ddc::Chunk<double, ddc::DiscreteDomain<DDims...>> coefficients(domain);
-
127 
-
128  ddc::for_each(domain, [&](ddc::DiscreteElement<DDims...> const idim) {
-
129  // multiply the 1D coefficients by one another
-
130  coefficients(idim)
-
131  = (std::get<CoefficientChunk1D<DDims>>(current_dim_coeffs)(ddc::select<DDims>(idim))
-
132  * ... * 1);
-
133  });
-
134 
-
135  return coefficients;
-
136 }
-
A class for creating a spline approximation of a function.
Definition: spline_builder.hpp:42
-
ddc::DiscreteDomain< BSplines > spline_domain() const noexcept
Get the domain on which the approximation is defined.
Definition: spline_builder.hpp:200
-
static constexpr int s_nbe_xmin
The number of equations which define the boundary conditions at the lower bound.
Definition: spline_builder.hpp:78
-
BSplines bsplines_type
The type of the BSplines which are compatible with this class.
Definition: spline_builder.hpp:57
-
const Matrix & get_interpolation_matrix() const noexcept
Get the interpolation matrix.
Definition: spline_builder.hpp:213
-
static constexpr int s_nbe_xmax
The number of equations which define the boundary conditions at the upper bound.
Definition: spline_builder.hpp:83
-
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > spline_quadrature_coefficients_1d(ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
Get the spline quadrature coefficients.
Definition: spline_quadrature.hpp:62
-
ddc::Chunk< double, ddc::DiscreteDomain< DDims... > > spline_quadrature_coefficients(ddc::DiscreteDomain< DDims... > const &domain, SplineBuilders const &... builders)
Get the spline quadrature coefficients in ND from N 1D quadrature coefficient.
Definition: spline_quadrature.hpp:113
+
121  // Allocate ND coefficients
+
122  ddc::Chunk<double, ddc::DiscreteDomain<DDims...>> coefficients(domain);
+
123 
+
124  ddc::for_each(domain, [&](ddc::DiscreteElement<DDims...> const idim) {
+
125  // multiply the 1D coefficients by one another
+
126  coefficients(idim)
+
127  = (std::get<CoefficientChunk1D<DDims>>(current_dim_coeffs)(ddc::select<DDims>(idim))
+
128  * ... * 1);
+
129  });
+
130 
+
131  return coefficients;
+
132 }
+
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > spline_quadrature_coefficients_1d(ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
Get the spline quadrature coefficients.
Definition: spline_quadrature.hpp:58
+
ddc::Chunk< double, ddc::DiscreteDomain< DDims... > > spline_quadrature_coefficients(ddc::DiscreteDomain< DDims... > const &domain, SplineBuilders const &... builders)
Get the spline quadrature coefficients in ND from N 1D quadrature coefficient.
Definition: spline_quadrature.hpp:109
diff --git a/src_geometryRTheta_advection_field.html b/src_geometryRTheta_advection_field.html index 98389e2f7..f4da2142e 100644 --- a/src_geometryRTheta_advection_field.html +++ b/src_geometryRTheta_advection_field.html @@ -121,7 +121,7 @@

PolarSpline representation of the solution. -

The AdvectionFieldFinder can handle as input the two forms. If a Chunk is given as input, it computes the spline representation (on the cross-product of two 1D bases) using a SplineBuilder2D. The spline representation is needed to compute the derivatives of the function \(\phi\). If the PolarSpline representation is given as input, it can directly compute the derivatives of the function \(\phi\).

+

The AdvectionFieldFinder can handle as input the two forms. If a Chunk is given as input, it computes the spline representation (on the cross-product of two 1D bases) using a SplineBuilder2D. The spline representation is needed to compute the derivatives of the function \(\phi\). If the PolarSpline representation is given as input, it can directly compute the derivatives of the function \(\phi\).

Once the advection field computed, it is given as input to the BslAdvectionRP operator to advect the density \(\rho\) function. The BslAdvectionRP operator can handle the advection with an advection field along \((x,y)\) and with an advection field along \((r,\theta)\). But as the BslAdvectionRP operator advects in the physical domain, it is recommend to work with the advection field along \((x,y)\).

Advection field along the physical domain axis

diff --git a/src_interpolation.html b/src_interpolation.html index 6fec2aa0f..fa08e8548 100644 --- a/src_interpolation.html +++ b/src_interpolation.html @@ -114,7 +114,7 @@

Spline Interpolation

Interpolation by a spline interpolating function is implemented in the class SplineInterpolator. In this case the interpolating function \(\phi(x)\) is a spline. The basis splines are passed as a template parameter, it is these that determine the order of the spline interpolation.

In order for the interpolation to function correctly the values \(f_j=f(x_j)\) provided must be located at the points \(x_j\) identified as the spline interpolation points.

-

The spline interpolation method is based entirely on the SplineBuilder and SplineEvaluator classes which are found in sll.

+

The spline interpolation method is based entirely on the SplineBuilder and SplineEvaluator classes which are found in DDC.

Memory concerns

SplineInterpolator contains a 1D array of spline coefficients. These are unused in most of the code but are used repeatedly in advections. As a result the class PreallocatableSplineInterpolator exists (which inherits from the more general IPreallocatableInterpolator). This class allows a SplineInterpolator to be allocated locally. It is stored in an InterpolatorProxy which means it is deallocated once it goes out of scope. This ensures that the 1D array is not occupying memory during the execution of the rest of the code, but also that the array is only allocated once in each advection operator.

diff --git a/structBSpline.html b/structBSpline.html deleted file mode 100644 index dbab6aac4..000000000 --- a/structBSpline.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Gyselalib++: BSpline< Tag > Struct Template Reference - - - - - - - - - - - - - - - - -
-
-

Functions

template<class IDim , class SplineBuilder >
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > spline_quadrature_coefficients_1d (ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
ddc::Chunk< double, ddc::DiscreteDomain< IDim > > spline_quadrature_coefficients_1d (ddc::DiscreteDomain< IDim > const &domain, SplineBuilder const &builder)
 Get the spline quadrature coefficients. More...
 
template<class... DDims, class... SplineBuilders>
SplineBuilder const & SplineBuilder const &  builder 
- - - - - - - -
-
Gyselalib++ -
-
- - - - - - -
-
- - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
BSpline< Tag > Struct Template Reference
-
-
-
The documentation for this struct was generated from the following file:
    -
  • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/bspline.hpp
  • -
-
-
- - - - diff --git a/structPolarSpline-members.html b/structPolarSpline-members.html index 2518b33d9..3fa5ff1a9 100644 --- a/structPolarSpline-members.html +++ b/structPolarSpline-members.html @@ -111,6 +111,8 @@
PolarSpline(ddc::DiscreteDomain< BSplineR, BSplineP > domain)PolarSpline< PolarBSplinesType >inline
PolarSpline(ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)PolarSpline< PolarBSplinesType >inline
singular_spline_coefPolarSpline< PolarBSplinesType >
span_cview()PolarSpline< PolarBSplinesType >inline
span_view()PolarSpline< PolarBSplinesType >inline
spline_coefPolarSpline< PolarBSplinesType >
diff --git a/structPolarSpline.html b/structPolarSpline.html index f4e7d5580..fd5c83840 100644 --- a/structPolarSpline.html +++ b/structPolarSpline.html @@ -131,6 +131,12 @@
 PolarSpline (ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplineR, BSplineP > domain)
 Initialise the Chunks containing the coefficients of the spline representation. More...
 
PolarSplineSpan< PolarBSplinesType > span_view ()
 Get a modifiable reference to this polar spline. More...
 
PolarSplineView< PolarBSplinesType > span_cview ()
 Get a constant reference to this polar spline view. More...
 
@@ -237,6 +243,67 @@

Member Function Documentation

+ +

◆ span_view()

+ +
+
+
+template<class PolarBSplinesType >
+

Public Attributes

+ + + + +
+ + + + + + + +
PolarSplineSpan<PolarBSplinesType> PolarSpline< PolarBSplinesType >::span_view ()
+
+inline
+
+ +

Get a modifiable reference to this polar spline.

+
Returns
A modifiable reference to this polar spline.
+ +
+ + +

◆ span_cview()

+ +
+
+
+template<class PolarBSplinesType >
+ + + + + +
+ + + + + + + +
PolarSplineView<PolarBSplinesType> PolarSpline< PolarBSplinesType >::span_cview ()
+
+inline
+
+ +

Get a constant reference to this polar spline view.

+
Returns
A constant reference to this polar spline.
+

The documentation for this struct was generated from the following file:
    diff --git a/structPolarSpline.js b/structPolarSpline.js index 0763d24b4..f3814466f 100644 --- a/structPolarSpline.js +++ b/structPolarSpline.js @@ -4,6 +4,8 @@ var structPolarSpline = [ "BSplineP", "structPolarSpline.html#af77ce2f18c9c86d7ac8e44606331d9d2", null ], [ "PolarSpline", "structPolarSpline.html#a89343478d4d570638a82ad70777231b4", null ], [ "PolarSpline", "structPolarSpline.html#a5e897bf683cacc651e57af9dc4d3f477", null ], + [ "span_view", "structPolarSpline.html#a6db588a681ff0c344625d6eb7111ca99", null ], + [ "span_cview", "structPolarSpline.html#a2dac921360e8a966e00b0785621d69fb", null ], [ "spline_coef", "structPolarSpline.html#a2b1c84a55d531de61300bbf9bcd838bc", null ], [ "singular_spline_coef", "structPolarSpline.html#a8f45100e4b9b9983843edd05fae6fd60", null ] ]; \ No newline at end of file diff --git a/structPolarSplineSpan-members.html b/structPolarSplineSpan-members.html index c4f36317a..86b81109c 100644 --- a/structPolarSplineSpan-members.html +++ b/structPolarSplineSpan-members.html @@ -110,6 +110,8 @@
BSplineR typedefPolarSplineSpan< PolarBSplinesType >
PolarSplineSpan(PolarSpline< PolarBSplinesType > &spl)PolarSplineSpan< PolarBSplinesType >inline
singular_spline_coefPolarSplineSpan< PolarBSplinesType >
span_cview()PolarSplineSpan< PolarBSplinesType >inline
span_view()PolarSplineSpan< PolarBSplinesType >inline
spline_coefPolarSplineSpan< PolarBSplinesType >
diff --git a/structPolarSplineSpan.html b/structPolarSplineSpan.html index 0c2cdc6c1..f921f3b6e 100644 --- a/structPolarSplineSpan.html +++ b/structPolarSplineSpan.html @@ -128,6 +128,12 @@
 PolarSplineSpan (PolarSpline< PolarBSplinesType > &spl)
 Construct a reference to a PolarSpline. More...
 
PolarSplineSpan< PolarBSplinesType > span_view ()
 Get a modifiable reference to the polar spline referenced by this polar spline view. More...
 
PolarSplineView< PolarBSplinesType > span_cview ()
 Get a constant reference to the polar spline referenced by this polar spline view. More...
 
@@ -186,6 +192,67 @@

Member Function Documentation

+ +

◆ span_view()

+ +
+
+
+template<class PolarBSplinesType >
+

Public Attributes

+ + + + +
+ + + + + + + +
PolarSplineSpan<PolarBSplinesType> PolarSplineSpan< PolarBSplinesType >::span_view ()
+
+inline
+
+ +

Get a modifiable reference to the polar spline referenced by this polar spline view.

+
Returns
A modifiable reference to a polar spline.
+ +
+ + +

◆ span_cview()

+ +
+
+
+template<class PolarBSplinesType >
+ + + + + +
+ + + + + + + +
PolarSplineView<PolarBSplinesType> PolarSplineSpan< PolarBSplinesType >::span_cview ()
+
+inline
+
+ +

Get a constant reference to the polar spline referenced by this polar spline view.

+
Returns
A constant reference to a polar spline.
+

The documentation for this struct was generated from the following file:
    diff --git a/structPolarSplineSpan.js b/structPolarSplineSpan.js index 3417a5c52..3e35402ed 100644 --- a/structPolarSplineSpan.js +++ b/structPolarSplineSpan.js @@ -3,6 +3,8 @@ var structPolarSplineSpan = [ "BSplineR", "structPolarSplineSpan.html#afb33d14b81a474947f471003644fcc49", null ], [ "BSplineP", "structPolarSplineSpan.html#a67ed148eab2a4e83e22cfb918c79d9a5", null ], [ "PolarSplineSpan", "structPolarSplineSpan.html#a45eb7d04a2d06b64b271833860501b1c", null ], + [ "span_view", "structPolarSplineSpan.html#a70a68be0eda4182137ada4b7c294a6b7", null ], + [ "span_cview", "structPolarSplineSpan.html#ad047ad16e073fb9b8aa58f1b8de2687c", null ], [ "spline_coef", "structPolarSplineSpan.html#aec0ae274776277e3c756e60479652ddc", null ], [ "singular_spline_coef", "structPolarSplineSpan.html#a872d8a78e91be044b0756f8b171ca19e", null ] ]; \ No newline at end of file diff --git a/structPolarSplineView-members.html b/structPolarSplineView-members.html index 167234c92..94427de4a 100644 --- a/structPolarSplineView-members.html +++ b/structPolarSplineView-members.html @@ -109,8 +109,11 @@
BSplineP typedefPolarSplineView< PolarBSplinesType >
BSplineR typedefPolarSplineView< PolarBSplinesType >
PolarSplineView(PolarSpline< PolarBSplinesType > const &spl)PolarSplineView< PolarBSplinesType >inline
singular_spline_coefPolarSplineView< PolarBSplinesType >
spline_coefPolarSplineView< PolarBSplinesType >
PolarSplineView(PolarSplineSpan< PolarBSplinesType > const &spl)PolarSplineView< PolarBSplinesType >inline
singular_spline_coefPolarSplineView< PolarBSplinesType >
span_cview()PolarSplineView< PolarBSplinesType >inline
span_view()PolarSplineView< PolarBSplinesType >inline
spline_coefPolarSplineView< PolarBSplinesType >
diff --git a/structPolarSplineView.html b/structPolarSplineView.html index 33e2c84f2..32a236a26 100644 --- a/structPolarSplineView.html +++ b/structPolarSplineView.html @@ -128,6 +128,15 @@
 PolarSplineView (PolarSpline< PolarBSplinesType > const &spl)
 Construct a constant reference to a PolarSpline. More...
 
 PolarSplineView (PolarSplineSpan< PolarBSplinesType > const &spl)
 Construct a constant reference to a PolarSpline from a PolarSplineSpan. More...
 
PolarSplineSpan< PolarBSplinesType > span_view ()
 Get a reference to the polar spline referenced by this polar spline view. More...
 
PolarSplineView< PolarBSplinesType > span_cview ()
 Get a constant reference to the polar spline referenced by this polar spline view. More...
 
@@ -153,7 +162,7 @@

Constructor & Destructor Documentation

-

◆ PolarSplineView()

+

◆ PolarSplineView() [1/2]

@@ -186,6 +195,103 @@

+

◆ PolarSplineView() [2/2]

+ +
+
+
+template<class PolarBSplinesType >
+

Public Attributes

+ + + + +
+ + + + + + + + +
PolarSplineView< PolarBSplinesType >::PolarSplineView (PolarSplineSpan< PolarBSplinesType > const & spl)
+
+inline
+
+ +

Construct a constant reference to a PolarSpline from a PolarSplineSpan.

+
Parameters
+ + +
splThe PolarSpline being referenced.
+
+
+ +
+ +

Member Function Documentation

+ +

◆ span_view()

+ +
+
+
+template<class PolarBSplinesType >
+ + + + + +
+ + + + + + + +
PolarSplineSpan<PolarBSplinesType> PolarSplineView< PolarBSplinesType >::span_view ()
+
+inline
+
+ +

Get a reference to the polar spline referenced by this polar spline view.

+
Returns
A reference to a polar spline.
+ +
+
+ +

◆ span_cview()

+ +
+
+
+template<class PolarBSplinesType >
+ + + + + +
+ + + + + + + +
PolarSplineView<PolarBSplinesType> PolarSplineView< PolarBSplinesType >::span_cview ()
+
+inline
+
+ +

Get a constant reference to the polar spline referenced by this polar spline view.

+
Returns
A constant reference to a polar spline.
+

The documentation for this struct was generated from the following file:
    diff --git a/structPolarSplineView.js b/structPolarSplineView.js index 1bf4703f5..df32346a0 100644 --- a/structPolarSplineView.js +++ b/structPolarSplineView.js @@ -3,6 +3,9 @@ var structPolarSplineView = [ "BSplineR", "structPolarSplineView.html#a48f3bbf282210df43e1c8f87cadbe8b8", null ], [ "BSplineP", "structPolarSplineView.html#a773dd7a09763add9ac7ed3a1863ffd48", null ], [ "PolarSplineView", "structPolarSplineView.html#a3bd2580a82278b6ee520ce8ddd67c33d", null ], + [ "PolarSplineView", "structPolarSplineView.html#af01a912e50f5d8dc5dda51fc2d28f929", null ], + [ "span_view", "structPolarSplineView.html#a6e770098a5de395d0d7abaf7f338dcb6", null ], + [ "span_cview", "structPolarSplineView.html#a6980452d50ebf203530137aa11a679d8", null ], [ "spline_coef", "structPolarSplineView.html#ab933a819e8bfa5e4263970082c083890", null ], [ "singular_spline_coef", "structPolarSplineView.html#a1bb22b7a2d02c40118e23b6239a8d456", null ] ]; \ No newline at end of file diff --git a/structRefinedDiscreteToCartesian_1_1RDimPRefined-members.html b/structRefinedDiscreteToCartesian_1_1RDimPRefined-members.html index efddd884d..25788783a 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimPRefined-members.html +++ b/structRefinedDiscreteToCartesian_1_1RDimPRefined-members.html @@ -100,13 +100,13 @@
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimPRefined Member List
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimPRefined Member List
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimPRefined.html b/structRefinedDiscreteToCartesian_1_1RDimPRefined.html index aeeba657c..538d357b2 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimPRefined.html +++ b/structRefinedDiscreteToCartesian_1_1RDimPRefined.html @@ -5,7 +5,7 @@ -Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimPRefined Struct Reference +Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimPRefined Struct Reference @@ -103,7 +103,7 @@ Static Public Attributes | List of all members
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimPRefined Struct Reference
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimPRefined Struct Reference
    @@ -112,29 +112,29 @@ - - - + + +

    Static Public Attributes

    static constexpr bool PERIODIC = true
     Define periodicity of the dimension. More...
     
    static constexpr bool PERIODIC = true
     Define periodicity of the dimension. More...
     

    Detailed Description

    -

    template<class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
    -struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimPRefined

    +

    template<class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
    +struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimPRefined

    Define periodic real refined P dimension.

    Member Data Documentation

    - -

    ◆ PERIODIC

    + +

    ◆ PERIODIC

    -template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
    +template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimRRefined-members.html b/structRefinedDiscreteToCartesian_1_1RDimRRefined-members.html index 945cf1b54..f901f0fdd 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimRRefined-members.html +++ b/structRefinedDiscreteToCartesian_1_1RDimRRefined-members.html @@ -100,13 +100,13 @@
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined Member List
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined Member List
    -

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined, including all inherited members.

    +

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined, including all inherited members.

    - +
    constexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimPRefined::PERIODIC = trueconstexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimPRefined::PERIODIC = true
    - +
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefinedstatic
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefinedstatic
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimRRefined.html b/structRefinedDiscreteToCartesian_1_1RDimRRefined.html index 6399c57f7..efcec77e4 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimRRefined.html +++ b/structRefinedDiscreteToCartesian_1_1RDimRRefined.html @@ -5,7 +5,7 @@ -Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined Struct Reference +Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined Struct Reference @@ -103,7 +103,7 @@ Static Public Attributes | List of all members
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined Struct Reference
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined Struct Reference
    @@ -112,29 +112,29 @@ - - - + + +

    Static Public Attributes

    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     
    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     

    Detailed Description

    -

    template<class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
    -struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined

    +

    template<class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
    +struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined

    Define non periodic real refined R dimension.

    Member Data Documentation

    - -

    ◆ PERIODIC

    + +

    ◆ PERIODIC

    -template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
    +template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimXRefined-members.html b/structRefinedDiscreteToCartesian_1_1RDimXRefined-members.html index 0193844c5..2f351a0eb 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimXRefined-members.html +++ b/structRefinedDiscreteToCartesian_1_1RDimXRefined-members.html @@ -100,13 +100,13 @@
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined Member List
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined Member List
    -

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined, including all inherited members.

    +

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined, including all inherited members.

    - +
    constexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimRRefined::PERIODIC = falseconstexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimRRefined::PERIODIC = false
    - +
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefinedstatic
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefinedstatic
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimXRefined.html b/structRefinedDiscreteToCartesian_1_1RDimXRefined.html index b830c0c4f..6fc3d6210 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimXRefined.html +++ b/structRefinedDiscreteToCartesian_1_1RDimXRefined.html @@ -5,7 +5,7 @@ -Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined Struct Reference +Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined Struct Reference @@ -103,7 +103,7 @@ Static Public Attributes | List of all members
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined Struct Reference
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined Struct Reference
    @@ -112,29 +112,29 @@ - - - + + +

    Static Public Attributes

    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     
    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     

    Detailed Description

    -

    template<class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
    -struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined

    +

    template<class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
    +struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined

    Define non periodic real refined X dimension.

    Member Data Documentation

    - -

    ◆ PERIODIC

    + +

    ◆ PERIODIC

    -template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
    +template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimYRefined-members.html b/structRefinedDiscreteToCartesian_1_1RDimYRefined-members.html index 1378c99eb..1039dd986 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimYRefined-members.html +++ b/structRefinedDiscreteToCartesian_1_1RDimYRefined-members.html @@ -100,13 +100,13 @@
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined Member List
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined Member List
    -

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined, including all inherited members.

    +

    This is the complete list of members for RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined, including all inherited members.

    - +
    constexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimXRefined::PERIODIC = falseconstexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimXRefined::PERIODIC = false
    - +
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefinedstatic
    PERIODICRefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefinedstatic
    diff --git a/structRefinedDiscreteToCartesian_1_1RDimYRefined.html b/structRefinedDiscreteToCartesian_1_1RDimYRefined.html index 2546d072d..43daef253 100644 --- a/structRefinedDiscreteToCartesian_1_1RDimYRefined.html +++ b/structRefinedDiscreteToCartesian_1_1RDimYRefined.html @@ -5,7 +5,7 @@ -Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined Struct Reference +Gyselalib++: RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined Struct Reference @@ -103,7 +103,7 @@ Static Public Attributes | List of all members
    -
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined Struct Reference
    +
    RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined Struct Reference
    @@ -112,29 +112,29 @@ - - - + + +

    Static Public Attributes

    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     
    static constexpr bool PERIODIC = false
     Define periodicity of the dimension. More...
     

    Detailed Description

    -

    template<class RDimX, class RDimY, class SplineRPBuilder, int Nr, int Nt>
    -struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined

    +

    template<class RDimX, class RDimY, class SplineRPBuilder, class SplineRPEvaluator, int Nr, int Nt>
    +struct RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined

    Define non periodic real refined X dimension.

    Member Data Documentation

    - -

    ◆ PERIODIC

    + +

    ◆ PERIODIC

    -template<class RDimX , class RDimY , class SplineRPBuilder , int Nr, int Nt>
    +template<class RDimX , class RDimY , class SplineRPBuilder , class SplineRPEvaluator , int Nr, int Nt>
    diff --git a/structdeprecated_1_1Boundary__data__2d-members.html b/structdeprecated_1_1Boundary__data__2d-members.html deleted file mode 100644 index 1613bd50c..000000000 --- a/structdeprecated_1_1Boundary__data__2d-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Gyselalib++: Member List - - - - - - - - - - - - - - - - -
    -
    -
    - +
    constexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, Nr, Nt >::RDimYRefined::PERIODIC = falseconstexpr bool RefinedDiscreteToCartesian< RDimX, RDimY, SplineRPBuilder, SplineRPEvaluator, Nr, Nt >::RDimYRefined::PERIODIC = false
    - - - - - - - -
    -
    Gyselalib++ -
    -
    - - - - - - -
    -
    -
    - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    deprecated::Boundary_data_2d Member List
    -
    -
    - -

    This is the complete list of members for deprecated::Boundary_data_2d, including all inherited members.

    - - - - - - - - - -
    derivs_x1_max (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    derivs_x1_min (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    derivs_x2_max (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    derivs_x2_min (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    mixed_derivs_a (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    mixed_derivs_b (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    mixed_derivs_c (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    mixed_derivs_d (defined in deprecated::Boundary_data_2d)deprecated::Boundary_data_2d
    -
    - - - - diff --git a/structdeprecated_1_1Boundary__data__2d.html b/structdeprecated_1_1Boundary__data__2d.html deleted file mode 100644 index 58714dd4c..000000000 --- a/structdeprecated_1_1Boundary__data__2d.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - -Gyselalib++: deprecated::Boundary_data_2d Struct Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    -
    Gyselalib++ -
    -
    - - - - - - -
    -
    -
    - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    deprecated::Boundary_data_2d Struct Reference
    -
    -
    - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    -DSpan2D * derivs_x1_min = nullptr
     
    -DSpan2D * derivs_x1_max = nullptr
     
    -DSpan2D * derivs_x2_min = nullptr
     
    -DSpan2D * derivs_x2_max = nullptr
     
    -DSpan2D * mixed_derivs_a = nullptr
     
    -DSpan2D * mixed_derivs_b = nullptr
     
    -DSpan2D * mixed_derivs_c = nullptr
     
    -DSpan2D * mixed_derivs_d = nullptr
     
    -

    Member Data Documentation

    - -

    ◆ derivs_x1_min

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::derivs_x1_min = nullptr
    -
    - -
    -
    - -

    ◆ derivs_x1_max

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::derivs_x1_max = nullptr
    -
    - -
    -
    - -

    ◆ derivs_x2_min

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::derivs_x2_min = nullptr
    -
    - -
    -
    - -

    ◆ derivs_x2_max

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::derivs_x2_max = nullptr
    -
    - -
    -
    - -

    ◆ mixed_derivs_a

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::mixed_derivs_a = nullptr
    -
    - -
    -
    - -

    ◆ mixed_derivs_b

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::mixed_derivs_b = nullptr
    -
    - -
    -
    - -

    ◆ mixed_derivs_c

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::mixed_derivs_c = nullptr
    -
    - -
    -
    - -

    ◆ mixed_derivs_d

    - -
    -
    - - - - -
    DSpan2D* deprecated::Boundary_data_2d::mixed_derivs_d = nullptr
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file:
      -
    • /home/runner/work/gyselalibxx/gyselalibxx/code_branch/vendor/sll/include/sll/deprecated/spline_builder_2d.hpp
    • -
    -
    -
    - - - - diff --git a/structdeprecated_1_1Boundary__data__2d.js b/structdeprecated_1_1Boundary__data__2d.js deleted file mode 100644 index 5e93af5ea..000000000 --- a/structdeprecated_1_1Boundary__data__2d.js +++ /dev/null @@ -1,11 +0,0 @@ -var structdeprecated_1_1Boundary__data__2d = -[ - [ "derivs_x1_min", "structdeprecated_1_1Boundary__data__2d.html#a767da8e83378cbb4051b35a51c586f3a", null ], - [ "derivs_x1_max", "structdeprecated_1_1Boundary__data__2d.html#a5980af8477491580d48d2da79858fa35", null ], - [ "derivs_x2_min", "structdeprecated_1_1Boundary__data__2d.html#a23e4559c382bd07fe0adc9f75d3d4fd3", null ], - [ "derivs_x2_max", "structdeprecated_1_1Boundary__data__2d.html#ae5cbae0c8e19080e2b82f968f9a3dad0", null ], - [ "mixed_derivs_a", "structdeprecated_1_1Boundary__data__2d.html#aa5ced6de44337caeef0b2dd3f0c82896", null ], - [ "mixed_derivs_b", "structdeprecated_1_1Boundary__data__2d.html#a390e8dbfcaf9c0098e350b774323297e", null ], - [ "mixed_derivs_c", "structdeprecated_1_1Boundary__data__2d.html#ab7749d75461120f82111206f64432c37", null ], - [ "mixed_derivs_d", "structdeprecated_1_1Boundary__data__2d.html#a655ceb6d383d42c005c921633138129c", null ] -]; \ No newline at end of file diff --git a/test__cases__adv__field_8hpp_source.html b/test__cases__adv__field_8hpp_source.html index c17ac0f40..71e5bb324 100644 --- a/test__cases__adv__field_8hpp_source.html +++ b/test__cases__adv__field_8hpp_source.html @@ -110,275 +110,272 @@
    5 #include <sll/gauss_legendre_integration.hpp>
    6 #include <sll/mapping/circular_to_cartesian.hpp>
    7 #include <sll/math_tools.hpp>
    -
    8 #include <sll/null_boundary_value.hpp>
    -
    9 #include <sll/polar_spline.hpp>
    -
    10 #include <sll/polar_spline_evaluator.hpp>
    -
    11 #include <sll/spline_builder_2d.hpp>
    -
    12 #include <sll/spline_evaluator_2d.hpp>
    -
    13 
    -
    14 #include "../advection_2d_rp/test_cases.hpp"
    +
    8 #include <sll/polar_spline.hpp>
    +
    9 #include <sll/polar_spline_evaluator.hpp>
    +
    10 
    +
    11 #include "../advection_2d_rp/test_cases.hpp"
    +
    12 
    +
    13 #include "geometry.hpp"
    +
    14 #include "spline_interpolator_2d_rp.hpp"
    15 
    -
    16 #include "geometry.hpp"
    -
    17 #include "spline_interpolator_2d_rp.hpp"
    -
    18 
    -
    19 /*
    -
    20  * This file defines
    -
    21  * - the TEST ELECTROSTATICAL POTENTIALS,
    -
    22  * - and the TEST SIMULATIONS.
    -
    23  */
    -
    24 
    -
    25 
    -
    26 
    -
    27 // TEST ELECTROSTATICAL POTENTIALS ------------------------------------------------
    - -
    36 {
    -
    37 public:
    -
    38  virtual ~ElectrostaticalPotentialSimulation() = default;
    -
    39 
    -
    50  virtual double operator()(CoordXY const coord, double const t = 0.) const = 0;
    -
    51 
    -
    62  virtual CoordXY exact_feet(CoordXY coord, double t) const = 0;
    -
    63 };
    -
    64 
    -
    65 
    - - -
    82 {
    -
    83 private:
    -
    84  double const m_omega;
    -
    85  double const m_xc;
    -
    86  double const m_yc;
    -
    87  double const m_x_bar;
    -
    88  double const m_y_bar;
    -
    89 
    -
    90 public:
    - -
    96  : m_omega(2 * M_PI)
    -
    97  , m_xc(0.25)
    -
    98  , m_yc(0.)
    -
    99  , m_x_bar(0.)
    -
    100  , m_y_bar(0.) {};
    - -
    102 
    -
    103  double operator()(CoordXY const coord, double const t) const final
    -
    104  {
    -
    105  double const x = ddc::get<RDimX>(coord);
    -
    106  double const y = ddc::get<RDimY>(coord);
    -
    107  return m_omega * (-0.5 * x * x + m_xc * x - 0.5 * y * y + m_yc * y);
    -
    108  };
    -
    109 
    -
    110  CoordXY exact_feet(CoordXY coord, double const t) const final
    -
    111  {
    -
    112  double const x = ddc::get<RDimX>(coord);
    -
    113  double const y = ddc::get<RDimY>(coord);
    -
    114  double const foot_x
    -
    115  = m_xc + (x - m_xc) * std::cos(m_omega * -t) - (y - m_yc) * std::sin(m_omega * -t);
    -
    116  double const foot_y
    -
    117  = m_yc + (x - m_xc) * std::sin(m_omega * -t) + (y - m_yc) * std::cos(m_omega * -t);
    -
    118  return CoordXY(foot_x, foot_y);
    -
    119  };
    -
    120 };
    -
    121 
    -
    122 
    -
    123 
    - -
    140 {
    -
    141 private:
    -
    142  CoordXY const m_velocity;
    -
    143 
    -
    144 public:
    - -
    154  : m_velocity(ddc::get<RDimVx>(vx), ddc::get<RDimVy>(vy)) {};
    - -
    156 
    -
    157  double operator()(CoordXY const coord, double const t) const final
    -
    158  {
    -
    159  double const vx = ddc::get<RDimX>(m_velocity);
    -
    160  double const vy = ddc::get<RDimY>(m_velocity);
    -
    161  return -vy * ddc::get<RDimX>(coord) + vx * ddc::get<RDimY>(coord);
    -
    162  };
    -
    163 
    -
    164  CoordXY exact_feet(CoordXY coord, double const t) const final
    -
    165  {
    -
    166  return coord - t * m_velocity;
    -
    167  };
    -
    168 };
    -
    169 
    -
    170 
    -
    171 
    - -
    192 {
    -
    193 private:
    -
    194  double const m_vr;
    -
    195  double const m_vp;
    - -
    197 
    -
    198 public:
    -
    205  ElectrostaticalPotentialSimulation_rotation(CoordVp vp) : m_vr(0), m_vp(vp), m_mapping() {};
    - -
    207 
    -
    208  double operator()(CoordXY const coord, double const t) const final
    -
    209  {
    -
    210  CoordRP const coord_rp(m_mapping(coord));
    -
    211  double const r = ddc::get<RDimR>(coord_rp);
    -
    212  return -0.5 * r * r * m_vp;
    -
    213  };
    -
    214 
    -
    215  CoordXY exact_feet(CoordXY coord_xy, double const t) const final
    -
    216  {
    -
    217  CoordRP const coord_rp(m_mapping(coord_xy));
    -
    218  CoordRP const velocity(m_vr, m_vp);
    -
    219  return m_mapping(coord_rp - t * velocity);
    -
    220  };
    -
    221 };
    -
    222 
    -
    223 
    -
    224 
    -
    225 // TEST SIMULATIONS ---------------------------------------------------------------
    -
    239 template <
    - -
    241  class FunctionToBeAdvected,
    -
    242  class AdvectionField>
    - -
    244 {
    -
    245 protected:
    - - - -
    258 
    -
    259 
    -
    260 public:
    - -
    272  ElectrostaticalPotentialSimulation const electrostatical_potential,
    -
    273  FunctionToBeAdvected const function,
    -
    274  AdvectionField const advection_field)
    -
    275  : m_electrostatical_potential(electrostatical_potential)
    -
    276  , m_function(function)
    -
    277  , m_advection_field(advection_field) {};
    -
    278  virtual ~AdvectionFieldSimulation() = default;
    -
    279 
    -
    280 
    - -
    288  {
    - -
    290  };
    -
    291 
    - -
    298  {
    -
    299  return m_function;
    -
    300  };
    -
    301 
    -
    302 
    - -
    309  {
    -
    310  return m_advection_field;
    -
    311  };
    -
    312 };
    -
    313 
    -
    314 
    -
    338 template <class Mapping>
    - -
    340  : public AdvectionFieldSimulation<
    -
    341  ElectrostaticalPotentialSimulation_translation,
    -
    342  FunctionToBeAdvected_gaussian<Mapping>,
    -
    343  AdvectionField_translation>
    -
    344 {
    -
    345 public:
    - -
    357  Mapping const& mapping,
    -
    358  double const rmin,
    -
    359  double const rmax)
    - - - - - -
    365  CoordVx(-std::cos(2 * M_PI * 511. / 4096.) / 2.),
    -
    366  CoordVy(-std::sin(2 * M_PI * 511. / 4096.) / 2.)),
    - -
    368  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax),
    - -
    370  CoordVx(-std::cos(2 * M_PI * 511. / 4096.) / 2.),
    -
    371  CoordVy(-std::sin(2 * M_PI * 511. / 4096.) / 2.))) {};
    -
    372 };
    -
    373 
    -
    374 
    -
    400 template <class Mapping>
    - -
    402  : public AdvectionFieldSimulation<
    -
    403  ElectrostaticalPotentialSimulation_rotation,
    -
    404  FunctionToBeAdvected_gaussian<Mapping>,
    -
    405  AdvectionField_rotation>
    -
    406 {
    -
    407 public:
    -
    418  RotationAdvectionFieldSimulation(Mapping const& mapping, double const rmin, double const rmax)
    - - - - - - -
    425  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax),
    -
    426  AdvectionField_rotation(CoordVr(0), CoordVp(2 * M_PI))) {};
    -
    427 };
    -
    428 
    -
    429 
    -
    456 template <class Mapping>
    - -
    458  : public AdvectionFieldSimulation<
    -
    459  ElectrostaticalPotentialSimulation_decentred_rotation,
    -
    460  FunctionToBeAdvected_cos_4_elipse<Mapping>,
    -
    461  AdvectionField_decentred_rotation>
    -
    462 {
    -
    463 public:
    - - - - - - -
    476  FunctionToBeAdvected_cos_4_elipse<Mapping>(mapping),
    - -
    478 };
    -
    Base class for the tests simulation of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:244
    -
    AdvectionField const m_advection_field
    The chosen advection field for the simulation.
    Definition: test_cases_adv_field.hpp:257
    -
    AdvectionField const & get_advection_field() const
    Get the advection field of the simulation.
    Definition: test_cases_adv_field.hpp:308
    -
    FunctionToBeAdvected const m_function
    The chosen function to be advected for the simulation.
    Definition: test_cases_adv_field.hpp:253
    -
    ElectrostaticalPotentialSimulation const m_electrostatical_potential
    The chosen electrostatical potential for the simulation.
    Definition: test_cases_adv_field.hpp:249
    -
    ElectrostaticalPotentialSimulation const & get_electrostatique_potential() const
    Get the electrostatical potential of the simulation.
    Definition: test_cases_adv_field.hpp:287
    -
    AdvectionFieldSimulation(ElectrostaticalPotentialSimulation const electrostatical_potential, FunctionToBeAdvected const function, AdvectionField const advection_field)
    Instantiate a AdvectionSimulation simulation.
    Definition: test_cases_adv_field.hpp:271
    -
    FunctionToBeAdvected const & get_test_function() const
    Get the test function of the simulation.
    Definition: test_cases_adv_field.hpp:297
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:238
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:346
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:296
    -
    Base class for the advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:193
    +
    16 /*
    +
    17  * This file defines
    +
    18  * - the TEST ELECTROSTATICAL POTENTIALS,
    +
    19  * - and the TEST SIMULATIONS.
    +
    20  */
    +
    21 
    +
    22 
    +
    23 
    +
    24 // TEST ELECTROSTATICAL POTENTIALS ------------------------------------------------
    + +
    33 {
    +
    34 public:
    +
    35  virtual ~ElectrostaticalPotentialSimulation() = default;
    +
    36 
    +
    47  virtual double operator()(CoordXY const coord, double const t = 0.) const = 0;
    +
    48 
    +
    59  virtual CoordXY exact_feet(CoordXY coord, double t) const = 0;
    +
    60 };
    +
    61 
    +
    62 
    + + +
    79 {
    +
    80 private:
    +
    81  double const m_omega;
    +
    82  double const m_xc;
    +
    83  double const m_yc;
    +
    84  double const m_x_bar;
    +
    85  double const m_y_bar;
    +
    86 
    +
    87 public:
    + +
    93  : m_omega(2 * M_PI)
    +
    94  , m_xc(0.25)
    +
    95  , m_yc(0.)
    +
    96  , m_x_bar(0.)
    +
    97  , m_y_bar(0.) {};
    + +
    99 
    +
    100  double operator()(CoordXY const coord, double const t) const final
    +
    101  {
    +
    102  double const x = ddc::get<RDimX>(coord);
    +
    103  double const y = ddc::get<RDimY>(coord);
    +
    104  return m_omega * (-0.5 * x * x + m_xc * x - 0.5 * y * y + m_yc * y);
    +
    105  };
    +
    106 
    +
    107  CoordXY exact_feet(CoordXY coord, double const t) const final
    +
    108  {
    +
    109  double const x = ddc::get<RDimX>(coord);
    +
    110  double const y = ddc::get<RDimY>(coord);
    +
    111  double const foot_x
    +
    112  = m_xc + (x - m_xc) * std::cos(m_omega * -t) - (y - m_yc) * std::sin(m_omega * -t);
    +
    113  double const foot_y
    +
    114  = m_yc + (x - m_xc) * std::sin(m_omega * -t) + (y - m_yc) * std::cos(m_omega * -t);
    +
    115  return CoordXY(foot_x, foot_y);
    +
    116  };
    +
    117 };
    +
    118 
    +
    119 
    +
    120 
    + +
    137 {
    +
    138 private:
    +
    139  CoordXY const m_velocity;
    +
    140 
    +
    141 public:
    + +
    151  : m_velocity(ddc::get<RDimVx>(vx), ddc::get<RDimVy>(vy)) {};
    + +
    153 
    +
    154  double operator()(CoordXY const coord, double const t) const final
    +
    155  {
    +
    156  double const vx = ddc::get<RDimX>(m_velocity);
    +
    157  double const vy = ddc::get<RDimY>(m_velocity);
    +
    158  return -vy * ddc::get<RDimX>(coord) + vx * ddc::get<RDimY>(coord);
    +
    159  };
    +
    160 
    +
    161  CoordXY exact_feet(CoordXY coord, double const t) const final
    +
    162  {
    +
    163  return coord - t * m_velocity;
    +
    164  };
    +
    165 };
    +
    166 
    +
    167 
    +
    168 
    + +
    189 {
    +
    190 private:
    +
    191  double const m_vr;
    +
    192  double const m_vp;
    + +
    194 
    +
    195 public:
    +
    202  ElectrostaticalPotentialSimulation_rotation(CoordVp vp) : m_vr(0), m_vp(vp), m_mapping() {};
    + +
    204 
    +
    205  double operator()(CoordXY const coord, double const t) const final
    +
    206  {
    +
    207  CoordRP const coord_rp(m_mapping(coord));
    +
    208  double const r = ddc::get<RDimR>(coord_rp);
    +
    209  return -0.5 * r * r * m_vp;
    +
    210  };
    +
    211 
    +
    212  CoordXY exact_feet(CoordXY coord_xy, double const t) const final
    +
    213  {
    +
    214  CoordRP const coord_rp(m_mapping(coord_xy));
    +
    215  CoordRP const velocity(m_vr, m_vp);
    +
    216  return m_mapping(coord_rp - t * velocity);
    +
    217  };
    +
    218 };
    +
    219 
    +
    220 
    +
    221 
    +
    222 // TEST SIMULATIONS ---------------------------------------------------------------
    +
    236 template <
    + +
    238  class FunctionToBeAdvected,
    +
    239  class AdvectionField>
    + +
    241 {
    +
    242 protected:
    + + + +
    255 
    +
    256 
    +
    257 public:
    + +
    269  ElectrostaticalPotentialSimulation const electrostatical_potential,
    +
    270  FunctionToBeAdvected const function,
    +
    271  AdvectionField const advection_field)
    +
    272  : m_electrostatical_potential(electrostatical_potential)
    +
    273  , m_function(function)
    +
    274  , m_advection_field(advection_field) {};
    +
    275  virtual ~AdvectionFieldSimulation() = default;
    +
    276 
    +
    277 
    + +
    285  {
    + +
    287  };
    +
    288 
    + +
    295  {
    +
    296  return m_function;
    +
    297  };
    +
    298 
    +
    299 
    + +
    306  {
    +
    307  return m_advection_field;
    +
    308  };
    +
    309 };
    +
    310 
    +
    311 
    +
    335 template <class Mapping>
    + +
    337  : public AdvectionFieldSimulation<
    +
    338  ElectrostaticalPotentialSimulation_translation,
    +
    339  FunctionToBeAdvected_gaussian<Mapping>,
    +
    340  AdvectionField_translation>
    +
    341 {
    +
    342 public:
    + +
    354  Mapping const& mapping,
    +
    355  double const rmin,
    +
    356  double const rmax)
    + + + + + +
    362  CoordVx(-std::cos(2 * M_PI * 511. / 4096.) / 2.),
    +
    363  CoordVy(-std::sin(2 * M_PI * 511. / 4096.) / 2.)),
    + +
    365  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax),
    + +
    367  CoordVx(-std::cos(2 * M_PI * 511. / 4096.) / 2.),
    +
    368  CoordVy(-std::sin(2 * M_PI * 511. / 4096.) / 2.))) {};
    +
    369 };
    +
    370 
    +
    371 
    +
    397 template <class Mapping>
    + +
    399  : public AdvectionFieldSimulation<
    +
    400  ElectrostaticalPotentialSimulation_rotation,
    +
    401  FunctionToBeAdvected_gaussian<Mapping>,
    +
    402  AdvectionField_rotation>
    +
    403 {
    +
    404 public:
    +
    415  RotationAdvectionFieldSimulation(Mapping const& mapping, double const rmin, double const rmax)
    + + + + + + +
    422  Mapping>(mapping, 1., -0.2, -0.2, 0.1, 0.1, rmin, rmax),
    +
    423  AdvectionField_rotation(CoordVr(0), CoordVp(2 * M_PI))) {};
    +
    424 };
    +
    425 
    +
    426 
    +
    453 template <class Mapping>
    + +
    455  : public AdvectionFieldSimulation<
    +
    456  ElectrostaticalPotentialSimulation_decentred_rotation,
    +
    457  FunctionToBeAdvected_cos_4_elipse<Mapping>,
    +
    458  AdvectionField_decentred_rotation>
    +
    459 {
    +
    460 public:
    + + + + + + +
    473  FunctionToBeAdvected_cos_4_elipse<Mapping>(mapping),
    + +
    475 };
    +
    Base class for the tests simulation of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:241
    +
    AdvectionField const m_advection_field
    The chosen advection field for the simulation.
    Definition: test_cases_adv_field.hpp:254
    +
    AdvectionField const & get_advection_field() const
    Get the advection field of the simulation.
    Definition: test_cases_adv_field.hpp:305
    +
    FunctionToBeAdvected const m_function
    The chosen function to be advected for the simulation.
    Definition: test_cases_adv_field.hpp:250
    +
    ElectrostaticalPotentialSimulation const m_electrostatical_potential
    The chosen electrostatical potential for the simulation.
    Definition: test_cases_adv_field.hpp:246
    +
    ElectrostaticalPotentialSimulation const & get_electrostatique_potential() const
    Get the electrostatical potential of the simulation.
    Definition: test_cases_adv_field.hpp:284
    +
    AdvectionFieldSimulation(ElectrostaticalPotentialSimulation const electrostatical_potential, FunctionToBeAdvected const function, AdvectionField const advection_field)
    Instantiate a AdvectionSimulation simulation.
    Definition: test_cases_adv_field.hpp:268
    +
    FunctionToBeAdvected const & get_test_function() const
    Get the test function of the simulation.
    Definition: test_cases_adv_field.hpp:294
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:235
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:343
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:293
    +
    Base class for the advection field for the tests of the 2D polar advection operator.
    Definition: test_cases.hpp:190
    -
    Simulation of a decentred rotated elipse-type function.
    Definition: test_cases_adv_field.hpp:462
    -
    DecentredRotationAdvectionFieldSimulation(Mapping const &mapping)
    Instantiate a DecentredRotationSimulation simulation.
    Definition: test_cases_adv_field.hpp:470
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:82
    -
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:103
    -
    ElectrostaticalPotentialSimulation_decentred_rotation()
    Instantiate an ElectrostaticalPotentialSimulation_decentred_rotation advection field.
    Definition: test_cases_adv_field.hpp:95
    -
    CoordXY exact_feet(CoordXY coord, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:110
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:192
    -
    ElectrostaticalPotentialSimulation_rotation(CoordVp vp)
    Instantiate an ElectrostaticalPotentialSimulation_rotation advection field.
    Definition: test_cases_adv_field.hpp:205
    -
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:208
    -
    CoordXY exact_feet(CoordXY coord_xy, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:215
    -
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:140
    -
    CoordXY exact_feet(CoordXY coord, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:164
    -
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:157
    -
    ElectrostaticalPotentialSimulation_translation(CoordVx vx, CoordVy vy)
    Instantiate an ElectrostaticalPotentialSimulation_translation advection field.
    Definition: test_cases_adv_field.hpp:153
    -
    Base class for the advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:36
    +
    Simulation of a decentred rotated elipse-type function.
    Definition: test_cases_adv_field.hpp:459
    +
    DecentredRotationAdvectionFieldSimulation(Mapping const &mapping)
    Instantiate a DecentredRotationSimulation simulation.
    Definition: test_cases_adv_field.hpp:467
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:79
    +
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:100
    +
    ElectrostaticalPotentialSimulation_decentred_rotation()
    Instantiate an ElectrostaticalPotentialSimulation_decentred_rotation advection field.
    Definition: test_cases_adv_field.hpp:92
    +
    CoordXY exact_feet(CoordXY coord, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:107
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:189
    +
    ElectrostaticalPotentialSimulation_rotation(CoordVp vp)
    Instantiate an ElectrostaticalPotentialSimulation_rotation advection field.
    Definition: test_cases_adv_field.hpp:202
    +
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:205
    +
    CoordXY exact_feet(CoordXY coord_xy, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:212
    +
    Advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:137
    +
    CoordXY exact_feet(CoordXY coord, double const t) const final
    Get the characteristic feet in the physical domain.
    Definition: test_cases_adv_field.hpp:161
    +
    double operator()(CoordXY const coord, double const t) const final
    Get the advection field in the physical domain.
    Definition: test_cases_adv_field.hpp:154
    +
    ElectrostaticalPotentialSimulation_translation(CoordVx vx, CoordVy vy)
    Instantiate an ElectrostaticalPotentialSimulation_translation advection field.
    Definition: test_cases_adv_field.hpp:150
    +
    Base class for the advection field for the tests of the 2D polar advection operator.
    Definition: test_cases_adv_field.hpp:33
    virtual double operator()(CoordXY const coord, double const t=0.) const =0
    Get the advection field in the physical domain.
    virtual CoordXY exact_feet(CoordXY coord, double t) const =0
    Get the characteristic feet in the physical domain.
    -
    Test function for the 2D polar advection operator.
    Definition: test_cases.hpp:68
    -
    Test function for the 2D polar advection operator.
    Definition: test_cases.hpp:113
    -
    Base class for the test functions for the 2D polar advection operator.
    Definition: test_cases.hpp:36
    -
    Simulation of a rotated Gaussian.
    Definition: test_cases_adv_field.hpp:406
    -
    RotationAdvectionFieldSimulation(Mapping const &mapping, double const rmin, double const rmax)
    Instantiate a RotationSimulation simulation.
    Definition: test_cases_adv_field.hpp:418
    -
    Simulation of a translated Gaussian.
    Definition: test_cases_adv_field.hpp:344
    -
    TranslationAdvectionFieldSimulation(Mapping const &mapping, double const rmin, double const rmax)
    Instantiate a TranslationSimulation simulation.
    Definition: test_cases_adv_field.hpp:356
    -
    Define non periodic real X velocity dimension.
    Definition: geometry.hpp:446
    -
    Define non periodic real Y velocity dimension.
    Definition: geometry.hpp:659
    +
    Test function for the 2D polar advection operator.
    Definition: test_cases.hpp:65
    +
    Test function for the 2D polar advection operator.
    Definition: test_cases.hpp:110
    +
    Base class for the test functions for the 2D polar advection operator.
    Definition: test_cases.hpp:33
    +
    Simulation of a rotated Gaussian.
    Definition: test_cases_adv_field.hpp:403
    +
    RotationAdvectionFieldSimulation(Mapping const &mapping, double const rmin, double const rmax)
    Instantiate a RotationSimulation simulation.
    Definition: test_cases_adv_field.hpp:415
    +
    Simulation of a translated Gaussian.
    Definition: test_cases_adv_field.hpp:341
    +
    TranslationAdvectionFieldSimulation(Mapping const &mapping, double const rmin, double const rmax)
    Instantiate a TranslationSimulation simulation.
    Definition: test_cases_adv_field.hpp:353
    +
    Define non periodic real X velocity dimension.
    Definition: geometry.hpp:525
    +
    Define non periodic real Y velocity dimension.
    Definition: geometry.hpp:736
    diff --git a/vortex__merger__equilibrium_8hpp_source.html b/vortex__merger__equilibrium_8hpp_source.html index e5aea30b8..e731b7432 100644 --- a/vortex__merger__equilibrium_8hpp_source.html +++ b/vortex__merger__equilibrium_8hpp_source.html @@ -111,156 +111,150 @@
    6 
    7 #include <geometry.hpp>
    8 
    -
    9 #include "sll/spline_builder_2d.hpp"
    -
    10 #include "sll/spline_evaluator_2d.hpp"
    -
    11 
    -
    12 #include "poisson_rhs_function.hpp"
    -
    13 #include "polarpoissonsolver.hpp"
    -
    14 #include "utils_tools.hpp"
    -
    15 
    -
    16 
    -
    24 template <class Mapping>
    - -
    26 {
    -
    27 private:
    -
    28  Mapping const& m_mapping;
    -
    29  IDomainRP const& m_grid;
    -
    30  SplineRPBuilder const& m_builder;
    -
    31  SplineRPEvaluator const& m_evaluator;
    -
    32  PolarSplineFEMPoissonSolver const& m_poisson_solver;
    -
    33 
    -
    34 public:
    - -
    53  Mapping const& mapping,
    -
    54  IDomainRP const& grid,
    -
    55  SplineRPBuilder const& builder,
    -
    56  SplineRPEvaluator const& evaluator,
    -
    57  PolarSplineFEMPoissonSolver const& poisson_solver)
    -
    58  : m_mapping(mapping)
    -
    59  , m_grid(grid)
    -
    60  , m_builder(builder)
    -
    61  , m_evaluator(evaluator)
    -
    62  , m_poisson_solver(poisson_solver) {};
    +
    9 #include "poisson_rhs_function.hpp"
    +
    10 #include "polarpoissonsolver.hpp"
    +
    11 #include "utils_tools.hpp"
    +
    12 
    +
    13 
    +
    21 template <class Mapping>
    + +
    23 {
    +
    24 private:
    +
    25  Mapping const& m_mapping;
    +
    26  IDomainRP const& m_grid;
    +
    27  SplineRPBuilder const& m_builder;
    +
    28  SplineRPEvaluatorNullBound const& m_evaluator;
    +
    29  PolarSplineFEMPoissonSolver const& m_poisson_solver;
    +
    30 
    +
    31 public:
    + +
    50  Mapping const& mapping,
    +
    51  IDomainRP const& grid,
    +
    52  SplineRPBuilder const& builder,
    +
    53  SplineRPEvaluatorNullBound const& evaluator,
    +
    54  PolarSplineFEMPoissonSolver const& poisson_solver)
    +
    55  : m_mapping(mapping)
    +
    56  , m_grid(grid)
    +
    57  , m_builder(builder)
    +
    58  , m_evaluator(evaluator)
    +
    59  , m_poisson_solver(poisson_solver) {};
    +
    60 
    +
    61 
    +
    63 
    -
    64 
    - -
    66 
    - -
    102  DSpanRP sigma,
    -
    103  DSpanRP phi_eq,
    -
    104  DSpanRP rho_eq,
    -
    105  std::function<double(double const)> const& function,
    -
    106  double const phi_max, // ToDo: ADD CASE WHERE RHO_MAX IS GIVEN.
    -
    107  double const tau,
    -
    108  int count_max = 25) const
    -
    109  {
    -
    110  DFieldRP phi_star(m_grid);
    -
    111  DFieldRP ci(m_grid);
    + +
    99  DSpanRP sigma,
    +
    100  DSpanRP phi_eq,
    +
    101  DSpanRP rho_eq,
    +
    102  std::function<double(double const)> const& function,
    +
    103  double const phi_max, // ToDo: ADD CASE WHERE RHO_MAX IS GIVEN.
    +
    104  double const tau,
    +
    105  int count_max = 25) const
    +
    106  {
    +
    107  DFieldRP phi_star(m_grid);
    +
    108  DFieldRP ci(m_grid);
    +
    109 
    +
    110  auto dom_bsplinesRP = m_builder.spline_domain();
    +
    111  Spline2D rho_coef(dom_bsplinesRP);
    112 
    -
    113  auto dom_bsplinesRP = m_builder.spline_domain();
    -
    114  Spline2D rho_coef(dom_bsplinesRP);
    +
    113  FieldRP<CoordRP> coords(m_grid);
    +
    114  ddc::for_each(m_grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
    115 
    -
    116  FieldRP<CoordRP> coords(m_grid);
    -
    117  ddc::for_each(m_grid, [&](IndexRP const irp) { coords(irp) = ddc::coordinate(irp); });
    +
    116  double difference_sigma(0.);
    +
    117  int count = 0;
    118 
    -
    119  double difference_sigma(0.);
    -
    120  int count = 0;
    -
    121 
    -
    122  do {
    -
    123  count += 1;
    -
    124  // STEP 1: compute rho^i
    -
    125  ddc::for_each(m_grid, [&](IndexRP const irp) {
    -
    126  rho_eq(irp) = sigma(irp) * function(phi_eq(irp));
    -
    127  });
    -
    128 
    -
    129 
    -
    130  // STEP 2: compute phi_star^i with Poisson solver
    -
    131  m_builder(rho_coef, rho_eq);
    -
    132  PoissonRHSFunction poisson_rhs(rho_coef, m_evaluator);
    -
    133  m_poisson_solver(poisson_rhs, coords.span_cview(), phi_star.span_view());
    -
    134 
    -
    135  // STEP 3: compute c^i
    -
    136  // If phi_max is given:
    -
    137  double norm_Linf_phi_star(0.);
    -
    138  ddc::for_each(m_grid, [&](IndexRP const irp) {
    -
    139  double const abs_phi_star = fabs(phi_star(irp));
    -
    140  norm_Linf_phi_star
    -
    141  = norm_Linf_phi_star > abs_phi_star ? norm_Linf_phi_star : abs_phi_star;
    -
    142  });
    -
    143 
    -
    144  ddc::for_each(m_grid, [&](IndexRP const irp) {
    -
    145  ci(irp) = phi_max / norm_Linf_phi_star;
    -
    146  });
    -
    147 
    -
    148 
    -
    149  // STEP 4: update sigma and phi
    -
    150  difference_sigma = 0.;
    -
    151  ddc::for_each(m_grid, [&](IndexRP const irp) {
    -
    152  double const abs_diff_sigma = fabs(sigma(irp) - ci(irp) * sigma(irp));
    -
    153  difference_sigma
    -
    154  = difference_sigma > abs_diff_sigma ? difference_sigma : abs_diff_sigma;
    -
    155 
    -
    156  sigma(irp) = ci(irp) * sigma(irp);
    -
    157  phi_eq(irp) = ci(irp) * phi_star(irp);
    -
    158  });
    +
    119  do {
    +
    120  count += 1;
    +
    121  // STEP 1: compute rho^i
    +
    122  ddc::for_each(m_grid, [&](IndexRP const irp) {
    +
    123  rho_eq(irp) = sigma(irp) * function(phi_eq(irp));
    +
    124  });
    +
    125 
    +
    126 
    +
    127  // STEP 2: compute phi_star^i with Poisson solver
    +
    128  m_builder(rho_coef.span_view(), rho_eq.span_cview());
    +
    129  PoissonRHSFunction poisson_rhs(rho_coef, m_evaluator);
    +
    130  m_poisson_solver(poisson_rhs, coords.span_cview(), phi_star.span_view());
    +
    131 
    +
    132  // STEP 3: compute c^i
    +
    133  // If phi_max is given:
    +
    134  double norm_Linf_phi_star(0.);
    +
    135  ddc::for_each(m_grid, [&](IndexRP const irp) {
    +
    136  double const abs_phi_star = fabs(phi_star(irp));
    +
    137  norm_Linf_phi_star
    +
    138  = norm_Linf_phi_star > abs_phi_star ? norm_Linf_phi_star : abs_phi_star;
    +
    139  });
    +
    140 
    +
    141  ddc::for_each(m_grid, [&](IndexRP const irp) {
    +
    142  ci(irp) = phi_max / norm_Linf_phi_star;
    +
    143  });
    +
    144 
    +
    145 
    +
    146  // STEP 4: update sigma and phi
    +
    147  difference_sigma = 0.;
    +
    148  ddc::for_each(m_grid, [&](IndexRP const irp) {
    +
    149  double const abs_diff_sigma = fabs(sigma(irp) - ci(irp) * sigma(irp));
    +
    150  difference_sigma
    +
    151  = difference_sigma > abs_diff_sigma ? difference_sigma : abs_diff_sigma;
    +
    152 
    +
    153  sigma(irp) = ci(irp) * sigma(irp);
    +
    154  phi_eq(irp) = ci(irp) * phi_star(irp);
    +
    155  });
    +
    156 
    +
    157  } while ((difference_sigma > tau) and (count < count_max));
    +
    158 
    159 
    -
    160  } while ((difference_sigma > tau) and (count < count_max));
    -
    161 
    -
    162 
    -
    163  // STEP 1: compute rho^i
    -
    164  ddc::for_each(m_grid, [&](IndexRP const irp) {
    -
    165  rho_eq(irp) = sigma(irp) * function(phi_eq(irp));
    -
    166  });
    -
    167 
    -
    168  // Unify at the center point:
    -
    169  auto r_domain = ddc::get_domain<IDimR>(rho_eq);
    -
    170  auto theta_domain = ddc::get_domain<IDimP>(rho_eq);
    -
    171  if (std::fabs(ddc::coordinate(r_domain.front())) < 1e-15) {
    -
    172  ddc::for_each(theta_domain, [&](const IndexP ip) {
    -
    173  rho_eq(r_domain.front(), ip) = rho_eq(r_domain.front(), theta_domain.front());
    -
    174  });
    -
    175  }
    -
    176  };
    -
    177 
    -
    178 
    - -
    194  DSpanRP rho_eq,
    -
    195  std::function<double(double const)> function,
    -
    196  double const phi_max,
    -
    197  double const tau)
    -
    198  {
    -
    199  IDomainRP grid = ddc::get_domain<IDimR, IDimP>(rho_eq);
    -
    200 
    -
    201  // Equilibrium:
    -
    202  DFieldRP sigma_0(grid);
    -
    203  DFieldRP phi_eq(grid);
    -
    204  const double sig = 0.3;
    -
    205  ddc::for_each(grid, [&](IndexRP const irp) {
    -
    206  const CoordRP coord_rp(ddc::coordinate(irp));
    -
    207  const CoordXY coord_xy(m_mapping(coord_rp));
    -
    208  const double x = ddc::get<RDimX>(coord_xy);
    -
    209  const double y = ddc::get<RDimY>(coord_xy);
    -
    210  sigma_0(irp) = sig;
    -
    211  phi_eq(irp) = std::exp(-(x * x + y * y) / (2 * sig * sig));
    -
    212  });
    - -
    214  sigma_0.span_view(),
    -
    215  phi_eq.span_view(),
    -
    216  rho_eq.span_view(),
    -
    217  function,
    -
    218  phi_max,
    -
    219  tau);
    -
    220  };
    -
    221 };
    +
    160  // STEP 1: compute rho^i
    +
    161  ddc::for_each(m_grid, [&](IndexRP const irp) {
    +
    162  rho_eq(irp) = sigma(irp) * function(phi_eq(irp));
    +
    163  });
    +
    164 
    +
    165  // Unify at the center point:
    +
    166  auto r_domain = ddc::get_domain<IDimR>(rho_eq);
    +
    167  auto theta_domain = ddc::get_domain<IDimP>(rho_eq);
    +
    168  if (std::fabs(ddc::coordinate(r_domain.front())) < 1e-15) {
    +
    169  ddc::for_each(theta_domain, [&](const IndexP ip) {
    +
    170  rho_eq(r_domain.front(), ip) = rho_eq(r_domain.front(), theta_domain.front());
    +
    171  });
    +
    172  }
    +
    173  };
    +
    174 
    +
    175 
    + +
    191  DSpanRP rho_eq,
    +
    192  std::function<double(double const)> function,
    +
    193  double const phi_max,
    +
    194  double const tau)
    +
    195  {
    +
    196  IDomainRP grid = ddc::get_domain<IDimR, IDimP>(rho_eq);
    +
    197 
    +
    198  // Equilibrium:
    +
    199  DFieldRP sigma_0(grid);
    +
    200  DFieldRP phi_eq(grid);
    +
    201  const double sig = 0.3;
    +
    202  ddc::for_each(grid, [&](IndexRP const irp) {
    +
    203  const CoordRP coord_rp(ddc::coordinate(irp));
    +
    204  const CoordXY coord_xy(m_mapping(coord_rp));
    +
    205  const double x = ddc::get<RDimX>(coord_xy);
    +
    206  const double y = ddc::get<RDimY>(coord_xy);
    +
    207  sigma_0(irp) = sig;
    +
    208  phi_eq(irp) = std::exp(-(x * x + y * y) / (2 * sig * sig));
    +
    209  });
    + +
    211  sigma_0.span_view(),
    +
    212  phi_eq.span_view(),
    +
    213  rho_eq.span_view(),
    +
    214  function,
    +
    215  phi_max,
    +
    216  tau);
    +
    217  };
    +
    218 };
    Type of right-hand side (rhs) function of the Poisson equation.
    Definition: poisson_rhs_function.hpp:16
    -
    Define a polar Poisson solver.
    Definition: polarpoissonsolver.hpp:37
    -
    A class for creating a 2D spline approximation of a function.
    Definition: spline_builder_2d.hpp:15
    -
    ddc::DiscreteDomain< bsplines_type1, bsplines_type2 > spline_domain() const noexcept
    Get the 2D domain on which the approximation is defined.
    Definition: spline_builder_2d.hpp:230
    -
    Define an evaluator 2D on B-splines.
    Definition: spline_evaluator_2d.hpp:15
    -
    Equilibrium solution of a Vlasov-Poissson equations system in polar coordinates.
    Definition: vortex_merger_equilibrium.hpp:26
    -
    void set_equilibrium(DSpanRP rho_eq, std::function< double(double const)> function, double const phi_max, double const tau)
    Set an equilibrium.
    Definition: vortex_merger_equilibrium.hpp:193
    -
    VortexMergerEquilibria(Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluator const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
    Instantiate a VortexMergerEquilibria.
    Definition: vortex_merger_equilibrium.hpp:52
    -
    void find_equilibrium(DSpanRP sigma, DSpanRP phi_eq, DSpanRP rho_eq, std::function< double(double const)> const &function, double const phi_max, double const tau, int count_max=25) const
    Get an equilibrium.
    Definition: vortex_merger_equilibrium.hpp:101
    +
    Define a polar Poisson solver.
    Definition: polarpoissonsolver.hpp:36
    +
    Equilibrium solution of a Vlasov-Poissson equations system in polar coordinates.
    Definition: vortex_merger_equilibrium.hpp:23
    +
    void set_equilibrium(DSpanRP rho_eq, std::function< double(double const)> function, double const phi_max, double const tau)
    Set an equilibrium.
    Definition: vortex_merger_equilibrium.hpp:190
    +
    void find_equilibrium(DSpanRP sigma, DSpanRP phi_eq, DSpanRP rho_eq, std::function< double(double const)> const &function, double const phi_max, double const tau, int count_max=25) const
    Get an equilibrium.
    Definition: vortex_merger_equilibrium.hpp:98
    +
    VortexMergerEquilibria(Mapping const &mapping, IDomainRP const &grid, SplineRPBuilder const &builder, SplineRPEvaluatorNullBound const &evaluator, PolarSplineFEMPoissonSolver const &poisson_solver)
    Instantiate a VortexMergerEquilibria.
    Definition: vortex_merger_equilibrium.hpp:49
    File Describing useful functions.