2484 subroutine s_cbc(q_prim_vf, flux_vf, flux_src_vf, cbc_dir_norm, cbc_loc_norm, ix, iy, iz)
2486 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
2487 type(scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf
2488 integer,
intent(in) :: cbc_dir_norm, cbc_loc_norm
2489 type(int_bounds_info),
intent(in) :: ix, iy, iz
2491 real(wp) :: dpres_dt
2492 real(wp) :: dgamma_dt
2493 real(wp) :: dpi_inf_dt
2495 real(wp) :: dpres_ds
2498# 483 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2499 real(wp),
dimension(sys_size) ::
l
2500# 485 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2501# 493 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2502 real(wp),
dimension(num_fluids) :: alpha_rho, dalpha_rho_ds, mf
2503 real(wp),
dimension(num_vels) :: vel, dvel_ds
2504 real(wp),
dimension(num_fluids) :: adv_local, dadv_ds
2505 real(wp),
dimension(num_fluids) :: dadv_dt
2506 real(wp),
dimension(num_dims) :: dvel_dt
2507 real(wp),
dimension(num_fluids) :: dalpha_rho_dt
2508# 500 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2509 real(wp),
dimension(1) :: ys, h_k, dys_dt, dys_ds, xs, gamma_i, cp_i
2510# 501 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2511 real(wp),
dimension(2) :: re_cbc
2512 real(wp),
dimension(3) :: lambda
2521 real(wp) :: t, sum_enthalpies
2522 real(wp) :: cv, cp, e_mix, mw, r_gas
2523 real(wp) :: vel_k_sum, vel_dv_dt_sum
2524 integer :: i,
j,
k, r
2532# 521 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2533#if defined(MFC_OpenACC)
2534# 521 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2536# 521 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2537#elif defined(MFC_OpenMP)
2538# 521 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2540# 521 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2542# 522 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2548# 528 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2549 if (
cbc_dir == 1 .and. recon_type == recon_type_weno)
then
2550# 529 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2552 if (weno_order == 3)
then
2554# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2555 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
2558# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2560# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2561#if defined(MFC_OpenACC)
2562# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2564# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2565#elif defined(MFC_OpenMP)
2566# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2568# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2570# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2572# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2574# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2576# 535 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2581# 539 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2583# 540 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2588# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2589#if defined(MFC_OpenACC)
2590# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2592# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2593#elif defined(MFC_OpenMP)
2594# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2596# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2598# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2600# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2603# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2605# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2606#if defined(MFC_OpenACC)
2607# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2609# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2610#elif defined(MFC_OpenMP)
2611# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2613# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2615# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2617# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2619# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2621# 546 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2622 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2626# 550 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2628# 551 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2633# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2634#if defined(MFC_OpenACC)
2635# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2637# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2638#elif defined(MFC_OpenMP)
2639# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2641# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2643# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2645# 555 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2649 if (weno_order == 5)
then
2651# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2652 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
2655# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2657# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2658#if defined(MFC_OpenACC)
2659# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2661# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2662#elif defined(MFC_OpenMP)
2663# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2665# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2667# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2669# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2671# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2673# 563 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2679# 568 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2681# 569 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2683# 570 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2685# 571 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2687# 572 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2693# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2694#if defined(MFC_OpenACC)
2695# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2697# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2698#elif defined(MFC_OpenMP)
2699# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2701# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2703# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2705# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2708# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2710# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2711#if defined(MFC_OpenACC)
2712# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2714# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2715#elif defined(MFC_OpenMP)
2716# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2718# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2720# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2722# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2724# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2726# 579 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2727 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2732# 584 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2734# 585 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2736# 586 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2738# 587 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2740# 588 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2747# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2748#if defined(MFC_OpenACC)
2749# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2751# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2752#elif defined(MFC_OpenMP)
2753# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2755# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2757# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2759# 594 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2764# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2766# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2767#if defined(MFC_OpenACC)
2768# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2770# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2772# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2774# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2775#elif defined(MFC_OpenMP)
2776# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2778# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2780# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2782# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2784# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2786# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2788# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2790# 602 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2795 ramp = f_vel_ramp(bc_x%vel_in_ramp, bc_x%vel_in_t0, bc_x%vel_in_frac0, mytime)
2796# 607 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2800# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2801#if defined(MFC_OpenACC)
2802# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2804# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2805#elif defined(MFC_OpenMP)
2806# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2808# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2810# 610 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2811 do i = 1, eqn_idx%cont%end
2813# 612 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2817# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2818#if defined(MFC_OpenACC)
2819# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2821# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2822#elif defined(MFC_OpenMP)
2823# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2825# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2827# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2830# 617 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2835# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2836#if defined(MFC_OpenACC)
2837# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2839# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2840#elif defined(MFC_OpenMP)
2841# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2843# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2845# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2847 vel_k_sum = vel_k_sum + vel(i)**2._wp
2851# 626 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2854# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2855#if defined(MFC_OpenACC)
2856# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2858# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2859#elif defined(MFC_OpenMP)
2860# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2862# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2864# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2865 do i = 1, eqn_idx%adv%end - eqn_idx%E
2867# 630 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2870 call s_convert_species_to_mixture_variables_kernel(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
2873# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2874#if defined(MFC_OpenACC)
2875# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2877# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2878#elif defined(MFC_OpenMP)
2879# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2881# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2883# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2884 do i = 1, eqn_idx%cont%end
2885 mf(i) = alpha_rho(i)/rho
2890# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2891#if defined(MFC_OpenACC)
2892# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2894# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2895#elif defined(MFC_OpenMP)
2896# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2898# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2900# 641 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2901 do i = eqn_idx%species%beg, eqn_idx%species%end
2903# 643 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2906 call get_mixture_molecular_weight(ys, mw)
2907 r_gas = gas_constant/mw
2909 call get_mixture_caloric_state(t, ys, cp_i, cp, cv, e_mix)
2910 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
2911 if (chem_params%gamma_method == 1)
then
2913 call get_mole_fractions(mw, ys, xs)
2914 gamma_i(1:num_species) = cp_i(1:num_species)/(cp_i(1:num_species) - 1.0_wp)
2915 gamma = sum(xs(1:num_species)/(gamma_i(1:num_species) - 1.0_wp))
2916 else if (chem_params%gamma_method == 2)
then
2918 gamma = 1.0_wp/(cp/cv - 1.0_wp)
2923 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, adv_local, c, alpha_rho)
2928# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2929#if defined(MFC_OpenACC)
2930# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2932# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2933#elif defined(MFC_OpenMP)
2934# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2936# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2938# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2939 do i = 1, eqn_idx%cont%end
2940 dalpha_rho_ds(i) = 0._wp
2944# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2945#if defined(MFC_OpenACC)
2946# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2948# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2949#elif defined(MFC_OpenMP)
2950# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2952# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2954# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2961# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2962#if defined(MFC_OpenACC)
2963# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2965# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2966#elif defined(MFC_OpenMP)
2967# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2969# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2971# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2972 do i = 1, eqn_idx%adv%end - eqn_idx%E
2978# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2979#if defined(MFC_OpenACC)
2980# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2982# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2983#elif defined(MFC_OpenMP)
2984# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2986# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2988# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2989 do i = 1, num_species
2995# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2996#if defined(MFC_OpenACC)
2997# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
2999# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3000#elif defined(MFC_OpenMP)
3001# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3003# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3005# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3008# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3009#if defined(MFC_OpenACC)
3010# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3012# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3013#elif defined(MFC_OpenMP)
3014# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3016# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3018# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3019 do i = 1, eqn_idx%cont%end
3021# 694 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3024# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3025#if defined(MFC_OpenACC)
3026# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3028# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3029#elif defined(MFC_OpenMP)
3030# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3032# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3034# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3037# 698 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3042# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3044# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3045#if defined(MFC_OpenACC)
3046# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3048# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3049#elif defined(MFC_OpenMP)
3050# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3052# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3054# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3055 do i = 1, eqn_idx%adv%end - eqn_idx%E
3057# 705 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3062# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3063#if defined(MFC_OpenACC)
3064# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3066# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3067#elif defined(MFC_OpenMP)
3068# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3070# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3072# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3073 do i = 1, num_species
3075# 711 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3082 lambda(1) = vel(dir_idx(1)) - c
3083 lambda(2) = vel(dir_idx(1))
3084 lambda(3) = vel(dir_idx(1)) + c
3086 ma = vel(dir_idx(1))/c
3088 if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
3089# 724 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3090 & .and. bc_x%end == bc_char_slip_wall))
then
3091# 725 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3092 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3093 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
3094# 727 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3095 & .and. bc_x%end == bc_char_nr_sub_buffer))
then
3096# 728 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3097 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3098 & dvel_ds, dadv_ds, dys_ds)
3099 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
3100# 731 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3101 & .and. bc_x%end == bc_char_nr_sub_inflow))
then
3102# 732 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3103 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
3105 if (bc_x%grcbc_in)
then
3106# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3108# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3109#if defined(MFC_OpenACC)
3110# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3112# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3113#elif defined(MFC_OpenMP)
3114# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3116# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3118# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3119 do i = 2, eqn_idx%mom%beg
3120 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
3122# 739 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3125 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) - ramp*
vel_in(1, &
3126# 742 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3128# 743 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3130 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) - ramp*
vel_in(1, &
3131# 745 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3133# 746 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3137# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3138#if defined(MFC_OpenACC)
3139# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3141# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3142#elif defined(MFC_OpenMP)
3143# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3145# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3147# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3148 do i = eqn_idx%E, eqn_idx%adv%end - 1
3149 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
3151# 752 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3153 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) + ramp*
vel_in(1, &
3154# 754 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3155 & dir_idx(1))*sign(1, &
3157# 756 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3159 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
3160# 758 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3161 & .and. bc_x%end == bc_char_nr_sub_outflow))
then
3162# 759 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3163 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3164 & dvel_ds, dadv_ds, dys_ds)
3166 if (bc_x%grcbc_out)
then
3167# 763 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3169# 764 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3172 if (bc_x%grcbc_vel_out)
then
3173# 767 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3174 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
3176# 769 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3179 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
3180# 772 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3181 & .and. bc_x%end == bc_char_ff_sub_outflow))
then
3182# 773 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3183 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
3185 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
3186# 776 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3187 & .and. bc_x%end == bc_char_cp_sub_outflow))
then
3188# 777 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3189 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
3191 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
3192# 780 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3193 & .and. bc_x%end == bc_char_sup_inflow))
then
3194# 781 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3195 call s_compute_supersonic_inflow_l(
l)
3196 else if ((
cbc_loc == -1 .and. bc_x%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
3197# 783 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3198 & .and. bc_x%end == bc_char_sup_outflow))
then
3199# 784 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3200 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
3206 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
3208 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
3212# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3213#if defined(MFC_OpenACC)
3214# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3216# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3217#elif defined(MFC_OpenMP)
3218# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3220# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3222# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3223 do i = 1, eqn_idx%cont%end
3224 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
3228# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3229#if defined(MFC_OpenACC)
3230# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3232# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3233#elif defined(MFC_OpenMP)
3234# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3236# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3238# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3240 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
3241 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
3244 vel_dv_dt_sum = 0._wp
3246# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3247#if defined(MFC_OpenACC)
3248# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3250# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3251#elif defined(MFC_OpenMP)
3252# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3254# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3256# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3258 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
3263# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3264#if defined(MFC_OpenACC)
3265# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3267# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3268#elif defined(MFC_OpenMP)
3269# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3271# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3273# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3274 do i = 1, num_species
3275 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
3282# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3283#if defined(MFC_OpenACC)
3284# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3286# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3287#elif defined(MFC_OpenMP)
3288# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3290# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3292# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3293 do i = 1, eqn_idx%adv%end - eqn_idx%E
3294 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3298# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3299#if defined(MFC_OpenACC)
3300# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3302# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3303#elif defined(MFC_OpenMP)
3304# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3306# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3308# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3309 do i = 1, eqn_idx%adv%end - eqn_idx%E
3310 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
3314 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
3316 if (model_eqns == model_eqns_gamma_law)
then
3317 drho_dt = dalpha_rho_dt(1)
3318 dgamma_dt = dadv_dt(1)
3319# 838 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3320 dpi_inf_dt = dadv_dt(2)
3321# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3323 call s_compute_mixture_coefficients_dt(dalpha_rho_dt, dadv_dt, alpha_rho, adv_local, drho_dt, &
3324 & dgamma_dt, dpi_inf_dt, dqv_dt)
3329# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3330#if defined(MFC_OpenACC)
3331# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3333# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3334#elif defined(MFC_OpenMP)
3335# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3337# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3339# 847 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3340 do i = 1, eqn_idx%cont%end
3342# 849 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3346# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3347#if defined(MFC_OpenACC)
3348# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3350# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3351#elif defined(MFC_OpenMP)
3352# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3354# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3356# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3357 do i = eqn_idx%mom%beg, eqn_idx%mom%end
3359# 854 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3360 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
3366 call get_species_enthalpies_rt(t, h_k)
3367 sum_enthalpies = 0._wp
3369# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3370#if defined(MFC_OpenACC)
3371# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3373# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3374#elif defined(MFC_OpenMP)
3375# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3377# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3379# 863 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3380 do i = 1, num_species
3381 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
3382 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
3385# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3386 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
3387 & /(c*c) + sum_enthalpies)
3389# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3390#if defined(MFC_OpenACC)
3391# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3393# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3394#elif defined(MFC_OpenMP)
3395# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3397# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3399# 871 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3400 do i = 1, num_species
3402# 873 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3403 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
3407# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3408 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
3409 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
3414 if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface)
then
3416# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3417#if defined(MFC_OpenACC)
3418# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3420# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3421#elif defined(MFC_OpenMP)
3422# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3424# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3426# 885 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3427 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3429# 887 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3433# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3434#if defined(MFC_OpenACC)
3435# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3437# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3438#elif defined(MFC_OpenMP)
3439# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3441# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3443# 890 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3444 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3445 flux_src_rsx_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
3446# 892 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3448# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3450# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3451 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
3455# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3456#if defined(MFC_OpenACC)
3457# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3459# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3460#elif defined(MFC_OpenMP)
3461# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3463# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3465# 898 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3466 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3468# 900 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3472# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3473#if defined(MFC_OpenACC)
3474# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3476# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3477#elif defined(MFC_OpenMP)
3478# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3480# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3482# 903 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3483 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3485# 905 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3492# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3493#if defined(MFC_OpenACC)
3494# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3496# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3497#elif defined(MFC_OpenMP)
3498# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3500# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3502# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3504# 911 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3506# 528 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3507 if (
cbc_dir == 2 .and. recon_type == recon_type_weno)
then
3508# 529 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3510 if (weno_order == 3)
then
3512# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3513 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
3516# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3518# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3519#if defined(MFC_OpenACC)
3520# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3522# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3523#elif defined(MFC_OpenMP)
3524# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3526# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3528# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3530# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3532# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3534# 535 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3539# 539 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3541# 540 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3546# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3547#if defined(MFC_OpenACC)
3548# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3550# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3551#elif defined(MFC_OpenMP)
3552# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3554# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3556# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3558# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3561# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3563# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3564#if defined(MFC_OpenACC)
3565# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3567# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3568#elif defined(MFC_OpenMP)
3569# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3571# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3573# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3575# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3577# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3579# 546 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3580 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3584# 550 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3586# 551 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3591# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3592#if defined(MFC_OpenACC)
3593# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3595# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3596#elif defined(MFC_OpenMP)
3597# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3599# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3601# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3603# 555 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3607 if (weno_order == 5)
then
3609# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3610 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
3613# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3615# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3616#if defined(MFC_OpenACC)
3617# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3619# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3620#elif defined(MFC_OpenMP)
3621# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3623# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3625# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3627# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3629# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3631# 563 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3637# 568 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3639# 569 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3641# 570 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3643# 571 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3645# 572 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3651# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3652#if defined(MFC_OpenACC)
3653# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3655# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3656#elif defined(MFC_OpenMP)
3657# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3659# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3661# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3663# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3666# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3668# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3669#if defined(MFC_OpenACC)
3670# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3672# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3673#elif defined(MFC_OpenMP)
3674# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3676# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3678# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3680# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3682# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3684# 579 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3685 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3690# 584 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3692# 585 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3694# 586 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3696# 587 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3698# 588 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3705# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3706#if defined(MFC_OpenACC)
3707# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3709# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3710#elif defined(MFC_OpenMP)
3711# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3713# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3715# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3717# 594 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3722# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3724# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3725#if defined(MFC_OpenACC)
3726# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3728# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3730# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3732# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3733#elif defined(MFC_OpenMP)
3734# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3736# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3738# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3740# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3742# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3744# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3746# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3748# 602 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3753 ramp = f_vel_ramp(bc_y%vel_in_ramp, bc_y%vel_in_t0, bc_y%vel_in_frac0, mytime)
3754# 607 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3758# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3759#if defined(MFC_OpenACC)
3760# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3762# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3763#elif defined(MFC_OpenMP)
3764# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3766# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3768# 610 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3769 do i = 1, eqn_idx%cont%end
3771# 612 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3775# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3776#if defined(MFC_OpenACC)
3777# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3779# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3780#elif defined(MFC_OpenMP)
3781# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3783# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3785# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3788# 617 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3793# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3794#if defined(MFC_OpenACC)
3795# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3797# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3798#elif defined(MFC_OpenMP)
3799# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3801# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3803# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3805 vel_k_sum = vel_k_sum + vel(i)**2._wp
3809# 626 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3812# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3813#if defined(MFC_OpenACC)
3814# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3816# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3817#elif defined(MFC_OpenMP)
3818# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3820# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3822# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3823 do i = 1, eqn_idx%adv%end - eqn_idx%E
3825# 630 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3828 call s_convert_species_to_mixture_variables_kernel(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
3831# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3832#if defined(MFC_OpenACC)
3833# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3835# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3836#elif defined(MFC_OpenMP)
3837# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3839# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3841# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3842 do i = 1, eqn_idx%cont%end
3843 mf(i) = alpha_rho(i)/rho
3848# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3849#if defined(MFC_OpenACC)
3850# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3852# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3853#elif defined(MFC_OpenMP)
3854# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3856# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3858# 641 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3859 do i = eqn_idx%species%beg, eqn_idx%species%end
3861# 643 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3864 call get_mixture_molecular_weight(ys, mw)
3865 r_gas = gas_constant/mw
3867 call get_mixture_caloric_state(t, ys, cp_i, cp, cv, e_mix)
3868 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
3869 if (chem_params%gamma_method == 1)
then
3871 call get_mole_fractions(mw, ys, xs)
3872 gamma_i(1:num_species) = cp_i(1:num_species)/(cp_i(1:num_species) - 1.0_wp)
3873 gamma = sum(xs(1:num_species)/(gamma_i(1:num_species) - 1.0_wp))
3874 else if (chem_params%gamma_method == 2)
then
3876 gamma = 1.0_wp/(cp/cv - 1.0_wp)
3881 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, adv_local, c, alpha_rho)
3886# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3887#if defined(MFC_OpenACC)
3888# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3890# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3891#elif defined(MFC_OpenMP)
3892# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3894# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3896# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3897 do i = 1, eqn_idx%cont%end
3898 dalpha_rho_ds(i) = 0._wp
3902# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3903#if defined(MFC_OpenACC)
3904# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3906# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3907#elif defined(MFC_OpenMP)
3908# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3910# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3912# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3919# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3920#if defined(MFC_OpenACC)
3921# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3923# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3924#elif defined(MFC_OpenMP)
3925# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3927# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3929# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3930 do i = 1, eqn_idx%adv%end - eqn_idx%E
3936# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3937#if defined(MFC_OpenACC)
3938# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3940# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3941#elif defined(MFC_OpenMP)
3942# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3944# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3946# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3947 do i = 1, num_species
3953# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3954#if defined(MFC_OpenACC)
3955# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3957# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3958#elif defined(MFC_OpenMP)
3959# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3961# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3963# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3966# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3967#if defined(MFC_OpenACC)
3968# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3970# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3971#elif defined(MFC_OpenMP)
3972# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3974# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3976# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3977 do i = 1, eqn_idx%cont%end
3979# 694 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3982# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3983#if defined(MFC_OpenACC)
3984# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3986# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3987#elif defined(MFC_OpenMP)
3988# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3990# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3992# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
3995# 698 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4000# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4002# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4003#if defined(MFC_OpenACC)
4004# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4006# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4007#elif defined(MFC_OpenMP)
4008# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4010# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4012# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4013 do i = 1, eqn_idx%adv%end - eqn_idx%E
4015# 705 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4020# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4021#if defined(MFC_OpenACC)
4022# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4024# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4025#elif defined(MFC_OpenMP)
4026# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4028# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4030# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4031 do i = 1, num_species
4033# 711 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4040 lambda(1) = vel(dir_idx(1)) - c
4041 lambda(2) = vel(dir_idx(1))
4042 lambda(3) = vel(dir_idx(1)) + c
4044 ma = vel(dir_idx(1))/c
4046 if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
4047# 724 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4048 & .and. bc_y%end == bc_char_slip_wall))
then
4049# 725 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4050 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4051 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
4052# 727 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4053 & .and. bc_y%end == bc_char_nr_sub_buffer))
then
4054# 728 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4055 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4056 & dvel_ds, dadv_ds, dys_ds)
4057 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
4058# 731 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4059 & .and. bc_y%end == bc_char_nr_sub_inflow))
then
4060# 732 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4061 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
4063 if (bc_y%grcbc_in)
then
4064# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4066# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4067#if defined(MFC_OpenACC)
4068# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4070# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4071#elif defined(MFC_OpenMP)
4072# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4074# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4076# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4077 do i = 2, eqn_idx%mom%beg
4078 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
4080# 739 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4083 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) - ramp*
vel_in(2, &
4084# 742 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4086# 743 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4088 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) - ramp*
vel_in(2, &
4089# 745 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4091# 746 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4095# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4096#if defined(MFC_OpenACC)
4097# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4099# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4100#elif defined(MFC_OpenMP)
4101# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4103# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4105# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4106 do i = eqn_idx%E, eqn_idx%adv%end - 1
4107 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
4109# 752 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4111 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) + ramp*
vel_in(2, &
4112# 754 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4113 & dir_idx(1))*sign(1, &
4115# 756 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4117 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
4118# 758 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4119 & .and. bc_y%end == bc_char_nr_sub_outflow))
then
4120# 759 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4121 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4122 & dvel_ds, dadv_ds, dys_ds)
4124 if (bc_y%grcbc_out)
then
4125# 763 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4127# 764 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4130 if (bc_y%grcbc_vel_out)
then
4131# 767 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4132 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
4134# 769 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4137 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
4138# 772 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4139 & .and. bc_y%end == bc_char_ff_sub_outflow))
then
4140# 773 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4141 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
4143 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
4144# 776 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4145 & .and. bc_y%end == bc_char_cp_sub_outflow))
then
4146# 777 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4147 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
4149 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
4150# 780 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4151 & .and. bc_y%end == bc_char_sup_inflow))
then
4152# 781 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4153 call s_compute_supersonic_inflow_l(
l)
4154 else if ((
cbc_loc == -1 .and. bc_y%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
4155# 783 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4156 & .and. bc_y%end == bc_char_sup_outflow))
then
4157# 784 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4158 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
4164 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
4166 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
4170# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4171#if defined(MFC_OpenACC)
4172# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4174# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4175#elif defined(MFC_OpenMP)
4176# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4178# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4180# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4181 do i = 1, eqn_idx%cont%end
4182 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
4186# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4187#if defined(MFC_OpenACC)
4188# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4190# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4191#elif defined(MFC_OpenMP)
4192# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4194# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4196# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4198 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
4199 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
4202 vel_dv_dt_sum = 0._wp
4204# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4205#if defined(MFC_OpenACC)
4206# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4208# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4209#elif defined(MFC_OpenMP)
4210# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4212# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4214# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4216 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
4221# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4222#if defined(MFC_OpenACC)
4223# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4225# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4226#elif defined(MFC_OpenMP)
4227# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4229# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4231# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4232 do i = 1, num_species
4233 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
4240# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4241#if defined(MFC_OpenACC)
4242# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4244# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4245#elif defined(MFC_OpenMP)
4246# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4248# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4250# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4251 do i = 1, eqn_idx%adv%end - eqn_idx%E
4252 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4256# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4257#if defined(MFC_OpenACC)
4258# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4260# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4261#elif defined(MFC_OpenMP)
4262# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4264# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4266# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4267 do i = 1, eqn_idx%adv%end - eqn_idx%E
4268 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
4272 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
4274 if (model_eqns == model_eqns_gamma_law)
then
4275 drho_dt = dalpha_rho_dt(1)
4276 dgamma_dt = dadv_dt(1)
4277# 838 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4278 dpi_inf_dt = dadv_dt(2)
4279# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4281 call s_compute_mixture_coefficients_dt(dalpha_rho_dt, dadv_dt, alpha_rho, adv_local, drho_dt, &
4282 & dgamma_dt, dpi_inf_dt, dqv_dt)
4287# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4288#if defined(MFC_OpenACC)
4289# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4291# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4292#elif defined(MFC_OpenMP)
4293# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4295# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4297# 847 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4298 do i = 1, eqn_idx%cont%end
4300# 849 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4304# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4305#if defined(MFC_OpenACC)
4306# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4308# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4309#elif defined(MFC_OpenMP)
4310# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4312# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4314# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4315 do i = eqn_idx%mom%beg, eqn_idx%mom%end
4317# 854 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4318 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
4324 call get_species_enthalpies_rt(t, h_k)
4325 sum_enthalpies = 0._wp
4327# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4328#if defined(MFC_OpenACC)
4329# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4331# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4332#elif defined(MFC_OpenMP)
4333# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4335# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4337# 863 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4338 do i = 1, num_species
4339 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
4340 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
4343# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4344 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
4345 & /(c*c) + sum_enthalpies)
4347# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4348#if defined(MFC_OpenACC)
4349# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4351# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4352#elif defined(MFC_OpenMP)
4353# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4355# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4357# 871 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4358 do i = 1, num_species
4360# 873 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4361 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
4365# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4366 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
4367 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
4372 if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface)
then
4374# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4375#if defined(MFC_OpenACC)
4376# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4378# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4379#elif defined(MFC_OpenMP)
4380# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4382# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4384# 885 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4385 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4387# 887 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4391# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4392#if defined(MFC_OpenACC)
4393# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4395# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4396#elif defined(MFC_OpenMP)
4397# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4399# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4401# 890 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4402 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4403 flux_src_rsy_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
4404# 892 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4406# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4408# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4409 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
4413# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4414#if defined(MFC_OpenACC)
4415# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4417# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4418#elif defined(MFC_OpenMP)
4419# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4421# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4423# 898 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4424 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4426# 900 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4430# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4431#if defined(MFC_OpenACC)
4432# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4434# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4435#elif defined(MFC_OpenMP)
4436# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4438# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4440# 903 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4441 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4443# 905 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4450# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4451#if defined(MFC_OpenACC)
4452# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4454# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4455#elif defined(MFC_OpenMP)
4456# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4458# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4460# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4462# 911 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4464# 528 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4465 if (
cbc_dir == 3 .and. recon_type == recon_type_weno)
then
4466# 529 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4468 if (weno_order == 3)
then
4470# 532 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4471 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
4474# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4476# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4477#if defined(MFC_OpenACC)
4478# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4480# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4481#elif defined(MFC_OpenMP)
4482# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4484# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4486# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4488# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4490# 534 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4492# 535 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4497# 539 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4499# 540 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4504# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4505#if defined(MFC_OpenACC)
4506# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4508# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4509#elif defined(MFC_OpenMP)
4510# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4512# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4514# 543 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4516# 544 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4519# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4521# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4522#if defined(MFC_OpenACC)
4523# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4525# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4526#elif defined(MFC_OpenMP)
4527# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4529# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4531# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4533# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4535# 545 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4537# 546 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4538 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4542# 550 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4544# 551 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4549# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4550#if defined(MFC_OpenACC)
4551# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4553# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4554#elif defined(MFC_OpenMP)
4555# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4557# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4559# 554 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4561# 555 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4565 if (weno_order == 5)
then
4567# 560 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4568 &
is3, idwbuff(2)%beg, idwbuff(3)%beg, dir_idx, dir_flg, hll_u_interface)
4571# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4573# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4574#if defined(MFC_OpenACC)
4575# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4577# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4578#elif defined(MFC_OpenMP)
4579# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4581# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4583# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4585# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4587# 562 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4589# 563 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4595# 568 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4597# 569 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4599# 570 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4601# 571 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4603# 572 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4609# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4610#if defined(MFC_OpenACC)
4611# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4613# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4614#elif defined(MFC_OpenMP)
4615# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4617# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4619# 576 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4621# 577 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4624# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4626# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4627#if defined(MFC_OpenACC)
4628# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4630# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4631#elif defined(MFC_OpenMP)
4632# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4634# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4636# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4638# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4640# 578 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4642# 579 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4643 do i = eqn_idx%adv%beg, eqn_idx%adv%end
4648# 584 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4650# 585 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4652# 586 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4654# 587 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4656# 588 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4663# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4664#if defined(MFC_OpenACC)
4665# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4667# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4668#elif defined(MFC_OpenMP)
4669# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4671# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4673# 593 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4675# 594 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4680# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4682# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4683#if defined(MFC_OpenACC)
4684# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4686# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4688# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4690# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4691#elif defined(MFC_OpenMP)
4692# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4694# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4696# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4698# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4700# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4702# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4704# 597 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4706# 602 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4711 ramp = f_vel_ramp(bc_z%vel_in_ramp, bc_z%vel_in_t0, bc_z%vel_in_frac0, mytime)
4712# 607 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4716# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4717#if defined(MFC_OpenACC)
4718# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4720# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4721#elif defined(MFC_OpenMP)
4722# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4724# 609 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4726# 610 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4727 do i = 1, eqn_idx%cont%end
4729# 612 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4733# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4734#if defined(MFC_OpenACC)
4735# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4737# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4738#elif defined(MFC_OpenMP)
4739# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4741# 614 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4743# 615 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4746# 617 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4751# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4752#if defined(MFC_OpenACC)
4753# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4755# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4756#elif defined(MFC_OpenMP)
4757# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4759# 620 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4761# 621 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4763 vel_k_sum = vel_k_sum + vel(i)**2._wp
4767# 626 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4770# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4771#if defined(MFC_OpenACC)
4772# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4774# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4775#elif defined(MFC_OpenMP)
4776# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4778# 627 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4780# 628 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4781 do i = 1, eqn_idx%adv%end - eqn_idx%E
4783# 630 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4786 call s_convert_species_to_mixture_variables_kernel(rho, gamma, pi_inf, qv, adv_local, alpha_rho, re_cbc)
4789# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4790#if defined(MFC_OpenACC)
4791# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4793# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4794#elif defined(MFC_OpenMP)
4795# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4797# 634 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4799# 635 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4800 do i = 1, eqn_idx%cont%end
4801 mf(i) = alpha_rho(i)/rho
4806# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4807#if defined(MFC_OpenACC)
4808# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4810# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4811#elif defined(MFC_OpenMP)
4812# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4814# 640 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4816# 641 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4817 do i = eqn_idx%species%beg, eqn_idx%species%end
4819# 643 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4822 call get_mixture_molecular_weight(ys, mw)
4823 r_gas = gas_constant/mw
4825 call get_mixture_caloric_state(t, ys, cp_i, cp, cv, e_mix)
4826 e = rho*e_mix + 5.e-1_wp*rho*vel_k_sum
4827 if (chem_params%gamma_method == 1)
then
4829 call get_mole_fractions(mw, ys, xs)
4830 gamma_i(1:num_species) = cp_i(1:num_species)/(cp_i(1:num_species) - 1.0_wp)
4831 gamma = sum(xs(1:num_species)/(gamma_i(1:num_species) - 1.0_wp))
4832 else if (chem_params%gamma_method == 2)
then
4834 gamma = 1.0_wp/(cp/cv - 1.0_wp)
4839 call s_compute_speed_of_sound(pres, rho, gamma, pi_inf, adv_local, c, alpha_rho)
4844# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4845#if defined(MFC_OpenACC)
4846# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4848# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4849#elif defined(MFC_OpenMP)
4850# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4852# 666 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4854# 667 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4855 do i = 1, eqn_idx%cont%end
4856 dalpha_rho_ds(i) = 0._wp
4860# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4861#if defined(MFC_OpenACC)
4862# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4864# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4865#elif defined(MFC_OpenMP)
4866# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4868# 671 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4870# 672 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4877# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4878#if defined(MFC_OpenACC)
4879# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4881# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4882#elif defined(MFC_OpenMP)
4883# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4885# 677 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4887# 678 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4888 do i = 1, eqn_idx%adv%end - eqn_idx%E
4894# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4895#if defined(MFC_OpenACC)
4896# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4898# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4899#elif defined(MFC_OpenMP)
4900# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4902# 683 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4904# 684 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4905 do i = 1, num_species
4911# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4912#if defined(MFC_OpenACC)
4913# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4915# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4916#elif defined(MFC_OpenMP)
4917# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4919# 689 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4921# 690 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4924# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4925#if defined(MFC_OpenACC)
4926# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4928# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4929#elif defined(MFC_OpenMP)
4930# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4932# 691 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4934# 692 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4935 do i = 1, eqn_idx%cont%end
4937# 694 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4940# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4941#if defined(MFC_OpenACC)
4942# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4944# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4945#elif defined(MFC_OpenMP)
4946# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4948# 695 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4950# 696 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4953# 698 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4958# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4960# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4961#if defined(MFC_OpenACC)
4962# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4964# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4965#elif defined(MFC_OpenMP)
4966# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4968# 702 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4970# 703 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4971 do i = 1, eqn_idx%adv%end - eqn_idx%E
4973# 705 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4978# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4979#if defined(MFC_OpenACC)
4980# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4982# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4983#elif defined(MFC_OpenMP)
4984# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4986# 708 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4988# 709 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4989 do i = 1, num_species
4991# 711 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
4998 lambda(1) = vel(dir_idx(1)) - c
4999 lambda(2) = vel(dir_idx(1))
5000 lambda(3) = vel(dir_idx(1)) + c
5002 ma = vel(dir_idx(1))/c
5004 if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_slip_wall) .or. (
cbc_loc == 1 &
5005# 724 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5006 & .and. bc_z%end == bc_char_slip_wall))
then
5007# 725 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5008 call s_compute_slip_wall_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
5009 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_buffer) .or. (
cbc_loc == 1 &
5010# 727 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5011 & .and. bc_z%end == bc_char_nr_sub_buffer))
then
5012# 728 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5013 call s_compute_nonreflecting_subsonic_buffer_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
5014 & dvel_ds, dadv_ds, dys_ds)
5015 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_inflow) .or. (
cbc_loc == 1 &
5016# 731 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5017 & .and. bc_z%end == bc_char_nr_sub_inflow))
then
5018# 732 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5019 call s_compute_nonreflecting_subsonic_inflow_l(lambda,
l, rho, c, dpres_ds, dvel_ds)
5021 if (bc_z%grcbc_in)
then
5022# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5024# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5025#if defined(MFC_OpenACC)
5026# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5028# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5029#elif defined(MFC_OpenMP)
5030# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5032# 735 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5034# 736 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5035 do i = 2, eqn_idx%mom%beg
5036 l(i) = c**3._wp*ma*(alpha_rho(i - 1) -
alpha_rho_in(i - 1, &
5038# 739 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5041 l(eqn_idx%mom%beg + 1) = c*ma*(vel(dir_idx(2)) - ramp*
vel_in(3, &
5042# 742 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5044# 743 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5046 l(eqn_idx%mom%beg + 2) = c*ma*(vel(dir_idx(3)) - ramp*
vel_in(3, &
5047# 745 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5049# 746 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5053# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5054#if defined(MFC_OpenACC)
5055# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5057# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5058#elif defined(MFC_OpenMP)
5059# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5061# 748 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5063# 749 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5064 do i = eqn_idx%E, eqn_idx%adv%end - 1
5065 l(i) = c*ma*(adv_local(i + 1 - eqn_idx%E) -
alpha_in(i + 1 - eqn_idx%E, &
5067# 752 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5069 l(eqn_idx%adv%end) = rho*c**2._wp*(1._wp + ma)*(vel(dir_idx(1)) + ramp*
vel_in(3, &
5070# 754 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5071 & dir_idx(1))*sign(1, &
5073# 756 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5075 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_nr_sub_outflow) .or. (
cbc_loc == 1 &
5076# 758 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5077 & .and. bc_z%end == bc_char_nr_sub_outflow))
then
5078# 759 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5079 call s_compute_nonreflecting_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
5080 & dvel_ds, dadv_ds, dys_ds)
5082 if (bc_z%grcbc_out)
then
5083# 763 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5085# 764 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5088 if (bc_z%grcbc_vel_out)
then
5089# 767 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5090 l(eqn_idx%adv%end) =
l(eqn_idx%adv%end) + rho*c**2._wp*(1._wp - ma)*(vel(dir_idx(1)) &
5092# 769 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5095 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_ff_sub_outflow) .or. (
cbc_loc == 1 &
5096# 772 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5097 & .and. bc_z%end == bc_char_ff_sub_outflow))
then
5098# 773 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5099 call s_compute_force_free_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, &
5101 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_cp_sub_outflow) .or. (
cbc_loc == 1 &
5102# 776 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5103 & .and. bc_z%end == bc_char_cp_sub_outflow))
then
5104# 777 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5105 call s_compute_constant_pressure_subsonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, &
5107 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_inflow) .or. (
cbc_loc == 1 &
5108# 780 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5109 & .and. bc_z%end == bc_char_sup_inflow))
then
5110# 781 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5111 call s_compute_supersonic_inflow_l(
l)
5112 else if ((
cbc_loc == -1 .and. bc_z%beg == bc_char_sup_outflow) .or. (
cbc_loc == 1 &
5113# 783 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5114 & .and. bc_z%end == bc_char_sup_outflow))
then
5115# 784 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5116 call s_compute_supersonic_outflow_l(lambda,
l, rho, c, mf, dalpha_rho_ds, dpres_ds, dvel_ds, dadv_ds, &
5122 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1)) + rho*c*c*vel(dir_idx(1))/y_cc(n)
5124 dpres_dt = -5.e-1_wp*(
l(eqn_idx%adv%end) +
l(1))
5128# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5129#if defined(MFC_OpenACC)
5130# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5132# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5133#elif defined(MFC_OpenMP)
5134# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5136# 795 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5138# 796 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5139 do i = 1, eqn_idx%cont%end
5140 dalpha_rho_dt(i) = -(
l(i + 1) - mf(i)*dpres_dt)/(c*c)
5144# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5145#if defined(MFC_OpenACC)
5146# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5148# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5149#elif defined(MFC_OpenMP)
5150# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5152# 800 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5154# 801 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5156 dvel_dt(dir_idx(i)) = dir_flg(dir_idx(i))*(
l(1) -
l(eqn_idx%adv%end))/(2._wp*rho*c) &
5157 & + (dir_flg(dir_idx(i)) - 1._wp)*
l(eqn_idx%mom%beg + i - 1)
5160 vel_dv_dt_sum = 0._wp
5162# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5163#if defined(MFC_OpenACC)
5164# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5166# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5167#elif defined(MFC_OpenMP)
5168# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5170# 807 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5172# 808 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5174 vel_dv_dt_sum = vel_dv_dt_sum + vel(i)*dvel_dt(i)
5179# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5180#if defined(MFC_OpenACC)
5181# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5183# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5184#elif defined(MFC_OpenMP)
5185# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5187# 813 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5189# 814 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5190 do i = 1, num_species
5191 dys_dt(i) = -1._wp*
l(eqn_idx%species%beg + i - 1)
5198# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5199#if defined(MFC_OpenACC)
5200# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5202# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5203#elif defined(MFC_OpenMP)
5204# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5206# 821 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5208# 822 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5209 do i = 1, eqn_idx%adv%end - eqn_idx%E
5210 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
5214# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5215#if defined(MFC_OpenACC)
5216# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5218# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5219#elif defined(MFC_OpenMP)
5220# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5222# 826 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5224# 827 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5225 do i = 1, eqn_idx%adv%end - eqn_idx%E
5226 dadv_dt(i) = -
l(eqn_idx%mom%end + i)
5230 drho_dt = 0._wp; dgamma_dt = 0._wp; dpi_inf_dt = 0._wp; dqv_dt = 0._wp
5232 if (model_eqns == model_eqns_gamma_law)
then
5233 drho_dt = dalpha_rho_dt(1)
5234 dgamma_dt = dadv_dt(1)
5235# 838 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5236 dpi_inf_dt = dadv_dt(2)
5237# 840 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5239 call s_compute_mixture_coefficients_dt(dalpha_rho_dt, dadv_dt, alpha_rho, adv_local, drho_dt, &
5240 & dgamma_dt, dpi_inf_dt, dqv_dt)
5245# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5246#if defined(MFC_OpenACC)
5247# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5249# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5250#elif defined(MFC_OpenMP)
5251# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5253# 846 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5255# 847 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5256 do i = 1, eqn_idx%cont%end
5258# 849 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5262# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5263#if defined(MFC_OpenACC)
5264# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5266# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5267#elif defined(MFC_OpenMP)
5268# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5270# 851 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5272# 852 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5273 do i = eqn_idx%mom%beg, eqn_idx%mom%end
5275# 854 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5276 & i) +
ds(0)*(vel(i - eqn_idx%cont%end)*drho_dt + rho*dvel_dt(i - eqn_idx%cont%end))
5282 call get_species_enthalpies_rt(t, h_k)
5283 sum_enthalpies = 0._wp
5285# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5286#if defined(MFC_OpenACC)
5287# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5289# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5290#elif defined(MFC_OpenMP)
5291# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5293# 862 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5295# 863 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5296 do i = 1, num_species
5297 h_k(i) = h_k(i)*gas_constant/molecular_weights(i)*t
5298 sum_enthalpies = sum_enthalpies + (rho*h_k(i) - pres*mw/molecular_weights(i)*cp/r_gas)*dys_dt(i)
5301# 868 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5302 & eqn_idx%E) +
ds(0)*((e/rho + pres/rho)*drho_dt + rho*vel_dv_dt_sum + cp*t*
l(2) &
5303 & /(c*c) + sum_enthalpies)
5305# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5306#if defined(MFC_OpenACC)
5307# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5309# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5310#elif defined(MFC_OpenMP)
5311# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5313# 870 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5315# 871 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5316 do i = 1, num_species
5318# 873 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5319 & eqn_idx%species%beg + i - 1) +
ds(0)*(drho_dt*ys(i) + rho*dys_dt(i))
5323# 877 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5324 & eqn_idx%E) +
ds(0)*(pres*dgamma_dt + gamma*dpres_dt + dpi_inf_dt + dqv_dt &
5325 & + rho*vel_dv_dt_sum + 5.e-1_wp*drho_dt*vel_k_sum)
5330 if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface)
then
5332# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5333#if defined(MFC_OpenACC)
5334# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5336# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5337#elif defined(MFC_OpenMP)
5338# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5340# 884 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5342# 885 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5343 do i = eqn_idx%adv%beg, eqn_idx%adv%end
5345# 887 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5349# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5350#if defined(MFC_OpenACC)
5351# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5353# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5354#elif defined(MFC_OpenMP)
5355# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5357# 889 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5359# 890 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5360 do i = eqn_idx%adv%beg, eqn_idx%adv%end
5361 flux_src_rsz_vf_l(-1,
k, r, i) = 1._wp/max(abs(vel(dir_idx(1))), sgm_eps)*sign(1._wp, &
5362# 892 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5364# 893 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5366# 894 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5367 & i) +
ds(0)*dadv_dt(i - eqn_idx%E))
5371# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5372#if defined(MFC_OpenACC)
5373# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5375# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5376#elif defined(MFC_OpenMP)
5377# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5379# 897 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5381# 898 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5382 do i = eqn_idx%adv%beg, eqn_idx%adv%end
5384# 900 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5388# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5389#if defined(MFC_OpenACC)
5390# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5392# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5393#elif defined(MFC_OpenMP)
5394# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5396# 902 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5398# 903 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5399 do i = eqn_idx%adv%beg, eqn_idx%adv%end
5401# 905 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5408# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5409#if defined(MFC_OpenACC)
5410# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5412# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5413#elif defined(MFC_OpenMP)
5414# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5416# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5418# 910 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5420# 911 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"
5422# 913 "/home/runner/work/MFC/MFC/src/simulation/m_cbc.fpp"