2295 subroutine s_cbc(q_prim_vf, flux_vf, flux_src_vf, cbc_dir_norm, cbc_loc_norm, ix, iy, iz)
2297 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
2298 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf
2299 integer,
intent(in) :: cbc_dir_norm, cbc_loc_norm
2300 type(int_bounds_info),
intent(in) :: ix, iy, iz
2302 real(wp) :: dpres_dt
2303 real(wp) :: dgamma_dt
2304 real(wp) :: dpi_inf_dt
2306 real(wp) :: dpres_ds
2308# 480 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2309 real(wp),
dimension(sys_size) ::
l
2310# 482 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2311# 491 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2312 real(wp),
dimension(num_fluids) :: alpha_rho, dalpha_rho_ds, mf
2313 real(wp),
dimension(num_vels) :: vel, dvel_ds
2314 real(wp),
dimension(num_fluids) :: adv_local, dadv_ds
2315 real(wp),
dimension(num_fluids) :: dadv_dt
2316 real(wp),
dimension(num_dims) :: dvel_dt
2317 real(wp),
dimension(num_fluids) :: dalpha_rho_dt
2318 real(wp),
dimension(num_species) :: ys, h_k, dys_dt, dys_ds, xs, gamma_i, cp_i
2319# 499 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2320 real(wp),
dimension(2) :: re_cbc
2321 real(wp),
dimension(3) :: lambda
2331 real(wp) :: t, sum_enthalpies
2332 real(wp) :: cv, cp, e_mix, mw, r_gas
2333 real(wp) :: vel_k_sum, vel_dv_dt_sum
2334 integer :: i,
j,
k, r
2342# 520 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2343#if defined(MFC_OpenACC)
2344# 520 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2346# 520 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2347#elif defined(MFC_OpenMP)
2348# 520 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2350# 520 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2357# 527 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2358 if (
cbc_dir == 1 .and. recon_type == recon_type_weno)
then
2360 if (weno_order == 3)
then
2362 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
2365# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2367# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2368#if defined(MFC_OpenACC)
2369# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2371# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2372#elif defined(MFC_OpenMP)
2373# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2375# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2377# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2379# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2381# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2392# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2393#if defined(MFC_OpenACC)
2394# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2396# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2397#elif defined(MFC_OpenMP)
2398# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2400# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2402# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2406# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2408# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2409#if defined(MFC_OpenACC)
2410# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2412# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2413#elif defined(MFC_OpenMP)
2414# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2416# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2418# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2420# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2422# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2424 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2433# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2434#if defined(MFC_OpenACC)
2435# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2437# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2438#elif defined(MFC_OpenMP)
2439# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2441# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2443# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2448 if (weno_order == 5)
then
2450 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
2453# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2455# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2456#if defined(MFC_OpenACC)
2457# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2459# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2460#elif defined(MFC_OpenMP)
2461# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2463# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2465# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2467# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2469# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2485# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2486#if defined(MFC_OpenACC)
2487# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2489# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2490#elif defined(MFC_OpenMP)
2491# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2493# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2495# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2499# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2501# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2502#if defined(MFC_OpenACC)
2503# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2505# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2506#elif defined(MFC_OpenMP)
2507# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2509# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2511# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2513# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2515# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2517 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2532# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2533#if defined(MFC_OpenACC)
2534# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2536# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2537#elif defined(MFC_OpenMP)
2538# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2540# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2542# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2548# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2550# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2551#if defined(MFC_OpenACC)
2552# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2554# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2556# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2558# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2559#elif defined(MFC_OpenMP)
2560# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2562# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2564# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2566# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2568# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2570# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2572# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2574# 601 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2579# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2580#if defined(MFC_OpenACC)
2581# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2583# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2584#elif defined(MFC_OpenMP)
2585# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2587# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2589 do i = 1, eqn_idx%cont%end
2594# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2595#if defined(MFC_OpenACC)
2596# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2598# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2599#elif defined(MFC_OpenMP)
2600# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2602# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2610# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2611#if defined(MFC_OpenACC)
2612# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2614# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2615#elif defined(MFC_OpenMP)
2616# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2618# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2621 vel_k_sum = vel_k_sum + vel(i)**2._wp
2627# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2628#if defined(MFC_OpenACC)
2629# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2631# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2632#elif defined(MFC_OpenMP)
2633# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2635# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2637 do i = 1, eqn_idx%adv%end - eqn_idx%E
2641 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
2644# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2645#if defined(MFC_OpenACC)
2646# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2648# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2649#elif defined(MFC_OpenMP)
2650# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2652# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2654 do i = 1, eqn_idx%cont%end
2655 mf(i) = alpha_rho(i)/rho
2660# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2661#if defined(MFC_OpenACC)
2662# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2664# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2665#elif defined(MFC_OpenMP)
2666# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2668# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2670 do i = eqn_idx%species%beg, eqn_idx%species%end
2674 call get_mixture_molecular_weight(ys, mw)
2675 r_gas = gas_constant/mw
2677 call get_mixture_specific_heat_cp_mass(t, ys, cp)
2678 call get_mixture_energy_mass(t, ys, e_mix)
2679 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
2680 if (chem_params%gamma_method == 1)
then
2682 call get_mole_fractions(mw, ys, xs)
2683 call get_species_specific_heats_r(t, cp_i)
2684 gamma_i = cp_i/(cp_i - 1.0_wp)
2685 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
2686 else if (chem_params%gamma_method == 2)
then
2688 call get_mixture_specific_heat_cv_mass(t, ys, cv)
2689 gamma = 1.0_wp/(cp/cv - 1.0_wp)
2692 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
2698 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
2703# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2704#if defined(MFC_OpenACC)
2705# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2707# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2708#elif defined(MFC_OpenMP)
2709# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2711# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2713 do i = 1, eqn_idx%cont%end
2714 dalpha_rho_ds(i) = 0._wp
2718# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2719#if defined(MFC_OpenACC)
2720# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2722# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2723#elif defined(MFC_OpenMP)
2724# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2726# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2734# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2735#if defined(MFC_OpenACC)
2736# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2738# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2739#elif defined(MFC_OpenMP)
2740# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2742# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2744 do i = 1, eqn_idx%adv%end - eqn_idx%E
2750# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2751#if defined(MFC_OpenACC)
2752# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2754# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2755#elif defined(MFC_OpenMP)
2756# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2758# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2760 do i = 1, num_species
2766# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2767#if defined(MFC_OpenACC)
2768# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2770# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2771#elif defined(MFC_OpenMP)
2772# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2774# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2778# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2779#if defined(MFC_OpenACC)
2780# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2782# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2783#elif defined(MFC_OpenMP)
2784# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2786# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2788 do i = 1, eqn_idx%cont%end
2792# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2793#if defined(MFC_OpenACC)
2794# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2796# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2797#elif defined(MFC_OpenMP)
2798# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2800# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2809# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2810#if defined(MFC_OpenACC)
2811# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2813# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2814#elif defined(MFC_OpenMP)
2815# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2817# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2819 do i = 1, eqn_idx%adv%end - eqn_idx%E
2825# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2826#if defined(MFC_OpenACC)
2827# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2829# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2830#elif defined(MFC_OpenMP)
2831# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2833# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2835 do i = 1, num_species
2843 lambda(1) = vel(dir_idx(1)) - c
2844 lambda(2) = vel(dir_idx(1))
2845 lambda(3) = vel(dir_idx(1)) + c
2847 ma = vel(dir_idx(1))/c
2849 if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
2850 & .and. bc_x%end == bc_char_slip_wall))
then
2851 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
2852 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
2853 & .and. bc_x%end == bc_char_nr_sub_buffer))
then
2854 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2855 & dvel_ds, dadv_ds, dys_ds)
2856 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
2857 & .and. bc_x%end == bc_char_nr_sub_inflow))
then
2858 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
2860 if (bc_x%grcbc_in)
then
2862# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2863#if defined(MFC_OpenACC)
2864# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2866# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2867#elif defined(MFC_OpenMP)
2868# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2870# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2872 do i = 2, eqn_idx%mom%beg
2873 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
2877 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(1, &
2880 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(1, &
2885# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2886#if defined(MFC_OpenACC)
2887# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2889# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2890#elif defined(MFC_OpenMP)
2891# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2893# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2895 do i = eqn_idx%E, eqn_idx%adv%end - 1
2896 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
2899 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(1, &
2900 & dir_idx(1))*sign(1, &
2903 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
2904 & .and. bc_x%end == bc_char_nr_sub_outflow))
then
2905 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2906 & dvel_ds, dadv_ds, dys_ds)
2908 if (bc_x%grcbc_out)
then
2912 if (bc_x%grcbc_vel_out)
then
2913 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
2917 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
2918 & .and. bc_x%end == bc_char_ff_sub_outflow))
then
2919 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
2921 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
2922 & .and. bc_x%end == bc_char_cp_sub_outflow))
then
2923 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2925 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
2926 & .and. bc_x%end == bc_char_sup_inflow))
then
2927 call s_compute_supersonic_inflow_l(
l)
2928 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
2929 & .and. bc_x%end == bc_char_sup_outflow))
then
2930 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
2936 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
2938 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
2942# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2943#if defined(MFC_OpenACC)
2944# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2946# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2947#elif defined(MFC_OpenMP)
2948# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2950# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2952 do i = 1, eqn_idx%cont%end
2953 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
2957# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2958#if defined(MFC_OpenACC)
2959# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2961# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2962#elif defined(MFC_OpenMP)
2963# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2965# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2968 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
2969 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
2972 vel_dv_dt_sum = 0._wp
2974# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2975#if defined(MFC_OpenACC)
2976# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2978# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2979#elif defined(MFC_OpenMP)
2980# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2982# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2985 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
2990# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2991#if defined(MFC_OpenACC)
2992# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2994# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2995#elif defined(MFC_OpenMP)
2996# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2998# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3000 do i = 1, num_species
3001 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
3008# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3009#if defined(MFC_OpenACC)
3010# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3012# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3013#elif defined(MFC_OpenMP)
3014# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3016# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3018 do i = 1, eqn_idx%adv%end - eqn_idx%E
3019 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3023# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3024#if defined(MFC_OpenACC)
3025# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3027# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3028#elif defined(MFC_OpenMP)
3029# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3031# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3033 do i = 1, eqn_idx%adv%end - eqn_idx%E
3034 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3038 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
3040 if (model_eqns == model_eqns_gamma_law)
then
3041 drho_dt = dalpha_rho_dt(1)
3042 dgamma_dt = dadv_dt(1)
3043# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3044 dpi_inf_dt = dadv_dt(2)
3045# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3048# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3049#if defined(MFC_OpenACC)
3050# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3052# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3053#elif defined(MFC_OpenMP)
3054# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3056# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3058 do i = 1, num_fluids
3059 drho_dt = drho_dt + dalpha_rho_dt(i)
3060 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
3061 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
3062 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
3068# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3069#if defined(MFC_OpenACC)
3070# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3072# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3073#elif defined(MFC_OpenMP)
3074# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3076# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3078 do i = 1, eqn_idx%cont%end
3083# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3084#if defined(MFC_OpenACC)
3085# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3087# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3088#elif defined(MFC_OpenMP)
3089# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3091# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3093 do i = eqn_idx%mom%beg, eqn_idx%mom%end
3095 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
3101 call get_species_enthalpies_rt(t, h_k)
3102 sum_enthalpies = 0._wp
3104# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3105#if defined(MFC_OpenACC)
3106# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3108# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3109#elif defined(MFC_OpenMP)
3110# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3112# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3114 do i = 1, num_species
3115 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
3116 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
3119 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
3120 & /(c*c) + sum_enthalpies)
3122# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3123#if defined(MFC_OpenACC)
3124# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3126# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3127#elif defined(MFC_OpenMP)
3128# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3130# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3132 do i = 1, num_species
3134 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
3138 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
3139 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
3142 if (riemann_solver == riemann_solver_hll)
then
3144# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3145#if defined(MFC_OpenACC)
3146# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3148# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3149#elif defined(MFC_OpenMP)
3150# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3152# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3154 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3159# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3160#if defined(MFC_OpenACC)
3161# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3163# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3164#elif defined(MFC_OpenMP)
3165# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3167# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3169 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3170 flux_src_rsx_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
3173 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
3177# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3178#if defined(MFC_OpenACC)
3179# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3181# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3182#elif defined(MFC_OpenMP)
3183# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3185# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3187 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3192# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3193#if defined(MFC_OpenACC)
3194# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3196# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3197#elif defined(MFC_OpenMP)
3198# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3200# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3202 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3210# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3211#if defined(MFC_OpenACC)
3212# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3214# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3215#elif defined(MFC_OpenMP)
3216# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3218# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3220# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3223# 527 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3224 if (
cbc_dir == 2 .and. recon_type == recon_type_weno)
then
3226 if (weno_order == 3)
then
3228 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
3231# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3233# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3234#if defined(MFC_OpenACC)
3235# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3237# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3238#elif defined(MFC_OpenMP)
3239# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3241# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3243# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3245# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3247# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3258# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3259#if defined(MFC_OpenACC)
3260# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3262# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3263#elif defined(MFC_OpenMP)
3264# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3266# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3268# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3272# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3274# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3275#if defined(MFC_OpenACC)
3276# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3278# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3279#elif defined(MFC_OpenMP)
3280# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3282# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3284# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3286# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3288# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3290 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3299# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3300#if defined(MFC_OpenACC)
3301# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3303# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3304#elif defined(MFC_OpenMP)
3305# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3307# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3309# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3314 if (weno_order == 5)
then
3316 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
3319# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3321# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3322#if defined(MFC_OpenACC)
3323# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3325# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3326#elif defined(MFC_OpenMP)
3327# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3329# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3331# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3333# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3335# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3351# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3352#if defined(MFC_OpenACC)
3353# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3355# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3356#elif defined(MFC_OpenMP)
3357# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3359# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3361# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3365# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3367# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3368#if defined(MFC_OpenACC)
3369# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3371# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3372#elif defined(MFC_OpenMP)
3373# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3375# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3377# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3379# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3381# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3383 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3398# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3399#if defined(MFC_OpenACC)
3400# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3402# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3403#elif defined(MFC_OpenMP)
3404# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3406# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3408# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3414# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3416# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3417#if defined(MFC_OpenACC)
3418# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3420# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3422# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3424# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3425#elif defined(MFC_OpenMP)
3426# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3428# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3430# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3432# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3434# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3436# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3438# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3440# 601 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3445# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3446#if defined(MFC_OpenACC)
3447# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3449# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3450#elif defined(MFC_OpenMP)
3451# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3453# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3455 do i = 1, eqn_idx%cont%end
3460# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3461#if defined(MFC_OpenACC)
3462# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3464# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3465#elif defined(MFC_OpenMP)
3466# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3468# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3476# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3477#if defined(MFC_OpenACC)
3478# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3480# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3481#elif defined(MFC_OpenMP)
3482# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3484# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3487 vel_k_sum = vel_k_sum + vel(i)**2._wp
3493# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3494#if defined(MFC_OpenACC)
3495# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3497# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3498#elif defined(MFC_OpenMP)
3499# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3501# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3503 do i = 1, eqn_idx%adv%end - eqn_idx%E
3507 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
3510# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3511#if defined(MFC_OpenACC)
3512# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3514# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3515#elif defined(MFC_OpenMP)
3516# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3518# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3520 do i = 1, eqn_idx%cont%end
3521 mf(i) = alpha_rho(i)/rho
3526# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3527#if defined(MFC_OpenACC)
3528# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3530# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3531#elif defined(MFC_OpenMP)
3532# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3534# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3536 do i = eqn_idx%species%beg, eqn_idx%species%end
3540 call get_mixture_molecular_weight(ys, mw)
3541 r_gas = gas_constant/mw
3543 call get_mixture_specific_heat_cp_mass(t, ys, cp)
3544 call get_mixture_energy_mass(t, ys, e_mix)
3545 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
3546 if (chem_params%gamma_method == 1)
then
3548 call get_mole_fractions(mw, ys, xs)
3549 call get_species_specific_heats_r(t, cp_i)
3550 gamma_i = cp_i/(cp_i - 1.0_wp)
3551 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
3552 else if (chem_params%gamma_method == 2)
then
3554 call get_mixture_specific_heat_cv_mass(t, ys, cv)
3555 gamma = 1.0_wp/(cp/cv - 1.0_wp)
3558 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
3564 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
3569# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3570#if defined(MFC_OpenACC)
3571# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3573# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3574#elif defined(MFC_OpenMP)
3575# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3577# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3579 do i = 1, eqn_idx%cont%end
3580 dalpha_rho_ds(i) = 0._wp
3584# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3585#if defined(MFC_OpenACC)
3586# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3588# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3589#elif defined(MFC_OpenMP)
3590# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3592# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3600# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3601#if defined(MFC_OpenACC)
3602# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3604# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3605#elif defined(MFC_OpenMP)
3606# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3608# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3610 do i = 1, eqn_idx%adv%end - eqn_idx%E
3616# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3617#if defined(MFC_OpenACC)
3618# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3620# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3621#elif defined(MFC_OpenMP)
3622# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3624# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3626 do i = 1, num_species
3632# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3633#if defined(MFC_OpenACC)
3634# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3636# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3637#elif defined(MFC_OpenMP)
3638# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3640# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3644# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3645#if defined(MFC_OpenACC)
3646# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3648# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3649#elif defined(MFC_OpenMP)
3650# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3652# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3654 do i = 1, eqn_idx%cont%end
3658# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3659#if defined(MFC_OpenACC)
3660# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3662# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3663#elif defined(MFC_OpenMP)
3664# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3666# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3675# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3676#if defined(MFC_OpenACC)
3677# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3679# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3680#elif defined(MFC_OpenMP)
3681# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3683# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3685 do i = 1, eqn_idx%adv%end - eqn_idx%E
3691# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3692#if defined(MFC_OpenACC)
3693# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3695# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3696#elif defined(MFC_OpenMP)
3697# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3699# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3701 do i = 1, num_species
3709 lambda(1) = vel(dir_idx(1)) - c
3710 lambda(2) = vel(dir_idx(1))
3711 lambda(3) = vel(dir_idx(1)) + c
3713 ma = vel(dir_idx(1))/c
3715 if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
3716 & .and. bc_y%end == bc_char_slip_wall))
then
3717 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3718 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
3719 & .and. bc_y%end == bc_char_nr_sub_buffer))
then
3720 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3721 & dvel_ds, dadv_ds, dys_ds)
3722 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
3723 & .and. bc_y%end == bc_char_nr_sub_inflow))
then
3724 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3726 if (bc_y%grcbc_in)
then
3728# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3729#if defined(MFC_OpenACC)
3730# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3732# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3733#elif defined(MFC_OpenMP)
3734# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3736# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3738 do i = 2, eqn_idx%mom%beg
3739 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
3743 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(2, &
3746 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(2, &
3751# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3752#if defined(MFC_OpenACC)
3753# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3755# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3756#elif defined(MFC_OpenMP)
3757# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3759# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3761 do i = eqn_idx%E, eqn_idx%adv%end - 1
3762 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
3765 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(2, &
3766 & dir_idx(1))*sign(1, &
3769 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
3770 & .and. bc_y%end == bc_char_nr_sub_outflow))
then
3771 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3772 & dvel_ds, dadv_ds, dys_ds)
3774 if (bc_y%grcbc_out)
then
3778 if (bc_y%grcbc_vel_out)
then
3779 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
3783 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
3784 & .and. bc_y%end == bc_char_ff_sub_outflow))
then
3785 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
3787 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
3788 & .and. bc_y%end == bc_char_cp_sub_outflow))
then
3789 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3791 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
3792 & .and. bc_y%end == bc_char_sup_inflow))
then
3793 call s_compute_supersonic_inflow_l(
l)
3794 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
3795 & .and. bc_y%end == bc_char_sup_outflow))
then
3796 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
3802 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
3804 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
3808# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3809#if defined(MFC_OpenACC)
3810# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3812# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3813#elif defined(MFC_OpenMP)
3814# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3816# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3818 do i = 1, eqn_idx%cont%end
3819 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
3823# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3824#if defined(MFC_OpenACC)
3825# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3827# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3828#elif defined(MFC_OpenMP)
3829# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3831# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3834 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
3835 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
3838 vel_dv_dt_sum = 0._wp
3840# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3841#if defined(MFC_OpenACC)
3842# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3844# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3845#elif defined(MFC_OpenMP)
3846# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3848# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3851 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
3856# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3857#if defined(MFC_OpenACC)
3858# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3860# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3861#elif defined(MFC_OpenMP)
3862# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3864# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3866 do i = 1, num_species
3867 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
3874# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3875#if defined(MFC_OpenACC)
3876# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3878# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3879#elif defined(MFC_OpenMP)
3880# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3882# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3884 do i = 1, eqn_idx%adv%end - eqn_idx%E
3885 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3889# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3890#if defined(MFC_OpenACC)
3891# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3893# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3894#elif defined(MFC_OpenMP)
3895# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3897# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3899 do i = 1, eqn_idx%adv%end - eqn_idx%E
3900 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3904 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
3906 if (model_eqns == model_eqns_gamma_law)
then
3907 drho_dt = dalpha_rho_dt(1)
3908 dgamma_dt = dadv_dt(1)
3909# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3910 dpi_inf_dt = dadv_dt(2)
3911# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3914# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3915#if defined(MFC_OpenACC)
3916# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3918# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3919#elif defined(MFC_OpenMP)
3920# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3922# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3924 do i = 1, num_fluids
3925 drho_dt = drho_dt + dalpha_rho_dt(i)
3926 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
3927 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
3928 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
3934# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3935#if defined(MFC_OpenACC)
3936# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3938# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3939#elif defined(MFC_OpenMP)
3940# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3942# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3944 do i = 1, eqn_idx%cont%end
3949# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3950#if defined(MFC_OpenACC)
3951# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3953# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3954#elif defined(MFC_OpenMP)
3955# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3957# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3959 do i = eqn_idx%mom%beg, eqn_idx%mom%end
3961 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
3967 call get_species_enthalpies_rt(t, h_k)
3968 sum_enthalpies = 0._wp
3970# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3971#if defined(MFC_OpenACC)
3972# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3974# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3975#elif defined(MFC_OpenMP)
3976# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3978# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3980 do i = 1, num_species
3981 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
3982 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
3985 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
3986 & /(c*c) + sum_enthalpies)
3988# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3989#if defined(MFC_OpenACC)
3990# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3992# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3993#elif defined(MFC_OpenMP)
3994# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3996# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3998 do i = 1, num_species
4000 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
4004 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
4005 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
4008 if (riemann_solver == riemann_solver_hll)
then
4010# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4011#if defined(MFC_OpenACC)
4012# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4014# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4015#elif defined(MFC_OpenMP)
4016# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4018# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4020 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4025# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4026#if defined(MFC_OpenACC)
4027# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4029# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4030#elif defined(MFC_OpenMP)
4031# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4033# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4035 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4036 flux_src_rsy_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
4039 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
4043# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4044#if defined(MFC_OpenACC)
4045# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4047# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4048#elif defined(MFC_OpenMP)
4049# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4051# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4053 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4058# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4059#if defined(MFC_OpenACC)
4060# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4062# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4063#elif defined(MFC_OpenMP)
4064# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4066# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4068 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4076# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4077#if defined(MFC_OpenACC)
4078# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4080# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4081#elif defined(MFC_OpenMP)
4082# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4084# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4086# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4089# 527 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4090 if (
cbc_dir == 3 .and. recon_type == recon_type_weno)
then
4092 if (weno_order == 3)
then
4094 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
4097# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4099# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4100#if defined(MFC_OpenACC)
4101# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4103# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4104#elif defined(MFC_OpenMP)
4105# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4107# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4109# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4111# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4113# 533 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4124# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4125#if defined(MFC_OpenACC)
4126# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4128# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4129#elif defined(MFC_OpenMP)
4130# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4132# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4134# 542 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4138# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4140# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4141#if defined(MFC_OpenACC)
4142# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4144# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4145#elif defined(MFC_OpenMP)
4146# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4148# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4150# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4152# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4154# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4156 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4165# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4166#if defined(MFC_OpenACC)
4167# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4169# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4170#elif defined(MFC_OpenMP)
4171# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4173# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4175# 553 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4180 if (weno_order == 5)
then
4182 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
4185# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4187# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4188#if defined(MFC_OpenACC)
4189# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4191# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4192#elif defined(MFC_OpenMP)
4193# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4195# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4197# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4199# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4201# 561 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4217# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4218#if defined(MFC_OpenACC)
4219# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4221# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4222#elif defined(MFC_OpenMP)
4223# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4225# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4227# 575 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4231# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4233# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4234#if defined(MFC_OpenACC)
4235# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4237# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4238#elif defined(MFC_OpenMP)
4239# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4241# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4243# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4245# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4247# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4249 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4264# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4265#if defined(MFC_OpenACC)
4266# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4268# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4269#elif defined(MFC_OpenMP)
4270# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4272# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4274# 592 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4280# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4282# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4283#if defined(MFC_OpenACC)
4284# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4286# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4288# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4290# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4291#elif defined(MFC_OpenMP)
4292# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4294# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4296# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4298# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4300# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4302# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4304# 596 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4306# 601 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4311# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4312#if defined(MFC_OpenACC)
4313# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4315# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4316#elif defined(MFC_OpenMP)
4317# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4319# 604 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4321 do i = 1, eqn_idx%cont%end
4326# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4327#if defined(MFC_OpenACC)
4328# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4330# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4331#elif defined(MFC_OpenMP)
4332# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4334# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4342# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4343#if defined(MFC_OpenACC)
4344# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4346# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4347#elif defined(MFC_OpenMP)
4348# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4350# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4353 vel_k_sum = vel_k_sum + vel(i)**2._wp
4359# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4360#if defined(MFC_OpenACC)
4361# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4363# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4364#elif defined(MFC_OpenMP)
4365# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4367# 622 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4369 do i = 1, eqn_idx%adv%end - eqn_idx%E
4373 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
4376# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4377#if defined(MFC_OpenACC)
4378# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4380# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4381#elif defined(MFC_OpenMP)
4382# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4384# 629 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4386 do i = 1, eqn_idx%cont%end
4387 mf(i) = alpha_rho(i)/rho
4392# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4393#if defined(MFC_OpenACC)
4394# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4396# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4397#elif defined(MFC_OpenMP)
4398# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4400# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4402 do i = eqn_idx%species%beg, eqn_idx%species%end
4406 call get_mixture_molecular_weight(ys, mw)
4407 r_gas = gas_constant/mw
4409 call get_mixture_specific_heat_cp_mass(t, ys, cp)
4410 call get_mixture_energy_mass(t, ys, e_mix)
4411 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
4412 if (chem_params%gamma_method == 1)
then
4414 call get_mole_fractions(mw, ys, xs)
4415 call get_species_specific_heats_r(t, cp_i)
4416 gamma_i = cp_i/(cp_i - 1.0_wp)
4417 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
4418 else if (chem_params%gamma_method == 2)
then
4420 call get_mixture_specific_heat_cv_mass(t, ys, cv)
4421 gamma = 1.0_wp/(cp/cv - 1.0_wp)
4424 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
4430 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
4435# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4436#if defined(MFC_OpenACC)
4437# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4439# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4440#elif defined(MFC_OpenMP)
4441# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4443# 668 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4445 do i = 1, eqn_idx%cont%end
4446 dalpha_rho_ds(i) = 0._wp
4450# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4451#if defined(MFC_OpenACC)
4452# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4454# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4455#elif defined(MFC_OpenMP)
4456# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4458# 673 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4466# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4467#if defined(MFC_OpenACC)
4468# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4470# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4471#elif defined(MFC_OpenMP)
4472# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4474# 679 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4476 do i = 1, eqn_idx%adv%end - eqn_idx%E
4482# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4483#if defined(MFC_OpenACC)
4484# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4486# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4487#elif defined(MFC_OpenMP)
4488# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4490# 685 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4492 do i = 1, num_species
4498# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4499#if defined(MFC_OpenACC)
4500# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4502# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4503#elif defined(MFC_OpenMP)
4504# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4506# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4510# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4511#if defined(MFC_OpenACC)
4512# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4514# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4515#elif defined(MFC_OpenMP)
4516# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4518# 693 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4520 do i = 1, eqn_idx%cont%end
4524# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4525#if defined(MFC_OpenACC)
4526# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4528# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4529#elif defined(MFC_OpenMP)
4530# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4532# 697 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4541# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4542#if defined(MFC_OpenACC)
4543# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4545# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4546#elif defined(MFC_OpenMP)
4547# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4549# 704 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4551 do i = 1, eqn_idx%adv%end - eqn_idx%E
4557# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4558#if defined(MFC_OpenACC)
4559# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4561# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4562#elif defined(MFC_OpenMP)
4563# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4565# 710 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4567 do i = 1, num_species
4575 lambda(1) = vel(dir_idx(1)) - c
4576 lambda(2) = vel(dir_idx(1))
4577 lambda(3) = vel(dir_idx(1)) + c
4579 ma = vel(dir_idx(1))/c
4581 if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
4582 & .and. bc_z%end == bc_char_slip_wall))
then
4583 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4584 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
4585 & .and. bc_z%end == bc_char_nr_sub_buffer))
then
4586 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4587 & dvel_ds, dadv_ds, dys_ds)
4588 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
4589 & .and. bc_z%end == bc_char_nr_sub_inflow))
then
4590 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4592 if (bc_z%grcbc_in)
then
4594# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4595#if defined(MFC_OpenACC)
4596# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4598# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4599#elif defined(MFC_OpenMP)
4600# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4602# 737 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4604 do i = 2, eqn_idx%mom%beg
4605 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
4609 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(3, &
4612 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(3, &
4617# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4618#if defined(MFC_OpenACC)
4619# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4621# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4622#elif defined(MFC_OpenMP)
4623# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4625# 750 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4627 do i = eqn_idx%E, eqn_idx%adv%end - 1
4628 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
4631 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(3, &
4632 & dir_idx(1))*sign(1, &
4635 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
4636 & .and. bc_z%end == bc_char_nr_sub_outflow))
then
4637 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4638 & dvel_ds, dadv_ds, dys_ds)
4640 if (bc_z%grcbc_out)
then
4644 if (bc_z%grcbc_vel_out)
then
4645 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
4649 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
4650 & .and. bc_z%end == bc_char_ff_sub_outflow))
then
4651 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
4653 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
4654 & .and. bc_z%end == bc_char_cp_sub_outflow))
then
4655 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4657 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
4658 & .and. bc_z%end == bc_char_sup_inflow))
then
4659 call s_compute_supersonic_inflow_l(
l)
4660 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
4661 & .and. bc_z%end == bc_char_sup_outflow))
then
4662 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
4668 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
4670 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
4674# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4675#if defined(MFC_OpenACC)
4676# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4678# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4679#elif defined(MFC_OpenMP)
4680# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4682# 797 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4684 do i = 1, eqn_idx%cont%end
4685 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
4689# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4690#if defined(MFC_OpenACC)
4691# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4693# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4694#elif defined(MFC_OpenMP)
4695# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4697# 802 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4700 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
4701 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
4704 vel_dv_dt_sum = 0._wp
4706# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4707#if defined(MFC_OpenACC)
4708# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4710# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4711#elif defined(MFC_OpenMP)
4712# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4714# 809 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4717 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
4722# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4723#if defined(MFC_OpenACC)
4724# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4726# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4727#elif defined(MFC_OpenMP)
4728# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4730# 815 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4732 do i = 1, num_species
4733 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
4740# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4741#if defined(MFC_OpenACC)
4742# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4744# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4745#elif defined(MFC_OpenMP)
4746# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4748# 823 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4750 do i = 1, eqn_idx%adv%end - eqn_idx%E
4751 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4755# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4756#if defined(MFC_OpenACC)
4757# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4759# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4760#elif defined(MFC_OpenMP)
4761# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4763# 828 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4765 do i = 1, eqn_idx%adv%end - eqn_idx%E
4766 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4770 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
4772 if (model_eqns == model_eqns_gamma_law)
then
4773 drho_dt = dalpha_rho_dt(1)
4774 dgamma_dt = dadv_dt(1)
4775# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4776 dpi_inf_dt = dadv_dt(2)
4777# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4780# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4781#if defined(MFC_OpenACC)
4782# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4784# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4785#elif defined(MFC_OpenMP)
4786# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4788# 843 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4790 do i = 1, num_fluids
4791 drho_dt = drho_dt + dalpha_rho_dt(i)
4792 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
4793 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
4794 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
4800# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4801#if defined(MFC_OpenACC)
4802# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4804# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4805#elif defined(MFC_OpenMP)
4806# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4808# 853 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4810 do i = 1, eqn_idx%cont%end
4815# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4816#if defined(MFC_OpenACC)
4817# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4819# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4820#elif defined(MFC_OpenMP)
4821# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4823# 858 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4825 do i = eqn_idx%mom%beg, eqn_idx%mom%end
4827 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
4833 call get_species_enthalpies_rt(t, h_k)
4834 sum_enthalpies = 0._wp
4836# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4837#if defined(MFC_OpenACC)
4838# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4840# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4841#elif defined(MFC_OpenMP)
4842# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4844# 869 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4846 do i = 1, num_species
4847 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
4848 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
4851 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
4852 & /(c*c) + sum_enthalpies)
4854# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4855#if defined(MFC_OpenACC)
4856# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4858# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4859#elif defined(MFC_OpenMP)
4860# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4862# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4864 do i = 1, num_species
4866 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
4870 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
4871 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
4874 if (riemann_solver == riemann_solver_hll)
then
4876# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4877#if defined(MFC_OpenACC)
4878# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4880# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4881#elif defined(MFC_OpenMP)
4882# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4884# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4886 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4891# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4892#if defined(MFC_OpenACC)
4893# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4895# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4896#elif defined(MFC_OpenMP)
4897# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4899# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4901 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4902 flux_src_rsz_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
4905 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
4909# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4910#if defined(MFC_OpenACC)
4911# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4913# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4914#elif defined(MFC_OpenMP)
4915# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4917# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4919 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4924# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4925#if defined(MFC_OpenACC)
4926# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4928# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4929#elif defined(MFC_OpenMP)
4930# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4932# 907 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4934 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4942# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4943#if defined(MFC_OpenACC)
4944# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4946# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4947#elif defined(MFC_OpenMP)
4948# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4950# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4952# 915 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4955# 918 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"