577 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
578 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
579 type(int_bounds_info),
intent(in) :: irx, iry, irz
580 integer,
intent(in) :: idir
582# 174 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
583 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
584 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
585 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
586 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
587# 179 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
589 real(wp) :: Mass_Diffu_Energy
590 real(wp) :: MW_L, MW_R, MW_cell, Rgas_L, Rgas_R, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
591 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
592 real(wp) :: Cp_L, Cp_R
593 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
594 real(wp) :: hmix_L, hmix_R, dh_dxi
595 integer :: x, y, z, i, n, eqn
596 integer,
dimension(3) :: offsets
601# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
602#if defined(MFC_OpenACC)
603# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
605# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
606#elif defined(MFC_OpenMP)
607# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
609# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
620# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
622# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
623#if defined(MFC_OpenACC)
624# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
626# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
627#elif defined(MFC_OpenMP)
628# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
630# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
632# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
634# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
636# 200 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
638# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
645 grid_spacing =
x_cc(x + 1) -
x_cc(x)
647 grid_spacing =
y_cc(y + 1) -
y_cc(y)
649 grid_spacing =
z_cc(z + 1) -
z_cc(z)
654# 219 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
655#if defined(MFC_OpenACC)
656# 219 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
658# 219 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
659#elif defined(MFC_OpenMP)
660# 219 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
662# 219 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
665 ys_l(i -
chemxb + 1) = q_prim_qp(i)%sf(x, y, z)
666 ys_r(i -
chemxb + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
671 call get_mixture_molecular_weight(ys_l, mw_l)
672 call get_mixture_molecular_weight(ys_r, mw_r)
673 mw_cell = 0.5_wp*(mw_l + mw_r)
675 call get_mole_fractions(mw_l, ys_l, xs_l)
676 call get_mole_fractions(mw_r, ys_r, xs_r)
679 rgas_l = gas_constant/mw_l
680 rgas_r = gas_constant/mw_r
682 p_l = q_prim_qp(
e_idx)%sf(x, y, z)
683 p_r = q_prim_qp(
e_idx)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
685 rho_l = q_prim_qp(1)%sf(x, y, z)
686 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
688 t_l = p_l/rho_l/rgas_l
689 t_r = p_r/rho_r/rgas_r
691 rho_cell = 0.5_wp*(rho_l + rho_r)
692 dt_dxi = (t_r - t_l)/grid_spacing
695 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
696 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
698 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
699 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
701 call get_species_enthalpies_rt(t_l, h_l)
702 call get_species_enthalpies_rt(t_r, h_r)
706# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
707#if defined(MFC_OpenACC)
708# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
710# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
711#elif defined(MFC_OpenMP)
712# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
714# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
717# 269 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
718 h_l(i -
chemxb + 1) = h_l(i -
chemxb + 1)*gas_constant*t_l/molecular_weights(i -
chemxb + 1)
719 h_r(i -
chemxb + 1) = h_r(i -
chemxb + 1)*gas_constant*t_r/molecular_weights(i -
chemxb + 1)
720# 272 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
728# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
729#if defined(MFC_OpenACC)
730# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
732# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
733#elif defined(MFC_OpenMP)
734# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
736# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
739 mass_diffusivities_mixavg_cell(i -
chemxb + 1) = (mass_diffusivities_mixavg2(i -
chemxb + 1) &
740 & + mass_diffusivities_mixavg1(i -
chemxb + 1))/2.0_wp
743 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
747 mass_diffu_energy = 0.0_wp
750# 290 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
751#if defined(MFC_OpenACC)
752# 290 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
754# 290 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
755#elif defined(MFC_OpenMP)
756# 290 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
758# 290 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
761# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
762 mass_diffu_flux(eqn -
chemxb + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn -
chemxb + 1) &
763 & *molecular_weights(eqn -
chemxb + 1)/mw_cell*dxk_dxi(eqn -
chemxb + 1)
764# 300 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
765 rho_vic = rho_vic + mass_diffu_flux(eqn -
chemxb + 1)
766 mass_diffu_energy = mass_diffu_energy + h_k(eqn -
chemxb + 1)*mass_diffu_flux(eqn -
chemxb + 1)
771# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
772#if defined(MFC_OpenACC)
773# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
775# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
776#elif defined(MFC_OpenMP)
777# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
779# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
782 mass_diffu_energy = mass_diffu_energy - h_k(eqn -
chemxb + 1)*ys_cell(eqn -
chemxb + 1)*rho_vic
783 mass_diffu_flux(eqn -
chemxb + 1) = mass_diffu_flux(eqn -
chemxb + 1) - rho_vic*ys_cell(eqn &
788 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
791 flux_src_vf(
e_idx)%sf(x, y, z) = flux_src_vf(
e_idx)%sf(x, y, z) - mass_diffu_energy
794# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
795#if defined(MFC_OpenACC)
796# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
798# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
799#elif defined(MFC_OpenMP)
800# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
802# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
805 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, z) - mass_diffu_flux(eqn -
chemxb + 1)
811# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
812#if defined(MFC_OpenACC)
813# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
815# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
816#elif defined(MFC_OpenMP)
817# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
819# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
821# 325 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
828# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
830# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
831#if defined(MFC_OpenACC)
832# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
834# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
835#elif defined(MFC_OpenMP)
836# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
838# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
840# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
842# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
844# 330 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
846# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
853 grid_spacing =
x_cc(x + 1) -
x_cc(x)
855 grid_spacing =
y_cc(y + 1) -
y_cc(y)
857 grid_spacing =
z_cc(z + 1) -
z_cc(z)
862# 348 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
863#if defined(MFC_OpenACC)
864# 348 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
866# 348 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
867#elif defined(MFC_OpenMP)
868# 348 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
870# 348 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
873 ys_l(i -
chemxb + 1) = q_prim_qp(i)%sf(x, y, z)
874 ys_r(i -
chemxb + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
879 call get_mixture_molecular_weight(ys_l, mw_l)
880 call get_mixture_molecular_weight(ys_r, mw_r)
881 mw_cell = 0.5_wp*(mw_l + mw_r)
884 rgas_l = gas_constant/mw_l
885 rgas_r = gas_constant/mw_r
887 p_l = q_prim_qp(
e_idx)%sf(x, y, z)
888 p_r = q_prim_qp(
e_idx)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
890 rho_l = q_prim_qp(1)%sf(x, y, z)
891 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
893 t_l = p_l/rho_l/rgas_l
894 t_r = p_r/rho_r/rgas_r
896 rho_cell = 0.5_wp*(rho_l + rho_r)
898 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
899 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
900 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
901 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
902 dh_dxi = (hmix_r - hmix_l)/grid_spacing
905 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
906 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
910# 386 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
911#if defined(MFC_OpenACC)
912# 386 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
914# 386 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
915#elif defined(MFC_OpenMP)
916# 386 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
918# 386 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
925 diffusivity_l = lambda_l/rho_l/cp_l
926 diffusivity_r = lambda_r/rho_r/cp_r
928 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
929 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
932 mass_diffu_energy = 0.0_wp
935# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
936#if defined(MFC_OpenACC)
937# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
939# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
940#elif defined(MFC_OpenMP)
941# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
943# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
946 mass_diffu_flux(eqn -
chemxb + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn -
chemxb + 1)
948 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
951 flux_src_vf(
e_idx)%sf(x, y, z) = flux_src_vf(
e_idx)%sf(x, y, z) - mass_diffu_energy
954# 410 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
955#if defined(MFC_OpenACC)
956# 410 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
958# 410 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
959#elif defined(MFC_OpenMP)
960# 410 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
962# 410 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
965 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, z) - mass_diffu_flux(eqn -
chemxb + 1)
971# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
972#if defined(MFC_OpenACC)
973# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
975# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
976#elif defined(MFC_OpenMP)
977# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
979# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
981# 417 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"