LORENE
single_hor.C
1/*
2 * Methods of class single_hor
3 *
4 * (see file isol_hor.h for documentation).
5 *
6 */
7
8/*
9 * Copyright (c) 2004 Jose Luis Jaramillo
10 * Francois Limousin
11 *
12 * This file is part of LORENE.
13 *
14 * LORENE is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2
16 * as published by the Free Software Foundation.
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 * $Id: single_hor.C,v 1.4 2016/12/05 16:17:56 j_novak Exp $
33 * $Log: single_hor.C,v $
34 * Revision 1.4 2016/12/05 16:17:56 j_novak
35 * Suppression of some global variables (file names, loch, ...) to prevent redefinitions
36 *
37 * Revision 1.3 2014/10/13 08:53:01 j_novak
38 * Lorene classes and functions now belong to the namespace Lorene.
39 *
40 * Revision 1.2 2014/10/06 15:13:11 j_novak
41 * Modified #include directives to use c++ syntax.
42 *
43 * Revision 1.1 2007/04/13 15:28:35 f_limousin
44 * Lots of improvements, generalisation to an arbitrary state of
45 * rotation, implementation of the spatial metric given by Samaya.
46 *
47 *
48 * $Header: /cvsroot/Lorene/C++/Source/Isol_hor/single_hor.C,v 1.4 2016/12/05 16:17:56 j_novak Exp $
49 *
50 */
51
52// C headers
53#include <cstdlib>
54#include <cassert>
55
56// Lorene headers
57#include "param.h"
58#include "utilitaires.h"
59#include "time_slice.h"
60#include "isol_hor.h"
61#include "tensor.h"
62#include "metric.h"
63#include "evolution.h"
64//#include "graphique.h"
65
66//--------------//
67// Constructors //
68//--------------//
69// Standard constructor
70// --------------------
71
72namespace Lorene {
74 mp(mpi), nz(mpi.get_mg()->get_nzone()), radius ((mpi.get_alpha())[0]),
75 omega(0),regul(0),
76 n_auto(mpi), n_comp(mpi), nn(mpi),
77 psi_auto(mpi), psi_comp(mpi), psi(mpi),
78 dn(mpi, COV, mpi.get_bvect_spher()),
79 dpsi(mpi, COV, mpi.get_bvect_spher()),
80 beta_auto(mpi, CON, mpi.get_bvect_spher()),
81 beta_comp(mpi, CON, mpi.get_bvect_spher()),
82 beta(mpi, CON, mpi.get_bvect_spher()),
83 aa_auto(mpi, CON, mpi.get_bvect_spher()),
84 aa_comp(mpi, CON, mpi.get_bvect_spher()),
85 aa(mpi, CON, mpi.get_bvect_spher()),
86 tgam(mpi.flat_met_spher()),
87 ff(mpi.flat_met_spher()),
88 hh(mpi, CON, mpi.get_bvect_spher()),
89 gamt_point(mpi, CON, mpi.get_bvect_spher()),
90 trK(mpi), trK_point(mpi), decouple(mpi){
91
92 hh.set_etat_zero() ;
93 set_der_0x0() ;
94}
95
96// Copy constructor
97// ----------------
98
100 : mp(singlehor_in.mp),
101 nz(singlehor_in.nz),
102 radius(singlehor_in.radius),
103 omega(singlehor_in.omega),
104 regul(singlehor_in.regul),
105 n_auto(singlehor_in.n_auto),
106 n_comp(singlehor_in.n_comp),
107 nn(singlehor_in.nn),
108 psi_auto(singlehor_in.psi_auto),
109 psi_comp(singlehor_in.psi_comp),
110 psi(singlehor_in.psi),
111 dn(singlehor_in.dn),
112 dpsi(singlehor_in.dpsi),
113 beta_auto(singlehor_in.beta_auto),
114 beta_comp(singlehor_in.beta_comp),
115 beta(singlehor_in.beta),
116 aa_auto(singlehor_in.aa_auto),
117 aa_comp(singlehor_in.aa_comp),
118 aa(singlehor_in.aa),
119 tgam(singlehor_in.tgam),
120 ff(singlehor_in.ff),
121 hh(singlehor_in.hh),
122 gamt_point(singlehor_in.gamt_point),
123 trK(singlehor_in.trK),
124 trK_point(singlehor_in.trK_point),
125 decouple(singlehor_in.decouple){
126
127 set_der_0x0() ;
128}
129
130// Constructor from a file
131// -----------------------
132
134 : mp(mpi), nz(mpi.get_mg()->get_nzone()), radius ((mpi.get_alpha())[0]),
135 omega(0),regul(0),
136 n_auto(mpi, *(mpi.get_mg()), fich), n_comp(mpi),
137 nn(mpi),
138 psi_auto(mpi, *(mpi.get_mg()), fich), psi_comp(mpi),
139 psi(mpi),
140 dn(mpi, COV, mpi.get_bvect_spher()),
141 dpsi(mpi, COV, mpi.get_bvect_spher()),
142 beta_auto(mpi, mpi.get_bvect_spher(), fich),
143 beta_comp(mpi, CON, mpi.get_bvect_spher()),
144 beta(mpi, CON, mpi.get_bvect_spher()),
145 aa_auto(mpi, CON, mpi.get_bvect_spher()),
146 aa_comp(mpi, CON, mpi.get_bvect_spher()),
147 aa(mpi, CON, mpi.get_bvect_spher()),
148 tgam(mpi.flat_met_spher()),
149 ff(mpi.flat_met_spher()),
150 hh(mpi, CON, mpi.get_bvect_spher()),
151 gamt_point(mpi, CON, mpi.get_bvect_spher()),
152 trK(mpi), trK_point(mpi), decouple(mpi){
153
154 fread_be(&omega, sizeof(double), 1, fich) ;
155
156 // tgam, gamt_point, trK, trK_point
157
158 Sym_tensor met_file (mp, mp.get_bvect_spher(), fich) ;
159 tgam = met_file ;
160
161 Sym_tensor gamt_point_file (mp, mp.get_bvect_spher(), fich) ;
162 gamt_point = gamt_point_file ;
163
164 Scalar trK_file (mp, *(mp.get_mg()), fich) ;
165 trK = trK_file ;
166
167 Scalar trK_point_file (mp, *(mp.get_mg()), fich) ;
168 trK_point = trK_point_file ;
169
170 set_der_0x0() ;
171 hh = tgam.con() - ff.con() ;
172
173}
174
175 //--------------//
176 // Destructor //
177 //--------------//
178
183
184
185 //-----------------------//
186 // Mutators / assignment //
187 //-----------------------//
188
189void Single_hor::operator=(const Single_hor& singlehor_in) {
190
191 mp = singlehor_in.mp ;
192 nz = singlehor_in.nz ;
193 radius = singlehor_in.radius ;
194 omega = singlehor_in.omega ;
195 regul = singlehor_in.regul ;
196 n_auto = singlehor_in.n_auto ;
197 n_comp = singlehor_in.n_comp ;
198 nn = singlehor_in.nn ;
199 psi_auto = singlehor_in.psi_auto ;
200 psi_comp = singlehor_in.psi_comp ;
201 psi = singlehor_in.psi ;
202 dn = singlehor_in.dn ;
203 dpsi = singlehor_in.dpsi ;
204 beta_auto = singlehor_in.beta_auto ;
205 beta_comp = singlehor_in.beta_comp ;
206 beta = singlehor_in.beta ;
207 aa_auto = singlehor_in.aa_auto ;
208 aa_comp = singlehor_in.aa_comp ;
209 aa = singlehor_in.aa ;
210 tgam = singlehor_in.tgam ;
211 ff = singlehor_in.ff ;
212 hh = singlehor_in.hh ;
213 gamt_point = singlehor_in.gamt_point ;
214 trK = singlehor_in.trK ;
215 trK_point = singlehor_in.trK_point ;
216 decouple = singlehor_in.decouple ;
217}
218
219
220 //---------------------//
221 // Memory management //
222 //---------------------//
223
225
226 if (p_psi4 != 0x0) delete p_psi4 ;
227 if (p_gam != 0x0) delete p_gam ;
228 if (p_k_dd != 0x0) delete p_k_dd ;
229
230 set_der_0x0() ;
231}
232
233
235
236 p_psi4 = 0x0 ;
237 p_gam = 0x0 ;
238 p_k_dd = 0x0 ;
239
240}
241
242 //--------------------------//
243 // Save in a file //
244 //--------------------------//
245
246
247void Single_hor::sauve(FILE* fich) const {
248
249 n_auto.sauve(fich) ;
250 psi_auto.sauve(fich) ;
251 beta_auto.sauve(fich) ;
252
253 fwrite_be (&omega, sizeof(double), 1, fich) ;
254
255 tgam.con().sauve(fich) ;
256 gamt_point.sauve(fich) ;
257 trK.sauve(fich) ;
258 trK_point.sauve(fich) ;
259}
260
261// Accessors
262// ---------
263
265
266 return n_auto ;
267}
268
270
271 return n_comp ;
272}
274
275 return nn ;
276}
277
279
280 return psi_auto ;
281}
282
284
285 return psi_comp ;
286}
288
289 return psi ;
290}
292
293 if (p_psi4 == 0x0) {
294
295 p_psi4 = new Scalar( pow( psi, 4.) ) ;
296 p_psi4->std_spectral_base() ;
297 }
298
299 return *p_psi4 ;
300}
301
303
304 return dn ;
305}
306
308
309 return dpsi ;
310}
311
313
314 return beta_auto ;
315}
316
318
319 return beta_comp ;
320
321}
323
324 return beta ;
325}
326
328
329 return aa_auto ;
330}
331
333
334 return aa_comp ;
335
336}
338
339 return aa ;
340
341}
343
344 if (p_gam == 0x0) {
345 p_gam = new Metric( get_psi4()*tgam.cov() ) ;
346 }
347
348 return *p_gam ;
349}
350
352
353 if (p_k_dd == 0x0) {
354
355 Sym_tensor temp (aa/get_psi4()+1./3.*trK*get_gam().con()) ;
356
357 p_k_dd = new Sym_tensor( temp.up_down(get_gam()) ) ;
358 p_k_dd->std_spectral_base() ;
359 }
360
361 return *p_k_dd ;
362}
363
364
365void Single_hor::set_psi_auto(const Scalar& psi_in) {
366
367 psi_auto = psi_in ;
368}
370
371 n_auto = n_in ;
372}
373void Single_hor::set_beta_auto(const Scalar& beta_in) {
374
375 beta_auto = beta_in ;
376}
377void Single_hor::set_aa_auto(const Scalar& aa_in) {
378
379 aa_auto = aa_in ;
380}
381void Single_hor::set_aa_comp(const Scalar& aa_in) {
382
383 aa_comp = aa_in ;
384}
385void Single_hor::set_aa(const Scalar& aa_in) {
386
387 aa = aa_in ;
388}
389
390
391// Import the lapse from the companion (Bhole case)
392
394
395 Scalar temp (mp) ;
396 temp.import(comp.n_auto) ;
397 temp.std_spectral_base() ;
398 n_comp = temp ;
399 nn = temp + n_auto ;
400
401 Vector dn_comp (mp, COV, mp.get_bvect_cart()) ;
402 dn_comp.set_etat_qcq() ;
403 Vector auxi (comp.n_auto.derive_cov(comp.ff)) ;
404 auxi.dec_dzpuis(2) ;
405 auxi.change_triad(auxi.get_mp().get_bvect_cart()) ;
406 for (int i=1 ; i<=3 ; i++){
407 if (auxi(i).get_etat() != ETATZERO)
408 auxi.set(i).raccord(3) ;
409 }
410
411 auxi.change_triad(mp.get_bvect_cart()) ;
412 assert ( *(auxi.get_triad()) == *(dn_comp.get_triad())) ;
413
414 for (int i=1 ; i<=3 ; i++){
415 dn_comp.set(i).import(auxi(i)) ;
416 dn_comp.set(i).set_spectral_va().set_base(auxi(i).get_spectral_va().
417 get_base()) ;
418 }
419 dn_comp.inc_dzpuis(2) ;
420 dn_comp.change_triad(mp.get_bvect_spher()) ;
421
422 dn = n_auto.derive_cov(ff) + dn_comp ;
423}
424
425// Import the conformal factor from the companion (Bhole case)
426
428
429 Scalar temp (mp) ;
430 temp.import(comp.psi_auto) ;
431 temp.std_spectral_base() ;
432 psi_comp = temp ;
433 psi = temp + psi_auto ;
434
435 Vector dpsi_comp (mp, COV, mp.get_bvect_cart()) ;
436 dpsi_comp.set_etat_qcq() ;
437 Vector auxi (comp.psi_auto.derive_cov(comp.ff)) ;
438 auxi.dec_dzpuis(2) ;
439 auxi.change_triad(auxi.get_mp().get_bvect_cart()) ;
440 for (int i=1 ; i<=3 ; i++){
441 if (auxi(i).get_etat() != ETATZERO)
442 auxi.set(i).raccord(3) ;
443 }
444
445 auxi.change_triad(mp.get_bvect_cart()) ;
446 assert ( *(auxi.get_triad()) == *(dpsi_comp.get_triad())) ;
447
448 for (int i=1 ; i<=3 ; i++){
449 dpsi_comp.set(i).import(auxi(i)) ;
450 dpsi_comp.set(i).set_spectral_va().set_base(auxi(i).get_spectral_va().
451 get_base()) ;
452 }
453 dpsi_comp.inc_dzpuis(2) ;
454 dpsi_comp.change_triad(mp.get_bvect_spher()) ;
455 /*
456 Vector dpsi_comp_zec (psi_comp().derive_cov(ff)) ;
457 for (int i=1 ; i<=3 ; i++)
458 for (int l=nz-1 ; l<=nz-1 ; l++) {
459 if (dpsi_comp.set(i).get_etat() == ETATQCQ)
460 dpsi_comp.set(i).set_domain(l) = dpsi_comp_zec(i).domain(l) ;
461 }
462 */
463
464 dpsi = psi_auto.derive_cov(ff) + dpsi_comp ;
465
466}
467
469
470 Vector tmp_vect (mp, CON, mp.get_bvect_cart()) ;
471 Vector shift_comp (comp.beta_auto) ;
472 shift_comp.change_triad(comp.mp.get_bvect_cart()) ;
473 shift_comp.change_triad(mp.get_bvect_cart()) ;
474 assert (*(shift_comp.get_triad()) == *(tmp_vect.get_triad())) ;
475
476 tmp_vect.set(1).import(shift_comp(1)) ;
477 tmp_vect.set(2).import(shift_comp(2)) ;
478 tmp_vect.set(3).import(shift_comp(3)) ;
479 tmp_vect.std_spectral_base() ;
480 tmp_vect.change_triad(mp.get_bvect_spher()) ;
481
482 beta_comp = tmp_vect ;
484}
485
486//Initialisation to Schwartzchild
488
489 Scalar auxi(mp) ;
490
491 // Initialisation of the lapse different of zero on the horizon
492 // at the first step
493 auxi = 0.5 - 0.5/mp.r ;
494 auxi.annule(0, 0);
495 auxi.set_dzpuis(0) ;
496
497 Scalar temp(mp) ;
498 temp = auxi;
499 temp.std_spectral_base() ;
500 temp.raccord(1) ;
501 n_auto = temp ;
502
503 temp = 0.5 ;
504 temp.std_spectral_base() ;
505 n_comp = temp ;
506 nn = n_auto ;
507
508 auxi = 0.5 + radius/mp.r ;
509 auxi.annule(0, 0);
510 auxi.set_dzpuis(0) ;
511 temp = auxi;
512 temp.std_spectral_base() ;
513 temp.raccord(1) ;
514 psi_auto = temp ;
515
516 temp = 0.5 ;
517 temp.std_spectral_base() ;
518 psi_comp = temp ;
519 psi = psi_auto + psi_comp ;
520
521 dn = nn.derive_cov(ff) ;
522 dpsi = psi.derive_cov(ff) ;
523
524 Vector temp_vect1(mp, CON, mp.get_bvect_spher()) ;
525 temp_vect1.set(1) = 0.0/mp.r/mp.r ;
526 temp_vect1.set(2) = 0. ;
527 temp_vect1.set(3) = 0. ;
528 temp_vect1.std_spectral_base() ;
529
530 Vector temp_vect2(mp, CON, mp.get_bvect_spher()) ;
531 temp_vect2.set_etat_zero() ;
532
533 beta_auto = temp_vect1 ;
534 beta_comp = temp_vect2 ;
535 beta = temp_vect1 ;
536
537}
538
540
541 Metric flat (mp.flat_met_spher()) ;
542 tgam = flat ;
543
544 gamt_point.set_etat_zero() ;
545 trK.set_etat_zero() ;
546 trK_point.set_etat_zero() ;
547
548}
549
550
552
553 Scalar auxi(mp) ;
554
555 auxi = (1-radius/mp.r)/(1+radius/mp.r) ;
556 auxi.annule(0, 0);
557 auxi.set_outer_boundary((*mp.get_mg()).get_nzone(), 1.) ;
558 auxi.set_dzpuis(0) ;
559
560 Scalar temp(mp) ;
561 temp = auxi;
562 temp.std_spectral_base() ;
563 temp.raccord(1) ;
564 n_auto = temp;
565
566 temp.set_etat_zero() ;
567 n_comp = temp ;
568 nn = temp ;
569
570 auxi = 1 + radius/mp.r ;
571 auxi.annule(0, 0);
572 auxi.set_outer_boundary((*mp.get_mg()).get_nzone(), 1.) ;
573 auxi.set_dzpuis(0) ;
574
575 temp = auxi;
576 temp.std_spectral_base() ;
577 temp.raccord(1) ;
578 psi_auto = temp ;
579 temp.set_etat_zero() ;
580 psi_comp = temp ;
581 psi = temp ;
582
583 dn = nn.derive_cov(ff) ;
584 dpsi = psi.derive_cov(ff) ;
585
586 Vector temp_vect(mp, CON, mp.get_bvect_spher()) ;
587 temp_vect.set_etat_zero() ;
588 beta_auto = temp_vect ;
589 beta_comp = temp_vect ;
590 beta = temp_vect ;
591
592}
593
594
595
596}
Affine radial mapping.
Definition map.h:2042
Metric for tensor calculation.
Definition metric.h:90
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:393
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this.
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field.
Definition scalar.C:790
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
Definition scalar.C:330
virtual void annule(int l_min, int l_max)
Sets the Scalar to zero in several domains.
Definition scalar.C:397
Valeur & set_spectral_va()
Returns va (read/write version).
Definition scalar.h:610
void set_dzpuis(int)
Modifies the dzpuis flag.
Definition scalar.C:814
void set_outer_boundary(int l, double x)
Sets the value of the Scalar at the outer boundary of a given domain.
void import(const Scalar &ci)
Assignment to another Scalar defined on a different mapping.
Vector dpsi
Covariant derivative of the conformal factor .
Definition isol_hor.h:941
Scalar psi_auto
Conformal factor .
Definition isol_hor.h:924
double radius
Radius of the horizon in LORENE's units.
Definition isol_hor.h:906
const Metric & get_gam() const
metric
Definition single_hor.C:342
Scalar trK_point
Time derivative of the trace of the extrinsic curvature.
Definition isol_hor.h:992
Scalar decouple
Function used to construct from the total .
Definition isol_hor.h:1002
Vector beta_auto
Shift function .
Definition isol_hor.h:944
void beta_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp.
Definition single_hor.C:468
void set_psi_auto(const Scalar &psi_in)
Sets the conformal factor relating the physical metric to the conformal one: .
Definition single_hor.C:365
Scalar n_comp
Lapse function .
Definition isol_hor.h:918
const Sym_tensor & get_k_dd() const
k_dd
Definition single_hor.C:351
void operator=(const Single_hor &)
Assignment to another Single_hor.
Definition single_hor.C:189
Sym_tensor aa_auto
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition isol_hor.h:959
const Scalar & get_psi_comp() const
Conformal factor .
Definition single_hor.C:283
void set_beta_auto(const Scalar &shift_in)
Sets the shift.
Definition single_hor.C:373
const Scalar & get_psi4() const
Conformal factor .
Definition single_hor.C:291
void set_n_auto(const Scalar &nn_in)
Sets the lapse.
Definition single_hor.C:369
const Scalar & get_n_auto() const
Lapse function .
Definition single_hor.C:264
const Scalar & get_n_comp() const
Lapse function .
Definition single_hor.C:269
Metric_flat ff
3 metric flat
Definition isol_hor.h:980
Scalar psi
Conformal factor .
Definition isol_hor.h:930
Map_af & mp
Affine mapping.
Definition isol_hor.h:900
const Vector & get_dpsi() const
Covariant derivative with respect to the flat metric of the conformal factor .
Definition single_hor.C:307
const Vector & get_beta_comp() const
Shift function .
Definition single_hor.C:317
void init_met_trK()
Sets the 3-metric tilde to the flat metric and gamt_point, trK and trK_point to zero.
Definition single_hor.C:539
void init_bhole()
Sets the values of the fields to :
Definition single_hor.C:487
const Scalar & get_nn() const
Lapse function .
Definition single_hor.C:273
Scalar * p_psi4
Conformal factor .
Definition isol_hor.h:933
Vector dn
Covariant derivative of the lapse with respect to the flat metric .
Definition isol_hor.h:937
Single_hor(Map_af &mpi)
Standard constructor.
Definition single_hor.C:73
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition single_hor.C:234
const Vector & get_beta_auto() const
Shift function .
Definition single_hor.C:312
const Sym_tensor & get_aa() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition single_hor.C:337
const Vector & get_beta() const
Shift function .
Definition single_hor.C:322
void set_aa_comp(const Scalar &aa_comp_in)
Sets aa_comp.
Definition single_hor.C:381
int nz
Number of zones.
Definition isol_hor.h:903
void init_bhole_seul()
Initiates for a single black hole.
Definition single_hor.C:551
Sym_tensor aa_comp
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition isol_hor.h:965
void del_deriv() const
Deletes all the derived quantities.
Definition single_hor.C:224
void set_aa(const Scalar &aa_in)
Sets aa.
Definition single_hor.C:385
double regul
Intensity of the correction on the shift vector.
Definition isol_hor.h:912
Vector beta_comp
Shift function .
Definition isol_hor.h:947
Sym_tensor gamt_point
Time derivative of the 3-metric tilde.
Definition isol_hor.h:986
const Sym_tensor & get_aa_comp() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition single_hor.C:332
const Vector & get_dn() const
Covariant derivative of the lapse function .
Definition single_hor.C:302
virtual ~Single_hor()
Destructor.
Definition single_hor.C:179
double omega
Angular velocity in LORENE's units.
Definition isol_hor.h:909
virtual void sauve(FILE *fich) const
Total or partial saves in a binary file.
Definition single_hor.C:247
void set_aa_auto(const Scalar &aa_auto_in)
Sets aa_auto.
Definition single_hor.C:377
Metric * p_gam
Spatial metric .
Definition isol_hor.h:953
void n_comp_import(const Single_hor &comp)
Imports the part of N due to the companion hole comp .
Definition single_hor.C:393
Scalar n_auto
Lapse function .
Definition isol_hor.h:915
Scalar nn
Lapse function .
Definition isol_hor.h:921
const Sym_tensor & get_aa_auto() const
Conformal representation of the traceless part of the extrinsic curvature:
Definition single_hor.C:327
const Scalar & get_psi() const
Conformal factor .
Definition single_hor.C:287
Sym_tensor * p_k_dd
Components of the extrinsic curvature:
Definition isol_hor.h:974
const Scalar & get_psi_auto() const
Conformal factor .
Definition single_hor.C:278
Sym_tensor hh
Deviation metric.
Definition isol_hor.h:983
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature:
Definition isol_hor.h:971
Vector beta
Shift function .
Definition isol_hor.h:950
Scalar trK
Trace of the extrinsic curvature.
Definition isol_hor.h:989
Scalar psi_comp
Conformal factor .
Definition isol_hor.h:927
void psi_comp_import(const Single_hor &comp)
Imports the part of due to the companion hole comp .
Definition single_hor.C:427
Metric tgam
3 metric tilde
Definition isol_hor.h:977
Class intended to describe valence-2 symmetric tensors.
Definition sym_tensor.h:226
void set_base(const Base_val &)
Sets the bases for spectral expansions (member base ).
Definition valeur.C:813
Tensor field of valence 1.
Definition vector.h:188
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Definition vector.C:319
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.
Definition vector.C:299
Cmp pow(const Cmp &, int)
Power .
Definition cmp_math.C:351
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
Definition fread_be.C:72
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
Definition fwrite_be.C:73
const Map & get_mp() const
Returns the mapping.
Definition tensor.h:874
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified ext...
Definition tensor.C:817
Tensor up_down(const Metric &gam) const
Computes a new tensor by raising or lowering all the indices of *this .
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
Definition tensor.C:825
const Base_vect * get_triad() const
Returns the vectorial basis (triad) on which the components are defined.
Definition tensor.h:879
virtual void set_etat_qcq()
Sets the logical state of all components to ETATQCQ (ordinary state).
Definition tensor.C:490
virtual void set_etat_zero()
Sets the logical state of all components to ETATZERO (zero state).
Definition tensor.C:506
Lorene prototypes.
Definition app_hor.h:67
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
Definition map.h:795
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Definition map.h:777
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
Definition map.C:324