1 #ifndef __GRAPE_HMESH_H__
2 #define __GRAPE_HMESH_H__
18 enum { MAX_NAME_LENGTH = 32 };
20 typedef struct dune_elem DUNE_ELEM;
21 typedef struct dune_fdata DUNE_FDATA;
22 typedef struct dune_dat DUNE_DAT;
24 typedef void evalDof_t (DUNE_ELEM *, DUNE_FDATA *,
int ,
double *);
25 typedef void evalCoord_t(DUNE_ELEM *, DUNE_FDATA *,
const double *,
double * );
36 , level_of_interest(-1)
47 for(
int i=0; i<MAX_EL_DOF; ++i)
50 vpointer[i] = (
double *) coordinates[i];
51 for(
int j=0; j<3; ++j)
56 for(
int i=0; i<MAX_EL_FACE; ++i)
67 double * vpointer [MAX_EL_DOF];
68 double coordinates [MAX_EL_DOF][3];
69 int vindex [MAX_EL_DOF] ;
70 int bnd [MAX_EL_FACE] ;
73 int level_of_interest;
99 static std::set<DUNE_FDATA*>& dataList ()
101 static std::set<DUNE_FDATA*> dList;
121 , setGridPartIterators(0)
130 dataList().insert(
this);
136 dataList().erase(
this);
146 evalCoord_t * evalCoord;
150 const void *discFunc;
153 const void *indexSet;
182 void (*setGridPartIterators)(DUNE_DAT * ,
void * gridPart);
199 void (*getMinMaxValues)(DUNE_FDATA *,
double *
min,
double *
max );
216 , setIterationModus(0)
219 , partitionIteratorType(-1)
223 , free_stackentry(0) {}
230 void (* delete_iter)(DUNE_ELEM *) ;
236 void * (* copy)(
const void *) ;
238 int (* check_inside)(DUNE_ELEM *,
const double * ) ;
239 int (* wtoc)(DUNE_ELEM *,
const double *,
double * ) ;
240 void (* ctow)(DUNE_ELEM *,
const double *,
double * ) ;
244 void (* setIterationModus)(DUNE_DAT *, DUNE_FDATA *);
253 int partitionIteratorType;
261 void * (*get_stackentry)(DUNE_DAT * );
263 void (*free_stackentry)(DUNE_DAT * ,
void *);
267 extern void *
setupHmesh(
const int noe,
const int nov,
268 const int maxlev, DUNE_DAT * dune);
275 extern void handleMesh (
void *hmesh,
bool gridMode );
277 extern DUNE_FDATA *
extractData (
void *hmesh ,
int num );
280 extern void timeSceneInit(INFO *info,
const int n_info,
const int procs);
286 extern void tsc_timebar(
void *timescene,
double t_start,
double t_end);
289 #endif // #if HAVE_GRAPE
291 #endif // #ifndef __GRAPE_HMESH_H__