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
28char 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
67namespace Lorene {
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}
Time evolution with partial storage (*** under development ***).
Definition evolution.h:371
Parameter storage.
Definition param.h:125
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:387
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...
Lorene prototypes.
Definition app_hor.h:64