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 char et_rot_upmetr_C[] = "$Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_upmetr.C,v 1.3 2014/10/13 08:52:58 j_novak Exp $" ;
31 
32 /*
33  * $Id: et_rot_upmetr.C,v 1.3 2014/10/13 08:52:58 j_novak Exp $
34  * $Log: et_rot_upmetr.C,v $
35  * Revision 1.3 2014/10/13 08:52:58 j_novak
36  * Lorene classes and functions now belong to the namespace Lorene.
37  *
38  * Revision 1.2 2004/10/11 15:09:02 j_novak
39  * The radial manipulation functions take Scalar as arguments, instead of Cmp.
40  * Added a conversion operator from Scalar to Cmp.
41  * The Cmp radial manipulation function make conversion to Scalar, call to the
42  * Map_radial version with a Scalar argument and back.
43  *
44  * Revision 1.1.1.1 2001/11/20 15:19:28 e_gourgoulhon
45  * LORENE
46  *
47  * Revision 2.4 2001/01/25 13:01:28 eric
48  * Appel de set_std_base() sur bbb et b_car.
49  *
50  * Revision 2.3 2000/11/20 21:43:08 eric
51  * Ajout de bbb.set_etat_qcq() avant bbb.set().
52  *
53  * Revision 1.2 2000/09/18 16:15:52 eric
54  * *** empty log message ***
55  *
56  * Revision 1.1 2000/07/20 15:33:06 eric
57  * Initial revision
58  *
59  *
60  * $Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_upmetr.C,v 1.3 2014/10/13 08:52:58 j_novak Exp $
61  *
62  */
63 
64 // Headers Lorene
65 #include "etoile.h"
66 
67 
68 namespace Lorene {
70 
71  // Lapse function N
72  // ----------------
73 
74  nnn = exp( unsurc2 * logn ) ;
75 
76  nnn.set_std_base() ; // set the bases for spectral expansions
77 
78 
79  // Metric factor A^2
80  // -----------------
81 
82  a_car = exp( 2*unsurc2*( dzeta - logn ) ) ;
83 
84  a_car.set_std_base() ; // set the bases for spectral expansions
85 
86  // Metric factor B
87  // ---------------
88 
89  Cmp tmp = tggg() ;
90  tmp.div_rsint() ; //... Division of tG by r sin(theta)
91 
92  bbb.set_etat_qcq() ;
93  bbb.set() = tmp ;
94  bbb = (bbb + 1) / nnn ;
95 
96  bbb.set_std_base() ; // set the bases for spectral expansions
97 
98  // Metric factor B^2
99  // -----------------
100 
101  b_car = bbb * bbb ;
102 
103  b_car.set_std_base() ; // set the bases for spectral expansions
104 
105  // Tensor B^{-2} K_{ij} and Scalar A^2 K_{ij} K^{ij}
106  // -------------------------------------------------
107 
109 
110 
111  // The derived quantities are no longer up to date :
112  // -----------------------------------------------
113 
114  del_deriv() ;
115 
116 }
117 }
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Definition: cmp.h:443
Cmp exp(const Cmp &)
Exponential.
Definition: cmp_math.C:270
void set_std_base()
Set the standard spectal basis of decomposition for each component.
Definition: tenseur.C:1170
Lorene prototypes.
Definition: app_hor.h:64
Tenseur nnn
Total lapse function.
Definition: etoile.h:509
Tenseur b_car
Square of the metric factor B.
Definition: etoile.h:1507
double unsurc2
: unsurc2=1 for a relativistic star, 0 for a Newtonian one.
Definition: etoile.h:442
virtual void del_deriv() const
Deletes all the derived quantities.
Definition: etoile_rot.C:335
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:69
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
Definition: tenseur.C:824
Tenseur bbb
Metric factor B.
Definition: etoile.h:1504
Tenseur tggg
Metric potential .
Definition: etoile.h:1537
Tenseur a_car
Total conformal factor .
Definition: etoile.h:515
Tenseur & logn
Metric potential = logn_auto.
Definition: etoile.h:1521
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Definition: tenseur.C:636
Tenseur & dzeta
Metric potential = beta_auto.
Definition: etoile.h:1534