00001 #ifndef GHOSTPOINT_H
00002 #define GHOSTPOINT_H
00003
00011 #include <iostream>
00012 #include <string>
00013 #include <cmath>
00014 using namespace std;
00015
00016 #ifdef SINGLE
00017 #define real float
00018 #else
00019 #define real double
00020 #endif
00021
00029 class ghostPoint {
00030
00031 public:
00035 ghostPoint();
00036
00043 void initialize(int numberOfPatches,
00044 real t,
00045 real dt,
00046 int cellNumberPerPatch,
00047 int ** StartIndex,
00048 int ** pointNumberMeshU,
00049 int ** pointNumberMeshV,
00050 int ** pointNumberMeshW,
00051 int dimension,
00052 real ***xU,
00053 real ***xV,
00054 real ***xW,
00055 real *h,
00056 real ****u,
00057 real ****v,
00058 real ****w
00059 );
00060
00064 ~ghostPoint();
00065
00066 private:
00067
00068 void uCoarseGhostPoint(real ****u);
00069
00070 void vCoarseGhostPoint(real ****v);
00071
00072 void wCoarseGhostPoint(real ****w);
00073
00074 void uFineGhostPoint(real iy,
00075 real iz,
00076 real ****u);
00077
00078 void vFineGhostPoint(real ix,
00079 real iz,
00080 real ****v);
00081
00082 void wFineGhostPoint(real ix,
00083 real iy,
00084 real ****w);
00085
00086 int nPatch;
00087 int nMeshes;
00088
00089 int nCellPerPatch;
00090
00091 int dim;
00092
00093
00094
00095
00096 int i, j, k;
00097
00098 int iFine, jFine, kFine;
00099 int iCoarse, jCoarse, kCoarse;
00100
00101
00102 int m;
00103
00104
00105 };
00106
00107 #endif