26#include "iocgns_export.h"
36 class ElementTopology;
47 class StructuredBlock;
49 class PropertyManager;
81 void write_meta_data();
82 void write_results_meta_data();
87 IOSS_NODISCARD int64_t node_global_to_local_nl(int64_t global,
bool must_exist)
const override;
88 IOSS_NODISCARD int64_t element_global_to_local_nl(int64_t global)
const override;
90 void read_meta_data_nl()
override;
92 void open_state_file(
int state);
93 void free_state_pointer();
95 void openDatabase_nl()
const override;
96 void closeDatabase_nl()
const override;
101 IOSS_NODISCARD bool begin_state_nl(
int state,
double time)
override;
102 IOSS_NODISCARD bool end_state_nl(
int state,
double time)
override;
103 void flush_database_nl()
const override;
105 bool check_valid_file_open(
int status)
const;
106 void create_structured_block(
int base,
int zone,
size_t &num_node);
107 void create_structured_block_fpp(
int base,
int num_zones,
size_t &num_node);
108 size_t finalize_structured_blocks();
109 void finalize_database()
const override;
110 void get_step_times_nl()
override;
112 void create_unstructured_block(
int base,
int zone,
size_t &num_node);
113 void write_adjacency_data();
116 size_t data_size)
const override;
118 size_t data_size)
const override;
120 size_t data_size)
const override;
122 size_t data_size)
const override;
124 size_t data_size)
const override;
126 void *data,
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;
140 size_t data_size)
const override;
142 void * ,
size_t )
const override
148 void * ,
size_t )
const override
154 void *data,
size_t data_size)
const;
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 size_t data_size)
const override;
179 size_t data_size)
const override;
181 void *data,
size_t data_size)
const override;
183 void * ,
size_t )
const override
189 void * ,
size_t )
const override
195 void *data,
size_t data_size)
const;
200 int64_t file_offset, int64_t file_count,
203 mutable int m_cgnsFilePtr{-1};
204 mutable int m_cgnsBasePtr{
207 int m_flushInterval{0};
208 int m_currentVertexSolutionIndex{0};
209 int m_currentCellCenterSolutionIndex{0};
210 mutable bool m_dbFinalized{
false};
213 mutable std::vector<size_t>
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:63
Definition Iocgns_DatabaseIO.h:57
IOSS_NODISCARD int int_byte_size_db() const override
Definition Iocgns_DatabaseIO.h:76
int64_t put_field_internal(const Ioss::Blob *, const Ioss::Field &, void *, size_t) const override
Definition Iocgns_DatabaseIO.h:188
int64_t get_field_internal(const Ioss::Assembly *, const Ioss::Field &, void *, size_t) const override
Definition Iocgns_DatabaseIO.h:141
IOSS_NODISCARD const Ioss::Map & get_map(entity_type type) const
IOSS_NODISCARD bool node_major() const override
Definition Iocgns_DatabaseIO.h:78
entity_type
Definition Iocgns_DatabaseIO.h:59
std::vector< size_t > m_zoneOffset
Definition Iocgns_DatabaseIO.h:212
IOSS_NODISCARD const Ioss::Map & get_map(Ioss::Map &entity_map, int64_t entityCount, int64_t file_offset, int64_t file_count, entity_type type) const
std::vector< CGNSIntVector > m_blockLocalNodeMap
Definition Iocgns_DatabaseIO.h:216
std::map< std::string, int > m_zoneNameMap
Definition Iocgns_DatabaseIO.h:217
IOSS_NODISCARD std::string get_format() const override
Definition Iocgns_DatabaseIO.h:72
std::vector< double > m_timesteps
Definition Iocgns_DatabaseIO.h:215
std::map< int, Ioss::Map * > m_globalToBlockLocalNodeMap
Definition Iocgns_DatabaseIO.h:218
std::map< std::string, Ioss::FaceUnorderedSet > m_boundaryFaces
Definition Iocgns_DatabaseIO.h:219
int64_t get_field_internal(const Ioss::Blob *, const Ioss::Field &, void *, size_t) const override
Definition Iocgns_DatabaseIO.h:147
std::vector< size_t > m_bcOffset
Definition Iocgns_DatabaseIO.h:214
int64_t put_field_internal(const Ioss::Assembly *, const Ioss::Field &, void *, size_t) const override
Definition Iocgns_DatabaseIO.h:182
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
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 grouping entity that contains other grouping entities.
Definition Ioss_Region.h:90
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:104
A namespace for the CGNS database format.
Definition Iocgns_DatabaseIO.C:555
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
State
Access states for a database.
Definition Ioss_State.h:15
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition Ioss_DBUsage.h:13