Go to the documentation of this file.
33 #ifndef IOSS_Ioss_Region_h
34 #define IOSS_Ioss_Region_h
64 class StructuredBlock;
70 class CoordinateFrame;
89 using AliasMap = std::map<std::string, std::string, std::less<std::string>>;
101 explicit Region(
DatabaseIO *iodatabase =
nullptr,
const std::string &my_name =
"");
114 void output_summary(std::ostream &strm,
bool do_transient =
true);
214 bool add_alias(
const std::string &db_name,
const std::string &alias);
216 std::string
get_alias(
const std::string &alias)
const;
217 std::string
get_alias__(
const std::string &alias)
const;
222 int get_aliases(
const std::string &my_name, std::vector<std::string> &aliases)
const;
239 std::string *my_type =
nullptr)
const;
263 void add_qa_record(
const std::string &code,
const std::string &code_qa,
264 const std::string &date =
"",
const std::string &time =
"");
268 size_t data_size = 0)
const override;
271 size_t data_size = 0)
const override;
277 bool add_alias__(
const std::string &db_name,
const std::string &alias);
319 return static_cast<unsigned int>((get_database()->entity_field_support() & fld_type) != 0u) != 0u;
324 return get_database()->node_global_to_local(global, must_exist);
334 return get_database()->get_information_records();
344 return get_database()->add_information_records(info);
354 return get_database()->add_information_record(info);
368 const std::string &date,
const std::string &time)
371 return get_database()->add_qa_record(code, code_qa, date, time);
392 return get_database()->get_qa_records();
std::vector< SideSet * > SideSetContainer
Definition: Ioss_Region.h:82
EdgeSetContainer edgeSets
Definition: Ioss_Region.h:294
bool transientDefined
Definition: Ioss_Region.h:307
bool is_valid_io_entity(const std::string &my_name, unsigned int io_type, std::string *my_type=nullptr) const
Determine whether the entity with the given name and type exists.
Definition: Ioss_Region.C:1909
int64_t node_global_to_local(int64_t global, bool must_exist=true) const
Definition: Ioss_Region.h:322
MeshType
The mesh type – structured, unstructured, hybrid (future), or unknown.
Definition: Ioss_MeshType.h:39
StructuredBlock * get_structured_block(const std::string &my_name) const
Get the structured block with the given name.
Definition: Ioss_Region.C:1723
Holds metadata for bulk data associated with a GroupingEntity.
Definition: Ioss_Field.h:47
int currentState
Definition: Ioss_Region.h:304
void transfer_mesh_aliases(Region *to) const
Transfer all relevant aliases from this region to another region.
Definition: Ioss_Region.C:2172
std::vector< double > StateTimeContainer
Definition: Ioss_Region.h:85
bool modelDefined
Definition: Ioss_Region.h:306
const NodeSetContainer & get_nodesets() const
Get all the region's NodeSet objects.
Definition: Ioss_Region.C:1347
bool add_alias(const std::string &db_name, const std::string &alias)
Add an alias for a name in a region.
Definition: Ioss_Region.C:1442
EdgeBlockContainer edgeBlocks
Definition: Ioss_Region.h:289
ElementSet * get_elementset(const std::string &my_name) const
Get the element set with the given name.
Definition: Ioss_Region.C:1846
NodeBlock * get_node_block(const std::string &my_name) const
Get the node block with the given name.
Definition: Ioss_Region.C:1639
ElementBlockContainer elementBlocks
Definition: Ioss_Region.h:291
std::string get_alias__(const std::string &alias) const
Definition: Ioss_Region.C:1486
std::string type_string() const override
Get the name of the particular type of entity.
Definition: Ioss_Region.h:105
virtual double get_state_time(int state=-1) const
Get the time corresponding to the specified state or the currently active state.
Definition: Ioss_Region.C:783
double end_state(int state)
End a state (moment in time).
Definition: Ioss_Region.C:951
#define IOSS_FUNC_ENTER(m)
Definition: Ioss_CodeTypes.h:130
ElementSetContainer elementSets
Definition: Ioss_Region.h:296
const EdgeSetContainer & get_edgesets() const
Get all the region's EdgeSet objects.
Definition: Ioss_Region.C:1353
bool begin_mode__(State new_state)
Definition: Ioss_Region.C:584
A collection of element edges with the same topology.
Definition: Ioss_EdgeBlock.h:53
The main namespace for the Ioss library.
Definition: Ioad_DatabaseIO.C:66
void add_information_records(const std::vector< std::string > &info)
Add multiple information records (informative strings) to the region's database.
Definition: Ioss_Region.h:341
const CoordinateFrame & get_coordinate_frame(int64_t id) const
Get the coordinate frame with the given id.
Definition: Ioss_Region.C:1888
void add_qa_record(const std::string &code, const std::string &code_qa, const std::string &date="", const std::string &time="")
Add a QA record, which consists of 4 strings, to the region's database.
Definition: Ioss_Region.h:367
StructuredBlockContainer structuredBlocks
Definition: Ioss_Region.h:301
State
Access states for a database.
Definition: Ioss_State.h:42
const FaceSetContainer & get_facesets() const
Get all the region's FaceSet objects.
Definition: Ioss_Region.C:1359
bool end_mode__(State current_state)
Definition: Ioss_Region.C:632
A grouping entity that contains other grouping entities.
Definition: Ioss_Region.h:98
NodeSet * get_nodeset(const std::string &my_name) const
Get the node set with the given name.
Definition: Ioss_Region.C:1783
std::map< std::string, std::string, std::less< std::string > > AliasMap
Definition: Ioss_Region.h:89
double begin_state(int state)
Begin a state (moment in time).
Definition: Ioss_Region.C:899
std::pair< int, double > get_max_time() const
Get the maximum time step index (1-based) and time for the region.
Definition: Ioss_Region.C:835
int stateCount
Definition: Ioss_Region.h:305
NodeSetContainer nodeSets
Definition: Ioss_Region.h:293
std::vector< NodeBlock * > NodeBlockContainer
Definition: Ioss_Region.h:72
A collection of nodes.
Definition: Ioss_NodeSet.h:53
std::vector< FaceBlock * > FaceBlockContainer
Definition: Ioss_Region.h:74
A collection of element faces.
Definition: Ioss_FaceSet.h:54
A structured zone – i,j,k.
Definition: Ioss_StructuredBlock.h:103
void add_information_record(const std::string &info)
Add an information record (an informative string) to the region's database.
Definition: Ioss_Region.h:351
A collection of element edges.
Definition: Ioss_EdgeSet.h:54
A collection of elements.
Definition: Ioss_ElementSet.h:54
const FaceBlockContainer & get_face_blocks() const
Get all the region's FaceBlock objects.
Definition: Ioss_Region.C:1323
SideSetContainer sideSets
Definition: Ioss_Region.h:298
std::vector< StructuredBlock * > StructuredBlockContainer
Definition: Ioss_Region.h:83
SideSet * get_sideset(const std::string &my_name) const
Get the side set with the given name.
Definition: Ioss_Region.C:1744
int64_t internal_put_field_data(const Field &field, void *data, size_t data_size=0) const override
Definition: Ioss_Region.C:2163
EntityType
The particular type of GroupingEntity.
Definition: Ioss_EntityType.h:39
Definition: Ioss_CommSet.h:51
Definition: Ioss_CoordinateFrame.h:42
bool begin_mode(State new_state)
Set the Region and the associated DatabaseIO to the given State.
Definition: Ioss_Region.C:559
NodeBlockContainer nodeBlocks
Definition: Ioss_Region.h:288
ElementBlock * get_element_block(const std::string &my_name) const
Get the element block with the given name.
Definition: Ioss_Region.C:1702
const CommSetContainer & get_commsets() const
Get all the region's CommSet objects.
Definition: Ioss_Region.C:1371
Region(DatabaseIO *iodatabase=nullptr, const std::string &my_name="")
Constructor reads in all metadata from disk.
Definition: Ioss_Region.C:308
std::vector< ElementBlock * > ElementBlockContainer
Definition: Ioss_Region.h:75
int get_aliases(const std::string &my_name, std::vector< std::string > &aliases) const
Get a map containing all aliases defined for the entity with basename 'name'.
Definition: Ioss_Region.C:1504
A collection of element faces with the same topology.
Definition: Ioss_FaceBlock.h:53
bool node_major() const
Definition: Ioss_Region.C:411
~Region() override
Definition: Ioss_Region.C:350
Definition: Ioss_EntityType.h:52
An input or output Database.
Definition: Ioss_DatabaseIO.h:82
int64_t internal_get_field_data(const Field &field, void *data, size_t data_size=0) const override
Definition: Ioss_Region.C:2158
const std::vector< std::string > & get_information_records() const
Get all information records (informative strings) for the region's database.
Definition: Ioss_Region.h:331
bool add(NodeBlock *node_block)
Add a node block to the region.
Definition: Ioss_Region.C:1030
std::pair< int, double > get_min_time() const
Get the minimum time step index (1-based) and time for the region.
Definition: Ioss_Region.C:868
std::vector< NodeSet * > NodeSetContainer
Definition: Ioss_Region.h:77
std::vector< CoordinateFrame > CoordinateFrameContainer
Definition: Ioex_Utils.h:52
A collection of element sides having the same topology.
Definition: Ioss_SideBlock.h:59
std::string contains_string() const override
What does this entity contain.
Definition: Ioss_Region.h:107
SideBlock * get_sideblock(const std::string &my_name) const
Get the side block with the given name.
Definition: Ioss_Region.C:1765
void output_summary(std::ostream &strm, bool do_transient=true)
Print a summary of entities in the region.
Definition: Ioss_Region.C:445
const NodeBlockContainer & get_node_blocks() const
Get all the region's NodeBlock objects.
Definition: Ioss_Region.C:1311
EdgeBlock * get_edge_block(const std::string &my_name) const
Get the edge block with the given name.
Definition: Ioss_Region.C:1660
std::string short_type_string() const override
Get a short name of the particular type of entity.
Definition: Ioss_Region.h:106
bool model_defined() const
Determine whether the metadata defining the model (nontransient, geometry, and toploloty) has been se...
Definition: Ioss_Region.h:144
StateTimeContainer stateTimes
Definition: Ioss_Region.h:302
const std::vector< std::string > & get_qa_records() const
Get all QA records, each of which consists of 4 strings, from the region's database.
Definition: Ioss_Region.h:389
const CoordinateFrameContainer & get_coordinate_frames() const
Get all the region's CoordinateFrame objects.
Definition: Ioss_Region.C:1377
AliasMap aliases_
Stores alias mappings.
Definition: Ioss_Region.h:285
CoordinateFrameContainer coordinateFrames
Definition: Ioss_Region.h:300
const std::string mesh_type_string() const
Definition: Ioss_Region.C:428
A collection of elements having the same topology.
Definition: Ioss_ElementBlock.h:48
bool transient_defined() const
Determine whether the metadata related to the transient data has been set.
Definition: Ioss_Region.h:151
EdgeSet * get_edgeset(const std::string &my_name) const
Get the edge set with the given name.
Definition: Ioss_Region.C:1804
const EdgeBlockContainer & get_edge_blocks() const
Get all the region's EdgeBlock objects.
Definition: Ioss_Region.C:1317
bool end_mode(State current_state)
Return the Region and the associated DatabaseIO to STATE_CLOSED.
Definition: Ioss_Region.C:626
virtual int add_state__(double time)
Add a state for a specified time.
Definition: Ioss_Region.C:736
std::vector< EdgeSet * > EdgeSetContainer
Definition: Ioss_Region.h:78
FaceBlock * get_face_block(const std::string &my_name) const
Get the face block with the given name.
Definition: Ioss_Region.C:1681
std::vector< CommSet * > CommSetContainer
Definition: Ioss_Region.h:84
FaceSet * get_faceset(const std::string &my_name) const
Get the face set with the given name.
Definition: Ioss_Region.C:1825
std::vector< char > data
Definition: cth_pressure_map.C:74
GroupingEntity * get_entity(const std::string &my_name, EntityType io_type) const
Get an entity of a known EntityType.
Definition: Ioss_Region.C:1530
virtual int add_state(double time)
Definition: Ioss_Region.h:125
const ElementSetContainer & get_elementsets() const
Get all the region's ElementSet objects.
Definition: Ioss_Region.C:1365
A collection of all nodes in the region.
Definition: Ioss_NodeBlock.h:53
std::vector< EdgeBlock * > EdgeBlockContainer
Definition: Ioss_Region.h:73
const AliasMap & get_alias_map() const
Get all original name / alias pairs for the region.
Definition: Ioss_Region.C:1522
FaceBlockContainer faceBlocks
Definition: Ioss_Region.h:290
std::vector< FaceSet * > FaceSetContainer
Definition: Ioss_Region.h:79
bool supports_field_type(Ioss::EntityType fld_type) const
Definition: Ioss_Region.h:317
CommSetContainer commSets
Definition: Ioss_Region.h:299
Property get_implicit_property(const std::string &my_name) const override
Get an implicit property – These are calcuated from data stored in the grouping entity instead of hav...
Definition: Ioss_Region.C:2042
const ElementBlockContainer & get_element_blocks() const
Get all the region's ElementBlock objects.
Definition: Ioss_Region.C:1329
const SideSetContainer & get_sidesets() const
Get all the region's SideSet objects.
Definition: Ioss_Region.C:1341
void synchronize_id_and_name(const Region *from, bool sync_attribute_field_names=false)
Ensure that the restart and results files have the same ids.
Definition: Ioss_Region.C:2225
std::vector< ElementSet * > ElementSetContainer
Definition: Ioss_Region.h:80
A named value that has a known type.
Definition: Ioss_Property.h:47
bool add_alias__(const std::string &db_name, const std::string &alias)
Definition: Ioss_Region.C:1448
const StructuredBlockContainer & get_structured_blocks() const
Get all the region's StructuredBlock objects.
Definition: Ioss_Region.C:1335
void delete_database() override
Definition: Ioss_Region.C:409
A collection of element sides.
Definition: Ioss_SideSet.h:53
Base class for all 'grouping' entities. The following derived classes are typical:
Definition: Ioss_GroupingEntity.h:93
EntityType type() const override
Get the EntityType, which indicates the particular type of GroupingEntity this is.
Definition: Ioss_Region.h:108
CommSet * get_commset(const std::string &my_name) const
Get the comm set with the given name.
Definition: Ioss_Region.C:1867
FaceSetContainer faceSets
Definition: Ioss_Region.h:295
MeshType mesh_type() const
Definition: Ioss_Region.C:413
int get_current_state() const
Get the index (1-based) of the currently-active state.
Definition: Ioss_Region.h:315
std::string get_alias(const std::string &alias) const
Get the original name for an alias.
Definition: Ioss_Region.C:1480