Write mesh database to MOAB's native HDF5-based file format. More...
#include <WriteHDF5.hpp>
Classes | |
struct | ExportSet |
Range of entities, grouped by type, to export. More... | |
struct | ExportType |
struct | HDF5ErrorHandler |
Store old HDF5 error handling function. More... | |
struct | SpecialSetData |
Struct describing a set for which the contained and linked entity lists are something other than the local values. Used to store data for shared sets owned by this process when writing in parallel. More... | |
struct | SpecSetLess |
struct | TagDesc |
Tag to write to file. More... | |
Public Types | |
typedef EntityHandle | wid_t |
Public Member Functions | |
WriteHDF5 (Interface *iface) | |
virtual | ~WriteHDF5 () |
ErrorCode | write_file (const char *filename, const bool overwrite, const FileOptions &opts, const EntityHandle *export_sets, const int export_set_count, const std::vector< std::string > &qa_records, const Tag *tag_list=NULL, int num_tags=0, int user_dimension=3) |
mhdf_FileHandle | file_ptr () |
WriteUtilIface * | write_util () |
ErrorCode | create_elem_table (const ExportSet &block, long num_ents, long &first_id_out) |
ErrorCode | create_set_meta (long num_sets, long &first_id_out) |
Public Member Functions inherited from moab::WriterIface | |
virtual | ~WriterIface () |
Static Public Member Functions | |
static WriterIface * | factory (Interface *) |
Static Public Attributes | |
static const hid_t | id_type = get_id_type() |
Protected Types | |
enum | TimingValues { TOTAL_TIME = 0 , GATHER_TIME , CREATE_TIME , CREATE_NODE_TIME , NEGOTIATE_TYPES_TIME , CREATE_ELEM_TIME , FILEID_EXCHANGE_TIME , CREATE_ADJ_TIME , CREATE_SET_TIME , SHARED_SET_IDS , SHARED_SET_CONTENTS , SET_OFFSET_TIME , CREATE_TAG_TIME , COORD_TIME , CONN_TIME , SET_TIME , SET_META , SET_CONTENT , SET_PARENT , SET_CHILD , ADJ_TIME , TAG_TIME , DENSE_TAG_TIME , SPARSE_TAG_TIME , VARLEN_TAG_TIME , NUM_TIMES } |
Protected Member Functions | |
virtual ErrorCode | parallel_create_file (const char *filename, bool overwrite, const std::vector< std::string > &qa_records, const FileOptions &opts, const Tag *tag_list, int num_tags, int dimension=3, double *times=0) |
virtual ErrorCode | write_finished () |
virtual void | debug_barrier_line (int lineno) |
ErrorCode | gather_tags (const Tag *user_tag_list, int user_tag_list_length) |
Gather tags. More... | |
bool | check_dense_format_tag (const ExportSet &ents, const Range &all_tagged, bool prefer_dense) |
ErrorCode | count_adjacencies (const Range &elements, wid_t &result) |
ErrorCode | count_set_size (const Range &sets, long &contents_length_out, long &children_length_out, long &parents_length_out) |
ErrorCode | get_set_info (EntityHandle set, long &num_entities, long &num_children, long &num_parents, unsigned long &flags) |
Get information about a meshset. More... | |
ErrorCode | create_set_tables (long contents_length, long children_length, long parents_length) |
ErrorCode | write_qa (const std::vector< std::string > &list) |
Write exodus-type QA info. More... | |
ErrorCode | get_num_sparse_tagged_entities (const TagDesc &tag, size_t &count) |
Get tagged entities for which to write tag values. More... | |
ErrorCode | get_sparse_tagged_entities (const TagDesc &tag, Range &range) |
Get tagged entities for which to write tag values. More... | |
void | get_write_entities (Range &range) |
Get entities that will be written to file. More... | |
const ExportSet * | find (const ExportType &type) const |
const SpecialSetData * | find_set_data (EntityHandle h) const |
SpecialSetData * | find_set_data (EntityHandle h) |
void | print_id_map () const |
void | print_id_map (std::ostream &str, const char *prefix="") const |
ErrorCode | create_tag (const TagDesc &tag_data, unsigned long num_entities, unsigned long var_len_total) |
ErrorCode | assign_ids (const Range &entities, wid_t first_id) |
add entities to idMap More... | |
ErrorCode | range_to_blocked_list (const Range &input_range, std::vector< wid_t > &output_id_list, bool &ranged_list) |
ErrorCode | range_to_blocked_list (const EntityHandle *input_ranges, size_t num_input_ranges, std::vector< wid_t > &output_id_list, bool &ranged_list) |
ErrorCode | range_to_id_list (const Range &input_range, wid_t *array) |
ErrorCode | vector_to_id_list (const std::vector< EntityHandle > &input, std::vector< wid_t > &output, bool remove_non_written=false) |
Get IDs for entities. More... | |
ErrorCode | vector_to_id_list (const EntityHandle *input, wid_t *output, size_t num_entities) |
Get IDs for entities. More... | |
ErrorCode | vector_to_id_list (const EntityHandle *input, size_t input_len, wid_t *output, size_t &output_len, bool remove_non_written) |
Get IDs for entities. More... | |
bool | convert_handle_tag (EntityHandle *data, size_t count) const |
bool | convert_handle_tag (const EntityHandle *source, EntityHandle *dest, size_t count) const |
ErrorCode | get_adjacencies (EntityHandle entity, std::vector< wid_t > &adj) |
ErrorCode | get_tag_data_length (const TagDesc &tag_info, const Range &range, unsigned long &result) |
get sum of lengths of tag values (as number of type) for variable length tag data. More... | |
virtual void | print_times (const double times[NUM_TIMES]) const |
Protected Attributes | |
HDF5ErrorHandler | errorHandler |
Store old HDF5 error handling function. More... | |
size_t | bufferSize |
The size of the data buffer (dataBuffer ). More... | |
char * | dataBuffer |
A memory buffer to use for all I/O operations. More... | |
Interface * | iFace |
Interface pointer passed to constructor. More... | |
WriteUtilIface * | writeUtil |
Cached pointer to writeUtil interface. More... | |
mhdf_FileHandle | filePtr |
The file handle from the mhdf library. More... | |
RangeMap< EntityHandle, wid_t > | idMap |
Map from entity handles to file IDs. More... | |
std::list< ExportSet > | exportList |
The list elements to export. More... | |
ExportSet | nodeSet |
The list of nodes to export. More... | |
ExportSet | setSet |
The list of sets to export. More... | |
unsigned long | setContentsOffset |
Offset into set contents table (zero except for parallel) More... | |
unsigned long | setChildrenOffset |
Offset into set children table (zero except for parallel) More... | |
unsigned long | setParentsOffset |
long | maxNumSetContents |
The largest number of values to write for any processor (needed to do collective IO). More... | |
long | maxNumSetChildren |
long | maxNumSetParents |
bool | writeSets |
Flags idicating if set data should be written. For the normal (non-parallel) case, these values will depend only on whether or not there is any data to be written. For parallel-meshes, opening the data table is collective so the values must depend on whether or not any processor has meshsets to be written. More... | |
bool | writeSetContents |
bool | writeSetChildren |
bool | writeSetParents |
std::vector< SpecialSetData > | specialSets |
Array of special/shared sets, in order of handle value. More... | |
std::list< TagDesc > | tagList |
The list of tags to export. More... | |
bool | parallelWrite |
True if doing parallel write. More... | |
bool | collectiveIO |
True if using collective IO calls for parallel write. More... | |
bool | writeTagDense |
True if writing dense-formatted tag data. More... | |
hid_t | writeProp |
Property set to pass to H5Dwrite calls. For serial, should be H5P_DEFAULTS. For parallel, may request collective IO. More... | |
DebugOutput | dbgOut |
Utility to log debug output. More... | |
bool | debugTrack |
Look for overlapping and/or missing writes. More... | |
Static Protected Attributes | |
static MPEState | topState |
static MPEState | subState |
Private Member Functions | |
ErrorCode | write_file_impl (const char *filename, const bool overwrite, const FileOptions &opts, const EntityHandle *export_sets, const int export_set_count, const std::vector< std::string > &qa_records, const Tag *tag_list, int num_tags, int user_dimension=3) |
Do the actual work of write_file. Separated from write_file for easier resource cleanup. More... | |
ErrorCode | init () |
ErrorCode | serial_create_file (const char *filename, bool overwrite, const std::vector< std::string > &qa_records, const Tag *tag_list, int num_tags, int dimension=3) |
ErrorCode | gather_mesh_info (const std::vector< EntityHandle > &export_sets) |
ErrorCode | gather_all_mesh () |
Same as gather_mesh_info, except for entire mesh. More... | |
ErrorCode | initialize_mesh (const Range entities_by_dim[5]) |
Initialize internal data structures from gathered mesh. More... | |
ErrorCode | write_nodes () |
ErrorCode | write_elems (ExportSet &elemset) |
ErrorCode | write_sets (double *times) |
ErrorCode | write_set_data (const WriteUtilIface::EntityListType which_data, const hid_t handle, IODebugTrack &track, Range *ranged=0, Range *null_stripped=0, std::vector< long > *set_sizes=0) |
ErrorCode | write_adjacencies (const ExportSet &export_set) |
ErrorCode | write_tag (const TagDesc &tag_data, double *times) |
Write tag for all entities. More... | |
ErrorCode | get_connectivity (Range::const_iterator begin, Range::const_iterator end, int nodes_per_element, wid_t *id_data_out) |
Get element connectivity. More... | |
ErrorCode | get_tag_size (Tag tag, DataType &moab_type, int &num_bytes, int &elem_size, int &file_size, mhdf_TagDataType &file_type, hid_t &hdf_type) |
Get size data for tag. More... | |
ErrorCode | write_sparse_ids (const TagDesc &tag_data, const Range &range, hid_t table_handle, size_t table_size, const char *name=0) |
Write ID table for sparse tag. More... | |
ErrorCode | write_sparse_tag (const TagDesc &tag_data, const std::string &tag_name, DataType tag_data_type, hid_t hdf5_data_type, int hdf5_type_size) |
Write fixed-length tag data in sparse format. More... | |
ErrorCode | write_var_len_indices (const TagDesc &tag_data, const Range &range, hid_t idx_table, size_t table_size, int type_size, const char *name=0) |
Write end index data_set for a variable-length tag. More... | |
ErrorCode | write_var_len_data (const TagDesc &tag_data, const Range &range, hid_t table, size_t table_size, bool handle_tag, hid_t hdf_type, int type_size, const char *name=0) |
Write tag value data_set for a variable-length tag. More... | |
ErrorCode | write_var_len_tag (const TagDesc &tag_info, const std::string &tag_name, DataType tag_data_type, hid_t hdf5_type, int hdf5_type_size) |
Write varialbe-length tag data. More... | |
ErrorCode | write_dense_tag (const TagDesc &tag_data, const ExportSet &elem_data, const std::string &tag_name, DataType tag_data_type, hid_t hdf5_data_type, int hdf5_type_size) |
Write dense-formatted tag data. More... | |
ErrorCode | write_tag_values (Tag tag_id, hid_t data_table, unsigned long data_offset, const Range &range, DataType tag_data_type, hid_t hdf5_data_type, int hdf5_type_size, unsigned long max_num_ents, IODebugTrack &debug_track) |
Write data for fixed-size tag. More... | |
Write mesh database to MOAB's native HDF5-based file format.
Definition at line 47 of file WriteHDF5.hpp.
typedef EntityHandle moab::WriteHDF5::wid_t |
The type to use for entity IDs w/in the file.
NOTE: If this is changed, the value of id_type MUST be changed accordingly.
Definition at line 77 of file WriteHDF5.hpp.
|
protected |
Definition at line 690 of file WriteHDF5.hpp.
moab::WriteHDF5::WriteHDF5 | ( | Interface * | iface | ) |
Definition at line 396 of file WriteHDF5.cpp.
Referenced by factory().
|
virtual |
Definition at line 484 of file WriteHDF5.cpp.
References iFace, moab::Interface::release_interface(), and writeUtil.
add entities to idMap
Definition at line 351 of file WriteHDF5.cpp.
References dbgOut, entities, moab::CN::EntityTypeName(), moab::error(), moab::Interface::get_connectivity(), moab::ID_FROM_HANDLE(), idMap, iFace, moab::RangeMap< KeyType, ValType, NullVal >::insert(), MB_SUCCESS, MBPOLYGON, MBPOLYHEDRON, moab::DebugOutput::printf(), and moab::TYPE_FROM_HANDLE().
Referenced by moab::WriteHDF5Parallel::create_element_tables(), moab::WriteHDF5Parallel::create_meshset_tables(), moab::WriteHDF5Parallel::create_node_table(), and serial_create_file().
|
protected |
Check if tag values for a given ExportSet should be written in dense format
ents | ExportSet to consider |
all_tagged | Range containing all the entities in ents.range for which an explicit tag value is stored. Range may also contain entities not in ents.range, but may not contain entities in ents.range for which no tag value is stored. |
prefer_dense | If true, will return true if at least 2/3 of the entities are tagged. This should not be passed as true if the tag does not have a default value, as tag values must be stored for all entities in the ExportSet for dense-formatted data. |
Definition at line 2753 of file WriteHDF5.cpp.
References moab::Range::contains(), moab::Range::empty(), moab::intersect(), moab::WriteHDF5::ExportSet::range, setSet, and moab::Range::size().
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), and serial_create_file().
|
protected |
Definition at line 328 of file WriteHDF5.cpp.
References moab::RangeMap< KeyType, ValType, NullVal >::find(), and idMap.
|
protected |
When writing tags containing EntityHandles to file, need to convert tag data from EntityHandles to file IDs. This function does that.
If the handle is not valid or does not correspond to an entity that will be written to the file, the file ID is set to zero.
data | The data buffer. As input, an array of EntityHandles. As output an array of file IDS, where the size of each integral file ID is the same as the size of EntityHandle. |
count | The number of handles in the buffer. |
Definition at line 345 of file WriteHDF5.cpp.
Referenced by create_tag(), write_tag_values(), and write_var_len_data().
Helper function for create-file
Calculate the sum of the number of non-set adjacencies of all entities in the passed range.
Definition at line 2772 of file WriteHDF5.cpp.
References moab::Range::begin(), CHK_MB_ERR_0, moab::Range::end(), ErrorCode, get_adjacencies(), and MB_SUCCESS.
Referenced by moab::WriteHDF5Parallel::create_adjacency_tables(), and serial_create_file().
|
protected |
Helper function for create-file
Calculate total length of set contents and child tables.
Definition at line 2809 of file WriteHDF5.cpp.
References moab::Range::begin(), CHK_MB_ERR_0, moab::Range::clear(), moab::Range::end(), ErrorCode, moab::Interface::get_entities_by_handle(), get_set_info(), iFace, MB_SUCCESS, range_to_blocked_list(), and specialSets.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), and serial_create_file().
ErrorCode moab::WriteHDF5::create_elem_table | ( | const ExportSet & | block, |
long | num_ents, | ||
long & | first_id_out | ||
) |
Helper function for create-file
Create zero-ed tables where element connectivity and adjacency data will be stored.
Definition at line 2791 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MHDF_ERR_0, filePtr, MB_SUCCESS, mhdf_addElement(), mhdf_closeData(), mhdf_createConnectivity(), moab::WriteHDF5::ExportSet::name(), moab::WriteHDF5::ExportType::num_nodes, and moab::WriteHDF5::ExportType::type.
Referenced by moab::WriteHDF5Parallel::create_element_tables(), and serial_create_file().
ErrorCode moab::WriteHDF5::create_set_meta | ( | long | num_sets, |
long & | first_id_out | ||
) |
Helper function for create-file
Create zero-ed table where set descriptions will be written
Definition at line 2868 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MHDF_ERR_0, filePtr, MB_SUCCESS, mhdf_closeData(), and mhdf_createSetMeta().
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), and serial_create_file().
|
protected |
Helper function for create-file
Create zero-ed tables where set data will be written.
Definition at line 2891 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MHDF_ERR_0, filePtr, MB_SUCCESS, mhdf_closeData(), mhdf_createSetChildren(), mhdf_createSetData(), and mhdf_createSetParents().
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), and serial_create_file().
|
protected |
Helper function for create-file
Write tag meta-info and create zero-ed table where tag values will be written.
num_entities | Number of entities for which to write tag data. |
var_len_total | For variable-length tags, the total number of values in the data table. |
Definition at line 3096 of file WriteHDF5.cpp.
References bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, convert_handle_tag(), dataBuffer, moab::WriteHDF5::TagDesc::dense_list, moab::error(), ErrorCode, filePtr, find(), get_tag_size(), id_type, iFace, MB_ENTITY_NOT_FOUND, MB_SUCCESS, MB_TAG_BIT, MB_TAG_DENSE, MB_TAG_MESH, MB_TAG_NOT_FOUND, MB_TAG_SPARSE, MB_TYPE_HANDLE, MB_VARIABLE_LENGTH, mhdf_BIT_TYPE, mhdf_closeData(), mhdf_createDenseTagData(), mhdf_createSparseTagData(), mhdf_createTag(), mhdf_createVarLenTag(), mhdf_createVarLenTagData(), mhdf_DENSE_TYPE, mhdf_MESH_TYPE, mhdf_SPARSE_TYPE, moab::WriteHDF5::ExportSet::name(), moab::Interface::tag_get_by_ptr(), moab::Interface::tag_get_data(), moab::Interface::tag_get_default_value(), moab::Interface::tag_get_name(), moab::Interface::tag_get_type(), moab::WriteHDF5::TagDesc::tag_id, TagType, and moab::WriteHDF5::ExportSet::total_num_ents.
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), and serial_create_file().
|
protectedvirtual |
|
static |
Definition at line 391 of file WriteHDF5.cpp.
References iface, and WriteHDF5().
Referenced by moab::ReaderWriterSet::ReaderWriterSet().
|
inline |
Definition at line 199 of file WriteHDF5.hpp.
References filePtr.
Referenced by moab::WriteHDF5Parallel::create_adjacency_tables(), and moab::WriteHDF5Parallel::create_node_table().
|
inlineprotected |
Definition at line 323 of file WriteHDF5.hpp.
References exportList, MBENTITYSET, MBVERTEX, nodeSet, setSet, and moab::WriteHDF5::ExportType::type.
Referenced by create_tag(), gather_mesh_info(), and write_tag().
|
protected |
Definition at line 2882 of file WriteHDF5.cpp.
References moab::WriteHDF5::SpecialSetData::setHandle, and specialSets.
|
inlineprotected |
Definition at line 374 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::unpack_set().
|
private |
Same as gather_mesh_info, except for entire mesh.
Definition at line 881 of file WriteHDF5.cpp.
References moab::error(), ErrorCode, moab::Interface::get_entities_by_dimension(), moab::Interface::get_entities_by_type(), iFace, initialize_mesh(), MB_SUCCESS, MBENTITYSET, and MBVERTEX.
Referenced by write_file_impl().
|
private |
Get all mesh to export from given list of sets.
Populate exportSets, nodeSet and setSet with lists of entities to write.
export_sets | The list of meshsets to export |
Definition at line 809 of file WriteHDF5.cpp.
References moab::Range::begin(), CHK_MB_ERR_0, moab::Range::clear(), dim, moab::Range::end(), ErrorCode, find(), moab::WriteUtilIface::gather_nodes_from_elements(), moab::Interface::get_adjacencies(), moab::Interface::get_child_meshsets(), moab::Interface::get_entities_by_dimension(), moab::Interface::get_entities_by_type(), iFace, initialize_mesh(), moab::Range::insert(), MBENTITYSET, moab::Range::merge(), and writeUtil.
Referenced by write_file_impl().
|
protected |
Gather tags.
Definition at line 2504 of file WriteHDF5.cpp.
References CHK_MB_ERR_0, ErrorCode, moab::WriteUtilIface::get_tag_list(), moab::WriteHDF5::TagDesc::max_num_ents, moab::WriteHDF5::TagDesc::max_num_vals, MB_SUCCESS, moab::WriteHDF5::TagDesc::sparse_offset, moab::WriteHDF5::TagDesc::tag_id, tagList, moab::WriteHDF5::TagDesc::var_data_offset, moab::WriteHDF5::TagDesc::write_sparse, and writeUtil.
Referenced by moab::WriteHDF5Parallel::parallel_create_file(), and serial_create_file().
|
inlineprotected |
Get IDs of adjacent entities.
For all entities adjacent to the passed entity, if the adjacent entity is to be exported (ID is not zero), append the ID to the passed list.
Definition at line 1774 of file WriteHDF5.cpp.
References moab::error(), ErrorCode, moab::RangeMap< KeyType, ValType, NullVal >::find(), moab::WriteUtilIface::get_adjacencies(), idMap, MB_SUCCESS, and writeUtil.
Referenced by count_adjacencies(), and write_adjacencies().
|
private |
Get element connectivity.
|
protected |
Get tagged entities for which to write tag values.
Definition at line 3250 of file WriteHDF5.cpp.
References ErrorCode, get_sparse_tagged_entities(), and moab::Range::size().
Referenced by moab::WriteHDF5Parallel::create_tag_tables().
|
protected |
Get information about a meshset.
Definition at line 1102 of file WriteHDF5.cpp.
References CHK_MB_ERR_0, ErrorCode, moab::Interface::get_meshset_options(), moab::Interface::get_number_entities_by_handle(), iFace, MB_SUCCESS, moab::Interface::num_child_meshsets(), and moab::Interface::num_parent_meshsets().
Referenced by count_set_size(), and write_sets().
|
protected |
Get tagged entities for which to write tag values.
Definition at line 3258 of file WriteHDF5.cpp.
References moab::Range::clear(), moab::Range::empty(), exportList, moab::Interface::get_entities_by_type_and_tag(), moab::WriteHDF5::TagDesc::have_dense(), iFace, moab::Interface::INTERSECT, MB_SUCCESS, MBMAXTYPE, moab::Range::merge(), nodeSet, moab::WriteHDF5::ExportSet::range, setSet, and moab::WriteHDF5::TagDesc::tag_id.
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), get_num_sparse_tagged_entities(), serial_create_file(), write_sparse_tag(), and write_var_len_tag().
|
protected |
get sum of lengths of tag values (as number of type) for variable length tag data.
Definition at line 3057 of file WriteHDF5.cpp.
References moab::Range::begin(), bufferSize, moab::Range::clear(), dataBuffer, moab::Range::end(), moab::error(), ErrorCode, iFace, MB_SUCCESS, moab::Range::merge(), moab::Range::size(), moab::Interface::tag_get_by_ptr(), and moab::WriteHDF5::TagDesc::tag_id.
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), and serial_create_file().
|
private |
Get size data for tag.
tag | MOAB tag ID |
moab_type | Output: DataType for tag |
num_bytes | Output: MOAB tag size (bits for bit tags). MB_VARIABLE_LENGTH for variable-length tags. |
elem_size | Output: Size of of the base data type of the tag data (e.g. sizeof(double) if moab_type == MB_TYPE_DOUBLE). One for bit and opaque tags. |
array_size | Output: The number of valeus of size elem_size for each tag. Always 1 for opaque data. Nubmer of bits for bit tags. |
file_type | Output: mhdf type enumeration |
hdf_type | Output: Handle to HDF5 type object. Caller is responsible for releasing this object (calling H5Tclose). |
Definition at line 2922 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MB_ERR_0, moab::error(), ErrorCode, id_type, iFace, MB_SUCCESS, MB_TAG_ANY, MB_TAG_NOT_FOUND, MB_TYPE_BIT, MB_TYPE_DOUBLE, MB_TYPE_HANDLE, MB_TYPE_INTEGER, MB_TYPE_OPAQUE, MB_VARIABLE_DATA_LENGTH, MB_VARIABLE_LENGTH, mhdf_BITFIELD, mhdf_ENTITY_ID, mhdf_FLOAT, mhdf_INTEGER, mhdf_OPAQUE, moab::Interface::tag_get_bytes(), moab::Interface::tag_get_data(), moab::Interface::tag_get_data_type(), moab::Interface::tag_get_handle(), moab::Interface::tag_get_length(), moab::Interface::tag_get_name(), and tag_type_name().
Referenced by create_tag(), and write_tag().
|
protected |
Get entities that will be written to file.
Definition at line 3273 of file WriteHDF5.cpp.
References moab::Range::clear(), exportList, moab::Range::merge(), nodeSet, moab::WriteHDF5::ExportSet::range, and setSet.
|
private |
Definition at line 405 of file WriteHDF5.cpp.
References CHK_MB_ERR_0, moab::RangeMap< KeyType, ValType, NullVal >::clear(), moab::WriteHDF5::HDF5ErrorHandler::data, ErrorCode, errorHandler, moab::WriteHDF5::HDF5ErrorHandler::func, moab::handle_hdf5_error(), idMap, iFace, MB_SUCCESS, moab::Interface::query_interface(), subState, topState, and writeUtil.
Referenced by write_file_impl().
Initialize internal data structures from gathered mesh.
Definition at line 738 of file WriteHDF5.cpp.
References moab::Range::clear(), dim, moab::CN::Dimension(), moab::Range::equal_range(), moab::error(), ErrorCode, exportList, moab::GeomUtil::first(), moab::Interface::get_connectivity(), iFace, moab::WriteHDF5::ExportSet::max_num_adjs, moab::WriteHDF5::ExportSet::max_num_ents, maxNumSetChildren, maxNumSetContents, maxNumSetParents, MB_SUCCESS, MBEDGE, MBENTITYSET, MBVERTEX, nodeSet, moab::WriteHDF5::ExportType::num_nodes, moab::WriteHDF5::ExportSet::range, setSet, and moab::WriteHDF5::ExportType::type.
Referenced by gather_all_mesh(), and gather_mesh_info().
|
protectedvirtual |
Function to create the file. Virtual to allow override for parallel version.
Reimplemented in moab::WriteHDF5Parallel.
Definition at line 2536 of file WriteHDF5.cpp.
References MB_NOT_IMPLEMENTED, and MB_SET_ERR.
Referenced by write_file_impl().
|
protected |
Definition at line 3283 of file WriteHDF5.cpp.
|
protected |
Definition at line 3288 of file WriteHDF5.cpp.
References moab::RangeMap< KeyType, ValType, NullVal >::begin(), moab::RangeMap< KeyType, ValType, NullVal >::end(), moab::CN::EntityTypeName(), moab::ID_FROM_HANDLE(), idMap, and moab::TYPE_FROM_HANDLE().
|
protectedvirtual |
Definition at line 3316 of file WriteHDF5.cpp.
References ADJ_TIME, CONN_TIME, COORD_TIME, CREATE_ADJ_TIME, CREATE_ELEM_TIME, CREATE_NODE_TIME, CREATE_SET_TIME, CREATE_TAG_TIME, CREATE_TIME, DENSE_TAG_TIME, FILEID_EXCHANGE_TIME, GATHER_TIME, NEGOTIATE_TYPES_TIME, SET_CHILD, SET_CONTENT, SET_META, SET_OFFSET_TIME, SET_PARENT, SET_TIME, SHARED_SET_CONTENTS, SHARED_SET_IDS, SPARSE_TAG_TIME, TAG_TIME, TOTAL_TIME, and VARLEN_TAG_TIME.
Referenced by moab::WriteHDF5Parallel::print_times(), and write_file_impl().
|
protected |
Get possibly compacted list of IDs for passed entities
For the passed range of entities, determine if IDs can be compacted and write IDs to passed list.
If the IDs are not compacted, the output list will contain a simple ordered list of IDs.
If IDs are compacted, the output list will contain {start,count} pairs.
If the ID list is compacted, ranged_list will be 'true'. Otherwise it will be 'false'.
Definition at line 1717 of file WriteHDF5.cpp.
References idMap, and moab::range_to_blocked_list_templ().
|
protected |
Get possibly compacted list of IDs for passed entities
For the passed range of entities, determine if IDs can be compacted and write IDs to passed list.
If the IDs are not compacted, the output list will contain a simple ordered list of IDs.
If IDs are compacted, the output list will contain {start,count} pairs.
If the ID list is compacted, ranged_list will be 'true'. Otherwise it will be 'false'.
Definition at line 1709 of file WriteHDF5.cpp.
References moab::Range::const_pair_begin(), moab::Range::const_pair_end(), idMap, and moab::range_to_blocked_list_templ().
Referenced by moab::WriteHDF5Parallel::communicate_shared_set_data(), count_set_size(), moab::WriteHDF5Parallel::pack_set(), and write_set_data().
Definition at line 1729 of file WriteHDF5.cpp.
References moab::Range::const_pair_begin(), moab::Range::const_pair_end(), idMap, and moab::range_to_id_list_templ().
Referenced by write_sparse_ids().
|
private |
Definition at line 2548 of file WriteHDF5.cpp.
References moab::WriteHDF5::ExportSet::adj_offset, assign_ids(), check_dense_format_tag(), CHK_MB_ERR_0, CHK_MHDF_ERR_0, count_adjacencies(), count_set_size(), create_elem_table(), create_set_meta(), create_set_tables(), create_tag(), dbgOut, moab::Range::empty(), moab::CN::EntityTypeName(), ErrorCode, exportList, filePtr, moab::WriteHDF5::ExportSet::first_id, gather_tags(), get_sparse_tagged_entities(), get_tag_data_length(), id_type, iFace, moab::WriteHDF5::ExportSet::max_num_adjs, moab::WriteHDF5::ExportSet::max_num_ents, maxNumSetChildren, maxNumSetContents, maxNumSetParents, MB_SUCCESS, MB_TAG_DENSE, MB_VARIABLE_DATA_LENGTH, MBEDGE, MBENTITYSET, MBMAXTYPE, mhdf_closeData(), mhdf_createAdjacency(), mhdf_createFile(), mhdf_createNodeCoords(), mhdf_node_type_handle(), nodeSet, moab::WriteHDF5::ExportSet::offset, moab::WriteHDF5::ExportSet::range, setChildrenOffset, setContentsOffset, setParentsOffset, setSet, moab::Range::size(), moab::Interface::tag_get_default_value(), moab::Interface::tag_get_length(), moab::Interface::tag_get_type(), tagList, TagType, topState, moab::WriteHDF5::ExportSet::total_num_ents, moab::DebugOutput::tprint(), write_qa(), writeSetChildren, writeSetContents, writeSetParents, writeSets, and writeTagDense.
Referenced by write_file_impl().
|
protected |
Get IDs for entities.
Definition at line 1734 of file WriteHDF5.cpp.
References moab::RangeMap< KeyType, ValType, NullVal >::find(), idMap, MB_SUCCESS, and output.
|
protected |
Get IDs for entities.
Definition at line 1768 of file WriteHDF5.cpp.
References output, and vector_to_id_list().
|
protected |
Get IDs for entities.
Definition at line 1757 of file WriteHDF5.cpp.
References ErrorCode, and output.
Referenced by moab::WriteHDF5Parallel::communicate_shared_set_data(), moab::WriteHDF5Parallel::pack_set(), vector_to_id_list(), and write_set_data().
Write adjacency info for passed set of elements
Note: Must have written element connectivity so elements have IDs assigned.
Definition at line 1790 of file WriteHDF5.cpp.
References moab::WriteHDF5::ExportSet::adj_offset, moab::IODebugTrack::all_reduce(), moab::Range::begin(), buffer, bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_1, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, collectiveIO, dataBuffer, dbgOut, debug_barrier, debugTrack, moab::Range::end(), ErrorCode, filePtr, moab::RangeMap< KeyType, ValType, NullVal >::find(), get_adjacencies(), id_type, idMap, moab::WriteHDF5::ExportSet::max_num_adjs, MB_SUCCESS, mhdf_closeData(), mhdf_openAdjacency(), mhdf_writeAdjacencyWithOpt(), moab::WriteHDF5::ExportSet::name(), moab::DebugOutput::print(), moab::WriteHDF5::ExportSet::range, moab::IODebugTrack::record_io(), VALGRIND_MAKE_MEM_UNDEFINED, and writeProp.
Referenced by write_file_impl().
|
private |
Write dense-formatted tag data.
Definition at line 2295 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, debugTrack, ErrorCode, filePtr, moab::WriteHDF5::ExportSet::max_num_ents, MB_SUCCESS, mhdf_closeData(), mhdf_openDenseTagData(), moab::WriteHDF5::ExportSet::name(), moab::WriteHDF5::ExportSet::offset, moab::WriteHDF5::ExportSet::range, moab::Range::size(), moab::WriteHDF5::TagDesc::tag_id, and write_tag_values().
Referenced by write_tag().
Write out element connectivity.
Write connectivity for passed set of elements.
Note: Assigns element IDs. Note: Must do write_nodes first so node IDs get assigned.
Definition at line 1013 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), buffer, bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_1, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, collectiveIO, dataBuffer, dbgOut, debug_barrier, debugTrack, moab::CN::EntityTypeName(), moab::error(), ErrorCode, filePtr, moab::RangeMap< KeyType, ValType, NullVal >::find(), moab::WriteHDF5::ExportSet::first_id, moab::WriteUtilIface::get_element_connect(), id_type, idMap, moab::WriteHDF5::ExportSet::max_num_ents, MB_SET_ERR_CONT, MB_SUCCESS, mhdf_closeData(), mhdf_openConnectivity(), mhdf_writeConnectivityWithOpt(), moab::WriteHDF5::ExportSet::name(), moab::WriteHDF5::ExportType::num_nodes, moab::WriteHDF5::ExportSet::offset, moab::DebugOutput::print(), moab::DebugOutput::printf(), moab::WriteHDF5::ExportSet::range, moab::IODebugTrack::record_io(), moab::Range::size(), moab::WriteHDF5::ExportType::type, VALGRIND_MAKE_MEM_UNDEFINED, writeProp, and writeUtil.
Referenced by write_file_impl().
|
virtual |
Export specified meshsets to file
filename | The filename to export. |
export_sets | Array of handles to sets to export, or NULL to export all. |
export_set_count | Length of export_sets array. |
Implements moab::WriterIface.
Definition at line 492 of file WriteHDF5.cpp.
References bufferSize, collectiveIO, dataBuffer, dbgOut, debugTrack, moab::error(), ErrorCode, filePtr, moab::FileOptions::get_int_option(), moab::FileOptions::get_null_option(), MB_ENTITY_NOT_FOUND, MB_MEMORY_ALLOCATION_FAILED, MB_SET_ERR_CONT, MB_SUCCESS, mhdf_closeFile(), mhdf_isError(), mhdf_message(), parallelWrite, moab::DebugOutput::set_verbosity(), write_file_impl(), write_finished(), WRITE_HDF5_BUFFER_SIZE, writeProp, and writeTagDense.
|
private |
Do the actual work of write_file. Separated from write_file for easier resource cleanup.
Definition at line 569 of file WriteHDF5.cpp.
References ADJ_TIME, CHK_MB_ERR_0, collectiveIO, CONN_TIME, COORD_TIME, CREATE_TIME, dbgOut, debug_barrier, moab::Range::empty(), moab::error(), ErrorCode, exportList, gather_all_mesh(), gather_mesh_info(), GATHER_TIME, moab::Interface::get_dimension(), moab::FileOptions::get_null_option(), iFace, init(), moab::FileOptions::match_option(), MB_SET_ERR_CONT, MB_SUCCESS, nodeSet, NUM_TIMES, parallel_create_file(), parallelWrite, print_times(), moab::WriteHDF5::ExportSet::range, serial_create_file(), SET_TIME, setSet, moab::Range::size(), moab::Interface::tag_get_name(), TAG_TIME, tagList, moab::CpuTimer::time_elapsed(), moab::CpuTimer::time_since_birth(), topState, TOTAL_TIME, moab::DebugOutput::tprint(), write_adjacencies(), write_elems(), write_nodes(), write_sets(), and write_tag().
Referenced by write_file().
|
protectedvirtual |
Definition at line 456 of file WriteHDF5.cpp.
References moab::Range::clear(), moab::RangeMap< KeyType, ValType, NullVal >::clear(), moab::WriteHDF5::HDF5ErrorHandler::data, errorHandler, exportList, moab::WriteHDF5::HDF5ErrorHandler::func, moab::handle_hdf5_error(), idMap, MB_SUCCESS, nodeSet, moab::WriteHDF5::ExportSet::range, setSet, and tagList.
Referenced by write_file().
|
private |
Write out the nodes.
Note: Assigns IDs to nodes.
Definition at line 904 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), buffer, bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MB_ERR_1, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, collectiveIO, dataBuffer, dbgOut, debug_barrier, debugTrack, dim, ErrorCode, filePtr, moab::Interface::get_dimension(), moab::WriteUtilIface::get_node_coords(), iFace, moab::WriteHDF5::ExportSet::max_num_ents, MB_SUCCESS, mhdf_closeData(), mhdf_openNodeCoords(), mhdf_writeNodeCoordsWithOpt(), mhdf_writeNodeCoordWithOpt(), nodeSet, moab::WriteHDF5::ExportSet::offset, moab::DebugOutput::print(), moab::DebugOutput::printf(), moab::WriteHDF5::ExportSet::range, moab::IODebugTrack::record_io(), moab::Range::size(), moab::WriteHDF5::ExportSet::total_num_ents, VALGRIND_MAKE_MEM_UNDEFINED, writeProp, and writeUtil.
Referenced by write_file_impl().
|
protected |
Write exodus-type QA info.
Definition at line 2401 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MHDF_ERR_0, dbgOut, filePtr, MB_SUCCESS, mhdf_writeHistory(), MOAB_VERSION, and moab::DebugOutput::print().
Referenced by moab::WriteHDF5Parallel::parallel_create_file(), and serial_create_file().
|
private |
Write set contents/parents/children lists
which_data | Which set data to write (contents, parents, or children) |
handle | HDF5 handle for data set in which to write data |
track | Debugging tool |
ranged | Will be populated with handles of sets for which contents were written in a range-compacted format. (mhdf_SET_RANGE_BIT). Should be null for parents/children. |
null_stripped | Will be populated with handles of sets for which invalid or null handles were stripped from the contents list. This is only done for unordered sets. This argument should be null if writing parents/children because those lists are always ordered. |
set_sizes | Will be populated with the length of the data written for those sets for which the handles were added to either ranged or null_stripped . Values are in handle order. |
Definition at line 1131 of file WriteHDF5.cpp.
References moab::Range::begin(), buffer, bufferSize, moab::WriteUtilIface::CHILDREN, CHK_MB_ERR_0, CHK_MHDF_ERR_0, moab::WriteUtilIface::CONTENTS, dataBuffer, dbgOut, debug_barrier, moab::Range::end(), ErrorCode, moab::WriteUtilIface::get_entity_list_pointers(), id_type, moab::Range::insert(), maxNumSetChildren, maxNumSetContents, maxNumSetParents, MB_SUCCESS, mhdf_writeSetDataWithOpt(), mhdf_writeSetParentsChildrenWithOpt(), moab::WriteUtilIface::PARENTS, moab::DebugOutput::print(), moab::WriteHDF5::ExportSet::range, range_to_blocked_list(), moab::IODebugTrack::record_io(), setChildrenOffset, setContentsOffset, setParentsOffset, setSet, specialSets, vector_to_id_list(), writeProp, and writeUtil.
Referenced by write_sets().
|
private |
Write out meshsets
Write passed set of meshsets, including parent/child relations.
Note: Must have written nodes and element connectivity so entities have assigned IDs.
Definition at line 1363 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), buffer, bufferSize, CHECK_OPEN_HANDLES, moab::WriteUtilIface::CHILDREN, CHK_MB_ERR_1, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, moab::WriteUtilIface::CONTENTS, dataBuffer, dbgOut, debug_barrier, debugTrack, moab::Range::end(), ErrorCode, filePtr, get_set_info(), moab::WriteHDF5::ExportSet::max_num_ents, MB_SUCCESS, mhdf_closeData(), MHDF_INDEX_TYPE, mhdf_openSetChildren(), mhdf_openSetData(), mhdf_openSetMeta(), mhdf_openSetParents(), mhdf_SET_RANGE_BIT, mhdf_writeSetMetaWithOpt(), moab::WriteHDF5::ExportSet::offset, moab::WriteUtilIface::PARENTS, moab::DebugOutput::print(), moab::DebugOutput::printf(), moab::WriteHDF5::ExportSet::range, moab::IODebugTrack::record_io(), SET_CHILD, SET_CONTENT, SET_META, SET_PARENT, setChildrenOffset, setContentsOffset, setParentsOffset, setSet, size, moab::Range::size(), specialSets, moab::CpuTimer::time_elapsed(), topState, write_set_data(), writeProp, writeSetChildren, writeSetContents, writeSetParents, and writeSets.
Referenced by write_file_impl().
|
private |
Write ID table for sparse tag.
Definition at line 1939 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, collectiveIO, dataBuffer, dbgOut, debugTrack, ErrorCode, id_type, moab::WriteHDF5::TagDesc::max_num_ents, MB_SUCCESS, moab::Range::merge(), mhdf_writeSparseTagEntitiesWithOpt(), moab::DebugOutput::print(), range_to_id_list(), moab::IODebugTrack::record_io(), moab::Range::size(), moab::WriteHDF5::TagDesc::sparse_offset, VALGRIND_MAKE_MEM_UNDEFINED, and writeProp.
Referenced by write_sparse_tag(), and write_var_len_tag().
|
private |
Write fixed-length tag data in sparse format.
Definition at line 2012 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MB_ERR_2, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, debugTrack, ErrorCode, filePtr, get_sparse_tagged_entities(), moab::WriteHDF5::TagDesc::max_num_ents, MB_SUCCESS, mhdf_closeData(), mhdf_openSparseTagData(), moab::Range::size(), moab::WriteHDF5::TagDesc::sparse_offset, subState, moab::WriteHDF5::TagDesc::tag_id, write_sparse_ids(), and write_tag_values().
Referenced by write_tag().
Write tag for all entities.
Write tag information and data.
Note: Must have already written nodes, elem connectivity and sets so that entities have IDs assigned.
Definition at line 1888 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, dbgOut, debug_barrier, moab::WriteHDF5::TagDesc::dense_list, DENSE_TAG_TIME, moab::error(), ErrorCode, find(), get_tag_size(), iFace, MB_SUCCESS, MB_TYPE_BIT, MB_VARIABLE_LENGTH, moab::WriteHDF5::ExportSet::name(), moab::DebugOutput::printf(), SPARSE_TAG_TIME, subState, moab::Interface::tag_get_name(), moab::WriteHDF5::TagDesc::tag_id, moab::CpuTimer::time_elapsed(), moab::DebugOutput::tprintf(), VARLEN_TAG_TIME, write_dense_tag(), moab::WriteHDF5::TagDesc::write_sparse, write_sparse_tag(), and write_var_len_tag().
Referenced by write_file_impl().
|
private |
Write data for fixed-size tag.
Definition at line 2321 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, collectiveIO, convert_handle_tag(), dataBuffer, dbgOut, ErrorCode, iFace, MB_SUCCESS, MB_TYPE_HANDLE, moab::Range::merge(), mhdf_writeTagValuesWithOpt(), moab::DebugOutput::print(), moab::IODebugTrack::record_io(), moab::Range::size(), moab::Interface::tag_get_data(), VALGRIND_MAKE_MEM_UNDEFINED, and writeProp.
Referenced by write_dense_tag(), and write_sparse_tag().
|
inline |
Definition at line 204 of file WriteHDF5.hpp.
References writeUtil.
|
private |
Write tag value data_set for a variable-length tag.
Definition at line 2141 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), buffer, bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, collectiveIO, convert_handle_tag(), dataBuffer, dbgOut, debugTrack, moab::Range::end(), ErrorCode, iFace, moab::WriteHDF5::TagDesc::max_num_vals, MB_SUCCESS, mhdf_writeTagValuesWithOpt(), moab::DebugOutput::print(), moab::IODebugTrack::record_io(), moab::Interface::tag_get_by_ptr(), moab::WriteHDF5::TagDesc::tag_id, moab::WriteHDF5::TagDesc::var_data_offset, and writeProp.
Referenced by write_var_len_tag().
|
private |
Write end index data_set for a variable-length tag.
Definition at line 2058 of file WriteHDF5.cpp.
References moab::IODebugTrack::all_reduce(), moab::Range::begin(), bufferSize, CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MHDF_ERR_0, collectiveIO, dataBuffer, dbgOut, debugTrack, ErrorCode, id_type, iFace, moab::WriteHDF5::TagDesc::max_num_ents, MB_SUCCESS, moab::Range::merge(), MHDF_INDEX_TYPE, mhdf_writeSparseTagIndicesWithOpt(), moab::DebugOutput::print(), moab::IODebugTrack::record_io(), moab::Range::size(), moab::WriteHDF5::TagDesc::sparse_offset, moab::Interface::tag_get_by_ptr(), moab::WriteHDF5::TagDesc::tag_id, VALGRIND_MAKE_MEM_UNDEFINED, moab::WriteHDF5::TagDesc::var_data_offset, and writeProp.
Referenced by write_var_len_tag().
|
private |
Write varialbe-length tag data.
Definition at line 2244 of file WriteHDF5.cpp.
References CHECK_OPEN_HANDLES, CHK_MB_ERR_0, CHK_MB_ERR_1, CHK_MB_ERR_2, CHK_MHDF_ERR_0, CHK_MHDF_ERR_1, CHK_MHDF_ERR_2, ErrorCode, filePtr, get_sparse_tagged_entities(), MB_SUCCESS, MB_TYPE_HANDLE, mhdf_closeData(), mhdf_openSparseTagData(), moab::Range::size(), moab::WriteHDF5::TagDesc::sparse_offset, subState, write_sparse_ids(), write_var_len_data(), and write_var_len_indices().
Referenced by write_tag().
|
protected |
The size of the data buffer (dataBuffer
).
Definition at line 301 of file WriteHDF5.hpp.
Referenced by create_tag(), get_tag_data_length(), write_adjacencies(), write_elems(), write_file(), write_nodes(), write_set_data(), write_sets(), write_sparse_ids(), write_tag_values(), write_var_len_data(), and write_var_len_indices().
|
protected |
True if using collective IO calls for parallel write.
Definition at line 386 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::parallel_create_file(), write_adjacencies(), write_elems(), write_file(), write_file_impl(), write_nodes(), write_sparse_ids(), write_tag_values(), write_var_len_data(), and write_var_len_indices().
|
protected |
A memory buffer to use for all I/O operations.
Definition at line 303 of file WriteHDF5.hpp.
Referenced by create_tag(), get_tag_data_length(), write_adjacencies(), write_elems(), write_file(), write_nodes(), write_set_data(), write_sets(), write_sparse_ids(), write_tag_values(), write_var_len_data(), and write_var_len_indices().
|
protected |
Utility to log debug output.
Definition at line 396 of file WriteHDF5.hpp.
Referenced by assign_ids(), moab::WriteHDF5Parallel::communicate_shared_set_data(), moab::WriteHDF5Parallel::communicate_shared_set_ids(), moab::WriteHDF5Parallel::create_meshset_tables(), moab::WriteHDF5Parallel::create_tag_tables(), moab::WriteHDF5Parallel::debug_barrier_line(), moab::WriteHDF5Parallel::exchange_file_ids(), moab::WriteHDF5Parallel::gather_interface_meshes(), moab::WriteHDF5Parallel::negotiate_type_list(), moab::WriteHDF5Parallel::parallel_create_file(), moab::WriteHDF5Parallel::print_set_sharing_data(), serial_create_file(), write_adjacencies(), write_elems(), write_file(), write_file_impl(), write_nodes(), write_qa(), write_set_data(), write_sets(), write_sparse_ids(), write_tag(), write_tag_values(), write_var_len_data(), and write_var_len_indices().
|
protected |
Look for overlapping and/or missing writes.
Definition at line 402 of file WriteHDF5.hpp.
Referenced by write_adjacencies(), write_dense_tag(), write_elems(), write_file(), write_nodes(), write_sets(), write_sparse_ids(), write_sparse_tag(), write_var_len_data(), and write_var_len_indices().
|
protected |
Store old HDF5 error handling function.
Definition at line 211 of file WriteHDF5.hpp.
Referenced by init(), and write_finished().
|
protected |
The list elements to export.
Definition at line 317 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_adjacency_tables(), moab::WriteHDF5Parallel::create_element_tables(), moab::WriteHDF5Parallel::create_tag_tables(), moab::WriteHDF5Parallel::exchange_file_ids(), find(), moab::WriteHDF5Parallel::gather_interface_meshes(), get_sparse_tagged_entities(), get_write_entities(), initialize_mesh(), moab::WriteHDF5Parallel::negotiate_type_list(), moab::WriteHDF5Parallel::remove_remote_entities(), serial_create_file(), write_file_impl(), and write_finished().
|
protected |
The file handle from the mhdf library.
Definition at line 311 of file WriteHDF5.hpp.
Referenced by create_elem_table(), create_set_meta(), create_set_tables(), create_tag(), file_ptr(), moab::WriteHDF5Parallel::parallel_create_file(), serial_create_file(), write_adjacencies(), write_dense_tag(), write_elems(), write_file(), write_nodes(), write_qa(), write_sets(), write_sparse_tag(), and write_var_len_tag().
|
static |
HDF5 type corresponding to type of wid_t
Definition at line 82 of file WriteHDF5.hpp.
Referenced by create_tag(), get_tag_size(), moab::WriteHDF5Parallel::parallel_create_file(), serial_create_file(), write_adjacencies(), write_elems(), write_set_data(), write_sparse_ids(), and write_var_len_indices().
|
protected |
Map from entity handles to file IDs.
Definition at line 314 of file WriteHDF5.hpp.
Referenced by assign_ids(), moab::WriteHDF5Parallel::communicate_shared_set_ids(), convert_handle_tag(), moab::WriteHDF5Parallel::exchange_file_ids(), get_adjacencies(), init(), print_id_map(), moab::WriteHDF5Parallel::print_set_sharing_data(), range_to_blocked_list(), range_to_id_list(), vector_to_id_list(), write_adjacencies(), write_elems(), and write_finished().
|
protected |
Interface pointer passed to constructor.
Definition at line 306 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::append_serial_tag_data(), assign_ids(), moab::WriteHDF5Parallel::check_serial_tag_data(), moab::WriteHDF5Parallel::communicate_shared_set_data(), count_set_size(), moab::WriteHDF5Parallel::create_meshset_tables(), create_tag(), moab::WriteHDF5Parallel::create_tag_tables(), moab::WriteHDF5Parallel::exchange_file_ids(), gather_all_mesh(), gather_mesh_info(), get_set_info(), get_sparse_tagged_entities(), get_tag_data_length(), get_tag_size(), init(), initialize_mesh(), moab::WriteHDF5Parallel::parallel_create_file(), moab::WriteHDF5Parallel::print_set_sharing_data(), moab::WriteHDF5Parallel::print_shared_sets(), serial_create_file(), write_file_impl(), write_nodes(), write_tag(), write_tag_values(), write_var_len_data(), write_var_len_indices(), and ~WriteHDF5().
|
protected |
Definition at line 343 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), initialize_mesh(), serial_create_file(), and write_set_data().
|
protected |
The largest number of values to write for any processor (needed to do collective IO).
Definition at line 343 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), initialize_mesh(), serial_create_file(), and write_set_data().
|
protected |
Definition at line 343 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), initialize_mesh(), serial_create_file(), and write_set_data().
|
protected |
The list of nodes to export.
Definition at line 319 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_adjacency_tables(), moab::WriteHDF5Parallel::create_node_table(), moab::WriteHDF5Parallel::create_tag_tables(), moab::WriteHDF5Parallel::exchange_file_ids(), find(), moab::WriteHDF5Parallel::gather_interface_meshes(), get_sparse_tagged_entities(), get_write_entities(), initialize_mesh(), moab::WriteHDF5Parallel::remove_remote_entities(), serial_create_file(), write_file_impl(), write_finished(), and write_nodes().
|
protected |
True if doing parallel write.
Definition at line 384 of file WriteHDF5.hpp.
Referenced by write_file(), and write_file_impl().
|
protected |
Offset into set children table (zero except for parallel)
Definition at line 340 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), write_set_data(), and write_sets().
|
protected |
Offset into set contents table (zero except for parallel)
Definition at line 338 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), write_set_data(), and write_sets().
|
protected |
Definition at line 340 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), write_set_data(), and write_sets().
|
protected |
The list of sets to export.
Definition at line 321 of file WriteHDF5.hpp.
Referenced by check_dense_format_tag(), moab::WriteHDF5Parallel::create_meshset_tables(), moab::WriteHDF5Parallel::create_tag_tables(), find(), moab::WriteHDF5Parallel::gather_interface_meshes(), get_sparse_tagged_entities(), get_write_entities(), initialize_mesh(), moab::WriteHDF5Parallel::remove_remote_entities(), moab::WriteHDF5Parallel::remove_remote_sets(), serial_create_file(), write_file_impl(), write_finished(), write_set_data(), and write_sets().
|
protected |
Array of special/shared sets, in order of handle value.
Definition at line 373 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::communicate_shared_set_data(), count_set_size(), find_set_data(), write_set_data(), and write_sets().
|
staticprotected |
Definition at line 399 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), init(), write_sparse_tag(), write_tag(), and write_var_len_tag().
|
protected |
The list of tags to export.
Definition at line 381 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::check_serial_tag_data(), moab::WriteHDF5Parallel::create_tag_tables(), gather_tags(), serial_create_file(), write_file_impl(), and write_finished().
|
staticprotected |
Definition at line 398 of file WriteHDF5.hpp.
Referenced by init(), moab::WriteHDF5Parallel::parallel_create_file(), serial_create_file(), write_file_impl(), and write_sets().
|
protected |
Property set to pass to H5Dwrite calls. For serial, should be H5P_DEFAULTS. For parallel, may request collective IO.
Definition at line 393 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::parallel_create_file(), write_adjacencies(), write_elems(), write_file(), write_nodes(), write_set_data(), write_sets(), write_sparse_ids(), write_tag_values(), write_var_len_data(), and write_var_len_indices().
|
protected |
Definition at line 351 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), and write_sets().
|
protected |
Definition at line 351 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), and write_sets().
|
protected |
Definition at line 351 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), and write_sets().
|
protected |
Flags idicating if set data should be written. For the normal (non-parallel) case, these values will depend only on whether or not there is any data to be written. For parallel-meshes, opening the data table is collective so the values must depend on whether or not any processor has meshsets to be written.
Definition at line 351 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_meshset_tables(), serial_create_file(), and write_sets().
|
protected |
True if writing dense-formatted tag data.
Definition at line 388 of file WriteHDF5.hpp.
Referenced by moab::WriteHDF5Parallel::create_tag_tables(), serial_create_file(), and write_file().
|
protected |
Cached pointer to writeUtil interface.
Definition at line 308 of file WriteHDF5.hpp.
Referenced by gather_mesh_info(), gather_tags(), get_adjacencies(), init(), moab::WriteHDF5Parallel::pack_set(), write_elems(), write_nodes(), write_set_data(), write_util(), and ~WriteHDF5().