00001 /* 00002 ------------------------------------------------------------------- 00003 00004 Copyright (C) 2006, 2007, 2008, 2009, 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 #ifndef O2SCL_QUARK_EOS_H 00024 #define O2SCL_QUARK_EOS_H 00025 00026 #include <iostream> 00027 #include <o2scl/eos.h> 00028 #include <o2scl/quark.h> 00029 #include <o2scl/deriv.h> 00030 #include <o2scl/mroot.h> 00031 00032 #ifndef DOXYGENP 00033 namespace o2scl { 00034 #endif 00035 00036 /** 00037 \brief Quark matter equation of state base 00038 */ 00039 class quark_eos : public eos { 00040 public: 00041 quark_eos(); 00042 00043 virtual ~quark_eos() {}; 00044 00045 /// Calculate equation of state as a function of chemical potentials 00046 virtual int calc_p(quark &u, quark &d, quark &s, thermo &th); 00047 00048 /// Calculate equation of state as a function of density 00049 virtual int calc_e(quark &u, quark &d, quark &s, thermo &th); 00050 00051 /// Calculate equation of state as a function of chemical potentials 00052 virtual int calc_temp_p(quark &u, quark &d, quark &s, 00053 const double temper, thermo &th); 00054 00055 /// Calculate equation of state as a function of density 00056 virtual int calc_temp_e(quark &u, quark &d, quark &s, 00057 const double temper, thermo &th); 00058 00059 /// Return string denoting type ("quark_eos") 00060 virtual const char *type() { return "quark_eos"; } 00061 00062 protected: 00063 00064 #ifndef DOXYGEN_INTERNAL 00065 00066 friend class quark_eos_io; 00067 00068 #endif 00069 00070 }; 00071 00072 template<> int io_tlate<quark_eos>::input 00073 (cinput *co, in_file_format *ins, quark_eos *sk); 00074 template<> int io_tlate<quark_eos>::output 00075 (coutput *co, out_file_format *outs, quark_eos *sk); 00076 template<> const char *io_tlate<quark_eos>::type(); 00077 00078 typedef io_tlate<quark_eos> quark_eos_io_type; 00079 00080 #ifndef DOXYGENP 00081 } 00082 #endif 00083 00084 #endif 00085 00086 00087
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