00001 // copyright by benedikt oswald, all rights reserved, 2002-2006. 00002 // project - aqhdes2003 00003 // file name - slocf.h 00004 // file type - C include file 00005 // objective - define class and functions for aqhdes single location field outpput 00006 // modified - 2004 jul 26, creation 00007 // modified - 00008 // required software - UG 3.1 or higher 00009 // inheritance - based on vtk.h 00010 // feature - provide NUMPROC for output of vectorial field components 00011 // feature - at a single location; this NUMPROC replaces the various 00012 // feature - ad hoc output routines spread over the code which are 00013 // feature - consequentially eliminated from the code. 00014 00015 /****************************************************************************/ 00016 /* */ 00017 /* include files */ 00018 /* system include files */ 00019 /* application include files */ 00020 /* */ 00021 /****************************************************************************/ 00022 00023 #ifndef __SLOCF__ 00024 #define __SLOCF__ 00025 00026 // include standard header files 00027 #include <math.h> 00028 #include <stdlib.h> 00029 #include <stdio.h> 00030 #include <string.h> 00031 #include <time.h> 00032 00033 // include UG header files 00034 #include "gm.h" /* for data structure */ 00035 #include "ugstruct.h" /* for GetStringValue */ 00036 #include "misc.h" /* for MIN, MAX, PI, ... */ 00037 #include "ugdevices.h" /* for UserWrite, PrintErrorMessage */ 00038 #include "commands.h" /* for GetCurrentMultigrid */ 00039 #include "cmdint.h" /* for CreateCommand */ 00040 #include "cmdint.h" /* for CreateCommand */ 00041 #include "cmdline.h" /* for command line processing */ 00042 #include "general.h" /* for general desclarations */ 00043 #include "np.h" /* for NUMPROC implementation */ 00044 #include "assemble.h" /* for CreateCLASS implementation */ 00045 #include "pfile.h" /* header file for parallel file access */ 00046 #include "parallel.h" /* include parallel support */ 00047 #include "compiler.h" 00048 #include "namespace.h" 00049 00050 00051 // include proprietary header files 00052 #include "disconst.h" /* discretization parameters */ 00053 #include "whitney.h" /* get base function stuff */ 00054 #include "aqhdSysParams.h" /* get system parameters from standard include file */ 00055 #include "aqhdReleaseInfo.h" /* get release information */ 00056 #include "aqhdPhysicoMath.h" /* get release information */ 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 #define T_SLOCF_CLASS_NAME "slocfclass" 00073 00074 /****************************************************************************/ 00075 /* */ 00076 /* data structures used in this source file (exported data structures are */ 00077 /* in the corresponding include file!) */ 00078 /* */ 00079 /****************************************************************************/ 00080 00081 /* declare NUMPROC class and methods for 'NP_EXPLICIT_TIME_DOMAIN_INTEGRATION' */ 00082 00083 typedef struct 00084 { 00085 NP_BASE base; // inherits base class 00086 00087 INT fl; // from level with respect to multigrid 00088 INT tl; // to level with respect to multigrid 00089 00090 INT timestep; // time index used for file naming 00091 00092 DOUBLE slocfpos[DIM]; // location of sclocf probing 00093 00094 char slocffname[MAX_NUM_CHAR_FILENAME]; // filename of time dependent single location electric field 00095 00096 VECDATA_DESC* dof; // pointer to degree of freedom selected 00097 00098 INT (*PreProcess)(NP_BASE *base, INT, char**); // pointer to PreProcessing function 00099 INT (*PostProcess)(NP_BASE *base, INT, char**); // pointer to PostProcessing function 00100 00101 } NP_SLOCF; 00102 00103 /****************************************************************************/ 00104 /* */ 00105 /* definition of exported global variables */ 00106 /* */ 00107 /****************************************************************************/ 00108 00109 /****************************************************************************/ 00110 /* */ 00111 /* definition of variables global to this source file only (static!) */ 00112 /* */ 00113 /****************************************************************************/ 00114 00115 /****************************************************************************/ 00116 /* */ 00117 /* forward declarations of functions used before they are defined */ 00118 /* */ 00119 /****************************************************************************/ 00120 00121 /****************************************************************************/ 00122 /****************************************************************************/ 00123 /* Discretization */ 00124 /****************************************************************************/ 00125 /****************************************************************************/ 00126 00127 INT InitSLOCF(void); /* check class & methods into UG */ 00128 #endif 00129