18#include "ioex_export.h"
79 int64_t entityCount{0};
80 int64_t localOwnedCount{0};
81 int64_t attributeCount{0};
82 int64_t procOffset{0};
91 int64_t entityCount{0};
92 int64_t attributeCount{0};
93 ex_entity_type type{};
103 int64_t entityCount{0};
104 int64_t localOwnedCount{0};
105 int64_t attributeCount{0};
106 int64_t procOffset{0};
114 : name(other.name), id(other.id), entityCount(other.entityCount),
115 nodesPerEntity(other.nodesPerEntity), attributeCount(other.attributeCount),
116 procOffset(other.procOffset)
123 char elType[MAX_STR_LENGTH + 1]{};
126 int64_t entityCount{0};
127 int64_t nodesPerEntity{0};
128 int64_t attributeCount{0};
129 int64_t procOffset{0};
139 : name(other.name), id(other.id), entityCount(other.entityCount),
140 nodesPerEntity(other.nodesPerEntity), edgesPerEntity(other.edgesPerEntity),
141 attributeCount(other.attributeCount), procOffset(other.procOffset)
148 char elType[MAX_STR_LENGTH + 1]{};
151 int64_t entityCount{0};
152 int64_t nodesPerEntity{0};
153 int64_t edgesPerEntity{0};
154 int64_t attributeCount{0};
155 int64_t procOffset{0};
165 : name(other.name), id(other.id), entityCount(other.entityCount),
166 globalEntityCount(other.globalEntityCount), nodesPerEntity(other.nodesPerEntity),
167 edgesPerEntity(other.edgesPerEntity), facesPerEntity(other.facesPerEntity),
168 attributeCount(other.attributeCount), offset_(other.offset_), procOffset(other.procOffset)
175 char elType[MAX_STR_LENGTH + 1]{};
178 int64_t entityCount{0};
179 int64_t globalEntityCount{0};
180 int64_t nodesPerEntity{0};
181 int64_t edgesPerEntity{0};
182 int64_t facesPerEntity{0};
183 int64_t attributeCount{0};
185 int64_t procOffset{0};
194 int64_t entityCount{0};
195 int64_t globalEntityCount{0};
196 int64_t localOwnedCount{0};
197 int64_t attributeCount{0};
199 int64_t procOffset{0};
208 int64_t entityCount{0};
209 int64_t attributeCount{0};
211 int64_t procOffset{0};
220 int64_t entityCount{0};
221 int64_t attributeCount{0};
223 int64_t procOffset{0};
232 int64_t entityCount{0};
233 int64_t attributeCount{0};
235 int64_t procOffset{0};
245 int64_t entityCount{0};
246 int64_t globalEntityCount{0};
248 int64_t procOffset{0};
249 int64_t dfProcOffset{0};
255 : id(the_id), entityCount(count), type(the_type)
259 int64_t entityCount{0};
265 std::vector<CommunicationMap> nodeMap{};
266 std::vector<CommunicationMap> elementMap{};
268 int processorCount{0};
269 int64_t globalNodes{0};
270 int64_t globalElements{0};
271 int64_t globalElementBlocks{0};
272 int64_t globalNodeSets{0};
273 int64_t globalSideSets{0};
274 int64_t nodesInternal{0};
275 int64_t nodesBorder{0};
276 int64_t nodesExternal{0};
277 int64_t elementsInternal{0};
278 int64_t elementsBorder{0};
279 bool outputNemesis{
false};
298 : dimensionality(dim), file_per_processor(file_pp), parallelUtil(util)
304 void get_global_counts();
306 char title[MAX_LINE_LENGTH + 1]{};
307 int dimensionality{};
308 bool file_per_processor{
true};
309 bool use_node_map{
true};
310 bool use_elem_map{
true};
311 bool use_face_map{
true};
312 bool use_edge_map{
true};
313 bool full_nemesis_data{
true};
315 std::vector<Assembly> assemblies{};
316 std::vector<Blob> blobs{};
318 std::vector<NodeBlock> nodeblocks{};
319 std::vector<EdgeBlock> edgeblocks{};
320 std::vector<FaceBlock> faceblocks{};
321 std::vector<ElemBlock> elemblocks{};
322 std::vector<NodeSet> nodesets{};
323 std::vector<EdgeSet> edgesets{};
324 std::vector<FaceSet> facesets{};
325 std::vector<ElemSet> elemsets{};
326 std::vector<SideSet> sidesets{};
338 int initialize_state_file(
Mesh &mesh,
const ex_var_params &var_params,
339 const std::string &base_filename);
341 int write_meta_data(
Mesh &mesh);
345 static void update_assembly_data(
int exoid, std::vector<Assembly> &assemblies,
int stage = 0);
348 static void copy_database(
int in_file,
int out_file,
bool transient_also =
true);
352 int put_metadata(
const std::vector<Assembly> &assemblies);
353 int put_metadata(
const std::vector<Blob> &blobs);
354 int put_metadata(
const std::vector<NodeBlock> &nodeblocks,
bool count_only =
false);
355 int put_metadata(
const std::vector<EdgeBlock> &blocks,
bool count_only =
false);
356 int put_metadata(
const std::vector<FaceBlock> &blocks,
bool count_only =
false);
357 int put_metadata(
const std::vector<ElemBlock> &blocks,
bool count_only =
false);
359 int put_metadata(
const std::vector<NodeSet> &nodesets,
bool count_only =
false);
360 int put_metadata(
const std::vector<EdgeSet> &edgesets,
bool count_only =
false);
361 int put_metadata(
const std::vector<FaceSet> &facesets,
bool count_only =
false);
362 int put_metadata(
const std::vector<ElemSet> &elemsets,
bool count_only =
false);
364 int put_metadata(
const std::vector<SideSet> &sidesets,
bool count_only =
false);
367 int put_non_define_data(
const std::vector<Assembly> &assemblies);
368 int put_non_define_data(
const std::vector<Blob> &blobs);
370 int put_non_define_data(
const std::vector<EdgeBlock> &blocks);
371 int put_non_define_data(
const std::vector<FaceBlock> &blocks);
372 int put_non_define_data(
const std::vector<ElemBlock> &blocks,
bool output_global_data);
374 int put_non_define_data(
const std::vector<NodeSet> &nodesets,
bool output_global_data);
375 int put_non_define_data(
const std::vector<EdgeSet> &edgesets);
376 int put_non_define_data(
const std::vector<FaceSet> &facesets);
377 int put_non_define_data(
const std::vector<ElemSet> &elemsets);
379 int put_non_define_data(
const std::vector<SideSet> &sidesets,
bool output_global_data);
383 int exodusFilePtr{0};
384 int nodeMapVarID[3]{};
385 int elementMapVarID[2]{};
387 int elemCommIndexVar{0};
388 int maximumNameLength{32};
int64_t entity_id
Definition Ioex_Internals.h:36
Definition Ioex_Internals.h:332
int put_metadata(const std::vector< NodeBlock > &nodeblocks, bool count_only=false)
Ioss::ParallelUtils parallelUtil
Definition Ioex_Internals.h:389
int put_non_define_data(const std::vector< NodeBlock > &nodeblocks)
int max_name_length() const
Definition Ioex_Internals.h:381
Internals & operator=(const Internals &from)=delete
Internals(const Internals &from)=delete
Definition Ioex_Internals.h:295
Ioss::ParallelUtils parallelUtil
Definition Ioex_Internals.h:328
Mesh(int dim, const char *the_title, const Ioss::ParallelUtils &util, bool file_pp)
Definition Ioex_Internals.h:297
Definition Ioex_Internals.h:283
int exodusFilePtr
Definition Ioex_Internals.h:291
Redefine & operator=(const Redefine &from)=delete
Redefine(const Redefine &from)=delete
A homogeneous collection of other GroupingEntities.
Definition Ioss_Assembly.h:31
A homogeneous collection of other GroupingEntities.
Definition Ioss_Blob.h:31
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
A collection of all nodes in the region.
Definition Ioss_NodeBlock.h:33
A collection of nodes.
Definition Ioss_NodeSet.h:29
Definition Ioss_ParallelUtils.h:32
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
static void copy_string(char *dest, char const *source, size_t elements)
Definition Ioss_Utils.C:1276
A namespace for the exodus database format.
Definition Ioex_BaseDatabaseIO.C:209
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
Definition Ioex_Internals.h:86
std::vector< int64_t > memberIdList
Definition Ioex_Internals.h:94
Definition Ioex_Internals.h:98
Definition Ioex_Internals.h:253
CommunicationMap(entity_id the_id, int64_t count, char the_type)
Definition Ioex_Internals.h:254
Definition Ioex_Internals.h:110
char elType[MAX_STR_LENGTH+1]
Definition Ioex_Internals.h:123
EdgeBlock(const EdgeBlock &other)
Definition Ioex_Internals.h:113
EdgeBlock()
Definition Ioex_Internals.h:111
Definition Ioex_Internals.h:203
Definition Ioex_Internals.h:161
char elType[MAX_STR_LENGTH+1]
Definition Ioex_Internals.h:175
ElemBlock()
Definition Ioex_Internals.h:162
ElemBlock(const ElemBlock &other)
Definition Ioex_Internals.h:164
Definition Ioex_Internals.h:227
Definition Ioex_Internals.h:135
FaceBlock()
Definition Ioex_Internals.h:136
FaceBlock(const FaceBlock &other)
Definition Ioex_Internals.h:138
char elType[MAX_STR_LENGTH+1]
Definition Ioex_Internals.h:148
Definition Ioex_Internals.h:215
Definition Ioex_Internals.h:74
Definition Ioex_Internals.h:189
Definition Ioex_Internals.h:239