14 integer,
parameter ::
ink=0
15 integer,
parameter ::
ine=1
16 integer,
parameter ::
ins=2
52 integer,
intent(in) :: var
53 real(r_kind),
intent(in) :: vin,d,Ye
55 integer,
intent(out) :: status
76 if ( var .eq.
ink )
then
78 elseif ( var .eq.
ine )
then
83 elseif ( var .eq.
ins )
then
89 if (verbose_level .gt. 1)
then
90 write(6,*)
'timmes_eos_module: Check input variable '
106 real(r_kind),
intent(in) :: T,d,Ye
108 integer,
intent(out) :: status
126 include
'vector_eos.dek'
131 abar_row(1) = state%abar
132 zbar_row(1) = state%abar*ye
143 state%e = etot_row(1)
145 state%F = etot_row(1) - t*stot_row(1)
146 state%p = ptot_row(1)
147 state%d2FdTdd = dpt_row(1)/(d*d)
148 state%d2FdT2 = -dst_row(1)
150 state%zbar = state%abar*ye
157 state%mue = etaele_row(1)
168 if ( .not.eosfail )
then
180 real(r_kind),
intent(in) :: e,d,Ye,abar
181 real(r_kind),
intent(out) :: T
182 integer,
intent(out) :: status
198 integer,
parameter :: jmax=100
199 real(r_kind),
parameter :: precision=5.e-4
202 real(r_kind) :: Tmid,dT,f,fmid
207 if ( status .eq. 0 )
then
210 if (verbose_level .gt. 1)
then
211 write(6,*)
'ls_timmes_eos_module: Check bracket T1 =',
t1
218 if ( status .eq. 0 )
then
221 if (verbose_level .gt. 1)
then
222 write(6,*)
'ls_timmes_eos_module: Check bracket T2 =',
t2
228 if( f*fmid .ge. 0. )
then
229 if (verbose_level .gt. 1)
then
230 write(6,*)
'ls_timmes_eos_module: Root not bracketed... '
231 1 ,
'try other values of T1,T2 ...'
236 if ( f .lt. 0. )
then
247 if ( status .eq. 0 )
then
250 if (verbose_level .gt. 1)
then
251 write(6,*)
'ls_timmes_eos_module: Error while bisecting...'
256 if ( fmid .le. 0. ) t = tmid
257 if ( (abs(dt) .lt. precision) .or. (fmid .eq. 0.) )
then
265 if (verbose_level .gt. 1)
then
266 write(6,*)
'ls_timmes_eos_module: Too many iterations...'
275 real(r_kind),
intent(in) :: e,d,Ye,abar
276 real(r_kind),
intent(inout) :: T
277 integer,
intent(out) :: status
293 integer,
parameter :: jmax=100
294 real(r_kind),
parameter :: precision=5.e-4
303 if ( status .eq. 1 )
then
313 if ( t .le. 0. ) t =
t2
315 if ( status .ne. 0 )
then
316 if (verbose_level .gt. 1)
then
317 write(6,*)
'ls_timmes_eos_module: NR iteration failed '
325 if ( (f .eq. 0.) .or. (abs(f/df) .le. precision) )
then
333 if (verbose_level .gt. 1)
then
334 write(6,*)
'ls_timmes_eos_module: Too many iterations...'
342 real(r_kind),
intent(in) :: s,d,Ye,abar
343 real(r_kind),
intent(out) :: T
344 integer,
intent(out) :: status
360 integer,
parameter :: jmax=100
361 real(r_kind),
parameter :: precision=5.e-4
364 real(r_kind) :: Tmid,dT,f,fmid
369 if ( status .eq. 0 )
then
372 if (verbose_level .gt. 1)
then
373 write(6,*)
'ls_timmes_eos_module: Check bracket T1 =',
t1
380 if ( status .eq. 0 )
then
383 if (verbose_level .gt. 1)
then
384 write(6,*)
'ls_timmes_eos_module: Check bracket T2 =',
t2
390 if( f*fmid .ge. 0. )
then
391 if (verbose_level .gt. 1)
then
392 write(6,*)
'ls_timmes_eos_module: Root not bracketed... '
393 1 ,
'try other values of T1,T2 ...'
398 if ( f .lt. 0. )
then
409 if ( status .eq. 0 )
then
412 if (verbose_level .gt. 1)
then
413 write(6,*)
'ls_timmes_eos_module: Error while bisecting...'
418 if ( fmid .le. 0. ) t = tmid
419 if ( (abs(dt) .lt. precision) .or. (fmid .eq. 0.) )
then
427 if (verbose_level .gt. 1)
then
428 write(6,*)
'ls_timmes_eos_module: Too many iterations...'
436 real(r_kind),
intent(in) :: s,d,Ye,abar
437 real(r_kind),
intent(inout) :: T
438 integer,
intent(out) :: status
454 integer,
parameter :: jmax=100
455 real(r_kind),
parameter :: precision=5.e-4
464 if ( status .eq. 1 )
then
474 if ( t .le. 0. ) t =
t2
476 if ( status .ne. 0 )
then
477 if (verbose_level .gt. 1)
then
478 write(6,*)
'ls_timmes_eos_module: NR iteration failed '
486 if ( (f .eq. 0.) .or. (abs(f/df) .le. precision) )
then
494 if (verbose_level .gt. 1)
then
495 write(6,*)
'ls_timmes_eos_module: Too many iterations...'