00001 // copyright by benedikt oswald, all rights reserved, 2002-2006. 00002 // project - aqhdes2003 00003 // file name - idiscretization.h 00004 // file type - C include file 00005 // objective - this is the VERY connection between the PDE and its 00006 // objective - discretized approximated formulation 00007 // objective - implement the functions to discretized the Galerkin 00008 // objective - form of the curl-curl equation 00009 // creation - 2003 jun 11 ~ 11:26:00 by benedikt oswald - structure from ediscretization.c 00010 // modified - 2003 jun 11 ~ 00:00:00 by benedikt oswald - 00011 // required software - UG 3.1 or higher 00012 // rights for UG - cf. paper by Bastian et al., 1997 00013 // file id - 00014 // inheritance - ediscretization.c 00015 // feature - implements the functions to discretized the Galerkin 00016 // feature - form of the curl-curl equation, cf. paper by 00017 // feature - J. F. Lee, IEEE Microwave and Guided Wave Letters, 00018 // feature - Vol. 4(1), January, 1994, pp. 11-13. 00019 00020 /****************************************************************************/ 00021 /* */ 00022 /* auto include mechanism and other include files */ 00023 /* */ 00024 /****************************************************************************/ 00025 00026 #ifndef __DISC__ 00027 #define __DISC__ 00028 00029 #ifndef __COMPILER__ 00030 #include "compiler.h" 00031 #endif 00032 #ifndef __GM__ 00033 #include "gm.h" 00034 #endif 00035 00036 // include UG header files 00037 #include "gm.h" /* for data structure */ 00038 #include "ugstruct.h" /* for GetStringValue */ 00039 #include "misc.h" /* for MIN, MAX, PI, ... */ 00040 #include "ugdevices.h" /* for UserWrite, PrintErrorMessage */ 00041 #include "commands.h" /* for GetCurrentMultigrid */ 00042 #include "cmdint.h" /* for CreateCommand */ 00043 #include "cmdint.h" /* for CreateCommand */ 00044 #include "cmdline.h" /* for command line processing */ 00045 #include "general.h" /* general includes */ 00046 #include "np.h" /* for NUMPROC implementation */ 00047 #include "assemble.h" /* for CreateCLASS implementation */ 00048 #include "compiler.h" 00049 #include "namespace.h" 00050 00051 00052 // proprietary includes 00053 #include "aqhdMaterials.h" /* get system parameters from standard include file */ 00054 #include "disconst.h" 00055 #include "whitney.h" 00056 #include "itdi.h" 00057 00058 00059 USING_UG_NAMESPACE 00060 USING_UGDIM_NAMESPACE 00061 00062 /****************************************************************************/ 00063 /* */ 00064 /* defines in the following order */ 00065 /* */ 00066 /* compile time constants defining static data size (i.e. arrays) */ 00067 /* other constants */ 00068 /* macros */ 00069 /* */ 00070 /****************************************************************************/ 00071 00072 /* 00073 defines the indices of the entries into the global matrix structures in UG, 00074 (i) there is only one circulation matrix (ii) and there are two material 00075 property matrices, one for the dielectic and one for the magnetic properties. 00076 */ 00077 00078 #define CMCOMP 0 00079 #define ADIELCOMP 0 00080 #define AMAGNCOMP 0 00081 00082 /****************************************************************************/ 00083 /* */ 00084 /* data structures exported by the corresponding source file */ 00085 /* */ 00086 /****************************************************************************/ 00087 00088 /****************************************************************************/ 00089 /* */ 00090 /* definition of exported global variables */ 00091 /* */ 00092 /****************************************************************************/ 00093 00094 00095 /****************************************************************************/ 00096 /* */ 00097 /* function declarations */ 00098 /* */ 00099 /****************************************************************************/ 00100 00101 INT AssembleTetrahedronPEC(NP_BASE *base, 00102 ELEMENT *t, 00103 INT argc, 00104 char** argv); 00105 00106 #endif