00001 // copyright by benedikt oswald, all rights reserved, 2002-2006. 00002 // project - aqhdes2003 00003 // file name - disconst.h 00004 // file type - C include file 00005 // objective - define constants and macros used in discretization 00006 // creation - 2003 feb 19 ~ 0954 by benedikt oswald 00007 // modified - 00008 // required software - UG 3.1 or higher 00009 // rights for UG - cf. paper by Bastian et al., 1997 00010 // file id - 00011 // inheritance - 00012 // feature - this include file deines constants and macros that are 00013 // feature - both used in the discretization and Whitney element 00014 // feature - calculation in the assembly process 00015 00016 /****************************************************************************/ 00017 /* */ 00018 /* auto include mechanism and other include files */ 00019 /* */ 00020 /****************************************************************************/ 00021 00022 #ifndef __DISCONST__ 00023 #define __DISCONST__ 00024 00025 #ifndef __COMPILER__ 00026 #include "compiler.h" 00027 #endif 00028 #ifndef __GM__ 00029 #include "gm.h" 00030 #endif 00031 00032 /****************************************************************************/ 00033 /* */ 00034 /* defines in the following order */ 00035 /* */ 00036 /* compile time constants defining static data size (i.e. arrays) */ 00037 /* other constants */ 00038 /* macros */ 00039 /* */ 00040 /****************************************************************************/ 00041 00042 #define FE_OK 0 00043 #define FE_NOT_TRIANGLE 1 00044 #define FE_NO_CONNECTION 2 00045 #define FE_BAD_TRAFO 3 00046 #define FE_NOT_TETRAHEDRON 4 00047 #define FE_BAD_FORMAT 5 00048 #define FE_BAD_SYMBOL 6 00049 00050 /* boundary conditions used in computational electrodynamics */ 00051 #define INTERIOR_PEC 0 /* indicates interior boundary */ 00052 #define INTERIOR_PMC 1 00053 #define EXTERIOR_PEC 2 00054 #define EXTERIOR_PMC 3 00055 #define EXTERIOR_ABC 4 00056 #define EXTERIOR_PML 5 /* indicates natural boundary conditions */ 00057 00058 /* constants valid for the geometric object tetrahedron used for tesselation */ 00059 #define TETNC 4 /* a tetrahedron has 4 corners */ 00060 #define TETNE 6 /* a tetrahedron has 6 edges */ 00061 #define TETNF 4 /* a tetrahedron has 4 facets */ 00062 00063 /* order of Gaussian quadrature used in discretization of PDE system */ 00064 #define GQORDR 5 00065 00066 /****************************************************************************/ 00067 /* */ 00068 /* data structures exported by the corresponding source file */ 00069 /* */ 00070 /****************************************************************************/ 00071 00072 /****************************************************************************/ 00073 /* */ 00074 /* definition of exported global variables */ 00075 /* */ 00076 /****************************************************************************/ 00077 00078 /****************************************************************************/ 00079 /* */ 00080 /* function declarations */ 00081 /* */ 00082 /****************************************************************************/ 00083 00084 #endif