00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef NODEAMRIO_H
00033 #define NODEAMRIO_H
00034 #include "REAL.H"
00035
00036 #ifndef WRAPPER
00037
00038 #include "LevelData.H"
00039 #include "REAL.H"
00040 #include "Vector.H"
00041 #include "NodeFArrayBox.H"
00042 #include <string>
00043
00044 #include "IntVect.H"
00045 using std::string;
00046 using std::istream;
00047 #endif
00048
00050
00056 void
00057 WriteAMRHierarchyHDF5(
00058 const string& filename,
00060 const Vector<DisjointBoxLayout>& a_vectGrids,
00062 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00064 const Vector<string>& a_vectNames,
00066 const Box& a_domain,
00068 const Real& a_dx,
00070 const Real& a_dt,
00072 const Real& a_time,
00074 const Vector<int>& a_vectRatio,
00076 const int& a_numLevels,
00078 const RealVect& a_origin = RealVect::Zero,
00080 const Interval& a_comps = Interval() );
00081
00083
00094 void
00095 WriteAMRHierarchyHDF5(
00096 const string& filename,
00098 const Vector<DisjointBoxLayout>& a_vectGrids,
00100 const Vector<Vector<LevelData<NodeFArrayBox>* > >& a_vectData,
00102 const Vector<string>& a_vectNames,
00104 const Box& a_domain,
00106 const Real& a_dx,
00108 const Real& a_dt,
00110 const Real& a_time,
00112 const Vector<int>& a_vectRatio,
00114 const int& a_numLevels);
00115
00117
00123 void
00124 WriteAMRHierarchyHDF5(
00125 HDF5Handle& handle,
00127 const Vector<DisjointBoxLayout>& a_vectGrids,
00129 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00131 const Vector<string>& a_vectNames,
00133 const Box& a_domain,
00135 const Real& a_dx,
00137 const Real& a_dt,
00139 const Real& a_time,
00141 const Vector<int>& a_vectRatio,
00143 const int& a_numLevels,
00145 const RealVect& a_origin = RealVect::Zero,
00147 const Interval& a_comps = Interval() );
00148
00150
00156 void
00157 WriteAMRHierarchyHDF5(
00158 const string& filename,
00160 const Vector<DisjointBoxLayout>& a_vectGrids,
00162 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00164 const Box& a_domain,
00166 const Vector<int>& a_vectRatio,
00168 const int& a_numLevels);
00169
00171
00177 void
00178 WriteAMRHierarchyHDF5(
00179 HDF5Handle& handle,
00181 const Vector<DisjointBoxLayout>& a_vectGrids,
00183 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00185 const Box& a_domain,
00187 const Vector<int>& a_vectRatio,
00189 const int& a_numLevels);
00190
00191 #ifndef WRAPPER
00192
00193
00206 int
00207 ReadAMRHierarchyHDF5(
00208 const string& filename,
00210 Vector<DisjointBoxLayout>& a_vectGrids,
00212 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00214 Vector<string>& a_vectNames,
00216 Box& a_domain,
00218 Real& a_dx,
00220 Real& a_dt,
00222 Real& a_time,
00224 Vector<int>& a_refRatio,
00226 int& a_numLevels,
00227 bool a_setGhost = false);
00228
00230
00243 int
00244 ReadAMRHierarchyHDF5(
00245 HDF5Handle& handle,
00247 Vector<DisjointBoxLayout>& a_vectGrids,
00249 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00251 Vector<string>& a_vectNames,
00253 Box& a_domain,
00255 Real& a_dx,
00257 Real& a_dt,
00259 Real& a_time,
00261 Vector<int>& a_refRatio,
00263 int& a_numLevels,
00264 bool a_setGhost = false);
00265
00266
00268
00281 int
00282 ReadAMRHierarchyHDF5(
00283 const string& filename,
00285 Vector<DisjointBoxLayout>& a_vectGrids,
00287 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00289 Box& a_domain,
00291 Vector<int>& a_refRatio,
00293 int& a_numLevels,
00294 bool a_setGhost = false);
00295
00297
00310 int
00311 ReadAMRHierarchyHDF5(
00312 HDF5Handle& handle,
00314 Vector<DisjointBoxLayout>& a_vectGrids,
00316 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00318 Box& a_domain,
00320 Vector<int>& a_refRatio,
00322 int& a_numLevels,
00323 bool a_setGhost = false);
00324
00325 #endif
00326
00328
00333 void
00334 writeNFAB(const NodeFArrayBox* a_dataPtr);
00335
00337
00344 void
00345 viewNFAB(const NodeFArrayBox* a_dataPtr);
00346
00348
00353 void
00354 writeNFABname(const NodeFArrayBox* a_dataPtr,
00355 const char* a_filename);
00356
00358
00363 void
00364 writeNodeLevel(const LevelData<NodeFArrayBox>* a_dataPtr);
00365
00367
00374 void
00375 viewNodeLevel(const LevelData<NodeFArrayBox>* a_dataPtr);
00376
00378
00383 void
00384 writeNodeLevelname(const LevelData<NodeFArrayBox>* a_dataPtr,
00385 const char* a_filename);
00386
00388
00397 void
00398 WritePartialAMRHierarchyHDF5(
00399 const string& filename,
00401 const Vector<DisjointBoxLayout>& a_vectGrids,
00403 const Vector<LevelData<FArrayBox>* > & a_vectData,
00405 const Vector<string>& a_vectNames,
00407 const Box& a_baseDomain,
00409 const Real& a_baseDx,
00411 const Real& a_dt,
00413 const Real& a_time,
00415 const Vector<int>& a_vectRatio,
00417 const Interval& a_levels);
00418
00420
00434 void
00435 WritePartialAMRHierarchyHDF5(
00436 const string& filename,
00438 const Vector<DisjointBoxLayout>& a_vectGrids,
00440 const Vector<Vector<LevelData<NodeFArrayBox>* > >& a_vectData,
00442 const Vector<string>& a_vectNames,
00444 const Box& a_baseDomain,
00446 const Real& a_baseDx,
00448 const Real& a_dt,
00450 const Real& a_time,
00452 const Vector<int>& a_vectRatio,
00454 const Interval& a_levels);
00455
00456 #endif