LORENE
et_rot_upmetr.C
1 /*
2  * Method Etoile_rot::update_metric
3  *
4  * (see file etoile.h for documentation)
5  *
6  */
7 
8 /*
9  * Copyright (c) 2000-2001 Eric Gourgoulhon
10  *
11  * This file is part of LORENE.
12  *
13  * LORENE is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * LORENE is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with LORENE; if not, write to the Free Software
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26  *
27  */
28 
29 
30 
31 
32 /*
33  * $Id: et_rot_upmetr.C,v 1.4 2016/12/05 16:17:54 j_novak Exp $
34  * $Log: et_rot_upmetr.C,v $
35  * Revision 1.4 2016/12/05 16:17:54 j_novak
36  * Suppression of some global variables (file names, loch, ...) to prevent redefinitions
37  *
38  * Revision 1.3 2014/10/13 08:52:58 j_novak
39  * Lorene classes and functions now belong to the namespace Lorene.
40  *
41  * Revision 1.2 2004/10/11 15:09:02 j_novak
42  * The radial manipulation functions take Scalar as arguments, instead of Cmp.
43  * Added a conversion operator from Scalar to Cmp.
44  * The Cmp radial manipulation function make conversion to Scalar, call to the
45  * Map_radial version with a Scalar argument and back.
46  *
47  * Revision 1.1.1.1 2001/11/20 15:19:28 e_gourgoulhon
48  * LORENE
49  *
50  * Revision 2.4 2001/01/25 13:01:28 eric
51  * Appel de set_std_base() sur bbb et b_car.
52  *
53  * Revision 2.3 2000/11/20 21:43:08 eric
54  * Ajout de bbb.set_etat_qcq() avant bbb.set().
55  *
56  * Revision 1.2 2000/09/18 16:15:52 eric
57  * *** empty log message ***
58  *
59  * Revision 1.1 2000/07/20 15:33:06 eric
60  * Initial revision
61  *
62  *
63  * $Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_upmetr.C,v 1.4 2016/12/05 16:17:54 j_novak Exp $
64  *
65  */
66 
67 // Headers Lorene
68 #include "etoile.h"
69 
70 
71 namespace Lorene {
73 
74  // Lapse function N
75  // ----------------
76 
77  nnn = exp( unsurc2 * logn ) ;
78 
79  nnn.set_std_base() ; // set the bases for spectral expansions
80 
81 
82  // Metric factor A^2
83  // -----------------
84 
85  a_car = exp( 2*unsurc2*( dzeta - logn ) ) ;
86 
87  a_car.set_std_base() ; // set the bases for spectral expansions
88 
89  // Metric factor B
90  // ---------------
91 
92  Cmp tmp = tggg() ;
93  tmp.div_rsint() ; //... Division of tG by r sin(theta)
94 
95  bbb.set_etat_qcq() ;
96  bbb.set() = tmp ;
97  bbb = (bbb + 1) / nnn ;
98 
99  bbb.set_std_base() ; // set the bases for spectral expansions
100 
101  // Metric factor B^2
102  // -----------------
103 
104  b_car = bbb * bbb ;
105 
106  b_car.set_std_base() ; // set the bases for spectral expansions
107 
108  // Tensor B^{-2} K_{ij} and Scalar A^2 K_{ij} K^{ij}
109  // -------------------------------------------------
110 
112 
113 
114  // The derived quantities are no longer up to date :
115  // -----------------------------------------------
116 
117  del_deriv() ;
118 
119 }
120 }
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition: cmp.h:446
Cmp exp(const Cmp &)
Exponential.
Definition: cmp_math.C:273
void set_std_base()
Set the standard spectal basis of decomposition for each component.
Definition: tenseur.C:1186
Lorene prototypes.
Definition: app_hor.h:67
Tenseur nnn
Total lapse function.
Definition: etoile.h:512
Tenseur b_car
Square of the metric factor B.
Definition: etoile.h:1510
double unsurc2
: unsurc2=1 for a relativistic star, 0 for a Newtonian one.
Definition: etoile.h:445
virtual void del_deriv() const
Deletes all the derived quantities.
Definition: etoile_rot.C:344
void extrinsic_curvature()
Computes tkij and ak_car from shift , nnn and b_car .
void update_metric()
Computes metric coefficients from known potentials.
Definition: et_rot_upmetr.C:72
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
Definition: tenseur.C:840
Tenseur bbb
Metric factor B.
Definition: etoile.h:1507
Tenseur tggg
Metric potential .
Definition: etoile.h:1540
Tenseur a_car
Total conformal factor .
Definition: etoile.h:518
Tenseur & logn
Metric potential = logn_auto.
Definition: etoile.h:1524
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Definition: tenseur.C:652
Tenseur & dzeta
Metric potential = beta_auto.
Definition: etoile.h:1537