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
71namespace Lorene {
79class 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
217
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
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition base_vect.h:105
Black hole.
Definition bhole.h:268
Neutron star - black hole binary system.
Definition bin_ns_bh.h:117
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition cmp.h:446
Equation of state base class.
Definition eos.h:190
Class for a star in a NS-BH binary system.
Definition et_bin_nsbh.h:79
const Tenseur & get_d_n_auto() const
Returns the gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad})
Tenseur confpsi_auto
Part of the conformal factor $\Psi$ generated principaly by the star.
const Tenseur & get_confpsi_auto() const
Returns the part of the conformal factor $\Psi$ generated principaly by the star.
Tenseur d_confpsi_comp
Gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad})
Cmp ssjm1_confpsi
Effective source at the previous step for the resolution of the Poisson equation for {\tt confpsi_aut...
virtual ostream & operator>>(ostream &) const
Save in a file.
Tenseur confpsi_comp
Part of the conformal factor $\Psi$ generated principaly by the companion star.
void update_metric(const Bhole &comp)
Computes metric coefficients from known potentials, when the companion is a black hole.
Tenseur_sym tkij_tot
Total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto} and {\tt shift_comp}.
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...
const Tenseur_sym & get_tkij_tot() const
Returns the total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto} and {\tt shift_co...
Tenseur d_n_comp
Gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad})
Definition et_bin_nsbh.h:98
Tenseur & set_n_comp()
Read/write the lapse {\it N} generated principaly by the companion star.
const Tenseur & get_n_auto() const
Returns the part of the lapse {\it N} generated principaly by the star.
void fait_taij_auto()
Computes (LB)^{ij} auto.
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.
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...
Tenseur_sym taij_tot
Total extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto} and {\tt ...
const Tenseur & get_d_n_comp() const
Returns the gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad})
Tenseur & set_n_auto()
Read/write the lapse {\it N} generated principaly by the star.
Tenseur d_n_auto
Gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad})
Definition et_bin_nsbh.h:93
const Tenseur & get_d_confpsi_auto() const
Returns the gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad})
void operator=(const Et_bin_nsbh &)
Destructor.
const Tenseur & get_n_comp() const
Returns the part of the lapse {\it N} generated principaly by the companion star.
const Tenseur & get_confpsi_comp() const
Returns the part of the conformal factor $\Psi$ generated principaly by the companion star.
const Tenseur & get_d_confpsi_comp() const
Returns the gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad})
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...
const Tenseur_sym & get_tkij_auto() const
Returns the part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}.
Cmp ssjm1_lapse
Effective source at the previous step for the resolution of the Poisson equation for {\tt n_auto} by ...
Tenseur_sym taij_auto
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto}.
Tenseur & set_confpsi_comp()
Read/write the conformal factor $\Psi$ generated principaly by the companion star.
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}.
Tenseur & set_confpsi_auto()
Read/write the conformal factor $\Psi$ generated principaly by the star.
virtual void kinematics(double omega, double x_axe)
Computes the quantities bsn and pot_centri .
Tenseur_sym taij_comp
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_comp}.
Tenseur n_auto
Part of the lapse {\it N} generated principaly by the star.
Definition et_bin_nsbh.h:85
Tenseur n_comp
Part of the lapse {\it N} generated principaly by the companion star.
Definition et_bin_nsbh.h:88
void update_metric_der_comp(const Bhole &comp)
Computes the derivative of metric functions related to the companion black hole.
Tenseur confpsi
Total conformal factor $\Psi$.
virtual void sauve(FILE *) const
Save in a file.
const Tenseur & get_confpsi() const
Returns the part of the conformal factor $\Psi$.
Tenseur d_confpsi_auto
Gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad})
Class for stars in binary system.
Definition etoile.h:814
Tenseur_sym tkij_comp
Part of the extrinsic curvature tensor generated by shift_comp .
Definition etoile.h:932
Base class for coordinate mappings.
Definition map.h:670
Basic array class.
Definition tbl.h:161
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
Definition tenseur.h:1253
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Definition tenseur.h:301
Lorene prototypes.
Definition app_hor.h:64