459# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
461# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
463# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
465# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
467# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
469# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
471# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
473# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
475# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
477# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
479# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
481# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
483# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
485# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
487# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
489# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
491# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
493# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
494 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
495 integer,
intent(in) :: bc_dir, bc_loc
496 integer,
intent(in) :: k, l
500 if (bc_dir == 1)
then
501 if (bc_loc == -1)
then
504 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
507 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
509 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
515 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
518 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
520 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
524 else if (bc_dir == 2)
then
525 if (bc_loc == -1)
then
528 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
532 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
534 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
540 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
543 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
545 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
549 else if (bc_dir == 3)
then
550 if (bc_loc == -1)
then
553 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
556 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
558 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
564 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
567 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
569 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
578 subroutine s_symmetry(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
581# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
583# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
585# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
587# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
589# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
591# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
593# 139 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
595# 140 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
596 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
597 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
598 integer,
intent(in) :: bc_dir, bc_loc
599 integer,
intent(in) :: k, l
603 if (bc_dir == 1)
then
604 if (bc_loc == -1)
then
606 do i = 1, eqn_idx%cont%end
607 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
610 q_prim_vf(eqn_idx%mom%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(j - 1, k, l)
612 do i = eqn_idx%mom%beg + 1, sys_size
613 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
616 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
617 q_t_sf%sf(-j, k, l) = q_t_sf%sf(j - 1, k, l)
620 if (hypoelasticity)
then
621 do i = 1, shear_bc_flip_num
622 q_prim_vf(shear_bc_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
623 & i))%sf(j - 1, k, l)
628 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
632 pb_in(-j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
633 mv_in(-j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
640 do i = 1, eqn_idx%cont%end
641 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
644 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)
646 do i = eqn_idx%mom%beg + 1, sys_size
647 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
650 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
651 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
654 if (hypoelasticity)
then
655 do i = 1, shear_bc_flip_num
656 q_prim_vf(shear_bc_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
657 & i))%sf(m - (j - 1), k, l)
661 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
665 pb_in(m + j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
666 mv_in(m + j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
672 else if (bc_dir == 2)
then
673 if (bc_loc == -1)
then
675 do i = 1, eqn_idx%mom%beg
676 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
679 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)
681 do i = eqn_idx%mom%beg + 2, sys_size
682 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
685 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
686 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l)
689 if (hypoelasticity)
then
690 do i = 1, shear_bc_flip_num
691 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, &
697 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
701 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l, q, i)
702 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l, q, i)
709 do i = 1, eqn_idx%mom%beg
710 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
713 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)
715 do i = eqn_idx%mom%beg + 2, sys_size
716 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
719 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
720 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n - (j - 1), l)
723 if (hypoelasticity)
then
724 do i = 1, shear_bc_flip_num
725 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_bc_flip_indices(2, &
726 & i))%sf(k, n - (j - 1), l)
731 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
735 pb_in(k, n + j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
736 mv_in(k, n + j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
742 else if (bc_dir == 3)
then
743 if (bc_loc == -1)
then
745 do i = 1, eqn_idx%mom%beg + 1
746 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
749 q_prim_vf(eqn_idx%mom%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, j - 1)
751 do i = eqn_idx%E, sys_size
752 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
755 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
756 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, j - 1)
759 if (hypoelasticity)
then
760 do i = 1, shear_bc_flip_num
761 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, &
767 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
771 pb_in(k, l, -j, q, i) = pb_in(k, l, j - 1, q, i)
772 mv_in(k, l, -j, q, i) = mv_in(k, l, j - 1, q, i)
779 do i = 1, eqn_idx%mom%beg + 1
780 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
783 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))
785 do i = eqn_idx%E, sys_size
786 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
789 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
790 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p - (j - 1))
793 if (hypoelasticity)
then
794 do i = 1, shear_bc_flip_num
795 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_bc_flip_indices(3, &
796 & i))%sf(k, l, p - (j - 1))
801 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
805 pb_in(k, l, p + j, q, i) = pb_in(k, l, p - (j - 1), q, i)
806 mv_in(k, l, p + j, q, i) = mv_in(k, l, p - (j - 1), q, i)
817 subroutine s_periodic(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
820# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
822# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
824# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
826# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
828# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
830# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
832# 363 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
834# 364 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
835 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
836 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
837 integer,
intent(in) :: bc_dir, bc_loc
838 integer,
intent(in) :: k, l
842 if (bc_dir == 1)
then
843 if (bc_loc == -1)
then
846 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
850 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
852 q_t_sf%sf(-j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
856 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
860 pb_in(-j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
861 mv_in(-j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
869 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
873 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
875 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(j - 1, k, l)
879 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
883 pb_in(m + j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
884 mv_in(m + j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
890 else if (bc_dir == 2)
then
891 if (bc_loc == -1)
then
894 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
898 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
900 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, n - (j - 1), l)
904 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
908 pb_in(k, -j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
909 mv_in(k, -j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
917 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, j - 1, l)
921 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
923 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, j - 1, l)
927 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
931 pb_in(k, n + j, l, q, i) = pb_in(k, (j - 1), l, q, i)
932 mv_in(k, n + j, l, q, i) = mv_in(k, (j - 1), l, q, i)
938 else if (bc_dir == 3)
then
939 if (bc_loc == -1)
then
942 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
946 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
948 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, p - (j - 1))
952 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
956 pb_in(k, l, -j, q, i) = pb_in(k, l, p - (j - 1), q, i)
957 mv_in(k, l, -j, q, i) = mv_in(k, l, p - (j - 1), q, i)
965 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, j - 1)
969 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
971 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, j - 1)
975 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
979 pb_in(k, l, p + j, q, i) = pb_in(k, l, j - 1, q, i)
980 mv_in(k, l, p + j, q, i) = mv_in(k, l, j - 1, q, i)
991 subroutine s_axis(q_prim_vf, pb_in, mv_in, k, l, q_T_sf)
994# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
996# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
998# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1000# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1002# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1004# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1006# 522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1008# 523 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1009 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1010 real(stp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
optional,
intent(inout) :: pb_in, mv_in
1011 integer,
intent(in) :: k, l
1012 integer :: j, q, i, l_opp
1017 do i = 1, eqn_idx%mom%beg
1018 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
1021 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))
1023 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))
1025 do i = eqn_idx%E, sys_size
1026 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
1029 do i = 1, eqn_idx%mom%beg
1030 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
1033 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))
1035 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))
1037 do i = eqn_idx%E, sys_size
1038 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
1044 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1045 l_opp = l + ((p + 1)/2)
1046 if (
z_cc(l) >=
pi) l_opp = l - ((p + 1)/2)
1048 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l_opp)
1052 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
1057 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
1058 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
1060 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l - ((p + 1)/2), q, i)
1061 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l - ((p + 1)/2), q, i)
1074# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1076# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1078# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1080# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1082# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1084# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1086# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1088# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1090# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1092# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1094# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1096# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1098# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1100# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1102# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1104# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1106# 587 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1108# 588 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1109 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1110 integer,
intent(in) :: bc_dir, bc_loc
1111 integer,
intent(in) :: k, l
1115 if (bc_dir == 1)
then
1116 if (bc_loc == -1)
then
1119 if (i == eqn_idx%mom%beg)
then
1120 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1122 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1127 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1128 if (
bc_x%isothermal_in)
then
1130 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1134 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1141 if (i == eqn_idx%mom%beg)
then
1142 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1144 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1149 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1150 if (
bc_x%isothermal_out)
then
1152 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1156 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1161 else if (bc_dir == 2)
then
1162 if (bc_loc == -1)
then
1165 if (i == eqn_idx%mom%beg + 1)
then
1166 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1168 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1173 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1174 if (
bc_y%isothermal_in)
then
1176 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1180 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1187 if (i == eqn_idx%mom%beg + 1)
then
1188 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1190 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1195 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1196 if (
bc_y%isothermal_out)
then
1198 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1202 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1207 else if (bc_dir == 3)
then
1208 if (bc_loc == -1)
then
1211 if (i == eqn_idx%mom%end)
then
1212 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1214 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1219 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1220 if (
bc_z%isothermal_in)
then
1222 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1226 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1233 if (i == eqn_idx%mom%end)
then
1234 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1236 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1241 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1242 if (
bc_z%isothermal_out)
then
1244 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1248 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1261# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1263# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1265# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1267# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1269# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1271# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1273# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1275# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1277# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1279# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1281# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1283# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1285# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1287# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1289# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1291# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1293# 739 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1295# 740 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1297 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1298 integer,
intent(in) :: bc_dir, bc_loc
1299 integer,
intent(in) :: k, l
1303 if (bc_dir == 1)
then
1304 if (bc_loc == -1)
then
1307 if (i == eqn_idx%mom%beg)
then
1308 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1309 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1310 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb2
1311 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1312 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb3
1314 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1319 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1320 if (
bc_x%isothermal_in)
then
1322 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1326 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1333 if (i == eqn_idx%mom%beg)
then
1334 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1335 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1336 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve2
1337 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1338 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve3
1340 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1345 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1346 if (
bc_x%isothermal_out)
then
1348 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1352 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1357 else if (bc_dir == 2)
then
1358 if (bc_loc == -1)
then
1361 if (i == eqn_idx%mom%beg)
then
1362 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb1
1363 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1364 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1365 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1366 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb3
1368 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1372 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1373 if (
bc_y%isothermal_in)
then
1375 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1379 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1386 if (i == eqn_idx%mom%beg)
then
1387 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve1
1388 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1389 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1390 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1391 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve3
1393 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1397 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1398 if (
bc_y%isothermal_out)
then
1400 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1404 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1409 else if (bc_dir == 3)
then
1410 if (bc_loc == -1)
then
1413 if (i == eqn_idx%mom%beg)
then
1414 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb1
1415 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1416 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb2
1417 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1418 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1420 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1424 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1425 if (
bc_z%isothermal_in)
then
1427 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1431 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1438 if (i == eqn_idx%mom%beg)
then
1439 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve1
1440 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1441 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve2
1442 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1443 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1445 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1449 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1450 if (
bc_z%isothermal_out)
then
1452 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1456 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1469# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1471# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1473# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1475# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1477# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1479# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1481# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1483# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1485# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1487# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1489# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1491# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1493# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1495# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1497# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1499# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1501# 912 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1503# 913 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1504 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1505 integer,
intent(in) :: bc_dir, bc_loc
1506 integer,
intent(in) :: k, l
1515 if (bc_dir == 1)
then
1516 if (bc_loc == -1)
then
1522 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1524 q_t_sf%sf(-j, k, l) =
bc_buffers(1, 1)%sf(sys_size + 1, k, l)
1533 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1535 q_t_sf%sf(m + j, k, l) =
bc_buffers(1, 2)%sf(sys_size + 1, k, l)
1539 else if (bc_dir == 2)
then
1540# 950 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1541 if (bc_loc == -1)
then
1547 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1549 q_t_sf%sf(k, -j, l) =
bc_buffers(2, 1)%sf(k, sys_size + 1, l)
1558 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1560 q_t_sf%sf(k, n + j, l) =
bc_buffers(2, 2)%sf(k, sys_size + 1, l)
1564# 974 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1565 else if (bc_dir == 3)
then
1566# 976 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1567 if (bc_loc == -1)
then
1573 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1575 q_t_sf%sf(k, l, -j) =
bc_buffers(3, 1)%sf(k, l, sys_size + 1)
1584 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1586 q_t_sf%sf(k, l, p + j) =
bc_buffers(3, 2)%sf(k, l, sys_size + 1)
1590# 1000 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1625# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1627# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1629# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1631# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1633# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1635# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1637# 1018 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1639# 1019 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1640 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
1641 integer,
intent(in) :: bc_dir, bc_loc
1642 integer,
intent(in) :: k, l
1645 if (bc_dir == 1)
then
1646 if (bc_loc == -1)
then
1650 pb_in(-j, k, l, q, i) = pb_in(0, k, l, q, i)
1651 mv_in(-j, k, l, q, i) = mv_in(0, k, l, q, i)
1659 pb_in(m + j, k, l, q, i) = pb_in(m, k, l, q, i)
1660 mv_in(m + j, k, l, q, i) = mv_in(m, k, l, q, i)
1665 else if (bc_dir == 2)
then
1666 if (bc_loc == -1)
then
1670 pb_in(k, -j, l, q, i) = pb_in(k, 0, l, q, i)
1671 mv_in(k, -j, l, q, i) = mv_in(k, 0, l, q, i)
1679 pb_in(k, n + j, l, q, i) = pb_in(k, n, l, q, i)
1680 mv_in(k, n + j, l, q, i) = mv_in(k, n, l, q, i)
1685 else if (bc_dir == 3)
then
1686 if (bc_loc == -1)
then
1690 pb_in(k, l, -j, q, i) = pb_in(k, l, 0, q, i)
1691 mv_in(k, l, -j, q, i) = mv_in(k, l, 0, q, i)
1699 pb_in(k, l, p + j, q, i) = pb_in(k, l, p, q, i)
1700 mv_in(k, l, p + j, q, i) = mv_in(k, l, p, q, i)
1803# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1805# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1807# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1809# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1811# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1813# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1815# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1817# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1819# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1821# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1823# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1825# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1827# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1829# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1831# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1833# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1835# 1146 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1837# 1147 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1838 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
1839 integer,
intent(in) :: bc_dir, bc_loc
1840 integer,
intent(in) :: k, l
1843 if (bc_dir == 1)
then
1844 if (bc_loc == -1)
then
1845 do i = 1, num_dims + 1
1847 if (i == bc_dir)
then
1848 c_divs(i)%sf(-j, k, l) = -c_divs(i)%sf(j - 1, k, l)
1850 c_divs(i)%sf(-j, k, l) = c_divs(i)%sf(j - 1, k, l)
1855 do i = 1, num_dims + 1
1857 if (i == bc_dir)
then
1858 c_divs(i)%sf(m + j, k, l) = -c_divs(i)%sf(m - (j - 1), k, l)
1860 c_divs(i)%sf(m + j, k, l) = c_divs(i)%sf(m - (j - 1), k, l)
1865 else if (bc_dir == 2)
then
1866 if (bc_loc == -1)
then
1867 do i = 1, num_dims + 1
1869 if (i == bc_dir)
then
1870 c_divs(i)%sf(k, -j, l) = -c_divs(i)%sf(k, j - 1, l)
1872 c_divs(i)%sf(k, -j, l) = c_divs(i)%sf(k, j - 1, l)
1877 do i = 1, num_dims + 1
1879 if (i == bc_dir)
then
1880 c_divs(i)%sf(k, n + j, l) = -c_divs(i)%sf(k, n - (j - 1), l)
1882 c_divs(i)%sf(k, n + j, l) = c_divs(i)%sf(k, n - (j - 1), l)
1887 else if (bc_dir == 3)
then
1888 if (bc_loc == -1)
then
1889 do i = 1, num_dims + 1
1891 if (i == bc_dir)
then
1892 c_divs(i)%sf(k, l, -j) = -c_divs(i)%sf(k, l, j - 1)
1894 c_divs(i)%sf(k, l, -j) = c_divs(i)%sf(k, l, j - 1)
1899 do i = 1, num_dims + 1
1901 if (i == bc_dir)
then
1902 c_divs(i)%sf(k, l, p + j) = -c_divs(i)%sf(k, l, p - (j - 1))
1904 c_divs(i)%sf(k, l, p + j) = c_divs(i)%sf(k, l, p - (j - 1))
2240# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2242# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2244# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2246# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2248# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2250# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2252# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2254# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2256# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2258# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2260# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2262# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2264# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2266# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2268# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2270# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2272# 1408 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2274# 1409 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2275 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2276 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2277 integer,
intent(in) :: bc_dir, bc_loc
2278 integer,
intent(in) :: k, l
2279 integer,
intent(in) :: nvar
2281 real(wp) :: y_kahan, t_kahan
2283 if (bc_dir == 1)
then
2284 if (bc_loc == -1)
then
2288 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j + 1, k, l), &
2289 & kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j + 1, k, l) - kahan_comp(
beta_vars(i))%sf(j, &
2291 t_kahan = real(q_beta(
beta_vars(i))%sf(j, k, l), kind=wp) + y_kahan
2292 kahan_comp(
beta_vars(i))%sf(j, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j, k, l)) - y_kahan
2293 q_beta(
beta_vars(i))%sf(j, k, l) = t_kahan
2304 else if (bc_dir == 2)
then
2305 if (bc_loc == -1)
then
2308 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j + 1, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, &
2309 & n + j + 1, l) - kahan_comp(
beta_vars(i))%sf(k, j, l)
2310 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j, l), kind=wp) + y_kahan
2311 kahan_comp(
beta_vars(i))%sf(k, j, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j, l)) - y_kahan
2312 q_beta(
beta_vars(i))%sf(k, j, l) = t_kahan
2323 else if (bc_dir == 3)
then
2324 if (bc_loc == -1)
then
2327 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j + 1), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2328 & p + j + 1) - kahan_comp(
beta_vars(i))%sf(k, l, j)
2329 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j), kind=wp) + y_kahan
2330 kahan_comp(
beta_vars(i))%sf(k, l, j) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j)) - y_kahan
2331 q_beta(
beta_vars(i))%sf(k, l, j) = t_kahan
2439# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2441# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2443# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2445# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2447# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2449# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2451# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2453# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2455# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2457# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2459# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2461# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2463# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2465# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2467# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2469# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2471# 1537 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2473# 1538 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2474 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2475 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2476 integer,
intent(in) :: bc_dir, bc_loc
2477 integer,
intent(in) :: k, l
2478 integer,
intent(in) :: nvar
2480 real(wp) :: y_kahan, t_kahan
2485 if (bc_dir == 1)
then
2486 if (bc_loc == -1)
then
2489 y_kahan = real(q_beta(
beta_vars(i))%sf(-j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(-j, k, &
2490 & l) - kahan_comp(
beta_vars(i))%sf(j - 1, k, l)
2491 t_kahan = real(q_beta(
beta_vars(i))%sf(j - 1, k, l), kind=wp) + y_kahan
2492 kahan_comp(
beta_vars(i))%sf(j - 1, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j - 1, k, l)) - y_kahan
2493 q_beta(
beta_vars(i))%sf(j - 1, k, l) = t_kahan
2503 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j, k, &
2504 & l) - kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2505 t_kahan = real(q_beta(
beta_vars(i))%sf(m - (j - 1), k, l), kind=wp) + y_kahan
2506 kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(m - (j - 1), k, &
2508 q_beta(
beta_vars(i))%sf(m - (j - 1), k, l) = t_kahan
2512 kahan_comp(
beta_vars(i))%sf(m + j, k, l) = kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2516 else if (bc_dir == 2)
then
2517 if (bc_loc == -1)
then
2520 y_kahan = real(q_beta(
beta_vars(i))%sf(k, -j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, -j, &
2521 & l) - kahan_comp(
beta_vars(i))%sf(k, j - 1, l)
2522 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j - 1, l), kind=wp) + y_kahan
2523 kahan_comp(
beta_vars(i))%sf(k, j - 1, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j - 1, l)) - y_kahan
2524 q_beta(
beta_vars(i))%sf(k, j - 1, l) = t_kahan
2534 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, n + j, &
2535 & l) - kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2536 t_kahan = real(q_beta(
beta_vars(i))%sf(k, n - (j - 1), l), kind=wp) + y_kahan
2537 kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, n - (j - 1), &
2539 q_beta(
beta_vars(i))%sf(k, n - (j - 1), l) = t_kahan
2543 kahan_comp(
beta_vars(i))%sf(k, n + j, l) = kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2547 else if (bc_dir == 3)
then
2548 if (bc_loc == -1)
then
2551 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, -j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2552 & -j) - kahan_comp(
beta_vars(i))%sf(k, l, j - 1)
2553 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j - 1), kind=wp) + y_kahan
2554 kahan_comp(
beta_vars(i))%sf(k, l, j - 1) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j - 1)) - y_kahan
2555 q_beta(
beta_vars(i))%sf(k, l, j - 1) = t_kahan
2565 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2566 & p + j) - kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))
2567 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)), kind=wp) + y_kahan
2568 kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1)) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, &
2569 & p - (j - 1))) - y_kahan
2570 q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)) = t_kahan
2574 kahan_comp(
beta_vars(i))%sf(k, l, p + j) = kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))