355# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
357# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
359# 25 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
390 integer,
intent(in) :: bc_dir, bc_loc
391 integer,
intent(in) :: k, l
395 if (bc_dir == 1)
then
396 if (bc_loc == -1)
then
399 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
402 if (chemistry .and.
present(q_t_sf))
then
404 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
410 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
413 if (chemistry .and.
present(q_t_sf))
then
415 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
419 else if (bc_dir == 2)
then
420 if (bc_loc == -1)
then
423 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
427 if (chemistry .and.
present(q_t_sf))
then
429 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
435 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
438 if (chemistry .and.
present(q_t_sf))
then
440 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
444 else if (bc_dir == 3)
then
445 if (bc_loc == -1)
then
448 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
451 if (chemistry .and.
present(q_t_sf))
then
453 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
459 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
462 if (chemistry .and.
present(q_t_sf))
then
464 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
473 subroutine s_symmetry(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
476# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
478# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
480# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
491 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
492 integer,
intent(in) :: bc_dir, bc_loc
493 integer,
intent(in) :: k, l
497 if (bc_dir == 1)
then
498 if (bc_loc == -1)
then
500 do i = 1, eqn_idx%cont%end
501 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
504 q_prim_vf(eqn_idx%mom%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%mom%beg)%sf(j - 1, k, l)
506 do i = eqn_idx%mom%beg + 1, sys_size
507 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
510 if (chemistry .and.
present(q_t_sf))
then
511 q_t_sf%sf(-j, k, l) = q_t_sf%sf(j - 1, k, l)
515 do i = 1, shear_bc_flip_num
516 q_prim_vf(shear_bc_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
517 & i))%sf(j - 1, k, l)
521 if (hyperelasticity)
then
522 q_prim_vf(eqn_idx%xi%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(j - 1, k, l)
526 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
530 pb_in(-j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
531 mv_in(-j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
538 do i = 1, eqn_idx%cont%end
539 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
542 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)
544 do i = eqn_idx%mom%beg + 1, sys_size
545 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
548 if (chemistry .and.
present(q_t_sf))
then
549 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
553 do i = 1, shear_bc_flip_num
554 q_prim_vf(shear_bc_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_bc_flip_indices(1, &
555 & i))%sf(m - (j - 1), k, l)
559 if (hyperelasticity)
then
560 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)
563 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
567 pb_in(m + j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
568 mv_in(m + j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
574 else if (bc_dir == 2)
then
575 if (bc_loc == -1)
then
577 do i = 1, eqn_idx%mom%beg
578 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
581 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)
583 do i = eqn_idx%mom%beg + 2, sys_size
584 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l)
587 if (chemistry .and.
present(q_t_sf))
then
588 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, j - 1, l)
592 do i = 1, shear_bc_flip_num
593 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, &
598 if (hyperelasticity)
then
599 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)
603 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
607 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l, q, i)
608 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l, q, i)
615 do i = 1, eqn_idx%mom%beg
616 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
619 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)
621 do i = eqn_idx%mom%beg + 2, sys_size
622 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
625 if (chemistry .and.
present(q_t_sf))
then
626 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n - (j - 1), l)
630 do i = 1, shear_bc_flip_num
631 q_prim_vf(shear_bc_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_bc_flip_indices(2, &
632 & i))%sf(k, n - (j - 1), l)
636 if (hyperelasticity)
then
637 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)
641 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
645 pb_in(k, n + j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
646 mv_in(k, n + j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
652 else if (bc_dir == 3)
then
653 if (bc_loc == -1)
then
655 do i = 1, eqn_idx%mom%beg + 1
656 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
659 q_prim_vf(eqn_idx%mom%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, j - 1)
661 do i = eqn_idx%E, sys_size
662 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, j - 1)
665 if (chemistry .and.
present(q_t_sf))
then
666 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, j - 1)
670 do i = 1, shear_bc_flip_num
671 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, &
676 if (hyperelasticity)
then
677 q_prim_vf(eqn_idx%xi%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, j - 1)
681 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
685 pb_in(k, l, -j, q, i) = pb_in(k, l, j - 1, q, i)
686 mv_in(k, l, -j, q, i) = mv_in(k, l, j - 1, q, i)
693 do i = 1, eqn_idx%mom%beg + 1
694 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
697 q_prim_vf(eqn_idx%mom%end)%sf(k, l, p + j) = -q_prim_vf(eqn_idx%mom%end)%sf(k, l, p - (j - 1))
699 do i = eqn_idx%E, sys_size
700 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
703 if (chemistry .and.
present(q_t_sf))
then
704 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p - (j - 1))
708 do i = 1, shear_bc_flip_num
709 q_prim_vf(shear_bc_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_bc_flip_indices(3, &
710 & i))%sf(k, l, p - (j - 1))
714 if (hyperelasticity)
then
715 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))
719 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
723 pb_in(k, l, p + j, q, i) = pb_in(k, l, p - (j - 1), q, i)
724 mv_in(k, l, p + j, q, i) = mv_in(k, l, p - (j - 1), q, i)
735 subroutine s_periodic(q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in, q_T_sf)
738# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
740# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
742# 360 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
753 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
754 integer,
intent(in) :: bc_dir, bc_loc
755 integer,
intent(in) :: k, l
759 if (bc_dir == 1)
then
760 if (bc_loc == -1)
then
763 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(m - (j - 1), k, l)
767 if (chemistry .and.
present(q_t_sf))
then
769 q_t_sf%sf(-j, k, l) = q_t_sf%sf(m - (j - 1), k, l)
773 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
777 pb_in(-j, k, l, q, i) = pb_in(m - (j - 1), k, l, q, i)
778 mv_in(-j, k, l, q, i) = mv_in(m - (j - 1), k, l, q, i)
786 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(j - 1, k, l)
790 if (chemistry .and.
present(q_t_sf))
then
792 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(j - 1, k, l)
796 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
800 pb_in(m + j, k, l, q, i) = pb_in(j - 1, k, l, q, i)
801 mv_in(m + j, k, l, q, i) = mv_in(j - 1, k, l, q, i)
807 else if (bc_dir == 2)
then
808 if (bc_loc == -1)
then
811 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, n - (j - 1), l)
815 if (chemistry .and.
present(q_t_sf))
then
817 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, n - (j - 1), l)
821 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
825 pb_in(k, -j, l, q, i) = pb_in(k, n - (j - 1), l, q, i)
826 mv_in(k, -j, l, q, i) = mv_in(k, n - (j - 1), l, q, i)
834 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, j - 1, l)
838 if (chemistry .and.
present(q_t_sf))
then
840 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, j - 1, l)
844 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
848 pb_in(k, n + j, l, q, i) = pb_in(k, (j - 1), l, q, i)
849 mv_in(k, n + j, l, q, i) = mv_in(k, (j - 1), l, q, i)
855 else if (bc_dir == 3)
then
856 if (bc_loc == -1)
then
859 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, p - (j - 1))
863 if (chemistry .and.
present(q_t_sf))
then
865 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, p - (j - 1))
869 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
873 pb_in(k, l, -j, q, i) = pb_in(k, l, p - (j - 1), q, i)
874 mv_in(k, l, -j, q, i) = mv_in(k, l, p - (j - 1), q, i)
882 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, j - 1)
886 if (chemistry .and.
present(q_t_sf))
then
888 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, j - 1)
892 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
896 pb_in(k, l, p + j, q, i) = pb_in(k, l, j - 1, q, i)
897 mv_in(k, l, p + j, q, i) = mv_in(k, l, j - 1, q, i)
908 subroutine s_axis(q_prim_vf, pb_in, mv_in, k, l)
911# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
913# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
915# 519 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
926 real(stp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
optional,
intent(inout) :: pb_in, mv_in
927 integer,
intent(in) :: k, l
932 do i = 1, eqn_idx%mom%beg
933 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
936 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))
938 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))
940 do i = eqn_idx%E, sys_size
941 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
944 do i = 1, eqn_idx%mom%beg
945 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
948 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))
950 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))
952 do i = eqn_idx%E, sys_size
953 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l - ((p + 1)/2))
958 if (qbmm .and. .not. polytropic .and.
present(pb_in) .and.
present(mv_in))
then
963 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
964 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
966 pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l - ((p + 1)/2), q, i)
967 mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l - ((p + 1)/2), q, i)
980# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
982# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
984# 574 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1015 integer,
intent(in) :: bc_dir, bc_loc
1016 integer,
intent(in) :: k, l
1020 if (bc_dir == 1)
then
1021 if (bc_loc == -1)
then
1024 if (i == eqn_idx%mom%beg)
then
1025 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1027 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1032 if (chemistry .and.
present(q_t_sf))
then
1033 if (
bc_x%isothermal_in)
then
1035 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1039 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1046 if (i == eqn_idx%mom%beg)
then
1047 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1049 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1054 if (chemistry .and.
present(q_t_sf))
then
1055 if (
bc_x%isothermal_out)
then
1057 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1061 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1066 else if (bc_dir == 2)
then
1067 if (bc_loc == -1)
then
1070 if (i == eqn_idx%mom%beg + 1)
then
1071 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1073 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1078 if (chemistry .and.
present(q_t_sf))
then
1079 if (
bc_y%isothermal_in)
then
1081 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1085 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1092 if (i == eqn_idx%mom%beg + 1)
then
1093 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1095 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1100 if (chemistry .and.
present(q_t_sf))
then
1101 if (
bc_y%isothermal_out)
then
1103 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1107 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1112 else if (bc_dir == 3)
then
1113 if (bc_loc == -1)
then
1116 if (i == eqn_idx%mom%end)
then
1117 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1119 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1124 if (chemistry .and.
present(q_t_sf))
then
1125 if (
bc_z%isothermal_in)
then
1127 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1131 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1138 if (i == eqn_idx%mom%end)
then
1139 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1141 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1146 if (chemistry .and.
present(q_t_sf))
then
1147 if (
bc_z%isothermal_out)
then
1149 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1153 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1166# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1168# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1170# 726 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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"
1201 type(
scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1202 integer,
intent(in) :: bc_dir, bc_loc
1203 integer,
intent(in) :: k, l
1207 if (bc_dir == 1)
then
1208 if (bc_loc == -1)
then
1211 if (i == eqn_idx%mom%beg)
then
1212 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb1
1213 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1214 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb2
1215 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1216 q_prim_vf(i)%sf(-j, k, l) = -q_prim_vf(i)%sf(j - 1, k, l) + 2._wp*
bc_x%vb3
1218 q_prim_vf(i)%sf(-j, k, l) = q_prim_vf(i)%sf(0, k, l)
1223 if (chemistry .and.
present(q_t_sf))
then
1224 if (
bc_x%isothermal_in)
then
1226 q_t_sf%sf(-j, k, l) = 2._wp*
bc_x%Twall_in - q_t_sf%sf(j - 1, k, l)
1230 q_t_sf%sf(-j, k, l) = q_t_sf%sf(0, k, l)
1237 if (i == eqn_idx%mom%beg)
then
1238 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve1
1239 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1240 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve2
1241 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1242 q_prim_vf(i)%sf(m + j, k, l) = -q_prim_vf(i)%sf(m - (j - 1), k, l) + 2._wp*
bc_x%ve3
1244 q_prim_vf(i)%sf(m + j, k, l) = q_prim_vf(i)%sf(m, k, l)
1249 if (chemistry .and.
present(q_t_sf))
then
1250 if (
bc_x%isothermal_out)
then
1252 q_t_sf%sf(m + j, k, l) = 2._wp*
bc_x%Twall_out - q_t_sf%sf(m - (j - 1), k, l)
1256 q_t_sf%sf(m + j, k, l) = q_t_sf%sf(m, k, l)
1261 else if (bc_dir == 2)
then
1262 if (bc_loc == -1)
then
1265 if (i == eqn_idx%mom%beg)
then
1266 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb1
1267 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1268 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb2
1269 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1270 q_prim_vf(i)%sf(k, -j, l) = -q_prim_vf(i)%sf(k, j - 1, l) + 2._wp*
bc_y%vb3
1272 q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, 0, l)
1276 if (chemistry .and.
present(q_t_sf))
then
1277 if (
bc_y%isothermal_in)
then
1279 q_t_sf%sf(k, -j, l) = 2._wp*
bc_y%Twall_in - q_t_sf%sf(k, j - 1, l)
1283 q_t_sf%sf(k, -j, l) = q_t_sf%sf(k, 0, l)
1290 if (i == eqn_idx%mom%beg)
then
1291 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve1
1292 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1293 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve2
1294 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1295 q_prim_vf(i)%sf(k, n + j, l) = -q_prim_vf(i)%sf(k, n - (j - 1), l) + 2._wp*
bc_y%ve3
1297 q_prim_vf(i)%sf(k, n + j, l) = q_prim_vf(i)%sf(k, n, l)
1301 if (chemistry .and.
present(q_t_sf))
then
1302 if (
bc_y%isothermal_out)
then
1304 q_t_sf%sf(k, n + j, l) = 2._wp*
bc_y%Twall_out - q_t_sf%sf(k, n - (j - 1), l)
1308 q_t_sf%sf(k, n + j, l) = q_t_sf%sf(k, n, l)
1313 else if (bc_dir == 3)
then
1314 if (bc_loc == -1)
then
1317 if (i == eqn_idx%mom%beg)
then
1318 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb1
1319 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1320 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb2
1321 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1322 q_prim_vf(i)%sf(k, l, -j) = -q_prim_vf(i)%sf(k, l, j - 1) + 2._wp*
bc_z%vb3
1324 q_prim_vf(i)%sf(k, l, -j) = q_prim_vf(i)%sf(k, l, 0)
1328 if (chemistry .and.
present(q_t_sf))
then
1329 if (
bc_z%isothermal_in)
then
1331 q_t_sf%sf(k, l, -j) = 2._wp*
bc_z%Twall_in - q_t_sf%sf(k, l, j - 1)
1335 q_t_sf%sf(k, l, -j) = q_t_sf%sf(k, l, 0)
1342 if (i == eqn_idx%mom%beg)
then
1343 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve1
1344 else if (i == eqn_idx%mom%beg + 1 .and. num_dims > 1)
then
1345 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve2
1346 else if (i == eqn_idx%mom%beg + 2 .and. num_dims > 2)
then
1347 q_prim_vf(i)%sf(k, l, p + j) = -q_prim_vf(i)%sf(k, l, p - (j - 1)) + 2._wp*
bc_z%ve3
1349 q_prim_vf(i)%sf(k, l, p + j) = q_prim_vf(i)%sf(k, l, p)
1353 if (chemistry .and.
present(q_t_sf))
then
1354 if (
bc_z%isothermal_out)
then
1356 q_t_sf%sf(k, l, p + j) = 2._wp*
bc_z%Twall_out - q_t_sf%sf(k, l, p - (j - 1))
1360 q_t_sf%sf(k, l, p + j) = q_t_sf%sf(k, l, p)
1501# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1503# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
1505# 993 "/home/runner/work/MFC/MFC/src/common/m_boundary_primitives.fpp"
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 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
1516 integer,
intent(in) :: bc_dir, bc_loc
1517 integer,
intent(in) :: k, l
1520 if (bc_dir == 1)
then
1521 if (bc_loc == -1)
then
1525 pb_in(-j, k, l, q, i) = pb_in(0, k, l, q, i)
1526 mv_in(-j, k, l, q, i) = mv_in(0, k, l, q, i)
1534 pb_in(m + j, k, l, q, i) = pb_in(m, k, l, q, i)
1535 mv_in(m + j, k, l, q, i) = mv_in(m, k, l, q, i)
1540 else if (bc_dir == 2)
then
1541 if (bc_loc == -1)
then
1545 pb_in(k, -j, l, q, i) = pb_in(k, 0, l, q, i)
1546 mv_in(k, -j, l, q, i) = mv_in(k, 0, l, q, i)
1554 pb_in(k, n + j, l, q, i) = pb_in(k, n, l, q, i)
1555 mv_in(k, n + j, l, q, i) = mv_in(k, n, l, q, i)
1560 else if (bc_dir == 3)
then
1561 if (bc_loc == -1)
then
1565 pb_in(k, l, -j, q, i) = pb_in(k, l, 0, q, i)
1566 mv_in(k, l, -j, q, i) = mv_in(k, l, 0, q, i)
1574 pb_in(k, l, p + j, q, i) = pb_in(k, l, p, q, i)
1575 mv_in(k, l, p + j, q, i) = mv_in(k, l, p, q, i)