et_bin_nsbh.h
/*
* Definition of Lorene class Etoile_bin_nsbh
*
*/
/*
* Copyright (c) 2003 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 version 2
* as published by the Free Software Foundation.
*
* 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 __ET_BIN_NSBH_H_
#define __ET_BIN_NSBH_H_
/*
* $Id: et_bin_nsbh.h,v 1.9 2014/10/13 08:52:34 j_novak Exp $
* $Log: et_bin_nsbh.h,v $
* Revision 1.9 2014/10/13 08:52:34 j_novak
* Lorene classes and functions now belong to the namespace Lorene.
*
* Revision 1.8 2006/09/25 10:01:45 p_grandclement
* Addition of N-dimensional Tbl
*
* Revision 1.7 2006/06/01 12:47:50 p_grandclement
* update of the Bin_ns_bh project
*
* Revision 1.6 2006/04/25 07:21:54 p_grandclement
* Various changes for the NS_BH project
*
* Revision 1.5 2005/10/18 13:12:31 p_grandclement
* update of the mixted binary codes
*
* Revision 1.4 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.3 2004/06/09 06:32:51 k_taniguchi
* Introduce set_n_auto() and set_confpsi_auto().
*
* Revision 1.2 2003/10/24 12:25:19 k_taniguchi
* Introduce the method of update metric for NS-BH
*
* Revision 1.1 2003/10/21 11:46:13 k_taniguchi
* Definition of class Et_bin_nsbh
*
*
* $Header: /cvsroot/Lorene/C++/Include/et_bin_nsbh.h,v 1.9 2014/10/13 08:52:34 j_novak Exp $
*
*/
// Lorene headers
#include "etoile.h"
#include "bhole.h"
namespace Lorene {
class Et_bin_nsbh : public Etoile_bin {
// Data :
// -----
protected:
Tenseur n_auto ;
Tenseur n_comp ;
Tenseur d_n_auto ;
Tenseur d_n_comp ;
Tenseur confpsi ;
Tenseur confpsi_auto ;
Tenseur confpsi_comp ;
Tenseur d_confpsi_auto ;
Tenseur d_confpsi_comp ;
Tenseur_sym taij_auto ;
Tenseur_sym taij_comp ;
Tenseur_sym taij_tot ;
Tenseur_sym tkij_auto ;
Tenseur_sym tkij_tot ;
Cmp ssjm1_lapse ;
Cmp ssjm1_confpsi ;
// Constructors - Destructor
// -------------------------
public:
Et_bin_nsbh(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
bool irrot, const Base_vect& ref_triad_i) ;
Et_bin_nsbh(const Et_bin_nsbh& ) ;
Et_bin_nsbh(Map& mp_i, const Eos& eos_i, const Base_vect& ref_triad_i,
FILE* fich, bool old = false) ;
virtual ~Et_bin_nsbh() ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Et_bin_nsbh&) ;
Tenseur& set_n_auto() ;
Tenseur& set_n_comp() ;
Tenseur& set_confpsi_auto() ;
Tenseur& set_confpsi_comp() ;
// Accessors
// ---------
public:
const Tenseur& get_n_auto() const {return n_auto;} ;
const Tenseur& get_n_comp() const {return n_comp;} ;
const Tenseur& get_d_n_auto() const {return d_n_auto;} ;
const Tenseur& get_d_n_comp() const {return d_n_comp;} ;
const Tenseur& get_confpsi() const {return confpsi;} ;
const Tenseur& get_confpsi_auto() const {return confpsi_auto;} ;
const Tenseur& get_confpsi_comp() const {return confpsi_comp;} ;
const Tenseur& get_d_confpsi_auto() const {return d_confpsi_auto;} ;
const Tenseur& get_d_confpsi_comp() const {return d_confpsi_comp;} ;
const Tenseur_sym& get_taij_auto() const {return taij_auto;} ;
const Tenseur_sym& get_taij_comp() const {return tkij_comp;} ;
const Tenseur_sym& get_taij_tot() const {return taij_tot;} ;
const Tenseur_sym& get_tkij_auto() const {return tkij_auto;} ;
const Tenseur_sym& get_tkij_tot() const {return tkij_tot;} ;
// Outputs
// -------
public:
virtual void sauve(FILE *) const ;
protected:
virtual ostream& operator>>(ostream& ) const ;
// Global quantities
// -----------------
// Computational routines
// ----------------------
public:
void fait_taij_auto() ;
void update_metric(const Bhole& comp) ;
void update_metric_der_comp(const Bhole& comp) ;
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) ;
void equilibrium_nsbh (bool, double, int&, int, int, double, int, double, Tbl&) ;
virtual void kinematics(double omega, double x_axe) ;
double compute_angul() const ;
double compute_axe(double) const ;
friend class Bin_ns_bh ;
};
}
#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::Bin_ns_bh
Neutron star - black hole binary system.
Definition bin_ns_bh.h:117
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::Et_bin_nsbh::get_d_n_auto
const Tenseur & get_d_n_auto() const
Returns the gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:249
Lorene::Et_bin_nsbh::confpsi_auto
Tenseur confpsi_auto
Part of the conformal factor $\Psi$ generated principaly by the star.
Definition et_bin_nsbh.h:104
Lorene::Et_bin_nsbh::get_confpsi_auto
const Tenseur & get_confpsi_auto() const
Returns the part of the conformal factor $\Psi$ generated principaly by the star.
Definition et_bin_nsbh.h:262
Lorene::Et_bin_nsbh::d_confpsi_comp
Tenseur d_confpsi_comp
Gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:119
Lorene::Et_bin_nsbh::ssjm1_confpsi
Cmp ssjm1_confpsi
Effective source at the previous step for the resolution of the Poisson equation for {\tt confpsi_aut...
Definition et_bin_nsbh.h:164
Lorene::Et_bin_nsbh::operator>>
virtual ostream & operator>>(ostream &) const
Save in a file.
Definition et_bin_nsbh.C:328
Lorene::Et_bin_nsbh::confpsi_comp
Tenseur confpsi_comp
Part of the conformal factor $\Psi$ generated principaly by the companion star.
Definition et_bin_nsbh.h:109
Lorene::Et_bin_nsbh::update_metric
void update_metric(const Bhole &comp)
Computes metric coefficients from known potentials, when the companion is a black hole.
Definition et_bin_nsbh_upmetr.C:64
Lorene::Et_bin_nsbh::tkij_tot
Tenseur_sym tkij_tot
Total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto} and {\tt shift_comp}...
Definition et_bin_nsbh.h:152
Lorene::Et_bin_nsbh::get_taij_tot
const Tenseur_sym & get_taij_tot() const
Returns the total extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_aut...
Definition et_bin_nsbh.h:296
Lorene::Et_bin_nsbh::get_tkij_tot
const Tenseur_sym & get_tkij_tot() const
Returns the total extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}...
Definition et_bin_nsbh.h:308
Lorene::Et_bin_nsbh::d_n_comp
Tenseur d_n_comp
Gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad}).
Definition et_bin_nsbh.h:98
Lorene::Et_bin_nsbh::set_n_comp
Tenseur & set_n_comp()
Read/write the lapse {\it N} generated principaly by the companion star.
Definition et_bin_nsbh.C:285
Lorene::Et_bin_nsbh::get_n_auto
const Tenseur & get_n_auto() const
Returns the part of the lapse {\it N} generated principaly by the star.
Definition et_bin_nsbh.h:239
Lorene::Et_bin_nsbh::fait_taij_auto
void fait_taij_auto()
Computes (LB)^{ij} auto.
Definition bin_ns_bh_kij.C:96
Lorene::Et_bin_nsbh::equilibrium_nsbh
virtual void equilibrium_nsbh(double ent_c, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, double thres_adapt, const Tbl &fact, Tbl &diff)
Computes an equilibrium configuration in a NS-BH binary system.
Definition et_bin_nsbh_equilibrium.C:494
Lorene::Et_bin_nsbh::get_taij_comp
const Tenseur_sym & get_taij_comp() const
Returns the part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shi...
Definition et_bin_nsbh.h:289
Lorene::Et_bin_nsbh::taij_tot
Tenseur_sym taij_tot
Total extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto}...
Definition et_bin_nsbh.h:140
Lorene::Et_bin_nsbh::get_d_n_comp
const Tenseur & get_d_n_comp() const
Returns the gradient of {\tt n_comp} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:254
Lorene::Et_bin_nsbh::set_n_auto
Tenseur & set_n_auto()
Read/write the lapse {\it N} generated principaly by the star.
Definition et_bin_nsbh.C:278
Lorene::Et_bin_nsbh::d_n_auto
Tenseur d_n_auto
Gradient of {\tt n_auto} (Cartesian components with respect to {\tt ref_triad}).
Definition et_bin_nsbh.h:93
Lorene::Et_bin_nsbh::get_d_confpsi_auto
const Tenseur & get_d_confpsi_auto() const
Returns the gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:272
Lorene::Et_bin_nsbh::operator=
void operator=(const Et_bin_nsbh &)
Destructor.
Definition et_bin_nsbh.C:253
Lorene::Et_bin_nsbh::get_n_comp
const Tenseur & get_n_comp() const
Returns the part of the lapse {\it N} generated principaly by the companion star.
Definition et_bin_nsbh.h:244
Lorene::Et_bin_nsbh::get_confpsi_comp
const Tenseur & get_confpsi_comp() const
Returns the part of the conformal factor $\Psi$ generated principaly by the companion star.
Definition et_bin_nsbh.h:267
Lorene::Et_bin_nsbh::get_d_confpsi_comp
const Tenseur & get_d_confpsi_comp() const
Returns the gradient of {\tt confpsi_comp} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:277
Lorene::Et_bin_nsbh::get_taij_auto
const Tenseur_sym & get_taij_auto() const
Returns the part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shi...
Definition et_bin_nsbh.h:283
Lorene::Et_bin_nsbh::get_tkij_auto
const Tenseur_sym & get_tkij_auto() const
Returns the part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}...
Definition et_bin_nsbh.h:302
Lorene::Et_bin_nsbh::ssjm1_lapse
Cmp ssjm1_lapse
Effective source at the previous step for the resolution of the Poisson equation for {\tt n_auto}...
Definition et_bin_nsbh.h:158
Lorene::Et_bin_nsbh::Et_bin_nsbh
Et_bin_nsbh(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, bool irrot, const Base_vect &ref_triad_i)
Standard constructor.
Definition et_bin_nsbh.C:95
Lorene::Et_bin_nsbh::taij_auto
Tenseur_sym taij_auto
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_auto}...
Definition et_bin_nsbh.h:126
Lorene::Et_bin_nsbh::set_confpsi_comp
Tenseur & set_confpsi_comp()
Read/write the conformal factor $\Psi$ generated principaly by the companion star.
Definition et_bin_nsbh.C:299
Lorene::Et_bin_nsbh::tkij_auto
Tenseur_sym tkij_auto
Part of the extrinsic curvature tensor $K^{ij}$ generated by {\tt shift_auto}.
Definition et_bin_nsbh.h:146
Lorene::Et_bin_nsbh::set_confpsi_auto
Tenseur & set_confpsi_auto()
Read/write the conformal factor $\Psi$ generated principaly by the star.
Definition et_bin_nsbh.C:292
Lorene::Et_bin_nsbh::kinematics
virtual void kinematics(double omega, double x_axe)
Computes the quantities bsn and pot_centri .
Definition et_bin_nsbh_kinema.C:51
Lorene::Et_bin_nsbh::taij_comp
Tenseur_sym taij_comp
Part of the extrinsic curvature tensor $\tilde A^{ij} = 2 N K^{ij}$ generated by {\tt shift_comp}...
Definition et_bin_nsbh.h:133
Lorene::Et_bin_nsbh::n_auto
Tenseur n_auto
Part of the lapse {\it N} generated principaly by the star.
Definition et_bin_nsbh.h:85
Lorene::Et_bin_nsbh::n_comp
Tenseur n_comp
Part of the lapse {\it N} generated principaly by the companion star.
Definition et_bin_nsbh.h:88
Lorene::Et_bin_nsbh::update_metric_der_comp
void update_metric_der_comp(const Bhole &comp)
Computes the derivative of metric functions related to the companion black hole.
Definition et_bin_nsbh_upmetr_der.C:71
Lorene::Et_bin_nsbh::confpsi
Tenseur confpsi
Total conformal factor $\Psi$.
Definition et_bin_nsbh.h:101
Lorene::Et_bin_nsbh::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition et_bin_nsbh.C:312
Lorene::Et_bin_nsbh::get_confpsi
const Tenseur & get_confpsi() const
Returns the part of the conformal factor $\Psi$.
Definition et_bin_nsbh.h:257
Lorene::Et_bin_nsbh::d_confpsi_auto
Tenseur d_confpsi_auto
Gradient of {\tt confpsi_auto} (Cartesian components with respect to {\tt ref_triad}...
Definition et_bin_nsbh.h:114
Lorene::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::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::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