33 #ifndef IOSS_Iogs_GeneratedMesh_h 34 #define IOSS_Iogs_GeneratedMesh_h 164 explicit GeneratedMesh(
const std::string ¶meters,
int proc_count = 1,
int my_proc = 0);
165 GeneratedMesh(int64_t num_x, int64_t num_y, int64_t num_z,
int proc_count = 1,
int my_proc = 0);
198 void set_scale(
double scl_x,
double scl_y,
double scl_z);
199 void set_offset(
double off_x,
double off_y,
double off_z);
200 void set_bbox(
double xmin,
double ymin,
double zmin,
double xmax,
double ymax,
double zmax);
208 void set_rotation(
const std::string &axis,
double angle_degrees);
278 virtual std::pair<std::string, int>
topology_type(int64_t block_number)
const;
281 size_t slabOffset,
size_t adjacentProc,
size_t index);
331 void connectivity(int64_t block_number, int64_t *connect)
const;
332 virtual void connectivity(int64_t block_number,
int *connect)
const;
341 virtual void coordinates(std::vector<double> &coord)
const;
350 virtual void coordinates(std::vector<double> &x, std::vector<double> &y,
351 std::vector<double> &z)
const;
362 virtual void coordinates(
int component, std::vector<double> &xyz)
const;
373 void coordinates(
int component,
int zone,
double *coord)
const;
398 template <
typename INT>
void raw_element_map(int64_t block_number, std::vector<INT> &map)
const;
399 template <
typename INT>
void raw_element_map(std::vector<INT> &map)
const;
411 std::array<std::array<double, 3>, 3>
rotmat;
virtual int64_t node_count_proc() const
Definition: Iogs_GeneratedMesh.C:355
void set_bbox(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
Definition: Iogs_GeneratedMesh.C:151
int64_t timestep_count() const
Definition: Iogs_GeneratedMesh.h:258
void set_offset(double off_x, double off_y, double off_z)
Definition: Iogs_GeneratedMesh.C:187
void build_node_map(Ioss::Int64Vector &map, std::vector< int > &proc, int64_t slab, size_t slabOffset, size_t adjacentProc, size_t index)
Definition: Iogs_GeneratedMesh.C:476
void parse_options(const std::vector< std::string > &groups)
Definition: Iogs_GeneratedMesh.C:194
ShellLocation
Definition: Iogs_GeneratedMesh.h:52
double sclZ
Definition: Iogs_GeneratedMesh.h:422
virtual void element_map(int64_t block_number, MapVector &map) const
Definition: Iogs_GeneratedMesh.C:509
void set_variable_count(const std::string &type, size_t count)
Definition: Iogs_GeneratedMesh.C:866
size_t myProcessor
Definition: Iogs_GeneratedMesh.h:416
virtual void node_communication_map(MapVector &map, std::vector< int > &proc)
Definition: Iogs_GeneratedMesh.C:486
void show_parameters() const
Definition: Iogs_GeneratedMesh.C:324
virtual int64_t communication_node_count_proc() const
Definition: Iogs_GeneratedMesh.C:452
virtual int64_t sideset_count() const
Definition: Iogs_GeneratedMesh.C:359
int64_t sideset_side_count(int64_t id) const
Definition: Iogs_GeneratedMesh.C:388
virtual std::vector< std::string > sideset_touching_blocks(int64_t set_id) const
Definition: Iogs_GeneratedMesh.C:860
double offX
Definition: Iogs_GeneratedMesh.h:421
size_t numY
Definition: Iogs_GeneratedMesh.h:412
std::vector< int > IntVector
Definition: Ioss_CodeTypes.h:43
A namespace for the gen_struc database format.
Definition: Iogs_DatabaseIO.C:132
std::vector< ShellLocation > sidesets
Definition: Iogs_GeneratedMesh.h:410
Definition: Iogs_GeneratedMesh.h:52
int64_t add_sideset(ShellLocation loc)
Definition: Iogs_GeneratedMesh.C:145
virtual void node_map(MapVector &map) const
Definition: Iogs_GeneratedMesh.C:438
Definition: Iogs_GeneratedMesh.h:52
void initialize()
Definition: Iogs_GeneratedMesh.C:91
GeneratedMesh & operator=(const GeneratedMesh &)
virtual int64_t element_count_proc() const
Definition: Iogs_GeneratedMesh.C:367
void set_rotation(const std::string &axis, double angle_degrees)
Definition: Iogs_GeneratedMesh.C:887
virtual void sideset_elem_sides(int64_t id, Ioss::Int64Vector &elem_sides) const
Definition: Iogs_GeneratedMesh.C:852
std::map< Ioss::EntityType, size_t > variableCount
Definition: Iogs_GeneratedMesh.h:419
bool set_id(const Ioss::GroupingEntity *entity, ex_entity_type type, Ioex::EntityIdSet *idset)
Definition: Ioex_Utils.C:271
int64_t get_num_z() const
Definition: Iogs_GeneratedMesh.h:390
virtual int64_t sideset_side_count_proc(int64_t id) const
Definition: Iogs_GeneratedMesh.C:404
int64_t get_num_y() const
Definition: Iogs_GeneratedMesh.h:389
virtual int64_t element_count() const
Definition: Iogs_GeneratedMesh.C:361
std::array< int, 3 > IJK_t
Definition: Ioss_CodeTypes.h:46
virtual void owning_processor(int *owner, int64_t num_node)
Definition: Iogs_GeneratedMesh.C:462
void element_surface_map(ShellLocation loc, MapVector &map) const
Definition: Iogs_GeneratedMesh.C:554
size_t myStartZ
Definition: Iogs_GeneratedMesh.h:413
virtual void coordinates(std::vector< double > &coord) const
Definition: Iogs_GeneratedMesh.C:633
Definition: Iogs_GeneratedMesh.h:52
Definition: Iogs_GeneratedMesh.h:49
std::vector< int64_t > Int64Vector
Definition: Ioss_CodeTypes.h:44
virtual std::pair< std::string, int > topology_type(int64_t block_number) const
Definition: Iogs_GeneratedMesh.C:432
std::array< std::array< double, 3 >, 3 > rotmat
Definition: Iogs_GeneratedMesh.h:411
size_t myNumZ
Definition: Iogs_GeneratedMesh.h:413
virtual int64_t structured_block_count() const
Definition: Iogs_GeneratedMesh.C:357
Definition: Iogs_GeneratedMesh.h:52
size_t timestepCount
Definition: Iogs_GeneratedMesh.h:418
int INT
Definition: Ioss_StructuredBlock.h:53
Ioss::IJK_t block_offset_proc(int64_t id) const
virtual int64_t node_count() const
Definition: Iogs_GeneratedMesh.C:353
Ioss::IJK_t block_range(int64_t id) const
Definition: Iogs_GeneratedMesh.h:241
void raw_element_map(int64_t block_number, std::vector< INT > &map) const
Definition: Iogs_GeneratedMesh.C:520
GeneratedMesh()
Definition: Iogs_GeneratedMesh.C:87
int64_t get_num_x() const
Definition: Iogs_GeneratedMesh.h:388
size_t get_variable_count(Ioss::EntityType type) const
Definition: Iogs_GeneratedMesh.h:392
size_t numX
Definition: Iogs_GeneratedMesh.h:412
void connectivity(int64_t block_number, Ioss::Int64Vector &connect) const
Definition: Iogs_GeneratedMesh.C:793
Definition: Iogs_GeneratedMesh.h:52
bool doRotation
Definition: Iogs_GeneratedMesh.h:426
EntityType
The particular type of GroupingEntity.
Definition: Ioss_EntityType.h:39
Definition: Iogs_GeneratedMesh.h:52
std::vector< int64_t > MapVector
Definition: Iogs_GeneratedMesh.h:47
size_t processorCount
Definition: Iogs_GeneratedMesh.h:415
double offY
Definition: Iogs_GeneratedMesh.h:421
Ioss::IJK_t block_range_proc(int64_t id) const
double sclX
Definition: Iogs_GeneratedMesh.h:422
void raw_connectivity(int64_t block_number, INT *connect) const
Definition: Iogs_GeneratedMesh.C:820
size_t numZ
Definition: Iogs_GeneratedMesh.h:412
double offZ
Definition: Iogs_GeneratedMesh.h:421
double sclY
Definition: Iogs_GeneratedMesh.h:422
void set_scale(double scl_x, double scl_y, double scl_z)
Definition: Iogs_GeneratedMesh.C:180