jacobian_star_loc Subroutine

public subroutine jacobian_star_loc(U, Jacob_star)

private called by junction solve

Arguments

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

Called by

proc~~jacobian_star_loc~~CalledByGraph proc~jacobian_star_loc jacobian_star_loc proc~solve_junction solve_junction proc~solve_junction->proc~jacobian_star_loc proc~junction_resolution_from_and_to_ports Junction_resolution_from_and_to_ports proc~junction_resolution_from_and_to_ports->proc~solve_junction proc~main_loop main_loop proc~main_loop->proc~junction_resolution_from_and_to_ports program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine jacobian_star_loc(U,Jacob_star)
    !! private called by junction solve
    real(dp), intent(in) :: U(:)
    real(dp), intent(out) :: Jacob_star(:,:)

    Jacob_star      = 0.0_dp
    Jacob_star(2,1) = 1.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(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(4,4) =  U(2) / U(1)  
end subroutine jacobian_star_loc