00001 /* 00002 * Methods of class Bhole_binaire 00003 * 00004 * (see file bhole.h for documentation) 00005 * 00006 */ 00007 00008 /* 00009 * Copyright (c) 2000-2001 Philippe Grandclement 00010 * 00011 * This file is part of LORENE. 00012 * 00013 * LORENE is free software; you can redistribute it and/or modify 00014 * it under the terms of the GNU General Public License as published by 00015 * the Free Software Foundation; either version 2 of the License, or 00016 * (at your option) any later version. 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 00030 char bhole_binaire_C[] = "$Header: /cvsroot/Lorene/C++/Source/Bhole_binaire/bhole_binaire.C,v 1.3 2005/08/29 15:10:14 p_grandclement Exp $" ; 00031 00032 /* 00033 * $Id: bhole_binaire.C,v 1.3 2005/08/29 15:10:14 p_grandclement Exp $ 00034 * $Log: bhole_binaire.C,v $ 00035 * Revision 1.3 2005/08/29 15:10:14 p_grandclement 00036 * Addition of things needed : 00037 * 1) For BBH with different masses 00038 * 2) Provisory files for the mixted binaries (Bh and NS) : THIS IS NOT 00039 * WORKING YET !!! 00040 * 00041 * Revision 1.2 2002/10/16 14:36:32 j_novak 00042 * Reorganization of #include instructions of standard C++, in order to 00043 * use experimental version 3 of gcc. 00044 * 00045 * Revision 1.1.1.1 2001/11/20 15:19:28 e_gourgoulhon 00046 * LORENE 00047 * 00048 * Revision 2.46 2001/05/07 09:11:43 phil 00049 * *** empty log message *** 00050 * 00051 * Revision 2.45 2001/04/26 12:04:23 phil 00052 * *** empty log message *** 00053 * 00054 * Revision 2.44 2001/04/02 12:16:32 phil 00055 * *** empty log message *** 00056 * 00057 * Revision 2.43 2001/03/30 15:52:15 phil 00058 * y 00059 * 00060 * Revision 2.42 2001/03/22 10:43:05 phil 00061 * *** empty log message *** 00062 * 00063 * Revision 2.41 2001/03/01 08:17:43 phil 00064 * mets les procedures ailleurs 00065 * 00066 * Revision 2.40 2001/02/28 15:26:44 phil 00067 * correction dans construction source_deux 00068 * 00069 * Revision 2.39 2001/02/28 14:36:03 phil 00070 * modif etat_zero dans solve_shift 00071 * 00072 * Revision 2.38 2001/02/28 13:22:51 phil 00073 * vire kk_auto 00074 * 00075 * Revision 2.37 2001/02/12 15:37:29 phil 00076 * ajout calcul de J infini 00077 * 00078 * Revision 2.36 2001/01/29 14:30:26 phil 00079 * ajout type_rotation 00080 * 00081 * Revision 2.35 2001/01/22 09:29:23 phil 00082 * vire trucs sur bare masse 00083 * 00084 * Revision 2.34 2001/01/10 11:03:27 phil 00085 * utilisation de homothetie_interne dans fixe_bare 00086 * 00087 * Revision 2.33 2001/01/10 09:52:24 phil 00088 * correction de fait_kk_auto 00089 * 00090 * Revision 2.32 2001/01/10 09:31:41 phil 00091 * ajout de fait_kk_auto 00092 * 00093 * Revision 2.31 2001/01/09 13:38:42 phil 00094 * ajout membre kk_auto 00095 * 00096 * Revision 2.30 2001/01/04 10:53:44 phil 00097 * modification des sources pour tenir compte sommation 00098 * 00099 * Revision 2.29 2000/12/21 10:49:34 phil 00100 * retour a la version 2.27 00101 * 00102 * Revision 2.27 2000/12/20 10:43:14 phil 00103 * correction calcul de la distance propre 00104 * 00105 * Revision 2.26 2000/12/20 09:09:29 phil 00106 * modification calcul de la masse ADM 00107 * 00108 * Revision 2.25 2000/12/18 17:43:21 phil 00109 * correction homothetie 00110 * 00111 * Revision 2.24 2000/12/18 16:38:19 phil 00112 * ajout de convergence vers une masse donnee 00113 * 00114 * Revision 2.23 2000/12/15 16:44:20 phil 00115 * *** empty log message *** 00116 * 00117 * Revision 2.22 2000/12/15 16:41:17 phil 00118 * ajout calcul de la separation 00119 * 00120 * Revision 2.21 2000/12/14 15:13:02 phil 00121 * corection equation sur Psi 00122 * 00123 * Revision 2.20 2000/12/14 14:12:14 phil 00124 * correction cl sur Psi 00125 * 00126 * Revision 2.19 2000/12/14 12:41:41 phil 00127 * on met les bases dans les sources 00128 * 00129 * Revision 2.18 2000/12/14 10:53:18 phil 00130 * *** empty log message *** 00131 * 00132 * Revision 2.17 2000/12/14 10:45:11 phil 00133 * ATTENTION : PASSAGE DE PHI A PSI 00134 * 00135 * Revision 2.16 2000/12/13 15:35:32 phil 00136 * ajout calcul de bare_masse 00137 * 00138 * Revision 2.15 2000/12/04 14:30:00 phil 00139 * ajout de grad_n_tot 00140 * 00141 * Revision 2.14 2000/12/01 16:13:04 phil 00142 * *** empty log message *** 00143 * 00144 * Revision 2.13 2000/12/01 14:27:24 phil 00145 * *** empty log message *** 00146 * 00147 * Revision 2.12 2000/12/01 14:18:19 phil 00148 * *** empty log message *** 00149 * 00150 * Revision 2.11 2000/12/01 14:16:29 phil 00151 * ahout verifie_cl 00152 * 00153 * Revision 2.10 2000/11/24 11:05:16 phil 00154 * calcul moment foireux 00155 * 00156 * Revision 2.9 2000/11/24 09:57:46 phil 00157 * ajout calcul masse et moment pour systeme 00158 * 00159 * Revision 2.8 2000/11/15 18:26:53 phil 00160 * vire recherches de minimum 00161 * 00162 * Revision 2.7 2000/11/15 13:03:40 phil 00163 * *** empty log message *** 00164 * 00165 * Revision 2.6 2000/11/15 13:00:16 phil 00166 * changements diverses 00167 * 00168 * Revision 2.5 2000/10/26 09:01:26 phil 00169 * *** empty log message *** 00170 * 00171 * Revision 2.4 2000/10/26 08:25:24 phil 00172 * *** empty log message *** 00173 * 00174 * Revision 2.3 2000/10/26 08:21:04 phil 00175 * ajout de verifie_shift 00176 * 00177 * Revision 2.2 2000/10/24 13:38:36 phil 00178 * on ne resout qu une fois quand omega est bloque 00179 * 00180 * Revision 2.1 2000/10/23 09:24:43 phil 00181 * rearangement constructeurs. 00182 * 00183 * Revision 2.0 2000/10/20 09:19:20 phil 00184 * *** empty log message *** 00185 * 00186 * 00187 * $Header: /cvsroot/Lorene/C++/Source/Bhole_binaire/bhole_binaire.C,v 1.3 2005/08/29 15:10:14 p_grandclement Exp $ 00188 * 00189 */ 00190 00191 //standard 00192 #include <stdlib.h> 00193 #include <math.h> 00194 00195 // Lorene 00196 #include "nbr_spx.h" 00197 #include "tenseur.h" 00198 #include "bhole.h" 00199 #include "proto.h" 00200 #include "utilitaires.h" 00201 #include "graphique.h" 00202 00203 // Constucteur standard 00204 Bhole_binaire::Bhole_binaire (Map_af& mp1, Map_af& mp2) : 00205 hole1(mp1), hole2(mp2), pos_axe(mp1.get_ori_x()), omega(0){ 00206 00207 holes[0] = &hole1 ; 00208 holes[1] = &hole2 ; 00209 } 00210 00211 // Copy 00212 Bhole_binaire::Bhole_binaire (const Bhole_binaire& source) : 00213 hole1(source.hole1), hole2(source.hole2), pos_axe(source.pos_axe), omega(source.omega) { 00214 00215 holes[0] = &hole1 ; 00216 holes[1] = &hole2 ; 00217 } 00218 00219 Bhole_binaire::~Bhole_binaire () { 00220 } 00221 00222 //Affectation 00223 void Bhole_binaire::operator= (const Bhole_binaire& source) { 00224 hole1 = source.hole1 ; 00225 hole2 = source.hole2 ; 00226 00227 pos_axe = source.pos_axe ; 00228 omega = source.omega ; 00229 } 00230 00231 //Initialise : somme de deux statiques 00232 void Bhole_binaire::init_bhole_binaire() { 00233 set_omega (0) ; 00234 hole1.init_bhole() ; 00235 hole2.init_bhole() ; 00236 00237 hole1.fait_psi_comp(hole2) ; 00238 hole2.fait_psi_comp(hole1) ; 00239 00240 hole1.fait_n_comp(hole2) ; 00241 hole2.fait_n_comp(hole1) ; 00242 00243 fait_decouple() ; 00244 } 00245 00246 // Bouge axe : 00247 void Bhole_binaire::set_pos_axe (double new_pos) { 00248 00249 double distance_tot = hole1.mp.get_ori_x() - hole2.mp.get_ori_x() ; 00250 pos_axe = new_pos ; 00251 hole1.mp.set_ori(pos_axe, 0, 0) ; 00252 hole2.mp.set_ori(pos_axe-distance_tot, 0, 0) ; 00253 } 00254
1.4.6