type_parite.h

00001 /*
00002  *  Lorene's macros
00003  *
00004  */
00005 
00006 /*
00007  *   Copyright (c) 1999-2000 Jean-Alain Marck
00008  *   Copyright (c) 1999-2001 Eric Gourgoulhon
00009  *   Copyright (c) 2000-2003 Jerome Novak
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 #ifndef __TYPE_PARITE_H_
00031 #define __TYPE_PARITE_H_
00032 
00033 /*
00034  * Constantes utilisees dans les types de grilles et les parites
00035  */
00036 
00037 /*
00038  * $Id: type_parite.h,v 1.12 2012/01/17 15:06:54 j_penner Exp $
00039  * $Log: type_parite.h,v $
00040  * Revision 1.12  2012/01/17 15:06:54  j_penner
00041  * Added a definition for MAX_BASE_2 for the phi coordinate and possible higher dimensions
00042  *
00043  * Revision 1.11  2012/01/17 10:12:54  j_penner
00044  * modified phi mask MSQ_P to index using only one hex value
00045  *
00046  * Revision 1.10  2009/10/23 12:55:46  j_novak
00047  * New base T_LEG_MI
00048  *
00049  * Revision 1.9  2009/10/08 16:19:32  j_novak
00050  * Addition of new bases T_COS and T_SIN.
00051  *
00052  * Revision 1.8  2008/10/17 10:48:28  j_novak
00053  * Increase of the macro MAX_DAL
00054  *
00055  * Revision 1.7  2007/12/11 15:28:05  jl_cornou
00056  * Jacobi(0,2) polynomials partially implemented
00057  *
00058  * Revision 1.6  2004/11/04 15:40:14  e_gourgoulhon
00059  * Added definition of symbol T_LEG.
00060  *
00061  * Revision 1.5  2004/08/24 09:14:40  p_grandclement
00062  * Addition of some new operators, like Poisson in 2d... It now requieres the
00063  * GSL library to work.
00064  *
00065  * Also, the way a variable change is stored by a Param_elliptic is changed and
00066  * no longer uses Change_var but rather 2 Scalars. The codes using that feature
00067  * will requiere some modification. (It should concern only the ones about monopoles)
00068  *
00069  * Revision 1.4  2004/03/22 13:12:43  j_novak
00070  * Modification of comments to use doxygen instead of doc++
00071  *
00072  * Revision 1.3  2003/09/16 08:53:05  j_novak
00073  * Addition of the T_LEG_II base (odd in theta, only for odd m) and the
00074  * transformation functions from and to T_SIN_P.
00075  *
00076  * Revision 1.2  2002/03/07 15:41:12  n_chamel
00077  * New class for dealing with Cartesian grids
00078  * Added the sampling type UNIFORM in type_parite.h
00079  *
00080  * Revision 1.1.1.1  2001/11/20 15:19:27  e_gourgoulhon
00081  * LORENE
00082  *
00083  * Revision 2.3  2000/12/04  13:09:55  novak
00084  * Added constants for the dalembertian
00085  *
00086  * Revision 2.2  2000/09/28 08:55:52  eric
00087  * Ajout de T_LEG_IP et T_LEG_PI.
00088  *
00089  * Revision 2.1  1999/10/01  15:22:13  eric
00090  * Vire les jacobiennes.
00091  *
00092  * Revision 2.0  1999/02/15  10:41:51  hyc
00093  * *** empty log message ***
00094  *
00095  * $Header: /cvsroot/Lorene/C++/Include/type_parite.h,v 1.12 2012/01/17 15:06:54 j_penner Exp $
00096  *
00097  */
00104 /* Etat des tbl et autres */
00105 /* ---------------------- */
00106 #define     ETATZERO        0
00107 #define     ETATUN      1
00108 #define     ETATQCQ     2
00109 #define     ETATNONDEF      3
00110 
00111 /* Uniform sampling on a Cartesian grid */
00112 #define         UNIFORM         3
00113 
00114 /* Echantillonage fin en r */
00115 /* ----------------------- */
00116 #define     RARE    1
00117 #define     FIN     0
00118 #define     UNSURR  2
00119 #define     FINJAC  3
00120 
00121 /* Symetries en theta */
00122 /* ------------------ */
00123 #define     SYM     1
00124 #define     NONSYM  0
00125 
00126 /* Les bases de developement */
00127 /* ------------------------- */
00129 #define     MAX_BASE    32      
00130 
00131 #define     MAX_BASE_2  16
00132 
00133     /* Divers (masques, nulls,...) */
00135 #define     NONDEF  0x00000000  
00136 
00137 #define     MSQ_R   0x000000ff  
00138 
00139 #define     MSQ_T   0x0000ff00  
00140 
00141 #define     MSQ_P   0x000f0000//0x00ff0000  <- was this
00142 
00143 #define     TRA_R   0       
00144 
00145 #define     TRA_T   8       
00146 
00147 #define     TRA_P   16      
00148 
00149     /* R */
00151 #define     R_CHEB  0x00000001  
00152 
00153 #define     R_CHEBP 0x00000002  
00154 
00155 #define     R_CHEBI 0x00000003  
00156 
00157 #define     R_CHEBPI_P  0x00000004  
00158 
00159 #define     R_CHEBPI_I  0x00000005  
00160 
00161 #define     R_CHEBPIM_P 0x00000006  
00162 
00163 #define     R_CHEBPIM_I 0x00000007  
00164 
00165 #define     R_CHEBU 0x00000008  
00166 
00167 #define     R_RLCHEB_PP 0x00000009  
00168 
00169 #define     R_RLCHEB_P  0x0000000a  
00170 
00171 #define     R_JACO02    0x0000000b
00172 
00173     /* Theta */
00175 #define     T_COSSIN_C  0x00000100  
00176 
00177 #define     T_COSSIN_S  0x00000200  
00178 
00179 #define     T_COS   0x00000300  
00180 
00181 #define     T_SIN   0x00000400  
00182 
00183 #define     T_COS_P 0x00000500  
00184 
00185 #define     T_SIN_P 0x00000600  
00186 
00187 #define     T_COS_I 0x00000700  
00188 
00189 #define     T_SIN_I 0x00000800  
00190 
00191 #define     T_COSSIN_CP 0x00000900  
00192 
00193 #define     T_COSSIN_SP 0x00000a00  
00194 
00195 #define     T_COSSIN_CI 0x00000b00  
00196 
00197 #define     T_COSSIN_SI 0x00000c00  
00198 
00199 #define     T_LEG_P 0x00000d00  
00200 
00201 #define     T_LEG_PP    0x00000e00  
00202 
00203 #define     T_LEG_I 0x00000f00  
00204 
00205 #define     T_LEG_IP    0x00001000  
00206 
00207 #define     T_LEG_PI    0x00001100  
00208 
00209 #define     T_LEG_II    0x00001200  
00210 
00211 #define T_CL_COS_P 0x00001300
00212 
00213 #define T_CL_SIN_P 0x00001400
00214 
00215 #define T_CL_COS_I 0x00001500
00216 
00217 #define T_CL_SIN_I 0x00001600
00218 
00219 #define T_LEG 0x00001700
00220 
00221 #define T_LEG_MP 0x00001800
00222 
00223 #define T_LEG_MI 0x00001900
00224 
00225 
00226     /* Phi */
00228 #define     P_COSSIN    0x00010000  
00229 
00230 #define     P_COSSIN_P  0x00020000  
00231 
00232 #define     P_COSSIN_I  0x00030000  
00233 
00234 #define     P_COS   0x00040000  
00235 
00236 #define     P_SIN   0x00050000  
00237 
00238 
00239 /************/
00240 /* Type EOS */
00241 /************/
00243 #define     POLYTROPE       0x000000001 
00244 
00245 #define     INCOMP      0x000000002 
00246 
00247 #define     POLYTROPE_NEWT  0x000000003 
00248 
00249 #define     INCOMP_NEWT     0x000000004 
00250 
00251 /*******************************/
00252 /* Type operateur dalembertien */
00253 /* (uniquement pour le noyau   */
00254 /*       pour l'instant)       */
00255 /*******************************/
00257 #define     MAX_DAL       32           
00258 
00259 #define     ORDRE1_SMALL  0x000000001 
00260 
00261 #define     ORDRE1_LARGE  0x000000002 
00262 
00263 #define     O2DEGE_SMALL  0x000000003 
00264 
00265 #define     O2DEGE_LARGE  0x000000004 
00266 
00267 #define     O2NOND_SMALL  0x000000005 
00268 
00269 #define     O2NOND_LARGE  0x000000006 
00270 
00271 #endif

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