00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011
00012
00013
00014
00015 #ifndef _NODEAMRIO_H_
00016 #define _NODEAMRIO_H_
00017 #include "REAL.H"
00018
00019 #include "LevelData.H"
00020 #include "RealVect.H"
00021 #include "Vector.H"
00022 #include "NodeFArrayBox.H"
00023 #include <string>
00024
00025 #include "IntVect.H"
00026 #include "NamespaceHeader.H"
00027 using std::string;
00028 using std::istream;
00029
00031
00037 void
00038 WriteAMRHierarchyHDF5(
00039 const string& filename,
00041 const Vector<DisjointBoxLayout>& a_vectGrids,
00043 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00045 const Vector<string>& a_vectNames,
00047 const Box& a_domain,
00049 const Real& a_dx,
00051 const Real& a_dt,
00053 const Real& a_time,
00055 const Vector<int>& a_vectRatio,
00057 const int& a_numLevels,
00059 const RealVect& a_origin = RealVect::Zero,
00061 const Interval& a_comps = Interval() );
00062
00064
00075 void
00076 WriteAMRHierarchyHDF5(
00077 const string& filename,
00079 const Vector<DisjointBoxLayout>& a_vectGrids,
00081 const Vector<Vector<LevelData<NodeFArrayBox>* > >& a_vectData,
00083 const Vector<string>& a_vectNames,
00085 const Box& a_domain,
00087 const Real& a_dx,
00089 const Real& a_dt,
00091 const Real& a_time,
00093 const Vector<int>& a_vectRatio,
00095 const int& a_numLevels);
00096
00098
00104 void
00105 WriteAMRHierarchyHDF5(
00106 HDF5Handle& handle,
00108 const Vector<DisjointBoxLayout>& a_vectGrids,
00110 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00112 const Vector<string>& a_vectNames,
00114 const Box& a_domain,
00116 const Real& a_dx,
00118 const Real& a_dt,
00120 const Real& a_time,
00122 const Vector<int>& a_vectRatio,
00124 const int& a_numLevels,
00126 const RealVect& a_origin = RealVect::Zero,
00128 const Interval& a_comps = Interval() );
00129
00131
00137 void
00138 WriteAMRHierarchyHDF5(
00139 const string& filename,
00141 const Vector<DisjointBoxLayout>& a_vectGrids,
00143 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00145 const Box& a_domain,
00147 const Vector<int>& a_vectRatio,
00149 const int& a_numLevels);
00150
00152
00158 void
00159 WriteAMRHierarchyHDF5(
00160 HDF5Handle& handle,
00162 const Vector<DisjointBoxLayout>& a_vectGrids,
00164 const Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00166 const Box& a_domain,
00168 const Vector<int>& a_vectRatio,
00170 const int& a_numLevels);
00171
00173
00186 int
00187 ReadAMRHierarchyHDF5(
00188 const string& filename,
00190 Vector<DisjointBoxLayout>& a_vectGrids,
00192 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00194 Vector<string>& a_vectNames,
00196 Box& a_domain,
00198 Real& a_dx,
00200 Real& a_dt,
00202 Real& a_time,
00204 Vector<int>& a_refRatio,
00206 int& a_numLevels,
00207 bool a_setGhost = false);
00208
00210
00223 int
00224 ReadAMRHierarchyHDF5(
00225 HDF5Handle& handle,
00227 Vector<DisjointBoxLayout>& a_vectGrids,
00229 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00231 Vector<string>& a_vectNames,
00233 Box& a_domain,
00235 Real& a_dx,
00237 Real& a_dt,
00239 Real& a_time,
00241 Vector<int>& a_refRatio,
00243 int& a_numLevels,
00244 bool a_setGhost = false);
00245
00246
00248
00261 int
00262 ReadAMRHierarchyHDF5(
00263 const string& filename,
00265 Vector<DisjointBoxLayout>& a_vectGrids,
00267 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00269 Box& a_domain,
00271 Vector<int>& a_refRatio,
00273 int& a_numLevels,
00274 bool a_setGhost = false);
00275
00277
00290 int
00291 ReadAMRHierarchyHDF5(
00292 HDF5Handle& handle,
00294 Vector<DisjointBoxLayout>& a_vectGrids,
00296 Vector<LevelData<NodeFArrayBox>* > & a_vectData,
00298 Box& a_domain,
00300 Vector<int>& a_refRatio,
00302 int& a_numLevels,
00303 bool a_setGhost = false);
00304
00305
00307
00312 void
00313 writeNFAB(const NodeFArrayBox* a_dataPtr);
00314
00316
00323 void
00324 viewNFAB(const NodeFArrayBox* a_dataPtr);
00325
00327
00332 void
00333 writeNFABname(const NodeFArrayBox* a_dataPtr,
00334 const char* a_filename);
00335
00337
00342 void
00343 writeNodeLevel(const LevelData<NodeFArrayBox>* a_dataPtr);
00344
00346
00353 void
00354 viewNodeLevel(const LevelData<NodeFArrayBox>* a_dataPtr);
00355
00357
00362 void
00363 writeNodeLevelname(const LevelData<NodeFArrayBox>* a_dataPtr,
00364 const char* a_filename);
00365
00367
00376 void
00377 WritePartialAMRHierarchyHDF5(
00378 const string& filename,
00380 const Vector<DisjointBoxLayout>& a_vectGrids,
00382 const Vector<LevelData<FArrayBox>* > & a_vectData,
00384 const Vector<string>& a_vectNames,
00386 const Box& a_baseDomain,
00388 const Real& a_baseDx,
00390 const Real& a_dt,
00392 const Real& a_time,
00394 const Vector<int>& a_vectRatio,
00396 const Interval& a_levels);
00397
00399
00413 void
00414 WritePartialAMRHierarchyHDF5(
00415 const string& filename,
00417 const Vector<DisjointBoxLayout>& a_vectGrids,
00419 const Vector<Vector<LevelData<NodeFArrayBox>* > >& a_vectData,
00421 const Vector<string>& a_vectNames,
00423 const Box& a_baseDomain,
00425 const Real& a_baseDx,
00427 const Real& a_dt,
00429 const Real& a_time,
00431 const Vector<int>& a_vectRatio,
00433 const Interval& a_levels);
00434
00435 #include "NamespaceFooter.H"
00436 #endif // include guard