582 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
583 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
584 type(int_bounds_info),
intent(in) :: irx, iry, irz
585 integer,
intent(in) :: idir
586 type(scalar_field),
intent(in) :: q_T_sf
588# 166 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
589 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
590 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
591 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
592 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
593# 171 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
595 real(wp) :: Mass_Diffu_Energy
596 real(wp) :: MW_L, MW_R, MW_cell, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
597 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
598 real(wp) :: Cp_L, Cp_R
599 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
600 real(wp) :: hmix_L, hmix_R, dh_dxi
601 integer :: x, y, z, i, n, eqn
602 integer,
dimension(3) :: offsets
607# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
608#if defined(MFC_OpenACC)
609# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
611# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
612#elif defined(MFC_OpenMP)
613# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
615# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
626# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
628# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
629#if defined(MFC_OpenACC)
630# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
632# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
634# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
636# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
637#elif defined(MFC_OpenMP)
638# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
640# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
642# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
644# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
646# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
648# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
650# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
652# 197 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
659 grid_spacing =
x_cc(x + 1) -
x_cc(x)
661 grid_spacing =
y_cc(y + 1) -
y_cc(y)
663 grid_spacing =
z_cc(z + 1) -
z_cc(z)
668# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
669#if defined(MFC_OpenACC)
670# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
672# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
673#elif defined(MFC_OpenMP)
674# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
676# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
678 do i = eqn_idx%species%beg, eqn_idx%species%end
679 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
680 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
681 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
682 & - eqn_idx%species%beg + 1))
686 call get_mixture_molecular_weight(ys_l, mw_l)
687 call get_mixture_molecular_weight(ys_r, mw_r)
688 mw_cell = 0.5_wp*(mw_l + mw_r)
690 call get_mole_fractions(mw_l, ys_l, xs_l)
691 call get_mole_fractions(mw_r, ys_r, xs_r)
693 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
694 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
696 rho_l = q_prim_qp(1)%sf(x, y, z)
697 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
699 t_l = q_t_sf%sf(x, y, z)
700 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
702 rho_cell = 0.5_wp*(rho_l + rho_r)
703 dt_dxi = (t_r - t_l)/grid_spacing
706 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
707 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
709 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
710 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
712 call get_species_enthalpies_rt(t_l, h_l)
713 call get_species_enthalpies_rt(t_r, h_r)
717# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
718#if defined(MFC_OpenACC)
719# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
721# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
722#elif defined(MFC_OpenMP)
723# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
725# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
727 do i = eqn_idx%species%beg, eqn_idx%species%end
728 h_l(i - eqn_idx%species%beg + 1) = h_l(i - eqn_idx%species%beg + 1) &
729 & *gas_constant*t_l/molecular_weights(i - eqn_idx%species%beg + 1)
730 h_r(i - eqn_idx%species%beg + 1) = h_r(i - eqn_idx%species%beg + 1) &
731 & *gas_constant*t_r/molecular_weights(i - eqn_idx%species%beg + 1)
732 xs_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(xs_l(i - eqn_idx%species%beg + 1) + xs_r(i &
733 & - eqn_idx%species%beg + 1))
734 h_k(i - eqn_idx%species%beg + 1) = 0.5_wp*(h_l(i - eqn_idx%species%beg + 1) + h_r(i &
735 & - eqn_idx%species%beg + 1))
736 dxk_dxi(i - eqn_idx%species%beg + 1) = (xs_r(i - eqn_idx%species%beg + 1) - xs_l(i &
737 & - eqn_idx%species%beg + 1))/grid_spacing
742# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
743#if defined(MFC_OpenACC)
744# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
746# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
747#elif defined(MFC_OpenMP)
748# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
750# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
752 do i = eqn_idx%species%beg, eqn_idx%species%end
753 mass_diffusivities_mixavg_cell(i - eqn_idx%species%beg + 1) = (mass_diffusivities_mixavg2(i &
754 & - eqn_idx%species%beg + 1) + mass_diffusivities_mixavg1(i &
755 & - eqn_idx%species%beg + 1))/2.0_wp
758 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
762 mass_diffu_energy = 0.0_wp
765# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
766#if defined(MFC_OpenACC)
767# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
769# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
770#elif defined(MFC_OpenMP)
771# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
773# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
775 do eqn = eqn_idx%species%beg, eqn_idx%species%end
776 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn &
777 & - eqn_idx%species%beg + 1)*molecular_weights(eqn - eqn_idx%species%beg + 1) &
778 & /mw_cell*dxk_dxi(eqn - eqn_idx%species%beg + 1)
779 rho_vic = rho_vic + mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
780 mass_diffu_energy = mass_diffu_energy + h_k(eqn - eqn_idx%species%beg + 1)*mass_diffu_flux(eqn &
781 & - eqn_idx%species%beg + 1)
786# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
787#if defined(MFC_OpenACC)
788# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
790# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
791#elif defined(MFC_OpenMP)
792# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
794# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
796 do eqn = eqn_idx%species%beg, eqn_idx%species%end
797 mass_diffu_energy = mass_diffu_energy - h_k(eqn - eqn_idx%species%beg + 1)*ys_cell(eqn &
798 & - eqn_idx%species%beg + 1)*rho_vic
799 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = mass_diffu_flux(eqn - eqn_idx%species%beg + 1) &
800 & - rho_vic*ys_cell(eqn - eqn_idx%species%beg + 1)
804 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
807 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
810# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
811#if defined(MFC_OpenACC)
812# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
814# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
815#elif defined(MFC_OpenMP)
816# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
818# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
820 do eqn = eqn_idx%species%beg, eqn_idx%species%end
821 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
822 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
828# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
829#if defined(MFC_OpenACC)
830# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
832# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
833#elif defined(MFC_OpenMP)
834# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
836# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
838# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
845# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
847# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
848#if defined(MFC_OpenACC)
849# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
851# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
853# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
855# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
856#elif defined(MFC_OpenMP)
857# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
859# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
861# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
863# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
865# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
867# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
869# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
871# 320 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
878 grid_spacing =
x_cc(x + 1) -
x_cc(x)
880 grid_spacing =
y_cc(y + 1) -
y_cc(y)
882 grid_spacing =
z_cc(z + 1) -
z_cc(z)
887# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
888#if defined(MFC_OpenACC)
889# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
891# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
892#elif defined(MFC_OpenMP)
893# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
895# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
897 do i = eqn_idx%species%beg, eqn_idx%species%end
898 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
899 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
900 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
901 & - eqn_idx%species%beg + 1))
905 call get_mixture_molecular_weight(ys_l, mw_l)
906 call get_mixture_molecular_weight(ys_r, mw_r)
907 mw_cell = 0.5_wp*(mw_l + mw_r)
909 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
910 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
912 rho_l = q_prim_qp(1)%sf(x, y, z)
913 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
915 t_l = q_t_sf%sf(x, y, z)
916 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
918 rho_cell = 0.5_wp*(rho_l + rho_r)
920 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
921 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
922 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
923 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
924 dh_dxi = (hmix_r - hmix_l)/grid_spacing
927 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
928 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
932# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
933#if defined(MFC_OpenACC)
934# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
936# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
937#elif defined(MFC_OpenMP)
938# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
940# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
942 do i = eqn_idx%species%beg, eqn_idx%species%end
943 dyk_dxi(i - eqn_idx%species%beg + 1) = (ys_r(i - eqn_idx%species%beg + 1) - ys_l(i &
944 & - eqn_idx%species%beg + 1))/grid_spacing
948 diffusivity_l = lambda_l/rho_l/cp_l
949 diffusivity_r = lambda_r/rho_r/cp_r
951 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
952 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
955 mass_diffu_energy = 0.0_wp
958# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
959#if defined(MFC_OpenACC)
960# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
962# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
963#elif defined(MFC_OpenMP)
964# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
966# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
968 do eqn = eqn_idx%species%beg, eqn_idx%species%end
969 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn &
970 & - eqn_idx%species%beg + 1)
972 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
975 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
978# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
979#if defined(MFC_OpenACC)
980# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
982# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
983#elif defined(MFC_OpenMP)
984# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
986# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
988 do eqn = eqn_idx%species%beg, eqn_idx%species%end
989 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
990 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
996# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
997#if defined(MFC_OpenACC)
998# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1000# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1001#elif defined(MFC_OpenMP)
1002# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1004# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1006# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"