Chombo + EB + MF  3.2
Macros | Functions
BlockWriteI.H File Reference
#include "LevelData.H"
#include "HDF5Portable.H"
#include "CH_HDF5.H"
#include <string>
#include <map>
#include "RealVect.H"
#include "CH_Timer.H"
#include "LoadBalance.H"
#include "LayoutIterator.H"
#include "Vector.H"
#include "memtrack.H"
#include "FluxBox.H"
#include "SPMD.H"
Include dependency graph for BlockWriteI.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _BLOCKWRITEI_H_
 

Functions

template<class T >
void blockLocalOffsets (Vector< long long > &a_localSizes, long long &a_localTotalSize, Vector< Box > &a_localBoxes, const BoxLayoutData< T > &a_data, const Interval &a_comps, const IntVect &a_outputGhost)
 
template<class T >
void blockWriteToBuffer (void *a_buffer, const Vector< long long > &a_sizes, const BoxLayoutData< T > &a_data, const Interval &a_comps, const IntVect &a_outputGhost)
 
int gatherBoxesAndOffsets (long long &a_offsetThisProc, long long &a_allProcSize, Vector< long long > &a_globalOffsets, Vector< Box > &a_globalBoxes, const Vector< long long > &a_localBoxSizes, const Vector< Box > &a_localBoxes, const long long &a_localAllBoxSize)
 
int blockWriteBufferToFile (HDF5Handle &a_handle, void *a_buffer, const std::string &a_name, Vector< Box > &a_boxes, Vector< long long > &a_sizes, const Vector< hid_t > &a_types, const BoxLayout &a_layout, const long long &a_thisprocsize)
 
template<class T >
int blockWrite (HDF5Handle &a_handle, const LevelData< T > &a_data, const std::string &a_name, const IntVect &a_outputGhost, const Interval &a_in_comps)
 
template<class T >
int blockWrite (HDF5Handle &a_handle, const BoxLayoutData< T > &a_data, const std::string &a_name, const IntVect &a_outputGhost, const Interval &a_comps)
 
template<class T >
int blockWriteLevel (HDF5Handle &a_handle, const int &a_level, const LevelData< T > &a_data, const Real &a_dx, const Real &a_dt, const Real &a_time, const Box &a_domain, const int &a_refRatio, const IntVect &a_outputGhost, const Interval &a_comps)
 
template<class T >
int blockReadLevel (HDF5Handle &a_handle, const int &a_level, LevelData< T > &a_data, Real &a_dx, Real &a_dt, Real &a_time, Box &a_domain, int &a_refRatio, const Interval &a_comps, bool a_setGhost)
 
template<class T >
int blockRead (HDF5Handle &a_handle, LevelData< T > &a_data, const std::string &a_name, const DisjointBoxLayout &a_layout, const Interval &a_comps, bool a_redefineData)
 read LevelData named a_name from location specified by a_handle. More...
 
template<class T >
int blockRead (HDF5Handle &a_handle, BoxLayoutData< T > &a_data, const std::string &a_name, const BoxLayout &a_layout, const Interval &a_comps, bool a_redefineData)
 read BoxLayoutData named a_name from location specified by a_handle. More...
 

Macro Definition Documentation

◆ _BLOCKWRITEI_H_

#define _BLOCKWRITEI_H_

Function Documentation

◆ blockLocalOffsets()

template<class T >
void blockLocalOffsets ( Vector< long long > &  a_localSizes,
long long &  a_localTotalSize,
Vector< Box > &  a_localBoxes,
const BoxLayoutData< T > &  a_data,
const Interval a_comps,
const IntVect a_outputGhost 
)

◆ blockWriteToBuffer()

template<class T >
void blockWriteToBuffer ( void *  a_buffer,
const Vector< long long > &  a_sizes,
const BoxLayoutData< T > &  a_data,
const Interval a_comps,
const IntVect a_outputGhost 
)

◆ gatherBoxesAndOffsets()

int gatherBoxesAndOffsets ( long long &  a_offsetThisProc,
long long &  a_allProcSize,
Vector< long long > &  a_globalOffsets,
Vector< Box > &  a_globalBoxes,
const Vector< long long > &  a_localBoxSizes,
const Vector< Box > &  a_localBoxes,
const long long &  a_localAllBoxSize 
)

◆ blockWriteBufferToFile()

int blockWriteBufferToFile ( HDF5Handle a_handle,
void *  a_buffer,
const std::string &  a_name,
Vector< Box > &  a_boxes,
Vector< long long > &  a_sizes,
const Vector< hid_t > &  a_types,
const BoxLayout a_layout,
const long long &  a_thisprocsize 
)

◆ blockWrite() [1/2]

template<class T >
int blockWrite ( HDF5Handle a_handle,
const LevelData< T > &  a_data,
const std::string &  a_name,
const IntVect a_outputGhost,
const Interval a_in_comps 
)

◆ blockWrite() [2/2]

template<class T >
int blockWrite ( HDF5Handle a_handle,
const BoxLayoutData< T > &  a_data,
const std::string &  a_name,
const IntVect a_outputGhost,
const Interval a_comps 
)

◆ blockWriteLevel()

template<class T >
int blockWriteLevel ( HDF5Handle a_handle,
const int &  a_level,
const LevelData< T > &  a_data,
const Real a_dx,
const Real a_dt,
const Real a_time,
const Box a_domain,
const int &  a_refRatio,
const IntVect a_outputGhost,
const Interval a_comps 
)

◆ blockReadLevel()

template<class T >
int blockReadLevel ( HDF5Handle a_handle,
const int &  a_level,
LevelData< T > &  a_data,
Real a_dx,
Real a_dt,
Real a_time,
Box a_domain,
int &  a_refRatio,
const Interval a_comps,
bool  a_setGhost 
)

◆ blockRead() [1/2]

template<class T >
int blockRead ( HDF5Handle a_handle,
LevelData< T > &  a_data,
const std::string &  a_name,
const DisjointBoxLayout a_layout,
const Interval a_comps = Interval(),
bool  redefineData = true 
)

read LevelData named a_name from location specified by a_handle.

Read LevelData named a_name from location specified by a_handle. User must supply the correct BoxLayout for this function.

Arg a_name is significant: the HDF5 group to which a_handle is set is is assumed to contain a dataset called <a_name>:datatype=<some integer>="">, a dataset called <a_name>:offsets=<some integer>="">, and a subgroup named <a_name>_attributes. You will have all these items if you dumped your LevelData out using the corresponding write() function defined here.

If arg redefineData==false, then the user must pass in a valid LevelData. Otherwise, this function figures out how many components and ghost cells there are, and allocates the correct amount of space. The actual FArray data held by the LevelData gets filled in here, regardless of redefineData; "redefine" alludes to the family of define() functions.

returns: success: 0\ bad location: 1\ HDF5 error: negative error code.\

References LevelData< T >::define(), Interval::end(), MayDay::Error(), HDF5Handle::getGroup(), HDF5HeaderData::m_int, HDF5HeaderData::m_intvect, HDF5HeaderData::readFromFile(), HDF5Handle::setGroup(), Interval::size(), and MayDay::Warning().

Referenced by blockReadLevel().

◆ blockRead() [2/2]

template<class T >
int blockRead ( HDF5Handle a_handle,
BoxLayoutData< T > &  a_data,
const std::string &  a_name,
const BoxLayout a_layout,
const Interval a_comps = Interval(),
bool  redefineData = true 
)

read BoxLayoutData named a_name from location specified by a_handle.

Read BoxLayoutData named a_name from location specified by a_handle. User must supply the correct BoxLayout for this function if redefineData == true. \ returns: success: 0\ bad location: 1\ HDF5 error: negative error code.\

References read().