jacobian_star Subroutine

public subroutine jacobian_star(Cons_star, Jacob_star)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:) :: Cons_star
real(kind=dp), intent(out), dimension(:,:) :: Jacob_star

Called by

proc~~jacobian_star~~CalledByGraph proc~jacobian_star jacobian_star proc~incoming_branch_cold_circulator incoming_branch_cold_circulator proc~incoming_branch_cold_circulator->proc~jacobian_star proc~outgoing_branch_cold_circulator outgoing_branch_cold_circulator proc~outgoing_branch_cold_circulator->proc~jacobian_star proc~circulator_resolution_from_and_to_ports circulator_resolution_from_and_to_ports proc~circulator_resolution_from_and_to_ports->proc~incoming_branch_cold_circulator proc~circulator_resolution_from_and_to_ports->proc~outgoing_branch_cold_circulator proc~main_loop main_loop proc~main_loop->proc~circulator_resolution_from_and_to_ports program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine jacobian_star(Cons_star,Jacob_star)
      
        real(dp), dimension(:), intent(in) :: Cons_star
        real(dp), dimension(:,:), intent(out) :: Jacob_star
    
        real(dp), dimension(Nb_VarC) :: U 
    
        U(:)=Cons_star(:)
    
        Jacob_star(1,1)=0.0_dp
        Jacob_star(2,1)=1.0_dp
        Jacob_star(3,1)=0.0_dp
        Jacob_star(4,1)=0.0_dp
    
        Jacob_star(1,2)=-(3.0_dp/2.0_dp)*((U(2)**2)/(U(1)**2))
        Jacob_star(2,2)=3.0_dp*U(2)/U(1)
        Jacob_star(3,2)=-1.0_dp
        Jacob_star(4,2)=1.0_dp
    
        Jacob_star(1,3)=-U(4)*U(2)/(U(1)**2)-((U(2)**3)/(U(1)**3))
        Jacob_star(2,3)=U(4)/U(1)+(3.0_dp/2.0_dp)*((U(2)**2)/(U(1)**2))
        Jacob_star(3,3)=0.0_dp
        Jacob_star(4,3)=U(2)/U(1)
        
        Jacob_star(1,4)=-U(4)*U(2)/(U(1)**2)
        Jacob_star(2,4)=U(4)/U(1)
        Jacob_star(3,4)=0.0_dp
        Jacob_star(4,4)=U(2)/U(1)
        
end subroutine jacobian_star