9#include "iofaodel_export.h"
25#include "faodel-common/Common.hh"
26#include "kelpie/Kelpie.hh"
41 class PropertyManager;
45 class StructuredBlock;
80 std::string
title()
const {
return databaseTitle; }
92 std::vector<std::string> &block_membership)
const;
94 std::string get_format()
const override;
97 bool put_properties()
const;
99 void finalize_database()
const override;
101 void read_meta_data_nl()
override;
103 bool begin_state_nl(
int ,
double )
override;
104 bool end_state_nl(
int ,
double )
override;
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();
145 size_t data_size)
const;
147 size_t data_size)
const;
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;
165 size_t data_size)
const override;
167 size_t data_size)
const override;
169 size_t data_size)
const override;
171 size_t data_size)
const override;
173 size_t data_size)
const override;
175 size_t data_size)
const override;
177 void *data,
size_t data_size)
const override;
179 size_t data_size)
const override;
181 size_t data_size)
const override;
183 size_t data_size)
const override;
185 size_t data_size)
const override;
187 size_t data_size)
const override;
189 size_t data_size)
const override;
191 size_t data_size)
const override;
193 size_t data_size)
const override;
195 size_t data_size)
const override;
197 size_t data_size)
const override;
199 size_t data_size)
const override;
201 size_t data_size)
const override;
203 size_t data_size)
const override;
205 size_t data_size)
const override;
207 void *data,
size_t data_size)
const override;
209 size_t data_size)
const override;
211 size_t data_size)
const override;
236 size_t data_size)
const;
239 size_t data_size)
const;
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:64
Definition Iofaodel_DatabaseIO.h:65
void compute_block_membership(Ioss::SideBlock *efblock, std::vector< std::string > &block_membership) const
int spatialDimension
Definition Iofaodel_DatabaseIO.h:215
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
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
Ioss::IntVector elemCmapIds
Definition Iofaodel_DatabaseIO.h:229
int nodeBlockCount
Definition Iofaodel_DatabaseIO.h:217
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
int nodeset_count() const
Definition Iofaodel_DatabaseIO.h:88
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
kelpie::Pool pool
Definition Iofaodel_DatabaseIO.h:241
std::pair< std::string, bool > PropertyPair
Definition Iofaodel_DatabaseIO.h:244
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
Definition Iofaodel_DatabaseIO.h:53
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
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
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
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