00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef __OFELI_CONFIG_H
00034 #define __OFELI_CONFIG_H
00035
00036 #ifdef HAVE_CONFIG_H
00037 #include <config.h>
00038 #endif
00039
00040 #include <complex>
00041 #include "OFELI_Const.h"
00042 #include "MemTrack.h"
00043 #include "fparser.h"
00044
00056 #define OFELI_VERSION "1.6.0"
00057
00062 #define OFELI_RELEASE_DATE "10-2008"
00063
00064
00065 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00066 #define XGRAPH_ 0
00067 #define GET_FROM_VDF 1
00068 #define GET_FROM_FDF 2
00069 #endif
00070
00076 #define GRAPH_MEMORY 1000000
00077
00083 #define MAX_NB_EQUATIONS 5
00084
00090 #define MAX_NB_INPUT_FIELDS 3
00091
00097 #define MAX_NB_MESHES 10
00098
00104 #define MAX_NB_SUBMESHES 500
00105
00111 #define MAX_NB_ELEMENTS_BY_PACK 100000
00112
00118 #define MAX_NB_NODES_BY_PACK 300000
00119
00125 #define MAX_NB_SIDES_BY_PACK 300000
00126
00133 #define MAX_NB_EDGES_BY_PACK 100000
00134
00139 #define MAX_NB_SIDES 1000000
00140
00145 #define MAX_NB_EDGES 5000000
00146
00151 #define MAX_NBDOF_NODE 6
00152
00157 #define MAX_NBDOF_SIDE 6
00158
00163 #define MAX_NBDOF_EDGE 2
00164
00169 #define MAX_NB_ELEMENT_NODES 20
00170
00175 #define MAX_NB_ELEMENT_EDGES 10
00176
00181 #define MAX_NB_SIDE_NODES 9
00182
00187 #define MAX_NB_ELEMENT_SIDES 8
00188
00193 #define MAX_NB_VERTICES 50
00194
00200 #define MAX_NB_HOLES 10
00201
00207 #define MAX_NB_LINES 200
00208
00214 #define MAX_NB_LINE_NODES 1000
00215
00221 #define MAX_NB_CONT_LINES 50
00222
00228 #define MAX_NB_SUB_DOMAINS 5
00229
00234 #define MAX_NB_MATERIALS 10
00235
00241 #define MAX_NB_PAR 50
00242
00247 #define MAX_INPUT_STRING_LENGTH 100
00248
00253 #define FILENAME_LENGTH 150
00254
00255 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00256
00257 #define XGRAPH_ 0
00258 #endif
00259
00260 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00262 #define ANY 123.45678901e05
00263 #endif
00264
00268 enum FieldName {
00269 TEMPERATURE = 100,
00270 DISPLACEMENT = 101,
00271 VELOCITY = 102,
00272 PRESSURE = 103,
00273 ELECTRIC_FIELD = 104,
00274 MAGNETIC_FIELD = 105,
00275 POTENTIAL = 106,
00276 CONCENTRATION = 107,
00277 STRESS = 108
00278 };
00279
00283 enum {
00284 NODE_FIELD = 0,
00285 ELEMENT_FIELD = 1,
00286 SIDE_FIELD = 2,
00287 EDGE_FIELD = 3
00288 };
00289
00290
00291 #define PATH_MATERIAL_WIN "c:\\Program Files\\ofeli\\material"
00292 #ifdef WIN32
00293 #define PATH_MATERIAL "c:\\Program Files\\ofeli\\material"
00294 #else
00295 #include "datadir.h"
00296 #endif
00297
00298
00299 #if defined(_MSC_VER) && !defined(__MWERKS__)
00300 #define _MSVCPP_ _MSC_VER
00301 #endif
00302
00303 #if defined ( OFELI_COMPILED_WITH_DEBUGGING_ )
00304 #define _DEBUG
00305 #endif
00306
00307 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00308 #define OFELI_CONJ std::conj
00309 #define OFELI_ABS std::abs
00310 #endif
00311
00312 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00313 #if defined ( _MSVCPP_ )
00314 #define max(X,Y) (X > Y ? X : Y)
00315 #define min(X,Y) (X < Y ? X : Y)
00316 #endif
00317 #endif
00318
00319
00324 typedef unsigned long lsize_t;
00325
00330 typedef double real_t;
00331
00336 typedef std::complex<double> complex_t;
00337
00338 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00339 #ifdef WIN32
00340 #define PATH_SEP "\\";
00341 #else
00342 #define PATH_SEP "/";
00343 #endif
00344 #endif
00345
00346 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00347 #define MATERIAL_EXT ".md"
00348 #define MATERIAL_XML_EXT "-mat.xml"
00349 #endif
00350
00351 #endif