LORENE
isol_hor.h
1 /*
2  * Definition of Lorene class Isol_Hor
3  *
4  */
5 
6 /*
7  * Copyright (c) 2004-2005 Jose Luis Jaramillo
8  * Francois Limousin
9  *
10  * This file is part of LORENE.
11  *
12  * LORENE is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License version 2
14  * as published by the Free Software Foundation.
15  *
16  * LORENE is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with LORENE; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  *
25  */
26 
27 #ifndef __Isol_hor_H_
28 #define __Isol_hor_H_
29 
30 /*
31  * $Id: isol_hor.h,v 1.54 2014/10/13 08:52:35 j_novak Exp $
32  * $Log: isol_hor.h,v $
33  * Revision 1.54 2014/10/13 08:52:35 j_novak
34  * Lorene classes and functions now belong to the namespace Lorene.
35  *
36  * Revision 1.53 2007/08/22 16:10:37 f_limousin
37  * Correction of many errors in binhor_hh.C
38  *
39  * Revision 1.52 2007/04/13 15:29:44 f_limousin
40  * Lots of improvements, generalisation to an arbitrary state of
41  * rotation, implementation of the spatial metric given by Samaya.
42  *
43  * Revision 1.51 2006/08/01 14:36:25 f_limousin
44  * New argument for the functions vv_bound_cart_bin( )
45  *
46  * Revision 1.50 2006/06/29 08:58:57 f_limousin
47  * Boundary conditions in argument of write_global()
48  *
49  * Revision 1.49 2006/06/28 13:36:26 f_limousin
50  * Convergence to a given irreductible mass
51  *
52  * Revision 1.48 2006/05/24 16:53:51 f_limousin
53  * Funtion import(Bin_hor&)
54  *
55  * Revision 1.47 2006/02/22 16:55:42 f_limousin
56  * boundary_nn_Neu_kk(int nn = 1)
57  *
58  * Revision 1.46 2006/02/22 16:20:54 jl_jaramillo
59  * 2nc correction Valeur boundary_nn_Neu_kk(int nn)
60  *
61  * Revision 1.45 2006/02/20 16:48:14 jl_jaramillo
62  * corrections numerical viscosity
63  *
64  * Revision 1.44 2006/02/20 15:01:37 jl_jaramillo
65  * function for computing generalised Conformal THin Sandwich eqautions
66  *
67  * Revision 1.43 2006/01/18 12:29:18 jl_jaramillo
68  * new method (chi,theta) for the spherically symmetric case
69  *
70  * Revision 1.42 2006/01/16 17:15:34 jl_jaramillo
71  * function for solving the spherical case
72  *
73  * Revision 1.41 2005/11/02 16:10:38 jl_jaramillo
74  * change in boundary_nn_Dir_lapl
75  *
76  * Revision 1.40 2005/10/24 16:45:16 jl_jaramillo
77  * Cook boundary condition
78  *
79  * Revision 1.39 2005/10/23 12:32:00 f_limousin
80  * Pure Dirichlet boundary condition for Psi.
81  *
82  * Revision 1.38 2005/09/13 18:33:17 f_limousin
83  * New function vv_bound_cart_bin(double) for computing binaries with
84  * berlin condition for the shift vector.
85  * Suppress all the symy and asymy in the importations.
86  *
87  * Revision 1.37 2005/07/11 08:19:54 f_limousin
88  * New function axi_break() to compute the departure to axisymmetry.
89  *
90  * Revision 1.36 2005/06/09 07:56:24 f_limousin
91  * Implement a new function sol_elliptic_boundary() and
92  * Vector::poisson_boundary(...) which solve the vectorial poisson
93  * equation (method 6) with an inner boundary condition.
94  *
95  * Revision 1.35 2005/05/12 14:48:55 f_limousin
96  * New boundary condition for the lapse : boundary_nn_lapl().
97  *
98  * Revision 1.34 2005/04/29 14:05:03 f_limousin
99  * Important changes : manage the dependances between quantities (for
100  * instance psi and psi4). New function write_global(ost).
101  *
102  * Revision 1.33 2005/04/15 11:20:39 jl_jaramillo
103  * Function adapt_hor(double c_min, double c_max) for adapting a given surface
104  * to the excised surface
105  *
106  * Revision 1.32 2005/04/08 12:15:38 f_limousin
107  * Function set_psi(). And dependance in phi.
108  *
109  * Revision 1.31 2005/04/03 19:48:38 f_limousin
110  * Implementation of set_psi(psi_in).
111  *
112  * Revision 1.30 2005/04/02 15:50:08 f_limousin
113  * New data member nz (number of zones). Delete ww.
114  *
115  * Revision 1.29 2005/03/31 09:48:04 f_limousin
116  * New functions compute_ww(..) and aa_kerr_ww() and new data ww.
117  *
118  * Revision 1.28 2005/03/28 19:45:41 f_limousin
119  * Implement Isol_hor::aa_kerr_perturb(...) and new member aa_quad_evol.
120  *
121  * Revision 1.27 2005/03/24 16:50:40 f_limousin
122  * Add parameters solve_shift and solve_psi in par_isol.d and in function
123  * init_dat(...). Implement Isolhor::kerr_perturb().
124  *
125  * Revision 1.26 2005/03/10 16:57:01 f_limousin
126  * Improve the convergence of the code coal_bh.
127  *
128  * Revision 1.25 2005/03/10 10:19:42 f_limousin
129  * Add the regularisation of the shift in the case of a single black hole
130  * and lapse zero on the horizon.
131  *
132  * Revision 1.24 2005/03/09 10:28:37 f_limousin
133  * Delete functions init_data_b_neumann(...) and init_data_berlin(...)
134  * --> New parameter solve_lapse in the function init_data(...).
135  * New function update_aa().
136  *
137  * Revision 1.23 2005/03/06 16:59:33 f_limousin
138  * New function Isol_hor::aa() (the one belonging to the class
139  * Time_slice_conf need to compute the time derivative of hh and thus
140  * cannot work in the class Isol_hor).
141  *
142  * Revision 1.22 2005/03/04 09:39:31 f_limousin
143  * Implement the constructor from a file, operator>>, operator<<
144  * and function sauve in the class Bin_hor.
145  *
146  * Revision 1.21 2005/03/03 10:25:16 f_limousin
147  * In the class Isol_hor :
148  * - Add the boost in x and z-direction (members boost_x and boost_z,
149  * and functions get_boost_x(), set_boost_x(double))
150  * - Add function area_hor()
151  * - Put the boundary conditions for the lapse, psi and beta in
152  * the parameter file.
153  * In the class bin_hor :
154  * - Introduce function to compute global quantities as ADM mass,
155  * Komar mass and angular momentum.
156  *
157  * Revision 1.20 2005/02/24 17:22:53 f_limousin
158  * Suppression of the function beta_bound_cart().
159  * The boundary conditions for psi, N and beta are now some parameters
160  * in par_init.D and par_coal.d.
161  *
162  * Revision 1.19 2005/02/07 10:30:09 f_limousin
163  * Add the regularisation in the case N=0 on the horizon.
164  *
165  * Revision 1.18 2004/12/31 15:33:37 f_limousin
166  * Change the constructor from a file and the standard constructor.
167  *
168  * Revision 1.17 2004/12/29 16:30:00 f_limousin
169  * Improve comments for doxygen
170  *
171  * Revision 1.16 2004/12/29 16:10:25 f_limousin
172  * Add the new class Bin_hor.
173  *
174  * Revision 1.14 2004/11/24 19:32:05 jl_jaramillo
175  * Method for initial data with Berlin boundary conditions
176  *
177  * Revision 1.13 2004/11/18 10:53:03 jl_jaramillo
178  * Declarations for Berlin boundary conditions
179  *
180  * Revision 1.12 2004/11/05 11:01:13 f_limousin
181  * Delete arguments ener_dens, mom_dens and trace_stress in all functions
182  * source_nn, source_psi, source_beta, init_data. Delete also
183  * argument partial_save in function save.
184  *
185  * Revision 1.11 2004/11/05 10:11:23 f_limousin
186  * The member Metric met_gamt replace Sym_tensor gamt.
187  *
188  * Revision 1.10 2004/11/03 17:15:46 f_limousin
189  * Change the standart constructor. Add 4 memebers : trK, trK_point,
190  * gamt and gamt_point.
191  * Add also a constructor from a file.
192  *
193  * Revision 1.9 2004/11/02 17:42:33 f_limousin
194  * New method sauve(...) to save in a binary file.
195  *
196  * Revision 1.8 2004/11/02 16:15:12 f_limousin
197  * Add new argument ang_vel in function init_dat(...).
198  *
199  * Revision 1.7 2004/10/29 15:46:14 jl_jaramillo
200  * Remove 2 members, add ADM angular momentum and change name
201  * of functions.
202  *
203  * Revision 1.6 2004/10/01 16:51:16 f_limousin
204  * Pure Dirichlet boundary condition added
205  *
206  * Revision 1.5 2004/09/28 16:03:58 f_limousin
207  * Add parameter niter in the parameter file par_hor.d. It appears in
208  * argument of the function init_data_schwarz(...).
209  *
210  * Revision 1.4 2004/09/17 13:35:25 f_limousin
211  * Introduction of relaxation in init_data_schwarz
212  *
213  * Revision 1.3 2004/09/16 08:36:57 f_limousin
214  * New boundary conditions for lapse and psi.
215  *
216  * Revision 1.2 2004/09/09 17:04:27 jl_jaramillo
217  * Elimination of _ih
218  *
219  *
220  *
221  * $Header: /cvsroot/Lorene/C++/Include/isol_hor.h,v 1.54 2014/10/13 08:52:35 j_novak Exp $
222  *
223  */
224 
225 #include "time_slice.h"
226 #include "proto.h"
227 #include "headcpp.h"
228 #include "cmp.h"
229 #include "evolution.h"
230 
231 namespace Lorene {
232 class Sym_tensor_trans ;
233 class Sym_tensor ;
234 class Vector ;
235 class Scalar ;
236 class Metric ;
237 class Metric_flat ;
238 class Base_vect ;
239 class Map ;
240 class Tbl ;
241 class Time_slice ;
242 class Time_slice_conf ;
243 
244 //----------------------------//
245 // class Isol_Hor //
246 //----------------------------//
247 
254 class Isol_hor : public Time_slice_conf {
255 
256  // Data :
257  // -----
258  protected:
260  Map_af& mp ;
261 
263  int nz ;
264 
266  double radius ;
267 
269  double omega ;
270 
272  double boost_x ;
273 
275  double boost_z ;
276 
278  double regul ;
279 
282 
285 
288 
291 
295 
299 
302 
305 
311 
317 
321 
324 
327 
330 
333 
336 
346 
347  // Constructors - Destructor
348  // -------------------------
349  public:
350 
358  Isol_hor(Map_af& mpi, int depth_in = 3) ;
359 
382  Isol_hor(Map_af& mpi, const Scalar& lapse_in, const Scalar& psi_in,
383  const Vector& shift_in, const Sym_tensor& aa_in,
384  const Metric& gamt, const Sym_tensor& gamt_point,
385  const Scalar& trK, const Scalar& trK_point,
386  const Metric_flat& ff_in, int depth_in = 3) ;
387 
389  Isol_hor(const Isol_hor& ) ;
390 
402  Isol_hor (Map_af& mp, FILE* fich,
403  bool partial_read, int depth_in = 3) ;
404 
406  virtual ~Isol_hor() ;
407 
408 
409  // Mutators / assignment
410  // ---------------------
411  public:
413  void operator=(const Isol_hor&) ;
414 
415 
416  public:
418  const Map_af& get_mp() const {return mp;} ;
419 
421  Map_af& set_mp() {return mp; } ;
422 
426  double get_radius() const {return radius;} ;
427 
431  void set_radius(double rad) {radius = rad ;} ;
432 
436  double get_omega() const {return omega ;} ;
440  void set_omega(double ome) {omega = ome ;} ;
441 
445  double get_boost_x() const {return boost_x ;} ;
449  void set_boost_x(double bo) {boost_x = bo ;} ;
450 
454  double get_boost_z() const {return boost_z ;} ;
458  void set_boost_z(double bo) {boost_z = bo ;} ;
459 
460 
461 
462  // Accessors
463  // ---------
464  public:
465 
467  virtual const Scalar& n_auto() const ;
468 
470  virtual const Scalar& n_comp() const ;
471 
473  virtual const Scalar& psi_auto() const ;
474 
476  virtual const Scalar& psi_comp() const ;
477 
480  virtual const Vector& dnn() const ;
481 
485  virtual const Vector& dpsi() const ;
486 
488  virtual const Vector& beta_auto() const ;
489 
491  virtual const Vector& beta_comp() const ;
492 
497  virtual const Sym_tensor& aa_auto() const ;
498 
503  virtual const Sym_tensor& aa_comp() const ;
504 
508  virtual const Scalar& aa_quad() const ;
509 
514  virtual const Metric& tgam() const {return met_gamt ;}
515 
519  const Scalar get_decouple() const {return decouple ;}
520 
521 
522  public:
530  void n_comp (const Isol_hor& comp) ;
531 
539  void psi_comp (const Isol_hor& comp) ;
540 
546  void beta_comp (const Isol_hor& comp) ;
547 
556  double viriel_seul () const ;
557 
567  void init_bhole () ;
568 
574  void init_met_trK() ;
575 
582  void init_bhole_seul () ;
583 
594  void set_psi(const Scalar& psi_in) ;
595 
597  void set_nn(const Scalar& nn_in) ;
598 
600  void set_gamt(const Metric& gam_tilde) ;
601 
602  // Physical parameters
603  //--------------------
604  public:
605 
606 
608  const Vector radial_vect_hor() const ;
609 
611  const Vector tradial_vect_hor() const ;
612 
614  const Scalar b_tilde() const ;
615 
617  const Scalar darea_hor() const ;
618 
620  double area_hor() const ;
621 
623  double radius_hor() const ;
624 
626  double ang_mom_hor() const ;
627 
629  double mass_hor() const ;
630 
632  double kappa_hor() const ;
633 
635  double omega_hor() const ;
636 
638  double ang_mom_adm() const ;
639 
641  Scalar expansion() const ;
642 
643 
644  //Computational methods
645  //---------------------
646  public:
647 
648  /* function to compute initial data for a single black hole
649  * @param bound_nn boundary condition for the lapse
650  * @param lim_nn value of the boundary condition for the lapse
651  * @param bound_psi boundary condition for \f$ \Psi \f$
652  * @param bound_beta boundary condition for the shift
653  * @param solve_lapse do we solve the equation for the lapse ?
654  * @param precis precision for the convergence
655  * @param relax relaxation
656  * @param niter number of iterations
657  */
658  void init_data(int bound_nn, double lim_nn, int bound_psi, int bound_beta,
659  int solve_lapse, int solve_psi, int solve_shift,
660  double precis = 1.e-12,
661  double relax_nn = 0.5, double relax_psi = 0.5,
662  double relax_beta = 0.5, int niter = 100) ;
663 
664  void init_data_loop(int bound_nn, double lim_nn, int bound_psi,
665  int bound_beta, int solve_lapse, int solve_psi,
666  int solve_shift, double precis= 1.e-12,
667  double precis_loop= 1.e-12,
668  double relax_nn = 1., double relax_psi= 1.,
669  double relax_beta = 1., double relax_loop = 1.,
670  int niter = 100) ;
671 
672 
673 
674  void init_data_spher(int bound_nn, double lim_nn, int bound_psi,
675  int bound_beta, int solve_lapse, int solve_psi,
676  int solve_shift, double precis = 1.e-12,
677  double relax = 1., int niter = 100) ;
678 
679  void init_data_alt(int bound_nn, double lim_nn, int bound_psi,
680  int bound_beta, int solve_lapse, int solve_psi,
681  int solve_shift, double precis = 1.e-12,
682  double relax = 1., int niter = 100) ;
683 
684  void init_data_CTS_gen(int bound_nn, double lim_nn, int bound_psi, int bound_beta,
685  int solve_lapse, int solve_psi, int solve_shift,
686  double precis = 1.e-12, double relax_nn = 1.,
687  double relax_psi = 1., double relax_beta = 1.,
688  int niter = 100, double a = 1., double zeta = 4.) ;
689 
690 
691 
692 
693  //Sources
694  //-------
695 
697  const Scalar source_psi() const ;
698 
700  const Scalar source_nn() const ;
701 
703  const Vector source_beta() const ;
704 
706  const Scalar source_b_tilde() const ;
707 
709  const Vector source_vector_b() const ;
710 
711 
712  // BOUNDARY CONDITIONS
713  //--------------------
714 
716  const Valeur boundary_psi_Dir_evol() const ;
717 
719  const Valeur boundary_psi_Neu_evol() const ;
720 
722  const Valeur boundary_psi_Dir_spat() const ;
723 
725  const Valeur boundary_psi_Neu_spat() const ;
726 
728  const Valeur boundary_psi_app_hor() const ;
729 
731  const Valeur boundary_psi_Dir() const ;
732 
734  const Valeur boundary_nn_Dir_kk() const ;
735 
737  const Valeur boundary_nn_Neu_kk(int nn = 1) const ;
738 
740  const Valeur boundary_nn_Neu_Cook() const ;
741 
744  const Valeur boundary_nn_Dir_eff(double aa) const ;
745 
748  const Valeur boundary_nn_Dir_lapl(int mer = 1) const ;
749 
752  const Valeur boundary_nn_Neu_eff(double aa) const ;
753 
755  const Valeur boundary_nn_Dir(double aa) const ;
756 
758  const Valeur boundary_beta_r() const ;
759 
761  const Valeur boundary_beta_theta() const ;
762 
764  const Valeur boundary_beta_phi(double om) const ;
765 
767  const Valeur boundary_beta_x(double om) const ;
768 
770  const Valeur boundary_beta_y(double om) const ;
771 
773  const Valeur boundary_beta_z() const ;
774 
776  const Valeur beta_boost_x() const ;
777 
779  const Valeur beta_boost_z() const ;
780 
782  const Vector vv_bound_cart(double om) const ;
783 
786  const Vector vv_bound_cart_bin(double om, int hole = 0) const ;
787 
789  const Valeur boundary_vv_x(double om) const ;
790 
792  const Valeur boundary_vv_y(double om) const ;
793 
795  const Valeur boundary_vv_z(double om) const ;
796 
798  const Valeur boundary_vv_x_bin(double om, int hole = 0) const ;
799 
801  const Valeur boundary_vv_y_bin(double om, int hole = 0) const ;
802 
804  const Valeur boundary_vv_z_bin(double om, int hole = 0) const ;
805 
807  const Valeur boundary_b_tilde_Neu() const ;
808 
810  const Valeur boundary_b_tilde_Dir() const ;
811 
816  void update_aa() ;
817 
829  double regularisation (const Vector& shift_auto, const Vector& shift_comp,
830  double ang_vel) ;
831 
841  double regularise_one() ;
842 
845  void met_kerr_perturb() ;
846 
847  /* Perturbation of Kerr using \f$ A^{ij}A_{ij} \f$ from
848  * equation (14) of Dain (2002).
849  * @param mm mass of the Kerr black hole metric.
850  * @param aa rotation parameter of the Kerr black hole metric.
851  */
852  void aa_kerr_ww(double mm, double aa) ;
853 
855 
856  double axi_break() const ;
857 
858  /* Calculation of the outermost trapped surface and adaptation
859  * of all necessary quantities
860  */
861 
862  void adapt_hor(double c_min, double c_max) ;
863 
864 
865  // Outputs
866  // -------
867  protected:
869  virtual ostream& operator>>(ostream& ) const ;
870 
871 
872  public :
879  virtual void sauve(FILE* fich, bool partial_save) const ;
880 
881  friend class Bin_hor ;
882 
883 };
884 
894 class Single_hor {
895 
896  // Data :
897  // -----
898  protected:
900  Map_af& mp ;
901 
903  int nz ;
904 
906  double radius ;
907 
909  double omega ;
910 
912  double regul ;
913 
916 
919 
922 
925 
928 
931 
933  mutable Scalar* p_psi4 ;
934 
938 
942 
945 
948 
951 
953  mutable Metric* p_gam ;
954 
960 
966 
972 
974  mutable Sym_tensor* p_k_dd ;
975 
978 
981 
984 
987 
990 
993 
1003 
1004  // Constructors - Destructor
1005  // -------------------------
1006  public:
1007 
1011  Single_hor(Map_af& mpi) ;
1012 
1014  Single_hor(const Single_hor& ) ;
1015 
1023  Single_hor (Map_af& mp, FILE* fich) ;
1024 
1026  virtual ~Single_hor() ;
1027 
1028 
1029  // Mutators / assignment
1030  // ---------------------
1031  public:
1033  void operator=(const Single_hor&) ;
1034 
1035 
1036  public:
1038  const Map_af& get_mp() const {return mp;} ;
1039 
1041  Map_af& set_mp() {return mp; } ;
1042 
1046  double get_radius() const {return radius;} ;
1047 
1051  void set_radius(double rad) {radius = rad ;} ;
1052 
1056  double get_omega() const {return omega ;} ;
1060  void set_omega(double ome) {omega = ome ;} ;
1061 
1062  // Memory management
1063  // -----------------
1064  protected:
1065 
1067  void del_deriv() const ;
1068 
1070  void set_der_0x0() const ;
1071 
1072 
1073 
1074  // Accessors
1075  // ---------
1076  public:
1077 
1079  const Scalar& get_n_auto() const ;
1080 
1082  const Scalar& get_n_comp() const ;
1083 
1085  const Scalar& get_nn() const ;
1086 
1088  const Scalar& get_psi_auto() const ;
1089 
1091  const Scalar& get_psi_comp() const ;
1092 
1094  const Scalar& get_psi() const ;
1095 
1097  const Scalar& get_psi4() const ;
1098 
1100  const Vector& get_dn() const ;
1101 
1104  const Vector& get_dpsi() const ;
1105 
1107  const Vector& get_beta_auto() const ;
1108 
1110  const Vector& get_beta_comp() const ;
1111 
1113  const Vector& get_beta() const ;
1114 
1118  const Sym_tensor& get_aa_auto() const ;
1119 
1123  const Sym_tensor& get_aa_comp() const ;
1124 
1128  const Sym_tensor& get_aa() const ;
1129 
1133  const Metric& get_tgam() const {return tgam ;}
1134 
1137  const Metric& get_gam() const ;
1138 
1141  const Sym_tensor& get_k_dd() const ;
1142 
1146  const Scalar get_decouple() const {return decouple ;}
1147 
1148 
1149  public:
1157  void n_comp_import (const Single_hor& comp) ;
1158 
1166  void psi_comp_import (const Single_hor& comp) ;
1167 
1173  void beta_comp_import (const Single_hor& comp) ;
1174 
1183  double viriel_seul () const ;
1184 
1194  void init_bhole () ;
1195 
1201  void init_met_trK() ;
1202 
1209  void init_bhole_seul () ;
1210 
1221  void set_psi_auto(const Scalar& psi_in) ;
1222 
1224  void set_n_auto(const Scalar& nn_in) ;
1225 
1227  void set_beta_auto(const Scalar& shift_in) ;
1228 
1230  void set_aa_auto(const Scalar& aa_auto_in) ;
1231 
1233  void set_aa_comp(const Scalar& aa_comp_in) ;
1234 
1236  void set_aa(const Scalar& aa_in) ;
1237 
1238 
1239  // Physical parameters
1240  //--------------------
1241  public:
1242 
1243 
1245  const Scalar b_tilde() const ;
1246 
1248  const Scalar darea_hor() const ;
1249 
1251  double area_hor() const ;
1252 
1254  double radius_hor() const ;
1255 
1257  double ang_mom_hor() const ;
1258 
1260  double mass_hor() const ;
1261 
1263  double kappa_hor() const ;
1264 
1266  double omega_hor() const ;
1267 
1269  double ang_mom_adm() const ;
1270 
1272  Scalar expansion() const ;
1273 
1274 
1275  // BOUNDARY CONDITIONS
1276  //--------------------
1277 
1279  const Valeur boundary_psi_app_hor() const ;
1280 
1283  const Valeur boundary_nn_Dir(double aa) const ;
1284 
1287  const Valeur boundary_nn_Neu(double aa) const ;
1288 
1290  const Valeur boundary_beta_x(double om_orb, double om_loc) const ;
1291 
1293  const Valeur boundary_beta_y(double om_orb, double om_loc) const ;
1294 
1296  const Valeur boundary_beta_z() const ;
1297 
1298 
1310  double regularisation (const Vector& shift_auto, const Vector& shift_comp,
1311  double ang_vel) ;
1312 
1322  double regularise_one() ;
1323 
1324  public :
1331  virtual void sauve(FILE* fich) const ;
1332 
1333  friend class Bin_hor ;
1334 
1335 };
1336 
1337 class Bin_hor {
1338 
1339  // data :
1340  private:
1341  // lThe two black holes
1344 
1347 
1348  double omega ;
1349 
1350  public:
1351 
1360  Bin_hor(Map_af& mp1, Map_af& mp2) ;
1361 
1362  Bin_hor(const Bin_hor& ) ;
1363 
1376  Bin_hor (Map_af& mp1, Map_af& mp2, FILE* fich) ;
1377 
1378  virtual ~Bin_hor() ;
1379 
1380  public :
1387  void sauve(FILE* fich) const ;
1388 
1392  void write_global(ostream&, double lim_nn, int bound_nn,
1393  int bound_psi, int bound_beta, double alpha) const ;
1394 
1395  public:
1396 
1397  void operator=(const Bin_hor&) ;
1398 
1403  Single_hor& set(int i)
1404  { assert( (i==1) || (i==2) );
1405  return *holes[i-1] ;} ;
1409  void set_omega(double ome) {omega = ome ;
1410  hole1.set_omega (ome) ;
1411  hole2.set_omega (ome) ;} ;
1412 
1413  public: const Single_hor& operator()(int i) const
1418  { assert( (i==1) || (i==2) );
1419  return *holes[i-1] ;} ;
1420 
1422  double get_omega() const {return omega; } ;
1423 
1432  void init_bin_hor() ;
1433 
1440  double viriel() const ;
1441 
1446  void extrinsic_curvature () ;
1447 
1452  void decouple () ;
1453 
1454  public:
1470  void set_statiques (double precis, double relax, int bound_nn,
1471  double lim_nn, int bound_psi) ;
1472 
1499  double coal (double ang_vel, double relax, int nb_om,
1500  int nb_it, int bound_nn, double lim_nn,
1501  int bound_psi, int bound_beta, double omega_eff,
1502  double alpha,
1503  ostream& fich_iteration, ostream& fich_correction,
1504  ostream& fich_viriel, ostream& fich_kss,
1505  int step, int search_mass, double mass_irr,
1506  const int sortie = 0) ;
1507 
1508 
1523  void solve_lapse (double precis, double relax, int bound_nn,
1524  double lim_nn) ;
1525 
1538  void solve_psi (double precis, double relax, int bound_psi) ;
1539 
1553  void solve_shift (double precis, double relax, int bound_beta,
1554  double omega_eff) ;
1555 
1560  void import_bh (const Bin_hor& bin) ;
1561 
1565  double adm_mass() const ;
1566 
1571  double komar_mass() const ;
1572 
1577  double ang_mom_hor() const ;
1578 
1582  double ang_mom_adm() const ;
1583 
1590  double proper_distance(const int nr = 65) const ;
1591 
1597 
1603 
1607  void set_hh_Samaya() ;
1608 
1609 
1610 
1611 } ;
1612 
1613 
1614 }
1615 #endif
1616 
void decouple()
Calculates decouple which is used to obtain tkij_auto and tkij_comp.
Definition: binhor_kij.C:476
void set_radius(double rad)
Sets the radius of the horizon to rad .
Definition: isol_hor.h:1051
virtual const Vector & beta_comp() const
Shift function at the current time step jtime.
Definition: isol_hor.C:500
double area_hor() const
Area of the horizon.
Definition: phys_param.C:160
void beta_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp.
Definition: single_hor.C:468
Evolution_std< Scalar > n_comp_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:284
const Vector radial_vect_hor() const
Vector radial normal.
Definition: phys_param.C:98
Metric for tensor calculation.
Definition: metric.h:90
const Valeur boundary_psi_Dir_evol() const
Dirichlet boundary condition for (evolution)
Definition: bound_hor.C:177
const Valeur boundary_psi_Dir_spat() const
Dirichlet boundary condition for (spatial)
Definition: bound_hor.C:234
double regul
Intensity of the correction on the shift vector.
Definition: isol_hor.h:278
const Valeur boundary_vv_z(double om) const
Component z of boundary value of .
Definition: bound_hor.C:1550
void solve_shift(double precis, double relax, int bound_beta, double omega_eff)
Solves the equation for the shift, using the Oohara-Nakarmure scheme : The fields are the total value...
void set_psi_auto(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
Definition: single_hor.C:365
double mass_hor() const
Mass computed at the horizon.
Definition: single_param.C:138
const Metric & get_gam() const
metric
Definition: single_hor.C:342
double omega_hor() const
Orbital velocity.
Definition: single_param.C:163
double omega
Angular velocity.
Definition: isol_hor.h:1348
double omega
Angular velocity in LORENE&#39;s units.
Definition: isol_hor.h:269
Vector dn
Covariant derivative of the lapse with respect to the flat metric .
Definition: isol_hor.h:937
double ang_mom_hor() const
Calculates the angular momentum of the black hole using the formula at the horizon.
Metric tgam
3 metric tilde
Definition: isol_hor.h:977
virtual ~Isol_hor()
Destructor.
Definition: isol_hor.C:339
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:1056
Evolution_std< Scalar > n_auto_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:281
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition: single_hor.C:234
Evolution_std< Scalar > psi_comp_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:290
void extrinsic_curvature()
Calculation of the extrinsic curvature tensor.
Definition: binhor_kij.C:91
const Vector source_vector_b() const
Source for vector_b.
Evolution_std< Vector > beta_auto_evol
Values at successive time steps of the shift function .
Definition: isol_hor.h:301
const Valeur boundary_nn_Dir(double aa) const
Dirichlet boundary condition .
Definition: bound_hor.C:650
const Single_hor & operator()(int i) const
Read only of a component of the system.
Definition: isol_hor.h:1417
void init_bhole()
Sets the values of the fields to :
Definition: isol_hor.C:736
const Valeur boundary_vv_z_bin(double om, int hole=0) const
Component z of boundary value of .
Definition: bound_hor.C:1628
double kappa_hor() const
Surface gravity.
Definition: single_param.C:149
const Valeur boundary_nn_Dir_lapl(int mer=1) const
Dirichlet boundary condition for N fixing the divergence of the connection form . ...
Definition: bound_hor.C:696
double area_hor() const
Area of the horizon.
Definition: single_param.C:91
const Valeur boundary_nn_Dir_eff(double aa) const
Dirichlet boundary condition for N (effectif) .
Definition: bound_hor.C:589
const Valeur boundary_beta_x(double om) const
Component x of boundary value of .
Definition: bound_hor.C:1024
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
Definition: isol_hor.h:329
const Sym_tensor & get_k_dd() const
k_dd
Definition: single_hor.C:351
Scalar decouple
Function used to construct from the total .
Definition: isol_hor.h:1002
const Scalar & get_psi() const
Conformal factor .
Definition: single_hor.C:287
const Map_af & get_mp() const
Returns the mapping (readonly).
Definition: isol_hor.h:418
Lorene prototypes.
Definition: app_hor.h:67
double ang_mom_hor() const
Angular momentum (modulo)
Definition: phys_param.C:181
double radius
Radius of the horizon in LORENE&#39;s units.
Definition: isol_hor.h:266
void update_aa()
Conformal representation of the traceless part of the extrinsic curvature: .
Definition: isol_hor.C:845
Flat metric for tensor calculation.
Definition: metric.h:261
Scalar n_comp
Lapse function .
Definition: isol_hor.h:918
void operator=(const Isol_hor &)
Assignment to another Isol_hor.
Definition: isol_hor.C:346
double regularisation(const Vector &shift_auto, const Vector &shift_comp, double ang_vel)
Corrects shift_auto in such a way that the total is equal to zero in the horizon, which should ensure the regularity of .
Definition: single_regul.C:62
Tensor field of valence 0 (or component of a tensorial field).
Definition: scalar.h:393
const Valeur boundary_nn_Dir_kk() const
Dirichlet boundary condition for N using the extrinsic curvature.
Definition: bound_hor.C:374
const Vector vv_bound_cart(double om) const
Vector for boundary conditions in cartesian.
Definition: bound_hor.C:1254
const Valeur boundary_vv_y(double om) const
Component y of boundary value of .
Definition: bound_hor.C:1524
const Vector & get_beta_comp() const
Shift function .
Definition: single_hor.C:317
double kappa_hor() const
Surface gravity.
Definition: phys_param.C:221
Map_af & set_mp()
Read/write of the mapping.
Definition: isol_hor.h:421
double omega
Angular velocity in LORENE&#39;s units.
Definition: isol_hor.h:909
Single_hor hole1
Black hole one.
Definition: isol_hor.h:1342
void set_boost_z(double bo)
Sets the boost velocity in z-direction to bo .
Definition: isol_hor.h:458
const Scalar & get_psi4() const
Conformal factor .
Definition: single_hor.C:291
const Valeur boundary_psi_app_hor() const
Neumann boundary condition for (spatial)
Definition: bound_hor.C:300
const Scalar source_psi() const
Source for .
Definition: sources_hor.C:111
Values and coefficients of a (real-value) function.
Definition: valeur.h:297
void init_bhole_seul()
Initiates for a single black hole.
Definition: isol_hor.C:800
Scalar trK
Trace of the extrinsic curvature.
Definition: isol_hor.h:332
void set_statiques(double precis, double relax, int bound_nn, double lim_nn, int bound_psi)
Initialize the systeme to Misner Lindquist solution, that is solving for N and in the case ...
Definition: binhor_coal.C:99
const Vector & get_beta_auto() const
Shift function .
Definition: single_hor.C:312
virtual const Scalar & psi_comp() const
Conformal factor at the current time step jtime.
Definition: isol_hor.C:476
Sym_tensor aa_auto
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
Definition: isol_hor.h:959
const Scalar & get_psi_comp() const
Conformal factor .
Definition: single_hor.C:283
const Valeur boundary_psi_Dir() const
Dirichlet boundary condition for (spatial)
Definition: bound_hor.C:327
Tensor field of valence 1.
Definition: vector.h:188
int nz
Number of zones.
Definition: isol_hor.h:263
void set_omega(double ome)
Sets the angular velocity to ome .
Definition: isol_hor.h:440
double regularisation(const Vector &shift_auto, const Vector &shift_comp, double ang_vel)
Corrects shift_auto in such a way that the total is equal to zero in the horizon, which should ensure the regularity of .
Evolution_std< Scalar > psi_auto_evol
Values at successive time steps of the conformal factor .
Definition: isol_hor.h:287
virtual const Vector & beta_auto() const
Shift function at the current time step jtime.
Definition: isol_hor.C:494
Sym_tensor hh_Samaya_hole2()
Calculation of the hole2 part of the Post-Newtonian correction to .
Definition: binhor_hh.C:456
void import_bh(const Bin_hor &bin)
Function to initialize a Bin_hor from a solution computed with a smaller number of colocation points...
double ang_mom_adm() const
ADM angular Momentum.
Definition: single_param.C:177
double omega_hor() const
Orbital velocity.
Definition: phys_param.C:236
virtual const Vector & dnn() const
Covariant derivative of the lapse function at the current time step jtime.
Definition: isol_hor.C:482
double viriel() const
Computes the viriel error, that is the difference between the ADM and the Komar masses, calculated by the asymptotic behaviours of respectively and N .
Definition: binhor_viriel.C:74
Vector beta_comp
Shift function .
Definition: isol_hor.h:947
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
Definition: isol_hor.h:971
const Map_af & get_mp() const
Returns the mapping (readonly).
Definition: isol_hor.h:1038
void met_kerr_perturb()
Initialisation of the metric tilde from equation (15) of Dain (2002).
Definition: isol_hor.C:898
Map_af & set_mp()
Read/write of the mapping.
Definition: isol_hor.h:1041
void set_omega(double ome)
Sets the orbital velocity to ome.
Definition: isol_hor.h:1409
Single_hor * holes[2]
Array on the black holes.
Definition: isol_hor.h:1346
const Scalar darea_hor() const
Element of area of the horizon.
Definition: phys_param.C:149
void set_beta_auto(const Scalar &shift_in)
Sets the shift.
Definition: single_hor.C:373
virtual const Sym_tensor & aa_comp() const
Conformal representation of the traceless part of the extrinsic curvature: Returns the value at the ...
Definition: isol_hor.C:512
void operator=(const Bin_hor &)
Affectation operator.
Definition: bin_hor.C:142
Metric * p_gam
Spatial metric .
Definition: isol_hor.h:953
const Scalar & get_n_auto() const
Lapse function .
Definition: single_hor.C:264
Map_af & mp
Affine mapping.
Definition: isol_hor.h:260
const Scalar & get_nn() const
Lapse function .
Definition: single_hor.C:273
const Metric & get_tgam() const
Conformal metric .
Definition: isol_hor.h:1133
const Valeur boundary_nn_Neu_eff(double aa) const
Neumann boundary condition on nn (effectif) .
Definition: bound_hor.C:625
double get_boost_z() const
Returns the boost velocity in z-direction.
Definition: isol_hor.h:454
void set_boost_x(double bo)
Sets the boost velocity in x-direction to bo .
Definition: isol_hor.h:449
Single_hor(Map_af &mpi)
Standard constructor.
Definition: single_hor.C:73
const Valeur boundary_psi_app_hor() const
Neumann boundary condition for.
Definition: single_bound.C:72
Scalar psi
Conformal factor .
Definition: isol_hor.h:930
double coal(double ang_vel, double relax, int nb_om, int nb_it, int bound_nn, double lim_nn, int bound_psi, int bound_beta, double omega_eff, double alpha, ostream &fich_iteration, ostream &fich_correction, ostream &fich_viriel, ostream &fich_kss, int step, int search_mass, double mass_irr, const int sortie=0)
Solves the equation for a particular angular velocity, the systeme being initialized to Misner-Lindqu...
Definition: binhor_coal.C:136
Scalar expansion() const
Expansion of the outgoing null normal ( )
Definition: phys_param.C:266
Scalar expansion() const
Expansion of the outgoing null normal ( )
Definition: single_param.C:193
void init_bin_hor()
Initialisation of the system.
Definition: bin_hor.C:164
Scalar trK
Trace of the extrinsic curvature.
Definition: isol_hor.h:989
double proper_distance(const int nr=65) const
Calculation of the proper distance between the two spheres of inversion, along the x axis...
double radius_hor() const
Radius of the horizon.
Definition: single_param.C:100
double regul
Intensity of the correction on the shift vector.
Definition: isol_hor.h:912
Sym_tensor * p_k_dd
Components of the extrinsic curvature:
Definition: isol_hor.h:974
void set_n_auto(const Scalar &nn_in)
Sets the lapse.
Definition: single_hor.C:369
double boost_x
Boost velocity in x-direction.
Definition: isol_hor.h:272
double viriel_seul() const
Computes the viriel error, that is the difference between the ADM and the Komar masses, calculated by the asymptotic behaviours of respectively and N .
void set_psi(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
Definition: isol_hor.C:518
void solve_psi(double precis, double relax, int bound_psi)
Solves the equation for the conformal factor : The fields are the total values excpet those with subs...
double axi_break() const
Breaking of the axial symmetry on the horizon.
Definition: isol_hor.C:1090
void init_met_trK()
Sets the 3-metric tilde to the flat metric and gamt_point, trK and trK_point to zero.
Definition: isol_hor.C:788
Sym_tensor hh
Deviation metric.
Definition: isol_hor.h:983
const Scalar b_tilde() const
Radial component of the shift with respect to the conformal metric.
Definition: phys_param.C:139
virtual ~Single_hor()
Destructor.
Definition: single_hor.C:179
Evolution_std< Sym_tensor > aa_comp_evol
Values at successive time steps of the components of the conformal representation of the traceless p...
Definition: isol_hor.h:316
Metric met_gamt
3 metric tilde
Definition: isol_hor.h:326
Sym_tensor hh_Samaya_hole1()
Calculation of the hole1 part of the Post-Newtonian correction to .
Definition: binhor_hh.C:66
double get_radius() const
Returns the radius of the horizon.
Definition: isol_hor.h:1046
const Sym_tensor & get_aa_comp() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:332
Vector beta_auto
Shift function .
Definition: isol_hor.h:944
Scalar decouple
Function used to construct from the total .
Definition: isol_hor.h:345
const Scalar source_nn() const
Source for N.
Definition: sources_hor.C:148
const Valeur boundary_beta_phi(double om) const
Component phi of boundary value of .
Definition: bound_hor.C:981
Vector beta
Shift function .
Definition: isol_hor.h:950
double ang_mom_adm() const
ADM angular Momentum.
Definition: phys_param.C:251
void sauve(FILE *fich) const
Total or partial saves in a binary file.
Definition: bin_hor.C:154
void init_bhole()
Sets the values of the fields to :
Definition: single_hor.C:487
Spacelike time slice of a 3+1 spacetime with conformal decomposition.
Definition: time_slice.h:501
void write_global(ostream &, double lim_nn, int bound_nn, int bound_psi, int bound_beta, double alpha) const
Write global quantities in a formatted file.
Definition: bin_hor.C:181
const Vector & get_dpsi() const
Covariant derivative with respect to the flat metric of the conformal factor .
Definition: single_hor.C:307
const Vector source_beta() const
Source for .
Definition: sources_hor.C:193
virtual const Scalar & aa_quad() const
Conformal representation .
Definition: isol_hor.C:887
void init_bhole_seul()
Initiates for a single black hole.
Definition: single_hor.C:551
Sym_tensor aa_comp
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
Definition: isol_hor.h:965
const Valeur boundary_vv_x(double om) const
Component x of boundary value of .
Definition: bound_hor.C:1496
Evolution_std< Scalar > aa_quad_evol
Values at successive time steps of the components .
Definition: isol_hor.h:323
virtual void sauve(FILE *fich) const
Total or partial saves in a binary file.
Definition: single_hor.C:247
virtual Sym_tensor aa() const
Conformal representation of the traceless part of the extrinsic curvature: .
const Valeur boundary_beta_z() const
Component z of boundary value of .
Definition: bound_hor.C:1124
Scalar n_auto
Lapse function .
Definition: isol_hor.h:915
const Valeur boundary_beta_r() const
Component r of boundary value of .
Definition: bound_hor.C:900
Evolution_std< Vector > beta_comp_evol
Values at successive time steps of the shift function .
Definition: isol_hor.h:304
Time evolution with partial storage (*** under development ***).
Definition: evolution.h:371
double komar_mass() const
Calculates the Komar mass of the system using : .
double radius_hor() const
Radius of the horizon.
Definition: phys_param.C:170
const Scalar get_decouple() const
Returns the function used to construct tkij_auto from tkij_tot .
Definition: isol_hor.h:1146
Single_hor hole2
Black hole two.
Definition: isol_hor.h:1343
Vector dpsi
Covariant derivative of the conformal factor .
Definition: isol_hor.h:941
virtual const Scalar & n_auto() const
Lapse function at the current time step jtime.
Definition: isol_hor.C:458
const Scalar darea_hor() const
Element of area of the horizon.
Definition: single_param.C:80
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Definition: isol_hor.h:335
void set_aa(const Scalar &aa_in)
Sets aa.
Definition: single_hor.C:385
double get_radius() const
Returns the radius of the horizon.
Definition: isol_hor.h:426
double regularise_one()
Corrects the shift in the innermost shell, so that it remains and that equals zero on the horizon...
Definition: single_regul.C:156
Evolution_std< Vector > dn_evol
Values at successive time steps of the covariant derivative of the lapse with respect to the flat met...
Definition: isol_hor.h:294
void set_gamt(const Metric &gam_tilde)
Sets the conformal metric to gam_tilde.
Definition: isol_hor.C:553
const Valeur boundary_nn_Neu_kk(int nn=1) const
Neumann boundary condition for N using the extrinsic curvature.
Definition: bound_hor.C:423
void operator=(const Single_hor &)
Assignment to another Single_hor.
Definition: single_hor.C:189
void set_radius(double rad)
Sets the radius of the horizon to rad .
Definition: isol_hor.h:431
void del_deriv() const
Deletes all the derived quantities.
Definition: single_hor.C:224
virtual const Metric & tgam() const
Conformal metric Returns the value at the current time step (jtime ).
Definition: isol_hor.h:514
Binary black holes system.
Definition: isol_hor.h:894
const Vector & get_dn() const
Covariant derivative of the lapse function .
Definition: single_hor.C:302
Affine radial mapping.
Definition: map.h:2042
const Valeur boundary_vv_x_bin(double om, int hole=0) const
Component x of boundary value of .
Definition: bound_hor.C:1575
void set_nn(const Scalar &nn_in)
Sets the lapse.
Definition: isol_hor.C:543
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:436
void solve_lapse(double precis, double relax, int bound_nn, double lim_nn)
Solves the equation for the lapse : The fields are the total values except those with subscript ...
Scalar psi_comp
Conformal factor .
Definition: isol_hor.h:927
Map_af & mp
Affine mapping.
Definition: isol_hor.h:900
const Valeur boundary_b_tilde_Dir() const
Dirichlet boundary condition for b_tilde.
Definition: bound_hor.C:1215
void n_comp_import(const Single_hor &comp)
Imports the part of N due to the companion hole comp .
Definition: single_hor.C:393
virtual void sauve(FILE *fich, bool partial_save) const
Total or partial saves in a binary file.
Definition: isol_hor.C:404
void set_aa_comp(const Scalar &aa_comp_in)
Sets aa_comp.
Definition: single_hor.C:381
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator<<).
Definition: isol_hor.C:381
Bin_hor(Map_af &mp1, Map_af &mp2)
Standard constructor.
Definition: bin_hor.C:100
void set_omega(double ome)
Sets the angular velocity to ome .
Definition: isol_hor.h:1060
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
Definition: isol_hor.h:986
void set_aa_auto(const Scalar &aa_auto_in)
Sets aa_auto.
Definition: single_hor.C:377
void psi_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp .
Definition: single_hor.C:427
const Valeur boundary_psi_Neu_spat() const
Neumann boundary condition for (spatial)
Definition: bound_hor.C:270
void set_hh_Samaya()
Calculation of the Post-Newtonian correction to .
Definition: binhor_hh.C:789
Evolution_std< Sym_tensor > aa_auto_evol
Values at successive time steps of the components of the conformal representation of the traceless p...
Definition: isol_hor.h:310
const Sym_tensor & get_aa_auto() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:327
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Definition: isol_hor.h:992
Isol_hor(Map_af &mpi, int depth_in=3)
Standard constructor.
Definition: isol_hor.C:179
Scalar psi_auto
Conformal factor .
Definition: isol_hor.h:924
const Valeur boundary_beta_y(double om) const
Component y of boundary value of .
Definition: bound_hor.C:1074
int nz
Number of zones.
Definition: isol_hor.h:903
const Vector & get_beta() const
Shift function .
Definition: single_hor.C:322
Evolution_std< Sym_tensor > aa_nn
Values at successive time steps of the components .
Definition: isol_hor.h:320
const Valeur boundary_beta_theta() const
Component theta of boundary value of .
Definition: bound_hor.C:941
double ang_mom_adm() const
Calculates the angular momentum of the black hole.
double ang_mom_hor() const
Angular momentum (modulo)
Definition: single_param.C:110
virtual const Scalar & psi_auto() const
Conformal factor at the current time step jtime.
Definition: isol_hor.C:470
void init_met_trK()
Sets the 3-metric tilde to the flat metric and gamt_point, trK and trK_point to zero.
Definition: single_hor.C:539
double regularise_one()
Corrects the shift in the innermost shell, so that it remains and that equals zero on the horizon...
double radius
Radius of the horizon in LORENE&#39;s units.
Definition: isol_hor.h:906
const Scalar & get_n_comp() const
Lapse function .
Definition: single_hor.C:269
Metric_flat ff
3 metric flat
Definition: isol_hor.h:980
const Vector tradial_vect_hor() const
Vector radial normal tilde.
Definition: phys_param.C:119
Spacelike time-slice of an Isolated Horizon in a 3+1 spacetime with conformal decomposition.
Definition: isol_hor.h:254
const Valeur beta_boost_z() const
Boundary value for a boost in z-direction.
Definition: bound_hor.C:1158
double adm_mass() const
Calculates the ADM mass of the system.
Definition: binhor_global.C:86
const Sym_tensor & get_aa() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:337
double mass_hor() const
Mass computed at the horizon.
Definition: phys_param.C:209
const Valeur boundary_vv_y_bin(double om, int hole=0) const
Component y of boundary value of .
Definition: bound_hor.C:1602
Evolution_std< Vector > dpsi_evol
Values at successive time steps of the covariant derivative of the conformal factor ...
Definition: isol_hor.h:298
virtual const Vector & dpsi() const
Covariant derivative with respect to the flat metric of the conformal factor at the current time ste...
Definition: isol_hor.C:488
const Vector vv_bound_cart_bin(double om, int hole=0) const
Vector for boundary conditions in cartesian for binary systems.
Definition: bound_hor.C:1382
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:1422
const Scalar get_decouple() const
Returns the function used to construct tkij_auto from tkij_tot .
Definition: isol_hor.h:519
const Valeur boundary_b_tilde_Neu() const
Neumann boundary condition for b_tilde.
Definition: bound_hor.C:1172
const Scalar b_tilde() const
Radial component of the shift with respect to the conformal metric.
Definition: single_param.C:71
const Valeur beta_boost_x() const
Boundary value for a boost in x-direction.
Definition: bound_hor.C:1147
Class intended to describe valence-2 symmetric tensors.
Definition: sym_tensor.h:226
double boost_z
Boost velocity in z-direction.
Definition: isol_hor.h:275
const Valeur boundary_nn_Neu_Cook() const
Neumann boundary condition for N using Cook&#39;s boundary condition.
Definition: bound_hor.C:492
Scalar nn
Lapse function .
Definition: isol_hor.h:921
double get_boost_x() const
Returns the boost velocity in x-direction.
Definition: isol_hor.h:445
Scalar * p_psi4
Conformal factor .
Definition: isol_hor.h:933
const Scalar source_b_tilde() const
Source for b_tilde.
double viriel_seul() const
Computes the viriel error, that is the difference between the ADM and the Komar masses, calculated by the asymptotic behaviours of respectively and N .
Definition: binhor_viriel.C:60
virtual const Sym_tensor & aa_auto() const
Conformal representation of the traceless part of the extrinsic curvature: Returns the value at the ...
Definition: isol_hor.C:506
const Valeur boundary_psi_Neu_evol() const
Neumann boundary condition for (evolution)
Definition: bound_hor.C:206
const Scalar & get_psi_auto() const
Conformal factor .
Definition: single_hor.C:278
virtual const Scalar & n_comp() const
Lapse function at the current time step jtime.
Definition: isol_hor.C:464
virtual ~Bin_hor()
Destructor.
Definition: bin_hor.C:135
virtual const Scalar & nn() const
Lapse function N at the current time step (jtime )