603 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_cons_vf
604 type(scalar_field),
intent(inout) :: q_T_sf
605 real(wp),
intent(in) :: dtime
606 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
607 integer :: x, y, z, eqn, s, nsub
608 real(wp) :: rho, energy, T, T_new, dt_sub, Ysum
609 real(wp) :: r, r2, wr, loss_i, prod_p, loss_p, Lbar, pbar
610 real(wp) :: stiff_max, cell_stiff
611 real(wp),
parameter :: y_floor = 1.e-16_wp
615 real(wp),
parameter :: stiff_target = 0.5_wp
617# 180 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
618 real(wp),
dimension(num_species) :: Ys, cdot, ddot, y0, prod0, Lloss, alp
619# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
626# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
628# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
629#if defined(MFC_OpenACC)
630# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
632# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
633#elif defined(MFC_OpenMP)
634# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
636# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
638# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
640# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
642# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
644# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
646# 189 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
647 do z = bounds(3)%beg, bounds(3)%end
648 do y = bounds(2)%beg, bounds(2)%end
649 do x = bounds(1)%beg, bounds(1)%end
650 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
652# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
653#if defined(MFC_OpenACC)
654# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
656# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
657#elif defined(MFC_OpenMP)
658# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
660# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
662 do eqn = eqn_idx%species%beg, eqn_idx%species%end
663 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
669 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
671# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
672#if defined(MFC_OpenACC)
673# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
675# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
676#elif defined(MFC_OpenMP)
677# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
679# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
681 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
682 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
684 t = q_t_sf%sf(x, y, z)
685 call get_temperature(energy, t, ys, .true., t_new)
692 call get_net_production_rates(rho, t, ys, cdot)
695# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
696#if defined(MFC_OpenACC)
697# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
699# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
700#elif defined(MFC_OpenMP)
701# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
703# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
705 do eqn = 1, num_species
706 wr = molecular_weights(eqn)/rho
707 cell_stiff = max(cell_stiff, dtime*abs(wr*cdot(eqn))/max(ys(eqn), y_floor))
709 stiff_max = max(stiff_max, cell_stiff)
714# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
715#if defined(MFC_OpenACC)
716# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
718# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
719#elif defined(MFC_OpenMP)
720# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
722# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
724# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
726 nsub = ceiling(max(real(
chem_params%reaction_substeps, wp), min(real(
chem_params%reaction_substeps_max, wp), &
727 & stiff_max/stiff_target)))
731 dt_sub = dtime/real(nsub, wp)
734# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
736# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
737#if defined(MFC_OpenACC)
738# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
740# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
742# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
743#elif defined(MFC_OpenMP)
744# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
746# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
748# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
750# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
752# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
754# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
756# 235 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
757 do z = bounds(3)%beg, bounds(3)%end
758 do y = bounds(2)%beg, bounds(2)%end
759 do x = bounds(1)%beg, bounds(1)%end
760 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
763# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
764#if defined(MFC_OpenACC)
765# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
767# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
768#elif defined(MFC_OpenMP)
769# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
771# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
773 do eqn = eqn_idx%species%beg, eqn_idx%species%end
774 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
778 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
780# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
781#if defined(MFC_OpenACC)
782# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
784# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
785#elif defined(MFC_OpenMP)
786# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
788# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
790 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
791 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
796 t = q_t_sf%sf(x, y, z)
797 call get_temperature(energy, t, ys, .true., t_new)
802 call get_creation_destruction_rates(rho, t, ys, cdot, ddot)
804# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
805#if defined(MFC_OpenACC)
806# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
808# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
809#elif defined(MFC_OpenMP)
810# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
812# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
814 do eqn = 1, num_species
816 wr = molecular_weights(eqn)/rho
817 prod0(eqn) = wr*cdot(eqn)
818 loss_i = wr*ddot(eqn)
819 lloss(eqn) = loss_i/max(ys(eqn), y_floor)
820 r = dt_sub*lloss(eqn); r2 = r*r
821 alp(eqn) = (180._wp + 60._wp*r + 11._wp*r2 + r2*r)/(360._wp + 60._wp*r + 12._wp*r2 + r2*r)
822 ys(eqn) = y0(eqn) + dt_sub*(prod0(eqn) - loss_i)/(1._wp + alp(eqn)*dt_sub*lloss(eqn))
823 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
826 call get_temperature(energy, t, ys, .true., t_new)
827 call get_creation_destruction_rates(rho, t_new, ys, cdot, ddot)
830# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
831#if defined(MFC_OpenACC)
832# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
834# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
835#elif defined(MFC_OpenMP)
836# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
838# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
840 do eqn = 1, num_species
841 wr = molecular_weights(eqn)/rho
842 prod_p = wr*cdot(eqn)
843 loss_p = wr*ddot(eqn)
844 lbar = 0.5_wp*(lloss(eqn) + loss_p/max(ys(eqn), y_floor))
848 pbar = alp(eqn)*prod_p + (1._wp - alp(eqn))*prod0(eqn)
849 ys(eqn) = y0(eqn) + dt_sub*(pbar - lbar*y0(eqn))/(1._wp + alp(eqn)*dt_sub*lbar)
850 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
851 ysum = ysum + ys(eqn)
853 if (ysum > y_floor)
then
855# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
856#if defined(MFC_OpenACC)
857# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
859# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
860#elif defined(MFC_OpenMP)
861# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
863# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
865 do eqn = 1, num_species
866 ys(eqn) = ys(eqn)/ysum
872# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
873#if defined(MFC_OpenACC)
874# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
876# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
877#elif defined(MFC_OpenMP)
878# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
880# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
882 do eqn = 1, num_species
886 call get_temperature(energy, t, ys, .true., t_new)
891# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
892#if defined(MFC_OpenACC)
893# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
895# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
896#elif defined(MFC_OpenMP)
897# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
899# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
901 do eqn = eqn_idx%species%beg, eqn_idx%species%end
902 q_cons_vf(eqn)%sf(x, y, z) = rho*ys(eqn - eqn_idx%species%beg + 1)
904 q_t_sf%sf(x, y, z) = t
909# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
910#if defined(MFC_OpenACC)
911# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
913# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
914#elif defined(MFC_OpenMP)
915# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
917# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
919# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
927 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
928 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
929 type(int_bounds_info),
intent(in) :: irx, iry, irz
930 integer,
intent(in) :: idir
931 type(scalar_field),
intent(in) :: q_T_sf
933# 335 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
934 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
935 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
936 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
937 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
938# 340 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
940 real(wp) :: Mass_Diffu_Energy
941 real(wp) :: MW_L, MW_R, MW_cell, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
942 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
943 real(wp) :: Cp_L, Cp_R
944 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
945 real(wp) :: hmix_L, hmix_R, dh_dxi
946 integer :: x, y, z, i, n, eqn
947 integer,
dimension(3) :: offsets
952# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
953#if defined(MFC_OpenACC)
954# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
956# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
957#elif defined(MFC_OpenMP)
958# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
960# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
971# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
973# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
974#if defined(MFC_OpenACC)
975# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
977# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
979# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
981# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
982#elif defined(MFC_OpenMP)
983# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
985# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
987# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
989# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
991# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
993# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
995# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
997# 366 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1004 grid_spacing =
x_cc(x + 1) -
x_cc(x)
1006 grid_spacing =
y_cc(y + 1) -
y_cc(y)
1008 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1013# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1014#if defined(MFC_OpenACC)
1015# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1017# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1018#elif defined(MFC_OpenMP)
1019# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1021# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1023 do i = eqn_idx%species%beg, eqn_idx%species%end
1024 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1025 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1026 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1027 & - eqn_idx%species%beg + 1))
1031 call get_mixture_molecular_weight(ys_l, mw_l)
1032 call get_mixture_molecular_weight(ys_r, mw_r)
1033 mw_cell = 0.5_wp*(mw_l + mw_r)
1035 call get_mole_fractions(mw_l, ys_l, xs_l)
1036 call get_mole_fractions(mw_r, ys_r, xs_r)
1038 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1039 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1041 rho_l = q_prim_qp(1)%sf(x, y, z)
1042 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1044 t_l = q_t_sf%sf(x, y, z)
1045 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1047 rho_cell = 0.5_wp*(rho_l + rho_r)
1048 dt_dxi = (t_r - t_l)/grid_spacing
1051 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
1052 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
1054 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
1055 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
1057 call get_species_enthalpies_rt(t_l, h_l)
1058 call get_species_enthalpies_rt(t_r, h_r)
1062# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1063#if defined(MFC_OpenACC)
1064# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1066# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1067#elif defined(MFC_OpenMP)
1068# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1070# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1072 do i = eqn_idx%species%beg, eqn_idx%species%end
1073 h_l(i - eqn_idx%species%beg + 1) = h_l(i - eqn_idx%species%beg + 1) &
1074 & *gas_constant*t_l/molecular_weights(i - eqn_idx%species%beg + 1)
1075 h_r(i - eqn_idx%species%beg + 1) = h_r(i - eqn_idx%species%beg + 1) &
1076 & *gas_constant*t_r/molecular_weights(i - eqn_idx%species%beg + 1)
1077 xs_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(xs_l(i - eqn_idx%species%beg + 1) + xs_r(i &
1078 & - eqn_idx%species%beg + 1))
1079 h_k(i - eqn_idx%species%beg + 1) = 0.5_wp*(h_l(i - eqn_idx%species%beg + 1) + h_r(i &
1080 & - eqn_idx%species%beg + 1))
1081 dxk_dxi(i - eqn_idx%species%beg + 1) = (xs_r(i - eqn_idx%species%beg + 1) - xs_l(i &
1082 & - eqn_idx%species%beg + 1))/grid_spacing
1087# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1088#if defined(MFC_OpenACC)
1089# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1091# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1092#elif defined(MFC_OpenMP)
1093# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1095# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1097 do i = eqn_idx%species%beg, eqn_idx%species%end
1098 mass_diffusivities_mixavg_cell(i - eqn_idx%species%beg + 1) = (mass_diffusivities_mixavg2(i &
1099 & - eqn_idx%species%beg + 1) + mass_diffusivities_mixavg1(i &
1100 & - eqn_idx%species%beg + 1))/2.0_wp
1103 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1107 mass_diffu_energy = 0.0_wp
1110# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1111#if defined(MFC_OpenACC)
1112# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1114# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1115#elif defined(MFC_OpenMP)
1116# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1118# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1120 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1121 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn &
1122 & - eqn_idx%species%beg + 1)*molecular_weights(eqn - eqn_idx%species%beg + 1) &
1123 & /mw_cell*dxk_dxi(eqn - eqn_idx%species%beg + 1)
1124 rho_vic = rho_vic + mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1125 mass_diffu_energy = mass_diffu_energy + h_k(eqn - eqn_idx%species%beg + 1)*mass_diffu_flux(eqn &
1126 & - eqn_idx%species%beg + 1)
1131# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1132#if defined(MFC_OpenACC)
1133# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1135# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1136#elif defined(MFC_OpenMP)
1137# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1139# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1141 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1142 mass_diffu_energy = mass_diffu_energy - h_k(eqn - eqn_idx%species%beg + 1)*ys_cell(eqn &
1143 & - eqn_idx%species%beg + 1)*rho_vic
1144 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = mass_diffu_flux(eqn - eqn_idx%species%beg + 1) &
1145 & - rho_vic*ys_cell(eqn - eqn_idx%species%beg + 1)
1149 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
1152 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1155# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1156#if defined(MFC_OpenACC)
1157# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1159# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1160#elif defined(MFC_OpenMP)
1161# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1163# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1165 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1166 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1167 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1173# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1174#if defined(MFC_OpenACC)
1175# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1177# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1178#elif defined(MFC_OpenMP)
1179# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1181# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1183# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1190# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1192# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1193#if defined(MFC_OpenACC)
1194# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1196# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1198# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1199#elif defined(MFC_OpenMP)
1200# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1202# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1204# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1206# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1208# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1210# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1212# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1214# 489 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1221 grid_spacing =
x_cc(x + 1) -
x_cc(x)
1223 grid_spacing =
y_cc(y + 1) -
y_cc(y)
1225 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1230# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1231#if defined(MFC_OpenACC)
1232# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1234# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1235#elif defined(MFC_OpenMP)
1236# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1238# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1240 do i = eqn_idx%species%beg, eqn_idx%species%end
1241 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1242 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1243 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1244 & - eqn_idx%species%beg + 1))
1248 call get_mixture_molecular_weight(ys_l, mw_l)
1249 call get_mixture_molecular_weight(ys_r, mw_r)
1250 mw_cell = 0.5_wp*(mw_l + mw_r)
1252 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1253 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1255 rho_l = q_prim_qp(1)%sf(x, y, z)
1256 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1258 t_l = q_t_sf%sf(x, y, z)
1259 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1261 rho_cell = 0.5_wp*(rho_l + rho_r)
1263 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1264 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1265 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
1266 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
1267 dh_dxi = (hmix_r - hmix_l)/grid_spacing
1270 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
1271 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
1275# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1276#if defined(MFC_OpenACC)
1277# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1279# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1280#elif defined(MFC_OpenMP)
1281# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1283# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1285 do i = eqn_idx%species%beg, eqn_idx%species%end
1286 dyk_dxi(i - eqn_idx%species%beg + 1) = (ys_r(i - eqn_idx%species%beg + 1) - ys_l(i &
1287 & - eqn_idx%species%beg + 1))/grid_spacing
1291 diffusivity_l = lambda_l/rho_l/cp_l
1292 diffusivity_r = lambda_r/rho_r/cp_r
1294 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1295 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
1298 mass_diffu_energy = 0.0_wp
1301# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1302#if defined(MFC_OpenACC)
1303# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1305# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1306#elif defined(MFC_OpenMP)
1307# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1309# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1311 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1312 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn &
1313 & - eqn_idx%species%beg + 1)
1315 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
1318 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1321# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1322#if defined(MFC_OpenACC)
1323# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1325# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1326#elif defined(MFC_OpenMP)
1327# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1329# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1331 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1332 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1333 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1339# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1340#if defined(MFC_OpenACC)
1341# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1343# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1344#elif defined(MFC_OpenMP)
1345# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1347# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1349# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"