576 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
577 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
578 type(int_bounds_info),
intent(in) :: irx, iry, irz
580 integer,
intent(in) :: idir
581# 189 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
582 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
583 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
584 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
585 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
586# 194 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
588 real(wp) :: Mass_Diffu_Energy
589 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
590 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
591 real(wp) :: Cp_L, Cp_R
592 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
593 real(wp) :: hmix_L, hmix_R, dh_dxi
595 integer :: x, y, z, i, n, eqn
596 integer,
dimension(3) :: offsets
601# 207 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
602#if defined(MFC_OpenACC)
603# 207 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
605# 207 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
606#elif defined(MFC_OpenMP)
607# 207 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
609# 207 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
621# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
623# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
624#if defined(MFC_OpenACC)
625# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
627# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
628#elif defined(MFC_OpenMP)
629# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
631# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
633# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
635# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
637# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
639# 217 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
647 grid_spacing =
x_cc(x + 1) -
x_cc(x)
649 grid_spacing =
y_cc(y + 1) -
y_cc(y)
651 grid_spacing =
z_cc(z + 1) -
z_cc(z)
656# 232 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
657#if defined(MFC_OpenACC)
658# 232 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
660# 232 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
661#elif defined(MFC_OpenMP)
662# 232 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
664# 232 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
667 ys_l(i -
chemxb + 1) = q_prim_qp(i)%sf(x, y, z)
668 ys_r(i -
chemxb + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
673 call get_mixture_molecular_weight(ys_l, mw_l)
674 call get_mixture_molecular_weight(ys_r, mw_r)
675 mw_cell = 0.5_wp*(mw_l + mw_r)
677 call get_mole_fractions(mw_l, ys_l, xs_l)
678 call get_mole_fractions(mw_r, ys_r, xs_r)
681 rgas_l = gas_constant/mw_l
682 rgas_r = gas_constant/mw_r
684 p_l = q_prim_qp(
e_idx)%sf(x, y, z)
685 p_r = q_prim_qp(
e_idx)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
687 rho_l = q_prim_qp(1)%sf(x, y, z)
688 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
690 t_l = p_l/rho_l/rgas_l
691 t_r = p_r/rho_r/rgas_r
693 rho_cell = 0.5_wp*(rho_l + rho_r)
694 dt_dxi = (t_r - t_l)/grid_spacing
697 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
698 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
700 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
701 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
703 call get_species_enthalpies_rt(t_l, h_l)
704 call get_species_enthalpies_rt(t_r, h_r)
708# 274 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
709#if defined(MFC_OpenACC)
710# 274 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
712# 274 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
713#elif defined(MFC_OpenMP)
714# 274 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
716# 274 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
719# 280 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
720 h_l(i -
chemxb + 1) = h_l(i -
chemxb + 1)*gas_constant*t_l/molecular_weights(i -
chemxb + 1)
721 h_r(i -
chemxb + 1) = h_r(i -
chemxb + 1)*gas_constant*t_r/molecular_weights(i -
chemxb + 1)
722# 283 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
730# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
731#if defined(MFC_OpenACC)
732# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
734# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
735#elif defined(MFC_OpenMP)
736# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
738# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
741 mass_diffusivities_mixavg_cell(i -
chemxb + 1) = &
742 (mass_diffusivities_mixavg2(i -
chemxb + 1) + mass_diffusivities_mixavg1(i -
chemxb + 1))/2.0_wp
745 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
749 mass_diffu_energy = 0.0_wp
752# 301 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
753#if defined(MFC_OpenACC)
754# 301 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
756# 301 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
757#elif defined(MFC_OpenMP)
758# 301 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
760# 301 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
763# 307 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
764 mass_diffu_flux(eqn -
chemxb + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn -
chemxb + 1)* &
765 molecular_weights(eqn -
chemxb + 1)/mw_cell*dxk_dxi(eqn -
chemxb + 1)
766# 310 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
767 rho_vic = rho_vic + mass_diffu_flux(eqn -
chemxb + 1)
768 mass_diffu_energy = mass_diffu_energy + h_k(eqn -
chemxb + 1)*mass_diffu_flux(eqn -
chemxb + 1)
773# 315 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
774#if defined(MFC_OpenACC)
775# 315 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
777# 315 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
778#elif defined(MFC_OpenMP)
779# 315 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
781# 315 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
784 mass_diffu_energy = mass_diffu_energy - h_k(eqn -
chemxb + 1)*ys_cell(eqn -
chemxb + 1)*rho_vic
785 mass_diffu_flux(eqn -
chemxb + 1) = mass_diffu_flux(eqn -
chemxb + 1) - rho_vic*ys_cell(eqn -
chemxb + 1)
789 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
792 flux_src_vf(
e_idx)%sf(x, y, z) = flux_src_vf(
e_idx)%sf(x, y, z) - mass_diffu_energy
795# 327 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
796#if defined(MFC_OpenACC)
797# 327 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
799# 327 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
800#elif defined(MFC_OpenMP)
801# 327 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
803# 327 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
806 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, z) - mass_diffu_flux(eqn -
chemxb + 1)
812# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
814# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
815#if defined(MFC_OpenACC)
816# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
818# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
819#elif defined(MFC_OpenMP)
820# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
822# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
824# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
826# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
828# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
835# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
837# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
838#if defined(MFC_OpenACC)
839# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
841# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
842#elif defined(MFC_OpenMP)
843# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
845# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
847# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
849# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
851# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
853# 339 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
861 grid_spacing =
x_cc(x + 1) -
x_cc(x)
863 grid_spacing =
y_cc(y + 1) -
y_cc(y)
865 grid_spacing =
z_cc(z + 1) -
z_cc(z)
870# 354 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
871#if defined(MFC_OpenACC)
872# 354 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
874# 354 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
875#elif defined(MFC_OpenMP)
876# 354 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
878# 354 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
881 ys_l(i -
chemxb + 1) = q_prim_qp(i)%sf(x, y, z)
882 ys_r(i -
chemxb + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
887 call get_mixture_molecular_weight(ys_l, mw_l)
888 call get_mixture_molecular_weight(ys_r, mw_r)
889 mw_cell = 0.5_wp*(mw_l + mw_r)
892 rgas_l = gas_constant/mw_l
893 rgas_r = gas_constant/mw_r
895 p_l = q_prim_qp(
e_idx)%sf(x, y, z)
896 p_r = q_prim_qp(
e_idx)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
898 rho_l = q_prim_qp(1)%sf(x, y, z)
899 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
901 t_l = p_l/rho_l/rgas_l
902 t_r = p_r/rho_r/rgas_r
904 rho_cell = 0.5_wp*(rho_l + rho_r)
906 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
907 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
908 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
909 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
910 dh_dxi = (hmix_r - hmix_l)/grid_spacing
913 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
914 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
918# 392 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
919#if defined(MFC_OpenACC)
920# 392 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
922# 392 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
923#elif defined(MFC_OpenMP)
924# 392 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
926# 392 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
930 ys_l(i -
chemxb + 1))/grid_spacing
934 diffusivity_l = lambda_l/rho_l/cp_l
935 diffusivity_r = lambda_r/rho_r/cp_r
937 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
938 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
941 mass_diffu_energy = 0.0_wp
944# 408 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
945#if defined(MFC_OpenACC)
946# 408 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
948# 408 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
949#elif defined(MFC_OpenMP)
950# 408 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
952# 408 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
955 mass_diffu_flux(eqn -
chemxb + 1) = rho_cell* &
959 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
962 flux_src_vf(
e_idx)%sf(x, y, z) = flux_src_vf(
e_idx)%sf(x, y, z) - mass_diffu_energy
965# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
966#if defined(MFC_OpenACC)
967# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
969# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
970#elif defined(MFC_OpenMP)
971# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
973# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
976 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, z) - mass_diffu_flux(eqn -
chemxb + 1)
982# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
984# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
985#if defined(MFC_OpenACC)
986# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
988# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
989#elif defined(MFC_OpenMP)
990# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
992# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
994# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
996# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
998# 426 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"