slocf.h

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 

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