Go to the documentation of this file.
33 #ifndef IOSS_Ioss_StructuredBlock_h
34 #define IOSS_Ioss_StructuredBlock_h
46 #if defined(SEACAS_HAVE_CGNS) && !defined(BUILT_IN_SIERRA)
47 #include <cgnstypes.h>
107 int nj,
int nk,
int off_i,
int off_j,
int off_k,
int glo_ni,
int glo_nj,
122 std::string
type_string()
const override {
return "StructuredBlock"; }
193 static_cast<size_t>(j - 1) * (
m_niGlobal + 1) + i - 1;
208 assert(i > 0 && i <= m_ni + 1 && j > 0 && j <= m_nj + 1 && k > 0 && k <=
m_nk + 1);
209 return static_cast<size_t>(k - 1) * (
m_ni + 1) * (
m_nj + 1) +
210 static_cast<size_t>(j - 1) * (
m_ni + 1) + i - 1;
233 std::vector<INT> ids(node_count);
257 for (
int kk = 0; kk <
m_nk + 1; kk++) {
259 for (
int jj = 0; jj <
m_nj + 1; jj++) {
261 for (
int ii = 0; ii <
m_ni + 1; ii++) {
266 idata[index++] = ind + offset + 1;
272 idata[idx_id.first] = idx_id.second;
278 template <
typename INT_t>
size_t get_cell_ids(INT_t *idata,
bool add_offset)
const
297 for (
int kk = 0; kk <
m_nk; kk++) {
299 for (
int jj = 0; jj <
m_nj; jj++) {
301 for (
int ii = 0; ii <
m_ni; ii++) {
306 idata[index++] = ind + offset + 1;
321 size_t data_size)
const override;
324 size_t data_size)
const override;
size_t get_cell_offset() const
Definition: Ioss_StructuredBlock.h:170
int m_offsetJ
Definition: Ioss_StructuredBlock.h:332
int which_face() const
Definition: Ioss_StructuredBlock.C:274
~StructuredBlock() override
std::vector< std::pair< size_t, size_t > > m_globalIdMap
Definition: Ioss_StructuredBlock.h:351
Holds metadata for bulk data associated with a GroupingEntity.
Definition: Ioss_Field.h:47
size_t m_cellGlobalOffset
Definition: Ioss_StructuredBlock.h:343
int m_offsetI
Definition: Ioss_StructuredBlock.h:331
int m_niGlobal
Definition: Ioss_StructuredBlock.h:335
void set_node_offset(size_t offset)
Set the 'offset' for the block.
Definition: Ioss_StructuredBlock.h:164
size_t get_local_node_offset(int i, int j, int k) const
Definition: Ioss_StructuredBlock.h:220
bool contains(size_t global_offset) const
Definition: Ioss_StructuredBlock.h:313
size_t get_cell_node_ids(INT_t *idata, bool add_offset) const
Definition: Ioss_StructuredBlock.h:238
std::vector< size_t > m_blockLocalNodeIndex
Definition: Ioss_StructuredBlock.h:350
BoundaryCondition(const std::string name, const std::string fam_name, const Ioss::IJK_t range_beg, const Ioss::IJK_t range_end)
Definition: Ioss_StructuredBlock.h:61
size_t get_global_cell_id(int i, int j, int k) const
Definition: Ioss_StructuredBlock.h:176
int m_nk
Definition: Ioss_StructuredBlock.h:329
The main namespace for the Ioss library.
Definition: Ioad_DatabaseIO.C:66
Definition: Ioss_EntityType.h:54
AxisAlignedBoundingBox get_bounding_box() const
Definition: Ioss_StructuredBlock.C:236
int m_nj
Definition: Ioss_StructuredBlock.h:328
A structured zone – i,j,k.
Definition: Ioss_StructuredBlock.h:103
std::vector< INT > get_cell_node_ids(bool add_offset) const
Definition: Ioss_StructuredBlock.h:230
size_t get_local_node_offset(IJK_t index) const
Definition: Ioss_StructuredBlock.h:225
std::string m_bcName
Definition: Ioss_StructuredBlock.h:87
int INT
Definition: Ioss_StructuredBlock.h:53
size_t get_face_count() const
Definition: Ioss_StructuredBlock.C:241
size_t get_block_local_node_offset(IJK_t index) const
Definition: Ioss_StructuredBlock.h:213
int64_t internal_get_field_data(const Field &field, void *data, size_t data_size) const override
Definition: Ioss_StructuredBlock.C:224
EntityType
The particular type of GroupingEntity.
Definition: Ioss_EntityType.h:39
Ioss::NodeBlock m_nodeBlock
Definition: Ioss_StructuredBlock.h:345
An input or output Database.
Definition: Ioss_DatabaseIO.h:82
Definition: Ioss_BoundingBox.h:37
Ioss::IJK_t m_rangeEnd
Definition: Ioss_StructuredBlock.h:92
size_t m_cellOffset
Definition: Ioss_StructuredBlock.h:340
Property get_implicit_property(const std::string &my_name) const override
Calculate and get an implicit property.
Definition: Ioss_StructuredBlock.C:219
int m_offsetK
Definition: Ioss_StructuredBlock.h:333
StructuredBlock * clone(DatabaseIO *database) const
Definition: Ioss_StructuredBlock.C:203
std::vector< ZoneConnectivity > m_zoneConnectivity
Definition: Ioss_StructuredBlock.h:348
StructuredBlock(DatabaseIO *io_database, const std::string &my_name, int index_dim, int ni, int nj, int nk, int off_i, int off_j, int off_k, int glo_ni, int glo_nj, int glo_nk)
Definition: Ioss_StructuredBlock.C:123
const Ioss::NodeBlock & get_node_block() const
Definition: Ioss_StructuredBlock.h:127
std::string m_famName
Definition: Ioss_StructuredBlock.h:88
void set_cell_offset(size_t offset)
Definition: Ioss_StructuredBlock.h:165
Ioss::IJK_t m_rangeBeg
Definition: Ioss_StructuredBlock.h:91
std::string contains_string() const override
What does this entity contain.
Definition: Ioss_StructuredBlock.h:124
int m_njGlobal
Definition: Ioss_StructuredBlock.h:336
Base class for all 'block'-type grouping entities, which means all members of the block are similar o...
Definition: Ioss_EntityBlock.h:61
EntityType type() const override
Get the EntityType, which indicates the particular type of GroupingEntity this is.
Definition: Ioss_StructuredBlock.h:125
Ioss::NodeBlock & get_node_block()
Definition: Ioss_StructuredBlock.h:128
int m_nkGlobal
Definition: Ioss_StructuredBlock.h:337
int64_t get_int() const
Get the property value if it is of type INTEGER.
Definition: Ioss_Property.C:188
std::array< int, 3 > IJK_t
Definition: Ioss_CodeTypes.h:54
std::string type_string() const override
Get the name of the particular type of entity.
Definition: Ioss_StructuredBlock.h:122
bool is_valid() const
Definition: Ioss_StructuredBlock.C:264
bool is_active() const
Does block contain any cells.
Definition: Ioss_StructuredBlock.h:132
size_t get_global_node_offset(int i, int j, int k) const
Definition: Ioss_StructuredBlock.h:190
Property get_property(const std::string &property_name) const
Get the Property from the property manager associated with the entity.
Definition: Ioss_GroupingEntity.h:356
size_t get_cell_global_offset() const
Definition: Ioss_StructuredBlock.h:172
size_t get_block_local_node_offset(int ii, int jj, int kk) const
Definition: Ioss_StructuredBlock.h:203
std::vector< char > data
Definition: cth_pressure_map.C:74
int64_t internal_put_field_data(const Field &field, void *data, size_t data_size) const override
Definition: Ioss_StructuredBlock.C:230
BoundaryCondition(const std::string name, const Ioss::IJK_t range_beg, const Ioss::IJK_t range_end)
Definition: Ioss_StructuredBlock.h:69
void set_node_global_offset(size_t offset)
Definition: Ioss_StructuredBlock.h:166
size_t get_cell_ids(INT_t *idata, bool add_offset) const
Definition: Ioss_StructuredBlock.h:278
std::vector< BoundaryCondition > m_boundaryConditions
Definition: Ioss_StructuredBlock.h:349
void set_cell_global_offset(size_t offset)
Definition: Ioss_StructuredBlock.h:167
friend std::ostream & operator<<(std::ostream &os, const BoundaryCondition &bc)
Definition: Ioss_StructuredBlock.C:296
int m_face
Definition: Ioss_StructuredBlock.h:94
A collection of all nodes in the region.
Definition: Ioss_NodeBlock.h:53
size_t m_nodeOffset
Definition: Ioss_StructuredBlock.h:339
size_t get_node_offset() const
Definition: Ioss_StructuredBlock.h:169
std::string name(const Ioss::GroupingEntity *entity)
Definition: io_info.C:89
Definition: Ioss_StructuredBlock.h:59
A named value that has a known type.
Definition: Ioss_Property.h:47
size_t get_node_global_offset() const
Definition: Ioss_StructuredBlock.h:171
std::string short_type_string() const override
Get a short name of the particular type of entity.
Definition: Ioss_StructuredBlock.h:123
size_t m_nodeGlobalOffset
Definition: Ioss_StructuredBlock.h:342
size_t get_global_cell_id(IJK_t index) const
Definition: Ioss_StructuredBlock.h:182
int m_ni
Definition: Ioss_StructuredBlock.h:327
size_t get_global_node_offset(IJK_t index) const
Definition: Ioss_StructuredBlock.h:196