etoile.h
/*
* Definition of Lorene classes Etoile
* Etoile_bin
* Etoile_rot
*
*/
/*
* Copyright (c) 2000-2001 Eric Gourgoulhon
* Copyright (c) 2000-2001 Keisuke Taniguchi
*
* This file is part of LORENE.
*
* LORENE is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* LORENE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with LORENE; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef __ETOILE_H_
#define __ETOILE_H_
/*
* $Id: etoile.h,v 1.35 2015/06/12 12:38:24 j_novak Exp $
* $Log: etoile.h,v $
* Revision 1.35 2015/06/12 12:38:24 j_novak
* Implementation of the corrected formula for the quadrupole momentum.
*
* Revision 1.34 2015/06/11 13:50:19 j_novak
* Minor corrections
*
* Revision 1.33 2015/06/10 14:36:39 a_sourie
* Corrected the formula for the computation of the quadrupole momentum.
*
* Revision 1.32 2014/10/13 08:52:34 j_novak
* Lorene classes and functions now belong to the namespace Lorene.
*
* Revision 1.31 2011/10/06 14:55:36 j_novak
* equation_of_state() is now virtual to be able to call to the magnetized
* Eos_mag.
*
* Revision 1.30 2010/02/02 21:05:49 e_gourgoulhon
* Etoile_bin:equilibrium : suppressed the argument method_khi added by
* mistake during previous commit.
*
* Revision 1.29 2010/02/02 13:34:12 e_gourgoulhon
* Marked DEPRECATED (in the documentation).
*
* Revision 1.28 2008/11/14 13:51:08 e_gourgoulhon
* Added the parameter ent_limit to Etoile::equilibrium_spher and
* Etoile_bin::equilibrium.
*
* Revision 1.27 2005/10/05 15:14:47 j_novak
* Added a Param* as parameter of Etoile_rot::equilibrium
*
* Revision 1.26 2005/08/29 15:10:12 p_grandclement
* Addition of things needed :
* 1) For BBH with different masses
* 2) Provisory files for the mixted binaries (Bh and NS) : THIS IS NOT
* WORKING YET !!!
*
* Revision 1.25 2005/01/18 22:35:51 k_taniguchi
* Delete a pointer for Etoile::ray_eq(int kk).
*
* Revision 1.24 2005/01/18 20:34:14 k_taniguchi
* Addition of Etoile::ray_eq(int kk).
*
* Revision 1.23 2005/01/17 20:39:32 k_taniguchi
* Addition of Etoile::ray_eq_3pis2().
*
* Revision 1.22 2004/11/30 20:40:06 k_taniguchi
* Addition of the method for calculating a spherical star with falloff
* condition at the outer boundary.
*
* Revision 1.21 2004/05/10 10:18:33 f_limousin
* Change to avoid warning in the compilation of Lorene
*
* Revision 1.20 2004/05/07 12:37:12 f_limousin
* Add new member ssjm1_psi
*
* Revision 1.19 2004/04/08 16:42:31 f_limousin
* Add a function velocity_potential with argument ssjm1_psi for the
* case of strange stars.
*
* Revision 1.18 2004/03/22 13:12:41 j_novak
* Modification of comments to use doxygen instead of doc++
*
* Revision 1.17 2003/10/24 12:24:41 k_taniguchi
* Suppress the methods of update metric for NS-BH
*
* Revision 1.16 2003/10/21 11:44:43 k_taniguchi
* Delete various things for the Bin_ns_bh project.
* They are moved to et_bin_nsbh.h.
*
* Revision 1.15 2003/10/20 14:50:04 k_taniguchi
* Addition of various things for the Bin_ns_bh project
* which are related with the part of the neutron star.
*
* Revision 1.14 2003/10/20 13:11:03 k_taniguchi
* Back to version 1.12
*
* Revision 1.13 2003/10/20 12:15:55 k_taniguchi
* Addition of various things for the Bin_ns_bh project
* which are related with the part of the neutron star.
*
* Revision 1.12 2003/06/20 14:13:16 f_limousin
* Change to virtual the functions equilibrium_spher() and kinematics().
*
* Revision 1.11 2003/02/13 16:40:24 p_grandclement
* Addition of various things for the Bin_ns_bh project, non of them being
* completely tested
*
* Revision 1.10 2003/02/04 16:20:35 f_limousin
* Change to virtual the routine extrinsic_curvature
*
* Revision 1.9 2003/01/31 16:57:12 p_grandclement
* addition of the member Cmp decouple used to compute the K_ij auto, once
* the K_ij total is known
*
* Revision 1.8 2002/12/19 14:48:00 e_gourgoulhon
*
* Class Etoile_bin: added the new functions:
* void update_metric(const Bhole& comp)
* void update_metric_der_comp(const Bhole& comp)
* to treat the case where the companion is a black hole
*
* Revision 1.7 2002/12/17 21:17:08 e_gourgoulhon
* Class Etoile_bin: suppression of the member p_companion
* as well as the associated functions set_companion
* and get_companion.
*
* Revision 1.6 2002/09/13 09:17:33 j_novak
* Modif. commentaires
*
* Revision 1.5 2002/06/17 14:05:16 j_novak
* friend functions are now also declared outside the class definition
*
* Revision 1.4 2002/04/05 09:09:36 j_novak
* The inversion of the EOS for 2-fluids polytrope has been modified.
* Some errors in the determination of the surface were corrected.
*
* Revision 1.3 2002/01/11 14:09:34 j_novak
* Added newtonian version for 2-fluid stars
*
* Revision 1.2 2001/12/06 15:11:43 jl_zdunik
* Introduction of the new function f_eq() in the class Etoile_rot
*
* Revision 1.1.1.1 2001/11/20 15:19:27 e_gourgoulhon
* LORENE
*
* Revision 2.61 2001/10/25 08:32:57 eric
* Etoile_rot::display_poly passe de protected a public.
*
* Revision 2.60 2001/10/24 15:35:55 eric
* Classe Etoile_rot: ajout de la fonction display_poly.
*
* Revision 2.59 2001/10/16 14:48:00 eric
* La fonction Etoile_rot::get_omega() devient
* virtual Etoile_rot::get_omega_c()
* (retourne la valeur centrale de Omega).
*
* Revision 2.58 2001/10/11 09:24:00 eric
* La fonction Etoile_rot::equilibrium est desormais virtuelle.
*
* Revision 2.57 2001/08/06 15:39:04 keisuke
* Addition of a new argument to Etoile_bin::equilibrium and equil_regular.
*
* Revision 2.56 2001/06/25 12:52:33 eric
* Classe Etoile_bin : ajout du membre p_companion et des fonctions
* associees set_companion() et get_companion().
*
* Revision 2.55 2001/06/13 14:11:55 eric
* Modif commentaires (mise en conformite Doc++ 3.4.7)
*
* Revision 2.54 2001/03/26 09:29:59 jlz
* Classe Etoile_rot: new members p_espec_isco and p_lspec_isco.
*
* Revision 2.53 2001/02/08 15:37:09 eric
* *** empty log message ***
*
* Revision 2.52 2001/02/08 15:12:42 eric
* Ajout de la fonction Etoile_rot::f_eccentric.
*
* Revision 2.51 2000/11/23 15:43:24 eric
* Ajout de l'argument ent_limit a Etoile_rot::equilibrium.
*
* Revision 2.50 2000/11/19 18:51:13 eric
* Etoile_rot: ajout de la fonction (static) lambda_grv2
*
* Revision 2.49 2000/11/18 23:17:32 eric
* Ajout de l'argument ost a Etoile_rot::r_isco.
*
* Revision 2.48 2000/11/18 21:08:33 eric
* Classe Etoile_rot: ajout des fonctions r_isco() et f_isco()
* ainsi que des membres associes p_r_isco et p_f_isco.
*
* Revision 2.47 2000/11/10 15:15:38 eric
* Modif arguments Etoile_rot::equilibrium.
*
* Revision 2.46 2000/10/20 13:10:23 eric
* Etoile_rot::equilibrium: ajout de l'argument nzadapt.
*
* Revision 2.45 2000/10/17 15:59:14 eric
* Modif commentaires Etoile_rot::equilibrium
*
* Revision 2.44 2000/10/12 15:22:29 eric
* Modif commentaires Etoile_rot.
*
* Revision 2.43 2000/10/12 10:20:12 eric
* Ajout de la fonction Etoile_rot::fait_nphi().
*
* Revision 2.42 2000/09/22 15:50:13 keisuke
* d_logn_auto_div devient desormais un membre de la classe Etoile
* et non plus de la classe derivee Etoile_bin.
*
* Revision 2.41 2000/09/18 16:14:37 eric
* Classe Etoile_rot: ajout du membre tkij et de la fonction
* extrinsic curvature().
*
* Revision 2.40 2000/09/07 14:31:09 keisuke
* Ajout des membres logn_auto_regu et get_logn_auto_regu() a la classe Etoile.
* Ajout des membres d_logn_auto_regu et get_d_logn_auto_regu()
* a la classe Etoile_bin.
*
* Revision 2.39 2000/09/07 10:25:50 keisuke
* Ajout du membre get_logn_auto_div() a la classe Etoile.
* Ajout du membre get_d_logn_auto_div() a la classe Etoile_bin.
*
* Revision 2.38 2000/08/31 11:25:24 eric
* Classe Etoile_rot: ajout des membres tnphi et ak_car.
*
* Revision 2.37 2000/08/29 11:37:06 eric
* Ajout des membres k_div et logn_auto_div a la classe Etoile.
* Ajout du membre d_logn_auto_div a la classe Etoile_bin.
*
* Revision 2.36 2000/08/25 10:25:57 keisuke
* Ajout de Etoile_bin::equil_regular.
*
* Revision 2.35 2000/08/18 14:01:07 eric
* Modif commentaires.
*
* Revision 2.34 2000/08/17 12:38:30 eric
* Modifs classe Etoile_rot : ajout des membres nuf, nuq, ssjm1_nuf et ssjm1_nuq
* Modif arguments Etoile_rot::equilibrium.
* .\
*
* Revision 2.33 2000/08/07 12:11:13 keisuke
* Ajout de Etoile::equil_spher_regular.
*
* Revision 2.32 2000/07/21 12:02:55 eric
* Suppression de Etoile_rot::relaxation.
*
* Revision 2.31 2000/07/20 15:32:28 eric
* *** empty log message ***
*
* Revision 2.30 2000/07/06 09:39:12 eric
* Ajout du membre p_xa_barycenter a Etoile_bin, ainsi que de la
* fonction associee xa_barycenter().
*
* Revision 2.29 2000/05/25 13:47:38 eric
* Modif Etoile_bin::equilibrium: ajout de l'argument thres_adapt
*
* Revision 2.28 2000/03/22 16:41:45 eric
* Ajout de la sortie de nouvelles erreurs dans Etoile_bin::equilibrium.
*
* Revision 2.27 2000/03/22 12:54:44 eric
* Nouveau prototype d'Etoile_bin::velocity_potential : l'erreur est
* retournee en double.
* Nouveau prototype d'Etoile_bin::equilibrium : diff_ent est remplace
* par le Tbl diff.
*
* Revision 2.26 2000/03/15 11:04:15 eric
* Ajout des fonctions Etoile_bin::set_w_shift() et Etoile_bin::set_khi_shift()
* Amelioration des commentaires.
*
* Revision 2.25 2000/03/08 12:12:49 eric
* Ajout de la fonction Etoile_bin::is_irrotational().
*
* Revision 2.24 2000/03/07 14:48:01 eric
* Ajout de la fonction Etoile_bin::extrinsic_curvature().
*
* Revision 2.23 2000/02/21 13:57:57 eric
* classe Etoile_bin: suppression du membre psi: remplacement par psi0.
*
* Revision 2.22 2000/02/17 16:51:22 eric
* Ajout de l'argument diff_ent dans Etoile_bin::equilibrium.
*
* Revision 2.21 2000/02/17 15:29:38 eric
* Ajout de la fonction Etoile_bin::relaxation.
*
* Revision 2.20 2000/02/17 13:54:21 eric
* Ajout de la fonction Etoile_bin::velocity_potential.
*
* Revision 2.19 2000/02/16 15:05:14 eric
* Ajout des membres w_shift et khi_shift.
* (sauves dans les fichiers a la place de shift_auto).
* Ajout de la fonction Etoile_bin::fait_shift_auto.
*
* Revision 2.18 2000/02/16 13:47:02 eric
* Classe Etoile_bin: ajout des membres ssjm1_khi et ssjm1_wshift.
*
* Revision 2.17 2000/02/16 11:54:13 eric
* Classe Etoile_bin : ajout des membres ssjm1_logn et ssjm1_beta.
*
* Revision 2.16 2000/02/15 15:40:07 eric
* Ajout de Etoile_bin::equilibrium.
*
* Revision 2.15 2000/02/12 18:40:15 eric
* Modif commentaires.
*
* Revision 2.14 2000/02/12 14:44:26 eric
* Ajout des fonctions Etoile_bin::set_logn_comp et set_pot_centri.
*
* Revision 2.13 2000/02/10 20:22:25 eric
* Modif commentaires.
*
* Revision 2.12 2000/02/10 16:11:24 eric
* Classe Etoile_bin : ajout des accesseurs get_psi, etc...
* ajout de la fonction fait_d_psi
*
* Revision 2.11 2000/02/08 19:28:29 eric
* La fonction Etoile_bin::scal_prod est rebaptisee Etoile_bin::sprod
*
* Revision 2.10 2000/02/04 17:15:15 eric
* Classe Etoile_bin: ajout du membre ref_triad.
*
* Revision 2.9 2000/02/04 16:36:48 eric
* Ajout des fonctions update_metric* et kinematics.
*
* Revision 2.8 2000/02/02 10:12:37 eric
* Ajout des fonctions de lecture/ecriture mp, nzet, eos, etc...
*
* Revision 2.7 2000/02/01 15:59:43 eric
* Ajout de la fonction Etoile_bin::scal_prod.
*
* Revision 2.6 2000/01/31 15:56:45 eric
* Introduction de la classe derivee Etoile_bin.
*
* Revision 2.5 2000/01/28 17:17:45 eric
* Ajout des fonctions de calcul des quantites globales.
*
* Revision 2.4 2000/01/27 16:46:59 eric
* Ajout des fonctions get_ent(), etc....
*
* Revision 2.3 2000/01/24 17:19:48 eric
* Modif commentaires.
*
* Revision 2.2 2000/01/24 17:13:04 eric
* Le mapping mp n'est plus constant.
* Ajout de la fonction equilibrium_spher.
*
* Revision 2.1 2000/01/24 13:37:19 eric
* *** empty log message ***
*
* Revision 2.0 2000/01/20 17:04:33 eric
* *** empty log message ***
*
*
* $Header: /cvsroot/Lorene/C++/Include/etoile.h,v 1.35 2015/06/12 12:38:24 j_novak Exp $
*
*/
// Headers Lorene
#include "tenseur.h"
namespace Lorene {
class Eos ;
class Bhole ;
//---------------------------//
// base class Etoile //
//---------------------------//
class Etoile {
// Data :
// -----
protected:
Map& mp ;
int nzet ;
bool relativistic ;
double unsurc2 ;
int k_div ;
const Eos& eos ;
// Fluid quantities with respect to the fluid frame
// ------------------------------------------------
Tenseur ent ;
Tenseur nbar ;
Tenseur ener ;
Tenseur press ;
// Fluid quantities with respect to the Eulerian frame
// ---------------------------------------------------
Tenseur ener_euler ;
Tenseur s_euler ;
Tenseur gam_euler ;
Tenseur u_euler ;
// Metric potentials
// -----------------
Tenseur logn_auto ;
Tenseur logn_auto_regu ;
Tenseur logn_auto_div ;
Tenseur d_logn_auto_div ;
Tenseur beta_auto ;
Tenseur nnn ;
Tenseur shift ;
Tenseur a_car ;
// Derived data :
// ------------
protected:
mutable double* p_ray_eq ;
mutable double* p_ray_eq_pis2 ;
mutable double* p_ray_eq_pi ;
mutable double* p_ray_eq_3pis2 ;
mutable double* p_ray_pole ;
mutable Itbl* p_l_surf ;
mutable Tbl* p_xi_surf ;
mutable double* p_mass_b ;
mutable double* p_mass_g ;
// Constructors - Destructor
// -------------------------
public:
Etoile(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i) ;
Etoile(const Etoile& ) ;
Etoile(Map& mp_i, const Eos& eos_i, FILE* fich) ;
virtual ~Etoile() ;
// Memory management
// -----------------
protected:
virtual void del_deriv() const ;
virtual void set_der_0x0() const ;
virtual void del_hydro_euler() ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Etoile&) ;
Map& set_mp() {return mp; } ;
void set_enthalpy(const Cmp& ) ;
virtual void equation_of_state() ;
virtual void hydro_euler() ;
virtual void equilibrium_spher(double ent_c, double precis = 1.e-14,
const Tbl* ent_limit = 0x0 ) ;
void equil_spher_regular(double ent_c, double precis = 1.e-14) ;
virtual void equil_spher_falloff(double ent_c,
double precis = 1.e-14) ;
// Accessors
// ---------
public:
const Map& get_mp() const {return mp; } ;
int get_nzet() const {return nzet; } ;
bool is_relativistic() const {return relativistic; } ;
const Eos& get_eos() const {return eos; } ;
const Tenseur& get_ent() const {return ent;} ;
const Tenseur& get_nbar() const {return nbar;} ;
const Tenseur& get_ener() const {return ener;} ;
const Tenseur& get_press() const {return press;} ;
const Tenseur& get_ener_euler() const {return ener_euler;} ;
const Tenseur& get_s_euler() const {return s_euler;} ;
const Tenseur& get_gam_euler() const {return gam_euler;} ;
const Tenseur& get_u_euler() const {return u_euler;} ;
const Tenseur& get_logn_auto() const {return logn_auto;} ;
const Tenseur& get_logn_auto_regu() const {return logn_auto_regu;} ;
const Tenseur& get_logn_auto_div() const {return logn_auto_div;} ;
const Tenseur& get_d_logn_auto_div() const {return d_logn_auto_div;} ;
const Tenseur& get_beta_auto() const {return beta_auto;} ;
const Tenseur& get_nnn() const {return nnn;} ;
const Tenseur& get_shift() const {return shift;} ;
const Tenseur& get_a_car() const {return a_car;} ;
// Outputs
// -------
public:
virtual void sauve(FILE* ) const ;
friend ostream& operator<<(ostream& , const Etoile& ) ;
protected:
virtual ostream& operator>>(ostream& ) const ;
// Global quantities
// -----------------
public:
double ray_eq() const ;
double ray_eq_pis2() const ;
double ray_eq_pi() const ;
double ray_eq_3pis2() const ;
double ray_pole() const ;
double ray_eq(int kk) const ;
virtual const Itbl& l_surf() const ;
const Tbl& xi_surf() const ;
virtual double mass_b() const ;
virtual double mass_g() const ;
};
ostream& operator<<(ostream& , const Etoile& ) ;
//---------------------------//
// class Etoile_bin //
//---------------------------//
class Etoile_bin : public Etoile {
// Data :
// -----
protected:
bool irrotational ;
const Base_vect& ref_triad ;
Tenseur psi0 ;
Tenseur d_psi ;
Tenseur wit_w ;
Tenseur loggam ;
Tenseur logn_comp ;
Tenseur d_logn_auto ;
Tenseur d_logn_auto_regu ;
Tenseur d_logn_comp ;
Tenseur beta_comp ;
Tenseur d_beta_auto ;
Tenseur d_beta_comp ;
Tenseur shift_auto ;
Tenseur shift_comp ;
Tenseur w_shift ;
Tenseur khi_shift ;
Tenseur_sym tkij_auto ;
Tenseur_sym tkij_comp ;
Tenseur akcar_auto ;
Tenseur akcar_comp ;
Tenseur bsn ;
Tenseur pot_centri ;
Cmp ssjm1_logn ;
Cmp ssjm1_beta ;
Cmp ssjm1_khi ;
Tenseur ssjm1_wshift ;
Cmp ssjm1_psi ;
Cmp decouple ;
// Derived data :
// ------------
protected:
mutable double* p_xa_barycenter ;
// Constructors - Destructor
// -------------------------
public:
Etoile_bin(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
bool irrot, const Base_vect& ref_triad_i) ;
Etoile_bin(const Etoile_bin& ) ;
Etoile_bin(Map& mp_i, const Eos& eos_i, const Base_vect& ref_triad_i,
FILE* fich) ;
virtual ~Etoile_bin() ;
// Memory management
// -----------------
protected:
virtual void del_deriv() const ;
virtual void set_der_0x0() const ;
virtual void del_hydro_euler() ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Etoile_bin& ) ;
Tenseur& set_logn_comp() ;
Tenseur& set_pot_centri() ;
Tenseur& set_w_shift() ;
Tenseur& set_khi_shift() ;
// Accessors
// ---------
public:
bool is_irrotational() const {return irrotational; } ;
const Tenseur& get_psi0() const {return psi0;} ;
const Tenseur& get_d_psi() const {return d_psi;} ;
const Tenseur& get_wit_w() const {return wit_w;} ;
const Tenseur& get_loggam() const {return loggam;} ;
const Tenseur& get_logn_comp() const {return logn_comp;} ;
const Tenseur& get_d_logn_auto() const {return d_logn_auto;} ;
const Tenseur& get_d_logn_auto_regu() const {return d_logn_auto_regu;} ;
const Tenseur& get_d_logn_comp() const {return d_logn_comp;} ;
const Tenseur& get_beta_comp() const {return beta_comp;} ;
const Tenseur& get_d_beta_auto() const {return d_beta_auto;} ;
const Tenseur& get_d_beta_comp() const {return d_beta_comp;} ;
const Tenseur& get_shift_auto() const {return shift_auto;} ;
const Tenseur& get_shift_comp() const {return shift_comp;} ;
const Tenseur& get_w_shift() const {return w_shift;} ;
const Tenseur& get_khi_shift() const {return khi_shift;} ;
const Tenseur_sym& get_tkij_auto() const {return tkij_auto;} ;
const Tenseur_sym& get_tkij_comp() const {return tkij_comp;} ;
const Tenseur& get_akcar_auto() const {return akcar_auto;} ;
const Tenseur& get_akcar_comp() const {return akcar_comp;} ;
const Tenseur& get_bsn() const {return bsn;} ;
const Tenseur& get_pot_centri() const {return pot_centri;} ;
const Cmp get_decouple() const {return decouple ;}
// Outputs
// -------
public:
virtual void sauve(FILE* ) const ;
protected:
virtual ostream& operator>>(ostream& ) const ;
// Global quantities
// -----------------
public:
virtual double mass_b() const ;
virtual double mass_g() const ;
virtual double xa_barycenter() const ;
// Computational routines
// ----------------------
public:
virtual Tenseur sprod(const Tenseur& t1, const Tenseur& t2) const ;
virtual void hydro_euler() ;
void update_metric(const Etoile_bin& comp) ;
void update_metric(const Etoile_bin& comp, const Etoile_bin& star_prev,
double relax) ;
void update_metric_der_comp(const Etoile_bin& comp) ;
virtual void kinematics(double omega, double x_axe) ;
void fait_d_psi() ;
void fait_shift_auto() ;
virtual void extrinsic_curvature() ;
void equilibrium(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, const Tbl* ent_limit = 0x0) ;
void equil_regular(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) ;
double velocity_potential(int mermax, double precis, double relax) ;
void relaxation(const Etoile_bin& star_prev, double relax_ent,
double relax_met, int mer, int fmer_met) ;
friend class Bin_ns_bh ;
};
//---------------------------//
// class Etoile_rot //
//---------------------------//
class Etoile_rot : public Etoile {
// Data :
// -----
protected:
double omega ;
Tenseur bbb ;
Tenseur b_car ;
Tenseur nphi ;
Tenseur tnphi ;
Tenseur uuu ;
Tenseur& logn ;
Tenseur nuf ;
Tenseur nuq ;
Tenseur& dzeta ;
Tenseur tggg ;
Tenseur w_shift ;
Tenseur khi_shift ;
Tenseur_sym tkij ;
Tenseur ak_car ;
Cmp ssjm1_nuf ;
Cmp ssjm1_nuq ;
Cmp ssjm1_dzeta ;
Cmp ssjm1_tggg ;
Cmp ssjm1_khi ;
Tenseur ssjm1_wshift ;
// Derived data :
// ------------
protected:
mutable double* p_angu_mom ;
mutable double* p_tsw ;
mutable double* p_grv2 ;
mutable double* p_grv3 ;
mutable double* p_r_circ ;
mutable double* p_area ;
mutable double* p_aplat ;
mutable double* p_z_eqf ;
mutable double* p_z_eqb ;
mutable double* p_z_pole ;
mutable double* p_mom_quad ;
mutable double* p_mom_quad_old ;
mutable double* p_mom_quad_Bo ;
mutable double* p_r_isco ;
mutable double* p_f_isco ;
mutable double* p_espec_isco ;
mutable double* p_lspec_isco ;
mutable double* p_f_eq ;
// Constructors - Destructor
// -------------------------
public:
Etoile_rot(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i) ;
Etoile_rot(const Etoile_rot& ) ;
Etoile_rot(Map& mp_i, const Eos& eos_i, FILE* fich) ;
virtual ~Etoile_rot() ;
// Memory management
// -----------------
protected:
virtual void del_deriv() const ;
virtual void set_der_0x0() const ;
virtual void del_hydro_euler() ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Etoile_rot& ) ;
// Accessors
// ---------
public:
virtual double get_omega_c() const ;
const Tenseur& get_bbb() const {return bbb;} ;
const Tenseur& get_b_car() const {return b_car;} ;
const Tenseur& get_nphi() const {return nphi;} ;
const Tenseur& get_tnphi() const {return tnphi;} ;
const Tenseur& get_uuu() const {return uuu;} ;
const Tenseur& get_logn() const {return logn;} ;
const Tenseur& get_nuf() const {return nuf;} ;
const Tenseur& get_nuq() const {return nuq;} ;
const Tenseur& get_dzeta() const {return dzeta;} ;
const Tenseur& get_tggg() const {return tggg;} ;
const Tenseur& get_w_shift() const {return w_shift;} ;
const Tenseur& get_khi_shift() const {return khi_shift;} ;
const Tenseur_sym& get_tkij() const {return tkij;} ;
const Tenseur& get_ak_car() const {return ak_car;} ;
// Outputs
// -------
public:
virtual void sauve(FILE* ) const ;
virtual void display_poly(ostream& ) const ;
protected:
virtual ostream& operator>>(ostream& ) const ;
virtual void partial_display(ostream& ) const ;
// Global quantities
// -----------------
public:
virtual const Itbl& l_surf() const ;
virtual double mass_b() const ;
virtual double mass_g() const ;
virtual double angu_mom() const ;
virtual double tsw() const ;
virtual double grv2() const ;
virtual double grv3(ostream* ost = 0x0) const ;
virtual double r_circ() const ;
virtual double area() const ;
virtual double mean_radius() const ;
virtual double aplat() const ;
virtual double z_eqf() const ;
virtual double z_eqb() const ;
virtual double z_pole() const ;
virtual double mom_quad() const ;
virtual double mom_quad_old() const ;
virtual double mom_quad_Bo() const ;
virtual double r_isco(ostream* ost = 0x0) const ;
virtual double f_isco() const ;
virtual double espec_isco() const ;
virtual double lspec_isco() const ;
virtual double f_eccentric(double ecc, double periast,
ostream* ost = 0x0) const ;
virtual double f_eq() const ;
// Computational routines
// ----------------------
public:
virtual void hydro_euler() ;
void update_metric() ;
void fait_shift() ;
void fait_nphi() ;
void extrinsic_curvature() ;
static double lambda_grv2(const Cmp& sou_m, const Cmp& sou_q) ;
virtual void equilibrium(double ent_c, double omega0, double fact_omega,
int nzadapt, const Tbl& ent_limit,
const Itbl& icontrol, const Tbl& control,
double mbar_wanted, double aexp_mass,
Tbl& diff, Param* = 0x0) ;
};
}
#endif
Lorene::Base_vect
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition base_vect.h:105
Lorene::Bhole
Black hole.
Definition bhole.h:268
Lorene::Cmp
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition cmp.h:446
Lorene::Eos
Equation of state base class.
Definition eos.h:190
Lorene::Etoile_bin
Class for stars in binary system.
Definition etoile.h:814
Lorene::Etoile_bin::shift_comp
Tenseur shift_comp
Part of the shift vector generated principaly by the companion star.
Definition etoile.h:895
Lorene::Etoile_bin::update_metric
void update_metric(const Etoile_bin &comp)
Computes metric coefficients from known potentials, when the companion is another star.
Definition et_bin_upmetr.C:100
Lorene::Etoile_bin::get_psi0
const Tenseur & get_psi0() const
Returns the non-translational part of the velocity potential.
Definition etoile.h:1095
Lorene::Etoile_bin::psi0
Tenseur psi0
Scalar potential of the non-translational part of fluid 4-velocity (in the irrotational case).
Definition etoile.h:833
Lorene::Etoile_bin::get_d_logn_auto_regu
const Tenseur & get_d_logn_auto_regu() const
Returns the gradient of logn_auto_regu (Cartesian components with respect to ref_triad ).
Definition etoile.h:1126
Lorene::Etoile_bin::d_beta_auto
Tenseur d_beta_auto
Gradient of beta_auto (Cartesian components with respect to ref_triad ).
Definition etoile.h:879
Lorene::Etoile_bin::d_logn_auto
Tenseur d_logn_auto
Gradient of logn_auto (Cartesian components with respect to ref_triad ).
Definition etoile.h:859
Lorene::Etoile_bin::mass_b
virtual double mass_b() const
Baryon mass.
Definition et_bin_global.C:100
Lorene::Etoile_bin::p_xa_barycenter
double * p_xa_barycenter
Absolute coordinate X of the barycenter of the baryon density.
Definition etoile.h:1006
Lorene::Etoile_bin::get_d_logn_auto
const Tenseur & get_d_logn_auto() const
Returns the gradient of logn_auto (Cartesian components with respect to ref_triad ).
Definition etoile.h:1121
Lorene::Etoile_bin::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition etoile_bin.C:559
Lorene::Etoile_bin::bsn
Tenseur bsn
3-vector shift, divided by N , of the rotating coordinates, .
Definition etoile.h:950
Lorene::Etoile_bin::akcar_comp
Tenseur akcar_comp
Part of the scalar generated by shift_auto and shift_comp , i.e.
Definition etoile.h:944
Lorene::Etoile_bin::del_hydro_euler
virtual void del_hydro_euler()
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Definition etoile_bin.C:467
Lorene::Etoile_bin::ssjm1_khi
Cmp ssjm1_khi
Effective source at the previous step for the resolution of the Poisson equation for the scalar by m...
Definition etoile.h:973
Lorene::Etoile_bin::get_wit_w
const Tenseur & get_wit_w() const
Returns the spatial projection of the fluid 3-velocity with respect to the co-orbiting observer.
Definition etoile.h:1106
Lorene::Etoile_bin::d_psi
Tenseur d_psi
Gradient of (in the irrotational case) (Cartesian components with respect to ref_triad ).
Definition etoile.h:838
Lorene::Etoile_bin::velocity_potential
double velocity_potential(int mermax, double precis, double relax)
Computes the non-translational part of the velocity scalar potential by solving the continuity equat...
Definition et_bin_vel_pot.C:142
Lorene::Etoile_bin::equilibrium
void equilibrium(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, const Tbl *ent_limit=0x0)
Computes an equilibrium configuration.
Definition et_bin_equilibrium.C:184
Lorene::Etoile_bin::relaxation
void relaxation(const Etoile_bin &star_prev, double relax_ent, double relax_met, int mer, int fmer_met)
Performs a relaxation on ent , logn_auto , beta_auto and shift_auto .
Definition etoile_bin.C:863
Lorene::Etoile_bin::ref_triad
const Base_vect & ref_triad
Reference triad ("absolute frame"), with respect to which the components of all the member Tenseur 's...
Definition etoile.h:828
Lorene::Etoile_bin::fait_shift_auto
void fait_shift_auto()
Computes shift_auto from w_shift and khi_shift according to Shibata's prescription [Prog.
Definition etoile_bin.C:826
Lorene::Etoile_bin::update_metric_der_comp
void update_metric_der_comp(const Etoile_bin &comp)
Computes the derivative of metric functions related to the companion star.
Definition et_bin_upmetr_der.C:84
Lorene::Etoile_bin::get_logn_comp
const Tenseur & get_logn_comp() const
Returns the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated pr...
Definition etoile.h:1116
Lorene::Etoile_bin::irrotational
bool irrotational
true for an irrotational star, false for a corotating one
Definition etoile.h:822
Lorene::Etoile_bin::get_shift_auto
const Tenseur & get_shift_auto() const
Returns the part of the shift vector generated principaly by the star.
Definition etoile.h:1152
Lorene::Etoile_bin::w_shift
Tenseur w_shift
Vector used in the decomposition of shift_auto , following Shibata's prescription [Prog.
Definition etoile.h:908
Lorene::Etoile_bin::logn_comp
Tenseur logn_comp
Part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by ...
Definition etoile.h:854
Lorene::Etoile_bin::get_decouple
const Cmp get_decouple() const
Returns the function used to construct tkij_auto from tkij_tot .
Definition etoile.h:1224
Lorene::Etoile_bin::set_w_shift
Tenseur & set_w_shift()
Read/write of w_shift.
Definition etoile_bin.C:538
Lorene::Etoile_bin::set_der_0x0
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition etoile_bin.C:459
Lorene::Etoile_bin::get_tkij_auto
const Tenseur_sym & get_tkij_auto() const
Returns the part of the extrinsic curvature tensor generated by shift_auto .
Definition etoile.h:1192
Lorene::Etoile_bin::d_logn_comp
Tenseur d_logn_comp
Gradient of logn_comp (Cartesian components with respect to ref_triad ).
Definition etoile.h:869
Lorene::Etoile_bin::beta_comp
Tenseur beta_comp
Part of the logarithm of AN generated principaly by the companion star.
Definition etoile.h:874
Lorene::Etoile_bin::hydro_euler
virtual void hydro_euler()
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
Definition et_bin_hydro.C:106
Lorene::Etoile_bin::get_w_shift
const Tenseur & get_w_shift() const
Returns the vector used in the decomposition of shift_auto , following Shibata's prescription [Prog.
Definition etoile.h:1172
Lorene::Etoile_bin::ssjm1_wshift
Tenseur ssjm1_wshift
Effective source at the previous step for the resolution of the vector Poisson equation for by means...
Definition etoile.h:983
Lorene::Etoile_bin::ssjm1_logn
Cmp ssjm1_logn
Effective source at the previous step for the resolution of the Poisson equation for logn_auto by mea...
Definition etoile.h:959
Lorene::Etoile_bin::del_deriv
virtual void del_deriv() const
Deletes all the derived quantities.
Definition etoile_bin.C:447
Lorene::Etoile_bin::get_shift_comp
const Tenseur & get_shift_comp() const
Returns the part of the shift vector generated principaly by the companion star.
Definition etoile.h:1158
Lorene::Etoile_bin::ssjm1_psi
Cmp ssjm1_psi
Effective source at the previous step for the resolution of the Poisson equation for the scalar by m...
Definition etoile.h:989
Lorene::Etoile_bin::get_loggam
const Tenseur & get_loggam() const
Returns the logarithm of the Lorentz factor between the fluid and the co-orbiting observer.
Definition etoile.h:1111
Lorene::Etoile_bin::pot_centri
Tenseur pot_centri
Centrifugal potential.
Definition etoile.h:953
Lorene::Etoile_bin::equil_regular
void equil_regular(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 by regularizing the diverging source.
Definition et_bin_equil_regu.C:144
Lorene::Etoile_bin::loggam
Tenseur loggam
Logarithm of the Lorentz factor between the fluid and the co-orbiting observer.
Definition etoile.h:849
Lorene::Etoile_bin::shift_auto
Tenseur shift_auto
Part of the shift vector generated principaly by the star.
Definition etoile.h:889
Lorene::Etoile_bin::xa_barycenter
virtual double xa_barycenter() const
Absolute coordinate X of the barycenter of the baryon density, defined according to the formula.
Definition et_bin_global.C:170
Lorene::Etoile_bin::get_d_beta_auto
const Tenseur & get_d_beta_auto() const
Returns the gradient of beta_auto (Cartesian components with respect to ref_triad ).
Definition etoile.h:1141
Lorene::Etoile_bin::is_irrotational
bool is_irrotational() const
Returns true for an irrotational motion, false for a corotating one.
Definition etoile.h:1092
Lorene::Etoile_bin::get_akcar_comp
const Tenseur & get_akcar_comp() const
Returns the part of the scalar generated by shift_auto and shift_comp , i.e.
Definition etoile.h:1210
Lorene::Etoile_bin::tkij_auto
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor generated by shift_auto .
Definition etoile.h:925
Lorene::Etoile_bin::akcar_auto
Tenseur akcar_auto
Part of the scalar generated by shift_auto , i.e.
Definition etoile.h:938
Lorene::Etoile_bin::ssjm1_beta
Cmp ssjm1_beta
Effective source at the previous step for the resolution of the Poisson equation for beta_auto by mea...
Definition etoile.h:965
Lorene::Etoile_bin::decouple
Cmp decouple
Function used to construct the part of generated by the star from the total .
Definition etoile.h:1000
Lorene::Etoile_bin::wit_w
Tenseur wit_w
Spatial projection of the fluid 3-velocity with respect to the co-orbiting observer.
Definition etoile.h:844
Lorene::Etoile_bin::get_akcar_auto
const Tenseur & get_akcar_auto() const
Returns the part of the scalar generated by shift_auto , i.e.
Definition etoile.h:1204
Lorene::Etoile_bin::mass_g
virtual double mass_g() const
Gravitational mass.
Definition et_bin_global.C:137
Lorene::Etoile_bin::set_logn_comp
Tenseur & set_logn_comp()
Read/write the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated...
Definition etoile_bin.C:524
Lorene::Etoile_bin::tkij_comp
Tenseur_sym tkij_comp
Part of the extrinsic curvature tensor generated by shift_comp .
Definition etoile.h:932
Lorene::Etoile_bin::set_khi_shift
Tenseur & set_khi_shift()
Read/write of khi_shift.
Definition etoile_bin.C:545
Lorene::Etoile_bin::sprod
virtual Tenseur sprod(const Tenseur &t1, const Tenseur &t2) const
Performs the scalar product of two tensors by contracting the last index of t1 with the first index o...
Definition etoile_bin.C:748
Lorene::Etoile_bin::get_pot_centri
const Tenseur & get_pot_centri() const
Returns the centrifugal potential.
Definition etoile.h:1219
Lorene::Etoile_bin::extrinsic_curvature
virtual void extrinsic_curvature()
Computes tkij_auto and akcar_auto from shift_auto , nnn and a_car .
Definition et_bin_extr_curv.C:64
Lorene::Etoile_bin::d_beta_comp
Tenseur d_beta_comp
Gradient of beta_comp (Cartesian components with respect to ref_triad ).
Definition etoile.h:884
Lorene::Etoile_bin::Etoile_bin
Etoile_bin(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, bool irrot, const Base_vect &ref_triad_i)
Standard constructor.
Definition etoile_bin.C:207
Lorene::Etoile_bin::d_logn_auto_regu
Tenseur d_logn_auto_regu
Gradient of logn_auto_regu (Cartesian components with respect to ref_triad ).
Definition etoile.h:864
Lorene::Etoile_bin::~Etoile_bin
virtual ~Etoile_bin()
Destructor.
Definition etoile_bin.C:437
Lorene::Etoile_bin::get_bsn
const Tenseur & get_bsn() const
Returns the shift vector, divided by N , of the rotating coordinates, .
Definition etoile.h:1216
Lorene::Etoile_bin::set_pot_centri
Tenseur & set_pot_centri()
Read/write the centrifugal potential.
Definition etoile_bin.C:531
Lorene::Etoile_bin::fait_d_psi
void fait_d_psi()
Computes the gradient of the total velocity potential .
Definition etoile_bin.C:764
Lorene::Etoile_bin::get_d_logn_comp
const Tenseur & get_d_logn_comp() const
Returns the gradient of logn_comp (Cartesian components with respect to ref_triad ).
Definition etoile.h:1131
Lorene::Etoile_bin::get_d_beta_comp
const Tenseur & get_d_beta_comp() const
Returns the gradient of beta_comp (Cartesian components with respect to ref_triad ).
Definition etoile.h:1146
Lorene::Etoile_bin::get_beta_comp
const Tenseur & get_beta_comp() const
Returns the part of the logarithm of AN generated principaly by the companion star.
Definition etoile.h:1136
Lorene::Etoile_bin::kinematics
virtual void kinematics(double omega, double x_axe)
Computes the quantities bsn and pot_centri .
Definition et_bin_kinema.C:81
Lorene::Etoile_bin::get_tkij_comp
const Tenseur_sym & get_tkij_comp() const
Returns the part of the extrinsic curvature tensor generated by shift_comp .
Definition etoile.h:1198
Lorene::Etoile_bin::operator=
void operator=(const Etoile_bin &)
Assignment to another Etoile_bin.
Definition etoile_bin.C:482
Lorene::Etoile_bin::get_khi_shift
const Tenseur & get_khi_shift() const
Returns the scalar used in the decomposition of shift_auto following Shibata's prescription [Prog.
Definition etoile.h:1186
Lorene::Etoile_bin::get_d_psi
const Tenseur & get_d_psi() const
Returns the gradient of the velocity potential (Cartesian components with respect to ref_triad ).
Definition etoile.h:1100
Lorene::Etoile_bin::operator>>
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition etoile_bin.C:582
Lorene::Etoile_bin::Bin_ns_bh
friend class Bin_ns_bh
Friend class Bin_ns_bh.
Definition etoile.h:1476
Lorene::Etoile_bin::khi_shift
Tenseur khi_shift
Scalar used in the decomposition of shift_auto , following Shibata's prescription [Prog.
Definition etoile.h:918
Lorene::Etoile_rot::ssjm1_wshift
Tenseur ssjm1_wshift
Effective source at the previous step for the resolution of the vector Poisson equation for .
Definition etoile.h:1625
Lorene::Etoile_rot::get_b_car
const Tenseur & get_b_car() const
Returns the square of the metric factor B.
Definition etoile.h:1715
Lorene::Etoile_rot::uuu
Tenseur uuu
Norm of u_euler.
Definition etoile.h:1518
Lorene::Etoile_rot::get_tnphi
const Tenseur & get_tnphi() const
Returns the component of the shift vector.
Definition etoile.h:1723
Lorene::Etoile_rot::get_w_shift
const Tenseur & get_w_shift() const
Returns the vector used in the decomposition of shift , following Shibata's prescription [Prog.
Definition etoile.h:1759
Lorene::Etoile_rot::del_deriv
virtual void del_deriv() const
Deletes all the derived quantities.
Definition etoile_rot.C:335
Lorene::Etoile_rot::omega
double omega
Rotation angular velocity ([f_unit] ).
Definition etoile.h:1501
Lorene::Etoile_rot::p_z_pole
double * p_z_pole
Redshift factor at North pole.
Definition etoile.h:1640
Lorene::Etoile_rot::espec_isco
virtual double espec_isco() const
Energy of a particle on the ISCO.
Definition et_rot_isco.C:301
Lorene::Etoile_rot::mom_quad
virtual double mom_quad() const
Quadrupole moment.
Definition et_rot_global.C:600
Lorene::Etoile_rot::p_z_eqf
double * p_z_eqf
Forward redshift factor at equator.
Definition etoile.h:1638
Lorene::Etoile_rot::operator=
void operator=(const Etoile_rot &)
Assignment to another Etoile_rot.
Definition etoile_rot.C:404
Lorene::Etoile_rot::r_circ
virtual double r_circ() const
Circumferential radius.
Definition et_rot_global.C:390
Lorene::Etoile_rot::f_eccentric
virtual double f_eccentric(double ecc, double periast, ostream *ost=0x0) const
Computation of frequency of eccentric orbits.
Definition et_rot_f_eccentric.C:78
Lorene::Etoile_rot::set_der_0x0
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition etoile_rot.C:364
Lorene::Etoile_rot::logn
Tenseur & logn
Metric potential = logn_auto.
Definition etoile.h:1521
Lorene::Etoile_rot::hydro_euler
virtual void hydro_euler()
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
Definition et_rot_hydro.C:83
Lorene::Etoile_rot::get_nphi
const Tenseur & get_nphi() const
Returns the metric coefficient .
Definition etoile.h:1718
Lorene::Etoile_rot::l_surf
virtual const Itbl & l_surf() const
Description of the stellar surface: returns a 2-D Itbl containing the values of the domain index l on...
Definition et_rot_global.C:95
Lorene::Etoile_rot::get_khi_shift
const Tenseur & get_khi_shift() const
Returns the scalar used in the decomposition of shift following Shibata's prescription [Prog.
Definition etoile.h:1773
Lorene::Etoile_rot::p_mom_quad_old
double * p_mom_quad_old
Part of the quadrupole moment.
Definition etoile.h:1642
Lorene::Etoile_rot::get_tggg
const Tenseur & get_tggg() const
Returns the Metric potential .
Definition etoile.h:1745
Lorene::Etoile_rot::ssjm1_dzeta
Cmp ssjm1_dzeta
Effective source at the previous step for the resolution of the Poisson equation for dzeta .
Definition etoile.h:1603
Lorene::Etoile_rot::nuq
Tenseur nuq
Part of the Metric potential = logn generated by the quadratic terms.
Definition etoile.h:1531
Lorene::Etoile_rot::get_tkij
const Tenseur_sym & get_tkij() const
Returns the tensor related to the extrinsic curvature tensor by .
Definition etoile.h:1780
Lorene::Etoile_rot::operator>>
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition etoile_rot.C:466
Lorene::Etoile_rot::p_z_eqb
double * p_z_eqb
Backward redshift factor at equator.
Definition etoile.h:1639
Lorene::Etoile_rot::mass_g
virtual double mass_g() const
Gravitational mass.
Definition et_rot_global.C:157
Lorene::Etoile_rot::f_isco
virtual double f_isco() const
Orbital frequency at the innermost stable circular orbit (ISCO).
Definition et_rot_isco.C:267
Lorene::Etoile_rot::p_r_circ
double * p_r_circ
Circumferential radius.
Definition etoile.h:1635
Lorene::Etoile_rot::khi_shift
Tenseur khi_shift
Scalar used in the decomposition of shift , following Shibata's prescription [Prog.
Definition etoile.h:1560
Lorene::Etoile_rot::mom_quad_Bo
virtual double mom_quad_Bo() const
Part of the quadrupole moment.
Definition et_rot_global.C:618
Lorene::Etoile_rot::aplat
virtual double aplat() const
Flatening r_pole/r_eq.
Definition et_rot_global.C:496
Lorene::Etoile_rot::grv3
virtual double grv3(ostream *ost=0x0) const
Error on the virial identity GRV3.
Definition et_rot_global.C:285
Lorene::Etoile_rot::Etoile_rot
Etoile_rot(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i)
Standard constructor.
Definition etoile_rot.C:137
Lorene::Etoile_rot::get_bbb
const Tenseur & get_bbb() const
Returns the metric factor B.
Definition etoile.h:1712
Lorene::Etoile_rot::tsw
virtual double tsw() const
Ratio T/W.
Definition et_rot_global.C:220
Lorene::Etoile_rot::tggg
Tenseur tggg
Metric potential .
Definition etoile.h:1537
Lorene::Etoile_rot::nuf
Tenseur nuf
Part of the Metric potential = logn generated by the matter terms.
Definition etoile.h:1526
Lorene::Etoile_rot::ssjm1_tggg
Cmp ssjm1_tggg
Effective source at the previous step for the resolution of the Poisson equation for tggg .
Definition etoile.h:1608
Lorene::Etoile_rot::nphi
Tenseur nphi
Metric coefficient .
Definition etoile.h:1510
Lorene::Etoile_rot::mass_b
virtual double mass_b() const
Baryon mass.
Definition et_rot_global.C:125
Lorene::Etoile_rot::r_isco
virtual double r_isco(ostream *ost=0x0) const
Circumferential radius of the innermost stable circular orbit (ISCO).
Definition et_rot_isco.C:84
Lorene::Etoile_rot::lambda_grv2
static double lambda_grv2(const Cmp &sou_m, const Cmp &sou_q)
Computes the coefficient which ensures that the GRV2 virial identity is satisfied.
Definition et_rot_lambda_grv2.C:79
Lorene::Etoile_rot::get_uuu
const Tenseur & get_uuu() const
Returns the norm of u_euler.
Definition etoile.h:1726
Lorene::Etoile_rot::get_logn
const Tenseur & get_logn() const
Returns the metric potential = logn_auto.
Definition etoile.h:1729
Lorene::Etoile_rot::bbb
Tenseur bbb
Metric factor B.
Definition etoile.h:1504
Lorene::Etoile_rot::p_area
double * p_area
Surface area.
Definition etoile.h:1636
Lorene::Etoile_rot::update_metric
void update_metric()
Computes metric coefficients from known potentials.
Definition et_rot_upmetr.C:69
Lorene::Etoile_rot::extrinsic_curvature
void extrinsic_curvature()
Computes tkij and ak_car from shift , nnn and b_car .
Definition et_rot_extr_curv.C:57
Lorene::Etoile_rot::ak_car
Tenseur ak_car
Scalar .
Definition etoile.h:1586
Lorene::Etoile_rot::~Etoile_rot
virtual ~Etoile_rot()
Destructor.
Definition etoile_rot.C:325
Lorene::Etoile_rot::dzeta
Tenseur & dzeta
Metric potential = beta_auto.
Definition etoile.h:1534
Lorene::Etoile_rot::mean_radius
virtual double mean_radius() const
Mean radius.
Definition et_rot_global.C:472
Lorene::Etoile_rot::p_grv3
double * p_grv3
Error on the virial identity GRV3.
Definition etoile.h:1634
Lorene::Etoile_rot::p_grv2
double * p_grv2
Error on the virial identity GRV2.
Definition etoile.h:1633
Lorene::Etoile_rot::p_aplat
double * p_aplat
Flatening r_pole/r_eq.
Definition etoile.h:1637
Lorene::Etoile_rot::ssjm1_nuf
Cmp ssjm1_nuf
Effective source at the previous step for the resolution of the Poisson equation for nuf by means of ...
Definition etoile.h:1592
Lorene::Etoile_rot::p_mom_quad_Bo
double * p_mom_quad_Bo
Part of the quadrupole moment.
Definition etoile.h:1643
Lorene::Etoile_rot::lspec_isco
virtual double lspec_isco() const
Angular momentum of a particle on the ISCO.
Definition et_rot_isco.C:284
Lorene::Etoile_rot::get_nuf
const Tenseur & get_nuf() const
Returns the part of the Metric potential = logn generated by the matter terms.
Definition etoile.h:1734
Lorene::Etoile_rot::grv2
virtual double grv2() const
Error on the virial identity GRV2.
Definition et_rot_global.C:254
Lorene::Etoile_rot::fait_nphi
void fait_nphi()
Computes tnphi and nphi from the Cartesian components of the shift, stored in shift .
Definition etoile_rot.C:781
Lorene::Etoile_rot::p_mom_quad
double * p_mom_quad
Quadrupole moment.
Definition etoile.h:1641
Lorene::Etoile_rot::p_f_eq
double * p_f_eq
Orbital frequency at the equator.
Definition etoile.h:1650
Lorene::Etoile_rot::del_hydro_euler
virtual void del_hydro_euler()
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Definition etoile_rot.C:389
Lorene::Etoile_rot::area
virtual double area() const
Surface area.
Definition et_rot_global.C:420
Lorene::Etoile_rot::p_angu_mom
double * p_angu_mom
Angular momentum.
Definition etoile.h:1631
Lorene::Etoile_rot::ssjm1_khi
Cmp ssjm1_khi
Effective source at the previous step for the resolution of the Poisson equation for the scalar by m...
Definition etoile.h:1616
Lorene::Etoile_rot::equilibrium
virtual void equilibrium(double ent_c, double omega0, double fact_omega, int nzadapt, const Tbl &ent_limit, const Itbl &icontrol, const Tbl &control, double mbar_wanted, double aexp_mass, Tbl &diff, Param *=0x0)
Computes an equilibrium configuration.
Definition et_rot_equilibrium.C:147
Lorene::Etoile_rot::angu_mom
virtual double angu_mom() const
Angular momentum.
Definition et_rot_global.C:188
Lorene::Etoile_rot::tkij
Tenseur_sym tkij
Tensor related to the extrinsic curvature tensor by .
Definition etoile.h:1567
Lorene::Etoile_rot::z_eqf
virtual double z_eqf() const
Forward redshift factor at equator.
Definition et_rot_global.C:513
Lorene::Etoile_rot::get_dzeta
const Tenseur & get_dzeta() const
Returns the Metric potential = beta_auto.
Definition etoile.h:1742
Lorene::Etoile_rot::display_poly
virtual void display_poly(ostream &) const
Display in polytropic units.
Definition etoile_rot.C:690
Lorene::Etoile_rot::p_f_isco
double * p_f_isco
Orbital frequency of the ISCO.
Definition etoile.h:1645
Lorene::Etoile_rot::mom_quad_old
virtual double mom_quad_old() const
Part of the quadrupole moment.
Definition et_rot_global.C:641
Lorene::Etoile_rot::get_nuq
const Tenseur & get_nuq() const
Returns the Part of the Metric potential = logn generated by the quadratic terms.
Definition etoile.h:1739
Lorene::Etoile_rot::p_lspec_isco
double * p_lspec_isco
Specific angular momentum of a particle on the ISCO.
Definition etoile.h:1649
Lorene::Etoile_rot::p_tsw
double * p_tsw
Ratio T/W.
Definition etoile.h:1632
Lorene::Etoile_rot::b_car
Tenseur b_car
Square of the metric factor B.
Definition etoile.h:1507
Lorene::Etoile_rot::z_eqb
virtual double z_eqb() const
Backward redshift factor at equator.
Definition et_rot_global.C:545
Lorene::Etoile_rot::tnphi
Tenseur tnphi
Component of the shift vector.
Definition etoile.h:1515
Lorene::Etoile_rot::get_ak_car
const Tenseur & get_ak_car() const
Returns the scalar .
Definition etoile.h:1799
Lorene::Etoile_rot::p_espec_isco
double * p_espec_isco
Specific energy of a particle on the ISCO.
Definition etoile.h:1647
Lorene::Etoile_rot::p_r_isco
double * p_r_isco
Circumferential radius of the ISCO.
Definition etoile.h:1644
Lorene::Etoile_rot::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition etoile_rot.C:441
Lorene::Etoile_rot::f_eq
virtual double f_eq() const
Orbital frequency at the equator.
Definition et_rot_isco.C:319
Lorene::Etoile_rot::get_omega_c
virtual double get_omega_c() const
Returns the central value of the rotation angular velocity ([f_unit] ).
Definition etoile_rot.C:680
Lorene::Etoile_rot::ssjm1_nuq
Cmp ssjm1_nuq
Effective source at the previous step for the resolution of the Poisson equation for nuq by means of ...
Definition etoile.h:1598
Lorene::Etoile_rot::z_pole
virtual double z_pole() const
Redshift factor at North pole.
Definition et_rot_global.C:580
Lorene::Etoile_rot::w_shift
Tenseur w_shift
Vector used in the decomposition of shift , following Shibata's prescription [Prog.
Definition etoile.h:1550
Lorene::Etoile_rot::partial_display
virtual void partial_display(ostream &) const
Printing of some informations, excluding all global quantities.
Definition etoile_rot.C:630
Lorene::Etoile_rot::fait_shift
void fait_shift()
Computes shift from w_shift and khi_shift according to Shibata's prescription [Prog.
Definition etoile_rot.C:748
Lorene::Etoile
Base class for stars *** DEPRECATED : use class Star instead ***.
Definition etoile.h:424
Lorene::Etoile::equilibrium_spher
virtual void equilibrium_spher(double ent_c, double precis=1.e-14, const Tbl *ent_limit=0x0)
Computes a spherical static configuration.
Definition etoile_equil_spher.C:87
Lorene::Etoile::set_der_0x0
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition etoile.C:396
Lorene::Etoile::logn_auto_div
Tenseur logn_auto_div
Divergent part (if k_div!=0 ) of the logarithm of the part of the lapse N generated principaly by t...
Definition etoile.h:497
Lorene::Etoile::nzet
int nzet
Number of domains of *mp occupied by the star.
Definition etoile.h:432
Lorene::Etoile::get_nnn
const Tenseur & get_nnn() const
Returns the total lapse function N.
Definition etoile.h:727
Lorene::Etoile::p_mass_b
double * p_mass_b
Baryon mass.
Definition etoile.h:547
Lorene::Etoile::get_nzet
int get_nzet() const
Returns the number of domains occupied by the star.
Definition etoile.h:662
Lorene::Etoile::p_mass_g
double * p_mass_g
Gravitational mass.
Definition etoile.h:548
Lorene::Etoile::p_xi_surf
Tbl * p_xi_surf
Description of the stellar surface: 2-D Tbl containing the values of the radial coordinate on the su...
Definition etoile.h:545
Lorene::Etoile::operator=
void operator=(const Etoile &)
Assignment to another Etoile.
Definition etoile.C:430
Lorene::Etoile::logn_auto_regu
Tenseur logn_auto_regu
Regular part of the logarithm of the part of the lapse N generated principaly by the star.
Definition etoile.h:491
Lorene::Etoile::ray_eq_pi
double ray_eq_pi() const
Coordinate radius at , [r_unit].
Definition etoile_global.C:256
Lorene::Etoile::get_shift
const Tenseur & get_shift() const
Returns the total shift vector .
Definition etoile.h:730
Lorene::Etoile::k_div
int k_div
Index of regularity of the gravitational potential logn_auto .
Definition etoile.h:449
Lorene::Etoile::ray_eq
double ray_eq() const
Coordinate radius at , [r_unit].
Definition etoile_global.C:120
Lorene::Etoile::nnn
Tenseur nnn
Total lapse function.
Definition etoile.h:509
Lorene::Etoile::get_logn_auto_regu
const Tenseur & get_logn_auto_regu() const
Returns the regular part of the logarithm of the part of the lapse N generated principaly by the star...
Definition etoile.h:708
Lorene::Etoile::logn_auto
Tenseur logn_auto
Total of the logarithm of the part of the lapse N generated principaly by the star.
Definition etoile.h:484
Lorene::Etoile::get_mp
const Map & get_mp() const
Returns the mapping.
Definition etoile.h:659
Lorene::Etoile::nbar
Tenseur nbar
Baryon density in the fluid frame.
Definition etoile.h:459
Lorene::Etoile::eos
const Eos & eos
Equation of state of the stellar matter.
Definition etoile.h:451
Lorene::Etoile::is_relativistic
bool is_relativistic() const
Returns true for a relativistic star, false for a Newtonian one.
Definition etoile.h:667
Lorene::Etoile::equation_of_state
virtual void equation_of_state()
Computes the proper baryon and energy density, as well as pressure from the enthalpy.
Definition etoile.C:566
Lorene::Etoile::u_euler
Tenseur u_euler
Fluid 3-velocity with respect to the Eulerian observer.
Definition etoile.h:474
Lorene::Etoile::p_l_surf
Itbl * p_l_surf
Description of the stellar surface: 2-D Itbl containing the values of the domain index l on the surfa...
Definition etoile.h:539
Lorene::Etoile::gam_euler
Tenseur gam_euler
Lorentz factor between the fluid and Eulerian observers.
Definition etoile.h:471
Lorene::Etoile::operator<<
friend ostream & operator<<(ostream &, const Etoile &)
Display.
Definition etoile.C:506
Lorene::Etoile::mp
Map & mp
Mapping associated with the star.
Definition etoile.h:429
Lorene::Etoile::p_ray_eq_3pis2
double * p_ray_eq_3pis2
Coordinate radius at , .
Definition etoile.h:530
Lorene::Etoile::del_deriv
virtual void del_deriv() const
Deletes all the derived quantities.
Definition etoile.C:378
Lorene::Etoile::equil_spher_falloff
virtual void equil_spher_falloff(double ent_c, double precis=1.e-14)
Computes a spherical static configuration with the outer boundary condition at a finite radius.
Definition etoile_eqsph_falloff.C:57
Lorene::Etoile::p_ray_eq_pi
double * p_ray_eq_pi
Coordinate radius at , .
Definition etoile.h:527
Lorene::Etoile::get_ent
const Tenseur & get_ent() const
Returns the enthalpy field.
Definition etoile.h:673
Lorene::Etoile::get_eos
const Eos & get_eos() const
Returns the equation of state.
Definition etoile.h:670
Lorene::Etoile::mass_b
virtual double mass_b() const
Baryon mass.
Definition etoile_global.C:525
Lorene::Etoile::get_beta_auto
const Tenseur & get_beta_auto() const
Returns the logarithm of the part of the product AN generated principaly by the star.
Definition etoile.h:724
Lorene::Etoile::get_d_logn_auto_div
const Tenseur & get_d_logn_auto_div() const
Returns the gradient of logn_auto_div.
Definition etoile.h:719
Lorene::Etoile::ener
Tenseur ener
Total energy density in the fluid frame.
Definition etoile.h:460
Lorene::Etoile::Etoile
Etoile(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i)
Standard constructor.
Definition etoile.C:143
Lorene::Etoile::equil_spher_regular
void equil_spher_regular(double ent_c, double precis=1.e-14)
Computes a spherical static configuration.
Definition et_equil_spher_regu.C:115
Lorene::Etoile::ray_eq_pis2
double ray_eq_pis2() const
Coordinate radius at , [r_unit].
Definition etoile_global.C:169
Lorene::Etoile::get_a_car
const Tenseur & get_a_car() const
Returns the total conformal factor .
Definition etoile.h:733
Lorene::Etoile::~Etoile
virtual ~Etoile()
Destructor.
Definition etoile.C:367
Lorene::Etoile::p_ray_pole
double * p_ray_pole
Coordinate radius at .
Definition etoile.h:533
Lorene::Etoile::get_logn_auto_div
const Tenseur & get_logn_auto_div() const
Returns the divergent part of the logarithm of the part of the lapse N generated principaly by the st...
Definition etoile.h:715
Lorene::Etoile::d_logn_auto_div
Tenseur d_logn_auto_div
Gradient of logn_auto_div (if k_div!=0 ).
Definition etoile.h:501
Lorene::Etoile::l_surf
virtual const Itbl & l_surf() const
Description of the stellar surface: returns a 2-D Itbl containing the values of the domain index l ...
Definition etoile_global.C:75
Lorene::Etoile::operator>>
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition etoile.C:511
Lorene::Etoile::ray_eq_3pis2
double ray_eq_3pis2() const
Coordinate radius at , [r_unit].
Definition etoile_global.C:335
Lorene::Etoile::set_mp
Map & set_mp()
Read/write of the mapping.
Definition etoile.h:601
Lorene::Etoile::press
Tenseur press
Fluid pressure.
Definition etoile.h:461
Lorene::Etoile::mass_g
virtual double mass_g() const
Gravitational mass.
Definition etoile_global.C:551
Lorene::Etoile::relativistic
bool relativistic
Indicator of relativity: true for a relativistic star, false for a Newtonian one.
Definition etoile.h:437
Lorene::Etoile::get_logn_auto
const Tenseur & get_logn_auto() const
Returns the logarithm of the part of the lapse N generated principaly by the star.
Definition etoile.h:701
Lorene::Etoile::get_u_euler
const Tenseur & get_u_euler() const
Returns the fluid 3-velocity with respect to the Eulerian observer.
Definition etoile.h:694
Lorene::Etoile::p_ray_eq_pis2
double * p_ray_eq_pis2
Coordinate radius at , .
Definition etoile.h:524
Lorene::Etoile::get_s_euler
const Tenseur & get_s_euler() const
Returns the trace of the stress tensor in the Eulerian frame.
Definition etoile.h:688
Lorene::Etoile::ener_euler
Tenseur ener_euler
Total energy density in the Eulerian frame.
Definition etoile.h:465
Lorene::Etoile::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition etoile.C:483
Lorene::Etoile::shift
Tenseur shift
Total shift vector.
Definition etoile.h:512
Lorene::Etoile::hydro_euler
virtual void hydro_euler()
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
Definition etoile.C:684
Lorene::Etoile::s_euler
Tenseur s_euler
Trace of the stress tensor in the Eulerian frame.
Definition etoile.h:468
Lorene::Etoile::ent
Tenseur ent
Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case).
Definition etoile.h:457
Lorene::Etoile::del_hydro_euler
virtual void del_hydro_euler()
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Definition etoile.C:410
Lorene::Etoile::beta_auto
Tenseur beta_auto
Logarithm of the part of the product AN generated principaly by by the star.
Definition etoile.h:506
Lorene::Etoile::get_ener
const Tenseur & get_ener() const
Returns the proper total energy density.
Definition etoile.h:679
Lorene::Etoile::xi_surf
const Tbl & xi_surf() const
Description of the stellar surface: returns a 2-D Tbl containing the values of the radial coordinat...
Definition etoile_global.C:101
Lorene::Etoile::get_press
const Tenseur & get_press() const
Returns the fluid pressure.
Definition etoile.h:682
Lorene::Etoile::a_car
Tenseur a_car
Total conformal factor .
Definition etoile.h:515
Lorene::Etoile::set_enthalpy
void set_enthalpy(const Cmp &)
Assignment of the enthalpy field.
Definition etoile.C:465
Lorene::Etoile::get_ener_euler
const Tenseur & get_ener_euler() const
Returns the total energy density with respect to the Eulerian observer.
Definition etoile.h:685
Lorene::Etoile::unsurc2
double unsurc2
: unsurc2=1 for a relativistic star, 0 for a Newtonian one.
Definition etoile.h:442
Lorene::Etoile::p_ray_eq
double * p_ray_eq
Coordinate radius at , .
Definition etoile.h:521
Lorene::Etoile::get_nbar
const Tenseur & get_nbar() const
Returns the proper baryon density.
Definition etoile.h:676
Lorene::Etoile::get_gam_euler
const Tenseur & get_gam_euler() const
Returns the Lorentz factor between the fluid and Eulerian observers.
Definition etoile.h:691
Lorene::Etoile::ray_pole
double ray_pole() const
Coordinate radius at [r_unit].
Definition etoile_global.C:415
Lorene::Itbl
Basic integer array class.
Definition itbl.h:122
Lorene::Param
Parameter storage.
Definition param.h:125
Lorene::Tbl
Basic array class.
Definition tbl.h:161
Lorene::Tenseur_sym
Class intended to describe tensors with a symmetry on the two last indices *** DEPRECATED : use class...
Definition tenseur.h:1253
Lorene::Tenseur
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Definition tenseur.h:301
Lorene
Lorene prototypes.
Definition app_hor.h:64
Lorene::Map
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
Definition map.C:139