minmod Function

private pure function minmod(a, b)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: a
real(kind=dp), intent(in) :: b

Return Value real(kind=dp)


Called by

proc~~minmod~3~~CalledByGraph proc~minmod~3 minmod proc~muscl_reconstruct_prim~3 muscl_reconstruct_prim proc~muscl_reconstruct_prim~3->proc~minmod~3 proc~reconflux_muscl_hll_prim~3 reconflux_muscl_hll_prim proc~reconflux_muscl_hll_prim~3->proc~muscl_reconstruct_prim~3 proc~reconflux_muscl_hllc_prim~3 reconflux_muscl_hllc_prim proc~reconflux_muscl_hllc_prim~3->proc~muscl_reconstruct_prim~3 proc~reconflux_muscl_llf_prim~3 reconflux_muscl_llf_prim proc~reconflux_muscl_llf_prim~3->proc~muscl_reconstruct_prim~3 proc~finite_volume_local_muscl_hllc~3 finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc~3->proc~reconflux_muscl_hllc_prim~3 proc~finite_volume_local_muscl_hll~3 finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll~3->proc~reconflux_muscl_hll_prim~3 proc~finite_volume_local_muscl_llf~3 finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf~3->proc~reconflux_muscl_llf_prim~3 proc~finite_volume_local~3 finite_volume_local proc~finite_volume_local~3->proc~finite_volume_local_muscl_hllc~3 proc~finite_volume_local~3->proc~finite_volume_local_muscl_hll~3 proc~finite_volume_local~3->proc~finite_volume_local_muscl_llf~3

Source Code

  pure real(dp) function minmod(a, b)
    
    real(dp), intent(in) :: a, b

    if (a * b <= 0) then
       minmod = 0.0_dp
    else if (abs(a) < abs(b)) then
       minmod = a
    else
       minmod = b
    end if
  end function minmod