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 \section part_ug_section User's guide 00026 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 - m - mass 00045 - g - degeneracy factor (e.g. \f$2j+1\f$) 00046 - n - number density 00047 - ns - scalar number density 00048 - ed - energy density 00049 - pr - pressure 00050 - en - entropy 00051 - ms - effective mass 00052 - nu - effective chemical potential 00053 - bool inc_rest_mass - True if the rest mass is included 00054 - bool non_interacting - False if the particle includes interactions 00055 - std::string name - a 'name' field to distinguish different 00056 particles of the same class 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 in all of the 00073 classes except \ref nucleus), then all 00074 functions include the rest mass energy density in the energy 00075 density, the "mu" functions expect that the rest mass is included 00076 in part::mu or part::nu as input and the "density" functions 00077 output part::mu or part::nu including the rest mass. 00078 00079 When inc_rest_mass is true, antiparticles are implemented by 00080 choosing the antiparticle chemical potential to be \f$ - \mu \f$, 00081 and when inc_rest_mass is false, antiparticles are implemented by 00082 choosing the chemical potential of the antiparticles to be \f$ - 00083 \mu - 2 m \f$. 00084 00085 The thermodynamic identity used to compute the pressure for 00086 interacting particles is 00087 \f[ 00088 P = -\varepsilon + s T + \nu n 00089 \f] 00090 where \c nu is used. This way, the particle class doesn't need to 00091 know about the structure of the interactions to ensure that the 00092 thermodynamic identity is satisfied. Note that in the \c o2scl_eos 00093 library, where in the equations of state the normal thermodynamic 00094 identity is used 00095 \f[ 00096 P = -\varepsilon + s T + \mu n 00097 \f] 00098 Frequently, the interactions which create an effective chemical 00099 potential which is different than \c mu thus create extra terms in 00100 the pressure and the energy density for the given equation of 00101 state. 00102 00103 At zero temperature, fermions and bosons can be treated exactly in 00104 the classes \ref fermion and \ref boson. \ref quark is a 00105 descendant of the \ref fermion class which contains extra data 00106 members for the quark condensate and the contribution to the bag 00107 constant. \ref classical is a descendant of both fermion and boson 00108 and calculates everything in the classical limit. 00109 00110 At finite temperature, there are different classes corresponding 00111 to different approaches to computing the integrals over the 00112 distribution functions. The approximation scheme from \ref Johns96 00113 is used in eff_boson, eff_fermion, and eff_quark. An exact method 00114 is used in rel_boson and rel_fermion, but these are necessarily 00115 quite a bit slower. 00116 00117 The class nonrel_fermion assumes a non-relativistic dispersion 00118 relation for fermions. It includes zero-temperature methods and an 00119 exact method for finite temperatures. The non-relativistic integrands 00120 are much simpler and \ref nonrel_fermion uses the appropriate 00121 GSL functions to compute them. 00122 00123 \hline 00124 00125 <b>Units:</b> 00126 00127 Factors of \f$ \hbar, c \f$ and \f$ k_B \f$ have been removed 00128 everywhere, so that mass, energy, and temperature all have the 00129 same units. Number and entropy densities have units of mass cubed 00130 (or energy cubed). This particle classes can be used with any 00131 system of units which is consistent with the above, 00132 i.e. \f$ [n] = [T]^3 = [m]^3 = [P]^{4/3}\f$, etc. 00133 00134 \hline 00135 \section nuclei_section Atomic nuclei 00136 00137 \b Nuclei 00138 00139 Atomic nuclei, class \ref nucleus, are implemented as descendants of 00140 \ref classical. This class sets the value of nucleus::inc_rest_mass to 00141 false by default. 00142 00143 Nuclear mass formulas are given as children of \ref nuclear_mass. 00144 The class mnmsk_mass provides the mass formula from \ref Moller95, 00145 and the class ame_mass provides the mass formula from \ref Audi95 00146 or \ref Audi03. A simple semi-empirical mass formula is given 00147 in \ref semi_empirical_mass and this can be fit to experimentally 00148 measured masses using \ref mass_fit. 00149 00150 The class \ref nuclear_dist provides an generic base 00151 class for a collection of several nuclei with an STL-like 00152 iterator. There are two implementations of this base class, 00153 simple_dist which provides a simple distribution and 00154 \ref full_dist which enumerates all the nuclei for a 00155 given mass formula. 00156 00157 \hline 00158 \section partsource_section Example source code 00159 00160 \b Example \b list 00161 00162 - \ref ex_part_sect 00163 00164 \subsection ex_part_sect Particle example 00165 00166 \dontinclude ex_part.cpp 00167 \skip Example: 00168 \until End of example 00169 00170 \hline 00171 \section partref_section Bibliography 00172 00173 Some of the references which contain links should direct you to 00174 the work referred to directly through dx.doi.org. 00175 00176 \anchor Audi95 Audi95: 00177 \htmlonly 00178 <a href="http://dx.doi.org/10.1016/0375-9474(95)00445-9"> 00179 G. Audi and A. H. Wapstra</a>, 00180 \endhtmlonly 00181 \latexonly 00182 \href{http://dx.doi.org/10.1016/0375-9474(95)00445-9}{ 00183 G. Audi and A. H. Wapstra}, 00184 \endlatexonly 00185 Nucl. Phys. A \b 595 (1995) 409-480. 00186 00187 \anchor Audi03 Audi03: 00188 \htmlonly 00189 <a href="http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003"> 00190 G.Audi, A. H. Wapstra and C. Thibault</a>, 00191 \endhtmlonly 00192 \latexonly 00193 \href{http://dx.doi.org/10.1016/j.nuclphysa.2003.11.003}{ 00194 G.Audi, A. H. Wapstra and C. Thibault} , 00195 \endlatexonly 00196 Nucl. Phys. A729 (2003) 337. 00197 00198 \anchor Eggleton73 Eggleton73: 00199 P.P. Eggleton, J. Faulkner, and B.P. Flannery, 00200 Astron. and Astrophys. 23 (1973) 325. 00201 00202 \anchor Johns96 Johns96: 00203 \htmlonly 00204 <a href="http://dx.doi.org/10.1086/178212"> 00205 Johns, P.J. Ellis, and J.M. Lattimer</a>, 00206 \endhtmlonly 00207 \latexonly 00208 \href{http://dx.doi.org/10.1086/178212}{ 00209 Johns, P.J. Ellis, and J.M. Lattimer}, 00210 \endlatexonly 00211 Astrophys. J. \b 473, (1996) 1020. 00212 00213 \anchor Moller95 Moller95: 00214 \htmlonly 00215 <a href="http://dx.doi.org/10.1006/adnd.1995.1002"> 00216 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki</a>, 00217 \endhtmlonly 00218 \latexonly 00219 \href{http://dx.doi.org/10.1006/adnd.1995.1002}{ 00220 P. Moller, J.R. Nix, W.D. Myers, and W.J. Switecki}, 00221 \endlatexonly 00222 At. Data Nucl. Data Tables \b 59 (1995) 185. 00223 00224 */
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