34 #ifndef IOSS_Iofx_DatabaseIO_h 35 #define IOSS_Iofx_DatabaseIO_h 69 class StructuredBlock;
71 class ElementTopology;
75 struct CommunicationMetaData;
97 bool ok__(
bool write_message =
false, std::string *error_msg =
nullptr,
98 int *bad_count =
nullptr)
const override;
102 bool open_input_file(
bool write_message, std::string *error_msg,
int *bad_count,
103 bool abort_if_error)
const override;
105 bool overwrite,
bool abort_if_error)
const override;
107 bool abort_if_error)
const;
110 size_t data_size)
const override;
112 size_t data_size)
const override;
114 size_t data_size)
const override;
116 size_t data_size)
const override;
118 size_t data_size)
const override;
120 void *
data,
size_t data_size)
const override 126 size_t data_size)
const override;
128 size_t data_size)
const override;
130 size_t data_size)
const override;
132 size_t data_size)
const override;
134 size_t data_size)
const override;
136 size_t data_size)
const override;
138 size_t data_size)
const override;
141 size_t data_size)
const override;
143 size_t data_size)
const override;
145 size_t data_size)
const override;
147 size_t data_size)
const override;
149 size_t data_size)
const override;
151 size_t data_size)
const override;
153 size_t data_size)
const override;
155 size_t data_size)
const override;
157 size_t data_size)
const override;
159 size_t data_size)
const override;
161 size_t data_size)
const override;
163 size_t data_size)
const override;
166 void *
data,
size_t data_size)
const override 201 std::vector<int> &is_valid_side)
const;
206 void *variables)
const;
210 void *variables)
const;
223 template <
typename T>
224 void get_sets(ex_entity_type type, int64_t count,
const std::string &base,
236 ex_inquiry inquiry_type)
const;
245 void *fconnect,
bool map_ids)
const;
246 template <
typename INT>
248 int64_t side_count,
INT *fconnect,
bool map_ids)
const;
250 double *dist_fact,
size_t data_size)
const;
253 size_t data_size)
const;
255 size_t data_size)
const;
void get_elemblocks()
Definition: Iofx_DatabaseIO.C:1001
int64_t get_side_connectivity(const Ioss::SideBlock *fb, int64_t id, int64_t my_side_count, void *fconnect, bool map_ids) const
Definition: Iofx_DatabaseIO.C:3584
void get_edgeblocks()
Definition: Iofx_DatabaseIO.C:1005
The main namespace for the Ioss library.
Definition: Iocgns_DatabaseIO.h:50
int64_t handle_node_ids(void *ids, int64_t num_to_get) const
Definition: Iofx_DatabaseIO.C:4193
int64_t write_attribute_field(ex_entity_type type, const Ioss::Field &field, const Ioss::GroupingEntity *ge, void *data) const
Definition: Iofx_DatabaseIO.C:3227
int64_t read_attribute_field(ex_entity_type type, const Ioss::Field &field, const Ioss::GroupingEntity *ge, void *data) const
Definition: Iofx_DatabaseIO.C:3278
void read_region()
Definition: Iofx_DatabaseIO.C:533
Base class for all 'set'-type grouping entities, which means that members of the set are not necessar...
Definition: Ioss_EntitySet.h:61
A collection of nodes.
Definition: Ioss_NodeSet.h:53
void get_elemsets()
Definition: Iofx_DatabaseIO.C:1913
void get_edgesets()
Definition: Iofx_DatabaseIO.C:1903
A collection of element faces with the same topology.
Definition: Ioss_FaceBlock.h:53
A collection of element faces.
Definition: Ioss_FaceSet.h:54
Base class for all 'grouping' entities. The following derived classes are typical: ...
Definition: Ioss_GroupingEntity.h:93
void get_facesets()
Definition: Iofx_DatabaseIO.C:1908
A collection of element edges.
Definition: Ioss_EdgeSet.h:54
int64_t put_field_internal(const Ioss::StructuredBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
Definition: Iofx_DatabaseIO.h:165
const Ioss::Map & get_map(ex_entity_type type) const
Definition: Iofx_DatabaseIO.C:905
void write_entity_transient_field(ex_entity_type type, const Ioss::Field &field, const Ioss::GroupingEntity *ge, int64_t count, void *variables) const
Definition: Iofx_DatabaseIO.C:4370
A collection of element sides having the same topology.
Definition: Ioss_SideBlock.h:61
int64_t get_side_connectivity_internal(const Ioss::SideBlock *fb, int64_t id, int64_t side_count, INT *fconnect, bool map_ids) const
Definition: Iofx_DatabaseIO.C:3485
bool handle_output_file(bool write_message, std::string *error_msg, int *bad_count, bool overwrite, bool abort_if_error) const override
Definition: Iofx_DatabaseIO.C:358
bool isSerialParallel
true if application code is controlling the processor id.
Definition: Iofx_DatabaseIO.h:257
int64_t read_transient_field(ex_entity_type type, const Ioex::VariableNameMap &variables, const Ioss::Field &field, const Ioss::GroupingEntity *ge, void *data) const
Definition: Iofx_DatabaseIO.C:3333
int64_t read_nodal_coordinates()
A collection of elements having the same topology.
Definition: Ioss_ElementBlock.h:48
std::map< std::string, int, std::less< std::string > > VariableNameMap
Definition: Ioex_DatabaseIO.h:80
int64_t handle_element_ids(const Ioss::ElementBlock *eb, void *ids, size_t num_to_get) const
Definition: Iofx_DatabaseIO.C:4256
A structured zone – i,j,k.
Definition: Ioss_StructuredBlock.h:103
A collection of elements.
Definition: Ioss_ElementSet.h:54
int64_t get_field_internal(const Ioss::StructuredBlock *sb, const Ioss::Field &field, void *data, size_t data_size) const override
Definition: Iofx_DatabaseIO.h:119
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition: Ioss_DBUsage.h:40
int64_t get_side_field(const Ioss::SideBlock *ef_blk, const Ioss::Field &field, void *data, size_t data_size) const
void get_faceblocks()
Definition: Iofx_DatabaseIO.C:1003
void get_nodesets()
Definition: Iofx_DatabaseIO.C:1898
int64_t get_Xset_field_internal(ex_entity_type type, const Ioss::EntitySet *ns, const Ioss::Field &field, void *data, size_t data_size) const
Definition: Iofx_DatabaseIO.C:2505
A namespace for the exodus database format.
Definition: Ioex_IOFactory.C:61
int64_t put_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
Definition: Iofx_DatabaseIO.C:3774
A collection of all nodes in the region.
Definition: Ioss_NodeBlock.h:53
int64_t put_side_field(const Ioss::SideBlock *fb, const Ioss::Field &field, void *data, size_t data_size) const
void get_sets(ex_entity_type type, int64_t count, const std::string &base, const T *)
Definition: Iofx_DatabaseIO.C:1766
void gather_communication_metadata(Ioex::CommunicationMetaData *meta)
Definition: Iofx_DatabaseIO.C:5157
bool open_input_file(bool write_message, std::string *error_msg, int *bad_count, bool abort_if_error) const override
Definition: Iofx_DatabaseIO.C:310
int64_t read_ss_transient_field(const Ioss::Field &field, int64_t id, void *variables, std::vector< int > &is_valid_side) const
Definition: Iofx_DatabaseIO.C:3412
bool ok__(bool write_message=false, std::string *error_msg=nullptr, int *bad_count=nullptr) const override
Definition: Iofx_DatabaseIO.C:273
int INT
Definition: Ioss_StructuredBlock.h:53
Definition: Ioss_Map.h:52
Definition: Ioss_CommSet.h:51
int64_t handle_face_ids(const Ioss::FaceBlock *eb, void *ids, size_t num_to_get) const
Definition: Iofx_DatabaseIO.C:4264
int64_t get_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
Definition: Iofx_DatabaseIO.C:1993
int get_file_pointer() const override
Definition: Iofx_DatabaseIO.C:448
void get_sidesets()
Definition: Iofx_DatabaseIO.C:1336
void read_elements(const Ioss::ElementBlock &block)
void write_meta_data() override
Definition: Iofx_DatabaseIO.C:4965
void read_meta_data__() override
Definition: Iofx_DatabaseIO.C:472
int64_t put_Xset_field_internal(ex_entity_type type, const Ioss::EntitySet *ns, const Ioss::Field &field, void *data, size_t data_size) const
Definition: Iofx_DatabaseIO.C:4490
std::vector< char > data
Definition: cth_pressure_map.C:73
A grouping entity that contains other grouping entities.
Definition: Ioss_Region.h:98
void compute_node_status() const
Definition: Iofx_DatabaseIO.C:1287
void get_commsets()
Definition: Iofx_DatabaseIO.C:1918
A collection of element sides.
Definition: Ioss_SideSet.h:59
void write_nodal_transient_field(ex_entity_type type, const Ioss::Field &field, const Ioss::NodeBlock *ge, int64_t count, void *variables) const
Definition: Iofx_DatabaseIO.C:4278
void read_communication_metadata()
Definition: Iofx_DatabaseIO.C:764
Holds metadata for bulk data associated with a GroupingEntity.
Definition: Ioss_Field.h:47
bool check_valid_file_ptr(bool write_message, std::string *error_msg, int *bad_count, bool abort_if_error) const
Definition: Iofx_DatabaseIO.C:189
int MPI_Comm
Definition: Ioss_CodeTypes.h:80
Definition: Iofx_DatabaseIO.h:82
void get_step_times__() override
Definition: Iofx_DatabaseIO.C:640
DatabaseIO & operator=(const DatabaseIO &from)=delete
Definition: Ioex_DatabaseIO.h:96
A collection of Ioss::Property objects.
Definition: Ioss_PropertyManager.h:49
~DatabaseIO() override
Definition: Iofx_DatabaseIO.h:89
entity_type
Definition: Iovs_DatabaseIO.C:81
void get_blocks(ex_entity_type entity_type, int rank_offset, const std::string &basename)
Definition: Iofx_DatabaseIO.C:1007
int64_t handle_edge_ids(const Ioss::EdgeBlock *eb, void *ids, size_t num_to_get) const
Definition: Iofx_DatabaseIO.C:4271
A collection of element edges with the same topology.
Definition: Ioss_EdgeBlock.h:53
A namespace for the file-per-process version of the parallel exodus database format.
Definition: Iofx_DatabaseIO.C:157
int64_t get_side_distributions(const Ioss::SideBlock *fb, int64_t id, int64_t my_side_count, double *dist_fact, size_t data_size) const
Definition: Iofx_DatabaseIO.C:3596