He_Riemann_solver_channel Subroutine

public subroutine He_Riemann_solver_channel(me, sim)

Arguments

Type IntentOptional Attributes Name
type(channel_t), intent(inout) :: me
type(simulation_t), intent(in) :: sim

Calls

proc~~he_riemann_solver_channel~~CallsGraph proc~he_riemann_solver_channel He_Riemann_solver_channel proc~flux_internal_calculation_channel flux_internal_calculation_channel proc~he_riemann_solver_channel->proc~flux_internal_calculation_channel proc~jacobian_channel jacobian_channel proc~he_riemann_solver_channel->proc~jacobian_channel proc~jacobian_channel_req_rem jacobian_channel_Req_rem proc~he_riemann_solver_channel->proc~jacobian_channel_req_rem proc~states_l_and_r_channel states_L_and_R_channel proc~he_riemann_solver_channel->proc~states_l_and_r_channel proc~set_error set_error proc~flux_internal_calculation_channel->proc~set_error proc~wave_speed_calculation_channel wave_speed_calculation_channel proc~flux_internal_calculation_channel->proc~wave_speed_calculation_channel proc~jacobian_rot jacobian_roT proc~jacobian_channel_req_rem->proc~jacobian_rot proc~eos_terms eos_terms proc~jacobian_rot->proc~eos_terms proc~eos_e_terms eos_e_terms proc~eos_terms->proc~eos_e_terms proc~fill_f_terms fill_f_terms proc~eos_terms->proc~fill_f_terms proc~fill_e_tpart fill_e_Tpart proc~eos_e_terms->proc~fill_e_tpart proc~fill_ff_terms fill_ff_terms proc~eos_e_terms->proc~fill_ff_terms proc~fill_g_dreg_terms fill_g_Dreg_terms proc~fill_e_tpart->proc~fill_g_dreg_terms

Called by

proc~~he_riemann_solver_channel~~CalledByGraph proc~he_riemann_solver_channel He_Riemann_solver_channel proc~main_loop main_loop proc~main_loop->proc~he_riemann_solver_channel program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine He_Riemann_solver_channel(me,sim)
    type(channel_t), intent(inout) :: me
    type(simulation_t), intent(in) :: sim
  
    type(cell_state_t) :: Cell_L,Cell_R
    real(dp) :: dtMaxLoc
    integer :: i,imPP
      
    me%big%Jacob=0.0_dp
    me%wave_time = 1.0e30_dp

    imPP=me%HeProp%NbCells
      
    do i=1,imPP     
        call jacobian_channel_Req_rem(i,me%StVar%He_pr,me%big%Jacob)
        if(R_Correction) call jacobian_channel(i,me%StVar%He_cs,me%big%Jacob)
    enddo

    do i=1,imPP-1
        call states_L_and_R_channel(me,i,Cell_L,Cell_R)
        call flux_internal_calculation_channel(i,me%HeProp,Cell_L,Cell_R,dtMaxLoc,me%flxHe,sim)
        if (sim_error > 0) return

        me%wave_time = min(abs(dtMaxLoc),me%wave_time)    
    enddo
      
end subroutine He_Riemann_solver_channel