et_bin_bhns_extr.h
/*
* Definition of Lorene class Et_bin_bhns_extr
*
*/
/*
* Copyright (c) 2004-2005 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_BHNS_EXTR_H_
#define __ET_BIN_BHNS_EXTR_H_
/*
* $Id: et_bin_bhns_extr.h,v 1.5 2014/10/13 08:52:34 j_novak Exp $
* $Log: et_bin_bhns_extr.h,v $
* Revision 1.5 2014/10/13 08:52:34 j_novak
* Lorene classes and functions now belong to the namespace Lorene.
*
* Revision 1.4 2005/02/28 23:04:56 k_taniguchi
* Addition of two indicators for the backfround metric and the boundary
* condition, and some codes for the conformally flat case
*
* Revision 1.3 2005/01/31 20:25:22 k_taniguchi
* Change the argument of equil_bhns_extr_ylm.
*
* Revision 1.2 2004/12/29 16:26:02 k_taniguchi
* Addition of a comutational method to calculate equilibrium figures
* with a multipole falloff condition at the outer boundary.
*
* Revision 1.1 2004/11/30 20:36:31 k_taniguchi
* *** empty log message ***
*
*
* $Header: /cvsroot/Lorene/C++/Include/et_bin_bhns_extr.h,v 1.5 2014/10/13 08:52:34 j_novak Exp $
*
*/
// Lorene headers
#include "etoile.h"
namespace Lorene {
class Et_bin_bhns_extr : public Etoile_bin {
// Data
// ----
protected:
bool kerrschild ;
bool multipole ;
// Constructors - Destructor
// -------------------------
public:
Et_bin_bhns_extr(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
bool irrot, const Base_vect& ref_triad_i,
bool kerrs, bool multi) ;
Et_bin_bhns_extr(const Et_bin_bhns_extr& ) ;
Et_bin_bhns_extr(Map& mp_i, const Eos& eos_i,
const Base_vect& ref_triad_i, FILE* fich) ;
virtual ~Et_bin_bhns_extr() ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Et_bin_bhns_extr&) ;
// Accessors
// ---------
public:
bool in_kerrschild() const {return kerrschild ;} ;
bool with_multipole() const {return multipole ;} ;
// Outputs
// -------
public:
virtual void sauve(FILE *) const ;
// Computational routines
// ----------------------
public:
void hydro_euler_extr(const double& mass, const double& sepa) ;
void update_metric_extr(const double& mass, const double& sepa) ;
void update_metric_der_comp_extr(const double& mass,
const double& sepa) ;
void kinematics_extr(double omega, const double& mass,
const double& sepa) ;
void extrinsic_curv_extr(const double& mass, const double& sepa) ;
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) ;
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) ;
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) ;
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) ;
void test_bhns_extr(const double& mass,
const double& sepa, int mermax_poisson,
double relax_poisson, int mermax_potvit,
double relax_potvit, Tbl& diff) ;
double velocity_pot_extr(const double& mass, const double& sepa,
int mermax, double precis, double relax) ;
void ent_max_search(double& xx, double& yy) const ;
double phi_longest_rad(double x_max, double y_max) const ;
void get_ylm(int nylm, Cmp** ylmvec) const ;
void get_integrals(int nylm, double* intvec, Cmp** ylmvec,
Cmp source) const ;
friend class Bin_bhns_extr ;
};
}
#endif
Lorene::Base_vect
Vectorial bases (triads) with respect to which the tensorial components are defined.
Definition base_vect.h:105
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_bhns_extr::in_kerrschild
bool in_kerrschild() const
Returns true for the Kerr-Schild background metric, false for the conformally flat one.
Definition et_bin_bhns_extr.h:145
Lorene::Et_bin_bhns_extr::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition et_bin_bhns_extr.C:127
Lorene::Et_bin_bhns_extr::equil_bhns_extr_ks
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...
Definition et_bin_bhns_extr_equil.C:88
Lorene::Et_bin_bhns_extr::kinematics_extr
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...
Definition et_bin_bhns_extr_kinema.C:55
Lorene::Et_bin_bhns_extr::ent_max_search
void ent_max_search(double &xx, double &yy) const
Searches the position of the maximum enthalpy.
Definition et_bin_bhns_extr_max.C:56
Lorene::Et_bin_bhns_extr::multipole
bool multipole
Indicator of the boundary condition: true for the multipole falloff condition, false for the one.
Definition et_bin_bhns_extr.h:84
Lorene::Et_bin_bhns_extr::equil_bhns_extr_ylm_ks
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...
Definition et_bin_bhns_extr_eq_ylm.C:79
Lorene::Et_bin_bhns_extr::kerrschild
bool kerrschild
Indicator of the background metric: true for the Kerr-Shild metric, false for the conformally flat on...
Definition et_bin_bhns_extr.h:78
Lorene::Et_bin_bhns_extr::phi_longest_rad
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.
Definition et_bin_bhns_extr_phi.C:58
Lorene::Et_bin_bhns_extr::get_ylm
void get_ylm(int nylm, Cmp **ylmvec) const
Constructs spherical harmonics.
Definition et_bin_bhns_extr_ylm.C:63
Lorene::Et_bin_bhns_extr::update_metric_extr
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-...
Definition et_bin_bhns_extr_upmetr.C:65
Lorene::Et_bin_bhns_extr::get_integrals
void get_integrals(int nylm, double *intvec, Cmp **ylmvec, Cmp source) const
Computes multipole moments.
Definition et_bin_bhns_extr_ylm.C:255
Lorene::Et_bin_bhns_extr::velocity_pot_extr
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...
Definition et_bin_bhns_extr_velpot.C:67
Lorene::Et_bin_bhns_extr::equil_bhns_extr_cf
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...
Definition et_bin_bhns_extr_equil.C:839
Lorene::Et_bin_bhns_extr::hydro_euler_extr
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...
Definition et_bin_bhns_extr_hydro.C:56
Lorene::Et_bin_bhns_extr::equil_bhns_extr_ylm_cf
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...
Definition et_bin_bhns_extr_eq_ylm.C:969
Lorene::Et_bin_bhns_extr::Et_bin_bhns_extr
Et_bin_bhns_extr(Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, bool irrot, const Base_vect &ref_triad_i, bool kerrs, bool multi)
Standard constructor.
Definition et_bin_bhns_extr.C:65
Lorene::Et_bin_bhns_extr::extrinsic_curv_extr
void extrinsic_curv_extr(const double &mass, const double &sepa)
Computes tkij_auto and akcar_auto from shift_auto , nnn and a_car .
Definition et_bin_bhns_extr_excurv.C:62
Lorene::Et_bin_bhns_extr::operator=
void operator=(const Et_bin_bhns_extr &)
Assignment to another Et_bin_bhns_extr.
Definition et_bin_bhns_extr.C:110
Lorene::Et_bin_bhns_extr::~Et_bin_bhns_extr
virtual ~Et_bin_bhns_extr()
Destructor.
Definition et_bin_bhns_extr.C:101
Lorene::Et_bin_bhns_extr::with_multipole
bool with_multipole() const
Returns true for the multipole falloff boundary condition, false for the one.
Definition et_bin_bhns_extr.h:150
Lorene::Et_bin_bhns_extr::test_bhns_extr
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.
Lorene::Et_bin_bhns_extr::update_metric_der_comp_extr
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 ...
Definition et_bin_bhns_extr_um_der.C:61
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
Lorene prototypes.
Definition app_hor.h:64
Lorene::Map
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
Definition map.C:139