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
58namespace Lorene {
64class 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
Class for stationary axisymmetric boson stars (under development).
Definition boson_star.h:64
double omega
Coefficient omega in the time dependence of Phi.
Definition boson_star.h:80
const Scalar & get_rphi() const
Returns the real part of the scalar field.
Definition boson_star.h:146
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition boson_star.C:138
double m2
Boson mass squared.
Definition boson_star.h:92
virtual void del_deriv() const
Deletes all the derived quantities.
Definition boson_star.C:130
double mmm
Boson mass.
Definition boson_star.h:88
Scalar rphi
Real part of the scalar field Phi.
Definition boson_star.h:72
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.
const Scalar & get_iphi() const
Returns the imaginary part of the scalar field.
Definition boson_star.h:150
int kkk
Coefficient kkk in the azimuthal dependence of Phi.
Definition boson_star.h:84
virtual ~Boson_star()
Destructor.
Definition boson_star.C:119
void operator=(const Boson_star &)
Assignment to another Boson_star.
Definition boson_star.C:148
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:211
Scalar & set_rphi()
Sets a value to the real part of the scalar field.
Definition boson_star.h:154
Scalar iphi
Imaginary part of the scalar field Phi.
Definition boson_star.h:76
virtual void sauve(FILE *) const
Save in a file.
Definition boson_star.C:169
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition boson_star.C:183
Scalar & set_iphi()
Sets a value to the imaginary part of the scalar field.
Definition boson_star.h:158
Basic integer array class.
Definition itbl.h:122
Base class for coordinate mappings.
Definition map.h:670
Parameter storage.
Definition param.h:125
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:387
Base class for axisymmetric stationary compact stars in Quasi-Isotropic coordinates (under developmen...
Definition compobj.h:487
Basic array class.
Definition tbl.h:161
Lorene prototypes.
Definition app_hor.h:64