op_sxm1.C

00001 /*
00002  *   Copyright (c) 1999-2001 Eric Gourgoulhon
00003  *   Copyright (c) 1999-2001 Philippe Grandclement
00004  *
00005  *   This file is part of LORENE.
00006  *
00007  *   LORENE is free software; you can redistribute it and/or modify
00008  *   it under the terms of the GNU General Public License as published by
00009  *   the Free Software Foundation; either version 2 of the License, or
00010  *   (at your option) any later version.
00011  *
00012  *   LORENE is distributed in the hope that it will be useful,
00013  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *   GNU General Public License for more details.
00016  *
00017  *   You should have received a copy of the GNU General Public License
00018  *   along with LORENE; if not, write to the Free Software
00019  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  *
00021  */
00022 
00023 
00024 char op_sxm1_C[] = "$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/op_sxm1.C,v 1.1.1.1 2001/11/20 15:19:29 e_gourgoulhon Exp $" ;
00025 
00026 /* 
00027  * Ensemble des routines de base pour l'operateur 1/(x-1) Id
00028  * (Utilisation interne)
00029  * 
00030  *  Prototype :
00031  *  ---------
00032  *  void _sxm1_XXXX(Tbl * tb, int& base)
00033  * 
00034  *  Entree/Sortie :
00035  *  -------------
00036  *  tb  pointeur sur le Tbl d'entree-sortie
00037  *
00038  *  Entree :
00039  *  ------
00040  *  base    base de travail
00041  * 
00042  */
00043 
00044 /*
00045  * $Id: op_sxm1.C,v 1.1.1.1 2001/11/20 15:19:29 e_gourgoulhon Exp $
00046  * $Log: op_sxm1.C,v $
00047  * Revision 1.1.1.1  2001/11/20 15:19:29  e_gourgoulhon
00048  * LORENE
00049  *
00050  * Revision 2.2  1999/11/15  16:39:47  eric
00051  * Tbl::dim est desormais un Dim_tbl et non plus un Dim_tbl*.
00052  *
00053  * Revision 2.1  1999/04/26  16:02:21  phil
00054  * changement commentaire (!)
00055  *
00056  * Revision 2.0  1999/04/26  15:54:52  phil
00057  * *** empty log message ***
00058  *
00059  *
00060  * $Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/op_sxm1.C,v 1.1.1.1 2001/11/20 15:19:29 e_gourgoulhon Exp $
00061  *
00062  */
00063 
00064 //Lorene
00065 #include "tbl.h"
00066 
00067 // Prototypage
00068 #include "proto.h"
00069 
00070         //-----------------------------------
00071         // Routine qui ne fait rien    --
00072         //-----------------------------------
00073 
00074 void _sxm1_identite(Tbl * , int& ) {
00075     return ; 
00076 }
00077 
00078             //-------------------------
00079             // cas R_CHEB et R_CHEBU --
00080             //-------------------------
00081 
00082 void _sxm1_cheb(Tbl* tb, int&)
00083 {
00084 
00085     // Peut-etre rien a faire ?
00086     if (tb->get_etat() == ETATZERO) {
00087     return ;
00088     }
00089     
00090     // Pour le confort
00091     int nr = (tb->dim).dim[0] ;     // Nombre
00092     int nt = (tb->dim).dim[1] ;     //   de points
00093     int np = (tb->dim).dim[2] ;     //      physiques REELS
00094     np = np - 2 ;           // Nombre de points physiques
00095     
00096     int ntnr = nt*nr ; 
00097     
00098     int k, j ; 
00099     for (k=0 ; k<np+1 ; k++) {
00100     if (k==1) continue ;    // On ne traite pas le coefficient de sin(0*phi) 
00101     for (j=0 ; j<nt ; j++) {
00102     
00103         double* cf = tb->t + k*ntnr + j*nr ;
00104         
00105         sxm1_1d_cheb(nr, cf) ;  // division par (x-1)
00106 
00107         
00108     }   // Fin de la boucle sur theta
00109     }   // Fin de la boucle sur phi
00110     
00111     
00112     // base de developpement
00113     // inchangee
00114 }

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