329 using detail::coarsen_edge_cent;
352 if (fflag(ii,jj ,kk ).isRegular() && fflag(ii+1,jj ,kk ).isRegular() &&
353 fflag(ii,jj+1,kk ).isRegular() && fflag(ii+1,jj+1,kk ).isRegular() &&
354 fflag(ii,jj ,kk+1).isRegular() && fflag(ii+1,jj ,kk+1).isRegular() &&
355 fflag(ii,jj+1,kk+1).isRegular() && fflag(ii+1,jj+1,kk+1).isRegular())
357 cflag(i,j,k).setRegular();
358 cvol(i,j,k) = 1.0_rt;
359 ccent(i,j,k,0) = 0.0_rt;
360 ccent(i,j,k,1) = 0.0_rt;
361 ccent(i,j,k,2) = 0.0_rt;
363 cbc(i,j,k,0) = -1.0_rt;
364 cbc(i,j,k,1) = -1.0_rt;
365 cbc(i,j,k,2) = -1.0_rt;
366 cbn(i,j,k,0) = 0.0_rt;
367 cbn(i,j,k,1) = 0.0_rt;
368 cbn(i,j,k,2) = 0.0_rt;
370 else if (fflag(ii,jj ,kk ).isCovered() && fflag(ii+1,jj ,kk ).isCovered() &&
371 fflag(ii,jj+1,kk ).isCovered() && fflag(ii+1,jj+1,kk ).isCovered() &&
372 fflag(ii,jj ,kk+1).isCovered() && fflag(ii+1,jj ,kk+1).isCovered() &&
373 fflag(ii,jj+1,kk+1).isCovered() && fflag(ii+1,jj+1,kk+1).isCovered())
375 cflag(i,j,k).setCovered();
376 cvol(i,j,k) = 0.0_rt;
377 ccent(i,j,k,0) = 0.0_rt;
378 ccent(i,j,k,1) = 0.0_rt;
379 ccent(i,j,k,2) = 0.0_rt;
381 cbc(i,j,k,0) = -1.0_rt;
382 cbc(i,j,k,1) = -1.0_rt;
383 cbc(i,j,k,2) = -1.0_rt;
384 cbn(i,j,k,0) = 0.0_rt;
385 cbn(i,j,k,1) = 0.0_rt;
386 cbn(i,j,k,2) = 0.0_rt;
390 cflag(i,j,k).setSingleValued();
392 cvol(i,j,k) = 0.125_rt*(fvol(ii ,jj ,kk ) + fvol(ii+1,jj ,kk ) +
393 fvol(ii ,jj+1,kk ) + fvol(ii+1,jj+1,kk ) +
394 fvol(ii ,jj ,kk+1) + fvol(ii+1,jj ,kk+1) +
395 fvol(ii ,jj+1,kk+1) + fvol(ii+1,jj+1,kk+1));
396 Real cvolinv = 1.0_rt / cvol(i,j,k);
398 ccent(i,j,k,0) = 0.125_rt * cvolinv *
399 (fvol(ii ,jj ,kk )*(0.5_rt*fcent(ii ,jj ,kk ,0)-0.25_rt) +
400 fvol(ii+1,jj ,kk )*(0.5_rt*fcent(ii+1,jj ,kk ,0)+0.25_rt) +
401 fvol(ii ,jj+1,kk )*(0.5_rt*fcent(ii ,jj+1,kk ,0)-0.25_rt) +
402 fvol(ii+1,jj+1,kk )*(0.5_rt*fcent(ii+1,jj+1,kk ,0)+0.25_rt) +
403 fvol(ii ,jj ,kk+1)*(0.5_rt*fcent(ii ,jj ,kk+1,0)-0.25_rt) +
404 fvol(ii+1,jj ,kk+1)*(0.5_rt*fcent(ii+1,jj ,kk+1,0)+0.25_rt) +
405 fvol(ii ,jj+1,kk+1)*(0.5_rt*fcent(ii ,jj+1,kk+1,0)-0.25_rt) +
406 fvol(ii+1,jj+1,kk+1)*(0.5_rt*fcent(ii+1,jj+1,kk+1,0)+0.25_rt));
407 ccent(i,j,k,1) = 0.125_rt * cvolinv *
408 (fvol(ii ,jj ,kk )*(0.5_rt*fcent(ii ,jj ,kk ,1)-0.25_rt) +
409 fvol(ii+1,jj ,kk )*(0.5_rt*fcent(ii+1,jj ,kk ,1)-0.25_rt) +
410 fvol(ii ,jj+1,kk )*(0.5_rt*fcent(ii ,jj+1,kk ,1)+0.25_rt) +
411 fvol(ii+1,jj+1,kk )*(0.5_rt*fcent(ii+1,jj+1,kk ,1)+0.25_rt) +
412 fvol(ii ,jj ,kk+1)*(0.5_rt*fcent(ii ,jj ,kk+1,1)-0.25_rt) +
413 fvol(ii+1,jj ,kk+1)*(0.5_rt*fcent(ii+1,jj ,kk+1,1)-0.25_rt) +
414 fvol(ii ,jj+1,kk+1)*(0.5_rt*fcent(ii ,jj+1,kk+1,1)+0.25_rt) +
415 fvol(ii+1,jj+1,kk+1)*(0.5_rt*fcent(ii+1,jj+1,kk+1,1)+0.25_rt));
416 ccent(i,j,k,2) = 0.125_rt * cvolinv *
417 (fvol(ii ,jj ,kk )*(0.5_rt*fcent(ii ,jj ,kk ,2)-0.25_rt) +
418 fvol(ii+1,jj ,kk )*(0.5_rt*fcent(ii+1,jj ,kk ,2)-0.25_rt) +
419 fvol(ii ,jj+1,kk )*(0.5_rt*fcent(ii ,jj+1,kk ,2)-0.25_rt) +
420 fvol(ii+1,jj+1,kk )*(0.5_rt*fcent(ii+1,jj+1,kk ,2)-0.25_rt) +
421 fvol(ii ,jj ,kk+1)*(0.5_rt*fcent(ii ,jj ,kk+1,2)+0.25_rt) +
422 fvol(ii+1,jj ,kk+1)*(0.5_rt*fcent(ii+1,jj ,kk+1,2)+0.25_rt) +
423 fvol(ii ,jj+1,kk+1)*(0.5_rt*fcent(ii ,jj+1,kk+1,2)+0.25_rt) +
424 fvol(ii+1,jj+1,kk+1)*(0.5_rt*fcent(ii+1,jj+1,kk+1,2)+0.25_rt));
426 cba(i,j,k) = 0.25_rt*(fba(ii ,jj ,kk ) + fba(ii+1,jj ,kk ) +
427 fba(ii ,jj+1,kk ) + fba(ii+1,jj+1,kk ) +
428 fba(ii ,jj ,kk+1) + fba(ii+1,jj ,kk+1) +
429 fba(ii ,jj+1,kk+1) + fba(ii+1,jj+1,kk+1));
430 Real cbainv = 1.0_rt / cba(i,j,k);
432 cbc(i,j,k,0) = 0.25_rt * cbainv *
433 ( fba(ii ,jj ,kk )*(0.5_rt*fbc(ii ,jj ,kk ,0)-0.25_rt)
434 + fba(ii+1,jj ,kk )*(0.5_rt*fbc(ii+1,jj ,kk ,0)+0.25_rt)
435 + fba(ii ,jj+1,kk )*(0.5_rt*fbc(ii ,jj+1,kk ,0)-0.25_rt)
436 + fba(ii+1,jj+1,kk )*(0.5_rt*fbc(ii+1,jj+1,kk ,0)+0.25_rt)
437 + fba(ii ,jj ,kk+1)*(0.5_rt*fbc(ii ,jj ,kk+1,0)-0.25_rt)
438 + fba(ii+1,jj ,kk+1)*(0.5_rt*fbc(ii+1,jj ,kk+1,0)+0.25_rt)
439 + fba(ii ,jj+1,kk+1)*(0.5_rt*fbc(ii ,jj+1,kk+1,0)-0.25_rt)
440 + fba(ii+1,jj+1,kk+1)*(0.5_rt*fbc(ii+1,jj+1,kk+1,0)+0.25_rt) );
441 cbc(i,j,k,1) = 0.25_rt * cbainv *
442 ( fba(ii ,jj ,kk )*(0.5_rt*fbc(ii ,jj ,kk ,1)-0.25_rt)
443 + fba(ii+1,jj ,kk )*(0.5_rt*fbc(ii+1,jj ,kk ,1)-0.25_rt)
444 + fba(ii ,jj+1,kk )*(0.5_rt*fbc(ii ,jj+1,kk ,1)+0.25_rt)
445 + fba(ii+1,jj+1,kk )*(0.5_rt*fbc(ii+1,jj+1,kk ,1)+0.25_rt)
446 + fba(ii ,jj ,kk+1)*(0.5_rt*fbc(ii ,jj ,kk+1,1)-0.25_rt)
447 + fba(ii+1,jj ,kk+1)*(0.5_rt*fbc(ii+1,jj ,kk+1,1)-0.25_rt)
448 + fba(ii ,jj+1,kk+1)*(0.5_rt*fbc(ii ,jj+1,kk+1,1)+0.25_rt)
449 + fba(ii+1,jj+1,kk+1)*(0.5_rt*fbc(ii+1,jj+1,kk+1,1)+0.25_rt) );
450 cbc(i,j,k,2) = 0.25_rt * cbainv *
451 ( fba(ii ,jj ,kk )*(0.5_rt*fbc(ii ,jj ,kk ,2)-0.25_rt)
452 + fba(ii+1,jj ,kk )*(0.5_rt*fbc(ii+1,jj ,kk ,2)-0.25_rt)
453 + fba(ii ,jj+1,kk )*(0.5_rt*fbc(ii ,jj+1,kk ,2)-0.25_rt)
454 + fba(ii+1,jj+1,kk )*(0.5_rt*fbc(ii+1,jj+1,kk ,2)-0.25_rt)
455 + fba(ii ,jj ,kk+1)*(0.5_rt*fbc(ii ,jj ,kk+1,2)+0.25_rt)
456 + fba(ii+1,jj ,kk+1)*(0.5_rt*fbc(ii+1,jj ,kk+1,2)+0.25_rt)
457 + fba(ii ,jj+1,kk+1)*(0.5_rt*fbc(ii ,jj+1,kk+1,2)+0.25_rt)
458 + fba(ii+1,jj+1,kk+1)*(0.5_rt*fbc(ii+1,jj+1,kk+1,2)+0.25_rt) );
460 Real nx = fbn(ii ,jj ,kk ,0)*fba(ii ,jj ,kk )
461 + fbn(ii+1,jj ,kk ,0)*fba(ii+1,jj ,kk )
462 + fbn(ii ,jj+1,kk ,0)*fba(ii ,jj+1,kk )
463 + fbn(ii+1,jj+1,kk ,0)*fba(ii+1,jj+1,kk )
464 + fbn(ii ,jj ,kk+1,0)*fba(ii ,jj ,kk+1)
465 + fbn(ii+1,jj ,kk+1,0)*fba(ii+1,jj ,kk+1)
466 + fbn(ii ,jj+1,kk+1,0)*fba(ii ,jj+1,kk+1)
467 + fbn(ii+1,jj+1,kk+1,0)*fba(ii+1,jj+1,kk+1);
468 Real ny = fbn(ii ,jj ,kk ,1)*fba(ii ,jj ,kk )
469 + fbn(ii+1,jj ,kk ,1)*fba(ii+1,jj ,kk )
470 + fbn(ii ,jj+1,kk ,1)*fba(ii ,jj+1,kk )
471 + fbn(ii+1,jj+1,kk ,1)*fba(ii+1,jj+1,kk )
472 + fbn(ii ,jj ,kk+1,1)*fba(ii ,jj ,kk+1)
473 + fbn(ii+1,jj ,kk+1,1)*fba(ii+1,jj ,kk+1)
474 + fbn(ii ,jj+1,kk+1,1)*fba(ii ,jj+1,kk+1)
475 + fbn(ii+1,jj+1,kk+1,1)*fba(ii+1,jj+1,kk+1);
476 Real nz = fbn(ii ,jj ,kk ,2)*fba(ii ,jj ,kk )
477 + fbn(ii+1,jj ,kk ,2)*fba(ii+1,jj ,kk )
478 + fbn(ii ,jj+1,kk ,2)*fba(ii ,jj+1,kk )
479 + fbn(ii+1,jj+1,kk ,2)*fba(ii+1,jj+1,kk )
480 + fbn(ii ,jj ,kk+1,2)*fba(ii ,jj ,kk+1)
481 + fbn(ii+1,jj ,kk+1,2)*fba(ii+1,jj ,kk+1)
482 + fbn(ii ,jj+1,kk+1,2)*fba(ii ,jj+1,kk+1)
483 + fbn(ii+1,jj+1,kk+1,2)*fba(ii+1,jj+1,kk+1);
484 Real nfac = 1.0_rt / std::sqrt(nx*nx+ny*ny+nz*nz+1.e-30_rt);
485 cbn(i,j,k,0) = nx*nfac;
486 cbn(i,j,k,1) = ny*nfac;
487 cbn(i,j,k,2) = nz*nfac;
488 ierr = (nx == 0.0_rt && ny == 0.0_rt && nz == 0.0_rt)
491 || ( fapx(ii,jj ,kk )==1.0_rt && fapx(ii+2,jj ,kk )==1.0_rt
492 && fapx(ii,jj+1,kk )==1.0_rt && fapx(ii+2,jj+1,kk )==1.0_rt
493 && fapx(ii,jj ,kk+1)==1.0_rt && fapx(ii+2,jj ,kk+1)==1.0_rt
494 && fapx(ii,jj+1,kk+1)==1.0_rt && fapx(ii+2,jj+1,kk+1)==1.0_rt
495 && fapy(ii,jj ,kk )==1.0_rt && fapy(ii+1,jj ,kk )==1.0_rt
496 && fapy(ii,jj+2,kk )==1.0_rt && fapy(ii+1,jj+2,kk )==1.0_rt
497 && fapy(ii,jj ,kk+1)==1.0_rt && fapy(ii+1,jj ,kk+1)==1.0_rt
498 && fapy(ii,jj+2,kk+1)==1.0_rt && fapy(ii+1,jj+2,kk+1)==1.0_rt
499 && fapz(ii,jj ,kk )==1.0_rt && fapz(ii+1,jj ,kk )==1.0_rt
500 && fapz(ii,jj+1,kk )==1.0_rt && fapz(ii+1,jj+1,kk )==1.0_rt
501 && fapz(ii,jj ,kk+2)==1.0_rt && fapz(ii+1,jj ,kk+2)==1.0_rt
502 && fapz(ii,jj+1,kk+2)==1.0_rt && fapz(ii+1,jj+1,kk+2)==1.0_rt);
508 cvol(i,j,k) = 1.0_rt;
509 ccent(i,j,k,0) = 0.0_rt;
510 ccent(i,j,k,1) = 0.0_rt;
511 ccent(i,j,k,2) = 0.0_rt;
513 cbc(i,j,k,0) = -1.0_rt;
514 cbc(i,j,k,1) = -1.0_rt;
515 cbc(i,j,k,2) = -1.0_rt;
516 cbn(i,j,k,0) = 0.0_rt;
517 cbn(i,j,k,1) = 0.0_rt;
518 cbn(i,j,k,2) = 0.0_rt;
523 capx(i,j,k) = 0.25_rt*(fapx(ii,jj ,kk ) + fapx(ii,jj+1,kk ) +
524 fapx(ii,jj ,kk+1) + fapx(ii,jj+1,kk+1));
525 if (capx(i,j,k) != 0.0_rt) {
526 Real apinv = 1.0_rt / capx(i,j,k);
527 cfcx(i,j,k,0) = 0.25_rt * apinv *
528 (fapx(ii,jj ,kk )*(0.5_rt*ffcx(ii,jj ,kk ,0)-0.25_rt) +
529 fapx(ii,jj+1,kk )*(0.5_rt*ffcx(ii,jj+1,kk ,0)+0.25_rt) +
530 fapx(ii,jj ,kk+1)*(0.5_rt*ffcx(ii,jj ,kk+1,0)-0.25_rt) +
531 fapx(ii,jj+1,kk+1)*(0.5_rt*ffcx(ii,jj+1,kk+1,0)+0.25_rt) );
532 cfcx(i,j,k,1) = 0.25_rt * apinv *
533 (fapx(ii,jj ,kk )*(0.5_rt*ffcx(ii,jj ,kk ,1)-0.25_rt) +
534 fapx(ii,jj+1,kk )*(0.5_rt*ffcx(ii,jj+1,kk ,1)-0.25_rt) +
535 fapx(ii,jj ,kk+1)*(0.5_rt*ffcx(ii,jj ,kk+1,1)+0.25_rt) +
536 fapx(ii,jj+1,kk+1)*(0.5_rt*ffcx(ii,jj+1,kk+1,1)+0.25_rt) );
538 cfcx(i,j,k,0) = 0.0_rt;
539 cfcx(i,j,k,1) = 0.0_rt;
544 capx(i,j,k) = 1.0_rt;
545 cfcx(i,j,k,0) = 0.0_rt;
546 cfcx(i,j,k,1) = 0.0_rt;
551 capy(i,j,k) = 0.25_rt*(fapy(ii ,jj,kk ) + fapy(ii+1,jj,kk ) +
552 fapy(ii ,jj,kk+1) + fapy(ii+1,jj,kk+1));
553 if (capy(i,j,k) != 0.0_rt) {
554 Real apinv = 1.0_rt / capy(i,j,k);
555 cfcy(i,j,k,0) = 0.25_rt * apinv *
556 (fapy(ii ,jj,kk )*(0.5_rt*ffcy(ii ,jj,kk ,0)-0.25_rt) +
557 fapy(ii+1,jj,kk )*(0.5_rt*ffcy(ii+1,jj,kk ,0)+0.25_rt) +
558 fapy(ii ,jj,kk+1)*(0.5_rt*ffcy(ii ,jj,kk+1,0)-0.25_rt) +
559 fapy(ii+1,jj,kk+1)*(0.5_rt*ffcy(ii+1,jj,kk+1,0)+0.25_rt) );
560 cfcy(i,j,k,1) = 0.25_rt * apinv *
561 (fapy(ii ,jj,kk )*(0.5_rt*ffcy(ii ,jj,kk ,1)-0.25_rt) +
562 fapy(ii+1,jj,kk )*(0.5_rt*ffcy(ii+1,jj,kk ,1)-0.25_rt) +
563 fapy(ii ,jj,kk+1)*(0.5_rt*ffcy(ii ,jj,kk+1,1)+0.25_rt) +
564 fapy(ii+1,jj,kk+1)*(0.5_rt*ffcy(ii+1,jj,kk+1,1)+0.25_rt) );
566 cfcy(i,j,k,0) = 0.0_rt;
567 cfcy(i,j,k,1) = 0.0_rt;
572 capy(i,j,k) = 1.0_rt;
573 cfcy(i,j,k,0) = 0.0_rt;
574 cfcy(i,j,k,1) = 0.0_rt;
579 capz(i,j,k) = 0.25_rt * (fapz(ii ,jj ,kk) + fapz(ii+1,jj ,kk) +
580 fapz(ii ,jj+1,kk) + fapz(ii+1,jj+1,kk));
581 if (capz(i,j,k) != 0.0_rt) {
582 Real apinv = 1.0_rt / capz(i,j,k);
583 cfcz(i,j,k,0) = 0.25_rt * apinv *
584 (fapz(ii ,jj ,kk)*(0.5_rt*ffcz(ii ,jj ,kk,0)-0.25_rt) +
585 fapz(ii+1,jj ,kk)*(0.5_rt*ffcz(ii+1,jj ,kk,0)+0.25_rt) +
586 fapz(ii ,jj+1,kk)*(0.5_rt*ffcz(ii ,jj+1,kk,0)-0.25_rt) +
587 fapz(ii+1,jj+1,kk)*(0.5_rt*ffcz(ii+1,jj+1,kk,0)+0.25_rt) );
588 cfcz(i,j,k,1) = 0.25_rt * apinv *
589 (fapz(ii ,jj ,kk)*(0.5_rt*ffcz(ii ,jj ,kk,1)-0.25_rt) +
590 fapz(ii+1,jj ,kk)*(0.5_rt*ffcz(ii+1,jj ,kk,1)-0.25_rt) +
591 fapz(ii ,jj+1,kk)*(0.5_rt*ffcz(ii ,jj+1,kk,1)+0.25_rt) +
592 fapz(ii+1,jj+1,kk)*(0.5_rt*ffcz(ii+1,jj+1,kk,1)+0.25_rt) );
594 cfcz(i,j,k,0) = 0.0_rt;
595 cfcz(i,j,k,1) = 0.0_rt;
600 capz(i,j,k) = 1.0_rt;
601 cfcz(i,j,k,0) = 0.0_rt;
602 cfcz(i,j,k,1) = 0.0_rt;
607 cecx(i,j,k) = coarsen_edge_cent(fecx(ii,jj,kk), fecx(ii+1,jj,kk));
611 cecx(i,j,k) = 1.0_rt;
616 cecy(i,j,k) = coarsen_edge_cent(fecy(ii,jj,kk), fecy(ii,jj+1,kk));
620 cecy(i,j,k) = 1.0_rt;
625 cecz(i,j,k) = coarsen_edge_cent(fecz(ii,jj,kk), fecz(ii,jj,kk+1));
629 cecz(i,j,k) = 1.0_rt;
640 auto flg = cflag(i,j,k);
641 flg.setDisconnected();
643 if (!flg.isCovered())
645 flg.setConnected(0,0,0);
647 if (
apx(i ,j,k) != 0.0_rt) { flg.setConnected(-1, 0, 0); }
648 if (
apx(i+1,j,k) != 0.0_rt) { flg.setConnected( 1, 0, 0); }
649 if (
apy(i,j ,k) != 0.0_rt) { flg.setConnected( 0, -1, 0); }
650 if (
apy(i,j+1,k) != 0.0_rt) { flg.setConnected( 0, 1, 0); }
651 if (
apz(i,j,k ) != 0.0_rt) { flg.setConnected( 0, 0, -1); }
652 if (
apz(i,j,k+1) != 0.0_rt) { flg.setConnected( 0, 0, 1); }
654 if ( (
apx(i,j,k) != 0.0_rt &&
apy(i-1,j,k) != 0.0_rt) ||
655 (
apy(i,j,k) != 0.0_rt &&
apx(i,j-1,k) != 0.0_rt) )
657 flg.setConnected(-1, -1, 0);
658 if (
apz(i-1,j-1,k ) != 0.0_rt) { flg.setConnected(-1,-1,-1); }
659 if (
apz(i-1,j-1,k+1) != 0.0_rt) { flg.setConnected(-1,-1, 1); }
662 if ( (
apx(i+1,j,k) != 0.0_rt &&
apy(i+1,j ,k) != 0.0_rt) ||
663 (
apy(i ,j,k) != 0.0_rt &&
apx(i+1,j-1,k) != 0.0_rt) )
665 flg.setConnected(1, -1, 0);
666 if (
apz(i+1,j-1,k ) != 0.0_rt) { flg.setConnected(1,-1,-1); }
667 if (
apz(i+1,j-1,k+1) != 0.0_rt) { flg.setConnected(1,-1, 1); }
670 if ( (
apx(i,j ,k) != 0.0_rt &&
apy(i-1,j+1,k) != 0.0_rt) ||
671 (
apy(i,j+1,k) != 0.0_rt &&
apx(i ,j+1,k) != 0.0_rt) )
673 flg.setConnected(-1, 1, 0);
674 if (
apz(i-1,j+1,k ) != 0.0_rt) { flg.setConnected(-1, 1,-1); }
675 if (
apz(i-1,j+1,k+1) != 0.0_rt) { flg.setConnected(-1, 1, 1); }
678 if ( (
apx(i+1,j ,k) != 0.0_rt &&
apy(i+1,j+1,k) != 0.0_rt) ||
679 (
apy(i ,j+1,k) != 0.0_rt &&
apx(i+1,j+1,k) != 0.0_rt) )
681 flg.setConnected(1, 1, 0);
682 if (
apz(i+1,j+1,k ) != 0.0_rt) { flg.setConnected(1, 1,-1); }
683 if (
apz(i+1,j+1,k+1) != 0.0_rt) { flg.setConnected(1, 1, 1); }
686 if ( (
apx(i,j,k) != 0.0_rt &&
apz(i-1,j,k ) != 0.0_rt) ||
687 (
apz(i,j,k) != 0.0_rt &&
apx(i ,j,k-1) != 0.0_rt) )
689 flg.setConnected(-1, 0, -1);
690 if (
apy(i-1,j ,k-1) != 0.0_rt) { flg.setConnected(-1,-1,-1); }
691 if (
apy(i-1,j+1,k-1) != 0.0_rt) { flg.setConnected(-1, 1,-1); }
694 if ( (
apx(i+1,j,k) != 0.0_rt &&
apz(i+1,j,k ) != 0.0_rt) ||
695 (
apz(i ,j,k) != 0.0_rt &&
apx(i+1,j,k-1) != 0.0_rt) )
697 flg.setConnected(1, 0, -1);
698 if (
apy(i+1,j ,k-1) != 0.0_rt) { flg.setConnected(1,-1,-1); }
699 if (
apy(i+1,j+1,k-1) != 0.0_rt) { flg.setConnected(1, 1,-1); }
702 if ( (
apx(i,j,k ) != 0.0_rt &&
apz(i-1,j,k+1) != 0.0_rt) ||
703 (
apz(i,j,k+1) != 0.0_rt &&
apx(i ,j,k+1) != 0.0_rt) )
705 flg.setConnected(-1, 0, 1);
706 if (
apy(i-1,j ,k+1) != 0.0_rt) { flg.setConnected(-1,-1, 1); }
707 if (
apy(i-1,j+1,k+1) != 0.0_rt) { flg.setConnected(-1, 1, 1); }
710 if ( (
apx(i+1,j,k ) != 0.0_rt &&
apz(i+1,j,k+1) != 0.0_rt) ||
711 (
apz(i ,j,k+1) != 0.0_rt &&
apx(i+1,j,k+1) != 0.0_rt) )
713 flg.setConnected(1, 0, 1);
714 if (
apy(i+1,j ,k+1) != 0.0_rt) { flg.setConnected(1,-1, 1); }
715 if (
apy(i+1,j+1,k+1) != 0.0_rt) { flg.setConnected(1, 1, 1); }
718 if ( (
apy(i,j,k) != 0.0_rt &&
apz(i,j-1,k ) != 0.0_rt) ||
719 (
apz(i,j,k) != 0.0_rt &&
apy(i,j ,k-1) != 0.0_rt) )
721 flg.setConnected(0, -1, -1);
722 if (
apx(i ,j-1,k-1) != 0.0_rt) { flg.setConnected(-1,-1,-1); }
723 if (
apx(i+1,j-1,k-1) != 0.0_rt) { flg.setConnected( 1,-1,-1); }
726 if ( (
apy(i,j+1,k) != 0.0_rt &&
apz(i,j+1,k ) != 0.0_rt) ||
727 (
apz(i,j ,k) != 0.0_rt &&
apy(i,j+1,k-1) != 0.0_rt) )
729 flg.setConnected(0, 1, -1);
730 if (
apx(i ,j+1,k-1) != 0.0_rt) { flg.setConnected(-1, 1,-1); }
731 if (
apx(i+1,j+1,k-1) != 0.0_rt) { flg.setConnected( 1, 1,-1); }
734 if ( (
apy(i,j,k ) != 0.0_rt &&
apz(i,j-1,k+1) != 0.0_rt) ||
735 (
apz(i,j,k+1) != 0.0_rt &&
apy(i,j ,k+1) != 0.0_rt) )
737 flg.setConnected(0, -1, 1);
738 if (
apx(i ,j-1,k+1) != 0.0_rt) { flg.setConnected(-1,-1, 1); }
739 if (
apx(i+1,j-1,k+1) != 0.0_rt) { flg.setConnected( 1,-1, 1); }
742 if ( (
apy(i,j+1,k ) != 0.0_rt &&
apz(i,j+1,k+1) != 0.0_rt) ||
743 (
apz(i,j ,k+1) != 0.0_rt &&
apy(i,j+1,k+1) != 0.0_rt) )
745 flg.setConnected(0, 1, 1);
746 if (
apx(i ,j+1,k+1) != 0.0_rt) { flg.setConnected(-1, 1, 1); }
747 if (
apx(i+1,j+1,k+1) != 0.0_rt) { flg.setConnected( 1, 1, 1); }