23 char bhole_solve_phi_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Bhole_binaire/bhole_solve_phi.C,v 1.4 2014/10/13 08:52:40 j_novak Exp $" ;
69 #include "utilitaires.h" 70 #include "graphique.h" 110 assert ((relax>0) && (relax<=1)) ;
112 cout <<
"-----------------------------------------------" << endl ;
113 cout <<
"Resolution PSI" << endl ;
115 Tenseur psi_un_old (hole1.psi_auto) ;
116 Tenseur psi_deux_old (hole2.psi_auto) ;
120 hole1.psi_auto.gradient())()) ;
124 hole2.psi_auto.gradient())()) ;
128 Valeur lim_un (hole1.mp.get_mg()->get_angu()) ;
129 lim_un = -0.5/hole1.rayon ;
132 Valeur lim_deux (hole2.mp.get_mg()->get_angu()) ;
133 lim_deux = -0.5/hole2.rayon ;
137 neumann_binaire (source_un, source_deux, lim_un, lim_deux,
138 hole1.psi_auto.set(), hole2.psi_auto.set(), 0, precision) ;
140 hole1.psi_auto.set().raccord(1) ;
141 hole2.psi_auto.set().raccord(1) ;
144 cout <<
diffrelmax (source_un, hole1.psi_auto().laplacien(4)) << endl ;
145 cout <<
diffrelmax (source_deux, hole2.psi_auto().laplacien(4)) << endl ;
148 hole1.psi_auto.
set() = relax*hole1.psi_auto() + (1-relax)*psi_un_old() ;
149 hole2.psi_auto.
set() = relax*hole2.psi_auto() + (1-relax)*psi_deux_old() ;
151 hole1.fait_psi_comp (hole2) ;
152 hole2.fait_psi_comp (hole1) ;
157 hole1.init_bhole_phi() ;
158 hole2.init_bhole_phi() ;
160 hole1.fait_psi_comp(hole2) ;
161 hole2.fait_psi_comp(hole1) ;
Cmp log(const Cmp &)
Neperian logarithm.
void solve_phi(double precision, double relax)
Solve the equation for the logarithm of .
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
Tenseur grad_n_tot
Total gradient of N .
void annule(int l)
Sets the Cmp to zero in a given domain.
void set_std_base()
Set the standard spectal basis of decomposition for each component.
double & set(int i)
Read/write of a particular element (index i) (1D case)
Tenseur flat_scalar_prod(const Tenseur &t1, const Tenseur &t2)
Scalar product of two Tenseur when the metric is : performs the contraction of the last index of t1 w...
Tenseur psi_auto
Part of generated by the hole.
Values and coefficients of a (real-value) function.
Tenseur n_comp
Part of N generated by the companion hole.
Tenseur_sym taij_tot
Total , which must be zero on the horizon of the regularisation on the shift has been done...
Tenseur_sym taij_auto
Part of generated by the hole.
void std_base_scal()
Sets the bases for spectral expansions (member base ) to the standard ones for a scalar.
Tenseur shift_auto
Part of generated by the hole.
Tenseur_sym taij_comp
Part of generated by the companion hole.
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
Tenseur psi_comp
Part of generated by the companion hole.
void init_bhole_phi()
Initiates the black hole for a resolution with .
Map_af & mp
Affine mapping.
void init_phi()
Initiates the system for a resolution using the logarithm of .
double rayon
Radius of the horizon in LORENE's units.
Tenseur_sym tkij_auto
Auto .
void std_base_scal()
Sets the spectral bases of the Valeur va to the standard ones for a scalar.
Tenseur_sym tkij_tot
Total .
Tenseur grad_psi_tot
Total gradient of .
Cmp decouple
Function used to construct the part of generated by the hole from the total .
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
void set_omega(double ome)
Sets the angular velocity to ome .
void set_dzpuis(int)
Set a value to dzpuis.
Tenseur n_auto
Part of N generated by the hole.
void set_etat_zero()
Sets the logical state to ETATZERO (zero state).
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Tbl diffrelmax(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (max version).
const Tenseur & gradient() const
Returns the gradient of *this (Cartesian coordinates)
Coord r
r coordinate centered on the grid