00001 #ifndef PROJECTIONMETHOD_H
00002 #define PROJECTIONMETHOD_H
00003
00011 #include <iostream>
00012 #include <string>
00013 #include "uStar.h"
00014 #include "divUStar.h"
00015 #include "pressure.h"
00016 #include "uNew.h"
00017 using namespace std;
00018
00019 #ifdef SINGLE
00020 #define real float
00021 #else
00022 #define real double
00023 #endif
00024
00031 class projectionMethod {
00032
00033 public:
00034
00038 projectionMethod();
00039
00046 void solve(int nPatch,
00047 real t,
00048 real dt,
00049 real Re,
00050 int cellNumberPerPatch,
00051 int ** StartIndex,
00052 int ** pointNumberMeshU,
00053 int ** pointNumberMeshV,
00054 int ** pointNumberMeshW,
00055 int ** pointNumberMeshP,
00056 int dim,
00057 real ***xU,
00058 real ***xV,
00059 real ***xW,
00060 real ***xP,
00061 real *h,
00062 real ****u,
00063 real ****uIter,
00064 int ****uCagePoint,
00065 real ****v,
00066 real ****vIter,
00067 int ****vCagePoint,
00068 real ****w,
00069 real ****wIter,
00070 int ****wCagePoint,
00071 real ****p,
00072 real ****uAux,
00073 real ****vAux,
00074 real ****wAux,
00075 real ****fp,
00076 real ****exactP,
00077 int ****pUnknowns,
00078 int ****pCagePoint,
00079 PetscLinearSolver &pSolver,
00080 int &zeroInitialGuess
00081 );
00082
00086 ~projectionMethod();
00087
00088 private:
00089
00090 int m, i, j, k;
00091
00092 };
00093
00094 #endif