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 00024 #ifndef O2SCL_DDC_EOS_H 00025 #define O2SCL_DDC_EOS_H 00026 00027 #include <string> 00028 #include <cmath> 00029 #include <o2scl/lib_settings.h> 00030 #include <o2scl/constants.h> 00031 #include <o2scl/collection.h> 00032 #include <o2scl/part.h> 00033 #include <o2scl/hadronic_eos.h> 00034 #include <o2scl/fermion.h> 00035 #include <o2scl/mm_funct.h> 00036 00037 #ifndef DOXYGENP 00038 namespace o2scl { 00039 #endif 00040 00041 /** 00042 \brief Relativistic mean field EOS with density dependent couplings 00043 00044 Based on \ref Typel99. 00045 00046 \todo Finite temperature 00047 */ 00048 class ddc_eos : public hadronic_eos { 00049 public: 00050 00051 /// \name Masses 00052 //@{ 00053 /// nucleon mass 00054 double mnuc; 00055 /// \f$ \phi \f$ mass (in \f$ \mathrm{fm}^{-1} \f$ ) 00056 double ms; 00057 /// \f$ A_{\omega} \f$ mass (in \f$ \mathrm{fm}^{-1} \f$ ) 00058 double mw; 00059 /// \f$ A_{\rho} \f$ mass (in \f$ \mathrm{fm}^{-1} \f$ ) 00060 double mr; 00061 //@} 00062 00063 /// \name Parameters for couplings 00064 //@{ 00065 /// The coupling \f$ \Gamma_{\sigma}(\rho_{\mathrm{sat}}) \f$ 00066 double Gs; 00067 /// The coupling \f$ \Gamma_{\omega}(\rho_{\mathrm{sat}}) \f$ 00068 double Gw; 00069 /// The coupling \f$ \Gamma_{\rho}(\rho_{\mathrm{sat}}) \f$ 00070 double Gr; 00071 /// \f$ a_{\sigma} \f$ 00072 double as; 00073 /// \f$ a_{\omega} \f$ 00074 double aw; 00075 /// \f$ a_{\rho} \f$ 00076 double ar; 00077 /// \f$ b_{\sigma} \f$ 00078 double bs; 00079 /// \f$ b_{\omega} \f$ 00080 double bw; 00081 /// \f$ c_{\sigma} \f$ 00082 double cs; 00083 /// \f$ c_{\omega} \f$ 00084 double cw; 00085 /// \f$ d_{\sigma} \f$ 00086 double ds; 00087 /// \f$ d_{\omega} \f$ 00088 double dw; 00089 //@} 00090 00091 // The saturation density 00092 double rho0; 00093 00094 ddc_eos(); 00095 00096 /** 00097 \brief Equation of state and meson field equations 00098 as a function of the density 00099 00100 This calculates the pressure and energy density as a function 00101 of \f$ \mu_n, \mu_p, \phi, A_{\omega}, A_{\rho} \f$ . When the 00102 field equations have been solved, \c f1, \c f2, and \c f3 are 00103 all zero. 00104 00105 \todo Is the thermodynamic identity is satisfied even when the 00106 field equations are not solved? Check this. 00107 */ 00108 virtual int calc_eq_e(fermion &neu, fermion &p, double sig, double ome, 00109 double rho, double &f1, double &f2, double &f3, 00110 thermo &th); 00111 00112 00113 /// Return string denoting type ("ddc_eos") 00114 virtual const char *type() { return "ddc_eos"; } 00115 00116 #ifndef DOXYGEN_INTERNAL 00117 00118 protected: 00119 00120 #endif 00121 00122 }; 00123 00124 #ifndef DOXYGENP 00125 } 00126 #endif 00127 00128 #endif