IOSS  2.0
Ioad::DatabaseIO Class Reference

#include <Ioad_DatabaseIO.h>

Inheritance diagram for Ioad::DatabaseIO:
[legend]
Collaboration diagram for Ioad::DatabaseIO:
[legend]

Classes

struct  BlockInfoType
 
struct  FieldInfoType
 

Public Member Functions

 DatabaseIO (Ioss::Region *region, const std::string &filename, Ioss::DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &props)
 
 ~DatabaseIO ()
 
 DatabaseIO (const DatabaseIO &from)=delete
 
DatabaseIOoperator= (const DatabaseIO &from)=delete
 
const std::string get_format () const override
 
bool begin__ (Ioss::State state) override
 
bool end__ (Ioss::State state) override
 
unsigned entity_field_support () const override
 
int int_byte_size_db () const override
 
- Public Member Functions inherited from Ioss::DatabaseIO
bool ok (bool write_message=false, std::string *error_message=nullptr, int *bad_count=nullptr) const
 Check to see if database state is OK. More...
 
bool using_parallel_io () const
 
int64_t node_global_to_local (int64_t global, bool must_exist) const
 Get the local (process-specific) node number corresponding to a global node number. More...
 
int64_t element_global_to_local (int64_t global) const
 
virtual bool node_major () const
 
void release_memory ()
 
virtual void finalize_database ()
 
void set_pfsname (const std::string &name) const
 
std::string get_pfsname () const
 
void set_dwname (const std::string &name) const
 this will be the name in BB namespace More...
 
std::string get_dwname () const
 
std::string get_dwPath () const
 We call this ONLY after we assure that using_dw() is TRUE \ returns mount point of Datawarp namespace, e.g: /opt/cray/....<jobid> More...
 
void check_setDW () const
 
bool using_dw () const
 
std::string get_filename () const
 Get the file name associated with the database. More...
 
virtual int get_file_pointer () const
 
const std::string & decoded_filename () const
 Get a file-per-processor filename associated with the database. More...
 
bool is_input () const
 Determine whether the database is an input database. More...
 
Ioss::DatabaseUsage usage () const
 Get the Ioss::DatabaseUsage type of the database. More...
 
virtual bool needs_shared_node_information () const
 Determine whether the database needs information about process ownership of nodes. More...
 
Ioss::IfDatabaseExistsBehavior open_create_behavior () const
 
void create_path (const std::string &filename) const
 This function is used to create the path to an output directory (or history, restart, etc.) More...
 
void set_region (Region *region)
 
void openDW (const std::string &filename) const
 If we are planning to use BB(aka Burst Buffer) service, we will call simple C API provided by Cray DataWarp module. More...
 
void closeDW () const
 Function which invokes stageout from BB to Disk, prior to completion of final close. More...
 
void openDatabase () const
 
void closeDatabase () const
 
void flush_database () const
 
bool open_group (const std::string &group_name)
 If a database type supports groups and if the database contains groups, open the specified group. More...
 
bool create_subgroup (const std::string &group_name)
 If a database type supports groups, create the specified group as a child of the current group. More...
 
bool begin (Ioss::State state)
 Set the database to the given State. More...
 
bool end (Ioss::State state)
 Return the database to STATE_CLOSED. More...
 
bool begin_state (int state, double time)
 
bool end_state (int state, double time)
 
void read_meta_data ()
 
void get_step_times ()
 
virtual bool internal_edges_available () const
 
virtual bool internal_faces_available () const
 
const std::vector< std::string > & get_information_records () const
 Get all information records (informative strings) for the database. More...
 
void add_information_records (const std::vector< std::string > &info)
 Add multiple information records (informative strings) to the database. More...
 
void add_information_record (const std::string &info)
 Add an information record (an informative string) to the database. More...
 
const std::vector< std::string > & get_qa_records () const
 Get all QA records, each of which consists of 4 strings, from the database. More...
 
void add_qa_record (const std::string &code, const std::string &code_qa, const std::string &date, const std::string &time)
 Add a QA record, which consists of 4 strings, to the database. More...
 
bool get_logging () const
 
void set_logging (bool on_off)
 
template<typename T >
int64_t get_field (const T *reg, const Field &field, void *data, size_t data_size) const
 
template<typename T >
int64_t put_field (const T *reg, const Field &field, void *data, size_t data_size) const
 
bool is_parallel_consistent () const
 
void set_parallel_consistency (bool on_off)
 
bool get_use_generic_canonical_name () const
 
void set_use_generic_canonical_name (bool yes_no)
 
bool ignore_database_names () const
 
void ignore_database_names (bool yes_no)
 
virtual int maximum_symbol_length () const
 Get the length of the longest name in the database file. More...
 
virtual void set_maximum_symbol_length (int)
 
char get_field_separator () const
 
bool get_field_recognition () const
 
void set_field_separator (char separator)
 Set the character used to separate a field suffix from the field basename when recognizing vector, tensor fields. More...
 
void set_field_recognition (bool yes_no)
 
void set_lower_case_variable_names (bool true_false) const
 
void set_surface_split_type (Ioss::SurfaceSplitType split_type)
 
Ioss::SurfaceSplitType get_surface_split_type () const
 
void set_block_omissions (const std::vector< std::string > &omissions, const std::vector< std::string > &inclusions={})
 
void get_block_adjacencies (const Ioss::ElementBlock *eb, std::vector< std::string > &block_adjacency) const
 
void compute_block_membership (Ioss::SideBlock *efblock, std::vector< std::string > &block_membership) const
 
AxisAlignedBoundingBox get_bounding_box (const Ioss::ElementBlock *eb) const
 
AxisAlignedBoundingBox get_bounding_box (const Ioss::StructuredBlock *sb) const
 
int int_byte_size_api () const
 Returns 4 or 8. More...
 
virtual void set_int_byte_size_api (Ioss::DataSize size) const
 Returns 4 or 8. More...
 
Regionget_region () const
 
void set_cycle_count (int count) const
 
int get_cycle_count () const
 
void set_overlay_count (int count) const
 
int get_overlay_count () const
 
void set_file_per_state (bool yes_no) const
 
bool get_file_per_state () const
 
void set_time_scale_factor (double factor)
 
const Ioss::ParallelUtilsutil () const
 
const Ioss::PropertyManagerget_property_manager () const
 
int parallel_rank () const
 Get the processor that this mesh database is on. More...
 
int parallel_size () const
 
bool is_parallel () const
 
void progress (const std::string &output) const
 

Private Types

using GlobalMapType = std::map< std::string, std::pair< std::string, std::string > >
 
using EntityMapType = std::map< std::string, GlobalMapType >
 
using FieldsMapType = std::map< std::string, EntityMapType >
 
template<typename T >
using IsIossEntityBlock = typename std::enable_if< std::is_base_of< Ioss::EntityBlock, T >::value >::type
 
template<typename T >
using IsNotIossEntityBlock = typename std::enable_if<!std::is_base_of< Ioss::EntityBlock, T >::value >::type
 

Private Member Functions

int64_t get_field_internal (const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::NodeBlock *nb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::EdgeBlock *eb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::FaceBlock *fb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::ElementBlock *eb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::StructuredBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::SideBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::NodeSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::EdgeSet *es, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::FaceSet *fs, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::ElementSet *es, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::SideSet *ss, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::CommSet *cs, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal_t (const Ioss::GroupingEntity *entity, const Ioss::Field &field, void *data, size_t data_size) const
 
template<typename T >
void get_data (void *data, const std::string &encoded_name, bool use_step_selection=false) const
 
int64_t put_field_internal (const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::NodeBlock *nb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::EdgeBlock *eb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::FaceBlock *fb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::ElementBlock *eb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::SideBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::NodeSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::EdgeSet *es, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::FaceSet *fs, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::ElementSet *es, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::SideSet *ss, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::CommSet *cs, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::StructuredBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
 
template<typename T >
int64_t put_field_internal_t (T entity, const Ioss::Field &field, void *data, size_t data_size) const
 
void define_model (Ioss::Field::RoleType *role=nullptr)
 
void define_global_variables ()
 
template<typename T >
get_attribute (const std::string &attribute_name)
 
template<typename T >
void put_data (void *data, const std::string &encoded_name) const
 
template<typename T , typename = typename std::enable_if< !std::is_base_of<Ioss::EntitySet, T>::value, T>::type>
void put_var_type (const Ioss::Field &field, const std::string &encoded_name, bool transformed_field) const
 
template<typename T >
void define_model_internal (const Ioss::Field &field, const std::string &encoded_name, const std::string &entity_type, const std::string &field_name)
 
template<typename T >
void define_entity_internal (const T &entity_blocks, Ioss::Field::RoleType *role)
 
int get_current_state () const
 
template<typename T >
BlockInfoType get_block_infos (const adios2::Variable< T > &var) const
 
template<typename T >
FieldInfoType get_variable_infos (const std::string &var_name) const
 
template<typename T >
std::string get_property_value (const FieldsMapType &properties_map, const std::string &entity_type, const std::string &entity_name, const std::string &property_name) const
 
template<typename T >
FieldInfoType get_expected_variable_infos_from_map (const EntityMapType &fields_map, const std::string &entity_type, const std::string &entity_name, const std::string &var_name) const
 
FieldInfoType get_variable_infos_from_map (const EntityMapType &fields_map, const std::string &entity_type, const std::string &entity_name, const std::string &var_name) const
 
template<typename T , typename = IsIossEntityBlock<T>>
void define_entity_meta_variables (const std::string &encoded_name)
 
template<typename T , typename = IsNotIossEntityBlock<T>, typename = void>
void define_entity_meta_variables (const std::string &encoded_name)
 
void define_field_meta_variables (const std::string &)
 
void define_coordinate_frames_internal (const Ioss::CoordinateFrameContainer &coordinate_frames)
 
std::string encoded_coordinate_frame_name (Ioss::CoordinateFrame coordinate_frame)
 
void put_meta_variables (const std::string &encoded_name, const Ioss::Field &field, const std::string &entity_type, const std::string &field_name) const
 
void write_meta_data ()
 
template<typename T >
void add_entity_property (Ioss::GroupingEntity *ge, const std::string &encoded_name, const std::string &var_name)
 
void add_entity_properties (Ioss::GroupingEntity *ge, const FieldsMapType &properties_map, std::string name="")
 
void write_properties (const Ioss::GroupingEntity *const entity, const std::string &encoded_name)
 
template<typename T >
int64_t write_meta_data_container (const T &entity_blocks)
 
std::pair< int64_t, int64_t > write_meta_data_sideblockcontainer (const Ioss::SideBlockContainer &entity_blocks)
 
template<typename T >
int64_t get_entities (const FieldsMapType &fields_map, const FieldsMapType &properties_map)
 
std::string get_optional_string_variable (const std::string &field_name, const std::string &string_variable) const
 
void get_globals (const GlobalMapType &globals_map, const FieldsMapType &properties_map)
 
void compute_block_membership__ (Ioss::SideBlock *efblock, std::vector< std::string > &block_membership) const override
 
void define_properties (const Ioss::GroupingEntity *entity_block, const std::string &encoded_entity_name)
 
void read_meta_data__ () override
 
void read_communication_metadata ()
 
void read_region (const FieldsMapType &fields_map)
 
void check_processor_info ()
 
void check_model ()
 
int RankInit ()
 
bool begin_state__ (int state, double time) override
 
bool end_state__ (int state, double time) override
 

Private Attributes

unsigned long rank
 
AdiosWrapper adios_wrapper
 
int spatialDimension {0}
 
int64_t edgeCount {0}
 
int64_t faceCount {0}
 
unsigned long number_proc
 
bool is_streaming
 
double previous_time_streaming
 

Additional Inherited Members

- Protected Member Functions inherited from Ioss::DatabaseIO
 DatabaseIO (Region *region, std::string filename, Ioss::DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &props)
 
void set_common_side_topology () const
 
template<typename T >
void create_groups (const std::string &property_name, EntityType type, const std::string &type_name, const T *set_type)
 
template<typename T >
void create_group (EntityType type, const std::string &type_name, const std::vector< std::string > &group_spec, const T *set_type)
 
void handle_groups ()
 
void check_side_topology () const
 
virtual void openDatabase__ () const
 
virtual void closeDatabase__ () const
 
virtual void flush_database__ () const
 
template<>
void create_group (EntityType type, const std::string &, const std::vector< std::string > &group_spec, const SideSet *)
 
- Protected Attributes inherited from Ioss::DatabaseIO
Ioss::PropertyManager properties
 
ElementTopologycommonSideTopology {nullptr}
 
std::string originalDBFilename
 
std::string DBFilename
 
std::string decodedFilename
 
std::string bbName {}
 
std::string pfsName {}
 
std::string dwPath {}
 
Ioss::State dbState {STATE_INVALID}
 
int myProcessor {0}
 number of processor this database is for More...
 
int64_t nodeCount {0}
 
int64_t elementCount {0}
 
TopoContainer sideTopology
 Used to speed up faceblock/edgeblock calculations. More...
 
int cycleCount {0}
 
int overlayCount {0}
 
double timeScaleFactor {1.0}
 
Ioss::SurfaceSplitType splitType {SPLIT_BY_TOPOLOGIES}
 
Ioss::DatabaseUsage dbUsage
 
Ioss::DataSize dbIntSizeAPI {USE_INT32_API}
 
bool filePerState {false}
 
bool usingDataWarp {false}
 
bool isParallel {false}
 true if running in parallel More...
 
bool lowerCaseVariableNames {true}
 
bool usingParallelIO {false}
 
std::vector< std::string > blockOmissions
 
std::vector< std::string > blockInclusions
 
std::vector< std::string > informationRecords
 
std::vector< std::string > qaRecords
 
Ioss::Map nodeMap {"node", DBFilename, myProcessor}
 
Ioss::Map edgeMap {"edge", DBFilename, myProcessor}
 
Ioss::Map faceMap {"face", DBFilename, myProcessor}
 
Ioss::Map elemMap {"element", DBFilename, myProcessor}
 
std::vector< std::vector< bool > > blockAdjacency
 

Member Typedef Documentation

◆ EntityMapType

using Ioad::DatabaseIO::EntityMapType = std::map<std::string, GlobalMapType>
private

◆ FieldsMapType

using Ioad::DatabaseIO::FieldsMapType = std::map<std::string, EntityMapType>
private

◆ GlobalMapType

using Ioad::DatabaseIO::GlobalMapType = std::map<std::string, std::pair<std::string, std::string> >
private

◆ IsIossEntityBlock

template<typename T >
using Ioad::DatabaseIO::IsIossEntityBlock = typename std::enable_if<std::is_base_of<Ioss::EntityBlock, T>::value>::type
private

◆ IsNotIossEntityBlock

template<typename T >
using Ioad::DatabaseIO::IsNotIossEntityBlock = typename std::enable_if<!std::is_base_of<Ioss::EntityBlock, T>::value>::type
private

Constructor & Destructor Documentation

◆ DatabaseIO() [1/2]

Ioad::DatabaseIO::DatabaseIO ( Ioss::Region region,
const std::string &  filename,
Ioss::DatabaseUsage  db_usage,
MPI_Comm  communicator,
const Ioss::PropertyManager props 
)

◆ ~DatabaseIO()

Ioad::DatabaseIO::~DatabaseIO ( )
virtual

Reimplemented from Ioss::DatabaseIO.

◆ DatabaseIO() [2/2]

Ioad::DatabaseIO::DatabaseIO ( const DatabaseIO from)
delete

Member Function Documentation

◆ add_entity_properties()

void Ioad::DatabaseIO::add_entity_properties ( Ioss::GroupingEntity ge,
const FieldsMapType properties_map,
std::string  name = "" 
)
private

◆ add_entity_property()

template<typename T >
void Ioad::DatabaseIO::add_entity_property ( Ioss::GroupingEntity ge,
const std::string &  encoded_name,
const std::string &  var_name 
)
private

◆ begin__()

bool Ioad::DatabaseIO::begin__ ( Ioss::State  state)
overridevirtual

Implements Ioss::DatabaseIO.

◆ begin_state__()

bool Ioad::DatabaseIO::begin_state__ ( int  state,
double  time 
)
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ check_model()

void Ioad::DatabaseIO::check_model ( )
private

◆ check_processor_info()

void Ioad::DatabaseIO::check_processor_info ( )
private

◆ compute_block_membership__()

void Ioad::DatabaseIO::compute_block_membership__ ( Ioss::SideBlock efblock,
std::vector< std::string > &  block_membership 
) const
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ define_coordinate_frames_internal()

void Ioad::DatabaseIO::define_coordinate_frames_internal ( const Ioss::CoordinateFrameContainer coordinate_frames)
private

◆ define_entity_internal()

template<typename T >
void Ioad::DatabaseIO::define_entity_internal ( const T &  entity_blocks,
Ioss::Field::RoleType role 
)
private

◆ define_entity_meta_variables() [1/2]

template<typename T , typename >
void Ioad::DatabaseIO::define_entity_meta_variables ( const std::string &  encoded_name)
private

◆ define_entity_meta_variables() [2/2]

template<typename T , typename , typename >
void Ioad::DatabaseIO::define_entity_meta_variables ( const std::string &  encoded_name)
private

◆ define_field_meta_variables()

void Ioad::DatabaseIO::define_field_meta_variables ( const std::string &  encoded_name)
private

◆ define_global_variables()

void Ioad::DatabaseIO::define_global_variables ( )
private

◆ define_model()

void Ioad::DatabaseIO::define_model ( Ioss::Field::RoleType role = nullptr)
private

◆ define_model_internal()

template<typename T >
void Ioad::DatabaseIO::define_model_internal ( const Ioss::Field field,
const std::string &  encoded_name,
const std::string &  entity_type,
const std::string &  field_name 
)
private

◆ define_properties()

void Ioad::DatabaseIO::define_properties ( const Ioss::GroupingEntity entity_block,
const std::string &  encoded_entity_name 
)
private

◆ encoded_coordinate_frame_name()

std::string Ioad::DatabaseIO::encoded_coordinate_frame_name ( Ioss::CoordinateFrame  coordinate_frame)
private

◆ end__()

bool Ioad::DatabaseIO::end__ ( Ioss::State  state)
overridevirtual

Implements Ioss::DatabaseIO.

◆ end_state__()

bool Ioad::DatabaseIO::end_state__ ( int  state,
double  time 
)
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ entity_field_support()

unsigned Ioad::DatabaseIO::entity_field_support ( ) const
overridevirtual

Implements Ioss::DatabaseIO.

◆ get_attribute()

template<typename T >
T Ioad::DatabaseIO::get_attribute ( const std::string &  attribute_name)
private

◆ get_block_infos()

template<typename T >
DatabaseIO::BlockInfoType Ioad::DatabaseIO::get_block_infos ( const adios2::Variable< T > &  var) const
private

◆ get_current_state()

int Ioad::DatabaseIO::get_current_state ( ) const
private

◆ get_data()

template<typename T >
void Ioad::DatabaseIO::get_data ( void *  data,
const std::string &  encoded_name,
bool  use_step_selection = false 
) const
private

◆ get_entities()

template<typename T >
int64_t Ioad::DatabaseIO::get_entities ( const FieldsMapType fields_map,
const FieldsMapType properties_map 
)
private

◆ get_expected_variable_infos_from_map()

template<typename T >
DatabaseIO::FieldInfoType Ioad::DatabaseIO::get_expected_variable_infos_from_map ( const EntityMapType fields_map,
const std::string &  entity_type,
const std::string &  entity_name,
const std::string &  var_name 
) const
private

◆ get_field_internal() [1/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::CommSet cs,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [2/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::EdgeBlock eb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [3/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::EdgeSet es,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [4/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::ElementBlock eb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [5/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::ElementSet es,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [6/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::FaceBlock fb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [7/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::FaceSet fs,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [8/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::NodeBlock nb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [9/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::NodeSet ns,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [10/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::Region reg,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [11/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::SideBlock sb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [12/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::SideSet ss,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [13/13]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::StructuredBlock sb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
inlineoverrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ get_field_internal_t()

int64_t Ioad::DatabaseIO::get_field_internal_t ( const Ioss::GroupingEntity entity,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
private

◆ get_format()

const std::string Ioad::DatabaseIO::get_format ( ) const
inlineoverridevirtual

Return a string specifying underlying format of database (exodus, cgns, ...)

Implements Ioss::DatabaseIO.

◆ get_globals()

void Ioad::DatabaseIO::get_globals ( const GlobalMapType globals_map,
const FieldsMapType properties_map 
)
private

◆ get_optional_string_variable()

std::string Ioad::DatabaseIO::get_optional_string_variable ( const std::string &  field_name,
const std::string &  string_variable 
) const
private

◆ get_property_value()

template<typename T >
std::string Ioad::DatabaseIO::get_property_value ( const FieldsMapType properties_map,
const std::string &  entity_type,
const std::string &  entity_name,
const std::string &  property_name 
) const
private

◆ get_variable_infos()

template<typename T >
DatabaseIO::FieldInfoType Ioad::DatabaseIO::get_variable_infos ( const std::string &  var_name) const
private

◆ get_variable_infos_from_map()

DatabaseIO::FieldInfoType Ioad::DatabaseIO::get_variable_infos_from_map ( const EntityMapType fields_map,
const std::string &  entity_type,
const std::string &  entity_name,
const std::string &  var_name 
) const
private

◆ int_byte_size_db()

int Ioad::DatabaseIO::int_byte_size_db ( ) const
overridevirtual

Implements Ioss::DatabaseIO.

◆ operator=()

DatabaseIO& Ioad::DatabaseIO::operator= ( const DatabaseIO from)
delete

◆ put_data()

template<typename T >
void Ioad::DatabaseIO::put_data ( void *  data,
const std::string &  encoded_name 
) const
private

◆ put_field_internal() [1/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::CommSet cs,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [2/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::EdgeBlock eb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [3/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::EdgeSet es,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [4/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::ElementBlock eb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [5/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::ElementSet es,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [6/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::FaceBlock fb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [7/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::FaceSet fs,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [8/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::NodeBlock nb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [9/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::NodeSet ns,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [10/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::Region reg,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [11/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::SideBlock sb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [12/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::SideSet ss,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [13/13]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::StructuredBlock sb,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
inlineoverrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ put_field_internal_t()

template<typename T >
int64_t Ioad::DatabaseIO::put_field_internal_t ( entity,
const Ioss::Field field,
void *  data,
size_t  data_size 
) const
private

◆ put_meta_variables()

void Ioad::DatabaseIO::put_meta_variables ( const std::string &  encoded_name,
const Ioss::Field field,
const std::string &  entity_type,
const std::string &  field_name 
) const
private

◆ put_var_type()

template<typename T , typename = typename std::enable_if< !std::is_base_of<Ioss::EntitySet, T>::value, T>::type>
void Ioad::DatabaseIO::put_var_type ( const Ioss::Field field,
const std::string &  encoded_name,
bool  transformed_field 
) const
private

◆ RankInit()

int Ioad::DatabaseIO::RankInit ( )
private

◆ read_communication_metadata()

void Ioad::DatabaseIO::read_communication_metadata ( )
private

◆ read_meta_data__()

void Ioad::DatabaseIO::read_meta_data__ ( )
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ read_region()

void Ioad::DatabaseIO::read_region ( const FieldsMapType fields_map)
private

◆ write_meta_data()

void Ioad::DatabaseIO::write_meta_data ( )
private

◆ write_meta_data_container()

template<typename T >
int64_t Ioad::DatabaseIO::write_meta_data_container ( const T &  entity_blocks)
private

◆ write_meta_data_sideblockcontainer()

std::pair< int64_t, int64_t > Ioad::DatabaseIO::write_meta_data_sideblockcontainer ( const Ioss::SideBlockContainer entity_blocks)
private

◆ write_properties()

void Ioad::DatabaseIO::write_properties ( const Ioss::GroupingEntity *const  entity,
const std::string &  encoded_name 
)
private

Member Data Documentation

◆ adios_wrapper

AdiosWrapper Ioad::DatabaseIO::adios_wrapper
mutableprivate

◆ edgeCount

int64_t Ioad::DatabaseIO::edgeCount {0}
private

◆ faceCount

int64_t Ioad::DatabaseIO::faceCount {0}
private

◆ is_streaming

bool Ioad::DatabaseIO::is_streaming
private

◆ number_proc

unsigned long Ioad::DatabaseIO::number_proc
private

◆ previous_time_streaming

double Ioad::DatabaseIO::previous_time_streaming
private

◆ rank

unsigned long Ioad::DatabaseIO::rank
private

◆ spatialDimension

int Ioad::DatabaseIO::spatialDimension {0}
private

The documentation for this class was generated from the following files: