basefunt.h

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 

Generated on Fri Oct 26 14:04:29 2007 for acheron3d by  doxygen 1.4.7