circulator_dynamic_parameters_df Function

public function circulator_dynamic_parameters_df(dynamic, x)

Type Bound

circulator_dynamic_parameters_t

Arguments

Type IntentOptional Attributes Name
class(circulator_dynamic_parameters_t), intent(inout) :: dynamic
real(kind=dp), intent(inout) :: x

Return Value real(kind=dp)


Calls

proc~~circulator_dynamic_parameters_df~~CallsGraph proc~circulator_dynamic_parameters_df circulator_dynamic_parameters_t%circulator_dynamic_parameters_df proc~jacobian_rot jacobian_roT proc~circulator_dynamic_parameters_df->proc~jacobian_rot proc~t_rop T_roP proc~circulator_dynamic_parameters_df->proc~t_rop proc~eos_terms eos_terms proc~jacobian_rot->proc~eos_terms proc~brent brent proc~t_rop->proc~brent proc~fill_f_terms fill_f_terms proc~t_rop->proc~fill_f_terms proc~fill_g_dreg_terms fill_g_Dreg_terms proc~t_rop->proc~fill_g_dreg_terms f f proc~brent->f proc~set_error set_error proc~brent->proc~set_error proc~zero zero proc~brent->proc~zero proc~eos_terms->proc~fill_f_terms proc~eos_e_terms eos_e_terms proc~eos_terms->proc~eos_e_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~zero->f proc~fill_e_tpart->proc~fill_g_dreg_terms

Called by

proc~~circulator_dynamic_parameters_df~~CalledByGraph proc~circulator_dynamic_parameters_df circulator_dynamic_parameters_t%circulator_dynamic_parameters_df proc~outgoing_branch_cold_circulator outgoing_branch_cold_circulator proc~outgoing_branch_cold_circulator->proc~circulator_dynamic_parameters_df proc~circulator_resolution_from_and_to_ports circulator_resolution_from_and_to_ports 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

function circulator_dynamic_parameters_df(dynamic,x)
    class(circulator_dynamic_parameters_t), intent(inout) :: dynamic
    real(dp), intent(inout) :: x

    real(dp) :: circulator_dynamic_parameters_df
    real(dp) :: TstarL,rostarL,dTdp_Ro,dTdRo_p,dRodP,dUdP,Ustar,dRstardRo,dRstardT,dRdP,Rstar
    real(dp) :: cv_local, dPdT_local

    Ustar=dynamic%Ur+(x-dynamic%Pr)/dynamic%Zr
    rostarL=dynamic%mdot/(Ustar*dynamic%area)
    TstarL=T_roP(rostarL,x)
    call jacobian_roT(rostarL, TstarL, cv_local, dPdT_local, dTdp_Ro, dTdRo_p, dRstardRo, dRstardT, Rstar)
    dUdP=1.0_dp/dynamic%Zr
    dRodP=-(dynamic%mdot/dynamic%area)*dUdP/(Ustar**2)
    dRdP=(dRstardRo+dRstardT*dTdRo_p)*dRodP+dRstardT*dTdp_Ro
    circulator_dynamic_parameters_df=-((dRdP*rostarL-Rstar*dRodP)/(rostarL**2)+Ustar*dUdP)/1.0e3_dp
end function circulator_dynamic_parameters_df