LORENE
et_bin_nsbh.h
1 /*
2  * Definition of Lorene class Etoile_bin_nsbh
3  *
4  */
5 
6 /*
7  * Copyright (c) 2003 Keisuke Taniguchi
8  *
9  * This file is part of LORENE.
10  *
11  * LORENE is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2
13  * as published by the Free Software Foundation.
14  *
15  * LORENE is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with LORENE; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */
25 
26 #ifndef __ET_BIN_NSBH_H_
27 #define __ET_BIN_NSBH_H_
28 
29 /*
30  * $Id: et_bin_nsbh.h,v 1.9 2014/10/13 08:52:34 j_novak Exp $
31  * $Log: et_bin_nsbh.h,v $
32  * Revision 1.9 2014/10/13 08:52:34 j_novak
33  * Lorene classes and functions now belong to the namespace Lorene.
34  *
35  * Revision 1.8 2006/09/25 10:01:45 p_grandclement
36  * Addition of N-dimensional Tbl
37  *
38  * Revision 1.7 2006/06/01 12:47:50 p_grandclement
39  * update of the Bin_ns_bh project
40  *
41  * Revision 1.6 2006/04/25 07:21:54 p_grandclement
42  * Various changes for the NS_BH project
43  *
44  * Revision 1.5 2005/10/18 13:12:31 p_grandclement
45  * update of the mixted binary codes
46  *
47  * Revision 1.4 2005/08/29 15:10:12 p_grandclement
48  * Addition of things needed :
49  * 1) For BBH with different masses
50  * 2) Provisory files for the mixted binaries (Bh and NS) : THIS IS NOT
51  * WORKING YET !!!
52  *
53  * Revision 1.3 2004/06/09 06:32:51 k_taniguchi
54  * Introduce set_n_auto() and set_confpsi_auto().
55  *
56  * Revision 1.2 2003/10/24 12:25:19 k_taniguchi
57  * Introduce the method of update metric for NS-BH
58  *
59  * Revision 1.1 2003/10/21 11:46:13 k_taniguchi
60  * Definition of class Et_bin_nsbh
61  *
62  *
63  * $Header: /cvsroot/Lorene/C++/Include/et_bin_nsbh.h,v 1.9 2014/10/13 08:52:34 j_novak Exp $
64  *
65  */
66 
67 // Lorene headers
68 #include "etoile.h"
69 #include "bhole.h"
70 
71 namespace Lorene {
79 class Et_bin_nsbh : public Etoile_bin {
80 
81  // Data :
82  // -----
83  protected:
86 
89 
94 
99 
102 
105 
110 
115 
120 
127 
134 
141 
147 
153 
159 
165 
166  // Constructors - Destructor
167  // -------------------------
168  public:
184  Et_bin_nsbh(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
185  bool irrot, const Base_vect& ref_triad_i) ;
186 
187  Et_bin_nsbh(const Et_bin_nsbh& ) ;
188 
201  Et_bin_nsbh(Map& mp_i, const Eos& eos_i, const Base_vect& ref_triad_i,
202  FILE* fich, bool old = false) ;
203 
204  virtual ~Et_bin_nsbh() ;
205 
206 
207  // Mutators / assignment
208  // ---------------------
209  public:
211  void operator=(const Et_bin_nsbh&) ;
212 
216  Tenseur& set_n_auto() ;
217 
221  Tenseur& set_n_comp() ;
222 
227 
232 
233  // Accessors
234  // ---------
235  public:
239  const Tenseur& get_n_auto() const {return n_auto;} ;
240 
244  const Tenseur& get_n_comp() const {return n_comp;} ;
245 
249  const Tenseur& get_d_n_auto() const {return d_n_auto;} ;
250 
254  const Tenseur& get_d_n_comp() const {return d_n_comp;} ;
255 
257  const Tenseur& get_confpsi() const {return confpsi;} ;
258 
262  const Tenseur& get_confpsi_auto() const {return confpsi_auto;} ;
263 
267  const Tenseur& get_confpsi_comp() const {return confpsi_comp;} ;
268 
272  const Tenseur& get_d_confpsi_auto() const {return d_confpsi_auto;} ;
273 
277  const Tenseur& get_d_confpsi_comp() const {return d_confpsi_comp;} ;
278 
283  const Tenseur_sym& get_taij_auto() const {return taij_auto;} ;
284 
289  const Tenseur_sym& get_taij_comp() const {return tkij_comp;} ;
290 
296  const Tenseur_sym& get_taij_tot() const {return taij_tot;} ;
297 
302  const Tenseur_sym& get_tkij_auto() const {return tkij_auto;} ;
303 
308  const Tenseur_sym& get_tkij_tot() const {return tkij_tot;} ;
309 
310 
311  // Outputs
312  // -------
313  public:
314  virtual void sauve(FILE *) const ;
315 
316  protected:
318  virtual ostream& operator>>(ostream& ) const ;
319 
320 
321  // Global quantities
322  // -----------------
323 
324  // Computational routines
325  // ----------------------
326  public:
327 
328  void fait_taij_auto() ;
335  void update_metric(const Bhole& comp) ;
336 
343  void update_metric_der_comp(const Bhole& comp) ;
344 
381  virtual void equilibrium_nsbh(double ent_c, int mermax,
382  int mermax_poisson, double relax_poisson,
383  int mermax_potvit, double relax_potvit,
384  double thres_adapt,
385  const Tbl& fact, Tbl& diff) ;
386 
387  void equilibrium_nsbh (bool, double, int&, int, int, double, int, double, Tbl&) ;
388 
399  virtual void kinematics(double omega, double x_axe) ;
400 
401  double compute_angul() const ;
402  double compute_axe(double) const ;
403 
404  friend class Bin_ns_bh ;
405 
406 };
407 
408 }
409 #endif
Lorene::Et_bin_nsbh::set_n_auto
Tenseur & set_n_auto()
Read/write the lapse {\it N} generated principaly by the star.
Definition: et_bin_nsbh.C:278
Lorene::Et_bin_nsbh::get_d_confpsi_auto
const Tenseur & get_d_confpsi_auto() const
Returns the gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:272
Lorene::Tenseur
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Definition: tenseur.h:301
Lorene::Et_bin_nsbh::confpsi
Tenseur confpsi
Total conformal factor $\Psi$.
Definition: et_bin_nsbh.h:101
Lorene::Et_bin_nsbh::d_confpsi_auto
Tenseur d_confpsi_auto
Gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:114
Lorene::Et_bin_nsbh
Class for a star in a NS-BH binary system.
Definition: et_bin_nsbh.h:79
Lorene
Lorene prototypes.
Definition: app_hor.h:64
Lorene::Et_bin_nsbh::get_taij_tot
const Tenseur_sym & get_taij_tot() const
Returns the total extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_aut...
Definition: et_bin_nsbh.h:296
Lorene::Et_bin_nsbh::taij_auto
Tenseur_sym taij_auto
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto}.
Definition: et_bin_nsbh.h:126
Lorene::Et_bin_nsbh::get_d_n_comp
const Tenseur & get_d_n_comp() const
Returns the gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:254
Lorene::Bhole
Black hole.
Definition: bhole.h:268
Lorene::Etoile_bin::tkij_comp
Tenseur_sym tkij_comp
Part of the extrinsic curvature tensor generated by shift_comp .
Definition: etoile.h:932
Lorene::Eos
Equation of state base class.
Definition: eos.h:190
Lorene::Et_bin_nsbh::ssjm1_confpsi
Cmp ssjm1_confpsi
Effective source at the previous step for the resolution of the Poisson equation for {\tt confpsi_aut...
Definition: et_bin_nsbh.h:164
Lorene::Et_bin_nsbh::set_confpsi_comp
Tenseur & set_confpsi_comp()
Read/write the conformal factor $\Psi$ generated principaly by the companion star.
Definition: et_bin_nsbh.C:299
Lorene::Et_bin_nsbh::taij_tot
Tenseur_sym taij_tot
Total extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto} and {\tt ...
Definition: et_bin_nsbh.h:140
Lorene::Et_bin_nsbh::n_auto
Tenseur n_auto
Part of the lapse {\it N} generated principaly by the star.
Definition: et_bin_nsbh.h:85
Lorene::Et_bin_nsbh::get_confpsi
const Tenseur & get_confpsi() const
Returns the part of the conformal factor $\Psi$.
Definition: et_bin_nsbh.h:257
Lorene::Et_bin_nsbh::get_tkij_auto
const Tenseur_sym & get_tkij_auto() const
Returns the part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}.
Definition: et_bin_nsbh.h:302
Lorene::Etoile_bin
Class for stars in binary system.
Definition: etoile.h:814
Lorene::Et_bin_nsbh::tkij_tot
Tenseur_sym tkij_tot
Total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto} and {\tt shift_comp}.
Definition: et_bin_nsbh.h:152
Lorene::Et_bin_nsbh::get_taij_comp
const Tenseur_sym & get_taij_comp() const
Returns the part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shi...
Definition: et_bin_nsbh.h:289
Lorene::Et_bin_nsbh::get_tkij_tot
const Tenseur_sym & get_tkij_tot() const
Returns the total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto} and {\tt shift_co...
Definition: et_bin_nsbh.h:308
Lorene::Et_bin_nsbh::equilibrium_nsbh
virtual void equilibrium_nsbh(double ent_c, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, double thres_adapt, const Tbl &fact, Tbl &diff)
Computes an equilibrium configuration in a NS-BH binary system.
Definition: et_bin_nsbh_equilibrium.C:494
Lorene::Et_bin_nsbh::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition: et_bin_nsbh.C:312
Lorene::Bin_ns_bh
Neutron star - black hole binary system.
Definition: bin_ns_bh.h:117
Lorene::Et_bin_nsbh::confpsi_comp
Tenseur confpsi_comp
Part of the conformal factor $\Psi$ generated principaly by the companion star.
Definition: et_bin_nsbh.h:109
Lorene::Et_bin_nsbh::set_n_comp
Tenseur & set_n_comp()
Read/write the lapse {\it N} generated principaly by the companion star.
Definition: et_bin_nsbh.C:285
Lorene::Et_bin_nsbh::ssjm1_lapse
Cmp ssjm1_lapse
Effective source at the previous step for the resolution of the Poisson equation for {\tt n_auto} by ...
Definition: et_bin_nsbh.h:158
Lorene::Tenseur_sym
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
Definition: tenseur.h:1253
Lorene::Et_bin_nsbh::confpsi_auto
Tenseur confpsi_auto
Part of the conformal factor $\Psi$ generated principaly by the star.
Definition: et_bin_nsbh.h:104
Lorene::Cmp
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition: cmp.h:446
Lorene::Et_bin_nsbh::fait_taij_auto
void fait_taij_auto()
Computes (LB)^{ij} auto.
Definition: bin_ns_bh_kij.C:96
Lorene::Et_bin_nsbh::get_n_comp
const Tenseur & get_n_comp() const
Returns the part of the lapse {\it N} generated principaly by the companion star.
Definition: et_bin_nsbh.h:244
Lorene::Et_bin_nsbh::kinematics
virtual void kinematics(double omega, double x_axe)
Computes the quantities bsn and pot_centri .
Definition: et_bin_nsbh_kinema.C:51
Lorene::Tbl
Basic array class.
Definition: tbl.h:161
Lorene::Et_bin_nsbh::d_confpsi_comp
Tenseur d_confpsi_comp
Gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:119
Lorene::Et_bin_nsbh::d_n_comp
Tenseur d_n_comp
Gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:98
Lorene::Et_bin_nsbh::update_metric
void update_metric(const Bhole &comp)
Computes metric coefficients from known potentials, when the companion is a black hole.
Definition: et_bin_nsbh_upmetr.C:64
Lorene::Et_bin_nsbh::get_d_confpsi_comp
const Tenseur & get_d_confpsi_comp() const
Returns the gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:277
Lorene::Et_bin_nsbh::get_n_auto
const Tenseur & get_n_auto() const
Returns the part of the lapse {\it N} generated principaly by the star.
Definition: et_bin_nsbh.h:239
Lorene::Et_bin_nsbh::n_comp
Tenseur n_comp
Part of the lapse {\it N} generated principaly by the companion star.
Definition: et_bin_nsbh.h:88
Lorene::Et_bin_nsbh::get_taij_auto
const Tenseur_sym & get_taij_auto() const
Returns the part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shi...
Definition: et_bin_nsbh.h:283
Lorene::Et_bin_nsbh::operator>>
virtual ostream & operator>>(ostream &) const
Save in a file.
Definition: et_bin_nsbh.C:328
Lorene::Et_bin_nsbh::set_confpsi_auto
Tenseur & set_confpsi_auto()
Read/write the conformal factor $\Psi$ generated principaly by the star.
Definition: et_bin_nsbh.C:292
Lorene::Et_bin_nsbh::get_confpsi_comp
const Tenseur & get_confpsi_comp() const
Returns the part of the conformal factor $\Psi$ generated principaly by the companion star.
Definition: et_bin_nsbh.h:267
Lorene::Et_bin_nsbh::operator=
void operator=(const Et_bin_nsbh &)
Destructor.
Definition: et_bin_nsbh.C:253
Lorene::Et_bin_nsbh::d_n_auto
Tenseur d_n_auto
Gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:93
Lorene::Et_bin_nsbh::get_confpsi_auto
const Tenseur & get_confpsi_auto() const
Returns the part of the conformal factor $\Psi$ generated principaly by the star.
Definition: et_bin_nsbh.h:262
Lorene::Et_bin_nsbh::taij_comp
Tenseur_sym taij_comp
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_comp}.
Definition: et_bin_nsbh.h:133
Lorene::Et_bin_nsbh::tkij_auto
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}.
Definition: et_bin_nsbh.h:146
Lorene::Map
Base class for coordinate mappings.
Definition: map.h:670
Lorene::Et_bin_nsbh::get_d_n_auto
const Tenseur & get_d_n_auto() const
Returns the gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad})
Definition: et_bin_nsbh.h:249
Lorene::Base_vect
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition: base_vect.h:105
Lorene::Et_bin_nsbh::Et_bin_nsbh
Et_bin_nsbh(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, bool irrot, const Base_vect &ref_triad_i)
Standard constructor.
Definition: et_bin_nsbh.C:95
Lorene::Et_bin_nsbh::update_metric_der_comp
void update_metric_der_comp(const Bhole &comp)
Computes the derivative of metric functions related to the companion black hole.
Definition: et_bin_nsbh_upmetr_der.C:71