vtk.h

00001 // copyright by benedikt oswald, all rights reserved, 2002-2006.
00002 // project - aqhdes2003
00003 // file name - vtk.h
00004 // file type - C include file
00005 // objective - define class and functions for aqhdes output in vtk format
00006 // modified - 2004 apr 14, creation
00007 // modified - 2004 apr 14, 
00008 // required software - UG 3.1 or higher
00009 // inheritance - based on datatexplorer interface implemented in
00010 // inheritance - $UGROOT/ui
00011 // feature - provide NUMPROC for vtk file format output both
00012 // feature - in serial and parallel mode, wich is achieved through
00013 // feature - using the functionality provided by pfile.h and pfile.c
00014 // feature - pfile functionality automatically adapts to serial and parallel
00015 // feature - program execution.
00016 
00017 /****************************************************************************/
00018 /*                                                                          */
00019 /* include files                                                            */
00020 /*            system include files                                          */
00021 /*            application include files                                     */
00022 /*                                                                          */
00023 /****************************************************************************/
00024 
00025 #ifndef __VTK__
00026 #define __VTK__
00027 
00028 // include standard header files
00029 #include <math.h>
00030 #include <stdlib.h>
00031 #include <stdio.h>
00032 #include <string.h>
00033 #include <time.h>
00034 #include <string>
00035 
00036 // include UG header files
00037 #include "gm.h"                             /* for data structure                                   */
00038 #include "ugstruct.h"                       /* for GetStringValue                                   */
00039 #include "misc.h"                           /* for MIN, MAX, PI, ...                                */
00040 #include "ugdevices.h"                      /* for UserWrite, PrintErrorMessage                     */ 
00041 #include "commands.h"                       /* for GetCurrentMultigrid                              */
00042 #include "cmdint.h"                         /* for CreateCommand                                    */
00043 #include "cmdint.h"                         /* for CreateCommand                                    */
00044 #include "cmdline.h"                        /* for command line processing                          */
00045 #include "general.h"                        /* for general desclarations                            */
00046 #include "np.h"                             /* for NUMPROC implementation                           */
00047 #include "assemble.h"                       /* for CreateCLASS implementation                       */
00048 #include "pfile.h"                          /* header file for parallel file access                 */
00049 #include "parallel.h"                       /* include parallel support                             */
00050 #include "compiler.h"
00051 #include "namespace.h"
00052 
00053 // include proprietary header files
00054 #include "disconst.h"                       /* discretization parameters                            */
00055 #include "whitney.h"                        /* get base function stuff                              */
00056 #include "linmaterials.h"                   /* include NUMPROC definitions for linear, non-dispersive materials  */
00057 #include "aqhdSysParams.h"                  /* get system parameters from standard include file     */
00058 #include "aqhdReleaseInfo.h"                /* get release information                              */
00059 #include "aqhdPhysicoMath.h"                /* get release information                              */
00060 
00061 
00062 USING_UG_NAMESPACE
00063 USING_UGDIM_NAMESPACE
00064 
00065 
00066 /****************************************************************************/
00067 /*                                                                          */
00068 /* defines in the following order                                           */
00069 /*                                                                          */
00070 /*        compile time constants defining static data size (i.e. arrays)    */
00071 /*        other constants                                                   */
00072 /*        macros                                                            */
00073 /*                                                                          */
00074 /****************************************************************************/
00075 
00076 #define T_VTK_CLASS_NAME "vtkclass"
00077 
00078 /****************************************************************************/
00079 /*                                                                          */
00080 /* data structures used in this source file (exported data structures are   */
00081 /*        in the corresponding include file!)                               */
00082 /*                                                                          */
00083 /****************************************************************************/
00084 
00085 /* declare NUMPROC class and methods for 'NP_EXPLICIT_TIME_DOMAIN_INTEGRATION' */
00086 
00087 typedef struct
00088 {
00089     NP_BASE base;                                         // inherits base class
00090     
00091     NP_LINEAR_MATERIALS *linmat;                          // pointer to NUMPROC that provides material properties, used when storing the computational mesh
00092 
00093     INT fl;                                               // from level with respect to multigrid
00094     INT tl;                                               // to level with respect to multigrid
00095     INT timestep;                                         // time index used for file naming
00096 
00097     char meshfilename[MAX_NUM_CHAR_FILENAME];             // name of file where 3d mesh is stored
00098     char fieldfilename[MAX_NUM_CHAR_FILENAME];            // name of file where 3d field is stored
00099     INT nspe;                                             // preset number of field samples per finite element
00100 
00101     VECDATA_DESC* efld;                                  // pointer to electric field vector at t_(n+1)
00102  
00103     INT (*PreProcess)(NP_BASE *base, INT, char**);        // pointer to PreProcessing function
00104     INT (*PostProcess)(NP_BASE *base, INT, char**);       // pointer to PostProcessing function
00105 
00106 } NP_VTK;
00107 
00108 /****************************************************************************/
00109 /*                                                                          */
00110 /* definition of exported global variables                                  */
00111 /*                                                                          */
00112 /****************************************************************************/
00113 
00114 /****************************************************************************/
00115 /*                                                                          */
00116 /* definition of variables global to this source file only (static!)        */
00117 /*                                                                          */
00118 /****************************************************************************/
00119 
00120 /****************************************************************************/
00121 /*                                                                          */
00122 /* forward declarations of functions used before they are defined           */
00123 /*                                                                          */
00124 /****************************************************************************/
00125 
00126 /****************************************************************************/
00127 /****************************************************************************/
00128 /*                              Discretization                              */
00129 /****************************************************************************/
00130 /****************************************************************************/
00131 
00132 INT InitVTK(void); /* check class & methods into UG */
00133 #endif
00134 

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