28char compobj_QI_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Compobj/compobj_QI.C,v 1.9 2014/10/13 08:52:49 j_novak Exp $" ;
75#include "utilitaires.h"
99 a_car.std_spectral_base() ;
101 bbb.std_spectral_base() ;
234 FILE* file_out = fopen(file_name,
"w") ;
235 double total_time = 0. ;
239 fwrite_be(&total_time,
sizeof(
double), 1, file_out) ;
240 mp.get_mg()->sauve(file_out) ;
243 beta.sauve(file_out) ;
244 gamma.cov().sauve(file_out) ;
245 gamma.con().sauve(file_out) ;
247 fwrite_be(&RISCO,
sizeof(
double), 1, file_out) ;
248 fwrite_be(&RMB,
sizeof(
double), 1, file_out) ;
251 cout <<
"WRITING RISCO TO GYOTO FILE : " << RISCO << endl ;
252 cout <<
"WRITING RMB TO GYOTO FILE : " << RMB << endl ;
253 cout <<
"WRITING TO GYOTO FILE - end of part " << endl ;
268 ost << endl <<
"Axisymmetric stationary compact object in quasi-isotropic coordinates (class Compobj_QI) " << endl ;
270 ost <<
"Central values of various fields : " << endl ;
271 ost <<
"-------------------------------- " << endl ;
272 ost <<
" metric coefficient A^2 : " <<
a_car.val_grid_point(0,0,0,0) << endl ;
273 ost <<
" metric coefficient B^2 : " <<
b_car.val_grid_point(0,0,0,0) << endl ;
274 ost <<
" metric coefficient N^phi : " <<
nphi.val_grid_point(0,0,0,0) << endl ;
275 ost <<
" A^2 K_{ij} K^{ij} = " <<
ak_car.val_grid_point(0,0,0,0) << endl << endl ;
278 double RISCO =
r_isco(0, &ost) ;
279 ost <<
"Coordinate r at the innermost stable circular orbit (ISCO) : " <<
288 double RMB =
r_mb(0, &ost) ;
289 ost <<
"Coordinate r at the marginally bound circular orbit (R_mb) : " << RMB << endl ;
314 assert(*(
beta.get_triad()) ==
mp.get_bvect_spher()) ;
320 beta.set(3) = - nphi_ortho ;
343 if ( (
mp.get_mg())->get_np(0) == 1) {
356 kk.set(2,3).inc_dzpuis(2) ;
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
double * p_lspec_isco
Specific angular momentum of a particle at the ISCO.
virtual void extrinsic_curvature()
Computes the extrinsic curvature and ak_car from nphi , nn and b_car .
double * p_r_mb
Coordinate r of the marginally bound orbit.
void operator=(const Compobj_QI &)
Assignment to another Compobj_QI.
double * p_r_isco
Coordinate r of the ISCO.
virtual void sauve(FILE *) const
Save in a file.
void gyoto_data(const char *file_name) const
Save in a file for GYOTO.
virtual double r_isco(int lmin, ostream *ost=0x0) const
Coordinate r of the innermost stable circular orbit (ISCO).
Scalar nphi
Metric coefficient .
virtual void del_deriv() const
Deletes all the derived quantities.
Compobj_QI(Map &map_i)
Standard constructor.
virtual ~Compobj_QI()
Destructor.
virtual void update_metric()
Updates the 3-metric from A and B and the shift vector from .
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Scalar b_car
Square of the metric factor B.
Scalar bbb
Metric factor B.
double * p_espec_isco
Specific energy of a particle at the ISCO.
Scalar a_car
Square of the metric factor A.
double * p_angu_mom
Angular momentum.
double * p_f_isco
Orbital frequency of the ISCO.
virtual double r_mb(int lmin, ostream *ost=0x0) const
Coordinate r of the marginally bound circular orbit (R_mb).
Sym_tensor kk
Extrinsic curvature tensor .
virtual void del_deriv() const
Deletes all the derived quantities.
void operator=(const Compobj &)
Assignment to another Compobj.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Compobj(Map &map_i)
Standard constructor.
Scalar nn
Lapse function N .
Vector beta
Shift vector .
virtual void extrinsic_curvature()
Computation of the extrinsic curvature.
Map & mp
Mapping describing the coordinate system (r,theta,phi).
Base class for pure radial mappings.
Tensor field of valence 0 (or component of a tensorial field).
void mult_sint()
Multiplication by .
void mult_rsint()
Multiplication by everywhere; dzpuis is not changed.
Class intended to describe valence-2 symmetric tensors.
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.