00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __ET_BIN_NSBH_H_
00027 #define __ET_BIN_NSBH_H_
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 #include "etoile.h"
00066 #include "bhole.h"
00067
00075 class Et_bin_nsbh : public Etoile_bin {
00076
00077
00078
00079 protected:
00081 Tenseur n_auto ;
00082
00084 Tenseur n_comp ;
00085
00089 Tenseur d_n_auto ;
00090
00094 Tenseur d_n_comp ;
00095
00097 Tenseur confpsi ;
00098
00100 Tenseur confpsi_auto ;
00101
00105 Tenseur confpsi_comp ;
00106
00110 Tenseur d_confpsi_auto ;
00111
00115 Tenseur d_confpsi_comp ;
00116
00122 Tenseur_sym taij_auto ;
00123
00129 Tenseur_sym taij_comp ;
00130
00136 Tenseur_sym taij_tot ;
00137
00142 Tenseur_sym tkij_auto ;
00143
00148 Tenseur_sym tkij_tot ;
00149
00154 Cmp ssjm1_lapse ;
00155
00160 Cmp ssjm1_confpsi ;
00161
00162
00163
00164 public:
00180 Et_bin_nsbh(Map& mp_i, int nzet_i, bool relat, const Eos& eos_i,
00181 bool irrot, const Base_vect& ref_triad_i) ;
00182
00183 Et_bin_nsbh(const Et_bin_nsbh& ) ;
00184
00197 Et_bin_nsbh(Map& mp_i, const Eos& eos_i, const Base_vect& ref_triad_i,
00198 FILE* fich, bool old = false) ;
00199
00200 virtual ~Et_bin_nsbh() ;
00201
00202
00203
00204
00205 public:
00207 void operator=(const Et_bin_nsbh&) ;
00208
00212 Tenseur& set_n_auto() ;
00213
00217 Tenseur& set_n_comp() ;
00218
00222 Tenseur& set_confpsi_auto() ;
00223
00227 Tenseur& set_confpsi_comp() ;
00228
00229
00230
00231 public:
00235 const Tenseur& get_n_auto() const {return n_auto;} ;
00236
00240 const Tenseur& get_n_comp() const {return n_comp;} ;
00241
00245 const Tenseur& get_d_n_auto() const {return d_n_auto;} ;
00246
00250 const Tenseur& get_d_n_comp() const {return d_n_comp;} ;
00251
00253 const Tenseur& get_confpsi() const {return confpsi;} ;
00254
00258 const Tenseur& get_confpsi_auto() const {return confpsi_auto;} ;
00259
00263 const Tenseur& get_confpsi_comp() const {return confpsi_comp;} ;
00264
00268 const Tenseur& get_d_confpsi_auto() const {return d_confpsi_auto;} ;
00269
00273 const Tenseur& get_d_confpsi_comp() const {return d_confpsi_comp;} ;
00274
00279 const Tenseur_sym& get_taij_auto() const {return taij_auto;} ;
00280
00285 const Tenseur_sym& get_taij_comp() const {return tkij_comp;} ;
00286
00292 const Tenseur_sym& get_taij_tot() const {return taij_tot;} ;
00293
00298 const Tenseur_sym& get_tkij_auto() const {return tkij_auto;} ;
00299
00304 const Tenseur_sym& get_tkij_tot() const {return tkij_tot;} ;
00305
00306
00307
00308
00309 public:
00310 virtual void sauve(FILE *) const ;
00311
00312 protected:
00314 virtual ostream& operator>>(ostream& ) const ;
00315
00316
00317
00318
00319
00320
00321
00322 public:
00323
00324 void fait_taij_auto() ;
00331 void update_metric(const Bhole& comp) ;
00332
00339 void update_metric_der_comp(const Bhole& comp) ;
00340
00377 virtual void equilibrium_nsbh(double ent_c, int mermax,
00378 int mermax_poisson, double relax_poisson,
00379 int mermax_potvit, double relax_potvit,
00380 double thres_adapt,
00381 const Tbl& fact, Tbl& diff) ;
00382
00383 void equilibrium_nsbh (bool, double, int&, int, int, double, int, double, Tbl&) ;
00384
00395 virtual void kinematics(double omega, double x_axe) ;
00396
00397 double compute_angul() const ;
00398 double compute_axe(double) const ;
00399
00400 friend class Bin_ns_bh ;
00401
00402 };
00403
00404 #endif