Blockstructured Adaptive Mesh Refinement in object-oriented C++
00001 #ifndef _included_GridHierarchyCalls_h 00002 #define _included_GridHierarchyCalls_h 00003 00009 /*************************************************************************/ 00010 /* Setup DAGH */ 00011 /*************************************************************************/ 00012 00013 inline void SetBaseGrid(GridHierarchy &GH, double const *bbox, int const *shape, 00014 const int& ncuts, const int *cuts) 00015 { GH.DAGH_SetBaseGrid(bbox, shape, ncuts, cuts); } 00016 inline void SetTimeSpecs(GridHierarchy &GH, double const starttime, 00017 double const stoptime, int const numtsteps) 00018 { GH.DAGH_SetTimeSpecs(starttime,stoptime,numtsteps); } 00019 00020 inline void SetBoundaryType(GridHierarchy &GH, int const type) 00021 { GH.DAGH_SetBoundaryType(type); } 00022 inline void SetAdaptBoundaryType(GridHierarchy &GH, int const type) 00023 { GH.DAGH_SetAdaptBoundaryType(type); } 00024 inline void SetBoundaryWidth(GridHierarchy &GH, int const width) 00025 { GH.DAGH_SetBoundaryWidth(width); } 00026 inline void SetPeriodicBoundaries(GridHierarchy &GH, int const dir, int const value) 00027 { GH.DAGH_SetPeriodicBoundaries(dir,value); } 00028 00029 inline void SetExternalGhostWidth(GridHierarchy &GH, int const width) 00030 { GH.DAGH_SetExternalGhostWidth(width); } 00031 00032 inline void SetRefineFactor(GridHierarchy &GH, int const rfactor) 00033 { GH.DAGH_SetRefineFactor(rfactor); } 00034 inline void SetRefineFactor(GridHierarchy &GH, int const lev, int const rfactor) 00035 { GH.DAGH_SetRefineFactor(lev,rfactor); } 00036 00037 inline void SetDistributionType(GridHierarchy &GH, int const type) 00038 { GH.DAGH_SetDistributionType(type); } 00039 00040 inline void SetDistributionType(GridHierarchy &GH, int const type, BBoxList& bbl) 00041 { GH.DAGH_SetDistributionType(type,bbl); } 00042 00043 inline void SetWorkFunction(GridHierarchy &GH, void *wf) 00044 { GH.DAGH_SetWorkFunction(wf); } 00045 00046 inline void ComposeHierarchy(GridHierarchy &GH) 00047 { GH.DAGH_ComposeHierarchy(); } 00048 00049 inline void ComposeGridFunctions(GridHierarchy &GH) 00050 { GH.DAGH_ComposeGridFunctions(); } 00051 00052 inline int GridFunctionTemplate(GridHierarchy& GH, GridFunctionVoid& GFV) 00053 { return (GH.DAGH_GridFunctionTemplate(GFV)); } 00054 00055 /*************************************************************************/ 00056 /* Queries */ 00057 /*************************************************************************/ 00058 inline void SetCurrentTime(GridHierarchy &GH, int const ctime, int const lev) 00059 { GH.setCurrentTime(ctime, lev); } 00060 inline int CurrentTime(GridHierarchy &GH, int const lev) 00061 { return (GH.getCurrentTime(lev)); } 00062 inline void IncrCurrentTime(GridHierarchy &GH, int const lev) 00063 { GH.incrCurrentTime(lev); } 00064 00065 inline int StepSize(GridHierarchy &GH, int const lev) 00066 { return (GH.stepsize(lev)); } 00067 00068 inline int TimeStep(GridHierarchy &GH, int const lev) 00069 { return (GH.timestep(lev)); } 00070 00071 inline int AbsStepsTaken(GridHierarchy &GH, int const lev) 00072 { return (GH.stepstaken(GH.getCurrentTime(lev)+GH.timestep(lev),lev)); } 00073 inline int StepsTaken(GridHierarchy &GH, int const lev) 00074 { return (GH.stepstaken(GH.getCurrentTime(lev),lev)); } 00075 00076 inline int RefineFactor(GridHierarchy &GH, int const lev) 00077 { return (GH.refinefactor(lev)); } 00078 inline int RefinedBy(GridHierarchy &GH, int const lev) 00079 { return (GH.refinedby(lev)); } 00080 00081 inline int TotalLevels(GridHierarchy &GH) 00082 { return (GH.totallevels()); } 00083 inline int MaxLevel(GridHierarchy &GH) 00084 { return (GH.maxlevel()); } 00085 inline int CoarseLevel(GridHierarchy &GH) 00086 { return (GH.coarselevel()); } 00087 inline int FineLevel(GridHierarchy &GH) 00088 { return (GH.finelevel()); } 00089 00090 inline double DeltaT(GridHierarchy &GH, int const level) 00091 { return (GH.delta_t(level)); } 00092 inline double DeltaX(GridHierarchy &GH, int const dim, int const level) 00093 { return (GH.delta_x(dim,level)); } 00094 00095 /*************************************************************************/ 00096 /* Coarsening factor used when constructing GridUnits on level 0 */ 00097 /*************************************************************************/ 00098 inline const int& GuCFactor(GridHierarchy &GH) 00099 { return (GH.gucfactor()); } 00100 inline void SetGuCFactor(GridHierarchy &GH, const int& cfac) 00101 { GH.setgucfactor(cfac); } 00102 00103 /*************************************************************************/ 00104 /* Set/Query Updated Timestep Info */ 00105 /*************************************************************************/ 00106 inline int UpdatedValueAt(GridHierarchy &GH) { return (GH.updatedvaluestep()); } 00107 inline void SetUpdatedValueStep(GridHierarchy &GH, const int ustep) 00108 { GH.setupdatedvaluestep(ustep); } 00109 00110 /*************************************************************************/ 00111 /* Refine & Recompose */ 00112 /*************************************************************************/ 00113 inline void Refine(GridHierarchy &GH, int const lev) 00114 { GH.DAGH_Refine(lev); } 00115 00116 inline void Refine(GridHierarchy &GH, BBoxList &bblist, int const lev) 00117 { GH.DAGH_Refine(bblist, lev); } 00118 00119 inline void RecomposeHierarchy(GridHierarchy &GH) 00120 { GH.DAGH_RecomposeHierarchy(); } 00121 00122 inline void RecomposeHierarchy(GridHierarchy &GH, int Partition) 00123 { GH.DAGH_RecomposeHierarchy(Partition); } 00124 00125 00126 /*************************************************************************/ 00127 /* Redistribution */ 00128 /*************************************************************************/ 00129 inline void RedistributeHierarchy(GridHierarchy &GH, const int type) 00130 { GH.DAGH_RedistributeHierarchy(type); } 00131 inline void RedistributeHierarchy(GridHierarchy &GH, const int type, BBoxList& bbl) 00132 { GH.DAGH_RedistributeHierarchy(type, bbl); } 00133 00134 /*************************************************************************/ 00135 /* Checkpoint */ 00136 /*************************************************************************/ 00137 inline void Checkpoint(GridHierarchy &GH, const char* name) 00138 { GH.DAGH_Checkpoint(name); } 00139 00140 inline void ComposeHierarchy(GridHierarchy &GH, 00141 const char* name) 00142 { GH.DAGH_ComposeHierarchy(name); } 00143 00144 inline void RecomposeHierarchy(GridHierarchy &GH, 00145 const char* name) 00146 { GH.DAGH_RecomposeHierarchy(name); } 00147 00148 /*************************************************************************/ 00149 /* Ghost communications */ 00150 /*************************************************************************/ 00151 inline void Sync(GridHierarchy &GH, int const t, int const l) 00152 { GH.DAGH_SyncGhostRegions(t, l); } 00153 inline void Sync(GridHierarchy &GH, int const t, int const l, 00154 int const axis, int const dir) 00155 { GH.DAGH_SyncGhostRegions(t, l, axis, dir); } 00156 00157 /*************************************************************************/ 00158 /* DAGH IO support */ 00159 /*************************************************************************/ 00160 inline void DAGHIOType(GridHierarchy &GH, int const type) 00161 { GH.DAGH_IOType(type); } 00162 inline void DAGHIOEnd(GridHierarchy &GH) 00163 { GH.DAGH_IOEnd(); } 00164 00165 #endif
Quickstart Users Guide Programmers Reference Installation Examples Download
AMROC Main Home Contactlast update: 06/01/04