Full state from (ro,p): r, e, T, c. Solves for T internally.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | ro | |||
| real(kind=dp), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | r | |||
| real(kind=dp), | intent(out) | :: | e | |||
| real(kind=dp), | intent(out) | :: | T | |||
| real(kind=dp), | intent(out) | :: | c |
subroutine state_roP(ro, p, r, e, T, c) !! Full state from (ro,p): r, e, T, c. Solves for T internally. real(dp), intent(in) :: ro, p real(dp), intent(out) :: r, e, T, c real(dp) :: dPdRo, dPdT, dTdRo, cv T = T_roP(ro, p) call jacobian_roT(ro, T, cv, dPdT, dTdRo=dTdRo, r=r) dPdRo = -dTdRo*dPdT c = sqrt(dPdRo + T*(dPdT**2)/(cv*(ro**2))) e = (r - p)/ro end subroutine state_roP