574 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
575 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
576 type(int_bounds_info),
intent(in) :: irx, iry, irz
577 integer,
intent(in) :: idir
578 type(scalar_field),
intent(in) :: q_T_sf
580# 166 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
581 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
582 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
583 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
584 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
585# 171 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
587 real(wp) :: Mass_Diffu_Energy
588 real(wp) :: MW_L, MW_R, MW_cell, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
589 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
590 real(wp) :: Cp_L, Cp_R
591 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
592 real(wp) :: hmix_L, hmix_R, dh_dxi
593 integer :: x, y, z, i, n, eqn
594 integer,
dimension(3) :: offsets
599# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
600#if defined(MFC_OpenACC)
601# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
603# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
604#elif defined(MFC_OpenMP)
605# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
607# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
618# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
620# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
621#if defined(MFC_OpenACC)
622# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
624# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
625#elif defined(MFC_OpenMP)
626# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
628# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
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# 197 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
643 grid_spacing =
x_cc(x + 1) -
x_cc(x)
645 grid_spacing =
y_cc(y + 1) -
y_cc(y)
647 grid_spacing =
z_cc(z + 1) -
z_cc(z)
652# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
653#if defined(MFC_OpenACC)
654# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
656# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
657#elif defined(MFC_OpenMP)
658# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
660# 211 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
663 ys_l(i -
eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
664 ys_r(i -
eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
665 ys_cell(i -
eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i -
eqn_idx%species%beg + 1) + ys_r(i &
670 call get_mixture_molecular_weight(ys_l, mw_l)
671 call get_mixture_molecular_weight(ys_r, mw_r)
672 mw_cell = 0.5_wp*(mw_l + mw_r)
674 call get_mole_fractions(mw_l, ys_l, xs_l)
675 call get_mole_fractions(mw_r, ys_r, xs_r)
677 p_l = q_prim_qp(
eqn_idx%E)%sf(x, y, z)
678 p_r = q_prim_qp(
eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
680 rho_l = q_prim_qp(1)%sf(x, y, z)
681 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
683 t_l = q_t_sf%sf(x, y, z)
684 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
686 rho_cell = 0.5_wp*(rho_l + rho_r)
687 dt_dxi = (t_r - t_l)/grid_spacing
690 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
691 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
693 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
694 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
696 call get_species_enthalpies_rt(t_l, h_l)
697 call get_species_enthalpies_rt(t_r, h_r)
701# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
702#if defined(MFC_OpenACC)
703# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
705# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
706#elif defined(MFC_OpenMP)
707# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
709# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
712 h_l(i -
eqn_idx%species%beg + 1) = h_l(i -
eqn_idx%species%beg + 1) &
713 & *gas_constant*t_l/molecular_weights(i -
eqn_idx%species%beg + 1)
714 h_r(i -
eqn_idx%species%beg + 1) = h_r(i -
eqn_idx%species%beg + 1) &
715 & *gas_constant*t_r/molecular_weights(i -
eqn_idx%species%beg + 1)
716 xs_cell(i -
eqn_idx%species%beg + 1) = 0.5_wp*(xs_l(i -
eqn_idx%species%beg + 1) + xs_r(i &
718 h_k(i -
eqn_idx%species%beg + 1) = 0.5_wp*(h_l(i -
eqn_idx%species%beg + 1) + h_r(i &
720 dxk_dxi(i -
eqn_idx%species%beg + 1) = (xs_r(i -
eqn_idx%species%beg + 1) - xs_l(i &
721 & -
eqn_idx%species%beg + 1))/grid_spacing
726# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
727#if defined(MFC_OpenACC)
728# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
730# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
731#elif defined(MFC_OpenMP)
732# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
734# 265 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
737 mass_diffusivities_mixavg_cell(i -
eqn_idx%species%beg + 1) = (mass_diffusivities_mixavg2(i &
738 & -
eqn_idx%species%beg + 1) + mass_diffusivities_mixavg1(i &
739 & -
eqn_idx%species%beg + 1))/2.0_wp
742 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
746 mass_diffu_energy = 0.0_wp
749# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
750#if defined(MFC_OpenACC)
751# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
753# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
754#elif defined(MFC_OpenMP)
755# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
757# 278 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
760 mass_diffu_flux(eqn -
eqn_idx%species%beg + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn &
761 & -
eqn_idx%species%beg + 1)*molecular_weights(eqn -
eqn_idx%species%beg + 1) &
762 & /mw_cell*dxk_dxi(eqn -
eqn_idx%species%beg + 1)
763 rho_vic = rho_vic + mass_diffu_flux(eqn -
eqn_idx%species%beg + 1)
764 mass_diffu_energy = mass_diffu_energy + h_k(eqn -
eqn_idx%species%beg + 1)*mass_diffu_flux(eqn &
770# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
771#if defined(MFC_OpenACC)
772# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
774# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
775#elif defined(MFC_OpenMP)
776# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
778# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
781 mass_diffu_energy = mass_diffu_energy - h_k(eqn -
eqn_idx%species%beg + 1)*ys_cell(eqn &
782 & -
eqn_idx%species%beg + 1)*rho_vic
783 mass_diffu_flux(eqn -
eqn_idx%species%beg + 1) = mass_diffu_flux(eqn -
eqn_idx%species%beg + 1) &
784 & - rho_vic*ys_cell(eqn -
eqn_idx%species%beg + 1)
788 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
791 flux_src_vf(
eqn_idx%E)%sf(x, y, z) = flux_src_vf(
eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
794# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
795#if defined(MFC_OpenACC)
796# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
798# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
799#elif defined(MFC_OpenMP)
800# 303 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
802# 303 "/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, &
806 & z) - mass_diffu_flux(eqn -
eqn_idx%species%beg + 1)
812# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
813#if defined(MFC_OpenACC)
814# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
816# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
817#elif defined(MFC_OpenMP)
818# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
820# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
822# 311 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
829# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
831# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
832#if defined(MFC_OpenACC)
833# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
835# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
836#elif defined(MFC_OpenMP)
837# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
839# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
841# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
843# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
845# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
847# 320 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
854 grid_spacing =
x_cc(x + 1) -
x_cc(x)
856 grid_spacing =
y_cc(y + 1) -
y_cc(y)
858 grid_spacing =
z_cc(z + 1) -
z_cc(z)
863# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
864#if defined(MFC_OpenACC)
865# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
867# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
868#elif defined(MFC_OpenMP)
869# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
871# 334 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
874 ys_l(i -
eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
875 ys_r(i -
eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
876 ys_cell(i -
eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i -
eqn_idx%species%beg + 1) + ys_r(i &
881 call get_mixture_molecular_weight(ys_l, mw_l)
882 call get_mixture_molecular_weight(ys_r, mw_r)
883 mw_cell = 0.5_wp*(mw_l + mw_r)
885 p_l = q_prim_qp(
eqn_idx%E)%sf(x, y, z)
886 p_r = q_prim_qp(
eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
888 rho_l = q_prim_qp(1)%sf(x, y, z)
889 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
891 t_l = q_t_sf%sf(x, y, z)
892 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
894 rho_cell = 0.5_wp*(rho_l + rho_r)
896 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
897 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
898 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
899 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
900 dh_dxi = (hmix_r - hmix_l)/grid_spacing
903 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
904 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
908# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
909#if defined(MFC_OpenACC)
910# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
912# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
913#elif defined(MFC_OpenMP)
914# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
916# 369 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
919 dyk_dxi(i -
eqn_idx%species%beg + 1) = (ys_r(i -
eqn_idx%species%beg + 1) - ys_l(i &
920 & -
eqn_idx%species%beg + 1))/grid_spacing
924 diffusivity_l = lambda_l/rho_l/cp_l
925 diffusivity_r = lambda_r/rho_r/cp_r
927 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
928 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
931 mass_diffu_energy = 0.0_wp
934# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
935#if defined(MFC_OpenACC)
936# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
938# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
939#elif defined(MFC_OpenMP)
940# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
942# 385 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
945 mass_diffu_flux(eqn -
eqn_idx%species%beg + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn &
948 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
951 flux_src_vf(
eqn_idx%E)%sf(x, y, z) = flux_src_vf(
eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
954# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
955#if defined(MFC_OpenACC)
956# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
958# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
959#elif defined(MFC_OpenMP)
960# 395 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
962# 395 "/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, &
966 & z) - mass_diffu_flux(eqn -
eqn_idx%species%beg + 1)
972# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
973#if defined(MFC_OpenACC)
974# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
976# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
977#elif defined(MFC_OpenMP)
978# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
980# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
982# 403 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"