| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | ro | |||
| real(kind=dp), | intent(in) | :: | T | |||
| type(ThArrays_t), | intent(out) | :: | ThAr |
elemental subroutine eos_terms(ro, T, ThAr) real(dp), intent(in) :: ro,T type(ThArrays_t), intent(out) :: ThAr real(dp) :: Der3g(14) ThAr%Derf(1) =2.0_dp*ro ThAr%Derf(2) =3.0_dp*(ro**2) ThAr%Derf(3) =4.0_dp*(ro**3) ThAr%Derf(4) =5.0_dp*(ro**4) ThAr%Derf(5) =6.0_dp*(ro**5) ThAr%Derf(6) =7.0_dp*(ro**6) ThAr%Derf(7) =8.0_dp*(ro**7) ThAr%Derf(8) =9.0_dp*(ro**8) ThAr%Derf(9) =exp(-tau*(ro**2))*( 3.0_dp*(ro**2 )-2.0_dp*tau*(ro**4 )) ThAr%Derf(10)=exp(-tau*(ro**2))*( 5.0_dp*(ro**4 )-2.0_dp*tau*(ro**6 )) ThAr%Derf(11)=exp(-tau*(ro**2))*( 7.0_dp*(ro**6 )-2.0_dp*tau*(ro**8 )) ThAr%Derf(12)=exp(-tau*(ro**2))*( 9.0_dp*(ro**8 )-2.0_dp*tau*(ro**10)) ThAr%Derf(13)=exp(-tau*(ro**2))*(11.0_dp*(ro**10)-2.0_dp*tau*(ro**12)) ThAr%Derf(14)=exp(-tau*(ro**2))*(13.0_dp*(ro**12)-2.0_dp*tau*(ro**14)) ThAr%Der2f(1) =2.0_dp ThAr%Der2f(2) =3.0_dp*(2.0_dp*ro) ThAr%Der2f(3) =4.0_dp*(3.0_dp*ro**2) ThAr%Der2f(4) =5.0_dp*(4.0_dp*ro**3) ThAr%Der2f(5) =6.0_dp*(5.0_dp*ro**4) ThAr%Der2f(6) =7.0_dp*(6.0_dp*ro**5) ThAr%Der2f(7) =8.0_dp*(7.0_dp*ro**6) ThAr%Der2f(8) =9.0_dp*(8.0_dp*ro**7) ThAr%Der2f(9) =2.0_dp*ro *exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)- 7.0_dp*tau*(ro**2)+ 3.0_dp) ThAr%Der2f(10)=2.0_dp*(ro**3 )*exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)-11.0_dp*tau*(ro**2)+10.0_dp) ThAr%Der2f(11)=2.0_dp*(ro**5 )*exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)-15.0_dp*tau*(ro**2)+21.0_dp) ThAr%Der2f(12)=2.0_dp*(ro**7 )*exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)-19.0_dp*tau*(ro**2)+36.0_dp) ThAr%Der2f(13)=2.0_dp*(ro**9 )*exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)-23.0_dp*tau*(ro**2)+55.0_dp) ThAr%Der2f(14)=2.0_dp*(ro**11)*exp(-tau*(ro**2))*(2.0_dp*(tau**2)*(ro**4)-27.0_dp*tau*(ro**2)+78.0_dp) Der3g(1) = (3.0_dp*(nn(2)*(T**(5.0_dp/2.0_dp))-16.0_dp*nn(4)*T-64.0_dp*nn(5)))/(8.0_dp*(T**5)) Der3g(2) = -6.0_dp*nn( 8)/(T**4) -24.0_dp*nn(9)/(T**5) Der3g(3) = -6.0_dp*nn(12)/(T**4) Der3g(4) = 0.0_dp Der3g(5) = -6.0_dp*nn(14)/(T**4) -24.0_dp*nn(15)/(T**5) Der3g(6) = -6.0_dp*nn(16)/(T**4) Der3g(7) = -6.0_dp*nn(17)/(T**4) -24.0_dp*nn(18)/(T**5) Der3g(8) =-24.0_dp*nn(19)/(T**5) Der3g(9) =-24.0_dp*nn(20)/(T**5) -60.0_dp*nn(21)/(T**6) Der3g(10)=-24.0_dp*nn(22)/(T**5)-120.0_dp*nn(23)/(T**7) Der3g(11)=-24.0_dp*nn(24)/(T**5) -60.0_dp*nn(25)/(T**6) Der3g(12)=-24.0_dp*nn(26)/(T**5)-120.0_dp*nn(27)/(T**7) Der3g(13)=-24.0_dp*nn(28)/(T**5) -60.0_dp*nn(29)/(T**6) Der3g(14)=-24.0_dp*nn(30)/(T**5) -60.0_dp*nn(31)/(T**6)-120.0_dp*nn(32)/(T**7) call fill_f_terms(ro, ThAr) call eos_e_terms(ro, T, ThAr) ThAr%Derhh = ThAr%ff + ThAr%f/ro ThAr%Der2gg = -ThAr%Der2g - T*Der3g end subroutine eos_terms