jacobian_channel Subroutine

public subroutine jacobian_channel(i, Cons, Jacob)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
real(kind=dp), intent(in), dimension(:,:) :: Cons
real(kind=dp), intent(inout), dimension(:,:,:) :: Jacob

Called by

proc~~jacobian_channel~~CalledByGraph proc~jacobian_channel jacobian_channel proc~he_riemann_solver_channel He_Riemann_solver_channel proc~he_riemann_solver_channel->proc~jacobian_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 jacobian_channel(i,Cons,Jacob)
    integer, intent(in) :: i
    real(dp), dimension(:,:), intent(in) :: Cons
    real(dp), dimension(:,:,:), intent(inout) :: Jacob

    real(dp), dimension(Nb_VarC) :: U

    U(:)=Cons(:,i)

    Jacob(1,1,i)=0.0_dp
    Jacob(2,1,i)=1.0_dp
    Jacob(3,1,i)=0.0_dp
    Jacob(4,1,i)=0.0_dp

    Jacob(1,2,i)=-(3.0_dp/2.0_dp)*((U(2)**2)/(U(1)**2))
    Jacob(2,2,i)=3.0_dp*U(2)/U(1)
    Jacob(3,2,i)=-1.0_dp
    Jacob(4,2,i)=1.0_dp

    Jacob(1,3,i)=-U(4)*U(2)/(U(1)**2)-((U(2)**3)/(U(1)**3))
    Jacob(2,3,i)=U(4)/U(1)+(3.0_dp/2.0_dp)*((U(2)**2)/(U(1)**2))
    Jacob(3,3,i)=0.0_dp
    Jacob(4,3,i)=U(2)/U(1)
    
    Jacob(1,4,i)=-U(4)*U(2)/(U(1)**2)
    Jacob(2,4,i)=U(4)/U(1)
    Jacob(3,4,i)=0.0_dp
    Jacob(4,4,i)=U(2)/U(1)
      
end subroutine jacobian_channel