LORENE
hole_bhns.C
1 /*
2  * Methods of class Hole_bhns
3  *
4  * (see file hole_bhns.h for documentation).
5  *
6  */
7 
8 /*
9  * Copyright (c) 2005-2007 Keisuke Taniguchi
10  *
11  * This file is part of LORENE.
12  *
13  * LORENE is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License version 2
15  * as published by the Free Software Foundation.
16  *
17  * LORENE is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with LORENE; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25  *
26  */
27 
28 
29 
30 /*
31  * $Id: hole_bhns.C,v 1.5 2016/12/05 16:17:55 j_novak Exp $
32  * $Log: hole_bhns.C,v $
33  * Revision 1.5 2016/12/05 16:17:55 j_novak
34  * Suppression of some global variables (file names, loch, ...) to prevent redefinitions
35  *
36  * Revision 1.4 2014/10/13 08:52:59 j_novak
37  * Lorene classes and functions now belong to the namespace Lorene.
38  *
39  * Revision 1.3 2014/10/06 15:13:10 j_novak
40  * Modified #include directives to use c++ syntax.
41  *
42  * Revision 1.2 2008/05/15 19:03:00 k_taniguchi
43  * Change of some parameters.
44  *
45  * Revision 1.1 2007/06/22 01:24:16 k_taniguchi
46  * *** empty log message ***
47  *
48  *
49  * $Header: /cvsroot/Lorene/C++/Source/Hole_bhns/hole_bhns.C,v 1.5 2016/12/05 16:17:55 j_novak Exp $
50  *
51  */
52 
53 // C++ headers
54 //#include <>
55 
56 // C headers
57 #include <cmath>
58 
59 // Lorene headers
60 #include "hole_bhns.h"
61 #include "unites.h"
62 
63 
64  //----------------------//
65  // Constructors //
66  //----------------------//
67 
68 // Standard constructor
69 // --------------------
70 namespace Lorene {
71 Hole_bhns::Hole_bhns(Map& mp_i, bool kerrschild_i, bool bc_nd_i,
72  bool bc_fs_i, bool irrot_i, double massbh)
73  : Black_hole(mp_i, kerrschild_i, massbh),
74  bc_lapconf_nd(bc_nd_i),
75  bc_lapconf_fs(bc_fs_i),
76  irrotational(irrot_i),
77  lapconf_auto_rs(mp_i),
78  lapconf_auto_bh(mp_i),
79  lapconf_auto(mp_i),
80  lapconf_comp(mp_i),
81  lapconf_tot(mp_i),
82  lapse_auto(mp_i),
83  lapse_tot(mp_i),
84  d_lapconf_auto_rs(mp_i, COV, mp_i.get_bvect_cart()),
85  d_lapconf_auto_bh(mp_i, COV, mp_i.get_bvect_cart()),
86  d_lapconf_auto(mp_i, COV, mp_i.get_bvect_cart()),
87  d_lapconf_comp(mp_i, COV, mp_i.get_bvect_cart()),
88  shift_auto_rs(mp_i, CON, mp_i.get_bvect_cart()),
89  shift_auto_bh(mp_i, CON, mp_i.get_bvect_cart()),
90  shift_auto(mp_i, CON, mp_i.get_bvect_cart()),
91  shift_comp(mp_i, CON, mp_i.get_bvect_cart()),
92  shift_tot(mp_i, CON, mp_i.get_bvect_cart()),
93  d_shift_auto_rs(mp_i, 2, CON, mp_i.get_bvect_cart()),
94  d_shift_auto_bh(mp_i, 2, CON, mp_i.get_bvect_cart()),
95  d_shift_auto(mp_i, 2, CON, mp_i.get_bvect_cart()),
96  d_shift_comp(mp_i, 2, CON, mp_i.get_bvect_cart()),
97  confo_auto_rs(mp_i),
98  confo_auto_bh(mp_i),
99  confo_auto(mp_i),
100  confo_comp(mp_i),
101  confo_tot(mp_i),
102  d_confo_auto_rs(mp_i, COV, mp_i.get_bvect_cart()),
103  d_confo_auto_bh(mp_i, COV, mp_i.get_bvect_cart()),
104  d_confo_auto(mp_i, COV, mp_i.get_bvect_cart()),
105  d_confo_comp(mp_i, COV, mp_i.get_bvect_cart()),
106  taij_tot_rs(mp_i, CON, mp_i.get_bvect_cart()),
107  taij_tot_rot(mp_i, CON, mp_i.get_bvect_cart()),
108  taij_tot_bh(mp_i, CON, mp_i.get_bvect_cart()),
109  taij_tot(mp_i, CON, mp_i.get_bvect_cart()),
110  taij_auto_rs(mp_i, CON, mp_i.get_bvect_cart()),
111  taij_auto(mp_i, CON, mp_i.get_bvect_cart()),
112  taij_comp(mp_i, CON, mp_i.get_bvect_cart()),
113  taij_quad_tot_rs(mp_i),
114  taij_quad_tot_rot(mp_i),
115  taij_quad_tot_bh(mp_i),
116  taij_quad_tot(mp_i),
117  taij_quad_auto(mp_i),
118  taij_quad_comp(mp_i)
119 {
120 
121  omega_spin = 0. ;
122 
123  // The metric quantities are initialized to the flat one or zero
124  lapconf_auto_rs = 0. ;
126  lapconf_auto_bh = 1. ;
128  lapconf_auto = 1. ;
130  lapconf_comp = 0. ;
132  lapconf_tot = 1. ;
134 
135  lapse_auto = 1. ;
137  lapse_tot = 1. ;
139 
144 
150 
155 
156  confo_auto_rs = 0. ;
158  confo_auto_bh = 1. ;
160  confo_auto = 1. ;
162  confo_comp = 0. ;
164  confo_tot = 1. ;
166 
171 
179 
180  taij_quad_tot_rs = 0. ;
182  taij_quad_tot_rot = 0. ;
184  taij_quad_tot_bh = 0. ;
186  taij_quad_tot = 0. ;
188  taij_quad_auto = 0. ;
190  taij_quad_comp = 0. ;
192 
193  // Pointers of derived quantities initialized to zero :
194  set_der_0x0() ;
195 
196 }
197 
198 // Copy constructor
199 // ----------------
201  : Black_hole(hole),
202  bc_lapconf_nd(hole.bc_lapconf_nd),
203  bc_lapconf_fs(hole.bc_lapconf_fs),
204  irrotational(hole.irrotational),
205  omega_spin(hole.omega_spin),
206  lapconf_auto_rs(hole.lapconf_auto_rs),
207  lapconf_auto_bh(hole.lapconf_auto_bh),
208  lapconf_auto(hole.lapconf_auto),
209  lapconf_comp(hole.lapconf_comp),
210  lapconf_tot(hole.lapconf_tot),
211  lapse_auto(hole.lapse_auto),
212  lapse_tot(hole.lapse_tot),
213  d_lapconf_auto_rs(hole.d_lapconf_auto_rs),
214  d_lapconf_auto_bh(hole.d_lapconf_auto_bh),
215  d_lapconf_auto(hole.d_lapconf_auto),
216  d_lapconf_comp(hole.d_lapconf_comp),
217  shift_auto_rs(hole.shift_auto_rs),
218  shift_auto_bh(hole.shift_auto_bh),
219  shift_auto(hole.shift_auto),
220  shift_comp(hole.shift_comp),
221  shift_tot(hole.shift_tot),
222  d_shift_auto_rs(hole.d_shift_auto_rs),
223  d_shift_auto_bh(hole.d_shift_auto_bh),
224  d_shift_auto(hole.d_shift_auto),
225  d_shift_comp(hole.d_shift_comp),
226  confo_auto_rs(hole.confo_auto_rs),
227  confo_auto_bh(hole.confo_auto_bh),
228  confo_auto(hole.confo_auto),
229  confo_comp(hole.confo_comp),
230  confo_tot(hole.confo_tot),
231  d_confo_auto_rs(hole.d_confo_auto_rs),
232  d_confo_auto_bh(hole.d_confo_auto_bh),
233  d_confo_auto(hole.d_confo_auto),
234  d_confo_comp(hole.d_confo_comp),
235  taij_tot_rs(hole.taij_tot_rs),
236  taij_tot_rot(hole.taij_tot_rot),
237  taij_tot_bh(hole.taij_tot_bh),
238  taij_tot(hole.taij_tot),
239  taij_auto_rs(hole.taij_auto_rs),
240  taij_auto(hole.taij_auto),
241  taij_comp(hole.taij_comp),
242  taij_quad_tot_rs(hole.taij_quad_tot_rs),
243  taij_quad_tot_rot(hole.taij_quad_tot_rot),
244  taij_quad_tot_bh(hole.taij_quad_tot_bh),
245  taij_quad_tot(hole.taij_quad_tot),
246  taij_quad_auto(hole.taij_quad_auto),
247  taij_quad_comp(hole.taij_quad_comp)
248 {
249  set_der_0x0() ;
250 }
251 
252 // Constructor from a file
253 // -----------------------
254 Hole_bhns::Hole_bhns(Map& mp_i, FILE* fich)
255  : Black_hole(mp_i, fich),
256  lapconf_auto_rs(mp_i, *(mp_i.get_mg()), fich),
257  lapconf_auto_bh(mp_i),
258  lapconf_auto(mp_i),
259  lapconf_comp(mp_i),
260  lapconf_tot(mp_i),
261  lapse_auto(mp_i),
262  lapse_tot(mp_i),
263  d_lapconf_auto_rs(mp_i, COV, mp_i.get_bvect_cart()),
264  d_lapconf_auto_bh(mp_i, COV, mp_i.get_bvect_cart()),
265  d_lapconf_auto(mp_i, COV, mp_i.get_bvect_cart()),
266  d_lapconf_comp(mp_i, COV, mp_i.get_bvect_cart()),
267  shift_auto_rs(mp_i, mp_i.get_bvect_cart(), fich),
268  shift_auto_bh(mp_i, CON, mp_i.get_bvect_cart()),
269  shift_auto(mp_i, CON, mp_i.get_bvect_cart()),
270  shift_comp(mp_i, CON, mp_i.get_bvect_cart()),
271  shift_tot(mp_i, CON, mp_i.get_bvect_cart()),
272  d_shift_auto_rs(mp_i, 2, CON, mp_i.get_bvect_cart()),
273  d_shift_auto_bh(mp_i, 2, CON, mp_i.get_bvect_cart()),
274  d_shift_auto(mp_i, 2, CON, mp_i.get_bvect_cart()),
275  d_shift_comp(mp_i, 2, CON, mp_i.get_bvect_cart()),
276  confo_auto_rs(mp_i, *(mp_i.get_mg()), fich),
277  confo_auto_bh(mp_i),
278  confo_auto(mp_i),
279  confo_comp(mp_i),
280  confo_tot(mp_i),
281  d_confo_auto_rs(mp_i, COV, mp_i.get_bvect_cart()),
282  d_confo_auto_bh(mp_i, COV, mp_i.get_bvect_cart()),
283  d_confo_auto(mp_i, COV, mp_i.get_bvect_cart()),
284  d_confo_comp(mp_i, COV, mp_i.get_bvect_cart()),
285  taij_tot_rs(mp_i, CON, mp_i.get_bvect_cart()),
286  taij_tot_rot(mp_i, CON, mp_i.get_bvect_cart()),
287  taij_tot_bh(mp_i, CON, mp_i.get_bvect_cart()),
288  taij_tot(mp_i, CON, mp_i.get_bvect_cart()),
289  taij_auto_rs(mp_i, CON, mp_i.get_bvect_cart()),
290  taij_auto(mp_i, CON, mp_i.get_bvect_cart()),
291  taij_comp(mp_i, CON, mp_i.get_bvect_cart()),
292  taij_quad_tot_rs(mp_i),
293  taij_quad_tot_rot(mp_i),
294  taij_quad_tot_bh(mp_i),
295  taij_quad_tot(mp_i),
296  taij_quad_auto(mp_i),
297  taij_quad_comp(mp_i)
298 {
299 
300  // bc_lapconf_nd, bc_lapconf_fs, irrotational, and omega_spin
301  // are read from the file
302  fread(&bc_lapconf_nd, sizeof(bool), 1, fich) ;
303  fread(&bc_lapconf_fs, sizeof(bool), 1, fich) ;
304  fread(&irrotational, sizeof(bool), 1, fich) ;
305  fread(&omega_spin, sizeof(double), 1, fich) ;
306 
307  // All other quantities are initialized to zero
308  // --------------------------------------------
309 
310  lapconf_auto_bh = 1. ;
312  lapconf_auto = 1. ;
314  lapconf_comp = 0. ;
316  lapconf_tot = 1. ;
318 
319  lapse_auto = 1. ;
321  lapse_tot = 1. ;
323 
328 
337 
338  confo_auto_bh = 1. ;
340  confo_auto = 1. ;
342  confo_comp = 0. ;
344  confo_tot = 1. ;
346 
351 
359  taij_quad_tot_rs = 0. ;
361  taij_quad_tot_rot = 0. ;
363  taij_quad_tot_bh = 0. ;
365  taij_quad_tot = 0. ;
367  taij_quad_auto = 0. ;
369  taij_quad_comp = 0. ;
371 
372  // Pointers of derived quantities initialized to zero
373  // --------------------------------------------------
374  set_der_0x0() ;
375 
376 }
377 
378 
379  //--------------------//
380  // Destructor //
381  //--------------------//
382 
384 {
385 
386  del_deriv() ;
387 
388 }
389 
390 
391  //------------------------------------------//
392  // Management of derived quantities //
393  //------------------------------------------//
394 
395 void Hole_bhns::del_deriv() const {
396 
398 
399  if (p_mass_irr_bhns != 0x0) delete p_mass_irr_bhns ;
400  if (p_spin_am_bhns != 0x0) delete p_spin_am_bhns ;
401 
402  set_der_0x0() ;
403 
404 }
405 
407 
409 
410  p_mass_irr_bhns = 0x0 ;
411  p_spin_am_bhns = 0x0 ;
412 
413 }
414 
415 
416  //--------------------//
417  // Assignment //
418  //--------------------//
419 
420 // Assignment to another Hole_bhns
421 // -------------------------------
422 void Hole_bhns::operator=(const Hole_bhns& hole) {
423 
424  // Assignment of quantities common to the derived classes of Black_hole
425  Black_hole::operator=(hole) ;
426 
427  // Assignment of proper quantities of class Hole_bhns
430  irrotational = hole.irrotational ;
431  omega_spin = hole.omega_spin ;
434  lapconf_auto = hole.lapconf_auto ;
435  lapconf_comp = hole.lapconf_comp ;
436  lapconf_tot = hole.lapconf_tot ;
437  lapse_auto = hole.lapse_auto ;
438  lapse_tot = hole.lapse_tot ;
445  shift_auto = hole.shift_auto ;
446  shift_comp = hole.shift_comp ;
447  shift_tot = hole.shift_tot ;
450  d_shift_auto = hole.d_shift_auto ;
451  d_shift_comp = hole.d_shift_comp ;
454  confo_auto = hole.confo_auto ;
455  confo_comp = hole.confo_comp ;
456  confo_tot = hole.confo_tot ;
459  d_confo_auto = hole.d_confo_auto ;
460  d_confo_comp = hole.d_confo_comp ;
461  taij_tot_rs = hole.taij_tot_rs ;
462  taij_tot_rot = hole.taij_tot_rot ;
463  taij_tot_bh = hole.taij_tot_bh ;
464  taij_tot = hole.taij_tot ;
465  taij_auto_rs = hole.taij_auto_rs ;
466  taij_auto = hole.taij_auto ;
467  taij_comp = hole.taij_comp ;
474 
475  del_deriv() ;
476 
477 }
478 
479 
481 
482  del_deriv() ;
483  return lapconf_auto_rs ;
484 
485 }
486 
488 
489  del_deriv() ;
490  return lapconf_auto_bh ;
491 
492 }
493 
495 
496  del_deriv() ;
497  return lapconf_auto ;
498 
499 }
500 
502 
503  del_deriv() ;
504  return lapconf_comp ;
505 
506 }
507 
509 
510  del_deriv() ;
511  return lapconf_tot ;
512 
513 }
514 
516 
517  del_deriv() ;
518  return lapse_auto ;
519 
520 }
521 
523 
524  del_deriv() ;
525  return lapse_tot ;
526 
527 }
528 
530 
531  del_deriv() ;
532  return shift_auto_rs ;
533 
534 }
535 
537 
538  del_deriv() ;
539  return shift_auto_bh ;
540 
541 }
542 
544 
545  del_deriv() ;
546  return shift_auto ;
547 
548 }
549 
551 
552  del_deriv() ;
553  return shift_comp ;
554 
555 }
556 
558 
559  del_deriv() ;
560  return shift_tot ;
561 
562 }
563 
565 
566  del_deriv() ;
567  return confo_auto_rs ;
568 
569 }
570 
572 
573  del_deriv() ;
574  return confo_auto_bh ;
575 
576 }
577 
579 
580  del_deriv() ;
581  return confo_auto ;
582 
583 }
584 
586 
587  del_deriv() ;
588  return confo_comp ;
589 
590 }
591 
593 
594  del_deriv() ;
595  return confo_tot ;
596 
597 }
598 
599 
600  //-----------------//
601  // Outputs //
602  //-----------------//
603 
604 // Save in a file
605 // --------------
606 void Hole_bhns::sauve(FILE* fich) const {
607 
608  Black_hole::sauve(fich) ;
609 
610  lapconf_auto_rs.sauve(fich) ;
611  shift_auto_rs.sauve(fich) ;
612  confo_auto_rs.sauve(fich) ;
613 
614  fwrite(&bc_lapconf_nd, sizeof(bool), 1, fich) ;
615  fwrite(&bc_lapconf_fs, sizeof(bool), 1, fich) ;
616  fwrite(&irrotational, sizeof(bool), 1, fich) ;
617  fwrite(&omega_spin, sizeof(double), 1, fich) ;
618 
619 }
620 
621 // Printing
622 // --------
623 ostream& Hole_bhns::operator>>(ostream& ost) const {
624 
625  using namespace Unites ;
626 
627  // Black_hole::operator>>(ost) ;
628 
629  ost << endl ;
630  ost << "Black hole in a BHNS binary" << endl ;
631  ost << "---------------------------" << endl ;
632 
633  int nt = mp.get_mg()->get_nt(1) ;
634 
635  ost << "Irreducible mass of BH : "
636  << mass_irr_bhns() / msol << " [Mo]" << endl ;
637  ost << "Mass in the background : "
638  << mass_bh / msol << " [Mo]" << endl ;
639  ost << "Radius of the apparent horison : "
640  << rad_ah() / km << " [km]" << endl ;
641  ost << "Spin angular velocity : "
642  << omega_spin * f_unit << " [rad/s]" << endl ;
643  ost << "Lapse function on the AH : "
644  << lapse_tot.val_grid_point(1,0,nt-1,0) << endl ;
645  ost << "Conformal factor on the AH : "
646  << confo_tot.val_grid_point(1,0,nt-1,0) << endl ;
647  ost << "shift(1) on the AH : "
648  << shift_tot(1).val_grid_point(1,0,nt-1,0) << endl ;
649  ost << "shift(2) on the AH : "
650  << shift_tot(2).val_grid_point(1,0,nt-1,0) << endl ;
651  ost << "shift(3) on the AH : "
652  << shift_tot(3).val_grid_point(1,0,nt-1,0) << endl ;
653 
654  return ost ;
655 
656 }
657 
658  //--------------------------------//
659  // Computational routines //
660  //--------------------------------//
661 
662 void Hole_bhns::relax_bhns(const Hole_bhns& hole_prev,
663  double relax_met, int mer, int fmer_met) {
664 
665  double relax_met_jm1 = 1. - relax_met ;
666 
667  if ( (mer != 0) && (mer % fmer_met == 0)) {
668 
669  lapconf_auto_rs = relax_met * lapconf_auto_rs
670  + relax_met_jm1 * hole_prev.lapconf_auto_rs ;
671 
672  shift_auto_rs = relax_met * shift_auto_rs
673  + relax_met_jm1 * hole_prev.shift_auto_rs ;
674 
675  confo_auto_rs = relax_met * confo_auto_rs
676  + relax_met_jm1 * hole_prev.confo_auto_rs ;
677 
678  }
679 
680  del_deriv() ;
681 
682 }
683 
684 }
Map & mp
Mapping associated with the black hole.
Definition: blackhole.h:80
Sym_tensor taij_auto
Part of the extrinsic curvature tensor generated by the black hole.
Definition: hole_bhns.h:216
Scalar lapconf_auto_bh
Part of the lapconf function from the analytic background.
Definition: hole_bhns.h:92
Vector & set_shift_comp()
Read/write of the shift vector generated by the companion star.
Definition: hole_bhns.C:550
Scalar taij_quad_comp
Part of the scalar from the companion star.
Definition: hole_bhns.h:241
void operator=(const Hole_bhns &)
Assignment to another Hole_bhns.
Definition: hole_bhns.C:422
Vector d_confo_auto
Derivative of the conformal factor generated by the black hole.
Definition: hole_bhns.h:182
virtual void del_deriv() const
Deletes all the derived quantities.
Definition: blackhole.C:208
Sym_tensor taij_tot_rot
Part of the extrinsic curvature tensor from the rotation shift vector.
Definition: hole_bhns.h:195
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition: hole_bhns.C:406
Scalar confo_auto
Conformal factor generated by the black hole.
Definition: hole_bhns.h:163
Lorene prototypes.
Definition: app_hor.h:67
virtual void sauve(FILE *) const
Save in a file.
Definition: blackhole.C:270
double mass_bh
Gravitational mass of BH.
Definition: blackhole.h:88
Sym_tensor taij_tot_bh
Part of the extrinsic curvature tensor from the analytic background.
Definition: hole_bhns.h:200
Standard units of space, time and mass.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Definition: map.h:783
Scalar & set_confo_tot()
Read/write of the total conformal factor.
Definition: hole_bhns.C:592
Tensor field of valence 0 (or component of a tensorial field).
Definition: scalar.h:393
Vector d_lapconf_auto_bh
Derivative of the part of the lapconf function from the analytic background.
Definition: hole_bhns.h:117
Base class for coordinate mappings.
Definition: map.h:688
Vector shift_auto
Shift vector generated by the black hole.
Definition: hole_bhns.h:132
Scalar & set_lapse_tot()
Read/write of the total lapse function.
Definition: hole_bhns.C:522
Vector d_lapconf_auto
Derivative of the lapconf function generated by the black hole.
Definition: hole_bhns.h:120
Tensor d_shift_auto
Derivative of the shift vector generated by the black hole.
Definition: hole_bhns.h:151
Sym_tensor taij_comp
Part of the extrinsic curvature tensor generated by the companion star.
Definition: hole_bhns.h:221
Vector shift_tot
Total shift vector ;.
Definition: hole_bhns.h:138
Vector & set_shift_auto_rs()
Read/write of the shift vector generated by the black hole.
Definition: hole_bhns.C:529
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
Definition: scalar.C:790
Scalar & set_confo_comp()
Read/write of the conformal factor generated by the companion star.
Definition: hole_bhns.C:585
virtual void sauve(FILE *) const
Save in a binary file.
Definition: tensor.C:915
bool irrotational
true for an irrotational black hole, false for a corotating one
Definition: hole_bhns.h:83
void operator=(const Black_hole &)
Assignment to another Black_hole.
Definition: blackhole.C:239
Tensor d_shift_comp
Derivative of the shift vector generated by the companion star.
Definition: hole_bhns.h:154
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:662
Tensor field of valence 1.
Definition: vector.h:188
Scalar & set_confo_auto_bh()
Read/write of the conformal factor generated by the black hole.
Definition: hole_bhns.C:571
Sym_tensor taij_auto_rs
Part of the extrinsic curvature tensor numericalty computed for the black hole.
Definition: hole_bhns.h:211
double * p_spin_am_bhns
Irreducible mass of BH.
Definition: hole_bhns.h:248
double val_grid_point(int l, int k, int j, int i) const
Returns the value of the field at a specified grid point.
Definition: scalar.h:643
Scalar lapconf_comp
Lapconf function generated by the companion star.
Definition: hole_bhns.h:98
Hole_bhns(Map &mp_i, bool kerrschild_i, bool bc_lapconf_nd, bool bc_lapconf_fs, bool irrotational, double massbh)
Standard constructor.
Definition: hole_bhns.C:71
Tensor d_shift_auto_bh
Derivative of the part of the shift vector from the analytic background.
Definition: hole_bhns.h:148
Scalar & set_lapse_auto()
Read/write of the lapse function generated by the black hole.
Definition: hole_bhns.C:515
Vector & set_shift_auto()
Read/write of the shift vector generated by the black hole.
Definition: hole_bhns.C:543
Scalar confo_auto_rs
Part of the conformal factor from the numerical computation.
Definition: hole_bhns.h:157
virtual void sauve(FILE *) const
Save in a file.
Definition: scalar.C:692
Scalar lapse_tot
Total lapse function.
Definition: hole_bhns.h:107
Vector d_lapconf_comp
Derivative of the lapconf function generated by the companion star.
Definition: hole_bhns.h:123
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 & set_lapconf_auto_rs()
Read/write of the lapconf function generated by the black hole.
Definition: hole_bhns.C:480
virtual void sauve(FILE *) const
Save in a file.
Definition: hole_bhns.C:606
Scalar confo_comp
Conformal factor generated by the companion star.
Definition: hole_bhns.h:166
Vector & set_shift_tot()
Read/write of the total shift vector.
Definition: hole_bhns.C:557
Scalar taij_quad_auto
Part of the scalar from the black hole.
Definition: hole_bhns.h:238
Vector shift_auto_rs
Part of the shift vector from the numerical computation.
Definition: hole_bhns.h:126
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<)
Definition: hole_bhns.C:623
Base class for black holes.
Definition: blackhole.h:74
Vector shift_comp
Shift vector generated by the companion star.
Definition: hole_bhns.h:135
virtual double rad_ah() const
Radius of the apparent horizon.
Scalar & set_confo_auto()
Read/write of the conformal factor generated by the black hole.
Definition: hole_bhns.C:578
Vector & set_shift_auto_bh()
Read/write of the shift vector generated by the black hole.
Definition: hole_bhns.C:536
Scalar & set_lapconf_comp()
Read/write of the lapconf function generated by the companion star.
Definition: hole_bhns.C:501
Vector d_lapconf_auto_rs
Derivative of the part of the lapconf function from the numerical computation.
Definition: hole_bhns.h:112
Tensor d_shift_auto_rs
Derivative of the part of the shift vector from the numerical computation.
Definition: hole_bhns.h:143
Vector d_confo_auto_bh
Derivative of the part of the conformal factor from the analytic background.
Definition: hole_bhns.h:179
Class for black holes in black hole-neutron star binaries.
Definition: hole_bhns.h:65
Sym_tensor taij_tot
Total extrinsic curvature tensor generated by shift_tot , lapse_tot , and confo_tot ...
Definition: hole_bhns.h:206
Scalar lapconf_auto
Lapconf function generated by the black hole.
Definition: hole_bhns.h:95
Scalar confo_tot
Total conformal factor.
Definition: hole_bhns.h:169
Scalar & set_lapconf_auto()
Read/write of the lapconf function generated by the black hole.
Definition: hole_bhns.C:494
Scalar taij_quad_tot
Total scalar generated by .
Definition: hole_bhns.h:235
double omega_spin
Spin angular velocity of the black hole.
Definition: hole_bhns.h:86
Vector d_confo_comp
Derivative of the conformal factor generated by the companion star.
Definition: hole_bhns.h:185
Sym_tensor taij_tot_rs
Part of the extrinsic curvature tensor from the numerical computation.
Definition: hole_bhns.h:190
Scalar taij_quad_tot_rot
Part of the scalar from the rotation shift vector.
Definition: hole_bhns.h:227
Scalar lapconf_auto_rs
Part of the lapconf function from the numerical computation.
Definition: hole_bhns.h:89
virtual double mass_irr_bhns() const
Irreducible mass of the black hole.
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
Vector d_confo_auto_rs
Derivative of the part of the conformal factor from the numerical computation.
Definition: hole_bhns.h:174
Scalar & set_lapconf_tot()
Read/write of the total lapconf function.
Definition: hole_bhns.C:508
virtual void set_etat_zero()
Sets the logical state of all components to ETATZERO (zero state).
Definition: tensor.C:506
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
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
Definition: grilles.h:474
Scalar & set_confo_auto_rs()
Read/write of the conformal factor generated by the black hole.
Definition: hole_bhns.C:564
Scalar taij_quad_tot_bh
Part of the scalar from the analytic background.
Definition: hole_bhns.h:230
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition: blackhole.C:221
virtual ~Hole_bhns()
Destructor.
Definition: hole_bhns.C:383
Scalar & set_lapconf_auto_bh()
Read/write of the lapconf function generated by the black hole.
Definition: hole_bhns.C:487
virtual void del_deriv() const
Deletes all the derived quantities.
Definition: hole_bhns.C:395
Scalar lapconf_tot
Total lapconf function.
Definition: hole_bhns.h:101
Scalar taij_quad_tot_rs
Part of the scalar from the numerical computation.
Definition: hole_bhns.h:224
Scalar confo_auto_bh
Part of the conformal factor from the analytic background.
Definition: hole_bhns.h:160