19#include "iocgns_export.h"
34 : m_name(std::move(name)), m_ordinal{{ni, nj, nk}}, m_zone(zone)
41 StructuredZoneData(
int zone,
const std::string &nixnjxnk);
51 unsigned int m_lineOrdinal{0};
68 int m_splitOrdinal{0};
78 std::vector<Ioss::ZoneConnectivity> m_zoneConnectivity{};
84 return m_child1 ==
nullptr && m_child2 ==
nullptr;
92 return (
size_t)m_ordinal[0] * m_ordinal[1] * m_ordinal[2];
96 return (
size_t)m_ordinal[0] * m_ordinal[1] * m_ordinal[2];
101 return (
size_t)(m_ordinal[0] + 1) * (m_ordinal[1] + 1) * (m_ordinal[2] + 1);
104 IOSS_NODISCARD std::pair<StructuredZoneData *, StructuredZoneData *>
105 split(
int zone_id,
double avg_work,
int rank,
bool verbose);
106 void resolve_zgc_split_donor(
const std::vector<Iocgns::StructuredZoneData *> &zones);
107 void update_zgc_processor(
const std::vector<Iocgns::StructuredZoneData *> &zones);
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
Definition Iocgns_StructuredZoneData.h:29
StructuredZoneData(std::string name, int zone, int ni, int nj, int nk)
Definition Iocgns_StructuredZoneData.h:33
StructuredZoneData()
Definition Iocgns_StructuredZoneData.h:31
IOSS_NODISCARD size_t cell_count() const
Definition Iocgns_StructuredZoneData.h:94
IOSS_NODISCARD size_t node_count() const
Definition Iocgns_StructuredZoneData.h:99
IOSS_NODISCARD size_t work() const
Definition Iocgns_StructuredZoneData.h:90
IOSS_NODISCARD bool is_active() const
Definition Iocgns_StructuredZoneData.h:81
A namespace for the CGNS database format.
Definition Iocgns_DatabaseIO.C:555
Ordinal
Definition Iocgns_StructuredZoneData.h:22
@ J
Definition Iocgns_StructuredZoneData.h:24
@ I
Definition Iocgns_StructuredZoneData.h:23
@ K
Definition Iocgns_StructuredZoneData.h:25
std::array< int, 3 > IJK_t
Definition Ioss_CodeTypes.h:24