LORENE
star_bin_extr_curv_xcts.C
1 /*
2  * Method of class Star_bin_xcts to compute
3  * the extrinsic curvature tensor
4  * (see file star.h for documentation)
5  */
6 
7 /*
8  * Copyright (c) 2010 Michal Bejger
9  *
10  * This file is part of LORENE.
11  *
12  * LORENE is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License version 2
14  * as published by the Free Software Foundation.
15  *
16  * LORENE is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with LORENE; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  *
25  */
26 
27 
28 
29 /*
30  * $Id: star_bin_extr_curv_xcts.C,v 1.5 2016/12/05 16:18:14 j_novak Exp $
31  * $Log: star_bin_extr_curv_xcts.C,v $
32  * Revision 1.5 2016/12/05 16:18:14 j_novak
33  * Suppression of some global variables (file names, loch, ...) to prevent redefinitions
34  *
35  * Revision 1.4 2014/10/13 08:53:38 j_novak
36  * Lorene classes and functions now belong to the namespace Lorene.
37  *
38  * Revision 1.3 2014/10/06 15:13:17 j_novak
39  * Modified #include directives to use c++ syntax.
40  *
41  * Revision 1.2 2010/06/15 08:10:29 m_bejger
42  * *** empty log message ***
43  *
44  * Revision 1.1 2010/05/04 07:51:05 m_bejger
45  * Initial version
46  *
47  * $Header: /cvsroot/Lorene/C++/Source/Star/star_bin_extr_curv_xcts.C,v 1.5 2016/12/05 16:18:14 j_novak Exp $
48  *
49  */
50 
51 // C headers
52 #include <cmath>
53 
54 // Headers Lorene
55 #include "star.h"
56 
57 namespace Lorene {
59 
60  // D~_j beta^i
61  const Tensor& dbeta = beta_auto.derive_con(flat) ;
62 
63  // Trace of D~_j beta^i :
64  Scalar div_beta = beta_auto.divergence(flat) ;
65 
66  // Computation of \hat{A}^{ij}, Eq. 8.130 of arXiv:gr-qc/0703035
67  // -------------------------------------------------------------
68 
69  for (int i=1; i<=3; i++)
70  for (int j=1; j<=i; j++) {
71 
72  haij_auto.set(i, j) = dbeta(i, j) + dbeta(j, i) -
73  double(2) /double(3) * div_beta * (flat.con())(i,j) ;
74  }
75 
76  haij_auto = 0.5 * pow(Psi, 7.) * haij_auto / chi ;
77  //## for comparison: old formulation
78  //haij_auto = 0.5 * haij_auto / nn ;
79 
81 
82  // Computation of (\hat{A}_{ij}\hat{A}^{ij})_{auto}
83  // ------------------------------------------------
84 
85  Sym_tensor haij_auto_cov = haij_auto.up_down(flat) ;
86 
87  hacar_auto = contract(haij_auto_cov, 0, 1, haij_auto, 0, 1, true) ;
88 
89  // The derived quantities are obsolete
90  // -----------------------------------
91 
92  del_deriv() ;
93 
94 }
95 }
Scalar chi
Total function .
Definition: star.h:1155
Lorene prototypes.
Definition: app_hor.h:67
Tensor field of valence 0 (or component of a tensorial field).
Definition: scalar.h:393
Tensor up_down(const Metric &gam) const
Computes a new tensor by raising or lowering all the indices of *this .
Sym_tensor haij_auto
Part of the extrinsic curvature tensor generated by beta_auto.
Definition: star.h:1193
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
Definition: metric_flat.C:156
const Scalar & divergence(const Metric &) const
The divergence of this with respect to a Metric .
Definition: vector.C:387
void extrinsic_curvature()
Computes haij_auto and hacar_auto from beta_auto, nn and Psi .
Cmp pow(const Cmp &, int)
Power .
Definition: cmp_math.C:351
Tensor handling.
Definition: tensor.h:294
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
Metric_flat flat
Flat metric defined on the mapping (Spherical components with respect to the mapping of the star) ...
Definition: star.h:1177
Scalar Psi
Total conformal factor .
Definition: star.h:1152
const Tensor & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of this with respect to some metric , by raising the last inde...
Definition: tensor.C:1023
Scalar hacar_auto
Part of the scalar generated by beta_auto, i.e.
Definition: star.h:1205
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Definition: tensor.C:663
Vector beta_auto
Part of the shift vector generated principally by the star (Spherical components with respect to the ...
Definition: star.h:1182
virtual void del_deriv() const
Deletes all the derived quantities.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Definition: tensor.C:935
Class intended to describe valence-2 symmetric tensors.
Definition: sym_tensor.h:226