31 static constexpr double NormalInterpolationMatrix1d[] = {
32 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
33 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
34 0.0, 1.0, 0.0, 0.0, 0.0, 0.0
36 static constexpr double TangentialInterpolationMatrix1d[] = {
64 double coarseGridFaceValues[] = {
65 0.1,-0.1, 0.2,-0.2, 0.3,-0.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
66 1.1,-1.1, 1.2,-1.2, 1.3,-1.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
67 2.1,-2.1, 2.2,-2.2, 2.3,-2.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
68 3.1,-3.1, 3.2,-3.2, 3.3,-3.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
69 4.1,-4.1, 4.2,-4.2, 4.3,-4.3, 0.0,0.0, 0.0,0.0, 0.0,0.0
71 double fineGridFaceValues[ 3*5*2*2 ];
72 std::fill_n(fineGridFaceValues, 3*5*2*2, 0.0 );
81 NormalInterpolationMatrix1d,
82 TangentialInterpolationMatrix1d,
107 double coarseGridFaceValues[] = {
108 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0,
109 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0,
110 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0,
112 0.1,-0.1, 0.2,-0.2, 0.3,-0.3, 0.4,-0.4, 0.5,-0.5,
113 1.1,-1.1, 1.2,-1.2, 1.3,-0.3, 1.4,-1.4, 1.5,-1.5,
114 2.1,-2.1, 2.2,-2.2, 2.3,-0.3, 2.4,-2.4, 2.5,-2.5
116 double fineGridFaceValues[ 3*5*2*2 ];
117 std::fill_n(fineGridFaceValues, 3*5*2*2, 0.0 );
126 NormalInterpolationMatrix1d,
127 TangentialInterpolationMatrix1d,
128 coarseGridFaceValues,
154 static constexpr double NormalRestrictionMatrix1d[] = {
155 0.0, 0.0, 0.0, 1.0/3.0, 1.0/3.0, 1.0/3.0,
156 0.0, 0.0, 0.0, 1.0/3.0, 1.0/3.0, 1.0/3.0,
157 0.0, 0.0, 0.0, 1.0/3.0, 1.0/3.0, 1.0/3.0
166 static constexpr double TangentialRestrictionMatrix1d[] = {
167 1.0/3.0, 1.0/3.0, 1.0/3.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 1.0/3.0, 1.0/3.0, 1.0/3.0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169 0, 0, 0, 0, 0, 0, 1.0/3.0, 1.0/3.0, 1.0/3.0, 0, 0, 0, 0, 0, 0,
170 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0/3.0, 1.0/3.0, 1.0/3.0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0/3.0, 1.0/3.0, 1.0/3.0
182 constexpr int NumberOfFaceValues = 3*5 * 2 * 2;
184 double fineGridFaceValues[] = {
185 0.1,-0.1, 0.1,-0.1, 0.1,-0.1, 0.0,0.0, 0.0,0.0, 0.0,0.0,
186 0.1,-0.1, 0.1,-0.1, 0.1,-0.1, 0.0,0.0, 0.0,0.0, 0.0,0.0,
187 0.1,-0.1, 0.1,-0.1, 0.1,-0.1, 0.0,0.0, 0.0,0.0, 0.0,0.0,
188 0.1,-0.1, 0.1,-0.1, 0.1,-0.1, 0.0,0.0, 0.0,0.0, 0.0,0.0,
189 0.1,-0.1, 0.1,-0.1, 0.1,-0.1, 0.0,0.0, 0.0,0.0, 0.0,0.0
194 constexpr int NumberOfFaceValues = 3*5*5 * 2 * 2;
196 double fineGridFaceValues[] = {
197 10.1,-10.1, 10.2,-10.2, 10.3,-10.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
198 11.1,-11.1, 11.2,-11.2, 11.3,-11.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
199 12.1,-12.1, 12.2,-12.2, 12.3,-12.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
200 13.1,-13.1, 13.2,-13.2, 13.3,-13.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
201 14.1,-14.1, 14.2,-14.2, 14.3,-14.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
203 20.1,-20.1, 20.2,-20.2, 20.3,-20.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
204 21.1,-21.1, 21.2,-21.2, 21.3,-21.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
205 22.1,-22.1, 22.2,-22.2, 22.3,-22.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
206 23.1,-23.1, 23.2,-23.2, 23.3,-23.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
207 24.1,-24.1, 24.2,-24.2, 24.3,-24.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
209 30.1,-30.1, 30.2,-30.2, 30.3,-30.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
210 31.1,-31.1, 31.2,-31.2, 31.3,-31.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
211 32.1,-32.1, 32.2,-32.2, 32.3,-32.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
212 33.1,-33.1, 33.2,-33.2, 33.3,-33.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
213 34.1,-34.1, 34.2,-34.2, 34.3,-34.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
215 40.1,-40.1, 40.2,-40.2, 40.3,-40.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
216 41.1,-41.1, 41.2,-41.2, 41.3,-41.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
217 42.1,-42.1, 42.2,-42.2, 42.3,-42.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
218 43.1,-43.1, 43.2,-43.2, 43.3,-43.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
219 44.1,-44.1, 44.2,-44.2, 44.3,-44.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
221 50.1,-50.1, 50.2,-50.2, 50.3,-50.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
222 51.1,-51.1, 51.2,-51.2, 51.3,-51.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
223 52.1,-52.1, 52.2,-52.2, 52.3,-52.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
224 53.1,-53.1, 53.2,-53.2, 53.3,-53.3, 0.0,0.0, 0.0,0.0, 0.0,0.0,
225 54.1,-54.1, 54.2,-54.2, 54.3,-54.3, 0.0,0.0, 0.0,0.0, 0.0,0.0
229 double coarseGridFaceValues[ NumberOfFaceValues ];
231 marker1.
select(Dimensions);
233 std::fill_n(coarseGridFaceValues, NumberOfFaceValues, 0.0 );
240 NormalRestrictionMatrix1d,
241 TangentialRestrictionMatrix1d,
248 coarseGridFaceValues[0*2+0], 0.1,
249 coarseGridFaceValues[0*2+0], coarseGridFaceValues[1*2+0], coarseGridFaceValues[2*2+0],
250 coarseGridFaceValues[3*2+0], coarseGridFaceValues[4*2+0], coarseGridFaceValues[5*2+0]
364 static constexpr double TangentialRestrictionMatrix1d[] = {
365 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 ,0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
366 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
367 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
368 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
369 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0};
371 static constexpr double NormalRestrictionMatrix1d[] = {
372 0.0, 0.0, 0.0, 0.3333333333333333, 0.3333333333333333, 0.3333333333333333,
373 0.0, 0.0, 0.0, 0.0, -2.0, 3.0,
374 0.0, 0.0, 0.0, 0.0, -5.0, 6.0};
380 constexpr int NumberOfFaceValues = 3*5 * 2 * 2;
382 double fineGridFaceValues[] = {
383 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
384 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
385 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
386 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
387 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
389 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
390 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
391 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
392 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
393 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
398 constexpr int NumberOfFaceValues = 3*5*5 * 5 * 2;
400 double fineGridFaceValues[] = {
401 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
402 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
403 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
404 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
405 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
407 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
408 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
409 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
410 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
411 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
413 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
414 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
415 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
416 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
417 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0, 0.1,0,0,0,0,
419 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
420 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
421 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
422 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
423 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
425 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
426 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
427 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
428 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
429 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
431 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
432 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
433 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
434 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
435 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
439 double coarseGridFaceValues[ NumberOfFaceValues ];
441 marker1.
select(2*Dimensions-1);
443 std::fill_n(coarseGridFaceValues, NumberOfFaceValues, 0.0 );
450 NormalRestrictionMatrix1d,
451 TangentialRestrictionMatrix1d,
458 coarseGridFaceValues[0*2+0], 0.1,
459 coarseGridFaceValues[0*2+0], coarseGridFaceValues[1*2+0], coarseGridFaceValues[2*2+0],
460 coarseGridFaceValues[3*2+0], coarseGridFaceValues[4*2+0], coarseGridFaceValues[5*2+0]
470 marker102.
select(2*Dimensions-1);
476 NormalRestrictionMatrix1d,
477 TangentialRestrictionMatrix1d,
484 marker202.
select(2*Dimensions-1);
490 NormalRestrictionMatrix1d,
491 TangentialRestrictionMatrix1d,
498 marker012.
select(2*Dimensions-1);
504 NormalRestrictionMatrix1d,
505 TangentialRestrictionMatrix1d,
512 marker112.
select(2*Dimensions-1);
518 NormalRestrictionMatrix1d,
519 TangentialRestrictionMatrix1d,
526 marker212.
select(2*Dimensions-1);
532 NormalRestrictionMatrix1d,
533 TangentialRestrictionMatrix1d,
540 marker022.
select(2*Dimensions-1);
546 NormalRestrictionMatrix1d,
547 TangentialRestrictionMatrix1d,
554 marker122.
select(2*Dimensions-1);
560 NormalRestrictionMatrix1d,
561 TangentialRestrictionMatrix1d,
568 marker222.
select(2*Dimensions-1);
574 NormalRestrictionMatrix1d,
575 TangentialRestrictionMatrix1d,
580 for (
int i=0; i<5*5*3; i++) {