00001 #ifndef DIVUSTAR_H
00002 #define DIVUSTAR_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 divUStar {
00030
00031 public:
00035 divUStar();
00036
00043 void initialize(int numberOfPatches,
00044 real dt,
00045 int cellNumberPerPatch,
00046 int ** StartIndex,
00047 real ****fp,
00048 int ** pointNumberMeshP,
00049 real *h,
00050 real ***xP,
00051 real ****uAux,
00052 real ****vAux,
00053 real ****wAux
00054 );
00055
00059 ~divUStar();
00060
00061 private:
00062
00063 void coarseGhostPoint(real ****fp);
00064 void fineGhostPoint(real ix,
00065 real iy,
00066 real iz,
00067 real ****fp);
00068
00069 int nPatch;
00070 int nMeshes;
00071
00072 int nCellPerPatch;
00073
00074 int dim;
00075
00076 int i, j, k;
00077
00078 int iFine, jFine, kFine;
00079
00080
00081 int m;
00082
00083
00084
00085 };
00086
00087 #endif