00001 // copyright by benedikt oswald, all rights reserved, 2002-2006. 00002 // project - aqhdes2003 00003 // file name - basefunt.c 00004 // file type - C include file 00005 // objective - implement NUMRPOC for testing base functions 00006 // modified - 2004 aug 02, creation 00007 // modified - 00008 // required software - UG 3.1 or higher 00009 // inheritance - based on slocf.c 00010 // feature - provide NUMPROC for testing the finite element base functions 00011 // feature - implemented in aqhdes3D 00012 00013 00014 /****************************************************************************/ 00015 /* */ 00016 /* include files */ 00017 /* system include files */ 00018 /* application include files */ 00019 /* */ 00020 /****************************************************************************/ 00021 00022 #ifndef __BASEFUNT__ 00023 #define __BASEFUNT__ 00024 00025 // include standard header files 00026 #include <math.h> 00027 #include <stdlib.h> 00028 #include <stdio.h> 00029 #include <string.h> 00030 #include <time.h> 00031 00032 // include UG header files 00033 #include "gm.h" /* for data structure */ 00034 #include "ugstruct.h" /* for GetStringValue */ 00035 #include "misc.h" /* for MIN, MAX, PI, ... */ 00036 #include "ugdevices.h" /* for UserWrite, PrintErrorMessage */ 00037 #include "commands.h" /* for GetCurrentMultigrid */ 00038 #include "cmdint.h" /* for CreateCommand */ 00039 #include "cmdint.h" /* for CreateCommand */ 00040 #include "cmdline.h" /* for command line processing */ 00041 #include "general.h" /* for general desclarations */ 00042 #include "np.h" /* for NUMPROC implementation */ 00043 #include "assemble.h" /* for CreateCLASS implementation */ 00044 #include "pfile.h" /* header file for parallel file access */ 00045 #include "parallel.h" /* include parallel support */ 00046 00047 // include proprietary header files 00048 #include "disconst.h" /* discretization parameters */ 00049 #include "whitney.h" /* get base function stuff */ 00050 #include "aqhdSysParams.h" /* get system parameters from standard include file */ 00051 #include "aqhdReleaseInfo.h" /* get release information */ 00052 #include "aqhdPhysicoMath.h" /* get release information */ 00053 00054 /****************************************************************************/ 00055 /* */ 00056 /* defines in the following order */ 00057 /* */ 00058 /* compile time constants defining static data size (i.e. arrays) */ 00059 /* other constants */ 00060 /* macros */ 00061 /* */ 00062 /****************************************************************************/ 00063 00064 #define T_BASET_CLASS_NAME "basetclass" 00065 00066 /****************************************************************************/ 00067 /* */ 00068 /* data structures used in this source file (exported data structures are */ 00069 /* in the corresponding include file!) */ 00070 /* */ 00071 /****************************************************************************/ 00072 00073 /* declare NUMPROC class and methods for 'NP_BASET' */ 00074 00075 typedef struct 00076 { 00077 NP_BASE base; // inherits base class 00078 00079 INT fl; // from level with respect to multigrid 00080 INT tl; // to level with respect to multigrid 00081 00082 INT nsloclc; // number of sampling locations per local coordinate 00083 INT totnsloclc; // total number of sampling locations 00084 00085 DOUBLE elempos[DIM]; // location by which element is selected 00086 00087 char basetfnbase[MAX_NUM_CHAR_FILENAME]; // base filename of basefunt NUMPROC output files 00088 00089 INT (*PreProcess)(NP_BASE *base, INT, char**); // pointer to PreProcessing function 00090 INT (*PostProcess)(NP_BASE *base, INT, char**); // pointer to PostProcessing function 00091 00092 } NP_BASET; 00093 00094 /****************************************************************************/ 00095 /* */ 00096 /* definition of exported global variables */ 00097 /* */ 00098 /****************************************************************************/ 00099 00100 /****************************************************************************/ 00101 /* */ 00102 /* definition of variables global to this source file only (static!) */ 00103 /* */ 00104 /****************************************************************************/ 00105 00106 /****************************************************************************/ 00107 /* */ 00108 /* forward declarations of functions used before they are defined */ 00109 /* */ 00110 /****************************************************************************/ 00111 00112 /****************************************************************************/ 00113 /****************************************************************************/ 00114 /* Discretization */ 00115 /****************************************************************************/ 00116 /****************************************************************************/ 00117 00118 INT InitBASET(void); /* check class & methods into UG */ 00119 #endif 00120