400# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
402# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
403 use iso_fortran_env,
only: output_unit
404# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
406# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
407 print *,
'm_surface_tension.fpp:48: ',
'@:ALLOCATE(c_divs(1:num_dims + 1))'
408# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
410# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
411 call flush (output_unit)
412# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
414# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
416# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
418# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
420# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
422# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
423#if defined(MFC_OpenACC)
424# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
426# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
427#elif defined(MFC_OpenMP)
428# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
430# 48 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
435# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
437# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
438 use iso_fortran_env,
only: output_unit
439# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
441# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
442 print *,
'm_surface_tension.fpp:51: ',
'@:ALLOCATE(c_divs(j)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
443# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
445# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
446 call flush (output_unit)
447# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
449# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
451# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
452 allocate (
c_divs(
j)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
453# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
455# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
457# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
458#if defined(MFC_OpenACC)
459# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
461# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
462#elif defined(MFC_OpenMP)
463# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
465# 51 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
468# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
470# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
472# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
474# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
475 use iso_fortran_env,
only: output_unit
476# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
478# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
479 print *,
'm_surface_tension.fpp:52: ',
'@:ACC_SETUP_SFs(c_divs(j))'
480# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
482# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
483 call flush (output_unit)
484# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
486# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
488# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
490# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
492# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
493#if defined(MFC_OpenACC)
494# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
496# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
497#elif defined(MFC_OpenMP)
498# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
500# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
502# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
503 if (
associated(
c_divs(
j)%sf))
then
504# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
506# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
507#if defined(MFC_OpenACC)
508# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
510# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
511#elif defined(MFC_OpenMP)
512# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
514# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
516# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
518# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
520# 52 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
525# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
527# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
528 use iso_fortran_env,
only: output_unit
529# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
531# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
532 print *,
'm_surface_tension.fpp:55: ',
'@:ALLOCATE(gL_x(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))'
533# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
535# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
536 call flush (output_unit)
537# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
539# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
541# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
542 allocate (
gl_x(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))
543# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
545# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
547# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
548#if defined(MFC_OpenACC)
549# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
551# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
552#elif defined(MFC_OpenMP)
553# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
555# 55 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
558# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
560# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
561 use iso_fortran_env,
only: output_unit
562# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
564# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
565 print *,
'm_surface_tension.fpp:56: ',
'@:ALLOCATE(gR_x(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))'
566# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
568# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
569 call flush (output_unit)
570# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
572# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
574# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
575 allocate (
gr_x(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))
576# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
578# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
580# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
581#if defined(MFC_OpenACC)
582# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
584# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
585#elif defined(MFC_OpenMP)
586# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
588# 56 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
592# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
594# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
595 use iso_fortran_env,
only: output_unit
596# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
598# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
599 print *,
'm_surface_tension.fpp:58: ',
'@:ALLOCATE(gL_y(idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))'
600# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
602# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
603 call flush (output_unit)
604# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
606# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
608# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
609 allocate (
gl_y(idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))
610# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
612# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
614# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
615#if defined(MFC_OpenACC)
616# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
618# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
619#elif defined(MFC_OpenMP)
620# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
622# 58 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
625# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
627# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
628 use iso_fortran_env,
only: output_unit
629# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
631# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
632 print *,
'm_surface_tension.fpp:59: ',
'@:ALLOCATE(gR_y(idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))'
633# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
635# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
636 call flush (output_unit)
637# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
639# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
641# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
642 allocate (
gr_y(idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, idwbuff(3)%beg:idwbuff(3)%end, num_dims + 1))
643# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
645# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
647# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
648#if defined(MFC_OpenACC)
649# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
651# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
652#elif defined(MFC_OpenMP)
653# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
655# 59 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
660# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
662# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
663 use iso_fortran_env,
only: output_unit
664# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
666# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
667 print *,
'm_surface_tension.fpp:62: ',
'@:ALLOCATE(gL_z(idwbuff(3)%beg:idwbuff(3)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, num_dims + 1))'
668# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
670# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
671 call flush (output_unit)
672# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
674# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
676# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
677 allocate (
gl_z(idwbuff(3)%beg:idwbuff(3)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, num_dims + 1))
678# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
680# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
682# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
683#if defined(MFC_OpenACC)
684# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
686# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
687#elif defined(MFC_OpenMP)
688# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
690# 62 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
692# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
694# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
696# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
697 use iso_fortran_env,
only: output_unit
698# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
700# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
701 print *,
'm_surface_tension.fpp:64: ',
'@:ALLOCATE(gR_z(idwbuff(3)%beg:idwbuff(3)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, num_dims + 1))'
702# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
704# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
705 call flush (output_unit)
706# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
708# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
710# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
711 allocate (
gr_z(idwbuff(3)%beg:idwbuff(3)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(1)%beg:idwbuff(1)%end, num_dims + 1))
712# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
714# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
716# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
717#if defined(MFC_OpenACC)
718# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
720# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
721#elif defined(MFC_OpenMP)
722# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
724# 64 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
726# 66 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
734 real(wp),
dimension(-1:,0:,0:,1:),
intent(in) :: vsrc_rsx_vf
735 real(wp),
dimension(-1:,0:,0:,1:),
intent(in) :: vsrc_rsy_vf
736 real(wp),
dimension(-1:,0:,0:,1:),
intent(in) :: vsrc_rsz_vf
737 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
738 integer,
intent(in) :: id
739 type(int_bounds_info),
intent(in) :: isx, isy, isz
741# 83 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
742 real(wp),
dimension(num_dims, num_dims) :: omega
743# 85 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
744 real(wp) :: w1l, w1r, w2l, w2r, w3l, w3r, w1, w2, w3
745 real(wp) :: normwl, normwr, normw
746 integer ::
j,
k,
l, i
750# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
752# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
753#if defined(MFC_OpenACC)
754# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
756# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
757#elif defined(MFC_OpenMP)
758# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
760# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
762# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
764# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
766# 90 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
768 do l = isz%beg, isz%end
769 do k = isy%beg, isy%end
770 do j = isx%beg, isx%end
774 if (p > 0) w3l =
gl_x(
j,
k,
l, 3)
779 if (p > 0) w3r =
gr_x(
j + 1,
k,
l, 3)
781 normwl =
gl_x(
j,
k,
l, num_dims + 1)
782 normwr =
gr_x(
j + 1,
k,
l, num_dims + 1)
784 w1 = (w1l + w1r)/2._wp
785 w2 = (w2l + w2r)/2._wp
786 w3 = (w3l + w3r)/2._wp
787 normw = (normwl + normwr)/2._wp
789 if (normw > capillary_cutoff)
then
790 omega(1, 1) = -sigma*(w2*w2 + w3*w3)/normw
791# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
792 omega(2, 1) = sigma*w1*w2/normw
793# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
794 omega(1, 2) = omega(2, 1)
795# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
797# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
798 omega(2, 2) = -sigma*(w1*w1 + w3*w3)/normw
799# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
801# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
803# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
804 omega(3, 1) = sigma*w1*w3/normw
805# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
806 omega(1, 3) = omega(3, 1)
807# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
809# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
810 omega(3, 2) = sigma*w2*w3/normw
811# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
812 omega(2, 3) = omega(3, 2)
813# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
815# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
816 omega(3, 3) = -sigma*(w1*w1 + w2*w2)/normw
817# 113 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
821 flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) = flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) + omega(1, i)
823 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k,
l) + omega(1, i)*vsrc_rsx_vf(
j,
k, &
828 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k,
l) + sigma*
c_divs(num_dims + 1)%sf(
j,
k, &
829 &
l)*vsrc_rsx_vf(
j,
k,
l, 1)
835# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
836#if defined(MFC_OpenACC)
837# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
839# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
840#elif defined(MFC_OpenMP)
841# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
843# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
845# 129 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
847 else if (id == 2)
then
848# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
850# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
852# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
853#if defined(MFC_OpenACC)
854# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
856# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
857#elif defined(MFC_OpenMP)
858# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
860# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
862# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
864# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
866# 132 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
868 do l = isz%beg, isz%end
869 do k = isy%beg, isy%end
870 do j = isx%beg, isx%end
874 if (p > 0) w3l =
gl_y(
k,
j,
l, 3)
879 if (p > 0) w3r =
gr_y(
k + 1,
j,
l, 3)
881 normwl =
gl_y(
k,
j,
l, num_dims + 1)
882 normwr =
gr_y(
k + 1,
j,
l, num_dims + 1)
884 w1 = (w1l + w1r)/2._wp
885 w2 = (w2l + w2r)/2._wp
886 w3 = (w3l + w3r)/2._wp
887 normw = (normwl + normwr)/2._wp
889 if (normw > capillary_cutoff)
then
890 omega(1, 1) = -sigma*(w2*w2 + w3*w3)/normw
891# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
892 omega(2, 1) = sigma*w1*w2/normw
893# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
894 omega(1, 2) = omega(2, 1)
895# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
897# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
898 omega(2, 2) = -sigma*(w1*w1 + w3*w3)/normw
899# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
901# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
903# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
904 omega(3, 1) = sigma*w1*w3/normw
905# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
906 omega(1, 3) = omega(3, 1)
907# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
909# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
910 omega(3, 2) = sigma*w2*w3/normw
911# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
912 omega(2, 3) = omega(3, 2)
913# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
915# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
916 omega(3, 3) = -sigma*(w1*w1 + w2*w2)/normw
917# 155 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
921 flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) = flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) + omega(2, i)
923 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k,
l) + omega(2, i)*vsrc_rsy_vf(
k, &
927 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k, &
928 &
l) + sigma*
c_divs(num_dims + 1)%sf(
j,
k,
l)*vsrc_rsy_vf(
k,
j,
l, 2)
934# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
935#if defined(MFC_OpenACC)
936# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
938# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
939#elif defined(MFC_OpenMP)
940# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
942# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
944# 170 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
946# 172 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
947 else if (id == 3)
then
948# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
950# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
952# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
953#if defined(MFC_OpenACC)
954# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
956# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
957#elif defined(MFC_OpenMP)
958# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
960# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
962# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
964# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
966# 174 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
968 do l = isz%beg, isz%end
969 do k = isy%beg, isy%end
970 do j = isx%beg, isx%end
974 if (p > 0) w3l =
gl_z(
l,
k,
j, 3)
979 if (p > 0) w3r =
gr_z(
l + 1,
k,
j, 3)
981 normwl =
gl_z(
l,
k,
j, num_dims + 1)
982 normwr =
gr_z(
l + 1,
k,
j, num_dims + 1)
984 w1 = (w1l + w1r)/2._wp
985 w2 = (w2l + w2r)/2._wp
986 w3 = (w3l + w3r)/2._wp
987 normw = (normwl + normwr)/2._wp
989 if (normw > capillary_cutoff)
then
990 omega(1, 1) = -sigma*(w2*w2 + w3*w3)/normw
991# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
992 omega(2, 1) = sigma*w1*w2/normw
993# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
994 omega(1, 2) = omega(2, 1)
995# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
997# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
998 omega(2, 2) = -sigma*(w1*w1 + w3*w3)/normw
999# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1001# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1003# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1004 omega(3, 1) = sigma*w1*w3/normw
1005# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1006 omega(1, 3) = omega(3, 1)
1007# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1009# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1010 omega(3, 2) = sigma*w2*w3/normw
1011# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1012 omega(2, 3) = omega(3, 2)
1013# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1015# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1016 omega(3, 3) = -sigma*(w1*w1 + w2*w2)/normw
1017# 197 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1021 flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) = flux_src_vf(momxb + i - 1)%sf(
j,
k,
l) + omega(3, i)
1023 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k,
l) + omega(3, i)*vsrc_rsz_vf(
l, &
1027 flux_src_vf(e_idx)%sf(
j,
k,
l) = flux_src_vf(e_idx)%sf(
j,
k, &
1028 &
l) + sigma*
c_divs(num_dims + 1)%sf(
j,
k,
l)*vsrc_rsz_vf(
l,
k,
j, 3)
1034# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1035#if defined(MFC_OpenACC)
1036# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1038# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1039#elif defined(MFC_OpenMP)
1040# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1042# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1044# 212 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1046# 214 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1261 type(scalar_field),
dimension(iv%beg:iv%end),
intent(in) :: v_vf
1262 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:),
intent(out) :: vL_x, vL_y, vL_z
1263 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:),
intent(out) :: vR_x, vR_y, vR_z
1264 integer,
intent(in) :: norm_dir
1265 integer :: recon_dir
1266 integer :: i, j, k, l
1268# 306 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1269 if (recon_type == weno_type .or. dummy)
then
1272 if (norm_dir == 1)
then
1273 is1 = idwbuff(1);
is2 = idwbuff(2);
is3 = idwbuff(3)
1274 recon_dir = 1;
is1%beg =
is1%beg + weno_polyn
1275 is1%end =
is1%end - weno_polyn
1276 else if (norm_dir == 2)
then
1277 is1 = idwbuff(2);
is2 = idwbuff(1);
is3 = idwbuff(3)
1278 recon_dir = 2;
is1%beg =
is1%beg + weno_polyn
1279 is1%end =
is1%end - weno_polyn
1281 is1 = idwbuff(3);
is2 = idwbuff(2);
is3 = idwbuff(1)
1282 recon_dir = 3;
is1%beg =
is1%beg + weno_polyn
1283 is1%end =
is1%end - weno_polyn
1287# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1288#if defined(MFC_OpenACC)
1289# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1291# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1292#elif defined(MFC_OpenMP)
1293# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1295# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1298# 306 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1299 if (recon_type == muscl_type .or. dummy)
then
1302 if (norm_dir == 1)
then
1303 is1 = idwbuff(1);
is2 = idwbuff(2);
is3 = idwbuff(3)
1304 recon_dir = 1;
is1%beg =
is1%beg + muscl_polyn
1305 is1%end =
is1%end - muscl_polyn
1306 else if (norm_dir == 2)
then
1307 is1 = idwbuff(2);
is2 = idwbuff(1);
is3 = idwbuff(3)
1308 recon_dir = 2;
is1%beg =
is1%beg + muscl_polyn
1309 is1%end =
is1%end - muscl_polyn
1311 is1 = idwbuff(3);
is2 = idwbuff(2);
is3 = idwbuff(1)
1312 recon_dir = 3;
is1%beg =
is1%beg + muscl_polyn
1313 is1%end =
is1%end - muscl_polyn
1317# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1318#if defined(MFC_OpenACC)
1319# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1321# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1322#elif defined(MFC_OpenMP)
1323# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1325# 323 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1328# 326 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1330 if (recon_dir == 1)
then
1332# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1334# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1335#if defined(MFC_OpenACC)
1336# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1338# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1339#elif defined(MFC_OpenMP)
1340# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1342# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1344# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1346# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1348# 328 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1350 do i =
iv%beg,
iv%end
1354 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
1355 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
1361# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1362#if defined(MFC_OpenACC)
1363# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1365# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1366#elif defined(MFC_OpenMP)
1367# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1369# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1371# 339 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1373 else if (recon_dir == 2)
then
1375# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1377# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1378#if defined(MFC_OpenACC)
1379# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1381# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1382#elif defined(MFC_OpenMP)
1383# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1385# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1387# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1389# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1391# 341 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1393 do i =
iv%beg,
iv%end
1397 vl_y(j, k, l, i) = v_vf(i)%sf(k, j, l)
1398 vr_y(j, k, l, i) = v_vf(i)%sf(k, j, l)
1404# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1405#if defined(MFC_OpenACC)
1406# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1408# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1409#elif defined(MFC_OpenMP)
1410# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1412# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1414# 352 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1416 else if (recon_dir == 3)
then
1418# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1420# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1421#if defined(MFC_OpenACC)
1422# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1424# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1425#elif defined(MFC_OpenMP)
1426# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1428# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1430# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1432# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1434# 354 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1436 do i =
iv%beg,
iv%end
1440 vl_z(j, k, l, i) = v_vf(i)%sf(l, k, j)
1441 vr_z(j, k, l, i) = v_vf(i)%sf(l, k, j)
1447# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1448#if defined(MFC_OpenACC)
1449# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1451# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1452#elif defined(MFC_OpenMP)
1453# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1455# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"
1457# 365 "/home/runner/work/MFC/MFC/src/simulation/m_surface_tension.fpp"