LORENE
boson_star.h
1 /*
2  * Definition of Lorene class Boson_star
3  *
4  */
5 
6 /*
7  * Copyright (c) 2012 Claire Some, Eric Gourgoulhon
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 version 2
13  * as published by the Free Software Foundation.
14  *
15  * LORENE is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with LORENE; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */
25 
26 #ifndef __BOSON_STAR_H_
27 #define __BOSON_STAR_H_
28 
29 /*
30  * $Id: boson_star.h,v 1.4 2014/10/13 08:52:32 j_novak Exp $
31  * $Log: boson_star.h,v $
32  * Revision 1.4 2014/10/13 08:52:32 j_novak
33  * Lorene classes and functions now belong to the namespace Lorene.
34  *
35  * Revision 1.3 2012/12/03 15:26:14 c_some
36  * Added data member m2
37  *
38  * Revision 1.2 2012/11/23 15:42:14 c_some
39  * Small changes
40  *
41  * Revision 1.1 2012/11/22 16:03:16 c_some
42  * New class Boson_star
43  *
44  *
45  * $Header: /cvsroot/Lorene/C++/Include/boson_star.h,v 1.4 2014/10/13 08:52:32 j_novak Exp $
46  *
47  */
48 
49 
50 // Headers Lorene
51 #include "compobj.h"
52 
53 
54  //--------------------------//
55  // class Boson_star //
56  //--------------------------//
57 
58 namespace Lorene {
64 class Boson_star : public Star_QI {
65 
66  // Data :
67  // -----
68  protected:
69 
73 
77 
80  double omega ;
81 
84  int kkk ;
85 
88  double mmm ;
89 
92  double m2 ;
93 
94 
95  // Derived data :
96  // ------------
97  protected:
98 
99  // Constructors - Destructor
100  // -------------------------
101  public:
109  Boson_star(Map& mp_i, double m, int k) ;
110 
111 
112  Boson_star(const Boson_star& ) ;
113 
120  Boson_star(Map& mp_i, FILE* fich) ;
121 
122  virtual ~Boson_star() ;
123 
124 
125  // Memory management
126  // -----------------
127  protected:
129  virtual void del_deriv() const ;
130 
132  virtual void set_der_0x0() const ;
133 
134  // Mutators / assignment
135  // ---------------------
136  public:
138  void operator=(const Boson_star& ) ;
139 
140  // Accessors
141  // ---------
142  public:
143 
146  const Scalar& get_rphi() const {return rphi;} ;
147 
150  const Scalar& get_iphi() const {return iphi;} ;
151 
154  Scalar& set_rphi() {del_deriv(); return rphi;} ;
155 
158  Scalar& set_iphi() {del_deriv(); return iphi;} ;
159 
160 
161  // Outputs
162  // -------
163  public:
164  virtual void sauve(FILE* ) const ;
165 
166  protected:
168  virtual ostream& operator>>(ostream& ) const ;
169 
170  // Global quantities
171  // -----------------
172  public:
173 
174 
175  // Computational routines
176  // ----------------------
177  public:
178 
182  void update_ener_mom() ;
183 
186  // void solve_phi() ;
187 
259  virtual void equilibrium(double rphi_c, double iphi_c,
260  int nzadapt, const Tbl& ent_limit,
261  const Itbl& icontrol, const Tbl& control,
262  Tbl& diff, Param* = 0x0) ;
263 
264 };
265 
266 
267 }
268 #endif
void operator=(const Boson_star &)
Assignment to another Boson_star.
Definition: boson_star.C:151
Scalar iphi
Imaginary part of the scalar field Phi.
Definition: boson_star.h:76
Lorene prototypes.
Definition: app_hor.h:67
Tensor field of valence 0 (or component of a tensorial field).
Definition: scalar.h:393
const Scalar & get_rphi() const
Returns the real part of the scalar field.
Definition: boson_star.h:146
double omega
Coefficient omega in the time dependence of Phi.
Definition: boson_star.h:80
Base class for coordinate mappings.
Definition: map.h:688
void update_ener_mom()
Computes the 3+1 components of the energy-momentum tensor (E, P_i and S_{ij}) from the values of the ...
Definition: boson_star.C:214
Basic integer array class.
Definition: itbl.h:122
double mmm
Boson mass.
Definition: boson_star.h:88
const Scalar & get_iphi() const
Returns the imaginary part of the scalar field.
Definition: boson_star.h:150
Base class for axisymmetric stationary compact stars in Quasi-Isotropic coordinates (under developmen...
Definition: compobj.h:490
double m2
Boson mass squared.
Definition: boson_star.h:92
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition: boson_star.C:141
Boson_star(Map &mp_i, double m, int k)
Standard constructor.
Definition: boson_star.C:67
Scalar & set_rphi()
Sets a value to the real part of the scalar field.
Definition: boson_star.h:154
Parameter storage.
Definition: param.h:125
int kkk
Coefficient kkk in the azimuthal dependence of Phi.
Definition: boson_star.h:84
Scalar rphi
Real part of the scalar field Phi.
Definition: boson_star.h:72
virtual void del_deriv() const
Deletes all the derived quantities.
Definition: boson_star.C:133
Class for stationary axisymmetric boson stars (under development).
Definition: boson_star.h:64
virtual void equilibrium(double rphi_c, double iphi_c, int nzadapt, const Tbl &ent_limit, const Itbl &icontrol, const Tbl &control, Tbl &diff, Param *=0x0)
Solves the equation satisfied by the scalar field.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition: boson_star.C:186
Basic array class.
Definition: tbl.h:164
virtual ~Boson_star()
Destructor.
Definition: boson_star.C:122
virtual void sauve(FILE *) const
Save in a file.
Definition: boson_star.C:172
Scalar & set_iphi()
Sets a value to the imaginary part of the scalar field.
Definition: boson_star.h:158