00001 // copyright by benedikt oswald, all rights reserved, 2002-2006. 00002 // rights - universitas ruperto carola heidelbergensis 00003 // project - aqhdes2003 00004 // file name - abc1stdisc.h 00005 // file type - C include file 00006 // objective - implement the functions to discretized the Galerkin 00007 // objective - form of the curl-curl equation 00008 // creation - 2004 jan 28 ~ 20:00:00 by benedikt oswald 00009 // modified - 2003 jun 11 ~ 00:00:01 by benedikt oswald 00010 // required software - UG 3.1 or higher 00011 // rights for UG - cf. paper by Bastian et al., 1997 00012 // file id - 00013 // inheritance - idiscretization.h 00014 // feature - implements the functions to discretize the Galerkin 00015 // feature - form of the curl-curl equation, cf. Jianming Jin's 00016 // feature - book on finite elements in computational electromagnetics, 00017 // feature - pp. 530ff, for the electric field; 00018 00019 /****************************************************************************/ 00020 /* */ 00021 /* auto include mechanism and other include files */ 00022 /* */ 00023 /****************************************************************************/ 00024 00025 #ifndef __DISC__ 00026 #define __DISC__ 00027 00028 #ifndef __COMPILER__ 00029 #include "compiler.h" 00030 #endif 00031 #ifndef __GM__ 00032 #include "gm.h" 00033 #endif 00034 00035 // include standard C header files 00036 #include <math.h> 00037 #include <stdlib.h> 00038 #include <stdio.h> 00039 #include <string.h> 00040 00041 // include UG header files 00042 #include "gm.h" /* for data structure */ 00043 #include "ugstruct.h" /* for GetStringValue */ 00044 #include "misc.h" /* for MIN, MAX, PI, ... */ 00045 #include "ugdevices.h" /* for UserWrite, PrintErrorMessage */ 00046 #include "commands.h" /* for GetCurrentMultigrid */ 00047 #include "cmdint.h" /* for CreateCommand */ 00048 #include "cmdint.h" /* for CreateCommand */ 00049 #include "cmdline.h" /* for command line processing */ 00050 #include "general.h" /* general includes */ 00051 #include "np.h" /* for NUMPROC implementation */ 00052 #include "assemble.h" /* for CreateCLASS implementation */ 00053 #include "quadrature.h" /* for Gaussian quadrature formulas */ 00054 #include "shapes.h" /* for macro CORNER_COORDINATES */ 00055 #include "compiler.h" 00056 #include "namespace.h" 00057 00058 // include proprietary header files 00059 #include "aqhdMaterials.h" 00060 #include "disconst.h" 00061 #include "whitney.h" 00062 #include "abc1st.h" 00063 00064 00065 #ifdef HAVE_RLOG 00066 /* Include the files for rlog. */ 00067 #include <rlog/rlog.h> 00068 #include <rlog/rloglocation.h> 00069 #include <rlog/Error.h> 00070 #include <rlog/RLogChannel.h> 00071 #include <rlog/StdioNode.h> 00072 // Include this if you want to log the time. 00073 #include <rlog/RLogTime.h> 00074 #endif // HAVE_RLOG 00075 00076 using namespace rlog; 00077 00078 00079 /****************************************************************************/ 00080 /* */ 00081 /* defines in the following order */ 00082 /* */ 00083 /* compile time constants defining static data size (i.e. arrays) */ 00084 /* other constants */ 00085 /* macros */ 00086 /* */ 00087 /****************************************************************************/ 00088 00089 /****************************************************************************/ 00090 /* */ 00091 /* data structures exported by the corresponding source file */ 00092 /* */ 00093 /****************************************************************************/ 00094 00095 /****************************************************************************/ 00096 /* */ 00097 /* definition of exported global variables */ 00098 /* */ 00099 /****************************************************************************/ 00100 00101 00102 /****************************************************************************/ 00103 /* */ 00104 /* function declarations */ 00105 /* */ 00106 /****************************************************************************/ 00107 00108 INT AssembleABC1stTetrahedron(NP_BASE *base, 00109 ELEMENT *t, 00110 INT argc, 00111 char** argv); 00112 00113 #endif