630 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_cons_vf
631 type(scalar_field),
intent(inout) :: q_T_sf
632 real(wp),
intent(in) :: dtime
633 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
634 integer :: x, y, z, eqn, s, nsub
635 real(wp) :: rho, energy, T, T_new, dt_sub, Ysum
636 real(wp) :: r, r2, wr, loss_i, prod_p, loss_p, Lbar, pbar
637 real(wp) :: stiff_max, cell_stiff
638 real(wp),
parameter :: y_floor = 1.e-16_wp
642 real(wp),
parameter :: stiff_target = 0.5_wp
643 real(wp),
dimension(1) :: Ys, cdot, ddot, y0, prod0, Lloss, alp
644# 171 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
646 if (chem_params%adap_substeps)
then
651# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
653# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
654#if defined(MFC_OpenACC)
655# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
657# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
658#elif defined(MFC_OpenMP)
659# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
661# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
663# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
665# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
667# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
669# 176 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
671# 178 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
672 do z = bounds(3)%beg, bounds(3)%end
673 do y = bounds(2)%beg, bounds(2)%end
674 do x = bounds(1)%beg, bounds(1)%end
675 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
677# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
678#if defined(MFC_OpenACC)
679# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
681# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
682#elif defined(MFC_OpenMP)
683# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
685# 182 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
687# 183 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
688 do eqn = eqn_idx%species%beg, eqn_idx%species%end
689 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
695 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
697# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
698#if defined(MFC_OpenACC)
699# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
701# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
702#elif defined(MFC_OpenMP)
703# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
705# 191 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
707# 192 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
708 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
709 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
711 t = q_t_sf%sf(x, y, z)
712 call get_temperature(energy, t, ys, .true., t_new)
719 call get_net_production_rates(rho, t, ys, cdot)
722# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
723#if defined(MFC_OpenACC)
724# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
726# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
727#elif defined(MFC_OpenMP)
728# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
730# 205 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
732# 206 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
733 do eqn = 1, num_species
734 wr = molecular_weights(eqn)/rho
735 cell_stiff = max(cell_stiff, dtime*abs(wr*cdot(eqn))/max(ys(eqn), y_floor))
737 stiff_max = max(stiff_max, cell_stiff)
742# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
743#if defined(MFC_OpenACC)
744# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
746# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
747#elif defined(MFC_OpenMP)
748# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
750# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
752# 214 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
754# 215 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
755 nsub = ceiling(max(real(chem_params%reaction_substeps, wp), min(real(chem_params%reaction_substeps_max, wp), &
756 & stiff_max/stiff_target)))
758 nsub = chem_params%reaction_substeps
760 dt_sub = dtime/real(nsub, wp)
763# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
765# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
766#if defined(MFC_OpenACC)
767# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
769# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
771# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
772#elif defined(MFC_OpenMP)
773# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
775# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
777# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
779# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
781# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
783# 222 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
785# 224 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
786 do z = bounds(3)%beg, bounds(3)%end
787 do y = bounds(2)%beg, bounds(2)%end
788 do x = bounds(1)%beg, bounds(1)%end
789 rho = q_cons_vf(eqn_idx%cont%beg)%sf(x, y, z)
792# 229 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
793#if defined(MFC_OpenACC)
794# 229 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
796# 229 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
797#elif defined(MFC_OpenMP)
798# 229 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
800# 229 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
802# 230 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
803 do eqn = eqn_idx%species%beg, eqn_idx%species%end
804 ys(eqn - eqn_idx%species%beg + 1) = q_cons_vf(eqn)%sf(x, y, z)/rho
808 energy = q_cons_vf(eqn_idx%E)%sf(x, y, z)/rho
810# 236 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
811#if defined(MFC_OpenACC)
812# 236 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
814# 236 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
815#elif defined(MFC_OpenMP)
816# 236 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
818# 236 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
820# 237 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
821 do eqn = eqn_idx%mom%beg, eqn_idx%mom%end
822 energy = energy - 0.5_wp*(q_cons_vf(eqn)%sf(x, y, z)/rho)**2
827 t = q_t_sf%sf(x, y, z)
828 call get_temperature(energy, t, ys, .true., t_new)
833 call get_creation_destruction_rates(rho, t, ys, cdot, ddot)
835# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
836#if defined(MFC_OpenACC)
837# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
839# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
840#elif defined(MFC_OpenMP)
841# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
843# 250 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
845# 251 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
846 do eqn = 1, num_species
848 wr = molecular_weights(eqn)/rho
849 prod0(eqn) = wr*cdot(eqn)
850 loss_i = wr*ddot(eqn)
851 lloss(eqn) = loss_i/max(ys(eqn), y_floor)
852 r = dt_sub*lloss(eqn); r2 = r*r
853 alp(eqn) = (180._wp + 60._wp*r + 11._wp*r2 + r2*r)/(360._wp + 60._wp*r + 12._wp*r2 + r2*r)
854 ys(eqn) = y0(eqn) + dt_sub*(prod0(eqn) - loss_i)/(1._wp + alp(eqn)*dt_sub*lloss(eqn))
855 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
858 call get_temperature(energy, t, ys, .true., t_new)
859 call get_creation_destruction_rates(rho, t_new, ys, cdot, ddot)
862# 266 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
863#if defined(MFC_OpenACC)
864# 266 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
866# 266 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
867#elif defined(MFC_OpenMP)
868# 266 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
870# 266 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
872# 267 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
873 do eqn = 1, num_species
874 wr = molecular_weights(eqn)/rho
875 prod_p = wr*cdot(eqn)
876 loss_p = wr*ddot(eqn)
877 lbar = 0.5_wp*(lloss(eqn) + loss_p/max(ys(eqn), y_floor))
881 pbar = alp(eqn)*prod_p + (1._wp - alp(eqn))*prod0(eqn)
882 ys(eqn) = y0(eqn) + dt_sub*(pbar - lbar*y0(eqn))/(1._wp + alp(eqn)*dt_sub*lbar)
883 if (ys(eqn) < 0._wp) ys(eqn) = 0._wp
884 ysum = ysum + ys(eqn)
886 if (ysum > y_floor)
then
888# 281 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
889#if defined(MFC_OpenACC)
890# 281 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
892# 281 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
893#elif defined(MFC_OpenMP)
894# 281 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
896# 281 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
898# 282 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
899 do eqn = 1, num_species
900 ys(eqn) = ys(eqn)/ysum
906# 288 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
907#if defined(MFC_OpenACC)
908# 288 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
910# 288 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
911#elif defined(MFC_OpenMP)
912# 288 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
914# 288 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
916# 289 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
917 do eqn = 1, num_species
921 call get_temperature(energy, t, ys, .true., t_new)
926# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
927#if defined(MFC_OpenACC)
928# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
930# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
931#elif defined(MFC_OpenMP)
932# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
934# 297 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
936# 298 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
937 do eqn = eqn_idx%species%beg, eqn_idx%species%end
938 q_cons_vf(eqn)%sf(x, y, z) = rho*ys(eqn - eqn_idx%species%beg + 1)
940 q_t_sf%sf(x, y, z) = t
945# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
946#if defined(MFC_OpenACC)
947# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
949# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
950#elif defined(MFC_OpenMP)
951# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
953# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
955# 305 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
957# 306 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
964 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_qp
965 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_src_vf
966 type(int_bounds_info),
intent(in) :: irx, iry, irz
967 integer,
intent(in) :: idir
968 type(scalar_field),
intent(in) :: q_T_sf
969 real(wp),
dimension(1) :: Xs_L, Xs_R, Xs_cell, Ys_L, Ys_R, Ys_cell
970# 318 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
971 real(wp),
dimension(1) :: mass_diffusivities_mixavg1, mass_diffusivities_mixavg2
972# 319 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
973 real(wp),
dimension(1) :: mass_diffusivities_mixavg_Cell, dXk_dxi, h_l, h_r, h_k
974# 320 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
975 real(wp),
dimension(1) :: Mass_Diffu_Flux, dYk_dxi
976# 321 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
977 real(wp) :: Mass_Diffu_Energy
978 real(wp) :: MW_L, MW_R, MW_cell, T_L, T_R, P_L, P_R, rho_L, rho_R, rho_cell, rho_Vic
979 real(wp) :: lambda_L, lambda_R, lambda_Cell, dT_dxi, grid_spacing
980 real(wp) :: Cp_L, Cp_R
981 real(wp) :: diffusivity_L, diffusivity_R, diffusivity_cell
982 real(wp) :: hmix_L, hmix_R, dh_dxi
983 integer :: x, y, z, i, n, eqn
984 integer,
dimension(3) :: offsets
989# 332 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
990#if defined(MFC_OpenACC)
991# 332 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
993# 332 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
994#elif defined(MFC_OpenMP)
995# 332 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
997# 332 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
999# 333 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1006 if (chem_params%transport_model == 1)
then
1009# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1011# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1012#if defined(MFC_OpenACC)
1013# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1015# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1017# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1019# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1020#elif defined(MFC_OpenMP)
1021# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1023# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1025# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1027# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1029# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1031# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1033# 341 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1035# 346 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1042 grid_spacing =
x_cc(x + 1) -
x_cc(x)
1044 grid_spacing =
y_cc(y + 1) -
y_cc(y)
1046 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1051# 360 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1052#if defined(MFC_OpenACC)
1053# 360 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1055# 360 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1056#elif defined(MFC_OpenMP)
1057# 360 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1059# 360 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1061# 361 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1062 do i = eqn_idx%species%beg, eqn_idx%species%end
1063 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1064 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1065 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1066 & - eqn_idx%species%beg + 1))
1069 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1070 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1072 rho_l = q_prim_qp(1)%sf(x, y, z)
1073 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1075 t_l = q_t_sf%sf(x, y, z)
1076 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1078 rho_cell = 0.5_wp*(rho_l + rho_r)
1079 dt_dxi = (t_r - t_l)/grid_spacing
1082 call get_mixavg_transport_state(p_l, t_l, ys_l, mw_l, xs_l, mass_diffusivities_mixavg1, lambda_l)
1083 call get_mixavg_transport_state(p_r, t_r, ys_r, mw_r, xs_r, mass_diffusivities_mixavg2, lambda_r)
1084 mw_cell = 0.5_wp*(mw_l + mw_r)
1086 call get_species_enthalpies_mass(t_l, h_l)
1087 call get_species_enthalpies_mass(t_r, h_r)
1091# 389 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1092#if defined(MFC_OpenACC)
1093# 389 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1095# 389 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1096#elif defined(MFC_OpenMP)
1097# 389 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1099# 389 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1101# 390 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1102 do i = eqn_idx%species%beg, eqn_idx%species%end
1103 xs_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(xs_l(i - eqn_idx%species%beg + 1) + xs_r(i &
1104 & - eqn_idx%species%beg + 1))
1105 h_k(i - eqn_idx%species%beg + 1) = 0.5_wp*(h_l(i - eqn_idx%species%beg + 1) + h_r(i &
1106 & - eqn_idx%species%beg + 1))
1107 dxk_dxi(i - eqn_idx%species%beg + 1) = (xs_r(i - eqn_idx%species%beg + 1) - xs_l(i &
1108 & - eqn_idx%species%beg + 1))/grid_spacing
1113# 400 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1114#if defined(MFC_OpenACC)
1115# 400 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1117# 400 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1118#elif defined(MFC_OpenMP)
1119# 400 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1121# 400 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1123# 401 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1124 do i = eqn_idx%species%beg, eqn_idx%species%end
1125 mass_diffusivities_mixavg_cell(i - eqn_idx%species%beg + 1) = (mass_diffusivities_mixavg2(i &
1126 & - eqn_idx%species%beg + 1) + mass_diffusivities_mixavg1(i &
1127 & - eqn_idx%species%beg + 1))/2.0_wp
1130 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1134 mass_diffu_energy = 0.0_wp
1137# 413 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1138#if defined(MFC_OpenACC)
1139# 413 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1141# 413 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1142#elif defined(MFC_OpenMP)
1143# 413 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1145# 413 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1147# 414 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1148 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1149 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*mass_diffusivities_mixavg_cell(eqn &
1150 & - eqn_idx%species%beg + 1)*molecular_weights(eqn - eqn_idx%species%beg + 1) &
1151 & /mw_cell*dxk_dxi(eqn - eqn_idx%species%beg + 1)
1152 rho_vic = rho_vic + mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1153 mass_diffu_energy = mass_diffu_energy + h_k(eqn - eqn_idx%species%beg + 1)*mass_diffu_flux(eqn &
1154 & - eqn_idx%species%beg + 1)
1159# 424 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1160#if defined(MFC_OpenACC)
1161# 424 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1163# 424 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1164#elif defined(MFC_OpenMP)
1165# 424 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1167# 424 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1169# 425 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1170 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1171 mass_diffu_energy = mass_diffu_energy - h_k(eqn - eqn_idx%species%beg + 1)*ys_cell(eqn &
1172 & - eqn_idx%species%beg + 1)*rho_vic
1173 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = mass_diffu_flux(eqn - eqn_idx%species%beg + 1) &
1174 & - rho_vic*ys_cell(eqn - eqn_idx%species%beg + 1)
1178 mass_diffu_energy = lambda_cell*dt_dxi + mass_diffu_energy
1181 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1184# 438 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1185#if defined(MFC_OpenACC)
1186# 438 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1188# 438 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1189#elif defined(MFC_OpenMP)
1190# 438 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1192# 438 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1194# 439 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1195 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1196 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1197 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1203# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1204#if defined(MFC_OpenACC)
1205# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1207# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1208#elif defined(MFC_OpenMP)
1209# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1211# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1213# 446 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1215# 447 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1218 else if (chem_params%transport_model == 2)
then
1221# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1223# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1224#if defined(MFC_OpenACC)
1225# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1227# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1229# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1230#elif defined(MFC_OpenMP)
1231# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1233# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1235# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1237# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1239# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1241# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1243# 451 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1245# 455 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1252 grid_spacing =
x_cc(x + 1) -
x_cc(x)
1254 grid_spacing =
y_cc(y + 1) -
y_cc(y)
1256 grid_spacing =
z_cc(z + 1) -
z_cc(z)
1261# 469 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1262#if defined(MFC_OpenACC)
1263# 469 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1265# 469 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1266#elif defined(MFC_OpenMP)
1267# 469 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1269# 469 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1271# 470 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1272 do i = eqn_idx%species%beg, eqn_idx%species%end
1273 ys_l(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x, y, z)
1274 ys_r(i - eqn_idx%species%beg + 1) = q_prim_qp(i)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1275 ys_cell(i - eqn_idx%species%beg + 1) = 0.5_wp*(ys_l(i - eqn_idx%species%beg + 1) + ys_r(i &
1276 & - eqn_idx%species%beg + 1))
1280 call get_mixture_molecular_weight(ys_l, mw_l)
1281 call get_mixture_molecular_weight(ys_r, mw_r)
1282 mw_cell = 0.5_wp*(mw_l + mw_r)
1284 p_l = q_prim_qp(eqn_idx%E)%sf(x, y, z)
1285 p_r = q_prim_qp(eqn_idx%E)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1287 rho_l = q_prim_qp(1)%sf(x, y, z)
1288 rho_r = q_prim_qp(1)%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1290 t_l = q_t_sf%sf(x, y, z)
1291 t_r = q_t_sf%sf(x + offsets(1), y + offsets(2), z + offsets(3))
1293 rho_cell = 0.5_wp*(rho_l + rho_r)
1295 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1296 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1297 call get_mixture_enthalpy_mass(t_l, ys_l, hmix_l)
1298 call get_mixture_enthalpy_mass(t_r, ys_r, hmix_r)
1299 dh_dxi = (hmix_r - hmix_l)/grid_spacing
1302 call get_mixture_thermal_conductivity_mixavg(t_l, ys_l, lambda_l)
1303 call get_mixture_thermal_conductivity_mixavg(t_r, ys_r, lambda_r)
1307# 504 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1308#if defined(MFC_OpenACC)
1309# 504 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1311# 504 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1312#elif defined(MFC_OpenMP)
1313# 504 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1315# 504 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1317# 505 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1318 do i = eqn_idx%species%beg, eqn_idx%species%end
1319 dyk_dxi(i - eqn_idx%species%beg + 1) = (ys_r(i - eqn_idx%species%beg + 1) - ys_l(i &
1320 & - eqn_idx%species%beg + 1))/grid_spacing
1324 diffusivity_l = lambda_l/rho_l/cp_l
1325 diffusivity_r = lambda_r/rho_r/cp_r
1327 lambda_cell = 0.5_wp*(lambda_r + lambda_l)
1328 diffusivity_cell = 0.5_wp*(diffusivity_r + diffusivity_l)
1331 mass_diffu_energy = 0.0_wp
1334# 520 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1335#if defined(MFC_OpenACC)
1336# 520 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1338# 520 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1339#elif defined(MFC_OpenMP)
1340# 520 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1342# 520 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1344# 521 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1345 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1346 mass_diffu_flux(eqn - eqn_idx%species%beg + 1) = rho_cell*diffusivity_cell*dyk_dxi(eqn &
1347 & - eqn_idx%species%beg + 1)
1349 mass_diffu_energy = rho_cell*diffusivity_cell*dh_dxi
1352 flux_src_vf(eqn_idx%E)%sf(x, y, z) = flux_src_vf(eqn_idx%E)%sf(x, y, z) - mass_diffu_energy
1355# 530 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1356#if defined(MFC_OpenACC)
1357# 530 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1359# 530 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1360#elif defined(MFC_OpenMP)
1361# 530 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1363# 530 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1365# 531 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1366 do eqn = eqn_idx%species%beg, eqn_idx%species%end
1367 flux_src_vf(eqn)%sf(x, y, z) = flux_src_vf(eqn)%sf(x, y, &
1368 & z) - mass_diffu_flux(eqn - eqn_idx%species%beg + 1)
1374# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1375#if defined(MFC_OpenACC)
1376# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1378# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1379#elif defined(MFC_OpenMP)
1380# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1382# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1384# 538 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"
1386# 539 "/home/runner/work/MFC/MFC/src/common/m_chemistry.fpp"