00001 /* 00002 ------------------------------------------------------------------- 00003 00004 Copyright (C) 2006, 2007, Andrew W. Steiner 00005 00006 This file is part of O2scl. 00007 00008 O2scl is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 3 of the License, or 00011 (at your option) any later version. 00012 00013 O2scl is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with O2scl. If not, see <http://www.gnu.org/licenses/>. 00020 00021 ------------------------------------------------------------------- 00022 */ 00023 /** \mainpage 00024 00025 \section part_ug_section User's guide 00026 00027 - \ref part_section 00028 - \ref nuclei_section 00029 - \ref todo 00030 - \ref bug 00031 - \ref partref_section 00032 00033 \htmlonly 00034 <a href="../latex/refman.pdf">PDF documentation</a> 00035 \endhtmlonly 00036 00037 \hline 00038 \section part_section Particles 00039 00040 These classes in the library \c o2scl_part calculate the 00041 thermodynamic properties of interacting and non-interacting 00042 quantum and classical particles. 00043 00044 The class \ref part is the basic structure for a particle: 00045 - m - mass 00046 - g - degeneracy factor (i.e. \f$2j+1\f$) 00047 - n - number density 00048 - ns - scalar number density 00049 - ed - energy density 00050 - pr - pressure 00051 - en - entropy 00052 - ms - effective mass 00053 - nu - effective chemical potential 00054 - bool inc_rest_mass - True if the rest mass is included 00055 - bool non_interacting - False if the particle includes interactions 00056 - std::string name - the name 00057 00058 The data members part::ms and part::nu allow one to specify 00059 modifications to the mass and the chemical potential due to 00060 interactions. This allows one to calculate the properties of 00061 particle due to interactions so long as the basic form of the 00062 free-particle dispersion relation is unchanged, i.e. 00063 \f[ 00064 \sqrt{k^2+m^2} - \mu \rightarrow \sqrt{k^2+m^{* 2}} - \nu 00065 \f] 00066 Typically, if the particle is 00067 non-interacting, then \c mu and \c m are copied to \c nu and 00068 \c ms, computations are performed with \c nu and \c ms, and 00069 then, if necessary, the result for \c nu is copied back to 00070 \c mu. 00071 00072 If part::inc_rest_mass is \c true (as is the default), then all 00073 functions include the rest mass energy density in the energy 00074 density, the "mu" functions expect that the rest mass is included 00075 in part::mu or part::nu as input and the "density" functions 00076 output part::mu or part::nu including the rest mass. 00077 00078 When inc_rest_mass is true, antiparticles are implemented by 00079 choosing the antiparticle chemical potential to be \f$ - \mu \f$, 00080 and when inc_rest_mass is false, antiparticles are implemented by 00081 choosing the chemical potential of the antiparticles to be \f$ - 00082 \mu - 2 m \f$. 00083 00084 The thermodynamic identity used to compute the pressure for 00085 interacting particles is 00086 \f[ 00087 P = -\varepsilon + s T + \nu n 00088 \f] 00089 where \c nu is used. This way, the particle class doesn't need to 00090 know about the structure of the interactions to ensure that the 00091 thermodynamic identity is satisfied. Note that in the \c o2scl_eos 00092 library, where in the equations of state the normal thermodynamic 00093 identity is used 00094 \f[ 00095 P = -\varepsilon + s T + \mu n 00096 \f] 00097 Frequently, the interactions which create an effective chemical 00098 potential which is different than \c mu thus create extra terms in 00099 the pressure and the energy density for the given equation of 00100 state. 00101 00102 At zero temperature, fermions and bosons can be treated exactly in 00103 the classes \ref fermion and \ref boson. \ref quark is a 00104 descendant of the \ref fermion class which contains extra data 00105 members for the quark condensate and the contribution to the bag 00106 constant. \ref classical is a descendant of both fermion and boson 00107 and calculates everything in the classical limit. 00108 00109 At finite temperature, there are a couple different approaches. The 00110 approximation scheme from \ref Johns96 is used in eff_boson, 00111 eff_fermion, and eff_quark. An exact method is used in rel_boson 00112 and rel_fermion, but these are necessarily quite a bit slower. 00113 00114 The class nonrel_fermion can be used to assume a non-relativistic 00115 dispersion relation for fermions and includes zero-temperature 00116 methods and an exact method for finite temperatures. 00117 00118 \hline 00119 00120 <b>Units:</b> 00121 00122 Factors of \f$ \hbar, c \f$ and \f$ k_B \f$ have been removed 00123 everywhere, so that mass, energy, and temperature all have the 00124 same units. Number densities have units of mass cubed (or energy 00125 cubed), and entropy is unitless. 00126 00127 \hline 00128 \section nuclei_section Atomic nuclei 00129 00130 \b Nuclei 00131 00132 Atomic nuclei, class \ref nucleus, are implemented as descendants of 00133 \ref classical. This class sets the value of nucleus::inc_rest_mass to 00134 false by default. 00135 00136 Nuclear mass formulas are given as children of \ref nuclear_mass. 00137 The class mnms95_mass provides the mass formula from \ref Moller95, 00138 and the class ame_mass provides the mass formula from \ref Audi95 00139 or \ref Audi03. 00140 00141 The class \ref nuclear_dist provides an experimental generic base 00142 class for a collection of several nuclei with an STL-like 00143 iterator. The sole descendant, simple_dist, provides a simple 00144 collection of nuclei. 00145 00146 \hline 00147 \section parttodo_section Other Todos and Bugs 00148 00149 Only more general items which aren't particular to a specific 00150 class are listed here. See the full lists at \ref todo and \ref bug. 00151 00152 \bug 00153 - Most of the boson classes don't work right now. 00154 00155 \hline 00156 \section partref_section Bibliography 00157 00158 Some of the references which contain links should direct you to 00159 the work referred to directly through dx.doi.org. 00160 00161 \anchor Audi95 Audi95: 00162 \htmlonly 00163 <a href="http://dx.doi.org/10.1016/0375-9474(95)00445-9"> 00164 G. Audi and A. H. Wapstra</a>, 00165 \endhtmlonly 00166 \latexonly 00167 \href{http://dx.doi.org/10.1016/0375-9474(95)00445-9}{ 00168 G. Audi and A. H. Wapstra}, 00169 \endlatexonly 00170 Nucl. Phys. A \b 595 (1995) 409-480. 00171 00172 \anchor Audi03 Audi03: 00173 \htmlonly 00174 <a href="http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003"> 00175 G.Audi, A. H. Wapstra and C. Thibault</a>, 00176 \endhtmlonly 00177 \latexonly 00178 \href{http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003}{ 00179 G.Audi, A. H. Wapstra and C. Thibault} , 00180 \endlatexonly 00181 Nucl. Phys. A729 (2003) 337. 00182 00183 \anchor Eggleton73 Eggleton73: 00184 P.P. Eggleton, J. Faulkner, and B.P. Flannery, 00185 Astron. and Astrophys. 23 (1973) 325. 00186 00187 \anchor Johns96 Johns96: 00188 \htmlonly 00189 <a href="http://dx.doi.org/10.1086/178212"> 00190 Johns, P.J. Ellis, and J.M. Lattimer</a>, 00191 \endhtmlonly 00192 \latexonly 00193 \href{http://dx.doi.org/10.1086/178212}{ 00194 Johns, P.J. Ellis, and J.M. Lattimer}, 00195 \endlatexonly 00196 Astrophys. J. \b 473, (1996) 1020. 00197 00198 \anchor Moller95 Moller95: 00199 \htmlonly 00200 <a href="http://dx.doi.org/10.1006/adnd.1995.1002"> 00201 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki</a>, 00202 \endhtmlonly 00203 \latexonly 00204 \href{http://dx.doi.org/10.1006/adnd.1995.1002}{ 00205 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki}, 00206 \endlatexonly 00207 At. Data Nucl. Data Tables \b 59 (1995) 185. 00208 00209 */
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page