IOSS 2.0

Iovs_DatabaseIO.h
Go to the documentation of this file.
1 /*
2 * Copyright(C) 1999-2017 National Technology & Engineering Solutions
3 * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
4 * NTESS, the U.S. Government retains certain rights in this software.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
17 *
18 * * Neither the name of NTESS nor the names of its
19 * contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34 /*--------------------------------------------------------------------*/
35 /* Copyright 2000-2010 NTESS. */
36 /* Under the terms of Contract DE-AC04-94AL85000, there is a */
37 /* non-exclusive license for use of this work by or on behalf */
38 /* of the U.S. Government. Export of this program may require */
39 /* a license from the United States Government. */
40 /*--------------------------------------------------------------------*/
41
42 // -*- Mode: c++ -*-
43 #ifndef IOSS_Iovs_DatabaseIO_h
44 #define IOSS_Iovs_DatabaseIO_h
45
46 #include <Ioss_CodeTypes.h>
47 #include <Ioss_DBUsage.h>
48 #include <Ioss_DatabaseIO.h>
49 #include <Ioss_EntityType.h>
50 #include <Ioss_Field.h>
51 #include <Ioss_Map.h>
52 #include <Ioss_Utils.h>
53
54 #include <algorithm>
55 #include <ctime>
56 #include <map>
57 #include <set>
58 #include <sstream>
59 #include <string>
60 #include <vector>
61
62 class ParaViewCatalystIossAdapterBase;
63
64 /** \brief A namespace for the visualization database format.
65 */
66 namespace Iovs {
67
68 typedef std::set<std::pair<int64_t, int64_t>> EntityIdSet;
69
70 class DatabaseIO : public Ioss::DatabaseIO
71 {
72 public:
73 DatabaseIO(Ioss::Region *region, const std::string &filename, Ioss::DatabaseUsage db_usage,
74 MPI_Comm communicator, const Ioss::PropertyManager &props);
75 ~DatabaseIO() override;
76
77 const std::string get_format() const override {return "Embedded Visualization";}
78
79 // Check capabilities of input/output database... Returns an
80 // unsigned int with the supported Ioss::EntityTypes or'ed
81 // together. If "return_value & Ioss::EntityType" is set, then the
82 // database supports that type (e.g. return_value & Ioss::FACESET)
83 unsigned entity_field_support() const override
84 {
85 return Ioss::NODEBLOCK | Ioss::ELEMENTBLOCK | Ioss::NODESET | Ioss::SIDESET | Ioss::SIDEBLOCK;
86 }
87
88 static int parseCatalystFile(const std::string &filepath, std::string &json_result);
89
90 int int_byte_size_db() const override { return int_byte_size_api(); }
91
92 private:
93 bool begin__(Ioss::State state) override;
94 bool end__(Ioss::State state) override;
95
96 bool begin_state__(int state, double time) override;
97 bool end_state__(int state, double time) override;
98
99 void read_meta_data__() override;
100
101 // For the time being, treat vis as write only. Consider glue pipelines.
102 int64_t get_field_internal(const Ioss::Region * /*reg*/, const Ioss::Field & /*field*/,
103 void * /*data*/, size_t /* data_size */) const override
104 {
105 return 0;
106 }
107 int64_t get_field_internal(const Ioss::NodeBlock * /*nb*/, const Ioss::Field & /*field*/,
108 void * /*data*/, size_t /* data_size */) const override
109 {
110 return 0;
111 }
112 int64_t get_field_internal(const Ioss::EdgeBlock * /*nb*/, const Ioss::Field & /*field*/,
113 void * /*data*/, size_t /* data_size */) const override
114 {
115 return 0;
116 }
117 int64_t get_field_internal(const Ioss::FaceBlock * /*nb*/, const Ioss::Field & /*field*/,
118 void * /*data*/, size_t /* data_size */) const override
119 {
120 return 0;
121 }
122 int64_t get_field_internal(const Ioss::ElementBlock * /*eb*/, const Ioss::Field & /*field*/,
123 void * /*data*/, size_t /* data_size */) const override
124 {
125 return 0;
126 }
127 int64_t get_field_internal(const Ioss::SideBlock * /*fb*/, const Ioss::Field & /*field*/,
128 void * /*data*/, size_t /* data_size */) const override
129 {
130 return 0;
131 }
132 int64_t get_field_internal(const Ioss::NodeSet * /*ns*/, const Ioss::Field & /*field*/,
133 void * /*data*/, size_t /* data_size */) const override
134 {
135 return 0;
136 }
137 int64_t get_field_internal(const Ioss::EdgeSet * /*ns*/, const Ioss::Field & /*field*/,
138 void * /*data*/, size_t /* data_size */) const override
139 {
140 return 0;
141 }
142 int64_t get_field_internal(const Ioss::FaceSet * /*ns*/, const Ioss::Field & /*field*/,
143 void * /*data*/, size_t /* data_size */) const override
144 {
145 return 0;
146 }
147 int64_t get_field_internal(const Ioss::ElementSet * /*ns*/, const Ioss::Field & /*field*/,
148 void * /*data*/, size_t /* data_size */) const override
149 {
150 return 0;
151 }
152 int64_t get_field_internal(const Ioss::SideSet * /*fs*/, const Ioss::Field & /*field*/,
153 void * /*data*/, size_t /* data_size */) const override
154 {
155 return 0;
156 }
157 int64_t get_field_internal(const Ioss::CommSet * /*cs*/, const Ioss::Field & /*field*/,
158 void * /*data*/, size_t /* data_size */) const override
159 {
160 return 0;
161 }
162
163 int64_t get_field_internal(const Ioss::StructuredBlock * /*sb*/, const Ioss::Field & /*field*/,
164 void * /*data*/, size_t /*data_size*/) const override
165 {
166 return 0;
167 }
168
169 int64_t put_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data,
170 size_t data_size) const override;
171
172 int64_t put_field_internal(const Ioss::NodeBlock *nb, const Ioss::Field &field, void *data,
173 size_t data_size) const override;
174 int64_t put_field_internal(const Ioss::EdgeBlock * /*nb*/, const Ioss::Field & /*field*/,
175 void * /*data*/, size_t /* data_size */) const override
176 {
177 return 0;
178 }
179 int64_t put_field_internal(const Ioss::FaceBlock * /*nb*/, const Ioss::Field & /*field*/,
180 void * /*data*/, size_t /* data_size */) const override
181 {
182 return 0;
183 }
184 int64_t put_field_internal(const Ioss::ElementBlock *eb, const Ioss::Field &field, void *data,
185 size_t data_size) const override;
186 int64_t put_field_internal(const Ioss::SideBlock *eb, const Ioss::Field &field, void *data,
187 size_t data_size) const override;
188
189 int64_t put_field_internal(const Ioss::NodeSet *ns, const Ioss::Field &field, void *data,
190 size_t data_size) const override;
191 int64_t put_field_internal(const Ioss::EdgeSet * /*ns*/, const Ioss::Field & /*field*/,
192 void * /*data*/, size_t /* data_size */) const override
193 {
194 return 0;
195 }
196 int64_t put_field_internal(const Ioss::FaceSet * /*ns*/, const Ioss::Field & /*field*/,
197 void * /*data*/, size_t /* data_size */) const override
198 {
199 return 0;
200 }
201 int64_t put_field_internal(const Ioss::ElementSet * /*ns*/, const Ioss::Field & /*field*/,
202 void * /*data*/, size_t /* data_size */) const override
203 {
204 return 0;
205 }
206 int64_t put_field_internal(const Ioss::SideSet *fs, const Ioss::Field &field, void *data,
207 size_t data_size) const override;
208 int64_t put_field_internal(const Ioss::CommSet * /*cs*/, const Ioss::Field & /*field*/,
209 void * /*data*/, size_t /* data_size */) const override
210 {
211 return 0;
212 }
213 int64_t put_field_internal(const Ioss::StructuredBlock * /*sb*/, const Ioss::Field & /*field*/,
214 void * /*data*/, size_t /* data_size */) const override
215 {
216 return 0;
217 }
218
219 void write_meta_data();
220
221 static ParaViewCatalystIossAdapterBase *
222 load_plugin_library(const std::string &plugin_name, const std::string &plugin_library_name);
223
224 static std::string create_output_file_path(const std::string & input_deck_name,
225 const Ioss::PropertyManager &properties);
226 // static bool plugin_library_exists(const std::string &plugin_name);
227
228 int64_t handle_node_ids(void *ids, int64_t num_to_get);
229 int64_t handle_element_ids(const Ioss::ElementBlock *eb, void *ids, size_t num_to_get);
230
231 const Ioss::Map &get_node_map() const;
232 const Ioss::Map &get_element_map() const;
233
234 DatabaseIO(); // Do not implement
235 DatabaseIO(const DatabaseIO &); // Do not implement
236 DatabaseIO &operator=(const DatabaseIO &); // Do not implement
237
238 bool isInput;
239 bool singleProcOnly; // True if history or heartbeat which is only written from proc 0...
240 bool doLogging; // True if logging field input/output
241
242 std::string databaseTitle;
243 static std::string paraview_script_filename;
244 std::string catalyst_block_file_name;
245 std::string paraview_json_parse;
246 std::string sierra_input_deck_name;
247 std::string catalyst_output_directory;
248 std::string paraview_script_extra_filename;
249 int enableLogging;
250 int debugLevel;
251 int underscoreVectors;
252 int applyDisplacements;
253 int createSideSets;
254 int createNodeSets;
255 static int useCount;
256 static int uniqueID;
257
258 int nodeBlockCount;
259 int elementBlockCount;
260
261 // Handle to the ParaView Catalyst dynamic library
262 // that is loaded via Ioss user plugin at runtime.
263 ParaViewCatalystIossAdapterBase *pvcsa;
264 mutable bool globalNodeAndElementIDsCreated;
265 void create_global_node_and_element_ids() const;
266 mutable EntityIdSet ids_;
267 };
268 } // namespace Iovs
269
270 #endif
Iovs::DatabaseIO::singleProcOnly
bool singleProcOnly
Definition: Iovs_DatabaseIO.h:239
Iovs::DatabaseIO::create_output_file_path
static std::string create_output_file_path(const std::string &input_deck_name, const Ioss::PropertyManager &properties)
Definition: Iovs_DatabaseIO.C:227
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::EdgeSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:137
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::FaceBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:117
Ioss_DBUsage.h
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::Region *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:102
Iovs::DatabaseIO::get_node_map
const Ioss::Map & get_node_map() const
Definition: Iovs_DatabaseIO.C:933
Ioss::Field
Holds metadata for bulk data associated with a GroupingEntity.
Definition: Ioss_Field.h:47
Iovs::DatabaseIO::get_format
const std::string get_format() const override
Definition: Iovs_DatabaseIO.h:77
Iovs::DatabaseIO::end_state__
bool end_state__(int state, double time) override
Definition: Iovs_DatabaseIO.C:370
Iovs::DatabaseIO::get_element_map
const Ioss::Map & get_element_map() const
Definition: Iovs_DatabaseIO.C:952
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::FaceBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:179
Iovs::DatabaseIO::begin_state__
bool begin_state__(int state, double time) override
Definition: Iovs_DatabaseIO.C:355
Ioss_Map.h
Iovs::DatabaseIO::databaseTitle
std::string databaseTitle
Definition: Iovs_DatabaseIO.h:242
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::EdgeBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:112
Iovs::DatabaseIO::catalyst_block_file_name
std::string catalyst_block_file_name
Definition: Iovs_DatabaseIO.h:244
Iovs::DatabaseIO::paraview_json_parse
std::string paraview_json_parse
Definition: Iovs_DatabaseIO.h:245
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::FaceSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:142
Iovs::DatabaseIO::enableLogging
int enableLogging
Definition: Iovs_DatabaseIO.h:249
Iovs::DatabaseIO::elementBlockCount
int elementBlockCount
Definition: Iovs_DatabaseIO.h:259
Iovs::DatabaseIO::uniqueID
static int uniqueID
Definition: Iovs_DatabaseIO.h:256
Ioss::NODESET
Definition: Ioss_EntityType.h:44
Iovs::DatabaseIO::entity_field_support
unsigned entity_field_support() const override
Definition: Iovs_DatabaseIO.h:83
Ioss::EdgeBlock
A collection of element edges with the same topology.
Definition: Ioss_EdgeBlock.h:53
Iovs::DatabaseIO::~DatabaseIO
~DatabaseIO() override
Definition: Iovs_DatabaseIO.C:204
Ioss::DatabaseUsage
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition: Ioss_DBUsage.h:40
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::EdgeBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:174
Iovs::DatabaseIO::handle_node_ids
int64_t handle_node_ids(void *ids, int64_t num_to_get)
Definition: Iovs_DatabaseIO.C:789
Iovs::DatabaseIO::begin__
bool begin__(Ioss::State state) override
Definition: Iovs_DatabaseIO.C:290
Ioss::State
State
Access states for a database.
Definition: Ioss_State.h:42
Ioss::Region
A grouping entity that contains other grouping entities.
Definition: Ioss_Region.h:98
Ioss::NodeSet
A collection of nodes.
Definition: Ioss_NodeSet.h:53
Ioss::FaceSet
A collection of element faces.
Definition: Ioss_FaceSet.h:54
Iovs::DatabaseIO::useCount
static int useCount
Definition: Iovs_DatabaseIO.h:255
Ioss::StructuredBlock
A structured zone – i,j,k.
Definition: Ioss_StructuredBlock.h:103
Iovs::EntityIdSet
std::set< std::pair< int64_t, int64_t > > EntityIdSet
Definition: Iovs_DatabaseIO.h:68
Iovs::DatabaseIO::underscoreVectors
int underscoreVectors
Definition: Iovs_DatabaseIO.h:251
Ioss::PropertyManager
A collection of Ioss::Property objects.
Definition: Ioss_PropertyManager.h:49
Ioss::EdgeSet
A collection of element edges.
Definition: Ioss_EdgeSet.h:54
Ioss::ElementSet
A collection of elements.
Definition: Ioss_ElementSet.h:54
Iovs::DatabaseIO::DatabaseIO
DatabaseIO()
Ioss::CommSet
Definition: Ioss_CommSet.h:51
Ioss_EntityType.h
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::EdgeSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:191
Ioss::FaceBlock
A collection of element faces with the same topology.
Definition: Ioss_FaceBlock.h:53
Ioss::DatabaseIO::properties
Ioss::PropertyManager properties
Definition: Ioss_DatabaseIO.h:578
Iovs::DatabaseIO::debugLevel
int debugLevel
Definition: Iovs_DatabaseIO.h:250
Iovs::DatabaseIO::create_global_node_and_element_ids
void create_global_node_and_element_ids() const
Definition: Iovs_DatabaseIO.C:420
Iovs::DatabaseIO::applyDisplacements
int applyDisplacements
Definition: Iovs_DatabaseIO.h:252
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::StructuredBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:213
Iovs::DatabaseIO::write_meta_data
void write_meta_data()
Definition: Iovs_DatabaseIO.C:733
Ioss::DatabaseIO
An input or output Database.
Definition: Ioss_DatabaseIO.h:82
Iovs::DatabaseIO::ids_
EntityIdSet ids_
Definition: Iovs_DatabaseIO.h:266
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::CommSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:157
Iovs::DatabaseIO::catalyst_output_directory
std::string catalyst_output_directory
Definition: Iovs_DatabaseIO.h:247
Iovs::DatabaseIO::int_byte_size_db
int int_byte_size_db() const override
Definition: Iovs_DatabaseIO.h:90
Iovs::DatabaseIO::paraview_script_filename
static std::string paraview_script_filename
Definition: Iovs_DatabaseIO.h:243
Ioss_Utils.h
Ioss::ELEMENTBLOCK
Definition: Ioss_EntityType.h:43
Ioss::SideBlock
A collection of element sides having the same topology.
Definition: Ioss_SideBlock.h:59
Ioss_Field.h
Iovs::DatabaseIO::paraview_script_extra_filename
std::string paraview_script_extra_filename
Definition: Iovs_DatabaseIO.h:248
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::StructuredBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:163
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::ElementSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:201
Iovs::DatabaseIO::createSideSets
int createSideSets
Definition: Iovs_DatabaseIO.h:253
Iovs::DatabaseIO::handle_element_ids
int64_t handle_element_ids(const Ioss::ElementBlock *eb, void *ids, size_t num_to_get)
Definition: Iovs_DatabaseIO.C:924
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::NodeSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:132
Iovs::DatabaseIO::nodeBlockCount
int nodeBlockCount
Definition: Iovs_DatabaseIO.h:258
Iovs::DatabaseIO
Definition: Iovs_DatabaseIO.h:70
Ioss::NODEBLOCK
Definition: Ioss_EntityType.h:40
Ioss::ElementBlock
A collection of elements having the same topology.
Definition: Ioss_ElementBlock.h:48
Ioss::DatabaseIO::int_byte_size_api
int int_byte_size_api() const
Returns 4 or 8.
Definition: Ioss_DatabaseIO.C:237
Iovs::DatabaseIO::createNodeSets
int createNodeSets
Definition: Iovs_DatabaseIO.h:254
Iovs::DatabaseIO::doLogging
bool doLogging
Definition: Iovs_DatabaseIO.h:240
Iovs::DatabaseIO::end__
bool end__(Ioss::State state) override
Definition: Iovs_DatabaseIO.C:332
Iovs
A namespace for the visualization database format.
Definition: Iovs_DatabaseIO.C:101
Iovs::DatabaseIO::operator=
DatabaseIO & operator=(const DatabaseIO &)
Iovs::DatabaseIO::isInput
bool isInput
Definition: Iovs_DatabaseIO.h:238
Iovs::DatabaseIO::pvcsa
ParaViewCatalystIossAdapterBase * pvcsa
Definition: Iovs_DatabaseIO.h:263
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::ElementBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:122
Ioss::Map
Definition: Ioss_Map.h:52
Iovs::DatabaseIO::read_meta_data__
void read_meta_data__() override
Definition: Iovs_DatabaseIO.C:402
Iovs::DatabaseIO::load_plugin_library
static ParaViewCatalystIossAdapterBase * load_plugin_library(const std::string &plugin_name, const std::string &plugin_library_name)
Definition: Iovs_DatabaseIO.C:241
Ioss::SIDEBLOCK
Definition: Ioss_EntityType.h:51
anonymous_namespace{cth_pressure_map.C}::data
std::vector< char > data
Definition: cth_pressure_map.C:74
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::SideBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:127
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::SideSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:152
Ioss::NodeBlock
A collection of all nodes in the region.
Definition: Ioss_NodeBlock.h:53
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::NodeBlock *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:107
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::FaceSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:196
Iovs::DatabaseIO::get_field_internal
int64_t get_field_internal(const Ioss::ElementSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:147
MPI_Comm
int MPI_Comm
Definition: Ioss_CodeTypes.h:96
Iovs::DatabaseIO::globalNodeAndElementIDsCreated
bool globalNodeAndElementIDsCreated
Definition: Iovs_DatabaseIO.h:264
Iovs::DatabaseIO::parseCatalystFile
static int parseCatalystFile(const std::string &filepath, std::string &json_result)
Definition: Iovs_DatabaseIO.C:404
Iovs::DatabaseIO::sierra_input_deck_name
std::string sierra_input_deck_name
Definition: Iovs_DatabaseIO.h:246
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::CommSet *, const Ioss::Field &, void *, size_t) const override
Definition: Iovs_DatabaseIO.h:208
Ioss::SideSet
A collection of element sides.
Definition: Ioss_SideSet.h:53
Ioss_CodeTypes.h
Iovs::DatabaseIO::put_field_internal
int64_t put_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override
Definition: Iovs_DatabaseIO.C:446
Ioss_DatabaseIO.h
Ioss::SIDESET
Definition: Ioss_EntityType.h:48