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
36namespace Lorene {
37class Eos ;
38
39 //--------------------------//
40 // class Gravastar //
41 //--------------------------//
42
49class 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
Equation of state base class.
Definition eos.h:190
Class for perfect fluid rotating gravastar.
Definition gravastar.h:49
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition gravastar.C:185
~Gravastar()
Destructor.
Definition gravastar.C:59
Gravastar(Map &mp_i, const Eos &eos_i, FILE *fich)
Constructor from a file (see sauve(FILE*) ).
double rho_core
Energy density in gravastar's core.
Definition gravastar.h:57
Gravastar(const Gravastar &)
Copy constructor.
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.
void operator=(const Gravastar &)
Assignment to another Gravastar.
void equation_of_state()
Allows to computes the proper baryon and energy density, as well as pressure from the enthalpy,...
Definition gravastar.C:67
Basic integer array class.
Definition itbl.h:122
Base class for coordinate mappings.
Definition map.h:670
Parameter storage.
Definition param.h:125
Class for isolated rotating stars.
Definition star_rot.h:86
Basic array class.
Definition tbl.h:161
Lorene prototypes.
Definition app_hor.h:64