IOSS 2.0
Loading...
Searching...
No Matches
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, Ioss_MPI_Comm communicator, const Ioss::PropertyManager &props)
 
std::string get_format () const override
 
bool begin_nl (Ioss::State state) override
 
bool end_nl (Ioss::State state) override
 
unsigned entity_field_support () const override
 
int int_byte_size_db () const override
 
- Public Member Functions inherited from Ioss::DatabaseIO
 DatabaseIO ()=delete
 
 DatabaseIO (const DatabaseIO &)=delete
 
 DatabaseIO (DatabaseIO &&)=delete
 
DatabaseIOoperator= (const DatabaseIO &)=delete
 
DatabaseIOoperator= (DatabaseIO &&)=delete
 
virtual ~DatabaseIO ()
 
IOSS_NODISCARD bool ok (bool write_message=false, std::string *error_message=nullptr, int *bad_count=nullptr) const
 Check to see if database state is OK.
 
IOSS_NODISCARD bool using_parallel_io () const
 
IOSS_NODISCARD 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.
 
IOSS_NODISCARD int64_t element_global_to_local (int64_t global) const
 
virtual IOSS_NODISCARD bool node_major () const
 
void release_memory ()
 
virtual void finalize_database () const
 
void set_pfs_name (const std::string &name) const
 
IOSS_NODISCARD std::string get_pfs_name () const
 
void set_dw_name (const std::string &name) const
 this will be the name in BB namespace
 
IOSS_NODISCARD std::string get_dw_name () const
 
IOSS_NODISCARD std::string get_dw_path () const
 We call this ONLY after we assure that using_dw() is TRUE.
 
void check_set_dw () const
 
IOSS_NODISCARD bool using_dw () const
 
IOSS_NODISCARD std::string get_filename () const
 Get the file name associated with the database.
 
virtual IOSS_NODISCARD int get_file_pointer () const
 
IOSS_NODISCARD const std::string & decoded_filename () const
 Get a file-per-processor filename associated with the database.
 
IOSS_NODISCARD bool is_input () const
 Determine whether the database is an input database.
 
IOSS_NODISCARD Ioss::DatabaseUsage usage () const
 Get the Ioss::DatabaseUsage type of the database.
 
virtual IOSS_NODISCARD bool needs_shared_node_information () const
 Determine whether the database needs information about process ownership of nodes.
 
IOSS_NODISCARD Ioss::IfDatabaseExistsBehavior open_create_behavior () const
 
void set_region (Region *region)
 
void open_dw (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.
 
void close_dw () const
 Function which invokes stageout from BB to Disk, prior to completion of final close.
 
void openDatabase () const
 
void closeDatabase () const
 
void flush_database () const
 
void reset_database ()
 
bool open_internal_change_set (const std::string &set_name)
 If a database type supports internal change sets and if the database contains internal change sets, open the specified set.
 
bool create_internal_change_set (const std::string &set_name)
 If a database type supports internal change sets, create the specified set.
 
int num_internal_change_set ()
 If a database type supports internal change sets, and if the database contains internal change sets, return the number of change sets.
 
bool open_internal_change_set (int set_index)
 If a database type supports internal change sets, open the change set specified [zero-based] index.
 
Ioss::NameList internal_change_set_describe (bool return_full_names=false)
 If a database type supports internal change sets, return a list of set names.
 
bool supports_internal_change_set ()
 Checks if a database type supports internal change sets.
 
virtual IOSS_NODISCARD std::string get_internal_change_set_name () const
 
bool begin (Ioss::State state)
 Set the database to the given State.
 
bool end (Ioss::State state)
 Return the database to STATE_CLOSED.
 
bool begin_state (int state, double time)
 
bool end_state (int state, double time)
 
void read_meta_data ()
 
void get_step_times ()
 
std::vector< double > get_db_step_times ()
 Return the list of timesteps in the database contingent on certain controlling properties.
 
virtual IOSS_NODISCARD bool internal_edges_available () const
 
virtual IOSS_NODISCARD bool internal_faces_available () const
 
IOSS_NODISCARD const Ioss::NameListget_information_records () const
 Get all information records (informative strings) for the database.
 
void add_information_records (const Ioss::NameList &info)
 Add multiple information records (informative strings) to the database.
 
void add_information_record (const std::string &info)
 Add an information record (an informative string) to the database.
 
IOSS_NODISCARD const Ioss::NameListget_qa_records () const
 Get all QA records, each of which consists of 4 strings, from the database.
 
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.
 
IOSS_NODISCARD bool get_logging () const
 
void set_logging (bool on_off)
 
IOSS_NODISCARD bool get_nan_detection () const
 
void set_nan_detection (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
 
template<typename T >
int64_t get_zc_field (const T *reg, const Field &field, void **data, size_t *data_size) const
 
IOSS_NODISCARD bool is_parallel_consistent () const
 
void set_parallel_consistency (bool on_off)
 
IOSS_NODISCARD bool get_use_generic_canonical_name () const
 
void set_use_generic_canonical_name (bool yes_no)
 
IOSS_NODISCARD bool ignore_database_names () const
 
void ignore_database_names (bool yes_no)
 
IOSS_NODISCARD bool get_ignore_realn_fields () const
 
void set_ignore_realn_fields (bool yes_no)
 
virtual IOSS_NODISCARD int maximum_symbol_length () const
 Get the length of the longest name in the database file.
 
virtual void set_maximum_symbol_length (int)
 
IOSS_NODISCARD std::string get_component_name (const Ioss::Field &field, Ioss::Field::InOut in_out, int component) const
 
IOSS_NODISCARD char get_field_separator () const
 
IOSS_NODISCARD bool get_field_recognition () const
 
IOSS_NODISCARD bool get_field_strip_trailing_ () 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.
 
void set_field_recognition (bool yes_no)
 
void set_field_strip_trailing_ (bool yes_no)
 
IOSS_NODISCARD DuplicateFieldBehavior get_duplicate_field_behavior () const
 
void set_lower_case_variable_names (bool true_false) const
 
void set_surface_split_type (Ioss::SurfaceSplitType split_type)
 
IOSS_NODISCARD Ioss::SurfaceSplitType get_surface_split_type () const
 
void set_block_omissions (const Ioss::NameList &omissions, const Ioss::NameList &inclusions={})
 
void set_assembly_omissions (const Ioss::NameList &omissions, const Ioss::NameList &inclusions={})
 
void get_block_adjacencies (const Ioss::ElementBlock *eb, Ioss::NameList &block_adjacency) const
 
void compute_block_membership (Ioss::SideBlock *efblock, Ioss::NameList &block_membership) const
 
IOSS_NODISCARD AxisAlignedBoundingBox get_bounding_box (const Ioss::NodeBlock *nb) const
 
IOSS_NODISCARD AxisAlignedBoundingBox get_bounding_box (const Ioss::ElementBlock *eb) const
 
IOSS_NODISCARD AxisAlignedBoundingBox get_bounding_box (const Ioss::StructuredBlock *sb) const
 
IOSS_NODISCARD int int_byte_size_api () const
 Returns 4 or 8.
 
virtual void set_int_byte_size_api (Ioss::DataSize size) const
 Returns 4 or 8.
 
IOSS_NODISCARD Ioss::DataSize int_byte_size_data_size () const
 
IOSS_NODISCARD Regionget_region () const
 
void set_cycle_count (int count) const
 
IOSS_NODISCARD int get_cycle_count () const
 
void set_overlay_count (int count) const
 
IOSS_NODISCARD int get_overlay_count () const
 
void set_file_per_state (bool yes_no) const
 
IOSS_NODISCARD bool get_file_per_state () const
 
void set_time_scale_factor (double factor)
 
IOSS_NODISCARD const Ioss::ParallelUtilsutil () const
 
IOSS_NODISCARD const Ioss::PropertyManagerget_property_manager () const
 
IOSS_NODISCARD int parallel_rank () const
 Get the processor that this mesh database is on.
 
IOSS_NODISCARD int parallel_size () const
 
IOSS_NODISCARD bool is_parallel () const
 
void progress (const std::string &output) const
 
virtual std::vector< size_t > get_entity_field_data (const std::string &field_name, const std::vector< Ioss::ElementBlock * > &elem_blocks, void *data, size_t data_size) const
 
template<>
void create_group (EntityType type, const std::string &, const Ioss::NameList &group_spec, const SideSet *)
 

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_t<std::is_base_of_v<Ioss::EntityBlock, T>>
 
template<typename T >
using IsNotIossEntityBlock
 

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 *, const Ioss::Field &, void *, size_t) const override
 
int64_t get_field_internal (const Ioss::Assembly *, const Ioss::Field &, void *, size_t) const override
 
int64_t get_field_internal (const Ioss::Blob *, const Ioss::Field &, void *, size_t) 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 *, const Ioss::Field &, void *, size_t) const override
 
int64_t put_field_internal (const Ioss::Assembly *, const Ioss::Field &, void *, size_t) const override
 
int64_t put_field_internal (const Ioss::Blob *, const Ioss::Field &, void *, size_t) 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_t<!std::is_base_of_v<Ioss::EntitySet, T>, T>>
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_nl (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_nl () override
 
void read_communication_metadata ()
 
void read_region (const FieldsMapType &fields_map)
 
void check_processor_info ()
 
void check_model ()
 
int RankInit ()
 
bool begin_state_nl (int state, double time) override
 
bool end_state_nl (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, Ioss_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 Ioss::NameList &group_spec, const T *set_type)
 
void handle_groups ()
 
void check_side_topology () const
 
virtual void openDatabase_nl () const
 
virtual void closeDatabase_nl () const
 
virtual void flush_database_nl () const
 
virtual void release_memory_nl ()
 
virtual void reset_database_nl ()
 
- 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
 
int64_t nodeCount {0}
 
int64_t elementCount {0}
 
TopoContainer sideTopology {}
 Used to speed up faceblock/edgeblock calculations.
 
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
 
bool lowerCaseVariableNames {true}
 
bool usingParallelIO {false}
 
Ioss::NameList blockOmissions {}
 
Ioss::NameList blockInclusions {}
 
Ioss::NameList assemblyOmissions {}
 
Ioss::NameList assemblyInclusions {}
 
Ioss::NameList informationRecords {}
 
Ioss::NameList 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_t<std::is_base_of_v<Ioss::EntityBlock, T>>
private

◆ IsNotIossEntityBlock

template<typename T >
using Ioad::DatabaseIO::IsNotIossEntityBlock
private
Initial value:
typename std::enable_if_t<!std::is_base_of_v<Ioss::EntityBlock, T>>

Constructor & Destructor Documentation

◆ DatabaseIO()

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

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_nl()

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

Implements Ioss::DatabaseIO.

◆ begin_state_nl()

bool Ioad::DatabaseIO::begin_state_nl ( 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_nl()

void Ioad::DatabaseIO::compute_block_membership_nl ( Ioss::SideBlock * efblock,
std::vector< std::string > & block_membership ) const
overrideprivate

◆ 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_nl()

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

Implements Ioss::DatabaseIO.

◆ end_state_nl()

bool Ioad::DatabaseIO::end_state_nl ( 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/15]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::Assembly * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [2/15]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::Blob * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ get_field_internal() [3/15]

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() [4/15]

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() [5/15]

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() [6/15]

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() [7/15]

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() [8/15]

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() [9/15]

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() [10/15]

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() [11/15]

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() [12/15]

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() [13/15]

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() [14/15]

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() [15/15]

int64_t Ioad::DatabaseIO::get_field_internal ( const Ioss::StructuredBlock * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements 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()

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.

◆ put_data()

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

◆ put_field_internal() [1/15]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::Assembly * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [2/15]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::Blob * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal() [3/15]

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() [4/15]

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() [5/15]

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() [6/15]

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() [7/15]

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() [8/15]

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() [9/15]

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() [10/15]

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() [11/15]

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() [12/15]

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() [13/15]

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() [14/15]

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() [15/15]

int64_t Ioad::DatabaseIO::put_field_internal ( const Ioss::StructuredBlock * ,
const Ioss::Field & ,
void * ,
size_t  ) const
inlineoverrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ put_field_internal_t()

template<typename T >
int64_t Ioad::DatabaseIO::put_field_internal_t ( 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_t<!std::is_base_of_v<Ioss::EntitySet, T>, T>>
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_nl()

void Ioad::DatabaseIO::read_meta_data_nl ( )
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: