et_bin_nsbh_upmetr_der.C

00001 /*
00002  *  Methods Et_bin_nsbh::update_metric_der_comp
00003  *
00004  *    (see file et_bin_nsbh.h for documentation).
00005  *
00006  */
00007 
00008 /*
00009  *   Copyright (c) 2003 Philippe Grandclement
00010  *                 2003 Keisuke Taniguchi
00011  *
00012  *   This file is part of LORENE.
00013  *
00014  *   LORENE is free software; you can redistribute it and/or modify
00015  *   it under the terms of the GNU General Public License version 2
00016  *   as published by the Free Software Foundation.
00017  *
00018  *   LORENE is distributed in the hope that it will be useful,
00019  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021  *   GNU General Public License for more details.
00022  *
00023  *   You should have received a copy of the GNU General Public License
00024  *   along with LORENE; if not, write to the Free Software
00025  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026  *
00027  */
00028 
00029 char et_bin_nsbh_upmetr_der_C[] = "$Header: /cvsroot/Lorene/C++/Source/Etoile/et_bin_nsbh_upmetr_der.C,v 1.5 2007/04/24 20:14:45 f_limousin Exp $" ;
00030 
00031 /*
00032  * $Id: et_bin_nsbh_upmetr_der.C,v 1.5 2007/04/24 20:14:45 f_limousin Exp $
00033  * $Log: et_bin_nsbh_upmetr_der.C,v $
00034  * Revision 1.5  2007/04/24 20:14:45  f_limousin
00035  * Implementation of Dirichlet and Neumann BC for the lapse
00036  *
00037  * Revision 1.4  2005/10/18 13:12:33  p_grandclement
00038  * update of the mixted binary codes
00039  *
00040  * Revision 1.3  2005/08/29 15:10:17  p_grandclement
00041  * Addition of things needed :
00042  *   1) For BBH with different masses
00043  *   2) Provisory files for the mixted binaries (Bh and NS) : THIS IS NOT
00044  *   WORKING YET !!!
00045  *
00046  * Revision 1.2  2004/06/07 11:08:31  k_taniguchi
00047  * A minor change.
00048  *
00049  * Revision 1.1  2003/10/24 12:29:21  k_taniguchi
00050  * Method of update metric for the BH companion
00051  *
00052  *
00053  *
00054  * $Header: /cvsroot/Lorene/C++/Source/Etoile/et_bin_nsbh_upmetr_der.C,v 1.5 2007/04/24 20:14:45 f_limousin Exp $
00055  *
00056  */
00057 
00058 // Lorene headers
00059 #include "et_bin_nsbh.h"
00060 #include "bhole.h"
00061 
00062         //---------------------------------------//
00063     //      Version with BH companion       //
00064         //---------------------------------------//
00065 
00066 
00067 void Et_bin_nsbh::update_metric_der_comp(const Bhole& comp) {
00068 
00069     // Computation of Grad(N) ---> stored in d_n_comp
00070     // -------------------------------------------------
00071 
00072     Tenseur dncomp = ( comp.get_n_auto() ).gradient() ;
00073 
00074     if ( dncomp.get_etat() == ETATZERO ) {
00075     d_n_comp.set_etat_zero() ;
00076     }
00077     else{
00078 
00079     // 1/ Division by r^2 of comp.d_n_auto in the ZEC
00080     dncomp.dec2_dzpuis() ;
00081 
00082     // 2/ Interpolation of the result
00083 
00084     d_n_comp.set_etat_qcq() ;
00085     (d_n_comp.set(0)).import( dncomp(0) ) ;  // d/dx sym.
00086     (d_n_comp.set(1)).import( dncomp(1) ) ; // d/dy antisym.
00087     (d_n_comp.set(2)).import( dncomp(2) ) ;  // d/dz sym.
00088 
00089     }
00090     d_n_comp.set_std_base() ;
00091     d_n_comp.inc2_dzpuis() ;
00092     d_n_comp.set_triad( *(dncomp.get_triad()) ) ;
00093     d_n_comp.change_triad(ref_triad) ;
00094     
00095 
00096     // Computation of Grad(Psi) ---> stored in d_confpsi_comp
00097     // ------------------------------------------------------
00098 
00099     Tenseur dpsicomp = ( comp.get_psi_auto() ).gradient() ;
00100 
00101     if ( dpsicomp.get_etat() == ETATZERO ) {
00102     d_confpsi_comp.set_etat_zero() ;
00103     }
00104     else {
00105     // 1/ Division by r^2 of comp.d_confpsi_auto in the ZEC
00106         dpsicomp.dec2_dzpuis() ;
00107 
00108     // 2/ Interpolation of the result
00109 
00110     d_confpsi_comp.set_etat_qcq() ;
00111 
00112     (d_confpsi_comp.set(0)).import(dpsicomp(0) ) ;  // d/dx sym.
00113     (d_confpsi_comp.set(1)).import(dpsicomp(1) ) ; // d/dy antisym.
00114     (d_confpsi_comp.set(2)).import(dpsicomp(2) ) ;  // d/dz sym.
00115 
00116     }
00117 
00118     d_confpsi_comp.set_std_base() ;
00119     d_confpsi_comp.inc2_dzpuis() ;
00120     d_confpsi_comp.set_triad( *(dpsicomp.get_triad()) ) ;
00121     d_confpsi_comp.change_triad(ref_triad) ;
00122 
00123     // The derived quantities are obsolete
00124     // -----------------------------------
00125     del_deriv() ;
00126 }

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