147 IBlock *
block, ConstBlockDataID flagFieldID,
148 FlagUID boundaryFlagUID, FlagUID domainFlagUID) {
154 auto *flagField =
block->getData<FlagField_T>(flagFieldID);
156 if (!(flagField->flagExists(boundaryFlagUID) &&
157 flagField->flagExists(domainFlagUID)))
160 auto boundaryFlag = flagField->getFlag(boundaryFlagUID);
161 auto domainFlag = flagField->getFlag(domainFlagUID);
163 auto inner = flagField->xyzSize();
164 inner.expand(cell_idx_t(-1));
166 indexVectorAll.clear();
167 indexVectorInner.clear();
168 indexVectorOuter.clear();
170 for (
auto it = flagField->beginWithGhostLayerXYZ(
171 cell_idx_c(flagField->nrOfGhostLayers() - 1));
172 it != flagField->end(); ++it) {
173 if (!isFlagSet(it, domainFlag))
176 if (isFlagSet(it.neighbor(0, 0, 0, 0), boundaryFlag)) {
177 auto element =
IndexInfo(it.x(), it.y(), it.z(), 0);
178 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
179 Cell(it.x() + 0, it.y() + 0, it.z() + 0), blocks, *
block);
180 element.flux_0 = InitialisatonAdditionalData[0];
181 element.flux_1 = InitialisatonAdditionalData[1];
182 element.flux_2 = InitialisatonAdditionalData[2];
183 indexVectorAll.emplace_back(element);
184 if (
inner.contains(it.x(), it.y(), it.z()))
185 indexVectorInner.emplace_back(element);
187 indexVectorOuter.emplace_back(element);
191 for (
auto it = flagField->beginWithGhostLayerXYZ(
192 cell_idx_c(flagField->nrOfGhostLayers() - 1));
193 it != flagField->end(); ++it) {
194 if (!isFlagSet(it, domainFlag))
197 if (isFlagSet(it.neighbor(0, 1, 0, 0), boundaryFlag)) {
198 auto element =
IndexInfo(it.x(), it.y(), it.z(), 1);
199 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
200 Cell(it.x() + 0, it.y() + 1, it.z() + 0), blocks, *
block);
201 element.flux_0 = InitialisatonAdditionalData[0];
202 element.flux_1 = InitialisatonAdditionalData[1];
203 element.flux_2 = InitialisatonAdditionalData[2];
204 indexVectorAll.emplace_back(element);
205 if (
inner.contains(it.x(), it.y(), it.z()))
206 indexVectorInner.emplace_back(element);
208 indexVectorOuter.emplace_back(element);
212 for (
auto it = flagField->beginWithGhostLayerXYZ(
213 cell_idx_c(flagField->nrOfGhostLayers() - 1));
214 it != flagField->end(); ++it) {
215 if (!isFlagSet(it, domainFlag))
218 if (isFlagSet(it.neighbor(0, -1, 0, 0), boundaryFlag)) {
219 auto element =
IndexInfo(it.x(), it.y(), it.z(), 2);
220 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
221 Cell(it.x() + 0, it.y() + -1, it.z() + 0), blocks, *
block);
222 element.flux_0 = InitialisatonAdditionalData[0];
223 element.flux_1 = InitialisatonAdditionalData[1];
224 element.flux_2 = InitialisatonAdditionalData[2];
225 indexVectorAll.emplace_back(element);
226 if (
inner.contains(it.x(), it.y(), it.z()))
227 indexVectorInner.emplace_back(element);
229 indexVectorOuter.emplace_back(element);
233 for (
auto it = flagField->beginWithGhostLayerXYZ(
234 cell_idx_c(flagField->nrOfGhostLayers() - 1));
235 it != flagField->end(); ++it) {
236 if (!isFlagSet(it, domainFlag))
239 if (isFlagSet(it.neighbor(-1, 0, 0, 0), boundaryFlag)) {
240 auto element =
IndexInfo(it.x(), it.y(), it.z(), 3);
241 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
242 Cell(it.x() + -1, it.y() + 0, it.z() + 0), blocks, *
block);
243 element.flux_0 = InitialisatonAdditionalData[0];
244 element.flux_1 = InitialisatonAdditionalData[1];
245 element.flux_2 = InitialisatonAdditionalData[2];
246 indexVectorAll.emplace_back(element);
247 if (
inner.contains(it.x(), it.y(), it.z()))
248 indexVectorInner.emplace_back(element);
250 indexVectorOuter.emplace_back(element);
254 for (
auto it = flagField->beginWithGhostLayerXYZ(
255 cell_idx_c(flagField->nrOfGhostLayers() - 1));
256 it != flagField->end(); ++it) {
257 if (!isFlagSet(it, domainFlag))
260 if (isFlagSet(it.neighbor(1, 0, 0, 0), boundaryFlag)) {
261 auto element =
IndexInfo(it.x(), it.y(), it.z(), 4);
262 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
263 Cell(it.x() + 1, it.y() + 0, it.z() + 0), blocks, *
block);
264 element.flux_0 = InitialisatonAdditionalData[0];
265 element.flux_1 = InitialisatonAdditionalData[1];
266 element.flux_2 = InitialisatonAdditionalData[2];
267 indexVectorAll.emplace_back(element);
268 if (
inner.contains(it.x(), it.y(), it.z()))
269 indexVectorInner.emplace_back(element);
271 indexVectorOuter.emplace_back(element);
275 for (
auto it = flagField->beginWithGhostLayerXYZ(
276 cell_idx_c(flagField->nrOfGhostLayers() - 1));
277 it != flagField->end(); ++it) {
278 if (!isFlagSet(it, domainFlag))
281 if (isFlagSet(it.neighbor(0, 0, 1, 0), boundaryFlag)) {
282 auto element =
IndexInfo(it.x(), it.y(), it.z(), 5);
283 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
284 Cell(it.x() + 0, it.y() + 0, it.z() + 1), blocks, *
block);
285 element.flux_0 = InitialisatonAdditionalData[0];
286 element.flux_1 = InitialisatonAdditionalData[1];
287 element.flux_2 = InitialisatonAdditionalData[2];
288 indexVectorAll.emplace_back(element);
289 if (
inner.contains(it.x(), it.y(), it.z()))
290 indexVectorInner.emplace_back(element);
292 indexVectorOuter.emplace_back(element);
296 for (
auto it = flagField->beginWithGhostLayerXYZ(
297 cell_idx_c(flagField->nrOfGhostLayers() - 1));
298 it != flagField->end(); ++it) {
299 if (!isFlagSet(it, domainFlag))
302 if (isFlagSet(it.neighbor(0, 0, -1, 0), boundaryFlag)) {
303 auto element =
IndexInfo(it.x(), it.y(), it.z(), 6);
304 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
305 Cell(it.x() + 0, it.y() + 0, it.z() + -1), blocks, *
block);
306 element.flux_0 = InitialisatonAdditionalData[0];
307 element.flux_1 = InitialisatonAdditionalData[1];
308 element.flux_2 = InitialisatonAdditionalData[2];
309 indexVectorAll.emplace_back(element);
310 if (
inner.contains(it.x(), it.y(), it.z()))
311 indexVectorInner.emplace_back(element);
313 indexVectorOuter.emplace_back(element);
317 for (
auto it = flagField->beginWithGhostLayerXYZ(
318 cell_idx_c(flagField->nrOfGhostLayers() - 1));
319 it != flagField->end(); ++it) {
320 if (!isFlagSet(it, domainFlag))
323 if (isFlagSet(it.neighbor(-1, 1, 0, 0), boundaryFlag)) {
324 auto element =
IndexInfo(it.x(), it.y(), it.z(), 7);
325 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
326 Cell(it.x() + -1, it.y() + 1, it.z() + 0), blocks, *
block);
327 element.flux_0 = InitialisatonAdditionalData[0];
328 element.flux_1 = InitialisatonAdditionalData[1];
329 element.flux_2 = InitialisatonAdditionalData[2];
330 indexVectorAll.emplace_back(element);
331 if (
inner.contains(it.x(), it.y(), it.z()))
332 indexVectorInner.emplace_back(element);
334 indexVectorOuter.emplace_back(element);
338 for (
auto it = flagField->beginWithGhostLayerXYZ(
339 cell_idx_c(flagField->nrOfGhostLayers() - 1));
340 it != flagField->end(); ++it) {
341 if (!isFlagSet(it, domainFlag))
344 if (isFlagSet(it.neighbor(1, 1, 0, 0), boundaryFlag)) {
345 auto element =
IndexInfo(it.x(), it.y(), it.z(), 8);
346 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
347 Cell(it.x() + 1, it.y() + 1, it.z() + 0), blocks, *
block);
348 element.flux_0 = InitialisatonAdditionalData[0];
349 element.flux_1 = InitialisatonAdditionalData[1];
350 element.flux_2 = InitialisatonAdditionalData[2];
351 indexVectorAll.emplace_back(element);
352 if (
inner.contains(it.x(), it.y(), it.z()))
353 indexVectorInner.emplace_back(element);
355 indexVectorOuter.emplace_back(element);
359 for (
auto it = flagField->beginWithGhostLayerXYZ(
360 cell_idx_c(flagField->nrOfGhostLayers() - 1));
361 it != flagField->end(); ++it) {
362 if (!isFlagSet(it, domainFlag))
365 if (isFlagSet(it.neighbor(-1, -1, 0, 0), boundaryFlag)) {
366 auto element =
IndexInfo(it.x(), it.y(), it.z(), 9);
367 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
368 Cell(it.x() + -1, it.y() + -1, it.z() + 0), blocks, *
block);
369 element.flux_0 = InitialisatonAdditionalData[0];
370 element.flux_1 = InitialisatonAdditionalData[1];
371 element.flux_2 = InitialisatonAdditionalData[2];
372 indexVectorAll.emplace_back(element);
373 if (
inner.contains(it.x(), it.y(), it.z()))
374 indexVectorInner.emplace_back(element);
376 indexVectorOuter.emplace_back(element);
380 for (
auto it = flagField->beginWithGhostLayerXYZ(
381 cell_idx_c(flagField->nrOfGhostLayers() - 1));
382 it != flagField->end(); ++it) {
383 if (!isFlagSet(it, domainFlag))
386 if (isFlagSet(it.neighbor(1, -1, 0, 0), boundaryFlag)) {
387 auto element =
IndexInfo(it.x(), it.y(), it.z(), 10);
388 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
389 Cell(it.x() + 1, it.y() + -1, it.z() + 0), blocks, *
block);
390 element.flux_0 = InitialisatonAdditionalData[0];
391 element.flux_1 = InitialisatonAdditionalData[1];
392 element.flux_2 = InitialisatonAdditionalData[2];
393 indexVectorAll.emplace_back(element);
394 if (
inner.contains(it.x(), it.y(), it.z()))
395 indexVectorInner.emplace_back(element);
397 indexVectorOuter.emplace_back(element);
401 for (
auto it = flagField->beginWithGhostLayerXYZ(
402 cell_idx_c(flagField->nrOfGhostLayers() - 1));
403 it != flagField->end(); ++it) {
404 if (!isFlagSet(it, domainFlag))
407 if (isFlagSet(it.neighbor(0, 1, 1, 0), boundaryFlag)) {
408 auto element =
IndexInfo(it.x(), it.y(), it.z(), 11);
409 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
410 Cell(it.x() + 0, it.y() + 1, it.z() + 1), blocks, *
block);
411 element.flux_0 = InitialisatonAdditionalData[0];
412 element.flux_1 = InitialisatonAdditionalData[1];
413 element.flux_2 = InitialisatonAdditionalData[2];
414 indexVectorAll.emplace_back(element);
415 if (
inner.contains(it.x(), it.y(), it.z()))
416 indexVectorInner.emplace_back(element);
418 indexVectorOuter.emplace_back(element);
422 for (
auto it = flagField->beginWithGhostLayerXYZ(
423 cell_idx_c(flagField->nrOfGhostLayers() - 1));
424 it != flagField->end(); ++it) {
425 if (!isFlagSet(it, domainFlag))
428 if (isFlagSet(it.neighbor(0, -1, 1, 0), boundaryFlag)) {
429 auto element =
IndexInfo(it.x(), it.y(), it.z(), 12);
430 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
431 Cell(it.x() + 0, it.y() + -1, it.z() + 1), blocks, *
block);
432 element.flux_0 = InitialisatonAdditionalData[0];
433 element.flux_1 = InitialisatonAdditionalData[1];
434 element.flux_2 = InitialisatonAdditionalData[2];
435 indexVectorAll.emplace_back(element);
436 if (
inner.contains(it.x(), it.y(), it.z()))
437 indexVectorInner.emplace_back(element);
439 indexVectorOuter.emplace_back(element);
443 for (
auto it = flagField->beginWithGhostLayerXYZ(
444 cell_idx_c(flagField->nrOfGhostLayers() - 1));
445 it != flagField->end(); ++it) {
446 if (!isFlagSet(it, domainFlag))
449 if (isFlagSet(it.neighbor(-1, 0, 1, 0), boundaryFlag)) {
450 auto element =
IndexInfo(it.x(), it.y(), it.z(), 13);
451 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
452 Cell(it.x() + -1, it.y() + 0, it.z() + 1), blocks, *
block);
453 element.flux_0 = InitialisatonAdditionalData[0];
454 element.flux_1 = InitialisatonAdditionalData[1];
455 element.flux_2 = InitialisatonAdditionalData[2];
456 indexVectorAll.emplace_back(element);
457 if (
inner.contains(it.x(), it.y(), it.z()))
458 indexVectorInner.emplace_back(element);
460 indexVectorOuter.emplace_back(element);
464 for (
auto it = flagField->beginWithGhostLayerXYZ(
465 cell_idx_c(flagField->nrOfGhostLayers() - 1));
466 it != flagField->end(); ++it) {
467 if (!isFlagSet(it, domainFlag))
470 if (isFlagSet(it.neighbor(1, 0, 1, 0), boundaryFlag)) {
471 auto element =
IndexInfo(it.x(), it.y(), it.z(), 14);
472 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
473 Cell(it.x() + 1, it.y() + 0, it.z() + 1), blocks, *
block);
474 element.flux_0 = InitialisatonAdditionalData[0];
475 element.flux_1 = InitialisatonAdditionalData[1];
476 element.flux_2 = InitialisatonAdditionalData[2];
477 indexVectorAll.emplace_back(element);
478 if (
inner.contains(it.x(), it.y(), it.z()))
479 indexVectorInner.emplace_back(element);
481 indexVectorOuter.emplace_back(element);
485 for (
auto it = flagField->beginWithGhostLayerXYZ(
486 cell_idx_c(flagField->nrOfGhostLayers() - 1));
487 it != flagField->end(); ++it) {
488 if (!isFlagSet(it, domainFlag))
491 if (isFlagSet(it.neighbor(0, 1, -1, 0), boundaryFlag)) {
492 auto element =
IndexInfo(it.x(), it.y(), it.z(), 15);
493 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
494 Cell(it.x() + 0, it.y() + 1, it.z() + -1), blocks, *
block);
495 element.flux_0 = InitialisatonAdditionalData[0];
496 element.flux_1 = InitialisatonAdditionalData[1];
497 element.flux_2 = InitialisatonAdditionalData[2];
498 indexVectorAll.emplace_back(element);
499 if (
inner.contains(it.x(), it.y(), it.z()))
500 indexVectorInner.emplace_back(element);
502 indexVectorOuter.emplace_back(element);
506 for (
auto it = flagField->beginWithGhostLayerXYZ(
507 cell_idx_c(flagField->nrOfGhostLayers() - 1));
508 it != flagField->end(); ++it) {
509 if (!isFlagSet(it, domainFlag))
512 if (isFlagSet(it.neighbor(0, -1, -1, 0), boundaryFlag)) {
513 auto element =
IndexInfo(it.x(), it.y(), it.z(), 16);
514 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
515 Cell(it.x() + 0, it.y() + -1, it.z() + -1), blocks, *
block);
516 element.flux_0 = InitialisatonAdditionalData[0];
517 element.flux_1 = InitialisatonAdditionalData[1];
518 element.flux_2 = InitialisatonAdditionalData[2];
519 indexVectorAll.emplace_back(element);
520 if (
inner.contains(it.x(), it.y(), it.z()))
521 indexVectorInner.emplace_back(element);
523 indexVectorOuter.emplace_back(element);
527 for (
auto it = flagField->beginWithGhostLayerXYZ(
528 cell_idx_c(flagField->nrOfGhostLayers() - 1));
529 it != flagField->end(); ++it) {
530 if (!isFlagSet(it, domainFlag))
533 if (isFlagSet(it.neighbor(-1, 0, -1, 0), boundaryFlag)) {
534 auto element =
IndexInfo(it.x(), it.y(), it.z(), 17);
535 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
536 Cell(it.x() + -1, it.y() + 0, it.z() + -1), blocks, *
block);
537 element.flux_0 = InitialisatonAdditionalData[0];
538 element.flux_1 = InitialisatonAdditionalData[1];
539 element.flux_2 = InitialisatonAdditionalData[2];
540 indexVectorAll.emplace_back(element);
541 if (
inner.contains(it.x(), it.y(), it.z()))
542 indexVectorInner.emplace_back(element);
544 indexVectorOuter.emplace_back(element);
548 for (
auto it = flagField->beginWithGhostLayerXYZ(
549 cell_idx_c(flagField->nrOfGhostLayers() - 1));
550 it != flagField->end(); ++it) {
551 if (!isFlagSet(it, domainFlag))
554 if (isFlagSet(it.neighbor(1, 0, -1, 0), boundaryFlag)) {
555 auto element =
IndexInfo(it.x(), it.y(), it.z(), 18);
556 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
557 Cell(it.x() + 1, it.y() + 0, it.z() + -1), blocks, *
block);
558 element.flux_0 = InitialisatonAdditionalData[0];
559 element.flux_1 = InitialisatonAdditionalData[1];
560 element.flux_2 = InitialisatonAdditionalData[2];
561 indexVectorAll.emplace_back(element);
562 if (
inner.contains(it.x(), it.y(), it.z()))
563 indexVectorInner.emplace_back(element);
565 indexVectorOuter.emplace_back(element);
569 for (
auto it = flagField->beginWithGhostLayerXYZ(
570 cell_idx_c(flagField->nrOfGhostLayers() - 1));
571 it != flagField->end(); ++it) {
572 if (!isFlagSet(it, domainFlag))
575 if (isFlagSet(it.neighbor(1, 1, 1, 0), boundaryFlag)) {
576 auto element =
IndexInfo(it.x(), it.y(), it.z(), 19);
577 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
578 Cell(it.x() + 1, it.y() + 1, it.z() + 1), blocks, *
block);
579 element.flux_0 = InitialisatonAdditionalData[0];
580 element.flux_1 = InitialisatonAdditionalData[1];
581 element.flux_2 = InitialisatonAdditionalData[2];
582 indexVectorAll.emplace_back(element);
583 if (
inner.contains(it.x(), it.y(), it.z()))
584 indexVectorInner.emplace_back(element);
586 indexVectorOuter.emplace_back(element);
590 for (
auto it = flagField->beginWithGhostLayerXYZ(
591 cell_idx_c(flagField->nrOfGhostLayers() - 1));
592 it != flagField->end(); ++it) {
593 if (!isFlagSet(it, domainFlag))
596 if (isFlagSet(it.neighbor(-1, 1, 1, 0), boundaryFlag)) {
597 auto element =
IndexInfo(it.x(), it.y(), it.z(), 20);
598 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
599 Cell(it.x() + -1, it.y() + 1, it.z() + 1), blocks, *
block);
600 element.flux_0 = InitialisatonAdditionalData[0];
601 element.flux_1 = InitialisatonAdditionalData[1];
602 element.flux_2 = InitialisatonAdditionalData[2];
603 indexVectorAll.emplace_back(element);
604 if (
inner.contains(it.x(), it.y(), it.z()))
605 indexVectorInner.emplace_back(element);
607 indexVectorOuter.emplace_back(element);
611 for (
auto it = flagField->beginWithGhostLayerXYZ(
612 cell_idx_c(flagField->nrOfGhostLayers() - 1));
613 it != flagField->end(); ++it) {
614 if (!isFlagSet(it, domainFlag))
617 if (isFlagSet(it.neighbor(1, -1, 1, 0), boundaryFlag)) {
618 auto element =
IndexInfo(it.x(), it.y(), it.z(), 21);
619 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
620 Cell(it.x() + 1, it.y() + -1, it.z() + 1), blocks, *
block);
621 element.flux_0 = InitialisatonAdditionalData[0];
622 element.flux_1 = InitialisatonAdditionalData[1];
623 element.flux_2 = InitialisatonAdditionalData[2];
624 indexVectorAll.emplace_back(element);
625 if (
inner.contains(it.x(), it.y(), it.z()))
626 indexVectorInner.emplace_back(element);
628 indexVectorOuter.emplace_back(element);
632 for (
auto it = flagField->beginWithGhostLayerXYZ(
633 cell_idx_c(flagField->nrOfGhostLayers() - 1));
634 it != flagField->end(); ++it) {
635 if (!isFlagSet(it, domainFlag))
638 if (isFlagSet(it.neighbor(-1, -1, 1, 0), boundaryFlag)) {
639 auto element =
IndexInfo(it.x(), it.y(), it.z(), 22);
640 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
641 Cell(it.x() + -1, it.y() + -1, it.z() + 1), blocks, *
block);
642 element.flux_0 = InitialisatonAdditionalData[0];
643 element.flux_1 = InitialisatonAdditionalData[1];
644 element.flux_2 = InitialisatonAdditionalData[2];
645 indexVectorAll.emplace_back(element);
646 if (
inner.contains(it.x(), it.y(), it.z()))
647 indexVectorInner.emplace_back(element);
649 indexVectorOuter.emplace_back(element);
653 for (
auto it = flagField->beginWithGhostLayerXYZ(
654 cell_idx_c(flagField->nrOfGhostLayers() - 1));
655 it != flagField->end(); ++it) {
656 if (!isFlagSet(it, domainFlag))
659 if (isFlagSet(it.neighbor(1, 1, -1, 0), boundaryFlag)) {
660 auto element =
IndexInfo(it.x(), it.y(), it.z(), 23);
661 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
662 Cell(it.x() + 1, it.y() + 1, it.z() + -1), blocks, *
block);
663 element.flux_0 = InitialisatonAdditionalData[0];
664 element.flux_1 = InitialisatonAdditionalData[1];
665 element.flux_2 = InitialisatonAdditionalData[2];
666 indexVectorAll.emplace_back(element);
667 if (
inner.contains(it.x(), it.y(), it.z()))
668 indexVectorInner.emplace_back(element);
670 indexVectorOuter.emplace_back(element);
674 for (
auto it = flagField->beginWithGhostLayerXYZ(
675 cell_idx_c(flagField->nrOfGhostLayers() - 1));
676 it != flagField->end(); ++it) {
677 if (!isFlagSet(it, domainFlag))
680 if (isFlagSet(it.neighbor(-1, 1, -1, 0), boundaryFlag)) {
681 auto element =
IndexInfo(it.x(), it.y(), it.z(), 24);
682 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
683 Cell(it.x() + -1, it.y() + 1, it.z() + -1), blocks, *
block);
684 element.flux_0 = InitialisatonAdditionalData[0];
685 element.flux_1 = InitialisatonAdditionalData[1];
686 element.flux_2 = InitialisatonAdditionalData[2];
687 indexVectorAll.emplace_back(element);
688 if (
inner.contains(it.x(), it.y(), it.z()))
689 indexVectorInner.emplace_back(element);
691 indexVectorOuter.emplace_back(element);
695 for (
auto it = flagField->beginWithGhostLayerXYZ(
696 cell_idx_c(flagField->nrOfGhostLayers() - 1));
697 it != flagField->end(); ++it) {
698 if (!isFlagSet(it, domainFlag))
701 if (isFlagSet(it.neighbor(1, -1, -1, 0), boundaryFlag)) {
702 auto element =
IndexInfo(it.x(), it.y(), it.z(), 25);
703 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
704 Cell(it.x() + 1, it.y() + -1, it.z() + -1), blocks, *
block);
705 element.flux_0 = InitialisatonAdditionalData[0];
706 element.flux_1 = InitialisatonAdditionalData[1];
707 element.flux_2 = InitialisatonAdditionalData[2];
708 indexVectorAll.emplace_back(element);
709 if (
inner.contains(it.x(), it.y(), it.z()))
710 indexVectorInner.emplace_back(element);
712 indexVectorOuter.emplace_back(element);
716 for (
auto it = flagField->beginWithGhostLayerXYZ(
717 cell_idx_c(flagField->nrOfGhostLayers() - 1));
718 it != flagField->end(); ++it) {
719 if (!isFlagSet(it, domainFlag))
722 if (isFlagSet(it.neighbor(-1, -1, -1, 0), boundaryFlag)) {
723 auto element =
IndexInfo(it.x(), it.y(), it.z(), 26);
724 Vector3<double> InitialisatonAdditionalData = elementInitaliser(
725 Cell(it.x() + -1, it.y() + -1, it.z() + -1), blocks, *
block);
726 element.flux_0 = InitialisatonAdditionalData[0];
727 element.flux_1 = InitialisatonAdditionalData[1];
728 element.flux_2 = InitialisatonAdditionalData[2];
729 indexVectorAll.emplace_back(element);
730 if (
inner.contains(it.x(), it.y(), it.z()))
731 indexVectorInner.emplace_back(element);
733 indexVectorOuter.emplace_back(element);