LORENE
et_bin_bhns_extr.h
1/*
2 * Definition of Lorene class Et_bin_bhns_extr
3 *
4 */
5
6/*
7 * Copyright (c) 2004-2005 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_BHNS_EXTR_H_
27#define __ET_BIN_BHNS_EXTR_H_
28
29/*
30 * $Id: et_bin_bhns_extr.h,v 1.5 2014/10/13 08:52:34 j_novak Exp $
31 * $Log: et_bin_bhns_extr.h,v $
32 * Revision 1.5 2014/10/13 08:52:34 j_novak
33 * Lorene classes and functions now belong to the namespace Lorene.
34 *
35 * Revision 1.4 2005/02/28 23:04:56 k_taniguchi
36 * Addition of two indicators for the backfround metric and the boundary
37 * condition, and some codes for the conformally flat case
38 *
39 * Revision 1.3 2005/01/31 20:25:22 k_taniguchi
40 * Change the argument of equil_bhns_extr_ylm.
41 *
42 * Revision 1.2 2004/12/29 16:26:02 k_taniguchi
43 * Addition of a comutational method to calculate equilibrium figures
44 * with a multipole falloff condition at the outer boundary.
45 *
46 * Revision 1.1 2004/11/30 20:36:31 k_taniguchi
47 * *** empty log message ***
48 *
49 *
50 * $Header: /cvsroot/Lorene/C++/Include/et_bin_bhns_extr.h,v 1.5 2014/10/13 08:52:34 j_novak Exp $
51 *
52 */
53
54// Lorene headers
55#include "etoile.h"
56
57namespace Lorene {
69
70 // Data
71 // ----
72 protected:
73
79
84 bool multipole ;
85
86 // Constructors - Destructor
87 // -------------------------
88 public:
108 Et_bin_bhns_extr(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
109 bool irrot, const Base_vect& ref_triad_i,
110 bool kerrs, bool multi) ;
111
113
126 Et_bin_bhns_extr(Map& mp_i, const Eos& eos_i,
127 const Base_vect& ref_triad_i, FILE* fich) ;
128
129 virtual ~Et_bin_bhns_extr() ;
130
131
132 // Mutators / assignment
133 // ---------------------
134 public:
136 void operator=(const Et_bin_bhns_extr&) ;
137
138 // Accessors
139 // ---------
140 public:
141
145 bool in_kerrschild() const {return kerrschild ;} ;
146
150 bool with_multipole() const {return multipole ;} ;
151
152 // Outputs
153 // -------
154 public:
155 virtual void sauve(FILE *) const ;
156
157 // Computational routines
158 // ----------------------
159 public:
176 void hydro_euler_extr(const double& mass, const double& sepa) ;
177
196 void update_metric_extr(const double& mass, const double& sepa) ;
197
214 void update_metric_der_comp_extr(const double& mass,
215 const double& sepa) ;
216
231 void kinematics_extr(double omega, const double& mass,
232 const double& sepa) ;
233
243 void extrinsic_curv_extr(const double& mass, const double& sepa) ;
244
284 void equil_bhns_extr_ks(double ent_c, const double& mass,
285 const double& sepa, int mermax,
286 int mermax_poisson,
287 double relax_poisson, int mermax_potvit,
288 double relax_potvit, int np_filter,
289 double thres_adapt, Tbl& diff) ;
290
330 void equil_bhns_extr_cf(double ent_c, const double& mass,
331 const double& sepa, int mermax,
332 int mermax_poisson,
333 double relax_poisson, int mermax_potvit,
334 double relax_potvit, int np_filter,
335 double thres_adapt, Tbl& diff) ;
336
384 void equil_bhns_extr_ylm_ks(double ent_c, const double& mass,
385 const double& sepa, double* nu_int,
386 double* beta_int, double* shift_int,
387 int mermax, int mermax_poisson,
388 double relax_poisson, double relax_ylm,
389 int mermax_potvit, double relax_potvit,
390 int np_filter,
391 double thres_adapt, Tbl& diff) ;
392
440 void equil_bhns_extr_ylm_cf(double ent_c, const double& mass,
441 const double& sepa, double* nu_int,
442 double* beta_int, double* shift_int,
443 int mermax, int mermax_poisson,
444 double relax_poisson, double relax_ylm,
445 int mermax_potvit, double relax_potvit,
446 int np_filter,
447 double thres_adapt, Tbl& diff) ;
448
477 void test_bhns_extr(const double& mass,
478 const double& sepa, int mermax_poisson,
479 double relax_poisson, int mermax_potvit,
480 double relax_potvit, Tbl& diff) ;
481
499 double velocity_pot_extr(const double& mass, const double& sepa,
500 int mermax, double precis, double relax) ;
501
506 void ent_max_search(double& xx, double& yy) const ;
507
513 double phi_longest_rad(double x_max, double y_max) const ;
514
516 void get_ylm(int nylm, Cmp** ylmvec) const ;
517
519 void get_integrals(int nylm, double* intvec, Cmp** ylmvec,
520 Cmp source) const ;
521
522 friend class Bin_bhns_extr ;
523
524};
525
526}
527#endif
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition base_vect.h:105
Class for computing a Black hole - Neutron star binary system with an extreme mass ratio.
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 neutron star in black hole - neutron star binary systems.
bool in_kerrschild() const
Returns true for the Kerr-Schild background metric, false for the conformally flat one.
virtual void sauve(FILE *) const
Save in a file.
void equil_bhns_extr_ks(double ent_c, const double &mass, const double &sepa, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the Kerr-Schild background metric u...
void kinematics_extr(double omega, const double &mass, const double &sepa)
Computes the quantities bsn and pot_centri in the Kerr-Schild background metric or in the conformally...
void ent_max_search(double &xx, double &yy) const
Searches the position of the maximum enthalpy.
bool multipole
Indicator of the boundary condition: true for the multipole falloff condition, false for the one.
void equil_bhns_extr_ylm_ks(double ent_c, const double &mass, const double &sepa, double *nu_int, double *beta_int, double *shift_int, int mermax, int mermax_poisson, double relax_poisson, double relax_ylm, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the Kerr-Schild background metric u...
bool kerrschild
Indicator of the background metric: true for the Kerr-Shild metric, false for the conformally flat on...
double phi_longest_rad(double x_max, double y_max) const
Searches the position (phi) of the longest radius of NS from the position of the maximum enthalpy.
void get_ylm(int nylm, Cmp **ylmvec) const
Constructs spherical harmonics.
void update_metric_extr(const double &mass, const double &sepa)
Computes metric coefficients from known potentials, when the companion is a black hole with the Kerr-...
void get_integrals(int nylm, double *intvec, Cmp **ylmvec, Cmp source) const
Computes multipole moments.
double velocity_pot_extr(const double &mass, const double &sepa, int mermax, double precis, double relax)
Computes the non-translational part of the velocity scalar potential by solving the continuity equat...
void equil_bhns_extr_cf(double ent_c, const double &mass, const double &sepa, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the conformally flat background met...
void hydro_euler_extr(const double &mass, const double &sepa)
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
void equil_bhns_extr_ylm_cf(double ent_c, const double &mass, const double &sepa, double *nu_int, double *beta_int, double *shift_int, int mermax, int mermax_poisson, double relax_poisson, double relax_ylm, int mermax_potvit, double relax_potvit, int np_filter, double thres_adapt, Tbl &diff)
Computes an equilibrium configuration of a BH-NS binary system in the conformally flat background met...
void extrinsic_curv_extr(const double &mass, const double &sepa)
Computes tkij_auto and akcar_auto from shift_auto , nnn and a_car .
void operator=(const Et_bin_bhns_extr &)
Assignment to another Et_bin_bhns_extr.
virtual ~Et_bin_bhns_extr()
Destructor.
bool with_multipole() const
Returns true for the multipole falloff boundary condition, false for the one.
void test_bhns_extr(const double &mass, const double &sepa, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, Tbl &diff)
Tests the resolution of the Poisson equations when the NS has no matter source.
void update_metric_der_comp_extr(const double &mass, const double &sepa)
Computes the derivative of metric functions related to the companion black hole with the Kerr-Schild ...
Class for stars in binary system.
Definition etoile.h:814
Base class for coordinate mappings.
Definition map.h:670
Basic array class.
Definition tbl.h:161
Lorene prototypes.
Definition app_hor.h:64