00001 /* 00002 * Method Etoile_rot::update_metric 00003 * 00004 * (see file etoile.h for documentation) 00005 * 00006 */ 00007 00008 /* 00009 * Copyright (c) 2000-2001 Eric Gourgoulhon 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 et_rot_upmetr_C[] = "$Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_upmetr.C,v 1.2 2004/10/11 15:09:02 j_novak Exp $" ; 00031 00032 /* 00033 * $Id: et_rot_upmetr.C,v 1.2 2004/10/11 15:09:02 j_novak Exp $ 00034 * $Log: et_rot_upmetr.C,v $ 00035 * Revision 1.2 2004/10/11 15:09:02 j_novak 00036 * The radial manipulation functions take Scalar as arguments, instead of Cmp. 00037 * Added a conversion operator from Scalar to Cmp. 00038 * The Cmp radial manipulation function make conversion to Scalar, call to the 00039 * Map_radial version with a Scalar argument and back. 00040 * 00041 * Revision 1.1.1.1 2001/11/20 15:19:28 e_gourgoulhon 00042 * LORENE 00043 * 00044 * Revision 2.4 2001/01/25 13:01:28 eric 00045 * Appel de set_std_base() sur bbb et b_car. 00046 * 00047 * Revision 2.3 2000/11/20 21:43:08 eric 00048 * Ajout de bbb.set_etat_qcq() avant bbb.set(). 00049 * 00050 * Revision 1.2 2000/09/18 16:15:52 eric 00051 * *** empty log message *** 00052 * 00053 * Revision 1.1 2000/07/20 15:33:06 eric 00054 * Initial revision 00055 * 00056 * 00057 * $Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_upmetr.C,v 1.2 2004/10/11 15:09:02 j_novak Exp $ 00058 * 00059 */ 00060 00061 // Headers Lorene 00062 #include "etoile.h" 00063 00064 00065 void Etoile_rot::update_metric() { 00066 00067 // Lapse function N 00068 // ---------------- 00069 00070 nnn = exp( unsurc2 * logn ) ; 00071 00072 nnn.set_std_base() ; // set the bases for spectral expansions 00073 00074 00075 // Metric factor A^2 00076 // ----------------- 00077 00078 a_car = exp( 2*unsurc2*( dzeta - logn ) ) ; 00079 00080 a_car.set_std_base() ; // set the bases for spectral expansions 00081 00082 // Metric factor B 00083 // --------------- 00084 00085 Cmp tmp = tggg() ; 00086 tmp.div_rsint() ; //... Division of tG by r sin(theta) 00087 00088 bbb.set_etat_qcq() ; 00089 bbb.set() = tmp ; 00090 bbb = (bbb + 1) / nnn ; 00091 00092 bbb.set_std_base() ; // set the bases for spectral expansions 00093 00094 // Metric factor B^2 00095 // ----------------- 00096 00097 b_car = bbb * bbb ; 00098 00099 b_car.set_std_base() ; // set the bases for spectral expansions 00100 00101 // Tensor B^{-2} K_{ij} and Scalar A^2 K_{ij} K^{ij} 00102 // ------------------------------------------------- 00103 00104 extrinsic_curvature() ; 00105 00106 00107 // The derived quantities are no longer up to date : 00108 // ----------------------------------------------- 00109 00110 del_deriv() ; 00111 00112 }
1.4.6