00001 /* 00002 ------------------------------------------------------------------- 00003 00004 Copyright (C) 2006, 2007, 2008, 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 \hline 00026 \section part_ug_section Quick Reference to User's Guide 00027 - \ref part_section 00028 - \ref nuclei_section 00029 - \ref partsource_section 00030 - \ref partref_section 00031 00032 \htmlonly 00033 <a href="../latex/refman.pdf">PDF documentation</a> 00034 \endhtmlonly 00035 00036 \hline 00037 \section part_section Particles 00038 00039 These classes in the library \c o2scl_part calculate the 00040 thermodynamic properties of interacting and non-interacting 00041 quantum and \classical particles. 00042 00043 The class \ref part is the basic structure for a particle: 00044 - part::m - mass 00045 - part::g - degeneracy factor (e.g. \f$2j+1\f$) 00046 - part::n - number density 00047 - part::ed - energy density 00048 - part::pr - pressure 00049 - part::en - entropy density 00050 - part::ms - effective mass 00051 - part::nu - effective chemical potential 00052 - part::inc_rest_mass - True if the rest mass is included 00053 - part::non_interacting - False if the particle includes interactions 00054 00055 The data members part::ms and part::nu allow one to specify 00056 modifications to the mass and the chemical potential due to 00057 interactions. This allows one to calculate the properties of 00058 particle due to interactions so long as the basic form of the 00059 free-particle dispersion relation is unchanged, i.e. 00060 \f[ 00061 \sqrt{k^2+m^2} - \mu \rightarrow \sqrt{k^2+m^{* 2}} - \nu 00062 \f] 00063 Typically, if the particle is non-interacting, then part::mu and 00064 part::m are copied to part::nu and part::ms, computations are 00065 performed with part::nu and part::ms, and then, if necessary, the 00066 result for part::nu is copied back to part::mu. 00067 00068 If part::inc_rest_mass is \c true (as is the default in all of the 00069 classes except \ref nucleus), then all 00070 functions include the rest mass energy density in the energy 00071 density, the "mu" functions expect that the rest mass is included 00072 in part::mu or part::nu as input and the "density" functions 00073 output part::mu or part::nu including the rest mass. 00074 00075 When part::inc_rest_mass is true, antiparticles are implemented by 00076 choosing the antiparticle chemical potential to be \f$ - \mu \f$, 00077 and when inc_rest_mass is false, antiparticles are implemented by 00078 choosing the chemical potential of the antiparticles to be \f$ - 00079 \mu - 2 m \f$. 00080 00081 The thermodynamic identity used to compute the pressure for 00082 interacting particles is 00083 \f[ 00084 P = -\varepsilon + s T + \nu n 00085 \f] 00086 where part::nu is used. This way, the particle class doesn't need to 00087 know about the structure of the interactions to ensure that the 00088 thermodynamic identity is satisfied. Note that in the \o2e 00089 library, where in the equations of state the normal thermodynamic 00090 identity is used 00091 \f[ 00092 P = -\varepsilon + s T + \mu n 00093 \f] 00094 Frequently, the interactions which create an effective chemical 00095 potential which is different than part::mu thus create extra terms in 00096 the pressure and the energy density for the given equation of 00097 state. 00098 00099 At zero temperature, fermions and bosons can be treated exactly in 00100 the classes \ref fermion and \ref boson. The \ref quark class is a 00101 descendant of the \ref fermion class which contains extra data 00102 members for the quark condensate and the contribution to the bag 00103 constant. The \ref classical classical is a descendant of both 00104 fermion and boson and calculates everything in the classical 00105 limit. 00106 00107 At finite temperature, there are different classes corresponding 00108 to different approaches to computing the integrals over the 00109 distribution functions. The approximation scheme from \ref Johns96 00110 is used in eff_boson, eff_fermion, and eff_quark. An exact method 00111 employing direct integration of the distribution functions is used 00112 in rel_boson and rel_fermion, but these are necessarily quite a 00113 bit slower. 00114 00115 The class nonrel_fermion assumes a non-relativistic dispersion 00116 relation for fermions. It includes zero-temperature methods and an 00117 exact method for finite temperatures. The non-relativistic integrands 00118 are much simpler and \ref nonrel_fermion uses the appropriate 00119 GSL functions to compute them. 00120 00121 \hline 00122 00123 <b>Units:</b> 00124 00125 Factors of \f$ \hbar, c \f$ and \f$ k_B \f$ have been removed 00126 everywhere, so that mass, energy, and temperature all have the 00127 same units. Number and entropy densities have units of mass cubed 00128 (or energy cubed). This particle classes can be used with any 00129 system of units which is based on powers of one unit, i.e. 00130 \f$ [n] = [T]^3 = [m]^3 = [P]^{3/4} = [\varepsilon]^{3/4}\f$, etc. 00131 00132 \hline 00133 00134 <b>Derivative information:</b> 00135 00136 Sometimes it is useful to know derivatives like $ds/dT$ in 00137 addition to the energy and pressure. There are three classes which 00138 compute these derivatives for fermions and classical particles. 00139 The class \ref sn_classical handles the nondegenerate limit, \ref 00140 sn_fermion handles fermions and \ref sn_nr_fermion handles 00141 nonrelativistic fermions. These classes compute the derivatives 00142 \f[ 00143 \left(\frac{d n}{d \mu}\right)_{T}, \quad 00144 \left(\frac{d n}{d T}\right)_{\mu}, \quad \mathrm{and} \quad 00145 \left(\frac{d s}{d T}\right)_{\mu} 00146 \f] 00147 All other first derivatives of the thermodynamic functions can 00148 be written in terms of these three. To see how to compute the 00149 specific heat, for example, see the discussion in the documentation 00150 of \ref deriv_part. 00151 00152 \hline 00153 \section nuclei_section Atomic nuclei 00154 00155 \b Nuclei 00156 00157 Atomic nuclei, class \ref nucleus, are implemented as descendants of 00158 \ref classical. This class sets the value of nucleus::inc_rest_mass to 00159 false by default. 00160 00161 Nuclear mass formulas are given as children of \ref nuclear_mass. 00162 The class ame_mass provides the experimental data from \ref Audi95 00163 or \ref Audi03, the class mnmsk_mass provides the mass formula 00164 from \ref Moller95, and the class hfb_mass provides the mass 00165 formula from \ref Goriely02, \ref Samyn04, or \ref Goriely07. A 00166 simple semi-empirical mass formula is given in \ref 00167 semi_empirical_mass and this can be fit to experimentally measured 00168 masses using \ref mass_fit. 00169 00170 The class \ref nuclear_dist provides an generic base 00171 class for a \collection of several nuclei with an STL-like 00172 iterator. There are two implementations of this base class, 00173 simple_dist which provides a simple distribution and 00174 \ref full_dist which enumerates all the nuclei for a 00175 given mass formula. 00176 00177 \hline 00178 \section partsource_section Example source code 00179 00180 \subsection exlist_subsect Example list 00181 00182 - \ref ex_part_sect 00183 - \ref ex_mass_fit_sect 00184 00185 \subsection ex_part_sect Particle example 00186 00187 \dontinclude ex_part.cpp 00188 \skip Example: 00189 \until End of example 00190 00191 \subsection ex_mass_fit_sect Nuclear mass fit example 00192 00193 \dontinclude ex_mass_fit.cpp 00194 \skip Example: 00195 \until End of example 00196 00197 \hline 00198 \section partref_section Bibliography 00199 00200 Some of the references which contain links should direct you to 00201 the work referred to directly through dx.doi.org. 00202 00203 \anchor Audi95 Audi95: 00204 \htmlonly 00205 <a href="http://dx.doi.org/10.1016/0375-9474(95)00445-9"> 00206 G. Audi and A. H. Wapstra</a>, 00207 \endhtmlonly 00208 \latexonly 00209 \href{http://dx.doi.org/10.1016/0375-9474(95)00445-9}{ 00210 G. Audi and A. H. Wapstra}, 00211 \endlatexonly 00212 Nucl. Phys. A \b 595 (1995) 409-480. 00213 00214 \anchor Audi03 Audi03: 00215 \htmlonly 00216 <a href="http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003"> 00217 G.Audi, A. H. Wapstra and C. Thibault</a>, 00218 \endhtmlonly 00219 \latexonly 00220 \href{http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003}{ 00221 G.Audi, A. H. Wapstra and C. Thibault} , 00222 \endlatexonly 00223 Nucl. Phys. A \b 729 (2003) 337. 00224 00225 \anchor Eggleton73 Eggleton73: 00226 \htmlonly 00227 <a href="http://adsabs.harvard.edu/abs/1973A%26A....23..325E"> 00228 P. P. Eggleton, J. Faulkner, and B. P. Flannery</a>, 00229 \endhtmlonly 00230 \latexonly 00231 \href{http://adsabs.harvard.edu/abs/1973A%26A....23..325E}{ 00232 P. P. Eggleton, J. Faulkner, and B. P. Flannery}, 00233 \endlatexonly 00234 Astron. and Astrophys. \b 23 (1973) 325. 00235 \comment 00236 As of 3/11/09 a DOI link does not appear to be available 00237 \endcomment 00238 00239 \anchor Goriely02 Goriely02: 00240 \htmlonly 00241 <a href="http://link.aps.org/doi/10.1103/PhysRevC.66.024326"> 00242 S. Goriely, M. Samyn, P.-H. Heenen, J. M. Pearson, and F. Tondeur</a>, 00243 \endhtmlonly 00244 \latexonly 00245 \href{http://link.aps.org/doi/10.1103/PhysRevC.66.024326}{ 00246 S. Goriely, M. Samyn, P.-H. Heenen, J. M. Pearson, and F. Tondeur}, 00247 \endlatexonly 00248 Phys. Rev. C \b 66 (2002) 024326. 00249 00250 \anchor Goriely07 Goriely07: 00251 \htmlonly 00252 <a href="http://link.aps.org/doi/10.1103/PhysRevC.75.064312"> 00253 S. Goriely, M. Samyn, and J. M. Pearson</a>, 00254 \endhtmlonly 00255 \latexonly 00256 \href{http://link.aps.org/doi/10.1103/PhysRevC.75.064312}{ 00257 S. Goriely, M. Samyn, and J. M. Pearson}, 00258 \endlatexonly 00259 Phys. Rev. C \b 75 (2007) 064312. 00260 00261 \anchor Johns96 Johns96: 00262 \htmlonly 00263 <a href="http://dx.doi.org/10.1086/178212"> 00264 Johns, P.J. Ellis, and J.M. Lattimer</a>, 00265 \endhtmlonly 00266 \latexonly 00267 \href{http://dx.doi.org/10.1086/178212}{ 00268 Johns, P.J. Ellis, and J.M. Lattimer}, 00269 \endlatexonly 00270 Astrophys. J. \b 473 (1996) 1020. 00271 00272 \anchor Moller95 Moller95: 00273 \htmlonly 00274 <a href="http://dx.doi.org/10.1006/adnd.1995.1002"> 00275 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki</a>, 00276 \endhtmlonly 00277 \latexonly 00278 \href{http://dx.doi.org/10.1006/adnd.1995.1002}{ 00279 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki}, 00280 \endlatexonly 00281 At. Data Nucl. Data Tables \b 59 (1995) 185. 00282 00283 \anchor Samyn04 Samyn04: 00284 \htmlonly 00285 <a href="http://link.aps.org/doi/10.1103/PhysRevC.70.044309"> 00286 M. Samyn, S. Goriely, M. Bender and J. M. Pearson</a>, 00287 \endhtmlonly 00288 \latexonly 00289 \href{http://link.aps.org/doi/10.1103/PhysRevC.70.044309}{ 00290 M. Samyn, S. Goriely, M. Bender and J. M. Pearson}, 00291 \endlatexonly 00292 Phys. Rev. C \b 70 (2004) 044309. 00293 00294 */
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