LORENE
compobj.h
1/*
2 * Definition of Lorene class Compobj, Compobj_QI, Star_QI, Kerr_QI, AltBH_QI, HiggsMonopole, ScalarBH
3 *
4 */
5
6/*
7 * Copyright (c) 2012, 2013 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 __COMPOBJ_H_
27#define __COMPOBJ_H_
28
29/*
30 * $Id: compobj.h,v 1.21 2018/11/16 14:34:34 j_novak Exp $
31 * $Log: compobj.h,v $
32 * Revision 1.21 2018/11/16 14:34:34 j_novak
33 * Changed minor points to avoid some compilation warnings.
34 *
35 * Revision 1.20 2015/11/05 17:31:21 f_vincent
36 * Updated class scalarBH.
37 *
38 * Revision 1.19 2015/10/22 09:18:35 f_vincent
39 * New class ScalarBH
40 *
41 * Revision 1.18 2014/10/13 08:52:33 j_novak
42 * Lorene classes and functions now belong to the namespace Lorene.
43 *
44 * Revision 1.17 2014/05/16 11:55:19 o_straub
45 * fixed: GYOTO output from compobj & compobj_QI
46 *
47 * Revision 1.16 2014/01/31 15:34:54 e_gourgoulhon
48 * Added members to class HiggsMonopole
49 *
50 * Revision 1.15 2014/01/29 16:29:16 e_gourgoulhon
51 * Added new class HiggsMonopole
52 *
53 * Revision 1.14 2014/01/14 20:53:39 e_gourgoulhon
54 * Updated documentation of r_isco
55 *
56 * Revision 1.13 2013/07/25 19:44:45 o_straub
57 * calculation of the marginally bound radius
58 *
59 * Revision 1.12 2013/04/17 13:01:50 e_gourgoulhon
60 * Some modifications in the class AltBH_QI
61 *
62 * Revision 1.11 2013/04/16 15:26:45 e_gourgoulhon
63 * Added class AltBH_QI
64 *
65 * Revision 1.10 2013/04/04 15:31:34 e_gourgoulhon
66 * r_isco returns now the coordinate r, not the areal r
67 *
68 * Revision 1.9 2013/04/03 12:08:57 e_gourgoulhon
69 * Added member kk to Compobj; suppressed tkij
70 *
71 * Revision 1.8 2013/04/02 23:17:18 e_gourgoulhon
72 * New class Kerr_QI
73 *
74 * Revision 1.7 2012/12/03 15:26:14 c_some
75 * Added data member m2
76 *
77 * Revision 1.6 2012/11/22 16:02:18 c_some
78 * *** empty log message ***
79 *
80 * Revision 1.5 2012/11/21 14:52:13 c_some
81 * Documentation corrected
82 *
83 * Revision 1.4 2012/11/20 16:21:16 c_some
84 * Added new class Star_QI
85 *
86 * Revision 1.3 2012/11/16 16:13:12 c_some
87 * Added new class Compobj_QI
88 *
89 * Revision 1.2 2012/11/15 20:50:41 e_gourgoulhon
90 * Corrected the documentation
91 *
92 * Revision 1.1 2012/11/15 16:20:51 c_some
93 * New class Compobj
94 *
95 *
96 * $Header: /cvsroot/Lorene/C++/Include/compobj.h,v 1.21 2018/11/16 14:34:34 j_novak Exp $
97 *
98 */
99
100
101// Headers Lorene
102#include "tensor.h"
103#include "metric.h"
104
105
106//---------------------------//
107// base class Compobj //
108//---------------------------//
109
110namespace Lorene {
129 class Compobj {
130
131 // Data :
132 // -----
133 protected:
135 Map& mp ;
136
139
142
145
148
151
154
157
158 // Derived data :
159 // ------------
160 protected:
161 mutable double* p_adm_mass ;
162
163 // Constructors - Destructor
164 // -------------------------
165 public:
171 Compobj(Map& map_i) ;
172
173 Compobj(const Compobj& ) ;
174
181 Compobj(Map& map_i, FILE* ) ;
182
183 virtual ~Compobj() ;
184
185
186 // Memory management
187 // -----------------
188 protected:
190 virtual void del_deriv() const ;
191
193 void set_der_0x0() const ;
194
195
196 // Mutators / assignment
197 // ---------------------
198 public:
200 void operator=(const Compobj&) ;
201
203 Map& set_mp() {return mp; } ;
204
205
206 // Accessors
207 // ---------
208 public:
210 const Map& get_mp() const {return mp; } ;
211
213 const Scalar& get_nn() const {return nn;} ;
214
216 const Vector& get_beta() const {return beta;} ;
217
219 const Metric& get_gamma() const {return gamma;} ;
220
222 const Scalar& get_ener_euler() const {return ener_euler;} ;
223
225 const Vector& get_mom_euler() const {return mom_euler;} ;
226
228 const Sym_tensor& get_stress_euler() const {return stress_euler;} ;
229
231 const Sym_tensor& get_kk() const {return kk;} ;
232
233
234
235
236 // Outputs
237 // -------
238 public:
239 virtual void sauve(FILE *) const ;
240
241 void gyoto_data(const char* file_name) const ;
242
243
244
246 friend ostream& operator<<(ostream& , const Compobj& ) ;
247
248 protected:
250 virtual ostream& operator>>(ostream& ) const ;
251
252 // Computational methods
253 // ---------------------
254 public:
256 virtual void extrinsic_curvature() ;
257
258
259 // Global quantities
260 // -----------------
261 public:
263 virtual double adm_mass() const ;
264 };
265
266
267 //---------------------------//
268 // base class Compobj_QI //
269 //---------------------------//
270
283 class Compobj_QI : public Compobj {
284
285 // Data :
286 // -----
287 protected:
288
291
294
297
300
319
320
321 // Derived data :
322 // ------------
323 protected:
324 mutable double* p_angu_mom ;
325 mutable double* p_r_isco ;
326 mutable double* p_f_isco ;
328 mutable double* p_espec_isco ;
330 mutable double* p_lspec_isco ;
331 mutable double* p_r_mb ;
332
333 // Constructors - Destructor
334 // -------------------------
335 public:
341 Compobj_QI(Map& map_i) ;
342
343 Compobj_QI(const Compobj_QI& ) ;
344
351 Compobj_QI(Map& map_i, FILE* ) ;
352
353 virtual ~Compobj_QI() ;
354
355
356 // Memory management
357 // -----------------
358 protected:
360 virtual void del_deriv() const ;
361
363 void set_der_0x0() const ;
364
365
366 // Mutators / assignment
367 // ---------------------
368 public:
370 void operator=(const Compobj_QI&) ;
371
372
373 // Accessors
374 // ---------
375 public:
376
378 const Scalar& get_bbb() const {return bbb;} ;
379
381 const Scalar& get_a_car() const {return a_car;} ;
382
384 const Scalar& get_b_car() const {return b_car;} ;
385
387 const Scalar& get_nphi() const {return nphi;} ;
388
389
407 const Scalar& get_ak_car() const {return ak_car;} ;
408
409
410
411
412
413
414 // Outputs
415 // -------
416 public:
417 virtual void sauve(FILE *) const ;
418
419 void gyoto_data(const char* file_name) const ;
420
421
422 protected:
424 virtual ostream& operator>>(ostream& ) const ;
425
426 // Global quantities
427 // -----------------
428 public:
429 virtual double angu_mom() const ;
430
441 virtual double r_isco(int lmin, ostream* ost = 0x0) const ;
442
444 virtual double f_isco(int lmin) const ;
445
447 virtual double espec_isco(int lmin) const ;
448
450 virtual double lspec_isco(int lmin) const ;
451
453 virtual double r_mb(int lmin, ostream* ost = 0x0) const ;
454
455
456 // Computational routines
457 // ----------------------
458
463 virtual void update_metric() ;
464
468 virtual void extrinsic_curvature() ;
469
470 };
471
472
473 //--------------------------//
474 // base class Star_QI //
475 //--------------------------//
476
490 class Star_QI : public Compobj_QI {
491
492 // Data :
493 // -----
494 protected:
495
499
504
509
514
517
520
533
543
549
555
560
565
573
582
583
584 // Derived data :
585 // ------------
586 protected:
587
588 mutable double* p_grv2 ;
589 mutable double* p_grv3 ;
590 mutable double* p_mom_quad ;
591 mutable double* p_mass_g ;
592
593
594 // Constructors - Destructor
595 // -------------------------
596 public:
602 Star_QI(Map& mp_i) ;
603
604
605 Star_QI(const Star_QI& ) ;
606
613 Star_QI(Map& mp_i, FILE* fich) ;
614
615 virtual ~Star_QI() ;
616
617
618 // Memory management
619 // -----------------
620 protected:
622 virtual void del_deriv() const ;
623
625 virtual void set_der_0x0() const ;
626
627 // Mutators / assignment
628 // ---------------------
629 public:
631 void operator=(const Star_QI& ) ;
632
633 // Accessors
634 // ---------
635 public:
636
639 const Scalar& get_logn() const {return logn;} ;
640
641
645 const Scalar& get_tnphi() const {return tnphi;} ;
646
650 const Scalar& get_nuf() const {return nuf;} ;
651
655 const Scalar& get_nuq() const {return nuq;} ;
656
658 const Scalar& get_dzeta() const {return dzeta;} ;
659
661 const Scalar& get_tggg() const {return tggg;} ;
662
675 const Vector& get_w_shift() const {return w_shift;} ;
676
689 const Scalar& get_khi_shift() const {return khi_shift;} ;
690
691
692 // Outputs
693 // -------
694 public:
695 virtual void sauve(FILE* ) const ;
696
697 protected:
699 virtual ostream& operator>>(ostream& ) const ;
700
701 // Global quantities
702 // -----------------
703 public:
704
705 virtual double mass_g() const ;
706 virtual double angu_mom() const ;
707
711 virtual double grv2() const ;
712
724 virtual double grv3(ostream* ost = 0x0) const ;
725
735 virtual double mom_quad() const ;
736
737
738 // Computational routines
739 // ----------------------
740 public:
741
752 void update_metric() ;
753
762 void fait_shift() ;
763
767 void fait_nphi() ;
768
798 static double lambda_grv2(const Scalar& sou_m, const Scalar& sou_q) ;
799
800 };
801
802
803 //---------------------//
804 // class Kerr_QI //
805 //---------------------//
806
819 class Kerr_QI : public Compobj_QI {
820
821 // Data :
822 // -----
823 protected:
824
827 double mm ;
828
831 double aa ;
832
833
834 // Derived data :
835 // ------------
836 protected:
837
838
839 // Constructors - Destructor
840 // -------------------------
841 public:
849 Kerr_QI(Map& mp_i, double mass, double a_over_m) ;
850
851
852 Kerr_QI(const Kerr_QI& ) ;
853
860 Kerr_QI(Map& mp_i, FILE* fich) ;
861
862 virtual ~Kerr_QI() ;
863
864 // Memory management
865 // -----------------
866 protected:
868 virtual void del_deriv() const ;
869
871 virtual void set_der_0x0() const ;
872
873 // Mutators / assignment
874 // ---------------------
875 public:
877 void operator=(const Kerr_QI& ) ;
878
879 // Accessors
880 // ---------
881 public:
882
883 // Outputs
884 // -------
885 public:
886 virtual void sauve(FILE* ) const ;
887
888 protected:
890 virtual ostream& operator>>(ostream& ) const ;
891
892 // Global quantities
893 // -----------------
894 public:
895
896
897 // Computational routines
898 // ----------------------
899 public:
900
901
902 };
903
904 //-------------------//
905 // class AltBH_QI //
906 //-------------------//
907
920 class AltBH_QI : public Compobj_QI {
921
922 // Data :
923 // -----
924 protected:
925
926 char description1[256] ;
927 char description2[256] ;
928 double a_spin ;
929
931
932 // Derived data :
933 // ------------
934 protected:
935
936
937 // Constructors - Destructor
938 // -------------------------
939 public:
947 AltBH_QI(Map& mp_i, const char* file_name, double a_spin_i) ;
948
949
950 AltBH_QI(const AltBH_QI& ) ;
951
958 AltBH_QI(Map& mp_i, FILE* fich) ;
959
960 virtual ~AltBH_QI() ;
961
962 // Memory management
963 // -----------------
964 protected:
966 virtual void del_deriv() const ;
967
969 virtual void set_der_0x0() const ;
970
971 // Mutators / assignment
972 // ---------------------
973 public:
975 void operator=(const AltBH_QI& ) ;
976
977 // Accessors
978 // ---------
979 public:
980
982 const Scalar& get_krphi() const {return krphi;} ;
983
984 // Outputs
985 // -------
986 public:
987 virtual void sauve(FILE* ) const ;
988
989 protected:
991 virtual ostream& operator>>(ostream& ) const ;
992
993 // Global quantities
994 // -----------------
995 public:
996
997
998 // Computational routines
999 // ----------------------
1000 public:
1001
1003 virtual void extrinsic_curvature() ;
1004
1005 };
1006
1007 //-------------------//
1008 // class ScalarBH //
1009 //-------------------//
1010
1023 class ScalarBH : public Compobj {
1024
1025 // Data :
1026 // -----
1027 protected:
1028
1029 //char description1[256] ; ///< String describing the model
1030 // char description2[256] ; ///< String describing the model
1036 double rHor ;
1037
1038 // Constructors - Destructor
1039 // -------------------------
1040 public:
1048 ScalarBH(Map& mp_i, const char* file_name) ;
1049
1050 ScalarBH(const ScalarBH& ) ;
1051
1058 ScalarBH(Map& mp_i, FILE* fich) ;
1059
1060 virtual ~ScalarBH() ;
1061
1062 // Memory management
1063 // -----------------
1064 protected:
1066 virtual void del_deriv() const ;
1067
1069 virtual void set_der_0x0() const ;
1070
1071 // Mutators / assignment
1072 // ---------------------
1073 public:
1075 void operator=(const ScalarBH& ) ;
1076
1077 // Accessors
1078 // ---------
1079 public:
1081 const Scalar& get_ff0() const {return ff0; } ;
1082 const Scalar& get_ff1() const {return ff1; } ;
1083 const Scalar& get_ff2() const {return ff2; } ;
1084 const Scalar& get_ww() const {return ww; } ;
1085 const Scalar& get_sfield() const {return sfield; } ;
1086 double get_rHor() const {return rHor; } ;
1087
1088 // Outputs
1089 // -------
1090 public:
1091 virtual void sauve(FILE* ) const ;
1092
1093 protected:
1095 virtual ostream& operator>>(ostream& ) const ;
1096
1097 // Global quantities
1098 // -----------------
1099 public:
1100
1101
1102 // Computational routines
1103 // ----------------------
1104 public:
1105 virtual void update_metric();
1106 };
1107
1108
1109 //------------------------//
1110 // class HiggsMonopole //
1111 //------------------------//
1112
1119 class HiggsMonopole : public Compobj {
1120
1121 // Data :
1122 // -----
1123 protected:
1124
1125 char description1[256] ;
1126 char description2[256] ;
1127
1129
1131
1133
1134 // Derived data :
1135 // ------------
1136 protected:
1137
1138
1139 // Constructors - Destructor
1140 // -------------------------
1141 public:
1148 HiggsMonopole(Map& mp_i, const char* file_name) ;
1149
1150 HiggsMonopole(const HiggsMonopole& ) ;
1151
1152 virtual ~HiggsMonopole() ;
1153
1154 // Memory management
1155 // -----------------
1156 protected:
1158 // virtual void del_deriv() const ;
1159
1161 // virtual void set_der_0x0() const ;
1162
1163 // Mutators / assignment
1164 // ---------------------
1165 public:
1167 // void operator=(const AltBH_QI& ) ;
1168
1169 // Accessors
1170 // ---------
1171 public:
1172
1174 const Scalar& get_higgs() const {return hh;} ;
1175
1177 const Scalar& get_grr() const {return grr;} ;
1178
1180 const Scalar& get_press() const {return press;} ;
1181
1182 // Outputs
1183 // -------
1184 public:
1185 // virtual void sauve(FILE* ) const ; ///< Save in a file
1186
1187 protected:
1189 virtual ostream& operator>>(ostream& ) const ;
1190
1191 // Global quantities
1192 // -----------------
1193 public:
1194
1195
1196 // Computational routines
1197 // ----------------------
1198 public:
1199
1201 // virtual void extrinsic_curvature() ;
1202
1203 };
1204
1205
1206
1207
1208}
1209#endif
char description2[256]
String describing the model.
Definition compobj.h:927
void operator=(const AltBH_QI &)
Assignment to another AltBH_QI.
Definition altBH_QI.C:229
AltBH_QI(Map &mp_i, const char *file_name, double a_spin_i)
Standard constructor.
Definition altBH_QI.C:72
virtual ~AltBH_QI()
Destructor.
Definition altBH_QI.C:199
char description1[256]
String describing the model.
Definition compobj.h:926
virtual void del_deriv() const
Deletes all the derived quantities.
Definition altBH_QI.C:210
Scalar krphi
K_{(r)(phi)} read in the file.
Definition compobj.h:930
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition altBH_QI.C:251
double a_spin
Spin parameter of the model.
Definition compobj.h:928
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition altBH_QI.C:219
virtual void extrinsic_curvature()
Computation of the extrinsic curvature.
Definition altBH_QI.C:272
virtual void sauve(FILE *) const
Save in a file.
Definition altBH_QI.C:243
const Scalar & get_krphi() const
Returns K_{(r)(phi)}/sin(theta).
Definition compobj.h:982
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition compobj_QI.C:181
double * p_lspec_isco
Specific angular momentum of a particle at the ISCO.
Definition compobj.h:330
virtual double f_isco(int lmin) const
Orbital frequency at the innermost stable circular orbit (ISCO).
virtual void extrinsic_curvature()
Computes the extrinsic curvature and ak_car from nphi , nn and b_car .
Definition compobj_QI.C:342
double * p_r_mb
Coordinate r of the marginally bound orbit.
Definition compobj.h:331
void operator=(const Compobj_QI &)
Assignment to another Compobj_QI.
Definition compobj_QI.C:198
double * p_r_isco
Coordinate r of the ISCO.
Definition compobj.h:325
virtual void sauve(FILE *) const
Save in a file.
Definition compobj_QI.C:219
void gyoto_data(const char *file_name) const
Save in a file for GYOTO.
Definition compobj_QI.C:235
virtual double lspec_isco(int lmin) const
Angular momentum of a particle at the ISCO.
virtual double angu_mom() const
Angular momentum.
virtual double r_isco(int lmin, ostream *ost=0x0) const
Coordinate r of the innermost stable circular orbit (ISCO).
Scalar nphi
Metric coefficient .
Definition compobj.h:299
virtual void del_deriv() const
Deletes all the derived quantities.
Definition compobj_QI.C:166
Compobj_QI(Map &map_i)
Standard constructor.
Definition compobj_QI.C:89
Scalar ak_car
Scalar .
Definition compobj.h:318
virtual ~Compobj_QI()
Destructor.
Definition compobj_QI.C:155
virtual void update_metric()
Updates the 3-metric from A and B and the shift vector from .
Definition compobj_QI.C:305
virtual double espec_isco(int lmin) const
Energy of a particle at the ISCO.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition compobj_QI.C:267
const Scalar & get_b_car() const
Returns the square of the metric factor B.
Definition compobj.h:384
Scalar b_car
Square of the metric factor B.
Definition compobj.h:296
Scalar bbb
Metric factor B.
Definition compobj.h:293
const Scalar & get_a_car() const
Returns the square of the metric factor A.
Definition compobj.h:381
double * p_espec_isco
Specific energy of a particle at the ISCO.
Definition compobj.h:328
Scalar a_car
Square of the metric factor A.
Definition compobj.h:290
const Scalar & get_ak_car() const
Returns the scalar .
Definition compobj.h:407
double * p_angu_mom
Angular momentum.
Definition compobj.h:324
double * p_f_isco
Orbital frequency of the ISCO.
Definition compobj.h:326
const Scalar & get_bbb() const
Returns the metric factor B.
Definition compobj.h:378
const Scalar & get_nphi() const
Returns the metric coefficient .
Definition compobj.h:387
virtual double r_mb(int lmin, ostream *ost=0x0) const
Coordinate r of the marginally bound circular orbit (R_mb).
Base class for stationary compact objects (under development).
Definition compobj.h:129
virtual double adm_mass() const
ADM mass (computed as a surface integral at spatial infinity).
Definition compobj.C:313
Sym_tensor kk
Extrinsic curvature tensor .
Definition compobj.h:156
Map & set_mp()
Read/write of the mapping.
Definition compobj.h:203
Vector mom_euler
Total 3-momentum density in the Eulerian frame.
Definition compobj.h:150
const Scalar & get_nn() const
Returns the lapse function N .
Definition compobj.h:213
const Sym_tensor & get_kk() const
Returns the extrinsic curvature tensor .
Definition compobj.h:231
const Vector & get_beta() const
Returns the shift vector .
Definition compobj.h:216
friend ostream & operator<<(ostream &, const Compobj &)
Display.
Definition compobj.C:236
virtual void del_deriv() const
Deletes all the derived quantities.
Definition compobj.C:158
Sym_tensor stress_euler
Stress tensor with respect to the Eulerian observer.
Definition compobj.h:153
Scalar ener_euler
Total energy density E in the Eulerian frame.
Definition compobj.h:147
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition compobj.C:166
void operator=(const Compobj &)
Assignment to another Compobj.
Definition compobj.C:178
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition compobj.C:242
const Sym_tensor & get_stress_euler() const
Returns the stress tensor with respect to the Eulerian observer.
Definition compobj.h:228
Metric gamma
3-metric
Definition compobj.h:144
Compobj(Map &map_i)
Standard constructor.
Definition compobj.C:85
virtual void sauve(FILE *) const
Save in a file.
Definition compobj.C:199
Scalar nn
Lapse function N .
Definition compobj.h:138
const Scalar & get_ener_euler() const
Returns the total energy density E in the Eulerian frame.
Definition compobj.h:222
const Metric & get_gamma() const
Returns the 3-metric .
Definition compobj.h:219
Vector beta
Shift vector .
Definition compobj.h:141
const Vector & get_mom_euler() const
Returns the total 3-momentum density in the Eulerian frame.
Definition compobj.h:225
void gyoto_data(const char *file_name) const
Save in a file for GYOTO.
Definition compobj.C:213
double * p_adm_mass
ADM mass.
Definition compobj.h:161
virtual void extrinsic_curvature()
Computation of the extrinsic curvature.
Definition compobj.C:293
const Map & get_mp() const
Returns the mapping.
Definition compobj.h:210
virtual ~Compobj()
Destructor.
Definition compobj.C:147
Map & mp
Mapping describing the coordinate system (r,theta,phi).
Definition compobj.h:135
HiggsMonopole(Map &mp_i, const char *file_name)
Standard constructor.
const Scalar & get_press() const
Returns the fluid pressure.
Definition compobj.h:1180
const Scalar & get_higgs() const
Deletes all the derived quantities.
Definition compobj.h:1174
const Scalar & get_grr() const
Returns the metric coefficient g_rr.
Definition compobj.h:1177
Scalar hh
Higgs scalar field.
Definition compobj.h:1128
virtual ~HiggsMonopole()
Destructor.
Scalar press
Fluid pressure.
Definition compobj.h:1132
char description2[256]
String describing the model.
Definition compobj.h:1126
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
char description1[256]
String describing the model.
Definition compobj.h:1125
Scalar grr
Metric coefficient g_rr.
Definition compobj.h:1130
virtual ~Kerr_QI()
Destructor.
Definition kerr_QI.C:154
virtual void del_deriv() const
Deletes all the derived quantities.
Definition kerr_QI.C:165
double mm
mass parameter
Definition compobj.h:827
Kerr_QI(Map &mp_i, double mass, double a_over_m)
Standard constructor.
Definition kerr_QI.C:71
void operator=(const Kerr_QI &)
Assignment to another Kerr_QI.
Definition kerr_QI.C:184
double aa
angular momentum parameter
Definition compobj.h:831
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition kerr_QI.C:174
virtual void sauve(FILE *) const
Save in a file.
Definition kerr_QI.C:201
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition kerr_QI.C:209
Metric for tensor calculation.
Definition metric.h:90
Scalar ff0
Metric field F_0 of Herdeiro & Radu (2015).
Definition compobj.h:1031
Scalar ff2
Metric field F_2 of Herdeiro & Radu (2015).
Definition compobj.h:1033
ScalarBH(Map &mp_i, const char *file_name)
Standard constructor.
Definition scalarBH.C:75
Scalar ff1
Metric field F_1 of Herdeiro & Radu (2015).
Definition compobj.h:1032
const Scalar & get_ff0() const
Returns f0.
Definition compobj.h:1081
double rHor
Event horizon coordinate radius.
Definition compobj.h:1036
Scalar sfield
Scalar field (modulus of Phi).
Definition compobj.h:1035
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition scalarBH.C:412
void operator=(const ScalarBH &)
Assignment to another ScalarBH.
Definition scalarBH.C:422
virtual ~ScalarBH()
Destructor.
Definition scalarBH.C:392
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition scalarBH.C:444
virtual void sauve(FILE *) const
Save in a file.
Definition scalarBH.C:436
Scalar ww
Metric field W of Herdeiro & Radu (2015).
Definition compobj.h:1034
virtual void del_deriv() const
Deletes all the derived quantities.
Definition scalarBH.C:403
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:393
const Vector & get_w_shift() const
Returns the vector used in the decomposition of shift , following Shibata's prescription [Prog.
Definition compobj.h:675
void fait_shift()
Computes shift from w_shift and khi_shift according to Shibata's prescription [Prog.
Definition star_QI.C:343
Vector w_shift
Vector used in the decomposition of shift , following Shibata's prescription [Prog.
Definition compobj.h:532
const Scalar & get_tggg() const
Returns the Metric potential .
Definition compobj.h:661
virtual double grv2() const
Error on the virial identity GRV2.
double * p_grv2
Error on the virial identity GRV2.
Definition compobj.h:588
Scalar logn
Logarithm of the lapse N .
Definition compobj.h:498
double * p_mass_g
Gravitational mass (ADM mass as a volume integral).
Definition compobj.h:591
Scalar nuq
Part of the Metric potential = logn generated by the quadratic terms.
Definition compobj.h:513
Scalar ssjm1_khi
Effective source at the previous step for the resolution of the Poisson equation for the scalar by m...
Definition compobj.h:572
virtual double grv3(ostream *ost=0x0) const
Error on the virial identity GRV3.
Star_QI(Map &mp_i)
Standard constructor.
Definition star_QI.C:71
virtual void sauve(FILE *) const
Save in a file.
Definition star_QI.C:282
virtual double mom_quad() const
Quadrupole moment.
virtual ~Star_QI()
Destructor.
Definition star_QI.C:214
Scalar nuf
Part of the Metric potential = logn generated by the matter terms.
Definition compobj.h:508
const Scalar & get_dzeta() const
Returns the Metric potential .
Definition compobj.h:658
Scalar ssjm1_nuq
Effective source at the previous step for the resolution of the Poisson equation for nuq by means of ...
Definition compobj.h:554
void update_metric()
Computes metric coefficients from known potentials.
Definition star_QI.C:413
const Scalar & get_nuf() const
Returns the part of the Metric potential = logn generated by the matter terms.
Definition compobj.h:650
double * p_grv3
Error on the virial identity GRV3.
Definition compobj.h:589
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition star_QI.C:303
Vector ssjm1_wshift
Effective source at the previous step for the resolution of the vector Poisson equation for .
Definition compobj.h:581
void fait_nphi()
Computes tnphi and nphi from the Cartesian components of the shift, stored in shift .
Definition star_QI.C:389
static double lambda_grv2(const Scalar &sou_m, const Scalar &sou_q)
Computes the coefficient which ensures that the GRV2 virial identity is satisfied.
virtual double angu_mom() const
Angular momentum.
const Scalar & get_tnphi() const
Returns the component of the shift vector.
Definition compobj.h:645
Scalar khi_shift
Scalar used in the decomposition of shift , following Shibata's prescription [Prog.
Definition compobj.h:542
Scalar ssjm1_nuf
Effective source at the previous step for the resolution of the Poisson equation for nuf by means of ...
Definition compobj.h:548
virtual void del_deriv() const
Deletes all the derived quantities.
Definition star_QI.C:225
virtual double mass_g() const
Gravitational mass.
void operator=(const Star_QI &)
Assignment to another Star_QI.
Definition star_QI.C:253
const Scalar & get_nuq() const
Returns the Part of the Metric potential = logn generated by the quadratic terms.
Definition compobj.h:655
Scalar tggg
Metric potential .
Definition compobj.h:519
Scalar tnphi
Component of the shift vector.
Definition compobj.h:503
const Scalar & get_khi_shift() const
Returns the scalar used in the decomposition of shift following Shibata's prescription [Prog.
Definition compobj.h:689
const Scalar & get_logn() const
Returns the logarithm of the lapse N.
Definition compobj.h:639
Scalar ssjm1_tggg
Effective source at the previous step for the resolution of the Poisson equation for tggg .
Definition compobj.h:564
Scalar ssjm1_dzeta
Effective source at the previous step for the resolution of the Poisson equation for dzeta .
Definition compobj.h:559
double * p_mom_quad
Quadrupole moment.
Definition compobj.h:590
Scalar dzeta
Metric potential .
Definition compobj.h:516
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition star_QI.C:238
Class intended to describe valence-2 symmetric tensors.
Definition sym_tensor.h:226
Tensor field of valence 1.
Definition vector.h:188
Lorene prototypes.
Definition app_hor.h:67
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
Definition map.C:142