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 }
1.4.6