420# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
422# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
424# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
426# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
428# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
430# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
432# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
434# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
436# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
438# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
440# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
442# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
444# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
446# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
448# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
450# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
452# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
454 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
455 integer,
intent(in) :: bc_dir, bc_loc
456 integer,
intent(in) :: k, l
460 if (bc_dir == 1)
then
461 if (bc_loc == -1)
then
464 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
467 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
469 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
475 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
478 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
480 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
484 else if (bc_dir == 2)
then
485 if (bc_loc == -1)
then
488 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
492 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
494 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
500 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
503 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
505 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
509 else if (bc_dir == 3)
then
510 if (bc_loc == -1)
then
513 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
516 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
518 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
524 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
527 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
529 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
538 subroutine s_symmetry(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
541# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
543# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
545# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
547# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
549# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
551# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
553# 135 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
555 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
556 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
557 integer,
intent(in) :: bc_dir, bc_loc
558 integer,
intent(in) :: k, l
562 if (bc_dir == 1)
then
563 if (bc_loc == -1)
then
565 do i = 1, eqn_idx%cont%end
566 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
569 q_prim_vf(eqn_idx%mom%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(j - 1, k, l)
571 do i = eqn_idx%mom%beg + 1, sys_size
572 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
575 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
576 q_t_sf%sf(-j, k, l) = q_t_sf%sf(j - 1, k, l)
579 if (hypoelasticity)
then
580 do i = 1, shear_bc_flip_num
581 q_prim_vf(shear_bc_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
582 & i))%sf(j - 1, k, l)
587 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
591 pb_in(-j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
592 mv_in(-j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
599 do i = 1, eqn_idx%cont%end
600 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
603 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)
605 do i = eqn_idx%mom%beg + 1, sys_size
606 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
609 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
610 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
613 if (hypoelasticity)
then
614 do i = 1, shear_bc_flip_num
615 q_prim_vf(shear_bc_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
616 & i))%sf(m - (j - 1), k, l)
620 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
624 pb_in(m + j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
625 mv_in(m + j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
631 else if (bc_dir == 2)
then
632 if (bc_loc == -1)
then
634 do i = 1, eqn_idx%mom%beg
635 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
638 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)
640 do i = eqn_idx%mom%beg + 2, sys_size
641 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
644 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
645 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l)
648 if (hypoelasticity)
then
649 do i = 1, shear_bc_flip_num
650 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, &
656 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
660 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l, q, i)
661 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l, q, i)
668 do i = 1, eqn_idx%mom%beg
669 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
672 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)
674 do i = eqn_idx%mom%beg + 2, sys_size
675 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
678 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
679 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n - (j - 1), l)
682 if (hypoelasticity)
then
683 do i = 1, shear_bc_flip_num
684 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_bc_flip_indices(2, &
685 & i))%sf(k, n - (j - 1), l)
690 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
694 pb_in(k, n + j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
695 mv_in(k, n + j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
701 else if (bc_dir == 3)
then
702 if (bc_loc == -1)
then
704 do i = 1, eqn_idx%mom%beg + 1
705 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
708 q_prim_vf(eqn_idx%mom%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, j - 1)
710 do i = eqn_idx%E, sys_size
711 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
714 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
715 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, j - 1)
718 if (hypoelasticity)
then
719 do i = 1, shear_bc_flip_num
720 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, &
726 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
730 pb_in(k, l, -j, q, i) = pb_in(k, l, j - 1, q, i)
731 mv_in(k, l, -j, q, i) = mv_in(k, l, j - 1, q, i)
738 do i = 1, eqn_idx%mom%beg + 1
739 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
742 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))
744 do i = eqn_idx%E, sys_size
745 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
748 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
749 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p - (j - 1))
752 if (hypoelasticity)
then
753 do i = 1, shear_bc_flip_num
754 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_bc_flip_indices(3, &
755 & i))%sf(k, l, p - (j - 1))
760 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
764 pb_in(k, l, p + j, q, i) = pb_in(k, l, p - (j - 1), q, i)
765 mv_in(k, l, p + j, q, i) = mv_in(k, l, p - (j - 1), q, i)
776 subroutine s_periodic(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
779# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
781# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
783# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
785# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
787# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
789# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
791# 359 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
793 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
794 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
795 integer,
intent(in) :: bc_dir, bc_loc
796 integer,
intent(in) :: k, l
800 if (bc_dir == 1)
then
801 if (bc_loc == -1)
then
804 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
808 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
810 q_t_sf%sf(-j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
814 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
818 pb_in(-j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
819 mv_in(-j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
827 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
831 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
833 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(j - 1, k, l)
837 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
841 pb_in(m + j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
842 mv_in(m + j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
848 else if (bc_dir == 2)
then
849 if (bc_loc == -1)
then
852 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
856 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
858 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, n - (j - 1), l)
862 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
866 pb_in(k, -j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
867 mv_in(k, -j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
875 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, j - 1, l)
879 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
881 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, j - 1, l)
885 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
889 pb_in(k, n + j, l, q, i) = pb_in(k, (j - 1), l, q, i)
890 mv_in(k, n + j, l, q, i) = mv_in(k, (j - 1), l, q, i)
896 else if (bc_dir == 3)
then
897 if (bc_loc == -1)
then
900 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
904 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
906 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, p - (j - 1))
910 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
914 pb_in(k, l, -j, q, i) = pb_in(k, l, p - (j - 1), q, i)
915 mv_in(k, l, -j, q, i) = mv_in(k, l, p - (j - 1), q, i)
923 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, j - 1)
927 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
929 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, j - 1)
933 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
937 pb_in(k, l, p + j, q, i) = pb_in(k, l, j - 1, q, i)
938 mv_in(k, l, p + j, q, i) = mv_in(k, l, j - 1, q, i)
949 subroutine s_axis(q_prim_vf, pb_in, mv_in, k, l, q_T_sf)
952# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
954# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
956# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
958# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
960# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
962# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
964# 518 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
966 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
967 real(stp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
optional,
intent(inout) :: pb_in, mv_in
968 integer,
intent(in) :: k, l
969 integer :: j, q, i, l_opp
974 do i = 1, eqn_idx%mom%beg
975 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
978 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))
980 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))
982 do i = eqn_idx%E, sys_size
983 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
986 do i = 1, eqn_idx%mom%beg
987 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
990 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))
992 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))
994 do i = eqn_idx%E, sys_size
995 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
1001 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1002 l_opp = l + ((p + 1)/2)
1003 if (
z_cc(l) >=
pi) l_opp = l - ((p + 1)/2)
1005 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l_opp)
1009 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
1014 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
1015 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
1017 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l - ((p + 1)/2), q, i)
1018 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l - ((p + 1)/2), q, i)
1031# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1033# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1035# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1037# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1039# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1041# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1043# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1045# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1047# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1049# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1051# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1053# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1055# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1057# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1059# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1061# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1063# 583 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1065 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1066 integer,
intent(in) :: bc_dir, bc_loc
1067 integer,
intent(in) :: k, l
1071 if (bc_dir == 1)
then
1072 if (bc_loc == -1)
then
1075 if (i == eqn_idx%mom%beg)
then
1076 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1078 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1083 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1084 if (
bc_x%isothermal_in)
then
1086 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1090 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1097 if (i == eqn_idx%mom%beg)
then
1098 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1100 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1105 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1106 if (
bc_x%isothermal_out)
then
1108 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1112 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1117 else if (bc_dir == 2)
then
1118 if (bc_loc == -1)
then
1121 if (i == eqn_idx%mom%beg + 1)
then
1122 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1124 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1129 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1130 if (
bc_y%isothermal_in)
then
1132 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1136 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1143 if (i == eqn_idx%mom%beg + 1)
then
1144 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1146 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1151 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1152 if (
bc_y%isothermal_out)
then
1154 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1158 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1163 else if (bc_dir == 3)
then
1164 if (bc_loc == -1)
then
1167 if (i == eqn_idx%mom%end)
then
1168 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1170 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1175 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1176 if (
bc_z%isothermal_in)
then
1178 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1182 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1189 if (i == eqn_idx%mom%end)
then
1190 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1192 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1197 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1198 if (
bc_z%isothermal_out)
then
1200 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1204 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1217# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1219# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1221# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1223# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1225# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1227# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1229# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1231# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1233# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1235# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1237# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1239# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1241# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1243# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1245# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1247# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1249# 735 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1252 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1253 integer,
intent(in) :: bc_dir, bc_loc
1254 integer,
intent(in) :: k, l
1258 if (bc_dir == 1)
then
1259 if (bc_loc == -1)
then
1262 if (i == eqn_idx%mom%beg)
then
1263 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1264 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1265 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb2
1266 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1267 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb3
1269 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1274 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1275 if (
bc_x%isothermal_in)
then
1277 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1281 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1288 if (i == eqn_idx%mom%beg)
then
1289 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1290 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1291 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve2
1292 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1293 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve3
1295 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1300 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1301 if (
bc_x%isothermal_out)
then
1303 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1307 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1312 else if (bc_dir == 2)
then
1313 if (bc_loc == -1)
then
1316 if (i == eqn_idx%mom%beg)
then
1317 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb1
1318 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1319 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1320 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1321 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb3
1323 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1327 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1328 if (
bc_y%isothermal_in)
then
1330 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1334 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1341 if (i == eqn_idx%mom%beg)
then
1342 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve1
1343 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1344 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1345 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1346 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve3
1348 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1352 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1353 if (
bc_y%isothermal_out)
then
1355 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1359 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1364 else if (bc_dir == 3)
then
1365 if (bc_loc == -1)
then
1368 if (i == eqn_idx%mom%beg)
then
1369 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb1
1370 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1371 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb2
1372 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1373 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1375 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1379 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1380 if (
bc_z%isothermal_in)
then
1382 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1386 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1393 if (i == eqn_idx%mom%beg)
then
1394 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve1
1395 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1396 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve2
1397 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1398 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1400 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1404 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1405 if (
bc_z%isothermal_out)
then
1407 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1411 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1424# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1426# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1428# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1430# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1432# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1434# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1436# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1438# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1440# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1442# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1444# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1446# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1448# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1450# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1452# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1454# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1456# 908 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1458 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1459 integer,
intent(in) :: bc_dir, bc_loc
1460 integer,
intent(in) :: k, l
1469 if (bc_dir == 1)
then
1470 if (bc_loc == -1)
then
1473 q_prim_vf(i)%sf(-j, k, l) =
bc_buffers(1, 1)%sf(i, k, l)
1476 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1478 q_t_sf%sf(-j, k, l) =
bc_buffers(1, 1)%sf(sys_size + 1, k, l)
1484 q_prim_vf(i)%sf(m + j, k, l) =
bc_buffers(1, 2)%sf(i, k, l)
1487 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1489 q_t_sf%sf(m + j, k, l) =
bc_buffers(1, 2)%sf(sys_size + 1, k, l)
1493 else if (bc_dir == 2)
then
1494# 946 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1495 if (bc_loc == -1)
then
1498 q_prim_vf(i)%sf(k, -j, l) =
bc_buffers(2, 1)%sf(k, i, l)
1501 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1503 q_t_sf%sf(k, -j, l) =
bc_buffers(2, 1)%sf(k, sys_size + 1, l)
1509 q_prim_vf(i)%sf(k, n + j, l) =
bc_buffers(2, 2)%sf(k, i, l)
1512 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1514 q_t_sf%sf(k, n + j, l) =
bc_buffers(2, 2)%sf(k, sys_size + 1, l)
1518# 970 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1519 else if (bc_dir == 3)
then
1520# 972 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1521 if (bc_loc == -1)
then
1524 q_prim_vf(i)%sf(k, l, -j) =
bc_buffers(3, 1)%sf(k, l, i)
1527 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1529 q_t_sf%sf(k, l, -j) =
bc_buffers(3, 1)%sf(k, l, sys_size + 1)
1535 q_prim_vf(i)%sf(k, l, p + j) =
bc_buffers(3, 2)%sf(k, l, i)
1538 if ((chemistry .or. heat_conduction) .and.
present(q_t_sf))
then
1540 q_t_sf%sf(k, l, p + j) =
bc_buffers(3, 2)%sf(k, l, sys_size + 1)
1544# 996 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1553# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1555# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1557# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1559# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1561# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1563# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1565# 1003 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1567 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
1568 integer,
intent(in) :: bc_dir, bc_loc
1569 integer,
intent(in) :: k, l
1572 if (bc_dir == 1)
then
1573 if (bc_loc == -1)
then
1577 pb_in(-j, k, l, q, i) = pb_in(0, k, l, q, i)
1578 mv_in(-j, k, l, q, i) = mv_in(0, k, l, q, i)
1586 pb_in(m + j, k, l, q, i) = pb_in(m, k, l, q, i)
1587 mv_in(m + j, k, l, q, i) = mv_in(m, k, l, q, i)
1592 else if (bc_dir == 2)
then
1593 if (bc_loc == -1)
then
1597 pb_in(k, -j, l, q, i) = pb_in(k, 0, l, q, i)
1598 mv_in(k, -j, l, q, i) = mv_in(k, 0, l, q, i)
1606 pb_in(k, n + j, l, q, i) = pb_in(k, n, l, q, i)
1607 mv_in(k, n + j, l, q, i) = mv_in(k, n, l, q, i)
1612 else if (bc_dir == 3)
then
1613 if (bc_loc == -1)
then
1617 pb_in(k, l, -j, q, i) = pb_in(k, l, 0, q, i)
1618 mv_in(k, l, -j, q, i) = mv_in(k, l, 0, q, i)
1626 pb_in(k, l, p + j, q, i) = pb_in(k, l, p, q, i)
1627 mv_in(k, l, p + j, q, i) = mv_in(k, l, p, q, i)
1729# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1731# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1733# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1735# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1737# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1739# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1741# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1743# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1745# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1747# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1749# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1751# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1753# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1755# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1757# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1759# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1761# 1131 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1763 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
1764 integer,
intent(in) :: bc_dir, bc_loc
1765 integer,
intent(in) :: k, l
1768 if (bc_dir == 1)
then
1769 if (bc_loc == -1)
then
1770 do i = 1, num_dims + 1
1772 if (i == bc_dir)
then
1773 c_divs(i)%sf(-j, k, l) = -c_divs(i)%sf(j - 1, k, l)
1775 c_divs(i)%sf(-j, k, l) = c_divs(i)%sf(j - 1, k, l)
1780 do i = 1, num_dims + 1
1782 if (i == bc_dir)
then
1783 c_divs(i)%sf(m + j, k, l) = -c_divs(i)%sf(m - (j - 1), k, l)
1785 c_divs(i)%sf(m + j, k, l) = c_divs(i)%sf(m - (j - 1), k, l)
1790 else if (bc_dir == 2)
then
1791 if (bc_loc == -1)
then
1792 do i = 1, num_dims + 1
1794 if (i == bc_dir)
then
1795 c_divs(i)%sf(k, -j, l) = -c_divs(i)%sf(k, j - 1, l)
1797 c_divs(i)%sf(k, -j, l) = c_divs(i)%sf(k, j - 1, l)
1802 do i = 1, num_dims + 1
1804 if (i == bc_dir)
then
1805 c_divs(i)%sf(k, n + j, l) = -c_divs(i)%sf(k, n - (j - 1), l)
1807 c_divs(i)%sf(k, n + j, l) = c_divs(i)%sf(k, n - (j - 1), l)
1812 else if (bc_dir == 3)
then
1813 if (bc_loc == -1)
then
1814 do i = 1, num_dims + 1
1816 if (i == bc_dir)
then
1817 c_divs(i)%sf(k, l, -j) = -c_divs(i)%sf(k, l, j - 1)
1819 c_divs(i)%sf(k, l, -j) = c_divs(i)%sf(k, l, j - 1)
1824 do i = 1, num_dims + 1
1826 if (i == bc_dir)
then
1827 c_divs(i)%sf(k, l, p + j) = -c_divs(i)%sf(k, l, p - (j - 1))
1829 c_divs(i)%sf(k, l, p + j) = c_divs(i)%sf(k, l, p - (j - 1))
2161# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2163# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2165# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2167# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2169# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2171# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2173# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2175# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2177# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2179# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2181# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2183# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2185# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2187# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2189# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2191# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2193# 1393 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2195 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2196 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2197 integer,
intent(in) :: bc_dir, bc_loc
2198 integer,
intent(in) :: k, l
2199 integer,
intent(in) :: nvar
2201 real(wp) :: y_kahan, t_kahan
2203 if (bc_dir == 1)
then
2204 if (bc_loc == -1)
then
2208 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j + 1, k, l), &
2209 & kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j + 1, k, l) - kahan_comp(
beta_vars(i))%sf(j, &
2211 t_kahan = real(q_beta(
beta_vars(i))%sf(j, k, l), kind=wp) + y_kahan
2212 kahan_comp(
beta_vars(i))%sf(j, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j, k, l)) - y_kahan
2213 q_beta(
beta_vars(i))%sf(j, k, l) = t_kahan
2224 else if (bc_dir == 2)
then
2225 if (bc_loc == -1)
then
2228 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j + 1, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, &
2229 & n + j + 1, l) - kahan_comp(
beta_vars(i))%sf(k, j, l)
2230 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j, l), kind=wp) + y_kahan
2231 kahan_comp(
beta_vars(i))%sf(k, j, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j, l)) - y_kahan
2232 q_beta(
beta_vars(i))%sf(k, j, l) = t_kahan
2243 else if (bc_dir == 3)
then
2244 if (bc_loc == -1)
then
2247 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j + 1), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2248 & p + j + 1) - kahan_comp(
beta_vars(i))%sf(k, l, j)
2249 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j), kind=wp) + y_kahan
2250 kahan_comp(
beta_vars(i))%sf(k, l, j) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j)) - y_kahan
2251 q_beta(
beta_vars(i))%sf(k, l, j) = t_kahan
2358# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2360# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2362# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2364# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2366# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2368# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2370# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2372# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2374# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2376# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2378# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2380# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2382# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2384# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2386# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2388# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2390# 1522 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
2392 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: q_beta
2393 type(
scalar_field),
dimension(num_dims + 1),
intent(inout) :: kahan_comp
2394 integer,
intent(in) :: bc_dir, bc_loc
2395 integer,
intent(in) :: k, l
2396 integer,
intent(in) :: nvar
2398 real(wp) :: y_kahan, t_kahan
2403 if (bc_dir == 1)
then
2404 if (bc_loc == -1)
then
2407 y_kahan = real(q_beta(
beta_vars(i))%sf(-j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(-j, k, &
2408 & l) - kahan_comp(
beta_vars(i))%sf(j - 1, k, l)
2409 t_kahan = real(q_beta(
beta_vars(i))%sf(j - 1, k, l), kind=wp) + y_kahan
2410 kahan_comp(
beta_vars(i))%sf(j - 1, k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(j - 1, k, l)) - y_kahan
2411 q_beta(
beta_vars(i))%sf(j - 1, k, l) = t_kahan
2421 y_kahan = real(q_beta(
beta_vars(i))%sf(m + j, k, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(m + j, k, &
2422 & l) - kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2423 t_kahan = real(q_beta(
beta_vars(i))%sf(m - (j - 1), k, l), kind=wp) + y_kahan
2424 kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l) = (t_kahan - q_beta(
beta_vars(i))%sf(m - (j - 1), k, &
2426 q_beta(
beta_vars(i))%sf(m - (j - 1), k, l) = t_kahan
2430 kahan_comp(
beta_vars(i))%sf(m + j, k, l) = kahan_comp(
beta_vars(i))%sf(m - (j - 1), k, l)
2434 else if (bc_dir == 2)
then
2435 if (bc_loc == -1)
then
2438 y_kahan = real(q_beta(
beta_vars(i))%sf(k, -j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, -j, &
2439 & l) - kahan_comp(
beta_vars(i))%sf(k, j - 1, l)
2440 t_kahan = real(q_beta(
beta_vars(i))%sf(k, j - 1, l), kind=wp) + y_kahan
2441 kahan_comp(
beta_vars(i))%sf(k, j - 1, l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, j - 1, l)) - y_kahan
2442 q_beta(
beta_vars(i))%sf(k, j - 1, l) = t_kahan
2452 y_kahan = real(q_beta(
beta_vars(i))%sf(k, n + j, l), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, n + j, &
2453 & l) - kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2454 t_kahan = real(q_beta(
beta_vars(i))%sf(k, n - (j - 1), l), kind=wp) + y_kahan
2455 kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l) = (t_kahan - q_beta(
beta_vars(i))%sf(k, n - (j - 1), &
2457 q_beta(
beta_vars(i))%sf(k, n - (j - 1), l) = t_kahan
2461 kahan_comp(
beta_vars(i))%sf(k, n + j, l) = kahan_comp(
beta_vars(i))%sf(k, n - (j - 1), l)
2465 else if (bc_dir == 3)
then
2466 if (bc_loc == -1)
then
2469 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, -j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2470 & -j) - kahan_comp(
beta_vars(i))%sf(k, l, j - 1)
2471 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, j - 1), kind=wp) + y_kahan
2472 kahan_comp(
beta_vars(i))%sf(k, l, j - 1) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, j - 1)) - y_kahan
2473 q_beta(
beta_vars(i))%sf(k, l, j - 1) = t_kahan
2483 y_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p + j), kind=wp) + kahan_comp(
beta_vars(i))%sf(k, l, &
2484 & p + j) - kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))
2485 t_kahan = real(q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)), kind=wp) + y_kahan
2486 kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1)) = (t_kahan - q_beta(
beta_vars(i))%sf(k, l, &
2487 & p - (j - 1))) - y_kahan
2488 q_beta(
beta_vars(i))%sf(k, l, p - (j - 1)) = t_kahan
2492 kahan_comp(
beta_vars(i))%sf(k, l, p + j) = kahan_comp(
beta_vars(i))%sf(k, l, p - (j - 1))