11 namespace blockstructured {
22 int numberOfDoFsPerAxisInPatch,
25 const double* __restrict__ coarseGridFaceValues,
26 double* __restrict__ fineGridFaceValues
30 numberOfDoFsPerAxisInPatch,
33 C::NormalInterpolationMatrix1d,
34 C::TangentialInterpolationMatrix1d,
44 int numberOfDoFsPerAxisInPatch,
47 const double* __restrict__ coarseGridCellValues,
48 const double* __restrict__ coarseGridFaceValues,
49 double* __restrict__ fineGridFaceValues
53 numberOfDoFsPerAxisInPatch,
56 C::NormalInterpolationMatrix1d,
57 C::TangentialInterpolationMatrix1d,
68 int numberOfDoFsPerAxisInPatch,
71 const double* __restrict__ coarseGridCellValues,
72 const double* __restrict__ coarseGridFaceValues,
73 double* __restrict__ fineGridFaceValues
75 int normal = marker.getSelectedFaceNumber() % 3;
76 int patchIndexLinear = (Dimensions == 2) ? marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) : marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) * 3 + marker.getRelativePositionWithinFatherCell()((normal + 2) % Dimensions);
80 numberOfDoFsPerAxisInPatch,
84 C::InterpolationColumnIndices,
85 C::InterpolationRowIndices,
95 int numberOfDoFsPerAxisInPatch,
98 const double* __restrict__ coarseGridCellValues,
99 const double* __restrict__ coarseGridFaceValues,
100 double* __restrict__ fineGridFaceValues
104 numberOfDoFsPerAxisInPatch,
107 coarseGridCellValues,
108 coarseGridFaceValues,
113 template <
typename C>
116 int numberOfDoFsPerAxisInPatch,
119 const double* __restrict__ coarseGridCellValues,
120 const double* __restrict__ coarseGridFaceValues,
121 double* __restrict__ fineGridFaceValues
125 numberOfDoFsPerAxisInPatch,
128 coarseGridCellValues,
129 coarseGridFaceValues,
135 template <
typename C>
138 int numberOfDoFsPerAxisInPatch,
140 const double* __restrict__ coarseGridCellValues,
141 double* __restrict__ fineGridCellValues
145 numberOfDoFsPerAxisInPatch,
147 C::TangentialInterpolationMatrix1d,
148 coarseGridCellValues,
154 template <
typename C>
157 int numberOfDoFsPerAxisInPatch,
159 double* fineGridValues,
160 double* coarseGridValues
164 numberOfDoFsPerAxisInPatch,
166 C::TangentialRestrictionMatrix1d,
173 template <
typename C>
176 int numberOfDoFsPerAxisInPatch,
178 const double* __restrict__ coarseGridCellValues,
179 double* __restrict__ fineGridCellValues
183 numberOfDoFsPerAxisInPatch,
185 C::InterpolationData,
186 C::InterpolationColumnIndices,
187 C::InterpolationRowIndices,
188 coarseGridCellValues,
193 template <
typename C>
196 int numberOfDoFsPerAxisInPatch,
198 const double* __restrict__ coarseGridCellValues,
199 double* __restrict__ fineGridCellValues
203 numberOfDoFsPerAxisInPatch,
205 coarseGridCellValues,
210 template <
typename C>
213 int numberOfDoFsPerAxisInPatch,
215 const double* __restrict__ coarseGridCellValues,
216 double* __restrict__ fineGridCellValues
220 numberOfDoFsPerAxisInPatch,
222 coarseGridCellValues,
228 template <
typename C>
231 int numberOfDoFsPerAxisInPatch,
233 double* fineGridValues,
234 double* coarseGridValues
238 numberOfDoFsPerAxisInPatch,
241 C::RestrictionColumnIndices,
242 C::RestrictionRowIndices,
248 template <
typename C>
251 int numberOfDoFsPerAxisInPatch,
253 double* fineGridValues,
254 double* coarseGridValues
258 numberOfDoFsPerAxisInPatch,
265 template <
typename C>
268 int numberOfDoFsPerAxisInPatch,
270 double* fineGridValues,
271 double* coarseGridValues
275 numberOfDoFsPerAxisInPatch,
283 template <
typename C>
286 int numberOfDoFsPerAxisInPatch,
289 double* fineGridValues,
290 double* coarseGridValues
294 numberOfDoFsPerAxisInPatch,
297 C::NormalRestrictionMatrix1d,
298 C::TangentialRestrictionMatrix1d,
305 template <
typename C>
308 int numberOfDoFsPerAxisInPatch,
311 double* fineGridValues,
312 double* coarseGridValues,
313 bool swapInsideOutside =
false
317 numberOfDoFsPerAxisInPatch,
320 C::NormalRestrictionMatrix1d,
321 C::TangentialRestrictionMatrix1d,
329 template <
typename C>
332 int numberOfDoFsPerAxisInPatch,
335 const double* __restrict__ coarseGridFaceValues,
336 double* __restrict__ fineGridFaceValues
338 int normal = marker.getSelectedFaceNumber() % 3;
339 int patchIndexLinear = (Dimensions == 2) ? marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) : marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) * 3 + marker.getRelativePositionWithinFatherCell()((normal + 2) % Dimensions);
343 numberOfDoFsPerAxisInPatch,
346 C::InterpolationData,
347 C::InterpolationColumnIndices,
348 C::InterpolationRowIndices,
349 patchIndexLinear * C::InterpolationDataOffset,
350 patchIndexLinear * C::InterpolationRowIndicesOffset,
351 coarseGridFaceValues,
357 template <
typename C>
360 int numberOfDoFsPerAxisInPatch,
363 const double* __restrict__ coarseGridFaceValues,
364 double* __restrict__ fineGridFaceValues
368 numberOfDoFsPerAxisInPatch,
371 coarseGridFaceValues,
376 template <
typename C>
379 int numberOfDoFsPerAxisInPatch,
382 const double* __restrict__ coarseGridFaceValues,
383 double* __restrict__ fineGridFaceValues
387 numberOfDoFsPerAxisInPatch,
390 coarseGridFaceValues,
396 template <
typename C>
399 int numberOfDoFsPerAxisInPatch,
402 double* fineGridValues,
403 double* coarseGridValues
405 int normal = marker.getSelectedFaceNumber() % 3;
406 int patchIndexLinear = (Dimensions == 2) ? marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) : marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) + 3 * marker.getRelativePositionWithinFatherCell()((normal + 2) % Dimensions);
410 numberOfDoFsPerAxisInPatch,
414 C::RestrictionColumnIndices,
415 C::RestrictionRowIndices,
416 patchIndexLinear * C::RestrictionDataOffset,
417 patchIndexLinear * C::RestrictionRowIndicesOffset,
423 template <
typename C>
426 int numberOfDoFsPerAxisInPatch,
429 double* fineGridValues,
430 double* coarseGridValues
434 numberOfDoFsPerAxisInPatch,
442 template <
typename C>
445 int numberOfDoFsPerAxisInPatch,
448 double* fineGridValues,
449 double* coarseGridValues
453 numberOfDoFsPerAxisInPatch,
462 template <
typename C>
465 int numberOfDoFsPerAxisInPatch,
468 double* fineGridValues,
469 double* coarseGridValues,
470 bool swapInsideOutside =
false
472 int normal = marker.getSelectedFaceNumber() % 3;
473 int patchIndexLinear = (Dimensions == 2) ? marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) : marker.getRelativePositionWithinFatherCell()((normal + 1) % Dimensions) + 3 * marker.getRelativePositionWithinFatherCell()((normal + 2) % Dimensions);
477 numberOfDoFsPerAxisInPatch,
481 C::RestrictionColumnIndices,
482 C::RestrictionRowIndices,
483 patchIndexLinear * C::RestrictionDataOffset,
484 patchIndexLinear * C::RestrictionRowIndicesOffset,
491 template <
typename C>
494 int numberOfDoFsPerAxisInPatch,
497 double* fineGridValues,
498 double* coarseGridValues,
499 bool swapInsideOutside =
false
503 numberOfDoFsPerAxisInPatch,
512 template <
typename C>
515 int numberOfDoFsPerAxisInPatch,
518 double* fineGridValues,
519 double* coarseGridValues,
520 bool swapInsideOutside =
false
524 numberOfDoFsPerAxisInPatch,
Provide information about selected face.