9 #ifndef STK_IO_UTIL_GENERATEDMESH_HPP 10 #define STK_IO_UTIL_GENERATEDMESH_HPP 20 enum ShellLocation {MX = 0, PX = 1,
158 explicit GeneratedMesh(
const std::string ¶meters,
int proc_count = 1,
int my_proc = 0);
159 GeneratedMesh(
int num_x,
int num_y,
int num_z,
int proc_count = 1,
int my_proc = 0);
175 size_t add_shell_block(ShellLocation loc);
190 size_t add_nodeset(ShellLocation loc);
208 size_t add_sideset(ShellLocation loc);
224 void set_scale(
double scl_x,
double scl_y,
double scl_z);
225 void set_offset(
double off_x,
double off_y,
double off_z);
226 void set_bbox(
double xmin,
double ymin,
double zmin,
227 double xmax,
double ymax,
double zmax);
235 void set_rotation(
const std::string &axis,
double angle_degrees);
240 size_t node_count()
const;
245 size_t node_count_proc()
const;
250 size_t block_count()
const;
255 size_t nodeset_count()
const;
260 size_t nodeset_node_count(
size_t id)
const;
265 size_t nodeset_node_count_proc(
size_t id)
const;
270 size_t sideset_count()
const;
275 size_t sideset_side_count(
size_t id)
const;
281 size_t sideset_side_count_proc(
size_t id)
const;
286 size_t element_count()
const;
291 size_t shell_element_count(ShellLocation)
const;
296 size_t element_count_proc()
const;
301 size_t shell_element_count_proc(ShellLocation)
const;
308 size_t element_count(
size_t block_number)
const;
315 size_t element_count_proc(
size_t block_number)
const;
322 std::pair<std::string, int> topology_type(
size_t block_number)
const;
324 size_t communication_node_count_proc()
const;
325 void node_communication_map(std::vector<int> &map, std::vector<int> &proc);
332 void node_map(std::vector<int> &map);
339 void element_map(
size_t block_number, std::vector<int> &map)
const;
346 void element_map(std::vector<int> &map)
const;
355 void element_surface_map(ShellLocation loc, std::vector<int> &map)
const;
367 void connectivity(
size_t block_number, std::vector<int> &connect)
const;
376 void coordinates(std::vector<double> &coord)
const;
384 void coordinates(std::vector<double> &x,
385 std::vector<double> &y,
386 std::vector<double> &z)
const;
393 void nodeset_nodes(
size_t nset_id, std::vector<int> &nodes)
const;
404 void sideset_elem_sides(
size_t nset_id, std::vector<int> &elem_sides)
const;
408 GeneratedMesh(
const GeneratedMesh & );
409 GeneratedMesh & operator = (
const GeneratedMesh & );
411 void parse_options(
const std::vector<std::string> &groups);
412 void show_parameters()
const;
415 std::vector<ShellLocation> shellBlocks;
416 std::vector<ShellLocation> nodesets;
417 std::vector<ShellLocation> sidesets;
419 size_t numX, numY, numZ;
420 size_t myNumZ, myStartZ;
422 size_t processorCount;
425 double offX, offY, offZ;
426 double sclX, sclY, sclZ;