591 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_cons_vf
592 type(scalar_field),
intent(inout) :: q_T_sf
593 real(wp),
intent(in) :: dtime
594 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
595 integer :: x, y, z, eqn, s, nsub
596 real(wp) :: rho, energy, T, T_new, dt_sub, Ysum
597 real(wp) :: r, r2, wr, loss_i, prod_p, loss_p, Lbar, pbar
598 real(wp) :: stiff_max, cell_stiff
599 real(wp),
parameter :: y_floor = 1.e-16_wp
603 real(wp),
parameter :: stiff_target = 0.5_wp
605# 180 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
606 real(wp),
dimension(num_species) :: Ys, cdot, ddot, y0, prod0, Lloss, alp
607# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
609 if (chem_params%adap_substeps)
then
614# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
616# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
617#if defined(MFC_OpenACC)
618# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
620# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
621#elif defined(MFC_OpenMP)
622# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
624# 187 "/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"
630# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
632# 187 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
634# 189 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
635 do z = bounds(3)%beg, bounds(3)%end
636 do y = bounds(2)%beg, bounds(2)%end
637 do x = bounds(1)%beg, bounds(1)%end
638 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
640# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
641#if defined(MFC_OpenACC)
642# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
644# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
645#elif defined(MFC_OpenMP)
646# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
648# 193 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
650 do eqn = eqn_idx%species%beg, eqn_idx%species%end
651 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
657 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
659# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
660#if defined(MFC_OpenACC)
661# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
663# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
664#elif defined(MFC_OpenMP)
665# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
667# 202 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
669 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
670 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
672 t = q_t_sf%sf(x, y, z)
673 call get_temperature(energy, t, ys, .true., t_new)
680 call get_net_production_rates(rho, t, ys, cdot)
683# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
684#if defined(MFC_OpenACC)
685# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
687# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
688#elif defined(MFC_OpenMP)
689# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
691# 216 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
693 do eqn = 1, num_species
694 wr = molecular_weights(eqn)/rho
695 cell_stiff = max(cell_stiff, dtime*abs(wr*cdot(eqn))/max(ys(eqn), y_floor))
697 stiff_max = max(stiff_max, cell_stiff)
702# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
703#if defined(MFC_OpenACC)
704# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
706# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
707#elif defined(MFC_OpenMP)
708# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
710# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
712# 225 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
714 nsub = ceiling(max(real(chem_params%reaction_substeps, wp), min(real(chem_params%reaction_substeps_max, wp), &
715 & stiff_max/stiff_target)))
717 nsub = chem_params%reaction_substeps
719 dt_sub = dtime/real(nsub, wp)
722# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
724# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
725#if defined(MFC_OpenACC)
726# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
728# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
730# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
731#elif defined(MFC_OpenMP)
732# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
734# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
736# 233 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
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"
744# 235 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
745 do z = bounds(3)%beg, bounds(3)%end
746 do y = bounds(2)%beg, bounds(2)%end
747 do x = bounds(1)%beg, bounds(1)%end
748 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
751# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
752#if defined(MFC_OpenACC)
753# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
755# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
756#elif defined(MFC_OpenMP)
757# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
759# 240 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
761 do eqn = eqn_idx%species%beg, eqn_idx%species%end
762 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
766 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
768# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
769#if defined(MFC_OpenACC)
770# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
772# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
773#elif defined(MFC_OpenMP)
774# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
776# 247 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
778 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
779 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
784 t = q_t_sf%sf(x, y, z)
785 call get_temperature(energy, t, ys, .true., t_new)
790 call get_creation_destruction_rates(rho, t, ys, cdot, ddot)
792# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
793#if defined(MFC_OpenACC)
794# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
796# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
797#elif defined(MFC_OpenMP)
798# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
800# 261 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
802 do eqn = 1, num_species
804 wr = molecular_weights(eqn)/rho
805 prod0(eqn) = wr*cdot(eqn)
806 loss_i = wr*ddot(eqn)
807 lloss(eqn) = loss_i/max(ys(eqn), y_floor)
808 r = dt_sub*lloss(eqn); r2 = r*r
809 alp(eqn) = (180._wp + 60._wp*r + 11._wp*r2 + r2*r)/(360._wp + 60._wp*r + 12._wp*r2 + r2*r)
810 ys(eqn) = y0(eqn) + dt_sub*(prod0(eqn) - loss_i)/(1._wp + alp(eqn)*dt_sub*lloss(eqn))
811 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
814 call get_temperature(energy, t, ys, .true., t_new)
815 call get_creation_destruction_rates(rho, t_new, ys, cdot, ddot)
818# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
819#if defined(MFC_OpenACC)
820# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
822# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
823#elif defined(MFC_OpenMP)
824# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
826# 277 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
828 do eqn = 1, num_species
829 wr = molecular_weights(eqn)/rho
830 prod_p = wr*cdot(eqn)
831 loss_p = wr*ddot(eqn)
832 lbar = 0.5_wp*(lloss(eqn) + loss_p/max(ys(eqn), y_floor))
836 pbar = alp(eqn)*prod_p + (1._wp - alp(eqn))*prod0(eqn)
837 ys(eqn) = y0(eqn) + dt_sub*(pbar - lbar*y0(eqn))/(1._wp + alp(eqn)*dt_sub*lbar)
838 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
839 ysum = ysum + ys(eqn)
841 if (ysum > y_floor)
then
843# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
844#if defined(MFC_OpenACC)
845# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
847# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
848#elif defined(MFC_OpenMP)
849# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
851# 292 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
853 do eqn = 1, num_species
854 ys(eqn) = ys(eqn)/ysum
860# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
861#if defined(MFC_OpenACC)
862# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
864# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
865#elif defined(MFC_OpenMP)
866# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
868# 299 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
870 do eqn = 1, num_species
874 call get_temperature(energy, t, ys, .true., t_new)
879# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
880#if defined(MFC_OpenACC)
881# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
883# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
884#elif defined(MFC_OpenMP)
885# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
887# 308 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
889 do eqn = eqn_idx%species%beg, eqn_idx%species%end
890 q_cons_vf(eqn)%sf(x, y, z) = rho*ys(eqn - eqn_idx%species%beg + 1)
892 q_t_sf%sf(x, y, z) = t
897# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
898#if defined(MFC_OpenACC)
899# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
901# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
902#elif defined(MFC_OpenMP)
903# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
905# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
907# 316 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
915 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
916 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
917 type(int_bounds_info),
intent(in) :: irx, iry, irz
918 integer,
intent(in) :: idir
919 type(scalar_field),
intent(in) :: q_T_sf
921# 335 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
922 real(wp),
dimension(num_species) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
923 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
924 real(wp),
dimension(num_species) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
925 real(wp),
dimension(num_species) :: Mass_Diffu_Flux, dYk_dxi
926# 340 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
928 real(wp) :: Mass_Diffu_Energy
929 real(wp) :: MW_L, MW_R, MW_cell, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
930 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
931 real(wp) :: Cp_L, Cp_R
932 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
933 real(wp) :: hmix_L, hmix_R, dh_dxi
934 integer :: x, y, z, i, n, eqn
935 integer,
dimension(3) :: offsets
940# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
941#if defined(MFC_OpenACC)
942# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
944# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
945#elif defined(MFC_OpenMP)
946# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
948# 352 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
956 if (chem_params%transport_model == 1)
then
959# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
961# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
962#if defined(MFC_OpenACC)
963# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
965# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
967# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
969# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
970#elif defined(MFC_OpenMP)
971# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
973# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
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"
983# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
985# 366 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
992 grid_spacing =
x_cc(x + 1) -
x_cc(x)
994 grid_spacing =
y_cc(y + 1) -
y_cc(y)
996 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1001# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1002#if defined(MFC_OpenACC)
1003# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1005# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1006#elif defined(MFC_OpenMP)
1007# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1009# 380 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1011 do i = eqn_idx%species%beg, eqn_idx%species%end
1012 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1013 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1014 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1015 & - eqn_idx%species%beg + 1))
1019 call get_mixture_molecular_weight(ys_l, mw_l)
1020 call get_mixture_molecular_weight(ys_r, mw_r)
1021 mw_cell = 0.5_wp*(mw_l + mw_r)
1023 call get_mole_fractions(mw_l, ys_l, xs_l)
1024 call get_mole_fractions(mw_r, ys_r, xs_r)
1026 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1027 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1029 rho_l = q_prim_qp(1)%sf(x, y, z)
1030 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1032 t_l = q_t_sf%sf(x, y, z)
1033 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1035 rho_cell = 0.5_wp*(rho_l + rho_r)
1036 dt_dxi = (t_r - t_l)/grid_spacing
1039 call get_species_mass_diffusivities_mixavg(p_l, t_l, ys_l, mass_diffusivities_mixavg1)
1040 call get_species_mass_diffusivities_mixavg(p_r, t_r, ys_r, mass_diffusivities_mixavg2)
1042 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
1043 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
1045 call get_species_enthalpies_rt(t_l, h_l)
1046 call get_species_enthalpies_rt(t_r, h_r)
1050# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1051#if defined(MFC_OpenACC)
1052# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1054# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1055#elif defined(MFC_OpenMP)
1056# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1058# 419 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1060 do i = eqn_idx%species%beg, eqn_idx%species%end
1061 h_l(i - eqn_idx%species%beg + 1) = h_l(i - eqn_idx%species%beg + 1) &
1062 & *gas_constant*t_l/molecular_weights(i - eqn_idx%species%beg + 1)
1063 h_r(i - eqn_idx%species%beg + 1) = h_r(i - eqn_idx%species%beg + 1) &
1064 & *gas_constant*t_r/molecular_weights(i - eqn_idx%species%beg + 1)
1065 xs_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(xs_l(i - eqn_idx%species%beg + 1) + xs_r(i &
1066 & - eqn_idx%species%beg + 1))
1067 h_k(i - eqn_idx%species%beg + 1) = 0.5_wp*(h_l(i - eqn_idx%species%beg + 1) + h_r(i &
1068 & - eqn_idx%species%beg + 1))
1069 dxk_dxi(i - eqn_idx%species%beg + 1) = (xs_r(i - eqn_idx%species%beg + 1) - xs_l(i &
1070 & - eqn_idx%species%beg + 1))/grid_spacing
1075# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1076#if defined(MFC_OpenACC)
1077# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1079# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1080#elif defined(MFC_OpenMP)
1081# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1083# 434 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1085 do i = eqn_idx%species%beg, eqn_idx%species%end
1086 mass_diffusivities_mixavg_cell(i - eqn_idx%species%beg + 1) = (mass_diffusivities_mixavg2(i &
1087 & - eqn_idx%species%beg + 1) + mass_diffusivities_mixavg1(i &
1088 & - eqn_idx%species%beg + 1))/2.0_wp
1091 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1095 mass_diffu_energy = 0.0_wp
1098# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1099#if defined(MFC_OpenACC)
1100# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1102# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1103#elif defined(MFC_OpenMP)
1104# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1106# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1108 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1109 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn &
1110 & - eqn_idx%species%beg + 1)*molecular_weights(eqn - eqn_idx%species%beg + 1) &
1111 & /mw_cell*dxk_dxi(eqn - eqn_idx%species%beg + 1)
1112 rho_vic = rho_vic + mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1113 mass_diffu_energy = mass_diffu_energy + h_k(eqn - eqn_idx%species%beg + 1)*mass_diffu_flux(eqn &
1114 & - eqn_idx%species%beg + 1)
1119# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1120#if defined(MFC_OpenACC)
1121# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1123# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1124#elif defined(MFC_OpenMP)
1125# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1127# 458 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1129 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1130 mass_diffu_energy = mass_diffu_energy - h_k(eqn - eqn_idx%species%beg + 1)*ys_cell(eqn &
1131 & - eqn_idx%species%beg + 1)*rho_vic
1132 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = mass_diffu_flux(eqn - eqn_idx%species%beg + 1) &
1133 & - rho_vic*ys_cell(eqn - eqn_idx%species%beg + 1)
1137 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
1140 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1143# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1144#if defined(MFC_OpenACC)
1145# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1147# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1148#elif defined(MFC_OpenMP)
1149# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1151# 472 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1153 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1154 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1155 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1161# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1162#if defined(MFC_OpenACC)
1163# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1165# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1166#elif defined(MFC_OpenMP)
1167# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1169# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1171# 480 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1175 else if (chem_params%transport_model == 2)
then
1178# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1180# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1181#if defined(MFC_OpenACC)
1182# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1184# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1186# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1188# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1189#elif defined(MFC_OpenMP)
1190# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1192# 485 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
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"
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# 489 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1211 grid_spacing =
x_cc(x + 1) -
x_cc(x)
1213 grid_spacing =
y_cc(y + 1) -
y_cc(y)
1215 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1220# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1221#if defined(MFC_OpenACC)
1222# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1224# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1225#elif defined(MFC_OpenMP)
1226# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1228# 503 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1230 do i = eqn_idx%species%beg, eqn_idx%species%end
1231 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1232 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1233 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1234 & - eqn_idx%species%beg + 1))
1238 call get_mixture_molecular_weight(ys_l, mw_l)
1239 call get_mixture_molecular_weight(ys_r, mw_r)
1240 mw_cell = 0.5_wp*(mw_l + mw_r)
1242 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1243 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1245 rho_l = q_prim_qp(1)%sf(x, y, z)
1246 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1248 t_l = q_t_sf%sf(x, y, z)
1249 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1251 rho_cell = 0.5_wp*(rho_l + rho_r)
1253 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1254 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1255 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
1256 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
1257 dh_dxi = (hmix_r - hmix_l)/grid_spacing
1260 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
1261 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
1265# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1266#if defined(MFC_OpenACC)
1267# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1269# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1270#elif defined(MFC_OpenMP)
1271# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1273# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1275 do i = eqn_idx%species%beg, eqn_idx%species%end
1276 dyk_dxi(i - eqn_idx%species%beg + 1) = (ys_r(i - eqn_idx%species%beg + 1) - ys_l(i &
1277 & - eqn_idx%species%beg + 1))/grid_spacing
1281 diffusivity_l = lambda_l/rho_l/cp_l
1282 diffusivity_r = lambda_r/rho_r/cp_r
1284 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1285 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
1288 mass_diffu_energy = 0.0_wp
1291# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1292#if defined(MFC_OpenACC)
1293# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1295# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1296#elif defined(MFC_OpenMP)
1297# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1299# 554 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1301 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1302 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn &
1303 & - eqn_idx%species%beg + 1)
1305 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
1308 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1311# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1312#if defined(MFC_OpenACC)
1313# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1315# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1316#elif defined(MFC_OpenMP)
1317# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1319# 564 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1321 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1322 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1323 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1329# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1330#if defined(MFC_OpenACC)
1331# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1333# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1334#elif defined(MFC_OpenMP)
1335# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1337# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1339# 572 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"