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 
Lorene::Single_hor::dn
Vector dn
Covariant derivative of the lapse with respect to the flat metric .
Definition: isol_hor.h:937
Lorene::Single_hor::regularisation
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,...
Definition: single_regul.C:59
Lorene::Bin_hor::solve_psi
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...
Definition: binhor_equations.C:301
Lorene::Isol_hor::set_omega
void set_omega(double ome)
Sets the angular velocity to ome .
Definition: isol_hor.h:440
Lorene::Single_hor::~Single_hor
virtual ~Single_hor()
Destructor.
Definition: single_hor.C:176
Lorene::Bin_hor::~Bin_hor
virtual ~Bin_hor()
Destructor.
Definition: bin_hor.C:132
Lorene::Single_hor::get_dn
const Vector & get_dn() const
Covariant derivative of the lapse function .
Definition: single_hor.C:299
Lorene::Isol_hor::boundary_b_tilde_Neu
const Valeur boundary_b_tilde_Neu() const
Neumann boundary condition for b_tilde.
Definition: bound_hor.C:1169
Lorene::Single_hor::nn
Scalar nn
Lapse function .
Definition: isol_hor.h:921
Lorene::Bin_hor::proper_distance
double proper_distance(const int nr=65) const
Calculation of the proper distance between the two spheres of inversion, along the x axis.
Lorene::Isol_hor::get_boost_x
double get_boost_x() const
Returns the boost velocity in x-direction.
Definition: isol_hor.h:445
Lorene::Isol_hor::nz
int nz
Number of zones.
Definition: isol_hor.h:263
Lorene::Bin_hor::set_statiques
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:96
Lorene::Isol_hor::mass_hor
double mass_hor() const
Mass computed at the horizon
Definition: phys_param.C:206
Lorene::Single_hor::get_beta
const Vector & get_beta() const
Shift function .
Definition: single_hor.C:319
Lorene::Isol_hor::init_bhole
void init_bhole()
Sets the values of the fields to :
Definition: isol_hor.C:733
Lorene::Bin_hor::set_omega
void set_omega(double ome)
Sets the orbital velocity to ome.
Definition: isol_hor.h:1409
Lorene::Isol_hor::dpsi
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:485
Lorene::Single_hor::kappa_hor
double kappa_hor() const
Surface gravity
Definition: single_param.C:146
Lorene::Bin_hor::ang_mom_adm
double ang_mom_adm() const
Calculates the angular momentum of the black hole.
Definition: binhor_global.C:184
Lorene::Isol_hor::source_beta
const Vector source_beta() const
Source for .
Definition: sources_hor.C:190
Lorene::Isol_hor::n_comp
virtual const Scalar & n_comp() const
Lapse function at the current time step jtime.
Definition: isol_hor.C:461
Lorene::Single_hor::get_n_comp
const Scalar & get_n_comp() const
Lapse function .
Definition: single_hor.C:266
Lorene::Evolution_std
Time evolution with partial storage (*** under development ***).
Definition: evolution.h:371
Lorene::Isol_hor::radius
double radius
Radius of the horizon in LORENE's units.
Definition: isol_hor.h:266
Lorene::Single_hor::ff
Metric_flat ff
3 metric flat
Definition: isol_hor.h:980
Lorene::Single_hor::beta_comp
Vector beta_comp
Shift function .
Definition: isol_hor.h:947
Lorene::Isol_hor::boundary_nn_Neu_Cook
const Valeur boundary_nn_Neu_Cook() const
Neumann boundary condition for N using Cook's boundary condition.
Definition: bound_hor.C:489
Lorene::Single_hor::psi
Scalar psi
Conformal factor .
Definition: isol_hor.h:930
Lorene::Single_hor::get_dpsi
const Vector & get_dpsi() const
Covariant derivative with respect to the flat metric of the conformal factor .
Definition: single_hor.C:304
Lorene::Valeur
Values and coefficients of a (real-value) function.
Definition: valeur.h:287
Lorene::Single_hor::aa
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition: isol_hor.h:971
Lorene::Single_hor::set_beta_auto
void set_beta_auto(const Scalar &shift_in)
Sets the shift.
Definition: single_hor.C:370
Lorene::Single_hor::radius_hor
double radius_hor() const
Radius of the horizon.
Definition: single_param.C:97
Lorene::Sym_tensor
Class intended to describe valence-2 symmetric tensors.
Definition: sym_tensor.h:223
Lorene::Isol_hor::boundary_beta_z
const Valeur boundary_beta_z() const
Component z of boundary value of .
Definition: bound_hor.C:1121
Lorene::Metric
Metric for tensor calculation.
Definition: metric.h:90
Lorene::Isol_hor::aa_comp
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:509
Lorene::Isol_hor::area_hor
double area_hor() const
Area of the horizon.
Definition: phys_param.C:157
Lorene::Single_hor::set_aa_auto
void set_aa_auto(const Scalar &aa_auto_in)
Sets aa_auto.
Definition: single_hor.C:374
Lorene::Time_slice_conf::nn
virtual const Scalar & nn() const
Lapse function N at the current time step (jtime )
Definition: time_slice_conf.C:591
Lorene::Single_hor::n_auto
Scalar n_auto
Lapse function .
Definition: isol_hor.h:915
Lorene::Isol_hor::radius_hor
double radius_hor() const
Radius of the horizon.
Definition: phys_param.C:167
Lorene::Single_hor::get_aa_auto
const Sym_tensor & get_aa_auto() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:324
Lorene::Single_hor::set_psi_auto
void set_psi_auto(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
Definition: single_hor.C:362
Lorene::Isol_hor::set_boost_z
void set_boost_z(double bo)
Sets the boost velocity in z-direction to bo .
Definition: isol_hor.h:458
Lorene::Single_hor::get_decouple
const Scalar get_decouple() const
Returns the function used to construct tkij_auto from tkij_tot .
Definition: isol_hor.h:1146
Lorene::Single_hor::set_aa_comp
void set_aa_comp(const Scalar &aa_comp_in)
Sets aa_comp.
Definition: single_hor.C:378
Lorene::Bin_hor::viriel
double viriel() const
Computes the viriel error, that is the difference between the ADM and the Komar masses,...
Definition: binhor_viriel.C:71
Lorene::Isol_hor::~Isol_hor
virtual ~Isol_hor()
Destructor.
Definition: isol_hor.C:336
Lorene::Bin_hor::set
Single_hor & set(int i)
Read/write of a component of the system.
Definition: isol_hor.h:1403
Lorene::Isol_hor::source_psi
const Scalar source_psi() const
Source for .
Definition: sources_hor.C:108
Lorene::Bin_hor::decouple
void decouple()
Calculates decouple which is used to obtain tkij_auto and tkij_comp.
Definition: binhor_kij.C:473
Lorene::Isol_hor::boundary_vv_z
const Valeur boundary_vv_z(double om) const
Component z of boundary value of .
Definition: bound_hor.C:1547
Lorene::Bin_hor::hole1
Single_hor hole1
Black hole one.
Definition: isol_hor.h:1342
Lorene::Isol_hor::axi_break
double axi_break() const
Breaking of the axial symmetry on the horizon.
Definition: isol_hor.C:1087
Lorene::Single_hor::mass_hor
double mass_hor() const
Mass computed at the horizon
Definition: single_param.C:135
Lorene
Lorene prototypes.
Definition: app_hor.h:64
Lorene::Isol_hor::boundary_nn_Dir
const Valeur boundary_nn_Dir(double aa) const
Dirichlet boundary condition .
Definition: bound_hor.C:647
Lorene::Isol_hor::get_omega
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:436
Lorene::Isol_hor::source_vector_b
const Vector source_vector_b() const
Source for vector_b.
Lorene::Single_hor::get_psi_comp
const Scalar & get_psi_comp() const
Conformal factor .
Definition: single_hor.C:280
Lorene::Bin_hor::operator()
const Single_hor & operator()(int i) const
Read only of a component of the system.
Definition: isol_hor.h:1417
Lorene::Isol_hor::get_mp
const Map_af & get_mp() const
Returns the mapping (readonly).
Definition: isol_hor.h:418
Lorene::Isol_hor::boundary_vv_y_bin
const Valeur boundary_vv_y_bin(double om, int hole=0) const
Component y of boundary value of .
Definition: bound_hor.C:1599
Lorene::Isol_hor::ang_mom_hor
double ang_mom_hor() const
Angular momentum (modulo)
Definition: phys_param.C:178
Lorene::Isol_hor::operator=
void operator=(const Isol_hor &)
Assignment to another Isol_hor.
Definition: isol_hor.C:343
Lorene::Isol_hor::vv_bound_cart_bin
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:1379
Lorene::Single_hor::beta
Vector beta
Shift function .
Definition: isol_hor.h:950
Lorene::Isol_hor::boundary_vv_x_bin
const Valeur boundary_vv_x_bin(double om, int hole=0) const
Component x of boundary value of .
Definition: bound_hor.C:1572
Lorene::Single_hor::aa_comp
Sym_tensor aa_comp
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition: isol_hor.h:965
Lorene::Single_hor::init_met_trK
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:536
Lorene::Single_hor::sauve
virtual void sauve(FILE *fich) const
Total or partial saves in a binary file.
Definition: single_hor.C:244
Lorene::Bin_hor::get_omega
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:1422
Lorene::Bin_hor::solve_shift
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...
Definition: binhor_equations.C:453
Lorene::Isol_hor::boundary_nn_Dir_kk
const Valeur boundary_nn_Dir_kk() const
Dirichlet boundary condition for N using the extrinsic curvature.
Definition: bound_hor.C:371
Lorene::Bin_hor::import_bh
void import_bh(const Bin_hor &bin)
Function to initialize a Bin_hor from a solution computed with a smaller number of colocation points.
Lorene::Isol_hor::darea_hor
const Scalar darea_hor() const
Element of area of the horizon.
Definition: phys_param.C:146
Lorene::Single_hor::set_omega
void set_omega(double ome)
Sets the angular velocity to ome .
Definition: isol_hor.h:1060
Lorene::Isol_hor::boundary_psi_Dir_spat
const Valeur boundary_psi_Dir_spat() const
Dirichlet boundary condition for (spatial)
Definition: bound_hor.C:231
Lorene::Isol_hor::boundary_vv_x
const Valeur boundary_vv_x(double om) const
Component x of boundary value of .
Definition: bound_hor.C:1493
Lorene::Isol_hor::mp
Map_af & mp
Affine mapping.
Definition: isol_hor.h:260
Lorene::Single_hor::trK_point
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Definition: isol_hor.h:992
Lorene::Isol_hor::trK
Scalar trK
Trace of the extrinsic curvature.
Definition: isol_hor.h:332
Lorene::Isol_hor::aa_quad_evol
Evolution_std< Scalar > aa_quad_evol
Values at successive time steps of the components .
Definition: isol_hor.h:323
Lorene::Isol_hor::regul
double regul
Intensity of the correction on the shift vector.
Definition: isol_hor.h:278
Lorene::Metric_flat
Flat metric for tensor calculation.
Definition: metric.h:261
Lorene::Isol_hor::init_bhole_seul
void init_bhole_seul()
Initiates for a single black hole.
Definition: isol_hor.C:797
Lorene::Bin_hor::adm_mass
double adm_mass() const
Calculates the ADM mass of the system.
Definition: binhor_global.C:83
Lorene::Scalar
Tensor field of valence 0 (or component of a tensorial field).
Definition: scalar.h:387
Lorene::Isol_hor::psi_comp
virtual const Scalar & psi_comp() const
Conformal factor at the current time step jtime.
Definition: isol_hor.C:473
Lorene::Single_hor::aa_auto
Sym_tensor aa_auto
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition: isol_hor.h:959
Lorene::Isol_hor::n_auto_evol
Evolution_std< Scalar > n_auto_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:281
Lorene::Single_hor::get_radius
double get_radius() const
Returns the radius of the horizon.
Definition: isol_hor.h:1046
Lorene::Isol_hor::omega
double omega
Angular velocity in LORENE's units.
Definition: isol_hor.h:269
Lorene::Isol_hor::boundary_nn_Neu_eff
const Valeur boundary_nn_Neu_eff(double aa) const
Neumann boundary condition on nn (effectif)
Definition: bound_hor.C:622
Lorene::Bin_hor::holes
Single_hor * holes[2]
Array on the black holes.
Definition: isol_hor.h:1346
Lorene::Single_hor::omega_hor
double omega_hor() const
Orbital velocity
Definition: single_param.C:160
Lorene::Isol_hor::beta_auto_evol
Evolution_std< Vector > beta_auto_evol
Values at successive time steps of the shift function .
Definition: isol_hor.h:301
Lorene::Bin_hor::omega
double omega
Angular velocity.
Definition: isol_hor.h:1348
Lorene::Isol_hor::boundary_nn_Dir_eff
const Valeur boundary_nn_Dir_eff(double aa) const
Dirichlet boundary condition for N (effectif)
Definition: bound_hor.C:586
Lorene::Isol_hor::get_radius
double get_radius() const
Returns the radius of the horizon.
Definition: isol_hor.h:426
Lorene::Single_hor::regul
double regul
Intensity of the correction on the shift vector.
Definition: isol_hor.h:912
Lorene::Single_hor::get_psi4
const Scalar & get_psi4() const
Conformal factor .
Definition: single_hor.C:288
Lorene::Isol_hor::gamt_point
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
Definition: isol_hor.h:329
Lorene::Isol_hor::aa_nn
Evolution_std< Sym_tensor > aa_nn
Values at successive time steps of the components .
Definition: isol_hor.h:320
Lorene::Bin_hor::ang_mom_hor
double ang_mom_hor() const
Calculates the angular momentum of the black hole using the formula at the horizon.
Definition: binhor_global.C:118
Lorene::Isol_hor::viriel_seul
double viriel_seul() const
Computes the viriel error, that is the difference between the ADM and the Komar masses,...
Lorene::Isol_hor::set_psi
void set_psi(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
Definition: isol_hor.C:515
Lorene::Single_hor::dpsi
Vector dpsi
Covariant derivative of the conformal factor .
Definition: isol_hor.h:941
Lorene::Single_hor::get_beta_auto
const Vector & get_beta_auto() const
Shift function .
Definition: single_hor.C:309
Lorene::Single_hor::darea_hor
const Scalar darea_hor() const
Element of area of the horizon.
Definition: single_param.C:77
Lorene::Single_hor::del_deriv
void del_deriv() const
Deletes all the derived quantities.
Definition: single_hor.C:221
Lorene::Isol_hor
Spacelike time-slice of an Isolated Horizon in a 3+1 spacetime with conformal decomposition.
Definition: isol_hor.h:254
Lorene::Isol_hor::b_tilde
const Scalar b_tilde() const
Radial component of the shift with respect to the conformal metric.
Definition: phys_param.C:136
Lorene::Isol_hor::met_kerr_perturb
void met_kerr_perturb()
Initialisation of the metric tilde from equation (15) of Dain (2002).
Definition: isol_hor.C:895
Lorene::Time_slice_conf
Spacelike time slice of a 3+1 spacetime with conformal decomposition.
Definition: time_slice.h:498
Lorene::Isol_hor::boundary_nn_Neu_kk
const Valeur boundary_nn_Neu_kk(int nn=1) const
Neumann boundary condition for N using the extrinsic curvature.
Definition: bound_hor.C:420
Lorene::Isol_hor::regularisation
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,...
Definition: regularisation.C:88
Lorene::Single_hor::set_mp
Map_af & set_mp()
Read/write of the mapping.
Definition: isol_hor.h:1041
Lorene::Isol_hor::met_gamt
Metric met_gamt
3 metric tilde
Definition: isol_hor.h:326
Lorene::Single_hor::mp
Map_af & mp
Affine mapping.
Definition: isol_hor.h:900
Lorene::Single_hor::init_bhole
void init_bhole()
Sets the values of the fields to :
Definition: single_hor.C:484
Lorene::Isol_hor::update_aa
void update_aa()
Conformal representation of the traceless part of the extrinsic curvature: .
Definition: isol_hor.C:842
Lorene::Isol_hor::dpsi_evol
Evolution_std< Vector > dpsi_evol
Values at successive time steps of the covariant derivative of the conformal factor .
Definition: isol_hor.h:298
Lorene::Isol_hor::boundary_vv_y
const Valeur boundary_vv_y(double om) const
Component y of boundary value of .
Definition: bound_hor.C:1521
Lorene::Single_hor::viriel_seul
double viriel_seul() const
Computes the viriel error, that is the difference between the ADM and the Komar masses,...
Definition: binhor_viriel.C:57
Lorene::Single_hor::get_psi_auto
const Scalar & get_psi_auto() const
Conformal factor
Definition: single_hor.C:275
Lorene::Single_hor::get_nn
const Scalar & get_nn() const
Lapse function .
Definition: single_hor.C:270
Lorene::Isol_hor::sauve
virtual void sauve(FILE *fich, bool partial_save) const
Total or partial saves in a binary file.
Definition: isol_hor.C:401
Lorene::Single_hor::psi_auto
Scalar psi_auto
Conformal factor .
Definition: isol_hor.h:924
Lorene::Isol_hor::n_comp_evol
Evolution_std< Scalar > n_comp_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:284
Lorene::Isol_hor::radial_vect_hor
const Vector radial_vect_hor() const
Vector radial normal.
Definition: phys_param.C:95
Lorene::Single_hor::get_beta_comp
const Vector & get_beta_comp() const
Shift function .
Definition: single_hor.C:314
Lorene::Isol_hor::kappa_hor
double kappa_hor() const
Surface gravity
Definition: phys_param.C:218
Lorene::Single_hor::set_radius
void set_radius(double rad)
Sets the radius of the horizon to rad .
Definition: isol_hor.h:1051
Lorene::Single_hor::nz
int nz
Number of zones.
Definition: isol_hor.h:903
Lorene::Single_hor::p_gam
Metric * p_gam
Spatial metric .
Definition: isol_hor.h:953
Lorene::Single_hor::p_k_dd
Sym_tensor * p_k_dd
Components of the extrinsic curvature:
Definition: isol_hor.h:974
Lorene::Isol_hor::get_boost_z
double get_boost_z() const
Returns the boost velocity in z-direction.
Definition: isol_hor.h:454
Lorene::Isol_hor::boundary_psi_Dir_evol
const Valeur boundary_psi_Dir_evol() const
Dirichlet boundary condition for (evolution)
Definition: bound_hor.C:174
Lorene::Isol_hor::boundary_beta_r
const Valeur boundary_beta_r() const
Component r of boundary value of .
Definition: bound_hor.C:897
Lorene::Isol_hor::boost_x
double boost_x
Boost velocity in x-direction.
Definition: isol_hor.h:272
Lorene::Isol_hor::operator>>
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator<<).
Definition: isol_hor.C:378
Lorene::Single_hor::radius
double radius
Radius of the horizon in LORENE's units.
Definition: isol_hor.h:906
Lorene::Single_hor::get_tgam
const Metric & get_tgam() const
Conformal metric .
Definition: isol_hor.h:1133
Lorene::Single_hor::operator=
void operator=(const Single_hor &)
Assignment to another Single_hor.
Definition: single_hor.C:186
Lorene::Bin_hor::hh_Samaya_hole2
Sym_tensor hh_Samaya_hole2()
Calculation of the hole2 part of the Post-Newtonian correction to .
Definition: binhor_hh.C:453
Lorene::Isol_hor::boundary_psi_Neu_spat
const Valeur boundary_psi_Neu_spat() const
Neumann boundary condition for (spatial)
Definition: bound_hor.C:267
Lorene::Isol_hor::n_auto
virtual const Scalar & n_auto() const
Lapse function at the current time step jtime.
Definition: isol_hor.C:455
Lorene::Single_hor::regularise_one
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:153
Lorene::Isol_hor::beta_comp_evol
Evolution_std< Vector > beta_comp_evol
Values at successive time steps of the shift function .
Definition: isol_hor.h:304
Lorene::Bin_hor::operator=
void operator=(const Bin_hor &)
Affectation operator.
Definition: bin_hor.C:139
Lorene::Isol_hor::psi_comp_evol
Evolution_std< Scalar > psi_comp_evol
Values at successive time steps of the lapse function .
Definition: isol_hor.h:290
Lorene::Bin_hor::coal
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:133
Lorene::Single_hor::get_omega
double get_omega() const
Returns the angular velocity.
Definition: isol_hor.h:1056
Lorene::Isol_hor::boundary_psi_Dir
const Valeur boundary_psi_Dir() const
Dirichlet boundary condition for (spatial)
Definition: bound_hor.C:324
Lorene::Single_hor::b_tilde
const Scalar b_tilde() const
Radial component of the shift with respect to the conformal metric.
Definition: single_param.C:68
Lorene::Single_hor::ang_mom_adm
double ang_mom_adm() const
ADM angular Momentum
Definition: single_param.C:174
Lorene::Isol_hor::boundary_nn_Dir_lapl
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:693
Lorene::Isol_hor::trK_point
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Definition: isol_hor.h:335
Lorene::Isol_hor::beta_auto
virtual const Vector & beta_auto() const
Shift function at the current time step jtime.
Definition: isol_hor.C:491
Lorene::Single_hor::boundary_psi_app_hor
const Valeur boundary_psi_app_hor() const
Neumann boundary condition for.
Definition: single_bound.C:69
Lorene::Isol_hor::tgam
virtual const Metric & tgam() const
Conformal metric Returns the value at the current time step (jtime ).
Definition: isol_hor.h:514
Lorene::Single_hor::get_mp
const Map_af & get_mp() const
Returns the mapping (readonly).
Definition: isol_hor.h:1038
Lorene::Isol_hor::boundary_beta_phi
const Valeur boundary_beta_phi(double om) const
Component phi of boundary value of .
Definition: bound_hor.C:978
Lorene::Isol_hor::dn_evol
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
Lorene::Isol_hor::psi_auto
virtual const Scalar & psi_auto() const
Conformal factor at the current time step jtime.
Definition: isol_hor.C:467
Lorene::Bin_hor::sauve
void sauve(FILE *fich) const
Total or partial saves in a binary file.
Definition: bin_hor.C:151
Lorene::Isol_hor::boundary_vv_z_bin
const Valeur boundary_vv_z_bin(double om, int hole=0) const
Component z of boundary value of .
Definition: bound_hor.C:1625
Lorene::Single_hor::gamt_point
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
Definition: isol_hor.h:986
Lorene::Isol_hor::decouple
Scalar decouple
Function used to construct from the total .
Definition: isol_hor.h:345
Lorene::Map_af
Affine radial mapping.
Definition: map.h:2027
Lorene::Isol_hor::source_nn
const Scalar source_nn() const
Source for N.
Definition: sources_hor.C:145
Lorene::Bin_hor
Definition: isol_hor.h:1337
Lorene::Bin_hor::init_bin_hor
void init_bin_hor()
Initialisation of the system.
Definition: bin_hor.C:161
Lorene::Single_hor::get_n_auto
const Scalar & get_n_auto() const
Lapse function .
Definition: single_hor.C:261
Lorene::Isol_hor::boost_z
double boost_z
Boost velocity in z-direction.
Definition: isol_hor.h:275
Lorene::Bin_hor::hole2
Single_hor hole2
Black hole two.
Definition: isol_hor.h:1343
Lorene::Isol_hor::aa_quad
virtual const Scalar & aa_quad() const
Conformal representation .
Definition: isol_hor.C:884
Lorene::Vector
Tensor field of valence 1.
Definition: vector.h:188
Lorene::Isol_hor::boundary_b_tilde_Dir
const Valeur boundary_b_tilde_Dir() const
Dirichlet boundary condition for b_tilde.
Definition: bound_hor.C:1212
Lorene::Isol_hor::set_mp
Map_af & set_mp()
Read/write of the mapping.
Definition: isol_hor.h:421
Lorene::Isol_hor::set_boost_x
void set_boost_x(double bo)
Sets the boost velocity in x-direction to bo .
Definition: isol_hor.h:449
Lorene::Isol_hor::beta_comp
virtual const Vector & beta_comp() const
Shift function at the current time step jtime.
Definition: isol_hor.C:497
Lorene::Single_hor::psi_comp_import
void psi_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp .
Definition: single_hor.C:424
Lorene::Bin_hor::write_global
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:178
Lorene::Single_hor::hh
Sym_tensor hh
Deviation metric.
Definition: isol_hor.h:983
Lorene::Isol_hor::set_gamt
void set_gamt(const Metric &gam_tilde)
Sets the conformal metric to gam_tilde.
Definition: isol_hor.C:550
Lorene::Isol_hor::boundary_psi_app_hor
const Valeur boundary_psi_app_hor() const
Neumann boundary condition for (spatial)
Definition: bound_hor.C:297
Lorene::Isol_hor::Isol_hor
Isol_hor(Map_af &mpi, int depth_in=3)
Standard constructor.
Definition: isol_hor.C:176
Lorene::Single_hor::init_bhole_seul
void init_bhole_seul()
Initiates for a single black hole.
Definition: single_hor.C:548
Lorene::Single_hor::set_n_auto
void set_n_auto(const Scalar &nn_in)
Sets the lapse.
Definition: single_hor.C:366
Lorene::Single_hor::get_k_dd
const Sym_tensor & get_k_dd() const
k_dd
Definition: single_hor.C:348
Lorene::Isol_hor::aa_comp_evol
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
Lorene::Single_hor::decouple
Scalar decouple
Function used to construct from the total .
Definition: isol_hor.h:1002
Lorene::Isol_hor::regularise_one
double regularise_one()
Corrects the shift in the innermost shell, so that it remains and that equals zero on the horizon.
Definition: regularisation.C:183
Lorene::Single_hor::get_aa_comp
const Sym_tensor & get_aa_comp() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:329
Lorene::Isol_hor::set_radius
void set_radius(double rad)
Sets the radius of the horizon to rad .
Definition: isol_hor.h:431
Lorene::Isol_hor::tradial_vect_hor
const Vector tradial_vect_hor() const
Vector radial normal tilde.
Definition: phys_param.C:116
Lorene::Isol_hor::beta_boost_z
const Valeur beta_boost_z() const
Boundary value for a boost in z-direction.
Definition: bound_hor.C:1155
Lorene::Single_hor::psi_comp
Scalar psi_comp
Conformal factor .
Definition: isol_hor.h:927
Lorene::Single_hor::p_psi4
Scalar * p_psi4
Conformal factor .
Definition: isol_hor.h:933
Lorene::Single_hor::get_gam
const Metric & get_gam() const
metric
Definition: single_hor.C:339
Lorene::Isol_hor::set_nn
void set_nn(const Scalar &nn_in)
Sets the lapse.
Definition: isol_hor.C:540
Lorene::Isol_hor::dnn
virtual const Vector & dnn() const
Covariant derivative of the lapse function at the current time step jtime
Definition: isol_hor.C:479
Lorene::Single_hor::set_aa
void set_aa(const Scalar &aa_in)
Sets aa.
Definition: single_hor.C:382
Lorene::Isol_hor::psi_auto_evol
Evolution_std< Scalar > psi_auto_evol
Values at successive time steps of the conformal factor .
Definition: isol_hor.h:287
Lorene::Isol_hor::boundary_beta_x
const Valeur boundary_beta_x(double om) const
Component x of boundary value of .
Definition: bound_hor.C:1021
Lorene::Single_hor::get_psi
const Scalar & get_psi() const
Conformal factor .
Definition: single_hor.C:284
Lorene::Isol_hor::ang_mom_adm
double ang_mom_adm() const
ADM angular Momentum
Definition: phys_param.C:248
Lorene::Isol_hor::get_decouple
const Scalar get_decouple() const
Returns the function used to construct tkij_auto from tkij_tot .
Definition: isol_hor.h:519
Lorene::Single_hor::omega
double omega
Angular velocity in LORENE's units.
Definition: isol_hor.h:909
Lorene::Single_hor::get_aa
const Sym_tensor & get_aa() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition: single_hor.C:334
Lorene::Isol_hor::omega_hor
double omega_hor() const
Orbital velocity
Definition: phys_param.C:233
Lorene::Bin_hor::extrinsic_curvature
void extrinsic_curvature()
Calculation of the extrinsic curvature tensor.
Definition: binhor_kij.C:88
Lorene::Single_hor
Binary black holes system.
Definition: isol_hor.h:894
Lorene::Isol_hor::source_b_tilde
const Scalar source_b_tilde() const
Source for b_tilde.
Lorene::Isol_hor::aa_auto
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:503
Lorene::Single_hor::beta_auto
Vector beta_auto
Shift function .
Definition: isol_hor.h:944
Lorene::Bin_hor::Bin_hor
Bin_hor(Map_af &mp1, Map_af &mp2)
Standard constructor.
Definition: bin_hor.C:97
Lorene::Isol_hor::beta_boost_x
const Valeur beta_boost_x() const
Boundary value for a boost in x-direction.
Definition: bound_hor.C:1144
Lorene::Isol_hor::vv_bound_cart
const Vector vv_bound_cart(double om) const
Vector for boundary conditions in cartesian
Definition: bound_hor.C:1251
Lorene::Single_hor::n_comp
Scalar n_comp
Lapse function .
Definition: isol_hor.h:918
Lorene::Isol_hor::boundary_psi_Neu_evol
const Valeur boundary_psi_Neu_evol() const
Neumann boundary condition for (evolution)
Definition: bound_hor.C:203
Lorene::Single_hor::n_comp_import
void n_comp_import(const Single_hor &comp)
Imports the part of N due to the companion hole comp .
Definition: single_hor.C:390
Lorene::Single_hor::set_der_0x0
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition: single_hor.C:231
Lorene::Isol_hor::expansion
Scalar expansion() const
Expansion of the outgoing null normal ( )
Definition: phys_param.C:263
Lorene::Isol_hor::aa_auto_evol
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
Lorene::Bin_hor::hh_Samaya_hole1
Sym_tensor hh_Samaya_hole1()
Calculation of the hole1 part of the Post-Newtonian correction to .
Definition: binhor_hh.C:63
Lorene::Bin_hor::set_hh_Samaya
void set_hh_Samaya()
Calculation of the Post-Newtonian correction to .
Definition: binhor_hh.C:786
Lorene::Single_hor::beta_comp_import
void beta_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp.
Definition: single_hor.C:465
Lorene::Single_hor::Single_hor
Single_hor(Map_af &mpi)
Standard constructor.
Definition: single_hor.C:70
Lorene::Single_hor::expansion
Scalar expansion() const
Expansion of the outgoing null normal ( )
Definition: single_param.C:190
Lorene::Single_hor::trK
Scalar trK
Trace of the extrinsic curvature.
Definition: isol_hor.h:989
Lorene::Single_hor::ang_mom_hor
double ang_mom_hor() const
Angular momentum (modulo)
Definition: single_param.C:107
Lorene::Single_hor::tgam
Metric tgam
3 metric tilde
Definition: isol_hor.h:977
Lorene::Isol_hor::boundary_beta_y
const Valeur boundary_beta_y(double om) const
Component y of boundary value of .
Definition: bound_hor.C:1071
Lorene::Bin_hor::komar_mass
double komar_mass() const
Calculates the Komar mass of the system using : .
Definition: binhor_global.C:101
Lorene::Time_slice_conf::aa
virtual Sym_tensor aa() const
Conformal representation of the traceless part of the extrinsic curvature: .
Definition: time_slice_conf.C:765
Lorene::Single_hor::area_hor
double area_hor() const
Area of the horizon.
Definition: single_param.C:88
Lorene::Isol_hor::boundary_beta_theta
const Valeur boundary_beta_theta() const
Component theta of boundary value of .
Definition: bound_hor.C:938
Lorene::Bin_hor::solve_lapse
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 ,...
Definition: binhor_equations.C:124
Lorene::Isol_hor::init_met_trK
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:785