9 #ifndef stk_io_IossBridge_hpp
10 #define stk_io_IossBridge_hpp
13 #include <stk_util/parallel/Parallel.hpp>
14 #include <stk_mesh/base/Types.hpp>
15 #include <stk_mesh/fem/CoordinateSystems.hpp>
16 #include <stk_mesh/fem/FEMMetaData.hpp>
20 #define USE_FEMMETADATA
21 #ifdef USE_FEMMETADATA
22 #include <stk_mesh/fem/FEMHelpers.hpp>
25 #include <stk_mesh/fem/TopologyDimensions.hpp>
26 #include <Ioss_DBUsage.h>
27 #include <Ioss_Field.h>
28 #include <Ioss_SideBlock.h>
29 #include <Ioss_ElementTopology.h>
37 class ElementTopology;
40 struct CellTopologyData;
96 for(
size_t i=0; i < entities.size(); i++) {
97 T* entity = entities[i];
98 internal_part_processing(entity, fem_meta);
103 template <
typename T>
105 const stk_classic::mesh::EntityRank)
133 const Ioss::Region *input_region = NULL,
135 const bool sort_stk_parts =
false);
173 const stk_classic::mesh::EntityRank part_type,
176 const Ioss::Field::RoleType filter_role,
177 const bool add_all =
false);
185 const stk_classic::mesh::EntityRank part_type,
186 Ioss::GroupingEntity *entity,
187 const Ioss::Field::RoleType filter_role,
188 const bool add_all =
false);
203 Ioss::Field::RoleType role,
205 stk_classic::mesh::EntityRank part_type);
219 int spatial_dimension);
232 void get_entity_list(Ioss::GroupingEntity *io_entity,
233 stk_classic::mesh::EntityRank part_type,
235 std::vector<stk_classic::mesh::Entity*> &entities);
244 std::vector<stk_classic::mesh::Entity*> &entities,
245 Ioss::GroupingEntity *io_entity,
246 const std::string &io_fld_name);
255 std::vector<stk_classic::mesh::Entity*> &entities,
256 Ioss::GroupingEntity *io_entity,
257 const std::string &io_fld_name,
258 Ioss::Field::RoleType filter_role);
305 const Ioss::GroupingEntity *get_associated_ioss_entity(
const mesh::Part &part);
307 size_t db_api_int_size(
const Ioss::GroupingEntity *entity);
310 bool invalid_rank(mesh::EntityRank rank);
311 mesh::EntityRank part_primary_entity_rank(
const mesh::Part &part);
317 void set_cell_topology(
mesh::Part &part,
const CellTopologyData *
const cell_topology);
318 const CellTopologyData *get_cell_topology(
const mesh::Part &part);
320 void initialize_spatial_dimension(
mesh::fem::FEMMetaData &fem_meta,
size_t spatial_dimension,
const std::vector<std::string> &entity_rank_names);
323 void initialize_spatial_dimension(
mesh::MetaData &meta,
size_t spatial_dimension,
const std::vector<std::string> &entity_rank_names);
327 std::pair<std::string, Ioss::Field::BasicType> *result);