jacobian_star_Req_rem Subroutine

public subroutine jacobian_star_Req_rem(PrimStar, Jacob_star)

Arguments

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

Calls

proc~~jacobian_star_req_rem~2~~CallsGraph proc~jacobian_star_req_rem~2 jacobian_star_Req_rem proc~jacobian_rot jacobian_roT proc~jacobian_star_req_rem~2->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~2~~CalledByGraph proc~jacobian_star_req_rem~2 jacobian_star_Req_rem proc~solve_boundary_mt solve_boundary_MT proc~solve_boundary_mt->proc~jacobian_star_req_rem~2 proc~solve_boundary_pt solve_boundary_PT proc~solve_boundary_pt->proc~jacobian_star_req_rem~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_Req_rem(PrimStar,Jacob_star)
  real(dp), dimension(:), intent(in) :: PrimStar
  real(dp), dimension(:,:), intent(out) :: Jacob_star

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

  HH=PrimStar(Pri_e)+0.5_dp*PrimStar(Pri_u)**2+PrimStar(Pri_p)/PrimStar(Pri_ro)
  call jacobian_roT(PrimStar(Pri_ro), PrimStar(Pri_T), dedT, dPdT)
  dPde=dPdT/dedT
  kk=dPde/PrimStar(Pri_ro)
  KKK=PrimStar(Pri_c)**2+kk*(PrimStar(Pri_u)**2-HH)

  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)=KKK-PrimStar(Pri_u)**2
  Jacob_star(2,2)=PrimStar(Pri_u)*(2.0_dp-kk)
  Jacob_star(3,2)=kk
  Jacob_star(4,2)=0.0_dp

  Jacob_star(1,3)=(KKK-HH)*PrimStar(Pri_u)
  Jacob_star(2,3)=HH-kk*PrimStar(Pri_u)**2
  Jacob_star(3,3)=PrimStar(Pri_u)*(1.0_dp+kk)
  Jacob_star(4,3)=0.0_dp
  
  Jacob_star(1,4)=0.0_dp
  Jacob_star(2,4)=0.0_dp
  Jacob_star(3,4)=0.0_dp
  Jacob_star(4,4)=0.0_dp
end subroutine jacobian_star_Req_rem