2288 subroutine s_cbc(q_prim_vf, flux_vf, flux_src_vf, cbc_dir_norm, cbc_loc_norm, ix, iy, iz)
2290 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
2291 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf
2292 integer,
intent(in) :: cbc_dir_norm, cbc_loc_norm
2293 type(int_bounds_info),
intent(in) :: ix, iy, iz
2295 real(wp) :: dpres_dt
2296 real(wp) :: dgamma_dt
2297 real(wp) :: dpi_inf_dt
2299 real(wp) :: dpres_ds
2301# 479 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2302 real(wp),
dimension(sys_size) ::
l
2303# 481 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2304# 490 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2305 real(wp),
dimension(num_fluids) :: alpha_rho, dalpha_rho_ds, mf
2306 real(wp),
dimension(num_vels) :: vel, dvel_ds
2307 real(wp),
dimension(num_fluids) :: adv_local, dadv_ds
2308 real(wp),
dimension(num_fluids) :: dadv_dt
2309 real(wp),
dimension(num_dims) :: dvel_dt
2310 real(wp),
dimension(num_fluids) :: dalpha_rho_dt
2311 real(wp),
dimension(num_species) :: ys, h_k, dys_dt, dys_ds, xs, gamma_i, cp_i
2312# 498 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2313 real(wp),
dimension(2) :: re_cbc
2314 real(wp),
dimension(3) :: lambda
2324 real(wp) :: t, sum_enthalpies
2325 real(wp) :: cv, cp, e_mix, mw, r_gas
2326 real(wp) :: vel_k_sum, vel_dv_dt_sum
2327 integer :: i,
j,
k, r
2335# 519 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2336#if defined(MFC_OpenACC)
2337# 519 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2339# 519 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2340#elif defined(MFC_OpenMP)
2341# 519 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2343# 519 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2350# 526 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2351 if (
cbc_dir == 1 .and. recon_type == weno_type)
then
2353 if (weno_order == 3)
then
2355 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
2358# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2360# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2361#if defined(MFC_OpenACC)
2362# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2364# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2365#elif defined(MFC_OpenMP)
2366# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2368# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2370# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2372# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2374# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2385# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2386#if defined(MFC_OpenACC)
2387# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2389# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2390#elif defined(MFC_OpenMP)
2391# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2393# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2395# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2399# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2401# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2402#if defined(MFC_OpenACC)
2403# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2405# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2406#elif defined(MFC_OpenMP)
2407# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2409# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2411# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2413# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2415# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2417 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2426# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2427#if defined(MFC_OpenACC)
2428# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2430# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2431#elif defined(MFC_OpenMP)
2432# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2434# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2436# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2441 if (weno_order == 5)
then
2443 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
2446# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2448# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2449#if defined(MFC_OpenACC)
2450# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2452# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2453#elif defined(MFC_OpenMP)
2454# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2456# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2458# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2460# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2462# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2478# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2479#if defined(MFC_OpenACC)
2480# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2482# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2483#elif defined(MFC_OpenMP)
2484# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2486# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2488# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2492# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2494# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2495#if defined(MFC_OpenACC)
2496# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2498# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2499#elif defined(MFC_OpenMP)
2500# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2502# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2504# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2506# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2508# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2510 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2525# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2526#if defined(MFC_OpenACC)
2527# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2529# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2530#elif defined(MFC_OpenMP)
2531# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2533# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2535# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2541# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2543# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2544#if defined(MFC_OpenACC)
2545# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2547# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2548#elif defined(MFC_OpenMP)
2549# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2551# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2553# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2555# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2557# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2559# 600 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2564# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2565#if defined(MFC_OpenACC)
2566# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2568# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2569#elif defined(MFC_OpenMP)
2570# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2572# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2574 do i = 1, eqn_idx%cont%end
2579# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2580#if defined(MFC_OpenACC)
2581# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2583# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2584#elif defined(MFC_OpenMP)
2585# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2587# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2595# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2596#if defined(MFC_OpenACC)
2597# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2599# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2600#elif defined(MFC_OpenMP)
2601# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2603# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2606 vel_k_sum = vel_k_sum + vel(i)**2._wp
2612# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2613#if defined(MFC_OpenACC)
2614# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2616# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2617#elif defined(MFC_OpenMP)
2618# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2620# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2622 do i = 1, eqn_idx%adv%end - eqn_idx%E
2626 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
2629# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2630#if defined(MFC_OpenACC)
2631# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2633# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2634#elif defined(MFC_OpenMP)
2635# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2637# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2639 do i = 1, eqn_idx%cont%end
2640 mf(i) = alpha_rho(i)/rho
2645# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2646#if defined(MFC_OpenACC)
2647# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2649# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2650#elif defined(MFC_OpenMP)
2651# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2653# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2655 do i = eqn_idx%species%beg, eqn_idx%species%end
2659 call get_mixture_molecular_weight(ys, mw)
2660 r_gas = gas_constant/mw
2662 call get_mixture_specific_heat_cp_mass(t, ys, cp)
2663 call get_mixture_energy_mass(t, ys, e_mix)
2664 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
2665 if (chem_params%gamma_method == 1)
then
2667 call get_mole_fractions(mw, ys, xs)
2668 call get_species_specific_heats_r(t, cp_i)
2669 gamma_i = cp_i/(cp_i - 1.0_wp)
2670 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
2671 else if (chem_params%gamma_method == 2)
then
2673 call get_mixture_specific_heat_cv_mass(t, ys, cv)
2674 gamma = 1.0_wp/(cp/cv - 1.0_wp)
2677 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
2683 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
2688# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2689#if defined(MFC_OpenACC)
2690# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2692# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2693#elif defined(MFC_OpenMP)
2694# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2696# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2698 do i = 1, eqn_idx%cont%end
2699 dalpha_rho_ds(i) = 0._wp
2703# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2704#if defined(MFC_OpenACC)
2705# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2707# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2708#elif defined(MFC_OpenMP)
2709# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2711# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2719# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2720#if defined(MFC_OpenACC)
2721# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2723# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2724#elif defined(MFC_OpenMP)
2725# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2727# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2729 do i = 1, eqn_idx%adv%end - eqn_idx%E
2735# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2736#if defined(MFC_OpenACC)
2737# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2739# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2740#elif defined(MFC_OpenMP)
2741# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2743# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2745 do i = 1, num_species
2751# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2752#if defined(MFC_OpenACC)
2753# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2755# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2756#elif defined(MFC_OpenMP)
2757# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2759# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2763# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2764#if defined(MFC_OpenACC)
2765# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2767# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2768#elif defined(MFC_OpenMP)
2769# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2771# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2773 do i = 1, eqn_idx%cont%end
2777# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2778#if defined(MFC_OpenACC)
2779# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2781# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2782#elif defined(MFC_OpenMP)
2783# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2785# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2794# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2795#if defined(MFC_OpenACC)
2796# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2798# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2799#elif defined(MFC_OpenMP)
2800# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2802# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2804 do i = 1, eqn_idx%adv%end - eqn_idx%E
2810# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2811#if defined(MFC_OpenACC)
2812# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2814# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2815#elif defined(MFC_OpenMP)
2816# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2818# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2820 do i = 1, num_species
2828 lambda(1) = vel(dir_idx(1)) - c
2829 lambda(2) = vel(dir_idx(1))
2830 lambda(3) = vel(dir_idx(1)) + c
2832 ma = vel(dir_idx(1))/c
2834 if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
2835 & .and. bc_x%end == bc_char_slip_wall))
then
2836 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
2837 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
2838 & .and. bc_x%end == bc_char_nr_sub_buffer))
then
2839 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2840 & dvel_ds, dadv_ds, dys_ds)
2841 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
2842 & .and. bc_x%end == bc_char_nr_sub_inflow))
then
2843 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
2845 if (bc_x%grcbc_in)
then
2847# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2848#if defined(MFC_OpenACC)
2849# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2851# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2852#elif defined(MFC_OpenMP)
2853# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2855# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2857 do i = 2, eqn_idx%mom%beg
2858 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
2862 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(1, &
2865 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(1, &
2870# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2871#if defined(MFC_OpenACC)
2872# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2874# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2875#elif defined(MFC_OpenMP)
2876# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2878# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2880 do i = eqn_idx%E, eqn_idx%adv%end - 1
2881 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
2884 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(1, &
2885 & dir_idx(1))*sign(1, &
2888 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
2889 & .and. bc_x%end == bc_char_nr_sub_outflow))
then
2890 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2891 & dvel_ds, dadv_ds, dys_ds)
2893 if (bc_x%grcbc_out)
then
2897 if (bc_x%grcbc_vel_out)
then
2898 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
2902 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
2903 & .and. bc_x%end == bc_char_ff_sub_outflow))
then
2904 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
2906 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
2907 & .and. bc_x%end == bc_char_cp_sub_outflow))
then
2908 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
2910 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
2911 & .and. bc_x%end == bc_char_sup_inflow))
then
2912 call s_compute_supersonic_inflow_l(
l)
2913 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
2914 & .and. bc_x%end == bc_char_sup_outflow))
then
2915 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
2921 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
2923 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
2927# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2928#if defined(MFC_OpenACC)
2929# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2931# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2932#elif defined(MFC_OpenMP)
2933# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2935# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2937 do i = 1, eqn_idx%cont%end
2938 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
2942# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2943#if defined(MFC_OpenACC)
2944# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2946# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2947#elif defined(MFC_OpenMP)
2948# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2950# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2953 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
2954 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
2957 vel_dv_dt_sum = 0._wp
2959# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2960#if defined(MFC_OpenACC)
2961# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2963# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2964#elif defined(MFC_OpenMP)
2965# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2967# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2970 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
2975# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2976#if defined(MFC_OpenACC)
2977# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2979# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2980#elif defined(MFC_OpenMP)
2981# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2983# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2985 do i = 1, num_species
2986 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
2993# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2994#if defined(MFC_OpenACC)
2995# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2997# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2998#elif defined(MFC_OpenMP)
2999# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3001# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3003 do i = 1, eqn_idx%adv%end - eqn_idx%E
3004 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3008# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3009#if defined(MFC_OpenACC)
3010# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3012# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3013#elif defined(MFC_OpenMP)
3014# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3016# 827 "/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 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
3025 if (model_eqns == 1)
then
3026 drho_dt = dalpha_rho_dt(1)
3027 dgamma_dt = dadv_dt(1)
3028# 839 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3029 dpi_inf_dt = dadv_dt(2)
3030# 841 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3033# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3034#if defined(MFC_OpenACC)
3035# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3037# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3038#elif defined(MFC_OpenMP)
3039# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3041# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3043 do i = 1, num_fluids
3044 drho_dt = drho_dt + dalpha_rho_dt(i)
3045 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
3046 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
3047 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
3053# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3054#if defined(MFC_OpenACC)
3055# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3057# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3058#elif defined(MFC_OpenMP)
3059# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3061# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3063 do i = 1, eqn_idx%cont%end
3068# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3069#if defined(MFC_OpenACC)
3070# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3072# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3073#elif defined(MFC_OpenMP)
3074# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3076# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3078 do i = eqn_idx%mom%beg, eqn_idx%mom%end
3080 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
3086 call get_species_enthalpies_rt(t, h_k)
3087 sum_enthalpies = 0._wp
3089# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3090#if defined(MFC_OpenACC)
3091# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3093# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3094#elif defined(MFC_OpenMP)
3095# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3097# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3099 do i = 1, num_species
3100 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
3101 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
3104 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
3105 & /(c*c) + sum_enthalpies)
3107# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3108#if defined(MFC_OpenACC)
3109# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3111# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3112#elif defined(MFC_OpenMP)
3113# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3115# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3117 do i = 1, num_species
3119 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
3123 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
3124 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
3127 if (riemann_solver == 1)
then
3129# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3130#if defined(MFC_OpenACC)
3131# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3133# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3134#elif defined(MFC_OpenMP)
3135# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3137# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3139 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3144# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3145#if defined(MFC_OpenACC)
3146# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3148# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3149#elif defined(MFC_OpenMP)
3150# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3152# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3154 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3155 flux_src_rsx_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
3158 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
3162# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3163#if defined(MFC_OpenACC)
3164# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3166# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3167#elif defined(MFC_OpenMP)
3168# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3170# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3172 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3177# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3178#if defined(MFC_OpenACC)
3179# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3181# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3182#elif defined(MFC_OpenMP)
3183# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3185# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3187 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3195# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3196#if defined(MFC_OpenACC)
3197# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3199# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3200#elif defined(MFC_OpenMP)
3201# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3203# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3205# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3208# 526 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3209 if (
cbc_dir == 2 .and. recon_type == weno_type)
then
3211 if (weno_order == 3)
then
3213 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
3216# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3218# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3219#if defined(MFC_OpenACC)
3220# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3222# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3223#elif defined(MFC_OpenMP)
3224# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3226# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3228# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3230# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3232# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3243# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3244#if defined(MFC_OpenACC)
3245# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3247# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3248#elif defined(MFC_OpenMP)
3249# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3251# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3253# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3257# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3259# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3260#if defined(MFC_OpenACC)
3261# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3263# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3264#elif defined(MFC_OpenMP)
3265# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3267# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3269# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3271# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3273# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3275 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3284# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3285#if defined(MFC_OpenACC)
3286# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3288# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3289#elif defined(MFC_OpenMP)
3290# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3292# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3294# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3299 if (weno_order == 5)
then
3301 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
3304# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3306# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3307#if defined(MFC_OpenACC)
3308# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3310# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3311#elif defined(MFC_OpenMP)
3312# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3314# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3316# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3318# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3320# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3336# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3337#if defined(MFC_OpenACC)
3338# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3340# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3341#elif defined(MFC_OpenMP)
3342# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3344# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3346# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3350# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3352# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3353#if defined(MFC_OpenACC)
3354# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3356# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3357#elif defined(MFC_OpenMP)
3358# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3360# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3362# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3364# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3366# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3368 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3383# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3384#if defined(MFC_OpenACC)
3385# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3387# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3388#elif defined(MFC_OpenMP)
3389# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3391# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3393# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3399# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3401# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3402#if defined(MFC_OpenACC)
3403# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3405# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3406#elif defined(MFC_OpenMP)
3407# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3409# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3411# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3413# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3415# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3417# 600 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3422# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3423#if defined(MFC_OpenACC)
3424# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3426# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3427#elif defined(MFC_OpenMP)
3428# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3430# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3432 do i = 1, eqn_idx%cont%end
3437# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3438#if defined(MFC_OpenACC)
3439# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3441# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3442#elif defined(MFC_OpenMP)
3443# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3445# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3453# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3454#if defined(MFC_OpenACC)
3455# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3457# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3458#elif defined(MFC_OpenMP)
3459# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3461# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3464 vel_k_sum = vel_k_sum + vel(i)**2._wp
3470# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3471#if defined(MFC_OpenACC)
3472# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3474# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3475#elif defined(MFC_OpenMP)
3476# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3478# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3480 do i = 1, eqn_idx%adv%end - eqn_idx%E
3484 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
3487# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3488#if defined(MFC_OpenACC)
3489# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3491# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3492#elif defined(MFC_OpenMP)
3493# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3495# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3497 do i = 1, eqn_idx%cont%end
3498 mf(i) = alpha_rho(i)/rho
3503# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3504#if defined(MFC_OpenACC)
3505# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3507# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3508#elif defined(MFC_OpenMP)
3509# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3511# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3513 do i = eqn_idx%species%beg, eqn_idx%species%end
3517 call get_mixture_molecular_weight(ys, mw)
3518 r_gas = gas_constant/mw
3520 call get_mixture_specific_heat_cp_mass(t, ys, cp)
3521 call get_mixture_energy_mass(t, ys, e_mix)
3522 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
3523 if (chem_params%gamma_method == 1)
then
3525 call get_mole_fractions(mw, ys, xs)
3526 call get_species_specific_heats_r(t, cp_i)
3527 gamma_i = cp_i/(cp_i - 1.0_wp)
3528 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
3529 else if (chem_params%gamma_method == 2)
then
3531 call get_mixture_specific_heat_cv_mass(t, ys, cv)
3532 gamma = 1.0_wp/(cp/cv - 1.0_wp)
3535 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
3541 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
3546# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3547#if defined(MFC_OpenACC)
3548# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3550# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3551#elif defined(MFC_OpenMP)
3552# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3554# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3556 do i = 1, eqn_idx%cont%end
3557 dalpha_rho_ds(i) = 0._wp
3561# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3562#if defined(MFC_OpenACC)
3563# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3565# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3566#elif defined(MFC_OpenMP)
3567# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3569# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3577# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3578#if defined(MFC_OpenACC)
3579# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3581# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3582#elif defined(MFC_OpenMP)
3583# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3585# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3587 do i = 1, eqn_idx%adv%end - eqn_idx%E
3593# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3594#if defined(MFC_OpenACC)
3595# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3597# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3598#elif defined(MFC_OpenMP)
3599# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3601# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3603 do i = 1, num_species
3609# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3610#if defined(MFC_OpenACC)
3611# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3613# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3614#elif defined(MFC_OpenMP)
3615# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3617# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3621# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3622#if defined(MFC_OpenACC)
3623# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3625# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3626#elif defined(MFC_OpenMP)
3627# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3629# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3631 do i = 1, eqn_idx%cont%end
3635# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3636#if defined(MFC_OpenACC)
3637# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3639# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3640#elif defined(MFC_OpenMP)
3641# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3643# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3652# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3653#if defined(MFC_OpenACC)
3654# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3656# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3657#elif defined(MFC_OpenMP)
3658# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3660# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3662 do i = 1, eqn_idx%adv%end - eqn_idx%E
3668# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3669#if defined(MFC_OpenACC)
3670# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3672# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3673#elif defined(MFC_OpenMP)
3674# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3676# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3678 do i = 1, num_species
3686 lambda(1) = vel(dir_idx(1)) - c
3687 lambda(2) = vel(dir_idx(1))
3688 lambda(3) = vel(dir_idx(1)) + c
3690 ma = vel(dir_idx(1))/c
3692 if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
3693 & .and. bc_y%end == bc_char_slip_wall))
then
3694 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3695 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
3696 & .and. bc_y%end == bc_char_nr_sub_buffer))
then
3697 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3698 & dvel_ds, dadv_ds, dys_ds)
3699 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
3700 & .and. bc_y%end == bc_char_nr_sub_inflow))
then
3701 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3703 if (bc_y%grcbc_in)
then
3705# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3706#if defined(MFC_OpenACC)
3707# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3709# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3710#elif defined(MFC_OpenMP)
3711# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3713# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3715 do i = 2, eqn_idx%mom%beg
3716 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
3720 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(2, &
3723 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(2, &
3728# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3729#if defined(MFC_OpenACC)
3730# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3732# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3733#elif defined(MFC_OpenMP)
3734# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3736# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3738 do i = eqn_idx%E, eqn_idx%adv%end - 1
3739 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
3742 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(2, &
3743 & dir_idx(1))*sign(1, &
3746 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
3747 & .and. bc_y%end == bc_char_nr_sub_outflow))
then
3748 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3749 & dvel_ds, dadv_ds, dys_ds)
3751 if (bc_y%grcbc_out)
then
3755 if (bc_y%grcbc_vel_out)
then
3756 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
3760 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
3761 & .and. bc_y%end == bc_char_ff_sub_outflow))
then
3762 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
3764 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
3765 & .and. bc_y%end == bc_char_cp_sub_outflow))
then
3766 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3768 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
3769 & .and. bc_y%end == bc_char_sup_inflow))
then
3770 call s_compute_supersonic_inflow_l(
l)
3771 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
3772 & .and. bc_y%end == bc_char_sup_outflow))
then
3773 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
3779 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
3781 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
3785# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3786#if defined(MFC_OpenACC)
3787# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3789# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3790#elif defined(MFC_OpenMP)
3791# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3793# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3795 do i = 1, eqn_idx%cont%end
3796 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
3800# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3801#if defined(MFC_OpenACC)
3802# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3804# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3805#elif defined(MFC_OpenMP)
3806# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3808# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3811 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
3812 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
3815 vel_dv_dt_sum = 0._wp
3817# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3818#if defined(MFC_OpenACC)
3819# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3821# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3822#elif defined(MFC_OpenMP)
3823# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3825# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3828 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
3833# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3834#if defined(MFC_OpenACC)
3835# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3837# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3838#elif defined(MFC_OpenMP)
3839# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3841# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3843 do i = 1, num_species
3844 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
3851# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3852#if defined(MFC_OpenACC)
3853# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3855# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3856#elif defined(MFC_OpenMP)
3857# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3859# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3861 do i = 1, eqn_idx%adv%end - eqn_idx%E
3862 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3866# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3867#if defined(MFC_OpenACC)
3868# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3870# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3871#elif defined(MFC_OpenMP)
3872# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3874# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3876 do i = 1, eqn_idx%adv%end - eqn_idx%E
3877 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3881 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
3883 if (model_eqns == 1)
then
3884 drho_dt = dalpha_rho_dt(1)
3885 dgamma_dt = dadv_dt(1)
3886# 839 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3887 dpi_inf_dt = dadv_dt(2)
3888# 841 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3891# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3892#if defined(MFC_OpenACC)
3893# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3895# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3896#elif defined(MFC_OpenMP)
3897# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3899# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3901 do i = 1, num_fluids
3902 drho_dt = drho_dt + dalpha_rho_dt(i)
3903 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
3904 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
3905 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
3911# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3912#if defined(MFC_OpenACC)
3913# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3915# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3916#elif defined(MFC_OpenMP)
3917# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3919# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3921 do i = 1, eqn_idx%cont%end
3926# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3927#if defined(MFC_OpenACC)
3928# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3930# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3931#elif defined(MFC_OpenMP)
3932# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3934# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3936 do i = eqn_idx%mom%beg, eqn_idx%mom%end
3938 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
3944 call get_species_enthalpies_rt(t, h_k)
3945 sum_enthalpies = 0._wp
3947# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3948#if defined(MFC_OpenACC)
3949# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3951# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3952#elif defined(MFC_OpenMP)
3953# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3955# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3957 do i = 1, num_species
3958 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
3959 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
3962 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
3963 & /(c*c) + sum_enthalpies)
3965# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3966#if defined(MFC_OpenACC)
3967# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3969# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3970#elif defined(MFC_OpenMP)
3971# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3973# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3975 do i = 1, num_species
3977 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
3981 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
3982 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
3985 if (riemann_solver == 1)
then
3987# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3988#if defined(MFC_OpenACC)
3989# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3991# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3992#elif defined(MFC_OpenMP)
3993# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3995# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3997 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4002# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4003#if defined(MFC_OpenACC)
4004# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4006# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4007#elif defined(MFC_OpenMP)
4008# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4010# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4012 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4013 flux_src_rsy_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
4016 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
4020# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4021#if defined(MFC_OpenACC)
4022# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4024# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4025#elif defined(MFC_OpenMP)
4026# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4028# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4030 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4035# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4036#if defined(MFC_OpenACC)
4037# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4039# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4040#elif defined(MFC_OpenMP)
4041# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4043# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4045 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4053# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4054#if defined(MFC_OpenACC)
4055# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4057# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4058#elif defined(MFC_OpenMP)
4059# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4061# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4063# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4066# 526 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4067 if (
cbc_dir == 3 .and. recon_type == weno_type)
then
4069 if (weno_order == 3)
then
4071 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
4074# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4076# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4077#if defined(MFC_OpenACC)
4078# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4080# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4081#elif defined(MFC_OpenMP)
4082# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4084# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4086# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4088# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4090# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4101# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4102#if defined(MFC_OpenACC)
4103# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4105# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4106#elif defined(MFC_OpenMP)
4107# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4109# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4111# 541 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4115# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4117# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4118#if defined(MFC_OpenACC)
4119# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4121# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4122#elif defined(MFC_OpenMP)
4123# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4125# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4127# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4129# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4131# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4133 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4142# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4143#if defined(MFC_OpenACC)
4144# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4146# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4147#elif defined(MFC_OpenMP)
4148# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4150# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4152# 552 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4157 if (weno_order == 5)
then
4159 &
is3, idwbuff(2)%beg, idwbuff(3)%beg)
4162# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4164# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4165#if defined(MFC_OpenACC)
4166# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4168# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4169#elif defined(MFC_OpenMP)
4170# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4172# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4174# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4176# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4178# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4194# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4195#if defined(MFC_OpenACC)
4196# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4198# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4199#elif defined(MFC_OpenMP)
4200# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4202# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4204# 574 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4208# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4210# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4211#if defined(MFC_OpenACC)
4212# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4214# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4215#elif defined(MFC_OpenMP)
4216# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4218# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4220# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4222# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4224# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4226 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4241# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4242#if defined(MFC_OpenACC)
4243# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4245# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4246#elif defined(MFC_OpenMP)
4247# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4249# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4251# 591 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4257# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4259# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4260#if defined(MFC_OpenACC)
4261# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4263# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4264#elif defined(MFC_OpenMP)
4265# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4267# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4269# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4271# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4273# 595 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4275# 600 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4280# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4281#if defined(MFC_OpenACC)
4282# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4284# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4285#elif defined(MFC_OpenMP)
4286# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4288# 603 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4290 do i = 1, eqn_idx%cont%end
4295# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4296#if defined(MFC_OpenACC)
4297# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4299# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4300#elif defined(MFC_OpenMP)
4301# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4303# 608 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4311# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4312#if defined(MFC_OpenACC)
4313# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4315# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4316#elif defined(MFC_OpenMP)
4317# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4319# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4322 vel_k_sum = vel_k_sum + vel(i)**2._wp
4328# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4329#if defined(MFC_OpenACC)
4330# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4332# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4333#elif defined(MFC_OpenMP)
4334# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4336# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4338 do i = 1, eqn_idx%adv%end - eqn_idx%E
4342 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
4345# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4346#if defined(MFC_OpenACC)
4347# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4349# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4350#elif defined(MFC_OpenMP)
4351# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4353# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4355 do i = 1, eqn_idx%cont%end
4356 mf(i) = alpha_rho(i)/rho
4361# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4362#if defined(MFC_OpenACC)
4363# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4365# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4366#elif defined(MFC_OpenMP)
4367# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4369# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4371 do i = eqn_idx%species%beg, eqn_idx%species%end
4375 call get_mixture_molecular_weight(ys, mw)
4376 r_gas = gas_constant/mw
4378 call get_mixture_specific_heat_cp_mass(t, ys, cp)
4379 call get_mixture_energy_mass(t, ys, e_mix)
4380 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
4381 if (chem_params%gamma_method == 1)
then
4383 call get_mole_fractions(mw, ys, xs)
4384 call get_species_specific_heats_r(t, cp_i)
4385 gamma_i = cp_i/(cp_i - 1.0_wp)
4386 gamma = sum(xs(:)/(gamma_i(:) - 1.0_wp))
4387 else if (chem_params%gamma_method == 2)
then
4389 call get_mixture_specific_heat_cv_mass(t, ys, cv)
4390 gamma = 1.0_wp/(cp/cv - 1.0_wp)
4393 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_k_sum
4399 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv_local, vel_k_sum, 0._wp, c, qv)
4404# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4405#if defined(MFC_OpenACC)
4406# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4408# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4409#elif defined(MFC_OpenMP)
4410# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4412# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4414 do i = 1, eqn_idx%cont%end
4415 dalpha_rho_ds(i) = 0._wp
4419# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4420#if defined(MFC_OpenACC)
4421# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4423# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4424#elif defined(MFC_OpenMP)
4425# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4427# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4435# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4436#if defined(MFC_OpenACC)
4437# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4439# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4440#elif defined(MFC_OpenMP)
4441# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4443# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4445 do i = 1, eqn_idx%adv%end - eqn_idx%E
4451# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4452#if defined(MFC_OpenACC)
4453# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4455# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4456#elif defined(MFC_OpenMP)
4457# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4459# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4461 do i = 1, num_species
4467# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4468#if defined(MFC_OpenACC)
4469# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4471# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4472#elif defined(MFC_OpenMP)
4473# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4475# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4479# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4480#if defined(MFC_OpenACC)
4481# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4483# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4484#elif defined(MFC_OpenMP)
4485# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4487# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4489 do i = 1, eqn_idx%cont%end
4493# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4494#if defined(MFC_OpenACC)
4495# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4497# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4498#elif defined(MFC_OpenMP)
4499# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4501# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4510# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4511#if defined(MFC_OpenACC)
4512# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4514# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4515#elif defined(MFC_OpenMP)
4516# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4518# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4520 do i = 1, eqn_idx%adv%end - eqn_idx%E
4526# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4527#if defined(MFC_OpenACC)
4528# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4530# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4531#elif defined(MFC_OpenMP)
4532# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4534# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4536 do i = 1, num_species
4544 lambda(1) = vel(dir_idx(1)) - c
4545 lambda(2) = vel(dir_idx(1))
4546 lambda(3) = vel(dir_idx(1)) + c
4548 ma = vel(dir_idx(1))/c
4550 if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
4551 & .and. bc_z%end == bc_char_slip_wall))
then
4552 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4553 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
4554 & .and. bc_z%end == bc_char_nr_sub_buffer))
then
4555 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4556 & dvel_ds, dadv_ds, dys_ds)
4557 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
4558 & .and. bc_z%end == bc_char_nr_sub_inflow))
then
4559 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4561 if (bc_z%grcbc_in)
then
4563# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4564#if defined(MFC_OpenACC)
4565# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4567# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4568#elif defined(MFC_OpenMP)
4569# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4571# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4573 do i = 2, eqn_idx%mom%beg
4574 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
4578 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) -
vel_in(3, &
4581 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) -
vel_in(3, &
4586# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4587#if defined(MFC_OpenACC)
4588# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4590# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4591#elif defined(MFC_OpenMP)
4592# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4594# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4596 do i = eqn_idx%E, eqn_idx%adv%end - 1
4597 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
4600 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) +
vel_in(3, &
4601 & dir_idx(1))*sign(1, &
4604 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
4605 & .and. bc_z%end == bc_char_nr_sub_outflow))
then
4606 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4607 & dvel_ds, dadv_ds, dys_ds)
4609 if (bc_z%grcbc_out)
then
4613 if (bc_z%grcbc_vel_out)
then
4614 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
4618 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
4619 & .and. bc_z%end == bc_char_ff_sub_outflow))
then
4620 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
4622 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
4623 & .and. bc_z%end == bc_char_cp_sub_outflow))
then
4624 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4626 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
4627 & .and. bc_z%end == bc_char_sup_inflow))
then
4628 call s_compute_supersonic_inflow_l(
l)
4629 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
4630 & .and. bc_z%end == bc_char_sup_outflow))
then
4631 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
4637 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
4639 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
4643# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4644#if defined(MFC_OpenACC)
4645# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4647# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4648#elif defined(MFC_OpenMP)
4649# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4651# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4653 do i = 1, eqn_idx%cont%end
4654 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
4658# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4659#if defined(MFC_OpenACC)
4660# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4662# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4663#elif defined(MFC_OpenMP)
4664# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4666# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4669 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
4670 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
4673 vel_dv_dt_sum = 0._wp
4675# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4676#if defined(MFC_OpenACC)
4677# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4679# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4680#elif defined(MFC_OpenMP)
4681# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4683# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4686 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
4691# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4692#if defined(MFC_OpenACC)
4693# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4695# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4696#elif defined(MFC_OpenMP)
4697# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4699# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4701 do i = 1, num_species
4702 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
4709# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4710#if defined(MFC_OpenACC)
4711# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4713# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4714#elif defined(MFC_OpenMP)
4715# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4717# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4719 do i = 1, eqn_idx%adv%end - eqn_idx%E
4720 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4724# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4725#if defined(MFC_OpenACC)
4726# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4728# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4729#elif defined(MFC_OpenMP)
4730# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4732# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4734 do i = 1, eqn_idx%adv%end - eqn_idx%E
4735 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4739 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
4741 if (model_eqns == 1)
then
4742 drho_dt = dalpha_rho_dt(1)
4743 dgamma_dt = dadv_dt(1)
4744# 839 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4745 dpi_inf_dt = dadv_dt(2)
4746# 841 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4749# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4750#if defined(MFC_OpenACC)
4751# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4753# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4754#elif defined(MFC_OpenMP)
4755# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4757# 842 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4759 do i = 1, num_fluids
4760 drho_dt = drho_dt + dalpha_rho_dt(i)
4761 dgamma_dt = dgamma_dt + dadv_dt(i)*gammas(i)
4762 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_infs(i)
4763 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
4769# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4770#if defined(MFC_OpenACC)
4771# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4773# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4774#elif defined(MFC_OpenMP)
4775# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4777# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4779 do i = 1, eqn_idx%cont%end
4784# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4785#if defined(MFC_OpenACC)
4786# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4788# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4789#elif defined(MFC_OpenMP)
4790# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4792# 857 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4794 do i = eqn_idx%mom%beg, eqn_idx%mom%end
4796 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
4802 call get_species_enthalpies_rt(t, h_k)
4803 sum_enthalpies = 0._wp
4805# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4806#if defined(MFC_OpenACC)
4807# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4809# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4810#elif defined(MFC_OpenMP)
4811# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4813# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4815 do i = 1, num_species
4816 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
4817 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
4820 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
4821 & /(c*c) + sum_enthalpies)
4823# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4824#if defined(MFC_OpenACC)
4825# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4827# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4828#elif defined(MFC_OpenMP)
4829# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4831# 876 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4833 do i = 1, num_species
4835 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
4839 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
4840 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
4843 if (riemann_solver == 1)
then
4845# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4846#if defined(MFC_OpenACC)
4847# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4849# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4850#elif defined(MFC_OpenMP)
4851# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4853# 888 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4855 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4860# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4861#if defined(MFC_OpenACC)
4862# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4864# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4865#elif defined(MFC_OpenMP)
4866# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4868# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4870 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4871 flux_src_rsz_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
4874 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
4878# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4879#if defined(MFC_OpenACC)
4880# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4882# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4883#elif defined(MFC_OpenMP)
4884# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4886# 901 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4888 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4893# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4894#if defined(MFC_OpenACC)
4895# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4897# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4898#elif defined(MFC_OpenMP)
4899# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4901# 906 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4903 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4911# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4912#if defined(MFC_OpenACC)
4913# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4915# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4916#elif defined(MFC_OpenMP)
4917# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4919# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4921# 914 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4924# 917 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"