00001 #ifndef INITSTAGE_H
00002 #define INITSTAGE_H
00003
00011 #include "projectionMethod.h"
00012 #include "cageInit.h"
00013 #include "vorticity.h"
00014 #include "setDt.h"
00015 #include <string>
00016 #include <iostream>
00017
00018 #ifdef SINGLE
00019 #define real float
00020 #else
00021 #define real double
00022 #endif
00023
00030 class initStage {
00031
00032 public:
00033
00037 initStage();
00038
00045 void solve(int nPatch,
00046 real &t,
00047 real &dt,
00048 real Re,
00049 int nTruncate,
00050 int cellNumberPerPatch,
00051 int ** StartIndex,
00052 real *xParticleCenter,
00053 real *yParticleCenter,
00054 real *zParticleCenter,
00055 int ** pointNumberMeshU,
00056 int ** pointNumberMeshV,
00057 int ** pointNumberMeshW,
00058 int ** pointNumberMeshP,
00059 int dim,
00060 real ***xU,
00061 real ***xV,
00062 real ***xW,
00063 real ***xP,
00064 real *h,
00065 real ****u,
00066 int ****uUnknowns,
00067 real ****v,
00068 int ****vUnknowns,
00069 real ****w,
00070 int ****wUnknowns,
00071 real ****p,
00072 real ****uAux,
00073 real ****vAux,
00074 real ****wAux,
00075 real ****fp,
00076 real ****exactP,
00077 int ****pUnknowns,
00078 int ****uCagePoint,
00079 int ****vCagePoint,
00080 int ****wCagePoint,
00081 int ****pCagePoint,
00082 int **nCell,
00083 PetscLinearSolver &pSolver,
00084 int &zeroInitialGuess
00085 );
00086
00090 ~initStage();
00091
00092 private:
00093
00094 real **** allocate4dRealArray(int nMeshes, int **pointNumberMesh);
00095 void delete4dArray(real ****x, int nMeshes, int **pointNumberMesh);
00096
00097 int m, i, j, k, iter;
00098
00099 int NumberOfMeshes;
00100
00101 real ****uIter;
00102 real ****vIter;
00103 real ****wIter;
00104
00105 };
00106
00107 #endif