LORENE
gravastar.h
1 /*
2  * Definition of Lorene class Gravastar
3  *
4  */
5 
6 /*
7  * Copyright (c) 2010 Frederic Vincent
8  *
9  * This file is part of LORENE.
10  *
11  * LORENE is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * LORENE is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with LORENE; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  *
25  */
26 
27 
28 #ifndef __GRAVASTAR_H_
29 #define __GRAVASTAR_H_
30 
31 
32 
33 // Headers Lorene
34 #include "star_rot.h"
35 
36 namespace Lorene {
37 class Eos ;
38 
39  //--------------------------//
40  // class Gravastar //
41  //--------------------------//
42 
49 class Gravastar : public Star_rot {
50 
51  // Data :
52  // -----
53  protected:
57  double rho_core;
58 
59  // Derived data :
60  // ------------
61  protected:
62 
63 
64 
65  // Constructors - Destructor
66  // -------------------------
67  public:
76  Gravastar(Map& mp_i, int nzet_i, const Eos& eos_i, const double rho_core_i) ;
77 
78 
79  Gravastar(const Gravastar& ) ;
80 
88  Gravastar(Map& mp_i, const Eos& eos_i, FILE* fich) ;
89 
90  ~Gravastar() ;
91 
92 
93  // Mutators / assignment
94  // ---------------------
95  public:
97  void operator=(const Gravastar& ) ;
98 
103  void equation_of_state() ;
104 
105  // Computational routines
106  // ----------------------
107  public:
108 
182  void equilibrium(double omega0, double fact_omega,
183  int nzadapt, const Tbl& ent_limit,
184  const Itbl& icontrol, const Tbl& control,
185  Tbl& diff, Param* = 0x0) ;
186 
187  // Outputs
188  // -------
189  public:
190 
191 
192  protected:
194  virtual ostream& operator>>(ostream& ) const ;
195 
196 };
197 
198 }
199 #endif
Class for perfect fluid rotating gravastar.
Definition: gravastar.h:49
void equation_of_state()
Allows to computes the proper baryon and energy density, as well as pressure from the enthalpy...
Definition: gravastar.C:67
Lorene prototypes.
Definition: app_hor.h:67
Equation of state base class.
Definition: eos.h:209
Base class for coordinate mappings.
Definition: map.h:682
Basic integer array class.
Definition: itbl.h:122
void operator=(const Gravastar &)
Assignment to another Gravastar.
Class for isolated rotating stars.
Definition: star_rot.h:98
~Gravastar()
Destructor.
Definition: gravastar.C:59
double rho_core
Energy density in gravastar's core.
Definition: gravastar.h:57
Parameter storage.
Definition: param.h:125
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition: gravastar.C:185
Basic array class.
Definition: tbl.h:164
void equilibrium(double omega0, double fact_omega, int nzadapt, const Tbl &ent_limit, const Itbl &icontrol, const Tbl &control, Tbl &diff, Param *=0x0)
Computes an equilibrium configuration.
Gravastar(Map &mp_i, int nzet_i, const Eos &eos_i, const double rho_core_i)
Standard constructor.
Definition: gravastar.C:51