*
Cococubed.com


Fermi-Dirac Functions

Home

Teaching materials
Astronomy research
Astronomy codes
... Stellar equation of states
... EOS with ionization
... EOS for supernovae
... Chemical potentials
... Stellar atmospheres
... Voigt Function
... Polytropic stars
... Cold white dwarfs
... Hotter white dwarfs
... Cold neutron stars
... Stellar opacities
... Neutrino energy loss rates
... Ephemeris routines
... Fermi-Dirac functions
... Galactic chemical evolution

... Nuclear reaction networks
... Nuclear statistical equilibrium
... Laminar deflagrations
... CJ detonations
... ZND detonations
... Fitting to conic sections
... Unusual linear algebra
... Derivatives on uneven grids
... Pentadiagonal solver
... Quadratics, Cubics, Quartics
... Supernova light curves
... Exact Riemann solutions
... 1D PPM Hydrodynamics
... Verification problems

... EZ stellar evolution
... FLASH code
... Mesa code
Astronomy talks
Astronomy images
Outreach
Family album
Bicycle adventures
Artwork


Contact us:
J.D. Maldonado
F.X.Timmes, my vitae

The monikers "Fermi-Dirac", "generalized Fermi-Dirac", and "Fermi" function haven't received uniform usage in the literature. I'll use the term "Fermi-Dirac" function for the three parameter integral:


png image of fermi-dirac function

where k is the order of the function, beta = mc2/kT is the relativity parameter, and eta = mu/kT is the normalized chemical potential energy mu, which is sometimes called the degeneracy parameter. I'll reserve the term "Fermi" function as a special case, beta=0, of the Fermi-Dirac function:


png image of fermi function

The Fermi function can be obtained from some remarkable rational function fits from H.M. Antia (ApJS 84, 101, 1993 and private communication 1995). In the code below these rational function approximations are compared to the exact answers given by the Fermi-Dirac quadratures.

The Fermi-Dirac function is solved by two methods. The first uses an exact-as-you-like direct simpson integration on nested grids in tandem with some integral transformations. I've called this Cloutman's method (ApJS 71, 677, 1989) in the code below. Some of my trivial additions were to generalize the code from the Fermi functions to the Fermi-Dirac functions.

The second method solves the Fermi-Dirac functions by an as-exact-as-you-like quadrature method. The first derivatives with respect to eta and beta are also returned. You may be very pleasantly suprised at how efficiently it runs given that it a direct integration. The original idea and code comes from Josep Aparicio (ApJS 117, 627, 1998). My trivial contributions have been to add the first derivatives, gather the various quadrature accuracies under one roof, and make a machine readable code more generally available.


Fermi functions:
test_fermi.f
plus these include files:
implno.dek
const.dek
funct_fermi1.f
funct_fermi45.f
interp_spline1.f
gauss_fermi.f
Fermi-Dirac functions:
test_clout.f
plus these include files:
implno.dek
const.dek
cloutman.f
gauss_fermi.f
 
 
Fermi-Dirac functions
and their derivatives:
test_fermi_dirac.f
plus these include files:
implno.dek
const.dek
gauss_fermi.f  
 
 


If you want to see how the Fermi-Dirac functions are used in a bare knuckle stellar equation of state, take a look at the Timmes eos routine.
 



Please cite the relevant references if you publish a piece of work that use these codes, pieces of these codes, or modified versions of them. If you're nice, offer co-authorship of the publication. At best, you'll love these programs so much that you'll send great wads of cash to me.