00001 #ifndef OUTPUTDATA_H
00002 #define OUTPUTDATA_H
00003
00004 #include <iostream>
00005 #include <fstream>
00006 #include <sstream>
00007 #include <cmath>
00008 using namespace std;
00009
00010 #ifdef SINGLE
00011 #define real float
00012 #else
00013 #define real double
00014 #endif
00015
00027 class outputData {
00028
00029 public:
00033 outputData();
00034
00040 void initialize(int k,
00041 int NumberOfMeshes,
00042 int cellNumberPerPatch,
00043 int ** StartIndex,
00044 int ** pointNumberMeshU,
00045 int ** pointNumberMeshV,
00046 int ** pointNumberMeshW,
00047 int ** pointNumberMeshP,
00048 real ***xU,
00049 real ***xV,
00050 real ***xW,
00051 real ***xP,
00052 real ****u,
00053 real ****v,
00054 real ****w,
00055 real ****p
00056 );
00057
00061 ~outputData();
00062
00063 private:
00064
00065 void outputU(int k,
00066 int NumberOfMeshes,
00067 int cellNumberPerPatch,
00068 int ** StartIndex,
00069 int ** pointNumberMeshU,
00070 int ** pointNumberMeshP,
00071 real ***xU,
00072 real ***xP,
00073 real ****u);
00074 void outputV(int tStep,
00075 int NumberOfMeshes,
00076 int cellNumberPerPatch,
00077 int ** StartIndex,
00078 int ** pointNumberMeshV,
00079 int ** pointNumberMeshP,
00080 real ***xV,
00081 real ***xP,
00082 real ****v);
00083 void outputW(int tStep,
00084 int NumberOfMeshes,
00085 int cellNumberPerPatch,
00086 int ** StartIndex,
00087 int ** pointNumberMeshW,
00088 int ** pointNumberMeshP,
00089 real ***xW,
00090 real ***xP,
00091 real ****w);
00092 void outputP(int k,
00093 int NumberOfMeshes,
00094 int cellNumberPerPatch,
00095 int ** StartIndex,
00096 int ** pointNumberMeshP,
00097 real ***xP,
00098 real ****p);
00099
00100 real **** allocate4dRealArrayOutput(int nMeshes, int **pointNumberMesh);
00101 void delete4dArrayOutput(real ****x, int nMeshes, int **pointNumberMesh);
00102 string iToString(int k);
00103 void coarseToCenter(real ix,
00104 real iy,
00105 real iz,
00106 real ****u,
00107 real ****uOutput);
00108
00109 string filenameU ;
00110 string filenameV ;
00111 string filenameW ;
00112 string filenameP ;
00113
00114 ofstream ofU ;
00115 ofstream ofV ;
00116 ofstream ofW ;
00117 ofstream ofP ;
00118
00119
00120
00121
00122 int i, j,k, m;
00123
00124 int iCenter, jCenter,kCenter;
00125
00126
00127 };
00128
00129 #endif