29 char single_hor_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Isol_hor/single_hor.C,v 1.3 2014/10/13 08:53:01 j_novak Exp $" ;
55 #include "utilitaires.h" 56 #include "time_slice.h" 60 #include "evolution.h" 71 mp(mpi), nz(mpi.get_mg()->get_nzone()), radius ((mpi.get_alpha())[0]),
73 n_auto(mpi), n_comp(mpi), nn(mpi),
74 psi_auto(mpi), psi_comp(mpi), psi(mpi),
75 dn(mpi, COV, mpi.get_bvect_spher()),
76 dpsi(mpi, COV, mpi.get_bvect_spher()),
77 beta_auto(mpi, CON, mpi.get_bvect_spher()),
78 beta_comp(mpi, CON, mpi.get_bvect_spher()),
79 beta(mpi, CON, mpi.get_bvect_spher()),
80 aa_auto(mpi, CON, mpi.get_bvect_spher()),
81 aa_comp(mpi, CON, mpi.get_bvect_spher()),
82 aa(mpi, CON, mpi.get_bvect_spher()),
83 tgam(mpi.flat_met_spher()),
84 ff(mpi.flat_met_spher()),
85 hh(mpi, CON, mpi.get_bvect_spher()),
86 gamt_point(mpi, CON, mpi.get_bvect_spher()),
87 trK(mpi), trK_point(mpi), decouple(mpi){
97 :
mp(singlehor_in.
mp),
131 :
mp(mpi),
nz(mpi.get_mg()->get_nzone()),
radius ((mpi.get_alpha())[0]),
137 dn(mpi, COV, mpi.get_bvect_spher()),
138 dpsi(mpi, COV, mpi.get_bvect_spher()),
139 beta_auto(mpi, mpi.get_bvect_spher(), fich),
140 beta_comp(mpi, CON, mpi.get_bvect_spher()),
141 beta(mpi, CON, mpi.get_bvect_spher()),
142 aa_auto(mpi, CON, mpi.get_bvect_spher()),
143 aa_comp(mpi, CON, mpi.get_bvect_spher()),
144 aa(mpi, CON, mpi.get_bvect_spher()),
145 tgam(mpi.flat_met_spher()),
146 ff(mpi.flat_met_spher()),
147 hh(mpi, CON, mpi.get_bvect_spher()),
188 mp = singlehor_in.
mp ;
189 nz = singlehor_in.
nz ;
195 nn = singlehor_in.
nn ;
199 dn = singlehor_in.
dn ;
206 aa = singlehor_in.
aa ;
208 ff = singlehor_in.
ff ;
209 hh = singlehor_in.
hh ;
402 auxi.change_triad(auxi.get_mp().get_bvect_cart()) ;
403 for (
int i=1 ; i<=3 ; i++){
404 if (auxi(i).get_etat() != ETATZERO)
405 auxi.set(i).raccord(3) ;
409 assert ( *(auxi.get_triad()) == *(dn_comp.get_triad())) ;
411 for (
int i=1 ; i<=3 ; i++){
412 dn_comp.set(i).import(auxi(i)) ;
413 dn_comp.set(i).set_spectral_va().set_base(auxi(i).get_spectral_va().
416 dn_comp.inc_dzpuis(2) ;
436 auxi.change_triad(auxi.get_mp().get_bvect_cart()) ;
437 for (
int i=1 ; i<=3 ; i++){
438 if (auxi(i).get_etat() != ETATZERO)
439 auxi.set(i).raccord(3) ;
443 assert ( *(auxi.get_triad()) == *(dpsi_comp.get_triad())) ;
445 for (
int i=1 ; i<=3 ; i++){
446 dpsi_comp.set(i).import(auxi(i)) ;
447 dpsi_comp.set(i).set_spectral_va().set_base(auxi(i).get_spectral_va().
450 dpsi_comp.inc_dzpuis(2) ;
471 assert (*(shift_comp.get_triad()) == *(tmp_vect.get_triad())) ;
473 tmp_vect.set(1).import(shift_comp(1)) ;
474 tmp_vect.set(2).import(shift_comp(2)) ;
475 tmp_vect.set(3).import(shift_comp(3)) ;
476 tmp_vect.std_spectral_base() ;
490 auxi = 0.5 - 0.5/
mp.
r ;
523 temp_vect1.
set(2) = 0. ;
524 temp_vect1.set(3) = 0. ;
525 temp_vect1.std_spectral_base() ;
void beta_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp.
Metric for tensor calculation.
virtual void set_etat_qcq()
Sets the logical state of all components to ETATQCQ (ordinary state).
virtual void sauve(FILE *) const
Save in a binary file.
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
void set_psi_auto(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
const Metric & get_gam() const
metric
Vector dn
Covariant derivative of the lapse with respect to the flat metric .
Metric tgam
3 metric tilde
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
virtual void annule(int l_min, int l_max)
Sets the Scalar to zero in several domains.
const Sym_tensor & get_k_dd() const
k_dd
Scalar decouple
Function used to construct from the total .
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
const Scalar & get_psi() const
Conformal factor .
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Scalar n_comp
Lapse function .
Tensor field of valence 0 (or component of a tensorial field).
const Vector & get_beta_comp() const
Shift function .
double omega
Angular velocity in LORENE's units.
Tensor up_down(const Metric &gam) const
Computes a new tensor by raising or lowering all the indices of *this .
const Scalar & get_psi4() const
Conformal factor .
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
virtual void sauve(FILE *) const
Save in a binary file.
const Vector & get_beta_auto() const
Shift function .
Sym_tensor aa_auto
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
void set(const Map *mp, Mtbl *(*construct)(const Map *))
Semi-constructor from a mapping and a method.
const Scalar & get_psi_comp() const
Conformal factor .
Tensor field of valence 1.
void set_dzpuis(int)
Modifies the dzpuis flag.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified ext...
Vector beta_comp
Shift function .
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
void set_beta_auto(const Scalar &shift_in)
Sets the shift.
Metric * p_gam
Spatial metric .
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
const Scalar & get_n_auto() const
Lapse function .
virtual void sauve(FILE *) const
Save in a file.
const Scalar & get_nn() const
Lapse function .
Single_hor(Map_af &mpi)
Standard constructor.
Scalar psi
Conformal factor .
Scalar trK
Trace of the extrinsic curvature.
double regul
Intensity of the correction on the shift vector.
Sym_tensor * p_k_dd
Components of the extrinsic curvature:
void set_n_auto(const Scalar &nn_in)
Sets the lapse.
Sym_tensor hh
Deviation metric.
void set_outer_boundary(int l, double x)
Sets the value of the Scalar at the outer boundary of a given domain.
virtual ~Single_hor()
Destructor.
const Sym_tensor & get_aa_comp() const
Conformal representation of the traceless part of the extrinsic curvature:
Vector beta_auto
Shift function .
Vector beta
Shift function .
void init_bhole()
Sets the values of the fields to :
const Vector & get_dpsi() const
Covariant derivative with respect to the flat metric of the conformal factor .
void init_bhole_seul()
Initiates for a single black hole.
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.
Sym_tensor aa_comp
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
Cmp pow(const Cmp &, int)
Power .
virtual void sauve(FILE *fich) const
Total or partial saves in a binary file.
Scalar n_auto
Lapse function .
const Tensor & derive_cov(const Metric &gam) const
Returns the covariant derivative of this with respect to some metric .
Vector dpsi
Covariant derivative of the conformal factor .
void set_aa(const Scalar &aa_in)
Sets aa.
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
void import(const Scalar &ci)
Assignment to another Scalar defined on a different mapping.
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
void operator=(const Single_hor &)
Assignment to another Single_hor.
void del_deriv() const
Deletes all the derived quantities.
Binary black holes system.
const Vector & get_dn() const
Covariant derivative of the lapse function .
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
Scalar psi_comp
Conformal factor .
Map_af & mp
Affine mapping.
void n_comp_import(const Single_hor &comp)
Imports the part of N due to the companion hole comp .
void set_aa_comp(const Scalar &aa_comp_in)
Sets aa_comp.
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
void set_aa_auto(const Scalar &aa_auto_in)
Sets aa_auto.
void psi_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp .
const Sym_tensor & get_aa_auto() const
Conformal representation of the traceless part of the extrinsic curvature:
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Scalar psi_auto
Conformal factor .
virtual void set_etat_zero()
Sets the logical state of all components to ETATZERO (zero state).
Scalar & set(int)
Read/write access to a component.
const Vector & get_beta() const
Shift function .
void init_met_trK()
Sets the 3-metric tilde to the flat metric and gamt_point, trK and trK_point to zero.
double radius
Radius of the horizon in LORENE's units.
const Scalar & get_n_comp() const
Lapse function .
Metric_flat ff
3 metric flat
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this.
const Sym_tensor & get_aa() const
Conformal representation of the traceless part of the extrinsic curvature:
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
Class intended to describe valence-2 symmetric tensors.
Scalar nn
Lapse function .
Scalar * p_psi4
Conformal factor .
Coord r
r coordinate centered on the grid
const Scalar & get_psi_auto() const
Conformal factor .