9#include "iofaodel_export.h"
25#include "faodel-common/Common.hh"
26#include "kelpie/Kelpie.hh"
92 std::vector<std::string> &block_membership)
const;
122 void read_communication_metadata();
127 void get_step_times_nl()
override;
129 std::vector<double> get_db_step_times_nl()
override;
131 void get_edgeblocks();
132 void get_elemblocks();
133 void get_faceblocks();
134 void get_nodeblocks();
135 void get_structuredblocks();
177 void *data,
size_t data_size)
const override;
207 void *data,
size_t data_size)
const override;
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:64
void compute_block_membership(Ioss::SideBlock *efblock, std::vector< std::string > &block_membership) const
int spatialDimension
Definition Iofaodel_DatabaseIO.h:215
bool begin_state_nl(int, double) override
Definition Iofaodel_DatabaseIO.C:304
int side_count() const
Definition Iofaodel_DatabaseIO.h:83
Ioss::IntVector nodeCmapNodeCnts
Definition Iofaodel_DatabaseIO.h:228
int maximum_symbol_length() const override
Get the length of the longest name in the database file.
Definition Iofaodel_DatabaseIO.h:89
int commsetElemCount
Definition Iofaodel_DatabaseIO.h:232
std::vector< PropertyPair > property_publish_state
Definition Iofaodel_DatabaseIO.h:245
unsigned entity_field_support() const override
Definition Iofaodel_DatabaseIO.h:78
int nodesetCount
Definition Iofaodel_DatabaseIO.h:219
int get_side_distributions(const Ioss::SideBlock *fb, int id, int side_count, double *dist_fact, size_t data_size) const
std::string get_format() const override
Definition Iofaodel_DatabaseIO.C:302
int sideset_count() const
Definition Iofaodel_DatabaseIO.h:87
const Ioss::Map & get_element_map() const
int int_byte_size_db() const override
Definition Iofaodel_DatabaseIO.h:72
void read_meta_data_nl() override
Definition Iofaodel_DatabaseIO.C:308
Ioss::IntVector elemCmapIds
Definition Iofaodel_DatabaseIO.h:229
int nodeBlockCount
Definition Iofaodel_DatabaseIO.h:217
bool end_state_nl(int, double) override
Definition Iofaodel_DatabaseIO.C:306
std::string databaseTitle
Definition Iofaodel_DatabaseIO.h:213
int get_side_connectivity(const Ioss::SideBlock *fb, int id, int side_count, int *fconnect, size_t data_size) const
bool begin_nl(Ioss::State state) override
Definition Iofaodel_DatabaseIO.h:106
int64_t put_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
Definition Iofaodel_DatabaseIO.C:1253
int nodeset_count() const
Definition Iofaodel_DatabaseIO.h:88
DatabaseIO(Ioss::Region *region, const std::string &filename, Ioss::DatabaseUsage db_usage, Ioss_MPI_Comm communicator, const Ioss::PropertyManager &properties)
Definition Iofaodel_DatabaseIO.C:108
bool end_nl(Ioss::State state) override
Definition Iofaodel_DatabaseIO.h:111
Ioss::IntVector nodeCmapIds
Definition Iofaodel_DatabaseIO.h:227
int sidesetCount
Definition Iofaodel_DatabaseIO.h:220
int element_block_count() const
Definition Iofaodel_DatabaseIO.h:86
static std::atomic< int > instanceCount
Definition Iofaodel_DatabaseIO.h:224
int elementBlockCount
Definition Iofaodel_DatabaseIO.h:218
int commsetNodeCount
Definition Iofaodel_DatabaseIO.h:231
int node_block_count() const
Definition Iofaodel_DatabaseIO.h:85
int node_count() const
Definition Iofaodel_DatabaseIO.h:82
int spatial_dimension() const
Definition Iofaodel_DatabaseIO.h:81
faodel::Configuration faodel_config
Definition Iofaodel_DatabaseIO.h:242
Ioss::IntVector elemCmapElemCnts
Definition Iofaodel_DatabaseIO.h:230
int64_t get_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
Definition Iofaodel_DatabaseIO.C:1120
kelpie::Pool pool
Definition Iofaodel_DatabaseIO.h:241
std::pair< std::string, bool > PropertyPair
Definition Iofaodel_DatabaseIO.h:244
void finalize_database() const override
Definition Iofaodel_DatabaseIO.C:264
bool put_properties() const
Definition Iofaodel_DatabaseIO.C:254
const Ioss::Map & get_node_map() const
std::string title() const
Definition Iofaodel_DatabaseIO.h:80
int element_count() const
Definition Iofaodel_DatabaseIO.h:84
IOFactory()
Definition Iofaodel_DatabaseIO.C:77
static const IOFactory * factory()
Definition Iofaodel_DatabaseIO.C:71
Ioss::DatabaseIO * make_IO(const std::string &filename, Ioss::DatabaseUsage db_usage, Ioss_MPI_Comm communicator, const Ioss::PropertyManager &properties) const
Definition Iofaodel_DatabaseIO.C:79
A homogeneous collection of other GroupingEntities.
Definition Ioss_Assembly.h:31
A homogeneous collection of other GroupingEntities.
Definition Ioss_Blob.h:31
Definition Ioss_CommSet.h:27
An input or output Database.
Definition Ioss_DatabaseIO.h:63
int64_t elementCount
Definition Ioss_DatabaseIO.h:720
Ioss::State dbState
Definition Ioss_DatabaseIO.h:715
int64_t nodeCount
Definition Ioss_DatabaseIO.h:719
Ioss::PropertyManager properties
Definition Ioss_DatabaseIO.h:669
A collection of element edges with the same topology.
Definition Ioss_EdgeBlock.h:29
A collection of element edges.
Definition Ioss_EdgeSet.h:30
A collection of elements having the same topology.
Definition Ioss_ElementBlock.h:29
A collection of elements.
Definition Ioss_ElementSet.h:30
Base class for all 'block'-type grouping entities, which means all members of the block are similar o...
Definition Ioss_EntityBlock.h:38
A collection of element faces with the same topology.
Definition Ioss_FaceBlock.h:29
A collection of element faces.
Definition Ioss_FaceSet.h:30
Holds metadata for bulk data associated with a GroupingEntity.
Definition Ioss_Field.h:25
Base class for all 'grouping' entities. The following derived classes are typical:
Definition Ioss_GroupingEntity.h:67
The main public user interface for creating Ioss::DatabaseIO objects.
Definition Ioss_IOFactory.h:35
A collection of all nodes in the region.
Definition Ioss_NodeBlock.h:33
A collection of nodes.
Definition Ioss_NodeSet.h:29
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
A named value that has a known type.
Definition Ioss_Property.h:27
A grouping entity that contains other grouping entities.
Definition Ioss_Region.h:93
A collection of element sides having the same topology.
Definition Ioss_SideBlock.h:37
A collection of element sides.
Definition Ioss_SideSet.h:29
A structured zone – i,j,k.
Definition Ioss_StructuredBlock.h:91
A namespace for the pamgen database format.
Definition Iofaodel_DatabaseIO.C:46
size_t data_size(const Ioss::Field &f)
Definition Iofaodel_FieldSerialization.C:17
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
State
Access states for a database.
Definition Ioss_State.h:15
@ STATE_UNKNOWN
Definition Ioss_State.h:17
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition Ioss_DBUsage.h:13
std::vector< int > IntVector
Definition Ioss_CodeTypes.h:21