60#include "time_slice.h"
66#include "utilitaires.h"
85 - 4 * (
tgam.radial_vect()(2) *
psi.derive_cov(
ff)(2)
86 +
tgam.radial_vect()(3) *
psi.derive_cov(
ff)(3) ) ;
88 tmp = tmp / (4 *
tgam.radial_vect()(1)) ;
92 Valeur psi_bound (
mp.get_mg()->get_angu() ) ;
94 int nnp =
mp.get_mg()->get_np(1) ;
95 int nnt =
mp.get_mg()->get_nt(1) ;
99 for (
int k=0 ; k<nnp ; k++)
100 for (
int j=0 ; j<nnt ; j++)
117 tmp += (rho - 1) *
tgam.radial_vect()(1) *
dn(1) ;
118 tmp = tmp / (rho *
tgam.radial_vect()(1)) ;
120 int nnp =
mp.get_mg()->get_np(1) ;
121 int nnt =
mp.get_mg()->get_nt(1) ;
123 Valeur nn_bound (
mp.get_mg()->get_angu()) ;
127 for (
int k=0 ; k<nnp ; k++)
128 for (
int j=0 ; j<nnt ; j++)
153 tmp = (tmp + rho *
nn)/(1 + rho) ;
157 int nnp =
mp.get_mg()->get_np(1) ;
158 int nnt =
mp.get_mg()->get_nt(1) ;
160 Valeur nn_bound (
mp.get_mg()->get_angu()) ;
164 for (
int k=0 ; k<nnp ; k++)
165 for (
int j=0 ; j<nnt ; j++)
178 double om_loc)
const {
181 double orientation =
mp.get_rot_phi() ;
182 assert ((orientation == 0) || (orientation == M_PI)) ;
183 int aligne = (orientation == 0) ? 1 : -1 ;
185 int nnp =
mp.get_mg()->get_np(1) ;
186 int nnt =
mp.get_mg()->get_nt(1) ;
193 Valeur lim_x (
mp.get_mg()->get_angu()) ;
197 Mtbl ya_mtbl (
mp.get_mg()) ;
201 Mtbl yy_mtbl (
mp.get_mg()) ;
205 for (
int k=0 ; k<nnp ; k++)
206 for (
int j=0 ; j<nnt ; j++)
207 lim_x.
set(0, k, j, 0) = aligne * om_orb * ya_mtbl(1, k, j, 0)
208 + (om_loc-om_orb)* yy_mtbl(1, k, j, 0)
209 + tmp_vect(1).val_grid_point(1, k, j, 0) ;
211 lim_x.
set_base(*(
mp.get_mg()->std_base_vect_cart()[0])) ;
221 double om_loc)
const {
224 double orientation =
mp.get_rot_phi() ;
225 assert ((orientation == 0) || (orientation == M_PI)) ;
226 int aligne = (orientation == 0) ? 1 : -1 ;
229 int nnp =
mp.get_mg()->get_np(1) ;
230 int nnt =
mp.get_mg()->get_nt(1) ;
237 Valeur lim_y (
mp.get_mg()->get_angu()) ;
241 Mtbl xa_mtbl (
mp.get_mg()) ;
245 Mtbl xx_mtbl (
mp.get_mg()) ;
249 for (
int k=0 ; k<nnp ; k++)
250 for (
int j=0 ; j<nnt ; j++)
251 lim_y.
set(0, k, j, 0) = - aligne *om_orb * xa_mtbl(1, k, j, 0) -
252 (om_loc-om_orb)*xx_mtbl(1, k, j, 0)
253 + tmp_vect(2).val_grid_point(1, k, j, 0) ;
255 lim_y.
set_base(*(
mp.get_mg()->std_base_vect_cart()[1])) ;
265 int nnp =
mp.get_mg()->get_np(1) ;
266 int nnt =
mp.get_mg()->get_nt(1) ;
273 Valeur lim_z (
mp.get_mg()->get_angu()) ;
277 for (
int k=0 ; k<nnp ; k++)
278 for (
int j=0 ; j<nnt ; j++)
279 lim_z.
set(0, k, j, 0) = tmp_vect(3).val_grid_point(1, k, j, 0) ;
281 lim_z.
set_base(*(
mp.get_mg()->std_base_vect_cart()[2])) ;
Metric for tensor calculation.
virtual const Vector & radial_vect() const
Returns the radial vector normal to a spherical slicing and pointing toward spatial infinity.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Tensor field of valence 0 (or component of a tensorial field).
double val_grid_point(int l, int k, int j, int i) const
Returns the value of the field at a specified grid point.
const Metric & get_gam() const
metric
const Valeur boundary_psi_app_hor() const
Neumann boundary condition for .
const Valeur boundary_beta_z() const
Component z of boundary value of .
const Valeur boundary_beta_y(double om_orb, double om_loc) const
Component y of boundary value of .
const Sym_tensor & get_k_dd() const
k_dd
Metric_flat ff
3 metric flat
Scalar psi
Conformal factor .
Map_af & mp
Affine mapping.
Vector dn
Covariant derivative of the lapse with respect to the flat metric .
const Valeur boundary_nn_Neu(double aa) const
Neumann boundary condition on nn .
const Valeur boundary_beta_x(double om_orb, double om_loc) const
Component x of boundary value of .
const Valeur boundary_nn_Dir(double aa) const
Dirichlet boundary condition for N .
Scalar nn
Lapse function .
Scalar trK
Trace of the extrinsic curvature.
Metric tgam
3 metric tilde
Values and coefficients of a (real-value) function.
void set_base(const Base_val &)
Sets the bases for spectral expansions (member base ).
Tbl & set(int l)
Read/write of the value in a given domain (configuration space).
void std_base_scal()
Sets the bases for spectral expansions (member base ) to the standard ones for a scalar.
Tensor field of valence 1.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
virtual void change_triad(const Base_vect &)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Scalar & set(int)
Read/write access to a component.
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .