bhole_binaire.C

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 

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