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();
Definition: Ioss_EntityType.h:52
bool modelDefined
Definition: Ioss_Region.h:306
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
double end_state(int state)
End a state (moment in time).
Definition: Ioss_Region.C:990
const NodeSetContainer & get_nodesets() const
Get all the region's NodeSet objects.
Definition: Ioss_Region.C:1386
A named value that has a known type.
Definition: Ioss_Property.h:47
SideSet * get_sideset(const std::string &my_name) const
Get the side set with the given name.
Definition: Ioss_Region.C:1783
int currentState
Definition: Ioss_Region.h:304
StateTimeContainer stateTimes
Definition: Ioss_Region.h:302
SideBlock * get_sideblock(const std::string &my_name) const
Get the side block with the given name.
Definition: Ioss_Region.C:1804
bool begin_mode(State new_state)
Set the Region and the associated DatabaseIO to the given State.
Definition: Ioss_Region.C:598
The main namespace for the Ioss library.
Definition: Ioad_DatabaseIO.C:66
std::vector< CoordinateFrame > CoordinateFrameContainer
Definition: Ioex_Utils.h:52
StructuredBlock * get_structured_block(const std::string &my_name) const
Get the structured block with the given name.
Definition: Ioss_Region.C:1762
An input or output Database.
Definition: Ioss_DatabaseIO.h:82
std::vector< FaceSet * > FaceSetContainer
Definition: Ioss_Region.h:79
bool end_mode(State current_state)
Return the Region and the associated DatabaseIO to STATE_CLOSED.
Definition: Ioss_Region.C:665
const AliasMap & get_alias_map() const
Get all original name / alias pairs for the region.
Definition: Ioss_Region.C:1561
std::map< std::string, std::string, std::less< std::string > > AliasMap
Definition: Ioss_Region.h:89
std::vector< NodeBlock * > NodeBlockContainer
Definition: Ioss_Region.h:72
CoordinateFrameContainer coordinateFrames
Definition: Ioss_Region.h:300
A collection of nodes.
Definition: Ioss_NodeSet.h:53
int64_t internal_get_field_data(const Field &field, void *data, size_t data_size=0) const override
Definition: Ioss_Region.C:2197
A collection of element faces with the same topology.
Definition: Ioss_FaceBlock.h:53
A collection of element faces.
Definition: Ioss_FaceSet.h:54
Base class for all 'grouping' entities. The following derived classes are typical:
Definition: Ioss_GroupingEntity.h:93
ElementSetContainer elementSets
Definition: Ioss_Region.h:296
double begin_state(int state)
Begin a state (moment in time).
Definition: Ioss_Region.C:938
std::vector< StructuredBlock * > StructuredBlockContainer
Definition: Ioss_Region.h:83
void transfer_mesh_aliases(Region *to) const
Transfer all relevant aliases from this region to another region.
Definition: Ioss_Region.C:2211
int64_t node_global_to_local(int64_t global, bool must_exist=true) const
Definition: Ioss_Region.h:322
A collection of element edges.
Definition: Ioss_EdgeSet.h:54
NodeBlock * get_node_block(const std::string &my_name) const
Get the node block with the given name.
Definition: Ioss_Region.C:1678
FaceBlockContainer faceBlocks
Definition: Ioss_Region.h:290
A collection of element sides having the same topology.
Definition: Ioss_SideBlock.h:61
bool end_mode__(State current_state)
Definition: Ioss_Region.C:671
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:1948
const EdgeBlockContainer & get_edge_blocks() const
Get all the region's EdgeBlock objects.
Definition: Ioss_Region.C:1356
CommSet * get_commset(const std::string &my_name) const
Get the comm set with the given name.
Definition: Ioss_Region.C:1906
EdgeBlock * get_edge_block(const std::string &my_name) const
Get the edge block with the given name.
Definition: Ioss_Region.C:1699
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:2081
EdgeBlockContainer edgeBlocks
Definition: Ioss_Region.h:289
int64_t internal_put_field_data(const Field &field, void *data, size_t data_size=0) const override
Definition: Ioss_Region.C:2202
State
Access states for a database.
Definition: Ioss_State.h:42
MeshType mesh_type() const
Definition: Ioss_Region.C:396
bool transient_defined() const
Determine whether the metadata related to the transient data has been set.
Definition: Ioss_Region.h:151
A collection of elements having the same topology.
Definition: Ioss_ElementBlock.h:48
std::vector< EdgeSet * > EdgeSetContainer
Definition: Ioss_Region.h:78
AliasMap aliases_
Stores alias mappings.
Definition: Ioss_Region.h:285
A structured zone – i,j,k.
Definition: Ioss_StructuredBlock.h:103
A collection of elements.
Definition: Ioss_ElementSet.h:54
EdgeSetContainer edgeSets
Definition: Ioss_Region.h:294
std::vector< CommSet * > CommSetContainer
Definition: Ioss_Region.h:84
int get_current_state() const
Get the index (1-based) of the currently-active state.
Definition: Ioss_Region.h:315
bool add_alias__(const std::string &db_name, const std::string &alias)
Definition: Ioss_Region.C:1487
std::string get_alias__(const std::string &alias) const
Definition: Ioss_Region.C:1525
~Region() override
Definition: Ioss_Region.C:333
std::vector< double > StateTimeContainer
Definition: Ioss_Region.h:85
bool supports_field_type(Ioss::EntityType fld_type) const
Definition: Ioss_Region.h:317
std::vector< EdgeBlock * > EdgeBlockContainer
Definition: Ioss_Region.h:73
std::vector< NodeSet * > NodeSetContainer
Definition: Ioss_Region.h:77
SideSetContainer sideSets
Definition: Ioss_Region.h:298
const StructuredBlockContainer & get_structured_blocks() const
Get all the region's StructuredBlock objects.
Definition: Ioss_Region.C:1374
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
virtual int add_state(double time)
Definition: Ioss_Region.h:125
bool begin_mode__(State new_state)
Definition: Ioss_Region.C:623
bool transientDefined
Definition: Ioss_Region.h:307
const CoordinateFrame & get_coordinate_frame(int64_t id) const
Get the coordinate frame with the given id.
Definition: Ioss_Region.C:1927
StructuredBlockContainer structuredBlocks
Definition: Ioss_Region.h:301
A collection of all nodes in the region.
Definition: Ioss_NodeBlock.h:53
const CommSetContainer & get_commsets() const
Get all the region's CommSet objects.
Definition: Ioss_Region.C:1410
const ElementBlockContainer & get_element_blocks() const
Get all the region's ElementBlock objects.
Definition: Ioss_Region.C:1368
const FaceSetContainer & get_facesets() const
Get all the region's FaceSet objects.
Definition: Ioss_Region.C:1398
CommSetContainer commSets
Definition: Ioss_Region.h:299
const ElementSetContainer & get_elementsets() const
Get all the region's ElementSet objects.
Definition: Ioss_Region.C:1404
EntityType type() const override
Get the EntityType, which indicates the particular type of GroupingEntity this is.
Definition: Ioss_Region.h:108
const EdgeSetContainer & get_edgesets() const
Get all the region's EdgeSet objects.
Definition: Ioss_Region.C:1392
ElementBlockContainer elementBlocks
Definition: Ioss_Region.h:291
const std::string mesh_type_string() const
Definition: Ioss_Region.C:411
const CoordinateFrameContainer & get_coordinate_frames() const
Get all the region's CoordinateFrame objects.
Definition: Ioss_Region.C:1416
bool model_defined() const
Determine whether the metadata defining the model (nontransient, geometry, and toploloty) has been se...
Definition: Ioss_Region.h:144
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
Definition: Ioss_CommSet.h:51
FaceSetContainer faceSets
Definition: Ioss_Region.h:295
const FaceBlockContainer & get_face_blocks() const
Get all the region's FaceBlock objects.
Definition: Ioss_Region.C:1362
FaceSet * get_faceset(const std::string &my_name) const
Get the face set with the given name.
Definition: Ioss_Region.C:1864
int stateCount
Definition: Ioss_Region.h:305
NodeSetContainer nodeSets
Definition: Ioss_Region.h:293
void output_summary(std::ostream &strm, bool do_transient=true)
Print a summary of entities in the region.
Definition: Ioss_Region.C:428
FaceBlock * get_face_block(const std::string &my_name) const
Get the face block with the given name.
Definition: Ioss_Region.C:1720
std::vector< char > data
Definition: cth_pressure_map.C:73
bool node_major() const
Definition: Ioss_Region.C:394
A grouping entity that contains other grouping entities.
Definition: Ioss_Region.h:98
std::string short_type_string() const override
Get a short name of the particular type of entity.
Definition: Ioss_Region.h:106
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:1543
virtual int add_state__(double time)
Add a state for a specified time.
Definition: Ioss_Region.C:775
NodeSet * get_nodeset(const std::string &my_name) const
Get the node set with the given name.
Definition: Ioss_Region.C:1822
ElementSet * get_elementset(const std::string &my_name) const
Get the element set with the given name.
Definition: Ioss_Region.C:1885
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
ElementBlock * get_element_block(const std::string &my_name) const
Get the element block with the given name.
Definition: Ioss_Region.C:1741
A collection of element sides.
Definition: Ioss_SideSet.h:59
void delete_database() override
Definition: Ioss_Region.C:392
Holds metadata for bulk data associated with a GroupingEntity.
Definition: Ioss_Field.h:47
bool add(NodeBlock *node_block)
Add a node block to the region.
Definition: Ioss_Region.C:1069
std::vector< SideSet * > SideSetContainer
Definition: Ioss_Region.h:82
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:874
const SideSetContainer & get_sidesets() const
Get all the region's SideSet objects.
Definition: Ioss_Region.C:1380
MeshType
The mesh type – structured, unstructured, hybrid (future), or unknown.
Definition: Ioss_MeshType.h:39
const NodeBlockContainer & get_node_blocks() const
Get all the region's NodeBlock objects.
Definition: Ioss_Region.C:1350
std::string contains_string() const override
What does this entity contain.
Definition: Ioss_Region.h:107
std::vector< ElementBlock * > ElementBlockContainer
Definition: Ioss_Region.h:75
#define IOSS_FUNC_ENTER(m)
Definition: Ioss_CodeTypes.h:122
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:2264
Definition: Ioss_CoordinateFrame.h:42
EdgeSet * get_edgeset(const std::string &my_name) const
Get the edge set with the given name.
Definition: Ioss_Region.C:1843
EntityType
The particular type of GroupingEntity.
Definition: Ioss_EntityType.h:39
std::vector< FaceBlock * > FaceBlockContainer
Definition: Ioss_Region.h:74
Region(DatabaseIO *iodatabase=nullptr, const std::string &my_name="")
Constructor reads in all metadata from disk.
Definition: Ioss_Region.C:291
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:822
std::string get_alias(const std::string &alias) const
Get the original name for an alias.
Definition: Ioss_Region.C:1519
A collection of element edges with the same topology.
Definition: Ioss_EdgeBlock.h:53
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:907
NodeBlockContainer nodeBlocks
Definition: Ioss_Region.h:288
std::vector< ElementSet * > ElementSetContainer
Definition: Ioss_Region.h:80
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:1481
GroupingEntity * get_entity(const std::string &my_name, EntityType io_type) const
Get an entity of a known EntityType.
Definition: Ioss_Region.C:1569
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