361# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
363# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
365# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
367# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
369# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
371# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
373# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
375# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
377# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
379# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
381# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
383# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
385# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
387# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
389# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
391# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
393# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
395 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
396 integer,
intent(in) :: bc_dir, bc_loc
397 integer,
intent(in) :: k, l
401 if (bc_dir == 1)
then
402 if (bc_loc == -1)
then
405 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
408 if (chemistry .and.
present(q_t_sf))
then
410 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
416 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
419 if (chemistry .and.
present(q_t_sf))
then
421 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
425 else if (bc_dir == 2)
then
426 if (bc_loc == -1)
then
429 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
433 if (chemistry .and.
present(q_t_sf))
then
435 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
441 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
444 if (chemistry .and.
present(q_t_sf))
then
446 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
450 else if (bc_dir == 3)
then
451 if (bc_loc == -1)
then
454 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
457 if (chemistry .and.
present(q_t_sf))
then
459 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
465 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
468 if (chemistry .and.
present(q_t_sf))
then
470 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
479 subroutine s_symmetry(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
482# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
484# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
486# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
488# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
490# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
492# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
494# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
496 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
497 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
498 integer,
intent(in) :: bc_dir, bc_loc
499 integer,
intent(in) :: k, l
503 if (bc_dir == 1)
then
504 if (bc_loc == -1)
then
506 do i = 1, eqn_idx%cont%end
507 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
510 q_prim_vf(eqn_idx%mom%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(j - 1, k, l)
512 do i = eqn_idx%mom%beg + 1, sys_size
513 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
516 if (chemistry .and.
present(q_t_sf))
then
517 q_t_sf%sf(-j, k, l) = q_t_sf%sf(j - 1, k, l)
521 do i = 1, shear_bc_flip_num
522 q_prim_vf(shear_bc_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
523 & i))%sf(j - 1, k, l)
527 if (hyperelasticity)
then
528 q_prim_vf(eqn_idx%xi%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(j - 1, k, l)
532 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
536 pb_in(-j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
537 mv_in(-j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
544 do i = 1, eqn_idx%cont%end
545 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
548 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)
550 do i = eqn_idx%mom%beg + 1, sys_size
551 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
554 if (chemistry .and.
present(q_t_sf))
then
555 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
559 do i = 1, shear_bc_flip_num
560 q_prim_vf(shear_bc_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
561 & i))%sf(m - (j - 1), k, l)
565 if (hyperelasticity)
then
566 q_prim_vf(eqn_idx%xi%beg)%sf(m + j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(m - (j - 1), k, l)
569 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
573 pb_in(m + j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
574 mv_in(m + j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
580 else if (bc_dir == 2)
then
581 if (bc_loc == -1)
then
583 do i = 1, eqn_idx%mom%beg
584 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
587 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)
589 do i = eqn_idx%mom%beg + 2, sys_size
590 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
593 if (chemistry .and.
present(q_t_sf))
then
594 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l)
598 do i = 1, shear_bc_flip_num
599 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, &
604 if (hyperelasticity)
then
605 q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, j - 1, l)
609 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
613 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l, q, i)
614 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l, q, i)
621 do i = 1, eqn_idx%mom%beg
622 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
625 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)
627 do i = eqn_idx%mom%beg + 2, sys_size
628 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
631 if (chemistry .and.
present(q_t_sf))
then
632 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n - (j - 1), l)
636 do i = 1, shear_bc_flip_num
637 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_bc_flip_indices(2, &
638 & i))%sf(k, n - (j - 1), l)
642 if (hyperelasticity)
then
643 q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n + j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n - (j - 1), l)
647 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
651 pb_in(k, n + j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
652 mv_in(k, n + j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
658 else if (bc_dir == 3)
then
659 if (bc_loc == -1)
then
661 do i = 1, eqn_idx%mom%beg + 1
662 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
665 q_prim_vf(eqn_idx%mom%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, j - 1)
667 do i = eqn_idx%E, sys_size
668 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
671 if (chemistry .and.
present(q_t_sf))
then
672 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, j - 1)
676 do i = 1, shear_bc_flip_num
677 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, &
682 if (hyperelasticity)
then
683 q_prim_vf(eqn_idx%xi%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, j - 1)
687 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
691 pb_in(k, l, -j, q, i) = pb_in(k, l, j - 1, q, i)
692 mv_in(k, l, -j, q, i) = mv_in(k, l, j - 1, q, i)
699 do i = 1, eqn_idx%mom%beg + 1
700 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
703 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))
705 do i = eqn_idx%E, sys_size
706 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
709 if (chemistry .and.
present(q_t_sf))
then
710 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p - (j - 1))
714 do i = 1, shear_bc_flip_num
715 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_bc_flip_indices(3, &
716 & i))%sf(k, l, p - (j - 1))
720 if (hyperelasticity)
then
721 q_prim_vf(eqn_idx%xi%end)%sf(k, l, p + j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, p - (j - 1))
725 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
729 pb_in(k, l, p + j, q, i) = pb_in(k, l, p - (j - 1), q, i)
730 mv_in(k, l, p + j, q, i) = mv_in(k, l, p - (j - 1), q, i)
741 subroutine s_periodic(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
744# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
746# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
748# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
750# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
752# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
754# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
756# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
758 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
759 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
760 integer,
intent(in) :: bc_dir, bc_loc
761 integer,
intent(in) :: k, l
765 if (bc_dir == 1)
then
766 if (bc_loc == -1)
then
769 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
773 if (chemistry .and.
present(q_t_sf))
then
775 q_t_sf%sf(-j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
779 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
783 pb_in(-j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
784 mv_in(-j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
792 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
796 if (chemistry .and.
present(q_t_sf))
then
798 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(j - 1, k, l)
802 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
806 pb_in(m + j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
807 mv_in(m + j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
813 else if (bc_dir == 2)
then
814 if (bc_loc == -1)
then
817 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
821 if (chemistry .and.
present(q_t_sf))
then
823 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, n - (j - 1), l)
827 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
831 pb_in(k, -j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
832 mv_in(k, -j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
840 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, j - 1, l)
844 if (chemistry .and.
present(q_t_sf))
then
846 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, j - 1, l)
850 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
854 pb_in(k, n + j, l, q, i) = pb_in(k, (j - 1), l, q, i)
855 mv_in(k, n + j, l, q, i) = mv_in(k, (j - 1), l, q, i)
861 else if (bc_dir == 3)
then
862 if (bc_loc == -1)
then
865 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
869 if (chemistry .and.
present(q_t_sf))
then
871 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, p - (j - 1))
875 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
879 pb_in(k, l, -j, q, i) = pb_in(k, l, p - (j - 1), q, i)
880 mv_in(k, l, -j, q, i) = mv_in(k, l, p - (j - 1), q, i)
888 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, j - 1)
892 if (chemistry .and.
present(q_t_sf))
then
894 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, j - 1)
898 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
902 pb_in(k, l, p + j, q, i) = pb_in(k, l, j - 1, q, i)
903 mv_in(k, l, p + j, q, i) = mv_in(k, l, j - 1, q, i)
914 subroutine s_axis(q_prim_vf, pb_in, mv_in, k, l)
917# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
919# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
921# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
923# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
925# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
927# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
929# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
931 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
932 real(stp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
optional,
intent(inout) :: pb_in, mv_in
933 integer,
intent(in) :: k, l
938 do i = 1, eqn_idx%mom%beg
939 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
942 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))
944 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))
946 do i = eqn_idx%E, sys_size
947 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
950 do i = 1, eqn_idx%mom%beg
951 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
954 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))
956 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))
958 do i = eqn_idx%E, sys_size
959 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
964 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
969 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
970 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
972 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l - ((p + 1)/2), q, i)
973 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l - ((p + 1)/2), q, i)
986# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
988# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
990# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
992# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
994# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
996# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
998# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1000# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1002# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1004# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1006# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1008# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1010# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1012# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1014# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1016# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1018# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1020 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1021 integer,
intent(in) :: bc_dir, bc_loc
1022 integer,
intent(in) :: k, l
1026 if (bc_dir == 1)
then
1027 if (bc_loc == -1)
then
1030 if (i == eqn_idx%mom%beg)
then
1031 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1033 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1038 if (chemistry .and.
present(q_t_sf))
then
1039 if (
bc_x%isothermal_in)
then
1041 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1045 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1052 if (i == eqn_idx%mom%beg)
then
1053 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1055 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1060 if (chemistry .and.
present(q_t_sf))
then
1061 if (
bc_x%isothermal_out)
then
1063 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1067 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1072 else if (bc_dir == 2)
then
1073 if (bc_loc == -1)
then
1076 if (i == eqn_idx%mom%beg + 1)
then
1077 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1079 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1084 if (chemistry .and.
present(q_t_sf))
then
1085 if (
bc_y%isothermal_in)
then
1087 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1091 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1098 if (i == eqn_idx%mom%beg + 1)
then
1099 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1101 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1106 if (chemistry .and.
present(q_t_sf))
then
1107 if (
bc_y%isothermal_out)
then
1109 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1113 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1118 else if (bc_dir == 3)
then
1119 if (bc_loc == -1)
then
1122 if (i == eqn_idx%mom%end)
then
1123 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1125 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1130 if (chemistry .and.
present(q_t_sf))
then
1131 if (
bc_z%isothermal_in)
then
1133 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1137 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1144 if (i == eqn_idx%mom%end)
then
1145 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1147 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1152 if (chemistry .and.
present(q_t_sf))
then
1153 if (
bc_z%isothermal_out)
then
1155 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1159 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1172# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1174# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1176# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1178# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1180# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1182# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1184# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1186# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1188# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1190# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1192# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1194# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1196# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1198# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1200# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1202# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1204# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1207 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1208 integer,
intent(in) :: bc_dir, bc_loc
1209 integer,
intent(in) :: k, l
1213 if (bc_dir == 1)
then
1214 if (bc_loc == -1)
then
1217 if (i == eqn_idx%mom%beg)
then
1218 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1219 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1220 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb2
1221 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1222 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb3
1224 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1229 if (chemistry .and.
present(q_t_sf))
then
1230 if (
bc_x%isothermal_in)
then
1232 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1236 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1243 if (i == eqn_idx%mom%beg)
then
1244 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1245 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1246 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve2
1247 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1248 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve3
1250 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1255 if (chemistry .and.
present(q_t_sf))
then
1256 if (
bc_x%isothermal_out)
then
1258 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1262 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1267 else if (bc_dir == 2)
then
1268 if (bc_loc == -1)
then
1271 if (i == eqn_idx%mom%beg)
then
1272 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb1
1273 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1274 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1275 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1276 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb3
1278 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1282 if (chemistry .and.
present(q_t_sf))
then
1283 if (
bc_y%isothermal_in)
then
1285 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1289 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1296 if (i == eqn_idx%mom%beg)
then
1297 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve1
1298 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1299 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1300 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1301 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve3
1303 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1307 if (chemistry .and.
present(q_t_sf))
then
1308 if (
bc_y%isothermal_out)
then
1310 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1314 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1319 else if (bc_dir == 3)
then
1320 if (bc_loc == -1)
then
1323 if (i == eqn_idx%mom%beg)
then
1324 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb1
1325 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1326 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb2
1327 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1328 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1330 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1334 if (chemistry .and.
present(q_t_sf))
then
1335 if (
bc_z%isothermal_in)
then
1337 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1341 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1348 if (i == eqn_idx%mom%beg)
then
1349 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve1
1350 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1351 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve2
1352 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1353 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1355 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1359 if (chemistry .and.
present(q_t_sf))
then
1360 if (
bc_z%isothermal_out)
then
1362 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1366 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1507# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1509# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1511# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1513# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1515# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1517# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1519# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1521 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
1522 integer,
intent(in) :: bc_dir, bc_loc
1523 integer,
intent(in) :: k, l
1526 if (bc_dir == 1)
then
1527 if (bc_loc == -1)
then
1531 pb_in(-j, k, l, q, i) = pb_in(0, k, l, q, i)
1532 mv_in(-j, k, l, q, i) = mv_in(0, k, l, q, i)
1540 pb_in(m + j, k, l, q, i) = pb_in(m, k, l, q, i)
1541 mv_in(m + j, k, l, q, i) = mv_in(m, k, l, q, i)
1546 else if (bc_dir == 2)
then
1547 if (bc_loc == -1)
then
1551 pb_in(k, -j, l, q, i) = pb_in(k, 0, l, q, i)
1552 mv_in(k, -j, l, q, i) = mv_in(k, 0, l, q, i)
1560 pb_in(k, n + j, l, q, i) = pb_in(k, n, l, q, i)
1561 mv_in(k, n + j, l, q, i) = mv_in(k, n, l, q, i)
1566 else if (bc_dir == 3)
then
1567 if (bc_loc == -1)
then
1571 pb_in(k, l, -j, q, i) = pb_in(k, l, 0, q, i)
1572 mv_in(k, l, -j, q, i) = mv_in(k, l, 0, q, i)
1580 pb_in(k, l, p + j, q, i) = pb_in(k, l, p, q, i)
1581 mv_in(k, l, p + j, q, i) = mv_in(k, l, p, q, i)