jacobian_star_Req_rem_loc Subroutine

public subroutine jacobian_star_Req_rem_loc(PPP, Jacob_star)

private called by junction solve

Arguments

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

Calls

proc~~jacobian_star_req_rem_loc~~CallsGraph proc~jacobian_star_req_rem_loc jacobian_star_Req_rem_loc proc~jacobian_rot jacobian_roT proc~jacobian_star_req_rem_loc->proc~jacobian_rot proc~eos_terms eos_terms proc~jacobian_rot->proc~eos_terms proc~eos_e_terms eos_e_terms proc~eos_terms->proc~eos_e_terms proc~fill_f_terms fill_f_terms proc~eos_terms->proc~fill_f_terms proc~fill_e_tpart fill_e_Tpart proc~eos_e_terms->proc~fill_e_tpart proc~fill_ff_terms fill_ff_terms proc~eos_e_terms->proc~fill_ff_terms proc~fill_g_dreg_terms fill_g_Dreg_terms proc~fill_e_tpart->proc~fill_g_dreg_terms

Called by

proc~~jacobian_star_req_rem_loc~~CalledByGraph proc~jacobian_star_req_rem_loc jacobian_star_Req_rem_loc proc~solve_junction solve_junction proc~solve_junction->proc~jacobian_star_req_rem_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_Req_rem_loc(PPP, Jacob_star)
    !! private called by junction solve
    real(dp), intent(in)  :: PPP(Nb_VarP)
    real(dp), intent(out) :: Jacob_star(Nb_VarC,Nb_VarC)

    real(dp) :: HH,kk,KKK,dPde,dPdT,dedT

    HH = PPP(Pri_e) + 0.5_dp * PPP(Pri_u)**2 + PPP(Pri_p) / PPP(Pri_ro)
    call jacobian_roT(PPP(Pri_ro), PPP(Pri_T), dedT, dPdT)
    dPde = dPdT / dedT
    kk   = dPde / PPP(Pri_ro)
    KKK  = PPP(Pri_c)**2 + kk * (PPP(Pri_u)**2 - HH)
      
    Jacob_star      = 0.0_dp
    Jacob_star(2,1) = 1.0_dp
      
    Jacob_star(1,2) = KKK - PPP(Pri_u)**2
    Jacob_star(2,2) = PPP(Pri_u) * (2.0_dp - kk)
    Jacob_star(3,2) = kk
      
    Jacob_star(1,3) = (KKK-HH) * PPP(Pri_u)
    Jacob_star(2,3) = HH - kk * PPP(Pri_u)**2
    Jacob_star(3,3) = PPP(Pri_u) * (1.0_dp + kk)          
end subroutine jacobian_star_Req_rem_loc