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~2~~CalledByGraph proc~jacobian_star~2 jacobian_star proc~solve_boundary_mt solve_boundary_MT proc~solve_boundary_mt->proc~jacobian_star~2 proc~solve_boundary_pt solve_boundary_PT proc~solve_boundary_pt->proc~jacobian_star~2 proc~boundary_resolution_from_and_to_ports boundary_resolution_from_and_to_ports proc~boundary_resolution_from_and_to_ports->proc~solve_boundary_mt proc~boundary_resolution_from_and_to_ports->proc~solve_boundary_pt proc~main_loop main_loop proc~main_loop->proc~boundary_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