eos_helmholtz

Module

Description

The equation state based on the Helmholtz free energy.

“Perfect thermodynamic consistency.” Primarily used to model degenerate matter in white dwarfs.

References:

Timmes & Swesty (2000), ApJS, 126, 501-516.

Owner:

Terrence Tricco

Runtime parameters:

None

Dependencies:

datafiles, io, physcon, units

Quick access

Variables:

abar, aion, d, dd2_sav, dd2i_sav, dd3i_sav, dd_sav, ddi_sav, ddpsi0, ddpsi1, ddpsi2, dlo, dpdf, dpdfd, dpdfdt, dpdft, dpsi0, dpsi1, dpsi2, dstpi, dt2_sav, dt2i_sav, dt3i_sav, dt_sav, dti_sav, ef, efd, efdt, eft, eos_helmholtz_calc_abarzbar, f, fd, fdd, fddt, fddtt, fdt, fdtt, ft, ftt, h3, h5, imax, jmax, psi0, psi1, psi2, rhomaxcgs, rhomincgs, speciesmax, speciesname, t, tempmax, tempmin, tlo, tstpi, xdpsi0, xdpsi1, xf, xfd, xfdt, xft, xmass, xpsi0, xpsi1, zbar, zion

Routines:

eos_helmholtz_compute_pres_sound(), eos_helmholtz_cv_dpresdt(), eos_helmholtz_eosinfo(), eos_helmholtz_get_maxrho(), eos_helmholtz_get_maxtemp(), eos_helmholtz_get_minrho(), eos_helmholtz_get_mintemp(), eos_helmholtz_init(), eos_helmholtz_pres_sound(), eos_helmholtz_write_inopt()

Variables

  • eos_helmholtz/abar [real,private]
  • eos_helmholtz/aion (15) [real,private]

    number of nucleons

  • eos_helmholtz/d (271) [real,private]
  • eos_helmholtz/dd2_sav (271) [real,private]
  • eos_helmholtz/dd2i_sav (271) [real,private]
  • eos_helmholtz/dd3i_sav (271) [real,private]
  • eos_helmholtz/dd_sav (271) [real,private]
  • eos_helmholtz/ddi_sav (271) [real,private]
  • eos_helmholtz/ddpsi0 [private]
  • eos_helmholtz/ddpsi1 [private]
  • eos_helmholtz/ddpsi2 [private]
  • eos_helmholtz/dlo [real,private]
  • eos_helmholtz/dpdf (*,*) [real,private/allocatable]
  • eos_helmholtz/dpdfd (*,*) [real,private/allocatable]
  • eos_helmholtz/dpdfdt (*,*) [real,private/allocatable]
  • eos_helmholtz/dpdft (*,*) [real,private/allocatable]
  • eos_helmholtz/dpsi0 [private]
  • eos_helmholtz/dpsi1 [private]
  • eos_helmholtz/dpsi2 [private]
  • eos_helmholtz/dstpi [real,private]
  • eos_helmholtz/dt2_sav (101) [real,private]
  • eos_helmholtz/dt2i_sav (101) [real,private]
  • eos_helmholtz/dt3i_sav (101) [real,private]
  • eos_helmholtz/dt_sav (101) [real,private]
  • eos_helmholtz/dti_sav (101) [real,private]
  • eos_helmholtz/ef (*,*) [real,private/allocatable]
  • eos_helmholtz/efd (*,*) [real,private/allocatable]
  • eos_helmholtz/efdt (*,*) [real,private/allocatable]
  • eos_helmholtz/eft (*,*) [real,private/allocatable]
  • eos_helmholtz/eos_helmholtz_calc_abarzbar [private]
  • eos_helmholtz/f (*,*) [real,private/allocatable]
  • eos_helmholtz/fd (*,*) [real,private/allocatable]
  • eos_helmholtz/fdd (*,*) [real,private/allocatable]
  • eos_helmholtz/fddt (*,*) [real,private/allocatable]
  • eos_helmholtz/fddtt (*,*) [real,private/allocatable]
  • eos_helmholtz/fdt (*,*) [real,private/allocatable]
  • eos_helmholtz/fdtt (*,*) [real,private/allocatable]
  • eos_helmholtz/ft (*,*) [real,private/allocatable]
  • eos_helmholtz/ftt (*,*) [real,private/allocatable]
  • eos_helmholtz/h3 [private]
  • eos_helmholtz/h5 [private]
  • eos_helmholtz/imax [integer,private/parameter/optional/default=271]
  • eos_helmholtz/jmax [integer,private/parameter/optional/default=101]
  • eos_helmholtz/psi0 [private]
  • eos_helmholtz/psi1 [private]
  • eos_helmholtz/psi2 [private]
  • eos_helmholtz/rhomaxcgs [real,private]
  • eos_helmholtz/rhomincgs [real,private]
  • eos_helmholtz/speciesmax [integer,private/parameter/optional/default=15]
  • eos_helmholtz/speciesname (15) [character,private]
  • eos_helmholtz/t (101) [real,private]
  • eos_helmholtz/tempmax [real,private]
  • eos_helmholtz/tempmin [real,private]
  • eos_helmholtz/tlo [real,private]
  • eos_helmholtz/tstpi [real,private]
  • eos_helmholtz/xdpsi0 [private]
  • eos_helmholtz/xdpsi1 [private]
  • eos_helmholtz/xf (*,*) [real,private/allocatable]
  • eos_helmholtz/xfd (*,*) [real,private/allocatable]
  • eos_helmholtz/xfdt (*,*) [real,private/allocatable]
  • eos_helmholtz/xft (*,*) [real,private/allocatable]
  • eos_helmholtz/xmass (15) [real,private]

    mass fraction of species

  • eos_helmholtz/xpsi0 [private]
  • eos_helmholtz/xpsi1 [private]
  • eos_helmholtz/zbar [real,private]
  • eos_helmholtz/zion (15) [real,private]

    number of protons

Subroutines and functions

subroutine  eos_helmholtz/eos_helmholtz_init(ierr)
Parameters:

ierr [integer,out]

Use :

io (warning(), id(), master(), fatal()), datafiles (find_phantom_datafile())

Call to:

find_phantom_datafile()

subroutine  eos_helmholtz/eos_helmholtz_write_inopt(iunit)
Parameters:

iunit [integer,in]

function  eos_helmholtz/eos_helmholtz_get_minrho()
Return:

eos_helmholtz_get_minrho [real]

Use :

units (unit_density())

Called from:

test_helmholtz()

function  eos_helmholtz/eos_helmholtz_get_maxrho()
Return:

eos_helmholtz_get_maxrho [real]

Use :

units (unit_density())

Called from:

test_helmholtz()

function  eos_helmholtz/eos_helmholtz_get_mintemp()
Return:

eos_helmholtz_get_mintemp [real]

Called from:

test_helmholtz()

function  eos_helmholtz/eos_helmholtz_get_maxtemp()
Return:

eos_helmholtz_get_maxtemp [real]

Called from:

test_helmholtz()

subroutine  eos_helmholtz/eos_helmholtz_eosinfo(iprint)
Parameters:

iprint [integer,in]

subroutine  eos_helmholtz/eos_helmholtz_pres_sound(tempi, rhoi, ponrhoi, spsoundi, eni)
Parameters:
  • tempi [real,inout]

  • rhoi [real,in]

  • ponrhoi [real,out]

  • spsoundi [real,out]

  • eni [real,in]

Use :

units (unit_density(), unit_pressure(), unit_ergg(), unit_velocity()), io (warning())

Call to:

eos_helmholtz_compute_pres_sound()

subroutine  eos_helmholtz/eos_helmholtz_compute_pres_sound(temp, den, pres, sound, ener, denerdt)
Parameters:
  • temp [real,in]

  • den [real,in]

  • pres [real,out]

  • sound [real,out]

  • ener [real,out]

  • denerdt [real,out]

Use :

physcon (mass_proton_cgs(), kboltz(), c(), planckh(), steboltz(), qe(), avogadro(), pi(), fourpi(), atomic_mass_unit())

Called from:

eos_helmholtz_pres_sound()

subroutine  eos_helmholtz/eos_helmholtz_cv_dpresdt(temp, den, cv, dpresdt)
Parameters:
  • temp [real,in]

  • den [real,in]

  • cv [real,out]

  • dpresdt [real,out]

Use :

physcon (mass_proton_cgs(), kboltz(), c(), planckh(), steboltz(), qe(), avogadro(), pi(), fourpi(), atomic_mass_unit())