et_bin_extr_curv.C

00001 /*
00002  * Method of class Etoile_bin to compute the extrinsic curvature tensor
00003  *
00004  */
00005 
00006 /*
00007  *   Copyright (c) 2000-2001 Eric Gourgoulhon
00008  *
00009  *   This file is part of LORENE.
00010  *
00011  *   LORENE is free software; you can redistribute it and/or modify
00012  *   it under the terms of the GNU General Public License as published by
00013  *   the Free Software Foundation; either version 2 of the License, or
00014  *   (at your option) any later version.
00015  *
00016  *   LORENE is distributed in the hope that it will be useful,
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  *   GNU General Public License for more details.
00020  *
00021  *   You should have received a copy of the GNU General Public License
00022  *   along with LORENE; if not, write to the Free Software
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00024  *
00025  */
00026 
00027 
00028 char et_bin_extr_curv_C[] = "$Header: /cvsroot/Lorene/C++/Source/Etoile/et_bin_extr_curv.C,v 1.5 2005/08/29 15:21:37 p_grandclement Exp $" ;
00029 
00030 /*
00031  * $Id: et_bin_extr_curv.C,v 1.5 2005/08/29 15:21:37 p_grandclement Exp $
00032  * $Log: et_bin_extr_curv.C,v $
00033  * Revision 1.5  2005/08/29 15:21:37  p_grandclement
00034  * Suppression of Etoile_bion::fait_taij_auto, that was not used (I think)
00035  *
00036  * Revision 1.4  2003/02/13 16:40:25  p_grandclement
00037  * Addition of various things for the Bin_ns_bh project, non of them being
00038  * completely tested
00039  *
00040  * Revision 1.3  2003/01/17 13:33:35  f_limousin
00041  * Add comments
00042  *
00043  * Revision 1.2  2002/12/10 14:20:43  k_taniguchi
00044  * Change the multiplication "*" to "%".
00045  *
00046  * Revision 1.1.1.1  2001/11/20 15:19:28  e_gourgoulhon
00047  * LORENE
00048  *
00049  * Revision 2.0  2000/03/07  14:51:49  eric
00050  * *** empty log message ***
00051  *
00052  *
00053  * $Header: /cvsroot/Lorene/C++/Source/Etoile/et_bin_extr_curv.C,v 1.5 2005/08/29 15:21:37 p_grandclement Exp $
00054  *
00055  */
00056 
00057 // Headers Lorene
00058 #include "etoile.h"
00059 
00060 void Etoile_bin::extrinsic_curvature(){
00061     
00062     // Components of shift_auto with respect to the Cartesian triad
00063     //  (d/dx, d/dy, d/dz) of the mapping : 
00064     Tenseur shift_auto_local = shift_auto ; 
00065     shift_auto_local.change_triad( mp.get_bvect_cart() ) ; 
00066     
00067     // Gradient (partial derivatives with respect to the Cartesian coordinates
00068     //           of the mapping)
00069     // D_j N^i 
00070     
00071     Tenseur dn = shift_auto_local.gradient() ; 
00072     
00073     // Return to the absolute reference frame
00074     dn.change_triad(ref_triad) ; 
00075     
00076     // Trace of D_j N^i = divergence of N^i : 
00077     Tenseur divn = contract(dn, 0, 1) ; 
00078     
00079     // Computation of A^2 K^{ij}
00080     // See Eq (49) from Gourgoulhon et al. (2001)
00081     // -----------------------------------------
00082     tkij_auto.set_etat_qcq() ; 
00083     for (int i=0; i<3; i++) {
00084     for (int j=i; j<3; j++) {
00085         tkij_auto.set(i, j) = dn(i, j) + dn(j, i)  ; 
00086     }
00087     tkij_auto.set(i, i) -= double(2) /double(3) * divn() ; 
00088     }
00089     
00090     tkij_auto = - 0.5 * tkij_auto / nnn ; 
00091     
00092     tkij_auto.set_std_base() ;
00093 
00094     // Computation of A^2 K_{ij} K^{ij}
00095     // --------------------------------
00096     
00097     akcar_auto.set_etat_qcq() ; 
00098     
00099     akcar_auto.set() = 0 ; 
00100     
00101     akcar_auto.set_std_base() ;
00102 
00103     for (int i=0; i<3; i++) {
00104     for (int j=0; j<3; j++) {
00105     
00106         akcar_auto.set() += tkij_auto(i, j) % tkij_auto(i, j) ; 
00107     
00108     }
00109     }
00110     
00111     akcar_auto.set_std_base() ;
00112     akcar_auto = a_car % akcar_auto ; 
00113     
00114     
00115 }
00116 

Generated on Tue Feb 7 01:35:16 2012 for LORENE by  doxygen 1.4.6