LORENE
vector_divfree_A_poisson.C
1
/*
2
* Methods to impose the Dirac gauge: divergence-free condition.
3
*
4
* (see file sym_tensor.h for documentation).
5
*
6
*/
7
8
/*
9
* Copyright (c) 2006 Jerome Novak
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 version 2
15
* as published by the Free Software Foundation.
16
*
17
* LORENE is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU General Public License for more details.
21
*
22
* You should have received a copy of the GNU General Public License
23
* along with LORENE; if not, write to the Free Software
24
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
*
26
*/
27
28
char
sol_Dirac_A_poisson_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/vector_divfree_A_poisson.C,v 1.4 2014/10/13 08:53:45 j_novak Exp $"
;
29
30
/*
31
* $Id: vector_divfree_A_poisson.C,v 1.4 2014/10/13 08:53:45 j_novak Exp $
32
* $Log: vector_divfree_A_poisson.C,v $
33
* Revision 1.4 2014/10/13 08:53:45 j_novak
34
* Lorene classes and functions now belong to the namespace Lorene.
35
*
36
* Revision 1.3 2014/10/06 15:13:20 j_novak
37
* Modified #include directives to use c++ syntax.
38
*
39
* Revision 1.2 2009/10/23 13:18:46 j_novak
40
* Minor modifications
41
*
42
* Revision 1.1 2008/08/27 09:01:27 jl_cornou
43
* Methods for solving Dirac systems for divergence free vectors
44
*
45
* $Header: /cvsroot/Lorene/C++/Source/Tensor/vector_divfree_A_poisson.C,v 1.4 2014/10/13 08:53:45 j_novak Exp $
46
*
47
*/
48
49
50
// C headers
51
#include <cstdlib>
52
#include <cassert>
53
#include <cmath>
54
55
// Lorene headers
56
#include "metric.h"
57
#include "diff.h"
58
#include "proto.h"
59
#include "param.h"
60
61
//----------------------------------------------------------------------------------
62
//
63
// sol_Dirac_A
64
//
65
//----------------------------------------------------------------------------------
66
67
namespace
Lorene
{
68
void
Vector_divfree::sol_Dirac_A_poisson
(
const
Scalar
&
aaa
,
Scalar
&
tilde_vr
,
Scalar
&
tilde_eta
,
69
const
Param
* )
const
{
70
71
72
Scalar
source1
= -
aaa
.lapang();
73
Scalar
rvr
=
source1
.poisson_tau();
74
//rvr = rvr - rvr.val_grid_point(0,0,0,0);
75
Scalar
source2
=
aaa
.dsdr();
76
source2
.mult_r_dzpuis(2);
77
source2
+= 3*
aaa
;
78
Scalar
reta
=
source2
.poisson_tau();
79
//reta = reta - reta.val_grid_point(0,0,0,0);
80
rvr
.div_r();
81
tilde_vr
=
rvr
;
82
reta
.div_r();
83
tilde_eta
=
reta
;
84
85
86
}
87
}
Lorene::Evolution_std
Time evolution with partial storage (*** under development ***).
Definition
evolution.h:371
Lorene::Param
Parameter storage.
Definition
param.h:125
Lorene::Scalar
Tensor field of valence 0 (or component of a tensorial field).
Definition
scalar.h:387
Lorene::Vector_divfree::sol_Dirac_A_poisson
void sol_Dirac_A_poisson(const Scalar &aaa, Scalar &eta, Scalar &vr, const Param *par_bc=0x0) const
Solves via a poisson method a system of two-coupled first-order PDEs obtained from the divergence-fre...
Definition
vector_divfree_A_poisson.C:68
Lorene
Lorene prototypes.
Definition
app_hor.h:64
C++
Source
Tensor
vector_divfree_A_poisson.C
Generated by
1.9.8