28char sym_tensor_trans_pde_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/sym_tensor_trans_pde.C,v 1.16 2014/10/13 08:53:43 j_novak Exp $" ;
109 int np =
gri.get_np(0) ;
110 int nt =
gri.get_nt(0) ;
113 int nz =
gri.get_nzone() ;
114 double*
bornes =
new double[nz+1] ;
115 const double*
alp =
mpaff->get_alpha() ;
116 const double*
bet =
mpaff->get_beta() ;
117 for (
int lz=0;
lz<nz;
lz++) {
120 switch (
gri.get_type_r(
lz)) {
134 cout <<
"Sym_tensor_trans::poisson() : problem with the grid!"
141 if (
gri.get_type_r(nz-1) == UNSURR)
148 int np2 = ( np > 3 ? np : 4 ) ;
151 for (
int l=1;
l<=3;
l++)
152 for (
int c=
l; c<=3; c++) {
153 switch (this->
operator()(
l,c).get_etat() ) {
164 for (
int lz=0;
lz<nz;
lz++)
166 for (
int j=0;
j<nt;
j++)
174 "Sym_tensor_trans::poisson() : source in undefined state!"
180 sou_cart.set(
l,c).set_dzpuis(this->
operator()(
l,c).get_dzpuis()) ;
185 for (
int i=1;
i<=3;
i++)
186 for(
int j=
i;
j<=3;
j++)
192 switch (
big_A.get_etat() ) {
194 res_A.set_etat_zero() ;
198 res_A.set_etat_one() ;
202 res_A.allocate_all() ;
203 for (
int lz=0;
lz<nz;
lz++)
204 for (
int k=0;
k<np;
k++)
205 for (
int j=0;
j<nt;
j++)
213 "Sym_tensor_trans::poisson() : res_A in undefined state!"
219 res_A.set_spectral_base(
big_A.get_spectral_base()) ;
223 switch (
big_B.get_etat() ) {
225 res_B.set_etat_zero() ;
229 res_B.set_etat_one() ;
233 res_B.allocate_all() ;
234 for (
int lz=0;
lz<nz;
lz++)
235 for (
int k=0;
k<np;
k++)
236 for (
int j=0;
j<nt;
j++)
244 "Sym_tensor_trans::poisson() : res_B in undefined state!"
250 res_B.set_spectral_base(
big_B.get_spectral_base()) ;
264 for (
int i=1;
i<=3;
i++)
265 for(
int j=
i;
j<=3;
j++)
276 maxabs(
dive,
"Sym_tensor_trans::poisson : divergence of the solution") ;
Spherical orthonormal vectorial bases (triads).
Time evolution with partial storage (*** under development ***).
Tensor field of valence 0 (or component of a tensorial field).
Transverse symmetric tensors of rank 2.
Sym_tensor_trans poisson(const Scalar *h_guess=0x0) const
Computes the solution of a tensorial transverse Poisson equation with *this as a source:
const Metric *const met_div
Metric with respect to which the divergence and the trace are defined.
Class intended to describe valence-2 symmetric tensors.
Tensor field of valence 1.
const Map *const mp
Mapping on which the numerical values at the grid points are defined.
const Scalar & operator()(const Itbl &ind) const
Returns the value of a component (read-only version).
const Base_vect * triad
Vectorial basis (triad) with respect to which the tensor components are defined.
Tbl maxabs(const Tensor &aa, const char *comment=0x0, ostream &ost=cout, bool verb=true)
Maxima in each domain of the absolute values of the tensor components.