src/expde/paramete.h

Go to the documentation of this file.
00001 //    expde: expression templates for partial differential equations.
00002 //    Copyright (C) 2001  Christoph Pflaum
00003 //    This program is free software; you can redistribute it and/or modify
00004 //    it under the terms of the GNU General Public License as published by
00005 //    the Free Software Foundation; either version 2 of the License, or
00006 //    (at your option) any later version.
00007 //
00008 //    This program is distributed in the hope that it will be useful,
00009 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011 //    GNU General Public License for more details.
00012 //
00013 //                 SEE  Notice1.doc made by 
00014 //                 LAWRENCE LIVERMORE NATIONAL LABORATORY
00015 //
00016 
00017 // ------------------------------------------------------------
00018 //
00019 //  First parameter file: parameter.h
00020 //
00021 // ------------------------------------------------------------
00022 
00023 #ifndef PARAMETER_H_
00024 #define PARAMETER_H_     
00025 
00026 #ifdef COMP_GNUOLD
00027 
00028 #else
00029  using std::cout;
00030  using std::endl;
00031 #endif 
00032          
00033 
00034 // For largest problems we need long long
00035 // to index the grid points
00036 #define long_int long long
00037 // #define long_int int
00038               
00039 // Some compilers need these definitions
00040 //#define bool  char
00041 //#define true  1
00042 //#define false 0
00043 
00044 
00045 // Choose one: MG restriction operator 
00046 //             coefficients stored or not
00047 // Similar implementation for prolongation operators is missing
00048 #define mg_coefficients false
00049 // #define mg_coefficients true
00050 
00051 
00052 // maximale number of levels:
00053 //----------------------------
00054 #define Max_number_levels 20
00055 
00056 
00057 // developer version with    error messages (slow) oder
00058 // working   version without error messages (fast)
00059 //----------------------------
00060 //#define developer_version true
00061 #define developer_version false
00062 
00063 
00064 // multilevel variable? yes-no
00065 //------------------------------
00066 // no multilevel variable
00067 // #define Parameter_MG_Variable 0
00068 // with multilevel variable
00069 #define Parameter_MG_Variable ebene
00070 
00071 
00072 // size of hash tables
00073 //--------------------------------
00074 // start size of  hash table 0
00075 #define hashtable0_lenght 300000
00076 
00077 // factor for size of hash tables
00078 #define Factor_hashtable0_lenght 2
00079 #define Factor_hashtable1_lenght 2
00080 #define Factor_hashtable2_lenght 2
00081 #define Factor_hashtable3_lenght 2
00082 #define Factor_hashtable4_lenght 1
00083 
00084 #define Factor_hashtable_indices_lenght 2
00085 
00086 
00087 // tolerance in domain.h
00088 //-----------------------------
00089 #define domain_eps 0.000000001
00090 
00091 // parameters for boundary labels:
00092 //------------------------------------
00093 // a) shift in test of point is marked
00094 #define shift_eps 0.001
00095 // b) epsilon for v(p) > 0.0
00096 #define eps_boundary_var 0.001
00097 
00098 // factor for minimal and maximal distance to the boundary
00099 //---------------------------------------------------------
00100 #define factor_boundary_dis 0.3
00101 
00102 // offset for surrounded square
00103 //-----------------------------------
00104 #define standard_offset_square 0.5132455
00105 #define standard_stretch_square 1.00143
00106 // #define standard_stretch_square 1.0
00107 
00108 // standard parameter for parallelization
00109 //----------------------------------------
00110 #define standard_r_parallel 2
00111 
00112 // #define standard_offset_square 0
00113 // #define standard_stretch_square 1.0
00114 
00115 // for boundary labels
00116 //---------------------
00117 #define TypLabel int           // type of storage
00118 #define Max_label_number 30    // maximal number of boundary labels
00119 
00120 
00121 // for finding bug in Tetraeder construction
00122 //-------------------------------------------
00123 #define Print_wrong_Tet false       
00124 //#define Print_wrong_Tet true
00125 
00126 // to make the bounding cube a bit larger in sca_dom.cc
00127 //-----------------------------------------------------
00128 #define Bounding_cube_enlargement 1.1
00129 
00130 
00131 // Print status of grid generator
00132 //-----------------------------------------------------
00133 #define print_status_of_grid_generator false
00134 //#define print_status_of_grid_generator true
00135 
00136 // For grid generator
00137 //-----------------------------------------------------
00138 //#define pre_check_box_grid_generation false
00139 #define pre_check_box_grid_generation true
00140 
00141 
00142 
00143 // Tell about round off problems in subdivision of boundary cells
00144 // such problems can only appear in the parallel version
00145 //----------------------------------------------------------------
00146 #define tell_round_off_problem false
00147 //#define tell_round_off_problem true
00148 #define eps_round_off_problem 0.000000000000000001
00149 
00150 // Set periodic data structure for 
00151 // periodic boundary conditions
00152 // #define PERIODIC true
00153 #endif
00154           

Generated on Mon Jan 16 13:23:42 2006 for IPPL by  doxygen 1.4.6