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
Tenseur & set_confpsi_comp()
Read/write the conformal factor $$ generated principaly by the companion star.
Definition: et_bin_nsbh.C:302
virtual ostream & operator>>(ostream &) const
Save in a file.
Definition: et_bin_nsbh.C:331
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition: cmp.h:446
const Tenseur_sym & get_taij_auto() const
Returns the part of the extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_auto}...
Definition: et_bin_nsbh.h:283
Neutron star - black hole binary system.
Definition: bin_ns_bh.h:120
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
Definition: tenseur.h:1256
const Tenseur & get_n_comp() const
Returns the part of the lapse { N} generated principaly by the companion star.
Definition: et_bin_nsbh.h:244
Lorene prototypes.
Definition: app_hor.h:67
const Tenseur & get_d_n_comp() const
Returns the gradient of { n_comp} (Cartesian components with respect to { ref_triad}) ...
Definition: et_bin_nsbh.h:254
Equation of state base class.
Definition: eos.h:209
virtual void kinematics(double omega, double x_axe)
Computes the quantities bsn and pot_centri .
Base class for coordinate mappings.
Definition: map.h:682
Tenseur confpsi_comp
Part of the conformal factor $$ generated principaly by the companion star.
Definition: et_bin_nsbh.h:109
Tenseur_sym taij_comp
Part of the extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_comp}.
Definition: et_bin_nsbh.h:133
void update_metric_der_comp(const Bhole &comp)
Computes the derivative of metric functions related to the companion black hole.
Tenseur & set_n_comp()
Read/write the lapse { N} generated principaly by the companion star.
Definition: et_bin_nsbh.C:288
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:98
Tenseur & set_n_auto()
Read/write the lapse { N} generated principaly by the star.
Definition: et_bin_nsbh.C:281
Class for stars in binary system.
Definition: etoile.h:817
virtual void sauve(FILE *) const
Save in a file.
Definition: et_bin_nsbh.C:315
Black hole.
Definition: bhole.h:268
Tenseur n_auto
Part of the lapse { N} generated principaly by the star.
Definition: et_bin_nsbh.h:85
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition: base_vect.h:105
Tenseur confpsi
Total conformal factor $$.
Definition: et_bin_nsbh.h:101
Tenseur & set_confpsi_auto()
Read/write the conformal factor $$ generated principaly by the star.
Definition: et_bin_nsbh.C:295
Tenseur d_confpsi_comp
Gradient of { confpsi_comp} (Cartesian components with respect to { ref_triad})
Definition: et_bin_nsbh.h:119
const Tenseur_sym & get_tkij_auto() const
Returns the part of the extrinsic curvature tensor $K^{ij}$ generated by { shift_auto}.
Definition: et_bin_nsbh.h:302
void fait_taij_auto()
Computes (LB)^{ij} auto.
Definition: bin_ns_bh_kij.C:99
const Tenseur & get_d_confpsi_comp() const
Returns the gradient of { confpsi_comp} (Cartesian components with respect to { ref_triad}) ...
Definition: et_bin_nsbh.h:277
Tenseur_sym taij_tot
Total extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_auto} and { shift_comp}...
Definition: et_bin_nsbh.h:140
const Tenseur & get_confpsi_comp() const
Returns the part of the conformal factor $$ generated principaly by the companion star...
Definition: et_bin_nsbh.h:267
const Tenseur_sym & get_taij_tot() const
Returns the total extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_auto} and { ...
Definition: et_bin_nsbh.h:296
const Tenseur & get_n_auto() const
Returns the part of the lapse { N} generated principaly by the star.
Definition: et_bin_nsbh.h:239
const Tenseur & get_d_confpsi_auto() const
Returns the gradient of { confpsi_auto} (Cartesian components with respect to { ref_triad}) ...
Definition: et_bin_nsbh.h:272
const Tenseur & get_confpsi() const
Returns the part of the conformal factor $$.
Definition: et_bin_nsbh.h:257
Tenseur d_confpsi_auto
Gradient of { confpsi_auto} (Cartesian components with respect to { ref_triad})
Definition: et_bin_nsbh.h:114
Tenseur d_n_auto
Gradient of { n_auto} (Cartesian components with respect to { ref_triad})
Definition: et_bin_nsbh.h:93
void update_metric(const Bhole &comp)
Computes metric coefficients from known potentials, when the companion is a black hole...
Tenseur confpsi_auto
Part of the conformal factor $$ generated principaly by the star.
Definition: et_bin_nsbh.h:104
Class for a star in a NS-BH binary system.
Definition: et_bin_nsbh.h:79
Cmp ssjm1_confpsi
Effective source at the previous step for the resolution of the Poisson equation for { confpsi_auto} ...
Definition: et_bin_nsbh.h:164
const Tenseur & get_confpsi_auto() const
Returns the part of the conformal factor $$ generated principaly by the star.
Definition: et_bin_nsbh.h:262
Tenseur_sym taij_auto
Part of the extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_auto}.
Definition: et_bin_nsbh.h:126
const Tenseur_sym & get_tkij_tot() const
Returns the total extrinsic curvature tensor $K^{ij}$ generated by { shift_auto} and { shift_comp}...
Definition: et_bin_nsbh.h:308
Cmp ssjm1_lapse
Effective source at the previous step for the resolution of the Poisson equation for { n_auto} by mea...
Definition: et_bin_nsbh.h:158
Tenseur_sym tkij_tot
Total extrinsic curvature tensor $K^{ij}$ generated by { shift_auto} and { shift_comp}.
Definition: et_bin_nsbh.h:152
void operator=(const Et_bin_nsbh &)
Destructor.
Definition: et_bin_nsbh.C:256
Basic array class.
Definition: tbl.h:164
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor $K^{ij}$ generated by { shift_auto}.
Definition: et_bin_nsbh.h:146
const Tenseur_sym & get_taij_comp() const
Returns the part of the extrinsic curvature tensor $ A^{ij} = 2 N K^{ij}$ generated by { shift_comp}...
Definition: et_bin_nsbh.h:289
Tenseur n_comp
Part of the lapse { N} generated principaly by the companion star.
Definition: et_bin_nsbh.h:88
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.
Tenseur d_n_comp
Gradient of { n_comp} (Cartesian components with respect to { ref_triad})
Definition: et_bin_nsbh.h:98
Tenseur_sym tkij_comp
Part of the extrinsic curvature tensor generated by shift_comp .
Definition: etoile.h:935
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Definition: tenseur.h:304
const Tenseur & get_d_n_auto() const
Returns the gradient of { n_auto} (Cartesian components with respect to { ref_triad}) ...
Definition: et_bin_nsbh.h:249