circulator_dynamic_parameters_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(circulator_dynamic_parameters_t), | intent(inout) | :: | dynamic | |||
| real(kind=dp), | intent(inout) | :: | x |
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