375# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
377# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
379# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
381# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
383# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
385# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
387# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
389# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
391# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
393# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
395# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
397# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
399# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
401# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
403# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
405# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
407# 29 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
409 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
410 integer,
intent(in) :: bc_dir, bc_loc
411 integer,
intent(in) :: k, l
415 if (bc_dir == 1)
then
416 if (bc_loc == -1)
then
419 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
422 if (chemistry .and.
present(q_t_sf))
then
424 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
430 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
433 if (chemistry .and.
present(q_t_sf))
then
435 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
439 else if (bc_dir == 2)
then
440 if (bc_loc == -1)
then
443 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
447 if (chemistry .and.
present(q_t_sf))
then
449 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
455 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
458 if (chemistry .and.
present(q_t_sf))
then
460 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
464 else if (bc_dir == 3)
then
465 if (bc_loc == -1)
then
468 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
471 if (chemistry .and.
present(q_t_sf))
then
473 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
479 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
482 if (chemistry .and.
present(q_t_sf))
then
484 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
493 subroutine s_symmetry(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
496# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
498# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
500# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
502# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
504# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
506# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
508# 116 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
510 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
511 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
512 integer,
intent(in) :: bc_dir, bc_loc
513 integer,
intent(in) :: k, l
517 if (bc_dir == 1)
then
518 if (bc_loc == -1)
then
520 do i = 1, eqn_idx%cont%end
521 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
524 q_prim_vf(eqn_idx%mom%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(j - 1, k, l)
526 do i = eqn_idx%mom%beg + 1, sys_size
527 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
530 if (chemistry .and.
present(q_t_sf))
then
531 q_t_sf%sf(-j, k, l) = q_t_sf%sf(j - 1, k, l)
534 if (hypoelasticity)
then
535 do i = 1, shear_bc_flip_num
536 q_prim_vf(shear_bc_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
537 & i))%sf(j - 1, k, l)
542 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
546 pb_in(-j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
547 mv_in(-j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
554 do i = 1, eqn_idx%cont%end
555 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
558 q_prim_vf(eqn_idx%mom%beg)%sf(m + j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(m - (j - 1), k, l)
560 do i = eqn_idx%mom%beg + 1, sys_size
561 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
564 if (chemistry .and.
present(q_t_sf))
then
565 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
568 if (hypoelasticity)
then
569 do i = 1, shear_bc_flip_num
570 q_prim_vf(shear_bc_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
571 & i))%sf(m - (j - 1), k, l)
575 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
579 pb_in(m + j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
580 mv_in(m + j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
586 else if (bc_dir == 2)
then
587 if (bc_loc == -1)
then
589 do i = 1, eqn_idx%mom%beg
590 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
593 q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, j - 1, l)
595 do i = eqn_idx%mom%beg + 2, sys_size
596 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
599 if (chemistry .and.
present(q_t_sf))
then
600 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l)
603 if (hypoelasticity)
then
604 do i = 1, shear_bc_flip_num
605 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, &
611 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
615 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l, q, i)
616 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l, q, i)
623 do i = 1, eqn_idx%mom%beg
624 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
627 q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, n + j, l) = -q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, n - (j - 1), l)
629 do i = eqn_idx%mom%beg + 2, sys_size
630 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
633 if (chemistry .and.
present(q_t_sf))
then
634 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n - (j - 1), l)
637 if (hypoelasticity)
then
638 do i = 1, shear_bc_flip_num
639 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_bc_flip_indices(2, &
640 & i))%sf(k, n - (j - 1), l)
645 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
649 pb_in(k, n + j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
650 mv_in(k, n + j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
656 else if (bc_dir == 3)
then
657 if (bc_loc == -1)
then
659 do i = 1, eqn_idx%mom%beg + 1
660 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
663 q_prim_vf(eqn_idx%mom%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, j - 1)
665 do i = eqn_idx%E, sys_size
666 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
669 if (chemistry .and.
present(q_t_sf))
then
670 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, j - 1)
673 if (hypoelasticity)
then
674 do i = 1, shear_bc_flip_num
675 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, &
681 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
685 pb_in(k, l, -j, q, i) = pb_in(k, l, j - 1, q, i)
686 mv_in(k, l, -j, q, i) = mv_in(k, l, j - 1, q, i)
693 do i = 1, eqn_idx%mom%beg + 1
694 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
697 q_prim_vf(eqn_idx%mom%end)%sf(k, l, p + j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, p - (j - 1))
699 do i = eqn_idx%E, sys_size
700 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
703 if (chemistry .and.
present(q_t_sf))
then
704 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p - (j - 1))
707 if (hypoelasticity)
then
708 do i = 1, shear_bc_flip_num
709 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_bc_flip_indices(3, &
710 & i))%sf(k, l, p - (j - 1))
715 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
719 pb_in(k, l, p + j, q, i) = pb_in(k, l, p - (j - 1), q, i)
720 mv_in(k, l, p + j, q, i) = mv_in(k, l, p - (j - 1), q, i)
731 subroutine s_periodic(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
734# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
736# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
738# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
740# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
742# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
744# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
746# 340 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
748 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
749 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
750 integer,
intent(in) :: bc_dir, bc_loc
751 integer,
intent(in) :: k, l
755 if (bc_dir == 1)
then
756 if (bc_loc == -1)
then
759 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
763 if (chemistry .and.
present(q_t_sf))
then
765 q_t_sf%sf(-j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
769 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
773 pb_in(-j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
774 mv_in(-j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
782 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
786 if (chemistry .and.
present(q_t_sf))
then
788 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(j - 1, k, l)
792 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
796 pb_in(m + j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
797 mv_in(m + j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
803 else if (bc_dir == 2)
then
804 if (bc_loc == -1)
then
807 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
811 if (chemistry .and.
present(q_t_sf))
then
813 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, n - (j - 1), l)
817 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
821 pb_in(k, -j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
822 mv_in(k, -j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
830 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, j - 1, l)
834 if (chemistry .and.
present(q_t_sf))
then
836 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, j - 1, l)
840 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
844 pb_in(k, n + j, l, q, i) = pb_in(k, (j - 1), l, q, i)
845 mv_in(k, n + j, l, q, i) = mv_in(k, (j - 1), l, q, i)
851 else if (bc_dir == 3)
then
852 if (bc_loc == -1)
then
855 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
859 if (chemistry .and.
present(q_t_sf))
then
861 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, p - (j - 1))
865 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
869 pb_in(k, l, -j, q, i) = pb_in(k, l, p - (j - 1), q, i)
870 mv_in(k, l, -j, q, i) = mv_in(k, l, p - (j - 1), q, i)
878 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, j - 1)
882 if (chemistry .and.
present(q_t_sf))
then
884 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, j - 1)
888 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
892 pb_in(k, l, p + j, q, i) = pb_in(k, l, j - 1, q, i)
893 mv_in(k, l, p + j, q, i) = mv_in(k, l, j - 1, q, i)
904 subroutine s_axis(q_prim_vf, pb_in, mv_in, k, l)
907# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
909# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
911# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
913# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
915# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
917# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
919# 499 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
921 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
922 real(stp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
optional,
intent(inout) :: pb_in, mv_in
923 integer,
intent(in) :: k, l
928 do i = 1, eqn_idx%mom%beg
929 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
932 q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, j - 1, l + ((p + 1)/2))
934 q_prim_vf(eqn_idx%mom%end)%sf(k, -j, l) = -q_prim_vf(eqn_idx%mom%end)%sf(k, j - 1, l + ((p + 1)/2))
936 do i = eqn_idx%E, sys_size
937 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
940 do i = 1, eqn_idx%mom%beg
941 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
944 q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%mom%beg + 1)%sf(k, j - 1, l - ((p + 1)/2))
946 q_prim_vf(eqn_idx%mom%end)%sf(k, -j, l) = -q_prim_vf(eqn_idx%mom%end)%sf(k, j - 1, l - ((p + 1)/2))
948 do i = eqn_idx%E, sys_size
949 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
954 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
959 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
960 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
962 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l - ((p + 1)/2), q, i)
963 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l - ((p + 1)/2), q, i)
976# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
978# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
980# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
982# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
984# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
986# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
988# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
990# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
992# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
994# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
996# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
998# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1000# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1002# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1004# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1006# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1008# 554 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1010 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1011 integer,
intent(in) :: bc_dir, bc_loc
1012 integer,
intent(in) :: k, l
1016 if (bc_dir == 1)
then
1017 if (bc_loc == -1)
then
1020 if (i == eqn_idx%mom%beg)
then
1021 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1023 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1028 if (chemistry .and.
present(q_t_sf))
then
1029 if (
bc_x%isothermal_in)
then
1031 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1035 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1042 if (i == eqn_idx%mom%beg)
then
1043 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1045 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1050 if (chemistry .and.
present(q_t_sf))
then
1051 if (
bc_x%isothermal_out)
then
1053 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1057 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1062 else if (bc_dir == 2)
then
1063 if (bc_loc == -1)
then
1066 if (i == eqn_idx%mom%beg + 1)
then
1067 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1069 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1074 if (chemistry .and.
present(q_t_sf))
then
1075 if (
bc_y%isothermal_in)
then
1077 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1081 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1088 if (i == eqn_idx%mom%beg + 1)
then
1089 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1091 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1096 if (chemistry .and.
present(q_t_sf))
then
1097 if (
bc_y%isothermal_out)
then
1099 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1103 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1108 else if (bc_dir == 3)
then
1109 if (bc_loc == -1)
then
1112 if (i == eqn_idx%mom%end)
then
1113 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1115 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1120 if (chemistry .and.
present(q_t_sf))
then
1121 if (
bc_z%isothermal_in)
then
1123 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1127 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1134 if (i == eqn_idx%mom%end)
then
1135 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1137 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1142 if (chemistry .and.
present(q_t_sf))
then
1143 if (
bc_z%isothermal_out)
then
1145 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1149 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1162# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1164# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1166# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1168# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1170# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1172# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1174# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1176# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1178# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1180# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1182# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1184# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1186# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1188# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1190# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1192# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1194# 706 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1197 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1198 integer,
intent(in) :: bc_dir, bc_loc
1199 integer,
intent(in) :: k, l
1203 if (bc_dir == 1)
then
1204 if (bc_loc == -1)
then
1207 if (i == eqn_idx%mom%beg)
then
1208 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1209 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1210 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb2
1211 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1212 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb3
1214 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1219 if (chemistry .and.
present(q_t_sf))
then
1220 if (
bc_x%isothermal_in)
then
1222 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1226 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1233 if (i == eqn_idx%mom%beg)
then
1234 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1235 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1236 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve2
1237 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1238 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve3
1240 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1245 if (chemistry .and.
present(q_t_sf))
then
1246 if (
bc_x%isothermal_out)
then
1248 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1252 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1257 else if (bc_dir == 2)
then
1258 if (bc_loc == -1)
then
1261 if (i == eqn_idx%mom%beg)
then
1262 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb1
1263 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1264 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1265 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1266 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb3
1268 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1272 if (chemistry .and.
present(q_t_sf))
then
1273 if (
bc_y%isothermal_in)
then
1275 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1279 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1286 if (i == eqn_idx%mom%beg)
then
1287 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve1
1288 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1289 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1290 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1291 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve3
1293 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1297 if (chemistry .and.
present(q_t_sf))
then
1298 if (
bc_y%isothermal_out)
then
1300 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1304 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1309 else if (bc_dir == 3)
then
1310 if (bc_loc == -1)
then
1313 if (i == eqn_idx%mom%beg)
then
1314 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb1
1315 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1316 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb2
1317 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1318 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1320 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1324 if (chemistry .and.
present(q_t_sf))
then
1325 if (
bc_z%isothermal_in)
then
1327 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1331 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1338 if (i == eqn_idx%mom%beg)
then
1339 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve1
1340 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1341 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve2
1342 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1343 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1345 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1349 if (chemistry .and.
present(q_t_sf))
then
1350 if (
bc_z%isothermal_out)
then
1352 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1356 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1498# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1500# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1502# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1504# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1506# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1508# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1510# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1512 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
1513 integer,
intent(in) :: bc_dir, bc_loc
1514 integer,
intent(in) :: k, l
1517 if (bc_dir == 1)
then
1518 if (bc_loc == -1)
then
1522 pb_in(-j, k, l, q, i) = pb_in(0, k, l, q, i)
1523 mv_in(-j, k, l, q, i) = mv_in(0, k, l, q, i)
1531 pb_in(m + j, k, l, q, i) = pb_in(m, k, l, q, i)
1532 mv_in(m + j, k, l, q, i) = mv_in(m, k, l, q, i)
1537 else if (bc_dir == 2)
then
1538 if (bc_loc == -1)
then
1542 pb_in(k, -j, l, q, i) = pb_in(k, 0, l, q, i)
1543 mv_in(k, -j, l, q, i) = mv_in(k, 0, l, q, i)
1551 pb_in(k, n + j, l, q, i) = pb_in(k, n, l, q, i)
1552 mv_in(k, n + j, l, q, i) = mv_in(k, n, l, q, i)
1557 else if (bc_dir == 3)
then
1558 if (bc_loc == -1)
then
1562 pb_in(k, l, -j, q, i) = pb_in(k, l, 0, q, i)
1563 mv_in(k, l, -j, q, i) = mv_in(k, l, 0, q, i)
1571 pb_in(k, l, p + j, q, i) = pb_in(k, l, p, q, i)
1572 mv_in(k, l, p + j, q, i) = mv_in(k, l, p, q, i)
1674# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1676# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1678# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1680# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1682# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1684# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1686# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1688# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1690# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1692# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1694# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1696# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1698# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1700# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1702# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1704# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1706# 1102 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1708 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
1709 integer,
intent(in) :: bc_dir, bc_loc
1710 integer,
intent(in) :: k, l
1713 if (bc_dir == 1)
then
1714 if (bc_loc == -1)
then
1715 do i = 1, num_dims + 1
1717 if (i == bc_dir)
then
1718 c_divs(i)%sf(-j, k, l) = -c_divs(i)%sf(j - 1, k, l)
1720 c_divs(i)%sf(-j, k, l) = c_divs(i)%sf(j - 1, k, l)
1725 do i = 1, num_dims + 1
1727 if (i == bc_dir)
then
1728 c_divs(i)%sf(m + j, k, l) = -c_divs(i)%sf(m - (j - 1), k, l)
1730 c_divs(i)%sf(m + j, k, l) = c_divs(i)%sf(m - (j - 1), k, l)
1735 else if (bc_dir == 2)
then
1736 if (bc_loc == -1)
then
1737 do i = 1, num_dims + 1
1739 if (i == bc_dir)
then
1740 c_divs(i)%sf(k, -j, l) = -c_divs(i)%sf(k, j - 1, l)
1742 c_divs(i)%sf(k, -j, l) = c_divs(i)%sf(k, j - 1, l)
1747 do i = 1, num_dims + 1
1749 if (i == bc_dir)
then
1750 c_divs(i)%sf(k, n + j, l) = -c_divs(i)%sf(k, n - (j - 1), l)
1752 c_divs(i)%sf(k, n + j, l) = c_divs(i)%sf(k, n - (j - 1), l)
1757 else if (bc_dir == 3)
then
1758 if (bc_loc == -1)
then
1759 do i = 1, num_dims + 1
1761 if (i == bc_dir)
then
1762 c_divs(i)%sf(k, l, -j) = -c_divs(i)%sf(k, l, j - 1)
1764 c_divs(i)%sf(k, l, -j) = c_divs(i)%sf(k, l, j - 1)
1769 do i = 1, num_dims + 1
1771 if (i == bc_dir)
then
1772 c_divs(i)%sf(k, l, p + j) = -c_divs(i)%sf(k, l, p - (j - 1))
1774 c_divs(i)%sf(k, l, p + j) = c_divs(i)%sf(k, l, p - (j - 1))
2106# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2108# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2110# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2112# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2114# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2116# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2118# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2120# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2122# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2124# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2126# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2128# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2130# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2132# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2134# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2136# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2138# 1364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2140 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2141 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2142 integer,
intent(in) :: bc_dir, bc_loc
2143 integer,
intent(in) :: k, l
2144 integer,
intent(in) :: nvar
2146 real(wp) :: y_kahan, t_kahan
2148 if (bc_dir == 1)
then
2149 if (bc_loc == -1)
then
2153 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j + 1, k, l), &
2154 & kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j + 1, k, l) - kahan_comp(
beta_vars(i))%sf(j, &
2156 t_kahan = real(q_beta(
beta_vars(i))%sf(j, k, l), kind=wp) + y_kahan
2157 kahan_comp(
beta_vars(i))%sf(j, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j, k, l)) - y_kahan
2158 q_beta(
beta_vars(i))%sf(j, k, l) = t_kahan
2169 else if (bc_dir == 2)
then
2170 if (bc_loc == -1)
then
2173 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j + 1, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, &
2174 & n + j + 1, l) - kahan_comp(
beta_vars(i))%sf(k, j, l)
2175 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j, l), kind=wp) + y_kahan
2176 kahan_comp(
beta_vars(i))%sf(k, j, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j, l)) - y_kahan
2177 q_beta(
beta_vars(i))%sf(k, j, l) = t_kahan
2188 else if (bc_dir == 3)
then
2189 if (bc_loc == -1)
then
2192 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j + 1), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2193 & p + j + 1) - kahan_comp(
beta_vars(i))%sf(k, l, j)
2194 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j), kind=wp) + y_kahan
2195 kahan_comp(
beta_vars(i))%sf(k, l, j) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j)) - y_kahan
2196 q_beta(
beta_vars(i))%sf(k, l, j) = t_kahan
2303# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2305# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2307# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2309# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2311# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2313# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2315# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2317# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2319# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2321# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2323# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2325# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2327# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2329# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2331# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2333# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2335# 1493 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2337 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2338 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2339 integer,
intent(in) :: bc_dir, bc_loc
2340 integer,
intent(in) :: k, l
2341 integer,
intent(in) :: nvar
2343 real(wp) :: y_kahan, t_kahan
2348 if (bc_dir == 1)
then
2349 if (bc_loc == -1)
then
2352 y_kahan = real(q_beta(
beta_vars(i))%sf(-j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(-j, k, &
2353 & l) - kahan_comp(
beta_vars(i))%sf(j - 1, k, l)
2354 t_kahan = real(q_beta(
beta_vars(i))%sf(j - 1, k, l), kind=wp) + y_kahan
2355 kahan_comp(
beta_vars(i))%sf(j - 1, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j - 1, k, l)) - y_kahan
2356 q_beta(
beta_vars(i))%sf(j - 1, k, l) = t_kahan
2366 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j, k, &
2367 & l) - kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2368 t_kahan = real(q_beta(
beta_vars(i))%sf(m - (j - 1), k, l), kind=wp) + y_kahan
2369 kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(m - (j - 1), k, &
2371 q_beta(
beta_vars(i))%sf(m - (j - 1), k, l) = t_kahan
2375 kahan_comp(
beta_vars(i))%sf(m + j, k, l) = kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2379 else if (bc_dir == 2)
then
2380 if (bc_loc == -1)
then
2383 y_kahan = real(q_beta(
beta_vars(i))%sf(k, -j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, -j, &
2384 & l) - kahan_comp(
beta_vars(i))%sf(k, j - 1, l)
2385 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j - 1, l), kind=wp) + y_kahan
2386 kahan_comp(
beta_vars(i))%sf(k, j - 1, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j - 1, l)) - y_kahan
2387 q_beta(
beta_vars(i))%sf(k, j - 1, l) = t_kahan
2397 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, n + j, &
2398 & l) - kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2399 t_kahan = real(q_beta(
beta_vars(i))%sf(k, n - (j - 1), l), kind=wp) + y_kahan
2400 kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, n - (j - 1), &
2402 q_beta(
beta_vars(i))%sf(k, n - (j - 1), l) = t_kahan
2406 kahan_comp(
beta_vars(i))%sf(k, n + j, l) = kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2410 else if (bc_dir == 3)
then
2411 if (bc_loc == -1)
then
2414 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, -j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2415 & -j) - kahan_comp(
beta_vars(i))%sf(k, l, j - 1)
2416 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j - 1), kind=wp) + y_kahan
2417 kahan_comp(
beta_vars(i))%sf(k, l, j - 1) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j - 1)) - y_kahan
2418 q_beta(
beta_vars(i))%sf(k, l, j - 1) = t_kahan
2428 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2429 & p + j) - kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))
2430 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)), kind=wp) + y_kahan
2431 kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1)) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, &
2432 & p - (j - 1))) - y_kahan
2433 q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)) = t_kahan
2437 kahan_comp(
beta_vars(i))%sf(k, l, p + j) = kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))