145 IBlock *
block, ConstBlockDataID flagFieldID,
146 FlagUID boundaryFlagUID, FlagUID domainFlagUID) {
152 auto *flagField =
block->getData<FlagField_T>(flagFieldID);
154 if (!(flagField->flagExists(boundaryFlagUID) &&
155 flagField->flagExists(domainFlagUID)))
158 auto boundaryFlag = flagField->getFlag(boundaryFlagUID);
159 auto domainFlag = flagField->getFlag(domainFlagUID);
161 auto inner = flagField->xyzSize();
162 inner.expand(cell_idx_t(-1));
164 indexVectorAll.clear();
165 indexVectorInner.clear();
166 indexVectorOuter.clear();
168 for (
auto it = flagField->beginWithGhostLayerXYZ(
169 cell_idx_c(flagField->nrOfGhostLayers() - 1));
170 it != flagField->end(); ++it) {
171 if (!isFlagSet(it, domainFlag))
174 if (isFlagSet(it.neighbor(0, 0, 0, 0), boundaryFlag)) {
175 auto element =
IndexInfo(it.x(), it.y(), it.z(), 0);
176 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
177 Cell(it.x() + 0, it.y() + 0, it.z() + 0), blocks, *
block);
178 element.flux_0 = InitialisatonAdditionalData[0];
179 element.flux_1 = InitialisatonAdditionalData[1];
180 element.flux_2 = InitialisatonAdditionalData[2];
181 indexVectorAll.emplace_back(element);
182 if (
inner.contains(it.x(), it.y(), it.z()))
183 indexVectorInner.emplace_back(element);
185 indexVectorOuter.emplace_back(element);
189 for (
auto it = flagField->beginWithGhostLayerXYZ(
190 cell_idx_c(flagField->nrOfGhostLayers() - 1));
191 it != flagField->end(); ++it) {
192 if (!isFlagSet(it, domainFlag))
195 if (isFlagSet(it.neighbor(0, 1, 0, 0), boundaryFlag)) {
196 auto element =
IndexInfo(it.x(), it.y(), it.z(), 1);
197 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
198 Cell(it.x() + 0, it.y() + 1, it.z() + 0), blocks, *
block);
199 element.flux_0 = InitialisatonAdditionalData[0];
200 element.flux_1 = InitialisatonAdditionalData[1];
201 element.flux_2 = InitialisatonAdditionalData[2];
202 indexVectorAll.emplace_back(element);
203 if (
inner.contains(it.x(), it.y(), it.z()))
204 indexVectorInner.emplace_back(element);
206 indexVectorOuter.emplace_back(element);
210 for (
auto it = flagField->beginWithGhostLayerXYZ(
211 cell_idx_c(flagField->nrOfGhostLayers() - 1));
212 it != flagField->end(); ++it) {
213 if (!isFlagSet(it, domainFlag))
216 if (isFlagSet(it.neighbor(0, -1, 0, 0), boundaryFlag)) {
217 auto element =
IndexInfo(it.x(), it.y(), it.z(), 2);
218 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
219 Cell(it.x() + 0, it.y() + -1, it.z() + 0), blocks, *
block);
220 element.flux_0 = InitialisatonAdditionalData[0];
221 element.flux_1 = InitialisatonAdditionalData[1];
222 element.flux_2 = InitialisatonAdditionalData[2];
223 indexVectorAll.emplace_back(element);
224 if (
inner.contains(it.x(), it.y(), it.z()))
225 indexVectorInner.emplace_back(element);
227 indexVectorOuter.emplace_back(element);
231 for (
auto it = flagField->beginWithGhostLayerXYZ(
232 cell_idx_c(flagField->nrOfGhostLayers() - 1));
233 it != flagField->end(); ++it) {
234 if (!isFlagSet(it, domainFlag))
237 if (isFlagSet(it.neighbor(-1, 0, 0, 0), boundaryFlag)) {
238 auto element =
IndexInfo(it.x(), it.y(), it.z(), 3);
239 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
240 Cell(it.x() + -1, it.y() + 0, it.z() + 0), blocks, *
block);
241 element.flux_0 = InitialisatonAdditionalData[0];
242 element.flux_1 = InitialisatonAdditionalData[1];
243 element.flux_2 = InitialisatonAdditionalData[2];
244 indexVectorAll.emplace_back(element);
245 if (
inner.contains(it.x(), it.y(), it.z()))
246 indexVectorInner.emplace_back(element);
248 indexVectorOuter.emplace_back(element);
252 for (
auto it = flagField->beginWithGhostLayerXYZ(
253 cell_idx_c(flagField->nrOfGhostLayers() - 1));
254 it != flagField->end(); ++it) {
255 if (!isFlagSet(it, domainFlag))
258 if (isFlagSet(it.neighbor(1, 0, 0, 0), boundaryFlag)) {
259 auto element =
IndexInfo(it.x(), it.y(), it.z(), 4);
260 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
261 Cell(it.x() + 1, it.y() + 0, it.z() + 0), blocks, *
block);
262 element.flux_0 = InitialisatonAdditionalData[0];
263 element.flux_1 = InitialisatonAdditionalData[1];
264 element.flux_2 = InitialisatonAdditionalData[2];
265 indexVectorAll.emplace_back(element);
266 if (
inner.contains(it.x(), it.y(), it.z()))
267 indexVectorInner.emplace_back(element);
269 indexVectorOuter.emplace_back(element);
273 for (
auto it = flagField->beginWithGhostLayerXYZ(
274 cell_idx_c(flagField->nrOfGhostLayers() - 1));
275 it != flagField->end(); ++it) {
276 if (!isFlagSet(it, domainFlag))
279 if (isFlagSet(it.neighbor(0, 0, 1, 0), boundaryFlag)) {
280 auto element =
IndexInfo(it.x(), it.y(), it.z(), 5);
281 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
282 Cell(it.x() + 0, it.y() + 0, it.z() + 1), blocks, *
block);
283 element.flux_0 = InitialisatonAdditionalData[0];
284 element.flux_1 = InitialisatonAdditionalData[1];
285 element.flux_2 = InitialisatonAdditionalData[2];
286 indexVectorAll.emplace_back(element);
287 if (
inner.contains(it.x(), it.y(), it.z()))
288 indexVectorInner.emplace_back(element);
290 indexVectorOuter.emplace_back(element);
294 for (
auto it = flagField->beginWithGhostLayerXYZ(
295 cell_idx_c(flagField->nrOfGhostLayers() - 1));
296 it != flagField->end(); ++it) {
297 if (!isFlagSet(it, domainFlag))
300 if (isFlagSet(it.neighbor(0, 0, -1, 0), boundaryFlag)) {
301 auto element =
IndexInfo(it.x(), it.y(), it.z(), 6);
302 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
303 Cell(it.x() + 0, it.y() + 0, it.z() + -1), blocks, *
block);
304 element.flux_0 = InitialisatonAdditionalData[0];
305 element.flux_1 = InitialisatonAdditionalData[1];
306 element.flux_2 = InitialisatonAdditionalData[2];
307 indexVectorAll.emplace_back(element);
308 if (
inner.contains(it.x(), it.y(), it.z()))
309 indexVectorInner.emplace_back(element);
311 indexVectorOuter.emplace_back(element);
315 for (
auto it = flagField->beginWithGhostLayerXYZ(
316 cell_idx_c(flagField->nrOfGhostLayers() - 1));
317 it != flagField->end(); ++it) {
318 if (!isFlagSet(it, domainFlag))
321 if (isFlagSet(it.neighbor(-1, 1, 0, 0), boundaryFlag)) {
322 auto element =
IndexInfo(it.x(), it.y(), it.z(), 7);
323 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
324 Cell(it.x() + -1, it.y() + 1, it.z() + 0), blocks, *
block);
325 element.flux_0 = InitialisatonAdditionalData[0];
326 element.flux_1 = InitialisatonAdditionalData[1];
327 element.flux_2 = InitialisatonAdditionalData[2];
328 indexVectorAll.emplace_back(element);
329 if (
inner.contains(it.x(), it.y(), it.z()))
330 indexVectorInner.emplace_back(element);
332 indexVectorOuter.emplace_back(element);
336 for (
auto it = flagField->beginWithGhostLayerXYZ(
337 cell_idx_c(flagField->nrOfGhostLayers() - 1));
338 it != flagField->end(); ++it) {
339 if (!isFlagSet(it, domainFlag))
342 if (isFlagSet(it.neighbor(1, 1, 0, 0), boundaryFlag)) {
343 auto element =
IndexInfo(it.x(), it.y(), it.z(), 8);
344 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
345 Cell(it.x() + 1, it.y() + 1, it.z() + 0), blocks, *
block);
346 element.flux_0 = InitialisatonAdditionalData[0];
347 element.flux_1 = InitialisatonAdditionalData[1];
348 element.flux_2 = InitialisatonAdditionalData[2];
349 indexVectorAll.emplace_back(element);
350 if (
inner.contains(it.x(), it.y(), it.z()))
351 indexVectorInner.emplace_back(element);
353 indexVectorOuter.emplace_back(element);
357 for (
auto it = flagField->beginWithGhostLayerXYZ(
358 cell_idx_c(flagField->nrOfGhostLayers() - 1));
359 it != flagField->end(); ++it) {
360 if (!isFlagSet(it, domainFlag))
363 if (isFlagSet(it.neighbor(-1, -1, 0, 0), boundaryFlag)) {
364 auto element =
IndexInfo(it.x(), it.y(), it.z(), 9);
365 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
366 Cell(it.x() + -1, it.y() + -1, it.z() + 0), blocks, *
block);
367 element.flux_0 = InitialisatonAdditionalData[0];
368 element.flux_1 = InitialisatonAdditionalData[1];
369 element.flux_2 = InitialisatonAdditionalData[2];
370 indexVectorAll.emplace_back(element);
371 if (
inner.contains(it.x(), it.y(), it.z()))
372 indexVectorInner.emplace_back(element);
374 indexVectorOuter.emplace_back(element);
378 for (
auto it = flagField->beginWithGhostLayerXYZ(
379 cell_idx_c(flagField->nrOfGhostLayers() - 1));
380 it != flagField->end(); ++it) {
381 if (!isFlagSet(it, domainFlag))
384 if (isFlagSet(it.neighbor(1, -1, 0, 0), boundaryFlag)) {
385 auto element =
IndexInfo(it.x(), it.y(), it.z(), 10);
386 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
387 Cell(it.x() + 1, it.y() + -1, it.z() + 0), blocks, *
block);
388 element.flux_0 = InitialisatonAdditionalData[0];
389 element.flux_1 = InitialisatonAdditionalData[1];
390 element.flux_2 = InitialisatonAdditionalData[2];
391 indexVectorAll.emplace_back(element);
392 if (
inner.contains(it.x(), it.y(), it.z()))
393 indexVectorInner.emplace_back(element);
395 indexVectorOuter.emplace_back(element);
399 for (
auto it = flagField->beginWithGhostLayerXYZ(
400 cell_idx_c(flagField->nrOfGhostLayers() - 1));
401 it != flagField->end(); ++it) {
402 if (!isFlagSet(it, domainFlag))
405 if (isFlagSet(it.neighbor(0, 1, 1, 0), boundaryFlag)) {
406 auto element =
IndexInfo(it.x(), it.y(), it.z(), 11);
407 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
408 Cell(it.x() + 0, it.y() + 1, it.z() + 1), blocks, *
block);
409 element.flux_0 = InitialisatonAdditionalData[0];
410 element.flux_1 = InitialisatonAdditionalData[1];
411 element.flux_2 = InitialisatonAdditionalData[2];
412 indexVectorAll.emplace_back(element);
413 if (
inner.contains(it.x(), it.y(), it.z()))
414 indexVectorInner.emplace_back(element);
416 indexVectorOuter.emplace_back(element);
420 for (
auto it = flagField->beginWithGhostLayerXYZ(
421 cell_idx_c(flagField->nrOfGhostLayers() - 1));
422 it != flagField->end(); ++it) {
423 if (!isFlagSet(it, domainFlag))
426 if (isFlagSet(it.neighbor(0, -1, 1, 0), boundaryFlag)) {
427 auto element =
IndexInfo(it.x(), it.y(), it.z(), 12);
428 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
429 Cell(it.x() + 0, it.y() + -1, it.z() + 1), blocks, *
block);
430 element.flux_0 = InitialisatonAdditionalData[0];
431 element.flux_1 = InitialisatonAdditionalData[1];
432 element.flux_2 = InitialisatonAdditionalData[2];
433 indexVectorAll.emplace_back(element);
434 if (
inner.contains(it.x(), it.y(), it.z()))
435 indexVectorInner.emplace_back(element);
437 indexVectorOuter.emplace_back(element);
441 for (
auto it = flagField->beginWithGhostLayerXYZ(
442 cell_idx_c(flagField->nrOfGhostLayers() - 1));
443 it != flagField->end(); ++it) {
444 if (!isFlagSet(it, domainFlag))
447 if (isFlagSet(it.neighbor(-1, 0, 1, 0), boundaryFlag)) {
448 auto element =
IndexInfo(it.x(), it.y(), it.z(), 13);
449 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
450 Cell(it.x() + -1, it.y() + 0, it.z() + 1), blocks, *
block);
451 element.flux_0 = InitialisatonAdditionalData[0];
452 element.flux_1 = InitialisatonAdditionalData[1];
453 element.flux_2 = InitialisatonAdditionalData[2];
454 indexVectorAll.emplace_back(element);
455 if (
inner.contains(it.x(), it.y(), it.z()))
456 indexVectorInner.emplace_back(element);
458 indexVectorOuter.emplace_back(element);
462 for (
auto it = flagField->beginWithGhostLayerXYZ(
463 cell_idx_c(flagField->nrOfGhostLayers() - 1));
464 it != flagField->end(); ++it) {
465 if (!isFlagSet(it, domainFlag))
468 if (isFlagSet(it.neighbor(1, 0, 1, 0), boundaryFlag)) {
469 auto element =
IndexInfo(it.x(), it.y(), it.z(), 14);
470 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
471 Cell(it.x() + 1, it.y() + 0, it.z() + 1), blocks, *
block);
472 element.flux_0 = InitialisatonAdditionalData[0];
473 element.flux_1 = InitialisatonAdditionalData[1];
474 element.flux_2 = InitialisatonAdditionalData[2];
475 indexVectorAll.emplace_back(element);
476 if (
inner.contains(it.x(), it.y(), it.z()))
477 indexVectorInner.emplace_back(element);
479 indexVectorOuter.emplace_back(element);
483 for (
auto it = flagField->beginWithGhostLayerXYZ(
484 cell_idx_c(flagField->nrOfGhostLayers() - 1));
485 it != flagField->end(); ++it) {
486 if (!isFlagSet(it, domainFlag))
489 if (isFlagSet(it.neighbor(0, 1, -1, 0), boundaryFlag)) {
490 auto element =
IndexInfo(it.x(), it.y(), it.z(), 15);
491 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
492 Cell(it.x() + 0, it.y() + 1, it.z() + -1), blocks, *
block);
493 element.flux_0 = InitialisatonAdditionalData[0];
494 element.flux_1 = InitialisatonAdditionalData[1];
495 element.flux_2 = InitialisatonAdditionalData[2];
496 indexVectorAll.emplace_back(element);
497 if (
inner.contains(it.x(), it.y(), it.z()))
498 indexVectorInner.emplace_back(element);
500 indexVectorOuter.emplace_back(element);
504 for (
auto it = flagField->beginWithGhostLayerXYZ(
505 cell_idx_c(flagField->nrOfGhostLayers() - 1));
506 it != flagField->end(); ++it) {
507 if (!isFlagSet(it, domainFlag))
510 if (isFlagSet(it.neighbor(0, -1, -1, 0), boundaryFlag)) {
511 auto element =
IndexInfo(it.x(), it.y(), it.z(), 16);
512 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
513 Cell(it.x() + 0, it.y() + -1, it.z() + -1), blocks, *
block);
514 element.flux_0 = InitialisatonAdditionalData[0];
515 element.flux_1 = InitialisatonAdditionalData[1];
516 element.flux_2 = InitialisatonAdditionalData[2];
517 indexVectorAll.emplace_back(element);
518 if (
inner.contains(it.x(), it.y(), it.z()))
519 indexVectorInner.emplace_back(element);
521 indexVectorOuter.emplace_back(element);
525 for (
auto it = flagField->beginWithGhostLayerXYZ(
526 cell_idx_c(flagField->nrOfGhostLayers() - 1));
527 it != flagField->end(); ++it) {
528 if (!isFlagSet(it, domainFlag))
531 if (isFlagSet(it.neighbor(-1, 0, -1, 0), boundaryFlag)) {
532 auto element =
IndexInfo(it.x(), it.y(), it.z(), 17);
533 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
534 Cell(it.x() + -1, it.y() + 0, it.z() + -1), blocks, *
block);
535 element.flux_0 = InitialisatonAdditionalData[0];
536 element.flux_1 = InitialisatonAdditionalData[1];
537 element.flux_2 = InitialisatonAdditionalData[2];
538 indexVectorAll.emplace_back(element);
539 if (
inner.contains(it.x(), it.y(), it.z()))
540 indexVectorInner.emplace_back(element);
542 indexVectorOuter.emplace_back(element);
546 for (
auto it = flagField->beginWithGhostLayerXYZ(
547 cell_idx_c(flagField->nrOfGhostLayers() - 1));
548 it != flagField->end(); ++it) {
549 if (!isFlagSet(it, domainFlag))
552 if (isFlagSet(it.neighbor(1, 0, -1, 0), boundaryFlag)) {
553 auto element =
IndexInfo(it.x(), it.y(), it.z(), 18);
554 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
555 Cell(it.x() + 1, it.y() + 0, it.z() + -1), blocks, *
block);
556 element.flux_0 = InitialisatonAdditionalData[0];
557 element.flux_1 = InitialisatonAdditionalData[1];
558 element.flux_2 = InitialisatonAdditionalData[2];
559 indexVectorAll.emplace_back(element);
560 if (
inner.contains(it.x(), it.y(), it.z()))
561 indexVectorInner.emplace_back(element);
563 indexVectorOuter.emplace_back(element);
567 for (
auto it = flagField->beginWithGhostLayerXYZ(
568 cell_idx_c(flagField->nrOfGhostLayers() - 1));
569 it != flagField->end(); ++it) {
570 if (!isFlagSet(it, domainFlag))
573 if (isFlagSet(it.neighbor(1, 1, 1, 0), boundaryFlag)) {
574 auto element =
IndexInfo(it.x(), it.y(), it.z(), 19);
575 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
576 Cell(it.x() + 1, it.y() + 1, it.z() + 1), blocks, *
block);
577 element.flux_0 = InitialisatonAdditionalData[0];
578 element.flux_1 = InitialisatonAdditionalData[1];
579 element.flux_2 = InitialisatonAdditionalData[2];
580 indexVectorAll.emplace_back(element);
581 if (
inner.contains(it.x(), it.y(), it.z()))
582 indexVectorInner.emplace_back(element);
584 indexVectorOuter.emplace_back(element);
588 for (
auto it = flagField->beginWithGhostLayerXYZ(
589 cell_idx_c(flagField->nrOfGhostLayers() - 1));
590 it != flagField->end(); ++it) {
591 if (!isFlagSet(it, domainFlag))
594 if (isFlagSet(it.neighbor(-1, 1, 1, 0), boundaryFlag)) {
595 auto element =
IndexInfo(it.x(), it.y(), it.z(), 20);
596 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
597 Cell(it.x() + -1, it.y() + 1, it.z() + 1), blocks, *
block);
598 element.flux_0 = InitialisatonAdditionalData[0];
599 element.flux_1 = InitialisatonAdditionalData[1];
600 element.flux_2 = InitialisatonAdditionalData[2];
601 indexVectorAll.emplace_back(element);
602 if (
inner.contains(it.x(), it.y(), it.z()))
603 indexVectorInner.emplace_back(element);
605 indexVectorOuter.emplace_back(element);
609 for (
auto it = flagField->beginWithGhostLayerXYZ(
610 cell_idx_c(flagField->nrOfGhostLayers() - 1));
611 it != flagField->end(); ++it) {
612 if (!isFlagSet(it, domainFlag))
615 if (isFlagSet(it.neighbor(1, -1, 1, 0), boundaryFlag)) {
616 auto element =
IndexInfo(it.x(), it.y(), it.z(), 21);
617 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
618 Cell(it.x() + 1, it.y() + -1, it.z() + 1), blocks, *
block);
619 element.flux_0 = InitialisatonAdditionalData[0];
620 element.flux_1 = InitialisatonAdditionalData[1];
621 element.flux_2 = InitialisatonAdditionalData[2];
622 indexVectorAll.emplace_back(element);
623 if (
inner.contains(it.x(), it.y(), it.z()))
624 indexVectorInner.emplace_back(element);
626 indexVectorOuter.emplace_back(element);
630 for (
auto it = flagField->beginWithGhostLayerXYZ(
631 cell_idx_c(flagField->nrOfGhostLayers() - 1));
632 it != flagField->end(); ++it) {
633 if (!isFlagSet(it, domainFlag))
636 if (isFlagSet(it.neighbor(-1, -1, 1, 0), boundaryFlag)) {
637 auto element =
IndexInfo(it.x(), it.y(), it.z(), 22);
638 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
639 Cell(it.x() + -1, it.y() + -1, it.z() + 1), blocks, *
block);
640 element.flux_0 = InitialisatonAdditionalData[0];
641 element.flux_1 = InitialisatonAdditionalData[1];
642 element.flux_2 = InitialisatonAdditionalData[2];
643 indexVectorAll.emplace_back(element);
644 if (
inner.contains(it.x(), it.y(), it.z()))
645 indexVectorInner.emplace_back(element);
647 indexVectorOuter.emplace_back(element);
651 for (
auto it = flagField->beginWithGhostLayerXYZ(
652 cell_idx_c(flagField->nrOfGhostLayers() - 1));
653 it != flagField->end(); ++it) {
654 if (!isFlagSet(it, domainFlag))
657 if (isFlagSet(it.neighbor(1, 1, -1, 0), boundaryFlag)) {
658 auto element =
IndexInfo(it.x(), it.y(), it.z(), 23);
659 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
660 Cell(it.x() + 1, it.y() + 1, it.z() + -1), blocks, *
block);
661 element.flux_0 = InitialisatonAdditionalData[0];
662 element.flux_1 = InitialisatonAdditionalData[1];
663 element.flux_2 = InitialisatonAdditionalData[2];
664 indexVectorAll.emplace_back(element);
665 if (
inner.contains(it.x(), it.y(), it.z()))
666 indexVectorInner.emplace_back(element);
668 indexVectorOuter.emplace_back(element);
672 for (
auto it = flagField->beginWithGhostLayerXYZ(
673 cell_idx_c(flagField->nrOfGhostLayers() - 1));
674 it != flagField->end(); ++it) {
675 if (!isFlagSet(it, domainFlag))
678 if (isFlagSet(it.neighbor(-1, 1, -1, 0), boundaryFlag)) {
679 auto element =
IndexInfo(it.x(), it.y(), it.z(), 24);
680 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
681 Cell(it.x() + -1, it.y() + 1, it.z() + -1), blocks, *
block);
682 element.flux_0 = InitialisatonAdditionalData[0];
683 element.flux_1 = InitialisatonAdditionalData[1];
684 element.flux_2 = InitialisatonAdditionalData[2];
685 indexVectorAll.emplace_back(element);
686 if (
inner.contains(it.x(), it.y(), it.z()))
687 indexVectorInner.emplace_back(element);
689 indexVectorOuter.emplace_back(element);
693 for (
auto it = flagField->beginWithGhostLayerXYZ(
694 cell_idx_c(flagField->nrOfGhostLayers() - 1));
695 it != flagField->end(); ++it) {
696 if (!isFlagSet(it, domainFlag))
699 if (isFlagSet(it.neighbor(1, -1, -1, 0), boundaryFlag)) {
700 auto element =
IndexInfo(it.x(), it.y(), it.z(), 25);
701 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
702 Cell(it.x() + 1, it.y() + -1, it.z() + -1), blocks, *
block);
703 element.flux_0 = InitialisatonAdditionalData[0];
704 element.flux_1 = InitialisatonAdditionalData[1];
705 element.flux_2 = InitialisatonAdditionalData[2];
706 indexVectorAll.emplace_back(element);
707 if (
inner.contains(it.x(), it.y(), it.z()))
708 indexVectorInner.emplace_back(element);
710 indexVectorOuter.emplace_back(element);
714 for (
auto it = flagField->beginWithGhostLayerXYZ(
715 cell_idx_c(flagField->nrOfGhostLayers() - 1));
716 it != flagField->end(); ++it) {
717 if (!isFlagSet(it, domainFlag))
720 if (isFlagSet(it.neighbor(-1, -1, -1, 0), boundaryFlag)) {
721 auto element =
IndexInfo(it.x(), it.y(), it.z(), 26);
722 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
723 Cell(it.x() + -1, it.y() + -1, it.z() + -1), blocks, *
block);
724 element.flux_0 = InitialisatonAdditionalData[0];
725 element.flux_1 = InitialisatonAdditionalData[1];
726 element.flux_2 = InitialisatonAdditionalData[2];
727 indexVectorAll.emplace_back(element);
728 if (
inner.contains(it.x(), it.y(), it.z()))
729 indexVectorInner.emplace_back(element);
731 indexVectorOuter.emplace_back(element);