IOSS  2.0
Iogn::DatabaseIO Class Reference

#include <Iogn_DatabaseIO.h>

Public Member Functions

 DatabaseIO (Ioss::Region *region, const std::string &filename, Ioss::DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &props)
 
 DatabaseIO (const DatabaseIO &from)=delete
 
DatabaseIOoperator= (const DatabaseIO &from)=delete
 
 ~DatabaseIO () override
 
unsigned entity_field_support () const override
 
int int_byte_size_db () const override
 
const GeneratedMeshget_generated_mesh () const
 
void setGeneratedMesh (Iogn::GeneratedMesh *generatedMesh)
 
const std::vector< std::string > & get_sideset_names () const
 
- 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 ()
 
std::string get_filename () const
 Get the file name associated with the database. More...
 
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 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 (Region *region, int state, double time)
 
bool end_state (Region *region, 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
 
void set_overlay_count (int count) 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
 
template<>
void create_group (EntityType type, const std::string &, const std::vector< std::string > &group_spec, const SideSet *)
 

Private Member Functions

void read_meta_data__ () override
 
bool begin__ (Ioss::State state) override
 
bool end__ (Ioss::State state) override
 
bool begin_state__ (Ioss::Region *region, int state, double time) override
 
bool end_state__ (Ioss::Region *region, int state, double time) override
 
void get_step_times__ () override
 
void get_nodeblocks ()
 
void get_elemblocks ()
 
void get_nodesets ()
 
void get_sidesets ()
 
void get_commsets ()
 
const Ioss::Mapget_node_map () const
 
const Ioss::Mapget_element_map () const
 
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 *nb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::FaceBlock *nb, 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 *ef_blk, 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 *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::FaceSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::ElementSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t get_field_internal (const Ioss::SideSet *fs, 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 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 *nb, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::FaceBlock *nb, 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 *fb, 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 *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::FaceSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::ElementSet *ns, const Ioss::Field &field, void *data, size_t data_size) const override
 
int64_t put_field_internal (const Ioss::SideSet *fs, 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
 
void add_transient_fields (Ioss::GroupingEntity *entity)
 

Private Attributes

GeneratedMeshm_generatedMesh {nullptr}
 
std::vector< std::string > m_sideset_names
 
double currentTime {0.0}
 
int spatialDimension {3}
 
int elementBlockCount {0}
 
int nodesetCount {0}
 
int sidesetCount {0}
 
bool m_useVariableDf {true}
 

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
 
- Protected Attributes inherited from Ioss::DatabaseIO
Ioss::PropertyManager properties
 
ElementTopologycommonSideTopology {nullptr}
 
std::string DBFilename
 
std::string decodedFilename
 
Ioss::State dbState {STATE_INVALID}
 
bool isParallel {false}
 true if running in parallel More...
 
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 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
 

Constructor & Destructor Documentation

◆ DatabaseIO() [1/2]

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

◆ DatabaseIO() [2/2]

Iogn::DatabaseIO::DatabaseIO ( const DatabaseIO from)
delete

◆ ~DatabaseIO()

Iogn::DatabaseIO::~DatabaseIO ( )
overridevirtual

Reimplemented from Ioss::DatabaseIO.

Member Function Documentation

◆ add_transient_fields()

void Iogn::DatabaseIO::add_transient_fields ( Ioss::GroupingEntity entity)
private

◆ begin__()

bool Iogn::DatabaseIO::begin__ ( Ioss::State  state)
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ begin_state__()

bool Iogn::DatabaseIO::begin_state__ ( Ioss::Region region,
int  state,
double  time 
)
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ end__()

bool Iogn::DatabaseIO::end__ ( Ioss::State  state)
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ end_state__()

bool Iogn::DatabaseIO::end_state__ ( Ioss::Region region,
int  state,
double  time 
)
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ entity_field_support()

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

Implements Ioss::DatabaseIO.

◆ get_commsets()

void Iogn::DatabaseIO::get_commsets ( )
private

◆ get_elemblocks()

void Iogn::DatabaseIO::get_elemblocks ( )
private

◆ get_element_map()

const Ioss::Map & Iogn::DatabaseIO::get_element_map ( ) const
private

◆ get_field_internal() [1/13]

int64_t Iogn::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() [2/13]

int64_t Iogn::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() [3/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [4/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [5/13]

int64_t Iogn::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() [6/13]

int64_t Iogn::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() [7/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [8/13]

int64_t Iogn::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() [9/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [10/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [11/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [12/13]

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

Implements Ioss::DatabaseIO.

◆ get_field_internal() [13/13]

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

Implements Ioss::DatabaseIO.

◆ get_generated_mesh()

const GeneratedMesh* Iogn::DatabaseIO::get_generated_mesh ( ) const
inline

◆ get_node_map()

const Ioss::Map & Iogn::DatabaseIO::get_node_map ( ) const
private

◆ get_nodeblocks()

void Iogn::DatabaseIO::get_nodeblocks ( )
private

◆ get_nodesets()

void Iogn::DatabaseIO::get_nodesets ( )
private

◆ get_sideset_names()

const std::vector<std::string>& Iogn::DatabaseIO::get_sideset_names ( ) const
inline

◆ get_sidesets()

void Iogn::DatabaseIO::get_sidesets ( )
private

◆ get_step_times__()

void Iogn::DatabaseIO::get_step_times__ ( )
overrideprivatevirtual

Reimplemented from Ioss::DatabaseIO.

◆ int_byte_size_db()

int Iogn::DatabaseIO::int_byte_size_db ( ) const
inlineoverridevirtual

Implements Ioss::DatabaseIO.

◆ operator=()

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

◆ put_field_internal() [1/13]

int64_t Iogn::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() [2/13]

int64_t Iogn::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() [3/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [4/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [5/13]

int64_t Iogn::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() [6/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [7/13]

int64_t Iogn::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() [8/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [9/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [10/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [11/13]

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

Implements Ioss::DatabaseIO.

◆ put_field_internal() [12/13]

int64_t Iogn::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() [13/13]

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

Reimplemented from Ioss::DatabaseIO.

◆ read_meta_data__()

void Iogn::DatabaseIO::read_meta_data__ ( )
overrideprivatevirtual

Implements Ioss::DatabaseIO.

◆ setGeneratedMesh()

void Iogn::DatabaseIO::setGeneratedMesh ( Iogn::GeneratedMesh generatedMesh)
inline

Member Data Documentation

◆ currentTime

double Iogn::DatabaseIO::currentTime {0.0}
private

◆ elementBlockCount

int Iogn::DatabaseIO::elementBlockCount {0}
private

◆ m_generatedMesh

GeneratedMesh* Iogn::DatabaseIO::m_generatedMesh {nullptr}
private

◆ m_sideset_names

std::vector<std::string> Iogn::DatabaseIO::m_sideset_names
private

◆ m_useVariableDf

bool Iogn::DatabaseIO::m_useVariableDf {true}
private

◆ nodesetCount

int Iogn::DatabaseIO::nodesetCount {0}
private

◆ sidesetCount

int Iogn::DatabaseIO::sidesetCount {0}
private

◆ spatialDimension

int Iogn::DatabaseIO::spatialDimension {3}
private

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