LORENE
hole_bhns.h
1/*
2 * Definition of Lorene class Hole_bhns
3 *
4 */
5
6/*
7 * Copyright (c) 2005-2007 Keisuke Taniguchi
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 __HOLE_BHNS_H_
27#define __HOLE_BHNS_H_
28
29/*
30 * $Id: hole_bhns.h,v 1.3 2014/10/13 08:52:35 j_novak Exp $
31 * $Log: hole_bhns.h,v $
32 * Revision 1.3 2014/10/13 08:52:35 j_novak
33 * Lorene classes and functions now belong to the namespace Lorene.
34 *
35 * Revision 1.2 2008/05/15 18:55:04 k_taniguchi
36 * Change of some parameters and introduction of some
37 * computational routines.
38 *
39 * Revision 1.1 2007/06/22 01:04:14 k_taniguchi
40 * *** empty log message ***
41 *
42 *
43 * $Header: /cvsroot/Lorene/C++/Include/hole_bhns.h,v 1.3 2014/10/13 08:52:35 j_novak Exp $
44 *
45 */
46
47// Headers Lorene
48#include "blackhole.h"
49#include "metric.h"
50
51namespace Lorene {
52
53// External classes which appear in the declaration of class Hole_bhns:
54class Star_bhns ;
55
56 //-------------------------//
57 // Class Hole_bhns //
58 //-------------------------//
59
65class Hole_bhns : public Black_hole {
66
67 // Data :
68 // -----
69 protected:
74
79
84
86 double omega_spin ;
87
90
93
95 Scalar lapconf_auto ; // = lapconf_auto_rs + lapconf_auto_bh
96
99
101 Scalar lapconf_tot ; // = lapconf_auto + lapconf_comp
102
104 Scalar lapse_auto ; // = lapconf_auto / confo_tot
105
107 Scalar lapse_tot ; // = lapconf_tot / confo_tot
108
113
118
121
124
127
130
133
136
139
144
149
152
155
158
161
164
167
170
175
180
183
186
191
196
201
207
212
217
222
225
228
231
236
239
242
243 // Derived data :
244 // ------------
245 protected:
246 mutable double* p_mass_irr_bhns ;
248 mutable double* p_spin_am_bhns ;
249
250 // Constructors - Destructor
251 // -------------------------
252 public:
253
258 Hole_bhns(Map& mp_i, bool kerrschild_i, bool bc_lapconf_nd,
259 bool bc_lapconf_fs, bool irrotational, double massbh) ;
260
261 Hole_bhns(const Hole_bhns& ) ;
262
269 Hole_bhns(Map& mp_i, FILE* fich) ;
270
271 virtual ~Hole_bhns() ;
272
273 // Memory management
274 // -----------------
275 protected:
277 virtual void del_deriv() const ;
278
280 void set_der_0x0() const ;
281
282
283 // Mutators / assignment
284 // ---------------------
285 public:
287 void operator=(const Hole_bhns&) ;
288
290 double& set_omega_spin() { return omega_spin ; } ;
291
294
297
300
303
306
309
312
315
318
321
324
327
330
333
336
339
342
343 // Accessors
344 // ---------
345 public:
349 bool has_bc_lapconf_nd() const {return bc_lapconf_nd; } ;
350
354 bool has_bc_lapconf_fs() const {return bc_lapconf_fs; } ;
355
359 bool is_irrotational() const {return irrotational; } ;
360
362 double get_omega_spin() const {return omega_spin; } ;
363
365 const Scalar& get_lapconf_auto_rs() const {return lapconf_auto_rs; } ;
366
370 const Scalar& get_lapconf_auto() const {return lapconf_auto; } ;
371
375 const Scalar& get_lapconf_comp() const {return lapconf_comp; } ;
376
378 const Scalar& get_lapconf_tot() const {return lapconf_tot; } ;
379
383 const Scalar& get_lapse_auto() const {return lapse_auto; } ;
384
386 const Scalar& get_lapse_tot() const {return lapse_tot; } ;
387
392 {return d_lapconf_auto_rs; } ;
393
397 const Vector& get_d_lapconf_auto() const {return d_lapconf_auto; } ;
398
402 const Vector& get_d_lapconf_comp() const {return d_lapconf_comp; } ;
403
405 const Vector& get_shift_auto_rs() const {return shift_auto_rs; } ;
406
408 const Vector& get_shift_auto() const {return shift_auto; } ;
409
413 const Vector& get_shift_comp() const {return shift_comp; } ;
414
416 const Vector& get_shift_tot() const {return shift_tot; } ;
417
421 const Tensor& get_d_shift_auto_rs() const {return d_shift_auto_rs; } ;
422
426 const Tensor& get_d_shift_auto() const {return d_shift_auto; } ;
427
431 const Tensor& get_d_shift_comp() const {return d_shift_comp; } ;
432
434 const Scalar& get_confo_auto_rs() const {return confo_auto_rs; } ;
435
439 const Scalar& get_confo_auto() const {return confo_auto; } ;
440
444 const Scalar& get_confo_comp() const {return confo_comp; } ;
445
447 const Scalar& get_confo_tot() const {return confo_tot; } ;
448
452 const Vector& get_d_confo_auto_rs() const {return d_confo_auto_rs; } ;
453
457 const Vector& get_d_confo_auto() const {return d_confo_auto; } ;
458
462 const Vector& get_d_confo_comp() const {return d_confo_comp; } ;
463
465 const Sym_tensor& get_taij_tot_rs() const {return taij_tot_rs; } ;
466
468 const Sym_tensor& get_taij_tot() const {return taij_tot; } ;
469
473 const Sym_tensor& get_taij_auto_rs() const {return taij_auto_rs; } ;
474
478 const Sym_tensor& get_taij_auto() const {return taij_auto; } ;
479
483 const Sym_tensor& get_taij_comp() const {return taij_comp; } ;
484
486 const Scalar& get_taij_quad_tot_rs() const {return taij_quad_tot_rs; } ;
489
491 const Scalar& get_taij_quad_tot() const {return taij_quad_tot; } ;
492
494 const Scalar& get_taij_quad_auto() const {return taij_quad_auto; } ;
495
497 const Scalar& get_taij_quad_comp() const {return taij_quad_comp; } ;
498
499 // Outputs
500 // -------
501 public:
502 virtual void sauve(FILE *) const ;
503
504 protected:
506 virtual ostream& operator>>(ostream& ) const ;
507
508 // Global quantities
509 // -----------------
510 public:
512 virtual double mass_irr_bhns() const ;
513
515 double spin_am_bhns(const Tbl& xi_i, const double& phi_i,
516 const double& theta_i, const int& nrk_phi,
517 const int& nrk_theta) const ;
518
519 // Computational routines
520 // ----------------------
521 public:
525 const Valeur bc_lapconf() const ;
526
530 const Valeur bc_shift_x(double ome_orb, double y_rot) const ;
531
535 const Valeur bc_shift_y(double ome_orb, double x_rot) const ;
536
540 const Valeur bc_shift_z() const ;
541
548 const Valeur bc_confo(double ome_orb, double x_rot,
549 double y_rot) const ;
550
567 void update_metric_bhns(const Star_bhns& star,
568 const Hole_bhns& hole_prev,
569 double relax) ;
570
577 void update_met_der_comp_bhns(const Star_bhns& star) ;
578
585 void extr_curv_bhns(double omega_orb, double x_rot, double y_rot) ;
586
609 void equilibrium_bhns(int mer, int mermax_bh,
610 int filter_r, int filter_r_s, int filter_p_s,
611 double x_rot, double y_rot, double precis,
612 double omega_orb, double resize_bh,
613 const Tbl& fact_resize, Tbl& diff) ;
614
625 void relax_bhns(const Hole_bhns& hole_prev,
626 double relax_met, int mer, int fmer_met) ;
627
639 Tbl runge_kutta_phi(const Tbl& xi_i, const double& phi_i,
640 const int& nrk) const ;
641
655 Tbl runge_kutta_theta(const Tbl& xi_i, const double& theta_i,
656 const double& phi, const int& nrk) const ;
657
674 Vector killing_vect(const Tbl& xi_i, const double& phi_i,
675 const double& theta_i, const int& nrk_phi,
676 const int& nrk_theta) const ;
677
678 friend class Bin_bhns ;
679
680};
681
682}
683#endif
Class for computing a black hole - neutron star binary system with comparable mass ()
Definition bin_bhns.h:63
Base class for black holes.
Definition blackhole.h:74
const Valeur bc_confo() const
Boundary condition on the apparent horizon of the black hole for the conformal factor: 2-D Valeur.
Class for black holes in black hole-neutron star binaries.
Definition hole_bhns.h:65
double spin_am_bhns(const Tbl &xi_i, const double &phi_i, const double &theta_i, const int &nrk_phi, const int &nrk_theta) const
Spin angular momentum of the black hole.
Scalar confo_auto
Conformal factor generated by the black hole.
Definition hole_bhns.h:163
bool has_bc_lapconf_nd() const
Returns true for the Neumann type BC for the lapconf function, false for the Dirichlet type BH.
Definition hole_bhns.h:349
Sym_tensor taij_tot_bh
Part of the extrinsic curvature tensor from the analytic background.
Definition hole_bhns.h:200
Scalar lapconf_auto
Lapconf function generated by the black hole.
Definition hole_bhns.h:95
Vector shift_tot
Total shift vector ;.
Definition hole_bhns.h:138
const Scalar & get_taij_quad_tot_rot() const
Returns the part of rot.
Definition hole_bhns.h:488
Scalar & set_confo_comp()
Read/write of the conformal factor generated by the companion star.
Definition hole_bhns.C:582
Sym_tensor taij_comp
Part of the extrinsic curvature tensor generated by the companion star.
Definition hole_bhns.h:221
const Vector & get_d_confo_auto_rs() const
Returns the derivative of the conformal factor generated by the black hole.
Definition hole_bhns.h:452
Vector d_lapconf_auto
Derivative of the lapconf function generated by the black hole.
Definition hole_bhns.h:120
void equilibrium_bhns(int mer, int mermax_bh, int filter_r, int filter_r_s, int filter_p_s, double x_rot, double y_rot, double precis, double omega_orb, double resize_bh, const Tbl &fact_resize, Tbl &diff)
Computes a black-hole part in a black hole-neutron star binary by giving boundary conditions on the a...
const Scalar & get_taij_quad_comp() const
Returns the part of rs generated by the companion star.
Definition hole_bhns.h:497
Tensor d_shift_auto
Derivative of the shift vector generated by the black hole.
Definition hole_bhns.h:151
double & set_omega_spin()
Sets the spin angular velocity of the black hole [{\tt f_unit}].
Definition hole_bhns.h:290
Scalar & set_lapconf_auto_bh()
Read/write of the lapconf function generated by the black hole.
Definition hole_bhns.C:484
Vector d_lapconf_auto_rs
Derivative of the part of the lapconf function from the numerical computation.
Definition hole_bhns.h:112
const Sym_tensor & get_taij_comp() const
Returns the part of the extrinsic curvature tensor generated by the companion star.
Definition hole_bhns.h:483
Sym_tensor taij_auto
Part of the extrinsic curvature tensor generated by the black hole.
Definition hole_bhns.h:216
Scalar confo_auto_bh
Part of the conformal factor from the analytic background.
Definition hole_bhns.h:160
double get_omega_spin() const
Returns the spin angular velocity of the black hole [{\tt f_unit}].
Definition hole_bhns.h:362
const Valeur bc_lapconf() const
Boundary condition on the apparent horizon of the black hole for the lapconf function: 2-D Valeur.
const Vector & get_shift_tot() const
Returns the total shift vector.
Definition hole_bhns.h:416
const Vector & get_d_lapconf_auto_rs() const
Returns the derivative of the lapconf function generated by the black hole.
Definition hole_bhns.h:391
Tensor d_shift_auto_rs
Derivative of the part of the shift vector from the numerical computation.
Definition hole_bhns.h:143
const Scalar & get_lapconf_comp() const
Returns the part of the lapconf function generated by the companion star.
Definition hole_bhns.h:375
const Tensor & get_d_shift_comp() const
Returns the derivative of the shift vector generated by the companion star.
Definition hole_bhns.h:431
Sym_tensor taij_tot_rs
Part of the extrinsic curvature tensor from the numerical computation.
Definition hole_bhns.h:190
const Scalar & get_confo_auto_rs() const
Returns the part of the conformal factor from numerical computation.
Definition hole_bhns.h:434
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<)
Definition hole_bhns.C:620
const Scalar & get_lapconf_auto_rs() const
Returns the part of the lapconf function from numerical computation.
Definition hole_bhns.h:365
Scalar taij_quad_auto
Part of the scalar from the black hole.
Definition hole_bhns.h:238
virtual ~Hole_bhns()
Destructor.
Definition hole_bhns.C:380
virtual double mass_irr_bhns() const
Irreducible mass of the black hole.
Vector & set_shift_auto()
Read/write of the shift vector generated by the black hole.
Definition hole_bhns.C:540
const Valeur bc_shift_x(double ome_orb, double y_rot) const
Boundary condition on the apparent horizon of the black hole for the shift vector of the \fx\f direct...
Vector shift_auto_rs
Part of the shift vector from the numerical computation.
Definition hole_bhns.h:126
double omega_spin
Spin angular velocity of the black hole.
Definition hole_bhns.h:86
const Scalar & get_taij_quad_tot_rs() const
Returns the part of rs.
Definition hole_bhns.h:486
Vector & set_shift_auto_rs()
Read/write of the shift vector generated by the black hole.
Definition hole_bhns.C:526
Scalar & set_confo_auto_rs()
Read/write of the conformal factor generated by the black hole.
Definition hole_bhns.C:561
virtual void del_deriv() const
Deletes all the derived quantities.
Definition hole_bhns.C:392
Tbl runge_kutta_theta(const Tbl &xi_i, const double &theta_i, const double &phi, const int &nrk) const
Compute a forth-order Runge-Kutta integration to the theta direction for the solution of the Killing ...
Tensor d_shift_auto_bh
Derivative of the part of the shift vector from the analytic background.
Definition hole_bhns.h:148
Scalar & set_lapconf_auto_rs()
Read/write of the lapconf function generated by the black hole.
Definition hole_bhns.C:477
const Vector & get_d_confo_auto() const
Returns the derivative of the conformal factor generated by the black hole.
Definition hole_bhns.h:457
const Valeur bc_shift_y(double ome_orb, double x_rot) const
Boundary condition on the apparent horizon of the black hole for the shift vector of the \fy\f direct...
Scalar & set_confo_tot()
Read/write of the total conformal factor.
Definition hole_bhns.C:589
Vector killing_vect(const Tbl &xi_i, const double &phi_i, const double &theta_i, const int &nrk_phi, const int &nrk_theta) const
Compute the Killing vector of a black hole normalized so that its affine length is 2 M_PI.
const Vector & get_shift_auto_rs() const
Returns the part of the shift vector from numerical computation.
Definition hole_bhns.h:405
void operator=(const Hole_bhns &)
Assignment to another Hole_bhns.
Definition hole_bhns.C:419
const Tensor & get_d_shift_auto() const
Returns the derivative of the shift vector generated by the black hole.
Definition hole_bhns.h:426
const Vector & get_d_lapconf_comp() const
Returns the derivative of the lapconf function generated by the companion star.
Definition hole_bhns.h:402
const Scalar & get_lapconf_auto() const
Returns the part of the lapconf function generated by the black hole.
Definition hole_bhns.h:370
void relax_bhns(const Hole_bhns &hole_prev, double relax_met, int mer, int fmer_met)
Performs a relaxation on lapse_auto , shift_auto , confo_auto .
Definition hole_bhns.C:659
bool bc_lapconf_fs
true for the first type BC for the lapconf function, false for the second type BH
Definition hole_bhns.h:78
const Sym_tensor & get_taij_tot() const
Returns the total extrinsic curvature tensor.
Definition hole_bhns.h:468
bool has_bc_lapconf_fs() const
Returns true for the first type BC for the lapconf function, false for the second type BH.
Definition hole_bhns.h:354
const Vector & get_d_lapconf_auto() const
Returns the derivative of the lapconf function generated by the black hole.
Definition hole_bhns.h:397
void update_metric_bhns(const Star_bhns &star, const Hole_bhns &hole_prev, double relax)
Computes metric coefficients from known potentials with relaxation when the companion is a black hole...
Vector d_lapconf_auto_bh
Derivative of the part of the lapconf function from the analytic background.
Definition hole_bhns.h:117
Scalar & set_confo_auto()
Read/write of the conformal factor generated by the black hole.
Definition hole_bhns.C:575
Scalar & set_lapconf_tot()
Read/write of the total lapconf function.
Definition hole_bhns.C:505
Vector d_confo_auto_rs
Derivative of the part of the conformal factor from the numerical computation.
Definition hole_bhns.h:174
const Scalar & get_confo_auto() const
Returns the part of the conformal factor generated by the black hole.
Definition hole_bhns.h:439
Scalar confo_auto_rs
Part of the conformal factor from the numerical computation.
Definition hole_bhns.h:157
Scalar taij_quad_tot_rot
Part of the scalar from the rotation shift vector.
Definition hole_bhns.h:227
const Sym_tensor & get_taij_auto() const
Returns the part of the extrinsic curvature tensor generated by the black hole.
Definition hole_bhns.h:478
const Scalar & get_confo_tot() const
Returns the total conformal factor.
Definition hole_bhns.h:447
Vector & set_shift_tot()
Read/write of the total shift vector.
Definition hole_bhns.C:554
Scalar taij_quad_tot
Total scalar generated by .
Definition hole_bhns.h:235
Scalar lapse_tot
Total lapse function.
Definition hole_bhns.h:107
Vector & set_shift_auto_bh()
Read/write of the shift vector generated by the black hole.
Definition hole_bhns.C:533
const Scalar & get_confo_comp() const
Returns the part of the conformal factor generated by the companion star.
Definition hole_bhns.h:444
Scalar & set_lapse_auto()
Read/write of the lapse function generated by the black hole.
Definition hole_bhns.C:512
Tbl runge_kutta_phi(const Tbl &xi_i, const double &phi_i, const int &nrk) const
Compute a forth-order Runge-Kutta integration to the phi direction for the solution of the Killing ve...
const Scalar & get_taij_quad_auto() const
Returns the part of rs generated by the black hole.
Definition hole_bhns.h:494
const Scalar & get_lapse_tot() const
Returns the total lapse function.
Definition hole_bhns.h:386
Sym_tensor taij_tot_rot
Part of the extrinsic curvature tensor from the rotation shift vector.
Definition hole_bhns.h:195
bool is_irrotational() const
Returns true for an irrotational black hole, false for a corotating one.
Definition hole_bhns.h:359
const Vector & get_shift_comp() const
Returns the part of the shift vector generated by the companion star.
Definition hole_bhns.h:413
Vector & set_shift_comp()
Read/write of the shift vector generated by the companion star.
Definition hole_bhns.C:547
const Valeur bc_shift_z() const
Boundary condition on the apparent horizon of the black hole for the shift vector of the \fz\f direct...
Vector d_lapconf_comp
Derivative of the lapconf function generated by the companion star.
Definition hole_bhns.h:123
Sym_tensor taij_tot
Total extrinsic curvature tensor generated by shift_tot , lapse_tot , and confo_tot .
Definition hole_bhns.h:206
Scalar lapse_auto
Lapse function of the "black hole" part.
Definition hole_bhns.h:104
Vector shift_auto_bh
Part of the shift vector from the analytic background.
Definition hole_bhns.h:129
Scalar confo_comp
Conformal factor generated by the companion star.
Definition hole_bhns.h:166
Scalar lapconf_comp
Lapconf function generated by the companion star.
Definition hole_bhns.h:98
const Scalar & get_taij_quad_tot() const
Returns the total scalar .
Definition hole_bhns.h:491
Scalar lapconf_auto_bh
Part of the lapconf function from the analytic background.
Definition hole_bhns.h:92
Vector d_confo_auto
Derivative of the conformal factor generated by the black hole.
Definition hole_bhns.h:182
virtual void sauve(FILE *) const
Save in a file.
Definition hole_bhns.C:603
Vector shift_auto
Shift vector generated by the black hole.
Definition hole_bhns.h:132
const Sym_tensor & get_taij_auto_rs() const
Returns the part of rs of the extrinsic curvature tensor generated by the black hole.
Definition hole_bhns.h:473
void update_met_der_comp_bhns(const Star_bhns &star)
Computes derivative of metric quantities from the companion neutron star.
const Sym_tensor & get_taij_tot_rs() const
Returns the part of rs of the extrinsic curvature tensor.
Definition hole_bhns.h:465
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition hole_bhns.C:403
Scalar lapconf_auto_rs
Part of the lapconf function from the numerical computation.
Definition hole_bhns.h:89
Scalar & set_lapconf_auto()
Read/write of the lapconf function generated by the black hole.
Definition hole_bhns.C:491
Vector d_confo_comp
Derivative of the conformal factor generated by the companion star.
Definition hole_bhns.h:185
Scalar taij_quad_comp
Part of the scalar from the companion star.
Definition hole_bhns.h:241
void extr_curv_bhns(double omega_orb, double x_rot, double y_rot)
Computes taij_tot , taij_quad_tot from shift_tot , lapse_tot , confo_tot .
bool bc_lapconf_nd
true for the Neumann type BC for the lapconf function, false for the Dirichlet type BH
Definition hole_bhns.h:73
const Scalar & get_lapconf_tot() const
Returns the total lapconf function.
Definition hole_bhns.h:378
Scalar & set_lapconf_comp()
Read/write of the lapconf function generated by the companion star.
Definition hole_bhns.C:498
Scalar lapconf_tot
Total lapconf function.
Definition hole_bhns.h:101
Tensor d_shift_comp
Derivative of the shift vector generated by the companion star.
Definition hole_bhns.h:154
const Vector & get_shift_auto() const
Returns the part of the shift vector generated by the black hole.
Definition hole_bhns.h:408
Vector d_confo_auto_bh
Derivative of the part of the conformal factor from the analytic background.
Definition hole_bhns.h:179
const Scalar & get_lapse_auto() const
Returns the part of the lapse function generated by the black hole.
Definition hole_bhns.h:383
Vector shift_comp
Shift vector generated by the companion star.
Definition hole_bhns.h:135
Scalar confo_tot
Total conformal factor.
Definition hole_bhns.h:169
Scalar & set_confo_auto_bh()
Read/write of the conformal factor generated by the black hole.
Definition hole_bhns.C:568
double * p_spin_am_bhns
Irreducible mass of BH.
Definition hole_bhns.h:248
Sym_tensor taij_auto_rs
Part of the extrinsic curvature tensor numericalty computed for the black hole.
Definition hole_bhns.h:211
const Tensor & get_d_shift_auto_rs() const
Returns the derivative of the shift vector generated by the black hole.
Definition hole_bhns.h:421
const Vector & get_d_confo_comp() const
Returns the derivative of the conformal factor generated by the companion star.
Definition hole_bhns.h:462
Scalar taij_quad_tot_rs
Part of the scalar from the numerical computation.
Definition hole_bhns.h:224
Scalar taij_quad_tot_bh
Part of the scalar from the analytic background.
Definition hole_bhns.h:230
bool irrotational
true for an irrotational black hole, false for a corotating one
Definition hole_bhns.h:83
Scalar & set_lapse_tot()
Read/write of the total lapse function.
Definition hole_bhns.C:519
Base class for coordinate mappings.
Definition map.h:670
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:387
Class for stars in black hole-neutron star binaries.
Definition star_bhns.h:59
Class intended to describe valence-2 symmetric tensors.
Definition sym_tensor.h:223
Basic array class.
Definition tbl.h:161
Tensor handling.
Definition tensor.h:288
Values and coefficients of a (real-value) function.
Definition valeur.h:287
Tensor field of valence 1.
Definition vector.h:188
Lorene prototypes.
Definition app_hor.h:64