137 explicit GeneratedMesh(
const std::string ¶meters,
int proc_count = 1,
int my_proc = 0);
138 GeneratedMesh(int64_t num_x, int64_t num_y, int64_t num_z,
int proc_count = 1,
int my_proc = 0);
171 void set_scale(
double scl_x,
double scl_y,
double scl_z);
172 void set_offset(
double off_x,
double off_y,
double off_z);
173 void set_bbox(
double xmin,
double ymin,
double zmin,
double xmax,
double ymax,
double zmax);
181 void set_rotation(
const std::string &axis,
double angle_degrees);
212 IOSS_NODISCARD virtual int64_t sideset_side_count_proc(int64_t
id)
const;
216 return Ioss::IJK_t{{(int)numX, (
int)numY, (int)numZ}};
237 IOSS_NODISCARD virtual int64_t element_count(int64_t block_number)
const;
244 IOSS_NODISCARD int64_t element_count_proc(int64_t block_number)
const;
251 IOSS_NODISCARD virtual std::pair<std::string, int> topology_type(int64_t block_number)
const;
253 void build_node_map(
Ioss::Int64Vector &map, std::vector<int> &proc, int64_t slab,
254 size_t slabOffset,
size_t adjacentProc,
size_t index);
255 IOSS_NODISCARD virtual int64_t communication_node_count_proc()
const;
256 virtual void node_communication_map(
Ioss::Int64Vector &map, std::vector<int> &proc);
257 virtual void owning_processor(
int *owner, int64_t num_node);
273 virtual void element_map(int64_t block_number,
Ioss::IntVector &map)
const;
303 void connectivity(int64_t block_number,
Ioss::IntVector &connect)
const;
304 void connectivity(int64_t block_number, int64_t *connect)
const;
305 virtual void connectivity(int64_t block_number,
int *connect)
const;
314 virtual void coordinates(std::vector<double> &coord)
const;
315 virtual void coordinates(
double *coord)
const;
323 virtual void coordinates(std::vector<double> &x, std::vector<double> &y,
324 std::vector<double> &z)
const;
335 virtual void coordinates(
int component, std::vector<double> &xyz)
const;
346 void coordinates(
int component,
int zone,
double *coord)
const;
357 virtual void sideset_elem_sides(int64_t
id,
Ioss::Int64Vector &elem_sides)
const;
367 return variableCount.find(type) != variableCount.end() ? variableCount.find(type)->second : 0;
371 template <
typename INT>
void raw_element_map(int64_t block_number, std::vector<INT> &map)
const;
372 template <
typename INT>
void raw_element_map(std::vector<INT> &map)
const;
373 template <
typename INT>
void raw_connectivity(int64_t block_number, INT *connect)
const;
378 void set_variable_count(
const std::string &type,
size_t count);
380 void show_parameters()
const;
383 std::vector<ShellLocation> sidesets{};
384 std::array<std::array<double, 3>, 3>
rotmat;
385 size_t numX{0}, numY{0}, numZ{0};
386 size_t myNumZ{0}, myStartZ{0};
388 size_t processorCount{1};
389 size_t myProcessor{0};
391 size_t timestepCount{0};
392 std::map<Ioss::EntityType, size_t> variableCount{};
394 double offX{0}, offY{0}, offZ{0};
395 double sclX{1}, sclY{1}, sclZ{1};
399 bool doRotation{
false};