19#include "iogn_export.h"
166 explicit GeneratedMesh(
const std::string ¶meters,
int proc_count = 1,
int my_proc = 0);
167 GeneratedMesh(int64_t num_x, int64_t num_y, int64_t num_z,
int proc_count = 1,
int my_proc = 0);
247 void set_scale(
double scl_x,
double scl_y,
double scl_z);
248 void set_offset(
double off_x,
double off_y,
double off_z);
249 void set_bbox(
double xmin,
double ymin,
double zmin,
double xmax,
double ymax,
double zmax);
257 void set_rotation(
const std::string &axis,
double angle_degrees);
336 IOSS_NODISCARD virtual int64_t element_count(int64_t block_number)
const;
343 IOSS_NODISCARD virtual int64_t element_count_proc(int64_t block_number)
const;
350 IOSS_NODISCARD virtual std::pair<std::string, int> topology_type(int64_t block_number)
const;
352 void build_node_map(
Ioss::Int64Vector &map, std::vector<int> &proc, int64_t slab,
353 size_t slabOffset,
size_t adjacentProc,
size_t index);
354 IOSS_NODISCARD virtual int64_t communication_node_count_proc()
const;
355 virtual void node_communication_map(
Ioss::Int64Vector &map, std::vector<int> &proc);
356 virtual void owning_processor(
int *owner, int64_t num_node);
372 virtual void element_map(int64_t block_number,
Ioss::IntVector &map)
const;
402 void connectivity(int64_t block_number,
Ioss::IntVector &connect)
const;
403 void connectivity(int64_t block_number, int64_t *connect)
const;
404 virtual void connectivity(int64_t block_number,
int *connect)
const;
413 virtual void coordinates(std::vector<double> &coord)
const;
414 virtual void coordinates(
double *coord)
const;
422 virtual void coordinates(std::vector<double> &x, std::vector<double> &y,
423 std::vector<double> &z)
const;
434 virtual void coordinates(
int component, std::vector<double> &xyz)
const;
435 virtual void coordinates(
int component,
double *xyz)
const;
453 virtual void sideset_elem_sides(int64_t
id,
Ioss::Int64Vector &elem_sides)
const;
455 virtual Ioss::NameList sideset_touching_blocks(int64_t set_id)
const;
467 template <
typename INT>
void raw_element_map(int64_t block_number, std::vector<INT> &map)
const;
468 template <
typename INT>
void raw_element_map(std::vector<INT> &map)
const;
469 template <
typename INT>
void raw_connectivity(int64_t block_number, INT *connect)
const;
471 void set_variable_count(
const std::string &type,
size_t count);
473 void show_parameters()
const;
479 std::array<std::array<double, 3>, 3>
rotmat;
480 int64_t
numX{0}, numY{0}, numZ{0};
489 double offX{0}, offY{0}, offZ{0};
490 double sclX{1}, sclY{1}, sclZ{1};
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
Definition Iogn_GeneratedMesh.h:23
bool createTets
Definition Iogn_GeneratedMesh.h:495
int myProcessor
Definition Iogn_GeneratedMesh.h:484
virtual ~GeneratedMesh()=default
bool doRotation
Definition Iogn_GeneratedMesh.h:494
void set_rotation(const std::string &axis, double angle_degrees)
Definition Iogn_GeneratedMesh.C:1698
virtual IOSS_NODISCARD std::string get_sideset_topology() const
Definition Iogn_GeneratedMesh.C:1623
int64_t add_sideset(ShellLocation loc)
Definition Iogn_GeneratedMesh.C:166
IOSS_NODISCARD int64_t shell_element_count(ShellLocation) const
Definition Iogn_GeneratedMesh.C:481
virtual IOSS_NODISCARD int64_t sideset_side_count_proc(int64_t id) const
Definition Iogn_GeneratedMesh.C:594
virtual IOSS_NODISCARD int block_count() const
Definition Iogn_GeneratedMesh.C:445
std::vector< ShellLocation > nodesets
Definition Iogn_GeneratedMesh.h:477
int64_t numX
Definition Iogn_GeneratedMesh.h:480
IOSS_NODISCARD int64_t get_num_y() const
Definition Iogn_GeneratedMesh.h:458
std::map< Ioss::EntityType, size_t > variableCount
Definition Iogn_GeneratedMesh.h:487
int64_t myNumZ
Definition Iogn_GeneratedMesh.h:481
bool createPyramids
Definition Iogn_GeneratedMesh.h:496
std::vector< ShellLocation > shellBlocks
Definition Iogn_GeneratedMesh.h:476
void create_pyramids(bool yesno)
Definition Iogn_GeneratedMesh.C:152
int64_t numZ
Definition Iogn_GeneratedMesh.h:480
IOSS_NODISCARD int64_t get_num_x() const
Definition Iogn_GeneratedMesh.h:457
int timestepCount
Definition Iogn_GeneratedMesh.h:486
ShellLocation
Definition Iogn_GeneratedMesh.h:25
@ MX
Definition Iogn_GeneratedMesh.h:25
@ PZ
Definition Iogn_GeneratedMesh.h:25
@ MZ
Definition Iogn_GeneratedMesh.h:25
@ PY
Definition Iogn_GeneratedMesh.h:25
@ PX
Definition Iogn_GeneratedMesh.h:25
@ MY
Definition Iogn_GeneratedMesh.h:25
IOSS_NODISCARD int64_t shell_element_count_proc(ShellLocation) const
Definition Iogn_GeneratedMesh.C:507
virtual IOSS_NODISCARD int sideset_count() const
Definition Iogn_GeneratedMesh.C:449
virtual IOSS_NODISCARD int64_t element_count_proc() const
Definition Iogn_GeneratedMesh.C:460
void create_tets(bool yesno)
Definition Iogn_GeneratedMesh.C:151
GeneratedMesh(const GeneratedMesh &)=delete
virtual IOSS_NODISCARD int64_t node_count() const
Definition Iogn_GeneratedMesh.C:425
IOSS_NODISCARD int64_t get_num_z() const
Definition Iogn_GeneratedMesh.h:459
double offX
Definition Iogn_GeneratedMesh.h:489
std::vector< ShellLocation > sidesets
Definition Iogn_GeneratedMesh.h:478
virtual IOSS_NODISCARD int64_t nodeset_node_count_proc(int64_t id) const
Definition Iogn_GeneratedMesh.C:549
int processorCount
Definition Iogn_GeneratedMesh.h:483
GeneratedMesh & operator=(const GeneratedMesh &)=delete
void set_offset(double off_x, double off_y, double off_z)
Definition Iogn_GeneratedMesh.C:209
double sclX
Definition Iogn_GeneratedMesh.h:490
int64_t add_shell_block(ShellLocation loc)
Definition Iogn_GeneratedMesh.C:154
IOSS_NODISCARD int timestep_count() const
Definition Iogn_GeneratedMesh.h:330
void set_bbox(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
Definition Iogn_GeneratedMesh.C:172
int64_t add_nodeset(ShellLocation loc)
Definition Iogn_GeneratedMesh.C:160
int64_t numY
Definition Iogn_GeneratedMesh.h:480
IOSS_NODISCARD size_t get_variable_count(Ioss::EntityType type) const
Definition Iogn_GeneratedMesh.h:461
virtual IOSS_NODISCARD int64_t node_count_proc() const
Definition Iogn_GeneratedMesh.C:435
virtual IOSS_NODISCARD int nodeset_count() const
Definition Iogn_GeneratedMesh.C:447
virtual IOSS_NODISCARD int64_t element_count() const
Definition Iogn_GeneratedMesh.C:451
IOSS_NODISCARD int64_t sideset_side_count(int64_t id) const
Definition Iogn_GeneratedMesh.C:577
void set_scale(double scl_x, double scl_y, double scl_z)
Definition Iogn_GeneratedMesh.C:202
IOSS_NODISCARD int64_t nodeset_node_count(int64_t id) const
Definition Iogn_GeneratedMesh.C:533
GeneratedMesh(const std::string ¶meters, int proc_count=1, int my_proc=0)
Definition Iogn_GeneratedMesh.C:59
std::array< std::array< double, 3 >, 3 > rotmat
Definition Iogn_GeneratedMesh.h:479
A namespace for the generated database format.
Definition Iogn_DashSurfaceMesh.C:12
std::vector< int64_t > Int64Vector
Definition Ioss_CodeTypes.h:22
std::vector< int > IntVector
Definition Ioss_CodeTypes.h:21
Ioss::NameList NameList
Definition Ioss_ChangeSetFactory.h:25
EntityType
The particular type of GroupingEntity.
Definition Ioss_EntityType.h:12