180 IBlock *
block, ConstBlockDataID flagFieldID,
181 FlagUID boundaryFlagUID, FlagUID domainFlagUID) {
187 auto *flagField =
block->getData<FlagField_T>(flagFieldID);
189 if (!(flagField->flagExists(boundaryFlagUID) &&
190 flagField->flagExists(domainFlagUID)))
193 auto boundaryFlag = flagField->getFlag(boundaryFlagUID);
194 auto domainFlag = flagField->getFlag(domainFlagUID);
196 auto inner = flagField->xyzSize();
197 inner.expand(cell_idx_t(-1));
199 indexVectorAll.clear();
200 indexVectorInner.clear();
201 indexVectorOuter.clear();
203 for (
auto it = flagField->beginWithGhostLayerXYZ(
204 cell_idx_c(flagField->nrOfGhostLayers() - 1));
205 it != flagField->end(); ++it) {
206 if (!isFlagSet(it, domainFlag))
209 if (isFlagSet(it.neighbor(0, 0, 0, 0), boundaryFlag)) {
210 auto element =
IndexInfo(it.x(), it.y(), it.z(), 0);
211 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
212 Cell(it.x() + 0, it.y() + 0, it.z() + 0), blocks, *
block);
213 element.flux_0 = InitialisatonAdditionalData[0];
214 element.flux_1 = InitialisatonAdditionalData[1];
215 element.flux_2 = InitialisatonAdditionalData[2];
216 indexVectorAll.emplace_back(element);
217 if (
inner.contains(it.x(), it.y(), it.z()))
218 indexVectorInner.emplace_back(element);
220 indexVectorOuter.emplace_back(element);
224 for (
auto it = flagField->beginWithGhostLayerXYZ(
225 cell_idx_c(flagField->nrOfGhostLayers() - 1));
226 it != flagField->end(); ++it) {
227 if (!isFlagSet(it, domainFlag))
230 if (isFlagSet(it.neighbor(0, 1, 0, 0), boundaryFlag)) {
231 auto element =
IndexInfo(it.x(), it.y(), it.z(), 1);
232 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
233 Cell(it.x() + 0, it.y() + 1, it.z() + 0), blocks, *
block);
234 element.flux_0 = InitialisatonAdditionalData[0];
235 element.flux_1 = InitialisatonAdditionalData[1];
236 element.flux_2 = InitialisatonAdditionalData[2];
237 indexVectorAll.emplace_back(element);
238 if (
inner.contains(it.x(), it.y(), it.z()))
239 indexVectorInner.emplace_back(element);
241 indexVectorOuter.emplace_back(element);
245 for (
auto it = flagField->beginWithGhostLayerXYZ(
246 cell_idx_c(flagField->nrOfGhostLayers() - 1));
247 it != flagField->end(); ++it) {
248 if (!isFlagSet(it, domainFlag))
251 if (isFlagSet(it.neighbor(0, -1, 0, 0), boundaryFlag)) {
252 auto element =
IndexInfo(it.x(), it.y(), it.z(), 2);
253 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
254 Cell(it.x() + 0, it.y() + -1, it.z() + 0), blocks, *
block);
255 element.flux_0 = InitialisatonAdditionalData[0];
256 element.flux_1 = InitialisatonAdditionalData[1];
257 element.flux_2 = InitialisatonAdditionalData[2];
258 indexVectorAll.emplace_back(element);
259 if (
inner.contains(it.x(), it.y(), it.z()))
260 indexVectorInner.emplace_back(element);
262 indexVectorOuter.emplace_back(element);
266 for (
auto it = flagField->beginWithGhostLayerXYZ(
267 cell_idx_c(flagField->nrOfGhostLayers() - 1));
268 it != flagField->end(); ++it) {
269 if (!isFlagSet(it, domainFlag))
272 if (isFlagSet(it.neighbor(-1, 0, 0, 0), boundaryFlag)) {
273 auto element =
IndexInfo(it.x(), it.y(), it.z(), 3);
274 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
275 Cell(it.x() + -1, it.y() + 0, it.z() + 0), blocks, *
block);
276 element.flux_0 = InitialisatonAdditionalData[0];
277 element.flux_1 = InitialisatonAdditionalData[1];
278 element.flux_2 = InitialisatonAdditionalData[2];
279 indexVectorAll.emplace_back(element);
280 if (
inner.contains(it.x(), it.y(), it.z()))
281 indexVectorInner.emplace_back(element);
283 indexVectorOuter.emplace_back(element);
287 for (
auto it = flagField->beginWithGhostLayerXYZ(
288 cell_idx_c(flagField->nrOfGhostLayers() - 1));
289 it != flagField->end(); ++it) {
290 if (!isFlagSet(it, domainFlag))
293 if (isFlagSet(it.neighbor(1, 0, 0, 0), boundaryFlag)) {
294 auto element =
IndexInfo(it.x(), it.y(), it.z(), 4);
295 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
296 Cell(it.x() + 1, it.y() + 0, it.z() + 0), blocks, *
block);
297 element.flux_0 = InitialisatonAdditionalData[0];
298 element.flux_1 = InitialisatonAdditionalData[1];
299 element.flux_2 = InitialisatonAdditionalData[2];
300 indexVectorAll.emplace_back(element);
301 if (
inner.contains(it.x(), it.y(), it.z()))
302 indexVectorInner.emplace_back(element);
304 indexVectorOuter.emplace_back(element);
308 for (
auto it = flagField->beginWithGhostLayerXYZ(
309 cell_idx_c(flagField->nrOfGhostLayers() - 1));
310 it != flagField->end(); ++it) {
311 if (!isFlagSet(it, domainFlag))
314 if (isFlagSet(it.neighbor(0, 0, 1, 0), boundaryFlag)) {
315 auto element =
IndexInfo(it.x(), it.y(), it.z(), 5);
316 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
317 Cell(it.x() + 0, it.y() + 0, it.z() + 1), blocks, *
block);
318 element.flux_0 = InitialisatonAdditionalData[0];
319 element.flux_1 = InitialisatonAdditionalData[1];
320 element.flux_2 = InitialisatonAdditionalData[2];
321 indexVectorAll.emplace_back(element);
322 if (
inner.contains(it.x(), it.y(), it.z()))
323 indexVectorInner.emplace_back(element);
325 indexVectorOuter.emplace_back(element);
329 for (
auto it = flagField->beginWithGhostLayerXYZ(
330 cell_idx_c(flagField->nrOfGhostLayers() - 1));
331 it != flagField->end(); ++it) {
332 if (!isFlagSet(it, domainFlag))
335 if (isFlagSet(it.neighbor(0, 0, -1, 0), boundaryFlag)) {
336 auto element =
IndexInfo(it.x(), it.y(), it.z(), 6);
337 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
338 Cell(it.x() + 0, it.y() + 0, it.z() + -1), blocks, *
block);
339 element.flux_0 = InitialisatonAdditionalData[0];
340 element.flux_1 = InitialisatonAdditionalData[1];
341 element.flux_2 = InitialisatonAdditionalData[2];
342 indexVectorAll.emplace_back(element);
343 if (
inner.contains(it.x(), it.y(), it.z()))
344 indexVectorInner.emplace_back(element);
346 indexVectorOuter.emplace_back(element);
350 for (
auto it = flagField->beginWithGhostLayerXYZ(
351 cell_idx_c(flagField->nrOfGhostLayers() - 1));
352 it != flagField->end(); ++it) {
353 if (!isFlagSet(it, domainFlag))
356 if (isFlagSet(it.neighbor(-1, 1, 0, 0), boundaryFlag)) {
357 auto element =
IndexInfo(it.x(), it.y(), it.z(), 7);
358 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
359 Cell(it.x() + -1, it.y() + 1, it.z() + 0), blocks, *
block);
360 element.flux_0 = InitialisatonAdditionalData[0];
361 element.flux_1 = InitialisatonAdditionalData[1];
362 element.flux_2 = InitialisatonAdditionalData[2];
363 indexVectorAll.emplace_back(element);
364 if (
inner.contains(it.x(), it.y(), it.z()))
365 indexVectorInner.emplace_back(element);
367 indexVectorOuter.emplace_back(element);
371 for (
auto it = flagField->beginWithGhostLayerXYZ(
372 cell_idx_c(flagField->nrOfGhostLayers() - 1));
373 it != flagField->end(); ++it) {
374 if (!isFlagSet(it, domainFlag))
377 if (isFlagSet(it.neighbor(1, 1, 0, 0), boundaryFlag)) {
378 auto element =
IndexInfo(it.x(), it.y(), it.z(), 8);
379 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
380 Cell(it.x() + 1, it.y() + 1, it.z() + 0), blocks, *
block);
381 element.flux_0 = InitialisatonAdditionalData[0];
382 element.flux_1 = InitialisatonAdditionalData[1];
383 element.flux_2 = InitialisatonAdditionalData[2];
384 indexVectorAll.emplace_back(element);
385 if (
inner.contains(it.x(), it.y(), it.z()))
386 indexVectorInner.emplace_back(element);
388 indexVectorOuter.emplace_back(element);
392 for (
auto it = flagField->beginWithGhostLayerXYZ(
393 cell_idx_c(flagField->nrOfGhostLayers() - 1));
394 it != flagField->end(); ++it) {
395 if (!isFlagSet(it, domainFlag))
398 if (isFlagSet(it.neighbor(-1, -1, 0, 0), boundaryFlag)) {
399 auto element =
IndexInfo(it.x(), it.y(), it.z(), 9);
400 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
401 Cell(it.x() + -1, it.y() + -1, it.z() + 0), blocks, *
block);
402 element.flux_0 = InitialisatonAdditionalData[0];
403 element.flux_1 = InitialisatonAdditionalData[1];
404 element.flux_2 = InitialisatonAdditionalData[2];
405 indexVectorAll.emplace_back(element);
406 if (
inner.contains(it.x(), it.y(), it.z()))
407 indexVectorInner.emplace_back(element);
409 indexVectorOuter.emplace_back(element);
413 for (
auto it = flagField->beginWithGhostLayerXYZ(
414 cell_idx_c(flagField->nrOfGhostLayers() - 1));
415 it != flagField->end(); ++it) {
416 if (!isFlagSet(it, domainFlag))
419 if (isFlagSet(it.neighbor(1, -1, 0, 0), boundaryFlag)) {
420 auto element =
IndexInfo(it.x(), it.y(), it.z(), 10);
421 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
422 Cell(it.x() + 1, it.y() + -1, it.z() + 0), blocks, *
block);
423 element.flux_0 = InitialisatonAdditionalData[0];
424 element.flux_1 = InitialisatonAdditionalData[1];
425 element.flux_2 = InitialisatonAdditionalData[2];
426 indexVectorAll.emplace_back(element);
427 if (
inner.contains(it.x(), it.y(), it.z()))
428 indexVectorInner.emplace_back(element);
430 indexVectorOuter.emplace_back(element);
434 for (
auto it = flagField->beginWithGhostLayerXYZ(
435 cell_idx_c(flagField->nrOfGhostLayers() - 1));
436 it != flagField->end(); ++it) {
437 if (!isFlagSet(it, domainFlag))
440 if (isFlagSet(it.neighbor(0, 1, 1, 0), boundaryFlag)) {
441 auto element =
IndexInfo(it.x(), it.y(), it.z(), 11);
442 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
443 Cell(it.x() + 0, it.y() + 1, it.z() + 1), blocks, *
block);
444 element.flux_0 = InitialisatonAdditionalData[0];
445 element.flux_1 = InitialisatonAdditionalData[1];
446 element.flux_2 = InitialisatonAdditionalData[2];
447 indexVectorAll.emplace_back(element);
448 if (
inner.contains(it.x(), it.y(), it.z()))
449 indexVectorInner.emplace_back(element);
451 indexVectorOuter.emplace_back(element);
455 for (
auto it = flagField->beginWithGhostLayerXYZ(
456 cell_idx_c(flagField->nrOfGhostLayers() - 1));
457 it != flagField->end(); ++it) {
458 if (!isFlagSet(it, domainFlag))
461 if (isFlagSet(it.neighbor(0, -1, 1, 0), boundaryFlag)) {
462 auto element =
IndexInfo(it.x(), it.y(), it.z(), 12);
463 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
464 Cell(it.x() + 0, it.y() + -1, it.z() + 1), blocks, *
block);
465 element.flux_0 = InitialisatonAdditionalData[0];
466 element.flux_1 = InitialisatonAdditionalData[1];
467 element.flux_2 = InitialisatonAdditionalData[2];
468 indexVectorAll.emplace_back(element);
469 if (
inner.contains(it.x(), it.y(), it.z()))
470 indexVectorInner.emplace_back(element);
472 indexVectorOuter.emplace_back(element);
476 for (
auto it = flagField->beginWithGhostLayerXYZ(
477 cell_idx_c(flagField->nrOfGhostLayers() - 1));
478 it != flagField->end(); ++it) {
479 if (!isFlagSet(it, domainFlag))
482 if (isFlagSet(it.neighbor(-1, 0, 1, 0), boundaryFlag)) {
483 auto element =
IndexInfo(it.x(), it.y(), it.z(), 13);
484 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
485 Cell(it.x() + -1, it.y() + 0, it.z() + 1), blocks, *
block);
486 element.flux_0 = InitialisatonAdditionalData[0];
487 element.flux_1 = InitialisatonAdditionalData[1];
488 element.flux_2 = InitialisatonAdditionalData[2];
489 indexVectorAll.emplace_back(element);
490 if (
inner.contains(it.x(), it.y(), it.z()))
491 indexVectorInner.emplace_back(element);
493 indexVectorOuter.emplace_back(element);
497 for (
auto it = flagField->beginWithGhostLayerXYZ(
498 cell_idx_c(flagField->nrOfGhostLayers() - 1));
499 it != flagField->end(); ++it) {
500 if (!isFlagSet(it, domainFlag))
503 if (isFlagSet(it.neighbor(1, 0, 1, 0), boundaryFlag)) {
504 auto element =
IndexInfo(it.x(), it.y(), it.z(), 14);
505 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
506 Cell(it.x() + 1, it.y() + 0, it.z() + 1), blocks, *
block);
507 element.flux_0 = InitialisatonAdditionalData[0];
508 element.flux_1 = InitialisatonAdditionalData[1];
509 element.flux_2 = InitialisatonAdditionalData[2];
510 indexVectorAll.emplace_back(element);
511 if (
inner.contains(it.x(), it.y(), it.z()))
512 indexVectorInner.emplace_back(element);
514 indexVectorOuter.emplace_back(element);
518 for (
auto it = flagField->beginWithGhostLayerXYZ(
519 cell_idx_c(flagField->nrOfGhostLayers() - 1));
520 it != flagField->end(); ++it) {
521 if (!isFlagSet(it, domainFlag))
524 if (isFlagSet(it.neighbor(0, 1, -1, 0), boundaryFlag)) {
525 auto element =
IndexInfo(it.x(), it.y(), it.z(), 15);
526 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
527 Cell(it.x() + 0, it.y() + 1, it.z() + -1), blocks, *
block);
528 element.flux_0 = InitialisatonAdditionalData[0];
529 element.flux_1 = InitialisatonAdditionalData[1];
530 element.flux_2 = InitialisatonAdditionalData[2];
531 indexVectorAll.emplace_back(element);
532 if (
inner.contains(it.x(), it.y(), it.z()))
533 indexVectorInner.emplace_back(element);
535 indexVectorOuter.emplace_back(element);
539 for (
auto it = flagField->beginWithGhostLayerXYZ(
540 cell_idx_c(flagField->nrOfGhostLayers() - 1));
541 it != flagField->end(); ++it) {
542 if (!isFlagSet(it, domainFlag))
545 if (isFlagSet(it.neighbor(0, -1, -1, 0), boundaryFlag)) {
546 auto element =
IndexInfo(it.x(), it.y(), it.z(), 16);
547 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
548 Cell(it.x() + 0, it.y() + -1, it.z() + -1), blocks, *
block);
549 element.flux_0 = InitialisatonAdditionalData[0];
550 element.flux_1 = InitialisatonAdditionalData[1];
551 element.flux_2 = InitialisatonAdditionalData[2];
552 indexVectorAll.emplace_back(element);
553 if (
inner.contains(it.x(), it.y(), it.z()))
554 indexVectorInner.emplace_back(element);
556 indexVectorOuter.emplace_back(element);
560 for (
auto it = flagField->beginWithGhostLayerXYZ(
561 cell_idx_c(flagField->nrOfGhostLayers() - 1));
562 it != flagField->end(); ++it) {
563 if (!isFlagSet(it, domainFlag))
566 if (isFlagSet(it.neighbor(-1, 0, -1, 0), boundaryFlag)) {
567 auto element =
IndexInfo(it.x(), it.y(), it.z(), 17);
568 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
569 Cell(it.x() + -1, it.y() + 0, it.z() + -1), blocks, *
block);
570 element.flux_0 = InitialisatonAdditionalData[0];
571 element.flux_1 = InitialisatonAdditionalData[1];
572 element.flux_2 = InitialisatonAdditionalData[2];
573 indexVectorAll.emplace_back(element);
574 if (
inner.contains(it.x(), it.y(), it.z()))
575 indexVectorInner.emplace_back(element);
577 indexVectorOuter.emplace_back(element);
581 for (
auto it = flagField->beginWithGhostLayerXYZ(
582 cell_idx_c(flagField->nrOfGhostLayers() - 1));
583 it != flagField->end(); ++it) {
584 if (!isFlagSet(it, domainFlag))
587 if (isFlagSet(it.neighbor(1, 0, -1, 0), boundaryFlag)) {
588 auto element =
IndexInfo(it.x(), it.y(), it.z(), 18);
589 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
590 Cell(it.x() + 1, it.y() + 0, it.z() + -1), blocks, *
block);
591 element.flux_0 = InitialisatonAdditionalData[0];
592 element.flux_1 = InitialisatonAdditionalData[1];
593 element.flux_2 = InitialisatonAdditionalData[2];
594 indexVectorAll.emplace_back(element);
595 if (
inner.contains(it.x(), it.y(), it.z()))
596 indexVectorInner.emplace_back(element);
598 indexVectorOuter.emplace_back(element);
602 for (
auto it = flagField->beginWithGhostLayerXYZ(
603 cell_idx_c(flagField->nrOfGhostLayers() - 1));
604 it != flagField->end(); ++it) {
605 if (!isFlagSet(it, domainFlag))
608 if (isFlagSet(it.neighbor(1, 1, 1, 0), boundaryFlag)) {
609 auto element =
IndexInfo(it.x(), it.y(), it.z(), 19);
610 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
611 Cell(it.x() + 1, it.y() + 1, it.z() + 1), blocks, *
block);
612 element.flux_0 = InitialisatonAdditionalData[0];
613 element.flux_1 = InitialisatonAdditionalData[1];
614 element.flux_2 = InitialisatonAdditionalData[2];
615 indexVectorAll.emplace_back(element);
616 if (
inner.contains(it.x(), it.y(), it.z()))
617 indexVectorInner.emplace_back(element);
619 indexVectorOuter.emplace_back(element);
623 for (
auto it = flagField->beginWithGhostLayerXYZ(
624 cell_idx_c(flagField->nrOfGhostLayers() - 1));
625 it != flagField->end(); ++it) {
626 if (!isFlagSet(it, domainFlag))
629 if (isFlagSet(it.neighbor(-1, 1, 1, 0), boundaryFlag)) {
630 auto element =
IndexInfo(it.x(), it.y(), it.z(), 20);
631 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
632 Cell(it.x() + -1, it.y() + 1, it.z() + 1), blocks, *
block);
633 element.flux_0 = InitialisatonAdditionalData[0];
634 element.flux_1 = InitialisatonAdditionalData[1];
635 element.flux_2 = InitialisatonAdditionalData[2];
636 indexVectorAll.emplace_back(element);
637 if (
inner.contains(it.x(), it.y(), it.z()))
638 indexVectorInner.emplace_back(element);
640 indexVectorOuter.emplace_back(element);
644 for (
auto it = flagField->beginWithGhostLayerXYZ(
645 cell_idx_c(flagField->nrOfGhostLayers() - 1));
646 it != flagField->end(); ++it) {
647 if (!isFlagSet(it, domainFlag))
650 if (isFlagSet(it.neighbor(1, -1, 1, 0), boundaryFlag)) {
651 auto element =
IndexInfo(it.x(), it.y(), it.z(), 21);
652 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
653 Cell(it.x() + 1, it.y() + -1, it.z() + 1), blocks, *
block);
654 element.flux_0 = InitialisatonAdditionalData[0];
655 element.flux_1 = InitialisatonAdditionalData[1];
656 element.flux_2 = InitialisatonAdditionalData[2];
657 indexVectorAll.emplace_back(element);
658 if (
inner.contains(it.x(), it.y(), it.z()))
659 indexVectorInner.emplace_back(element);
661 indexVectorOuter.emplace_back(element);
665 for (
auto it = flagField->beginWithGhostLayerXYZ(
666 cell_idx_c(flagField->nrOfGhostLayers() - 1));
667 it != flagField->end(); ++it) {
668 if (!isFlagSet(it, domainFlag))
671 if (isFlagSet(it.neighbor(-1, -1, 1, 0), boundaryFlag)) {
672 auto element =
IndexInfo(it.x(), it.y(), it.z(), 22);
673 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
674 Cell(it.x() + -1, it.y() + -1, it.z() + 1), blocks, *
block);
675 element.flux_0 = InitialisatonAdditionalData[0];
676 element.flux_1 = InitialisatonAdditionalData[1];
677 element.flux_2 = InitialisatonAdditionalData[2];
678 indexVectorAll.emplace_back(element);
679 if (
inner.contains(it.x(), it.y(), it.z()))
680 indexVectorInner.emplace_back(element);
682 indexVectorOuter.emplace_back(element);
686 for (
auto it = flagField->beginWithGhostLayerXYZ(
687 cell_idx_c(flagField->nrOfGhostLayers() - 1));
688 it != flagField->end(); ++it) {
689 if (!isFlagSet(it, domainFlag))
692 if (isFlagSet(it.neighbor(1, 1, -1, 0), boundaryFlag)) {
693 auto element =
IndexInfo(it.x(), it.y(), it.z(), 23);
694 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
695 Cell(it.x() + 1, it.y() + 1, it.z() + -1), blocks, *
block);
696 element.flux_0 = InitialisatonAdditionalData[0];
697 element.flux_1 = InitialisatonAdditionalData[1];
698 element.flux_2 = InitialisatonAdditionalData[2];
699 indexVectorAll.emplace_back(element);
700 if (
inner.contains(it.x(), it.y(), it.z()))
701 indexVectorInner.emplace_back(element);
703 indexVectorOuter.emplace_back(element);
707 for (
auto it = flagField->beginWithGhostLayerXYZ(
708 cell_idx_c(flagField->nrOfGhostLayers() - 1));
709 it != flagField->end(); ++it) {
710 if (!isFlagSet(it, domainFlag))
713 if (isFlagSet(it.neighbor(-1, 1, -1, 0), boundaryFlag)) {
714 auto element =
IndexInfo(it.x(), it.y(), it.z(), 24);
715 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
716 Cell(it.x() + -1, it.y() + 1, it.z() + -1), blocks, *
block);
717 element.flux_0 = InitialisatonAdditionalData[0];
718 element.flux_1 = InitialisatonAdditionalData[1];
719 element.flux_2 = InitialisatonAdditionalData[2];
720 indexVectorAll.emplace_back(element);
721 if (
inner.contains(it.x(), it.y(), it.z()))
722 indexVectorInner.emplace_back(element);
724 indexVectorOuter.emplace_back(element);
728 for (
auto it = flagField->beginWithGhostLayerXYZ(
729 cell_idx_c(flagField->nrOfGhostLayers() - 1));
730 it != flagField->end(); ++it) {
731 if (!isFlagSet(it, domainFlag))
734 if (isFlagSet(it.neighbor(1, -1, -1, 0), boundaryFlag)) {
735 auto element =
IndexInfo(it.x(), it.y(), it.z(), 25);
736 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
737 Cell(it.x() + 1, it.y() + -1, it.z() + -1), blocks, *
block);
738 element.flux_0 = InitialisatonAdditionalData[0];
739 element.flux_1 = InitialisatonAdditionalData[1];
740 element.flux_2 = InitialisatonAdditionalData[2];
741 indexVectorAll.emplace_back(element);
742 if (
inner.contains(it.x(), it.y(), it.z()))
743 indexVectorInner.emplace_back(element);
745 indexVectorOuter.emplace_back(element);
749 for (
auto it = flagField->beginWithGhostLayerXYZ(
750 cell_idx_c(flagField->nrOfGhostLayers() - 1));
751 it != flagField->end(); ++it) {
752 if (!isFlagSet(it, domainFlag))
755 if (isFlagSet(it.neighbor(-1, -1, -1, 0), boundaryFlag)) {
756 auto element =
IndexInfo(it.x(), it.y(), it.z(), 26);
757 Vector3<float> InitialisatonAdditionalData = elementInitaliser(
758 Cell(it.x() + -1, it.y() + -1, it.z() + -1), blocks, *
block);
759 element.flux_0 = InitialisatonAdditionalData[0];
760 element.flux_1 = InitialisatonAdditionalData[1];
761 element.flux_2 = InitialisatonAdditionalData[2];
762 indexVectorAll.emplace_back(element);
763 if (
inner.contains(it.x(), it.y(), it.z()))
764 indexVectorInner.emplace_back(element);
766 indexVectorOuter.emplace_back(element);