29char single_bound_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Isol_hor/single_bound.C,v 1.3 2014/10/13 08:53:01 j_novak Exp $" ;
57#include "time_slice.h"
63#include "utilitaires.h"
82 - 4 * (
tgam.radial_vect()(2) *
psi.derive_cov(
ff)(2)
83 +
tgam.radial_vect()(3) *
psi.derive_cov(
ff)(3) ) ;
85 tmp = tmp / (4 *
tgam.radial_vect()(1)) ;
89 Valeur psi_bound (
mp.get_mg()->get_angu() ) ;
91 int nnp =
mp.get_mg()->get_np(1) ;
92 int nnt =
mp.get_mg()->get_nt(1) ;
96 for (
int k=0 ; k<nnp ; k++)
97 for (
int j=0 ; j<nnt ; j++)
114 tmp += (rho - 1) *
tgam.radial_vect()(1) *
dn(1) ;
115 tmp = tmp / (rho *
tgam.radial_vect()(1)) ;
117 int nnp =
mp.get_mg()->get_np(1) ;
118 int nnt =
mp.get_mg()->get_nt(1) ;
120 Valeur nn_bound (
mp.get_mg()->get_angu()) ;
124 for (
int k=0 ; k<nnp ; k++)
125 for (
int j=0 ; j<nnt ; j++)
150 tmp = (tmp + rho *
nn)/(1 + rho) ;
154 int nnp =
mp.get_mg()->get_np(1) ;
155 int nnt =
mp.get_mg()->get_nt(1) ;
157 Valeur nn_bound (
mp.get_mg()->get_angu()) ;
161 for (
int k=0 ; k<nnp ; k++)
162 for (
int j=0 ; j<nnt ; j++)
175 double om_loc)
const {
178 double orientation =
mp.get_rot_phi() ;
179 assert ((orientation == 0) || (orientation == M_PI)) ;
180 int aligne = (orientation == 0) ? 1 : -1 ;
182 int nnp =
mp.get_mg()->get_np(1) ;
183 int nnt =
mp.get_mg()->get_nt(1) ;
190 Valeur lim_x (
mp.get_mg()->get_angu()) ;
194 Mtbl ya_mtbl (
mp.get_mg()) ;
198 Mtbl yy_mtbl (
mp.get_mg()) ;
202 for (
int k=0 ; k<nnp ; k++)
203 for (
int j=0 ; j<nnt ; j++)
204 lim_x.
set(0, k, j, 0) = aligne * om_orb * ya_mtbl(1, k, j, 0)
205 + (om_loc-om_orb)* yy_mtbl(1, k, j, 0)
206 + tmp_vect(1).val_grid_point(1, k, j, 0) ;
208 lim_x.
set_base(*(
mp.get_mg()->std_base_vect_cart()[0])) ;
218 double om_loc)
const {
221 double orientation =
mp.get_rot_phi() ;
222 assert ((orientation == 0) || (orientation == M_PI)) ;
223 int aligne = (orientation == 0) ? 1 : -1 ;
226 int nnp =
mp.get_mg()->get_np(1) ;
227 int nnt =
mp.get_mg()->get_nt(1) ;
234 Valeur lim_y (
mp.get_mg()->get_angu()) ;
238 Mtbl xa_mtbl (
mp.get_mg()) ;
242 Mtbl xx_mtbl (
mp.get_mg()) ;
246 for (
int k=0 ; k<nnp ; k++)
247 for (
int j=0 ; j<nnt ; j++)
248 lim_y.
set(0, k, j, 0) = - aligne *om_orb * xa_mtbl(1, k, j, 0) -
249 (om_loc-om_orb)*xx_mtbl(1, k, j, 0)
250 + tmp_vect(2).val_grid_point(1, k, j, 0) ;
252 lim_y.
set_base(*(
mp.get_mg()->std_base_vect_cart()[1])) ;
262 int nnp =
mp.get_mg()->get_np(1) ;
263 int nnt =
mp.get_mg()->get_nt(1) ;
270 Valeur lim_z (
mp.get_mg()->get_angu()) ;
274 for (
int k=0 ; k<nnp ; k++)
275 for (
int j=0 ; j<nnt ; j++)
276 lim_z.
set(0, k, j, 0) = tmp_vect(3).val_grid_point(1, k, j, 0) ;
278 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 .