44#ifndef NIMBLE_GENESIS_MESH_H
45#define NIMBLE_GENESIS_MESH_H
47#ifdef NIMBLE_HAVE_DARMA
65#ifdef NIMBLE_HAVE_DARMA
66 template <
typename ArchiveType>
68 serialize(ArchiveType& ar)
111 if (
id > max_id) { max_id = id; }
128 std::vector<int>
const&
147 HasBlock(std::string
const& block_name)
const;
189 GetBlockId(std::string
const& block_name)
const;
224 std::map<int, std::vector<int>>&
242 std::map<int, std::string>
248 std::map<int, std::vector<int>>
254 std::map<int, std::vector<double>>
272 std::map<int, std::string>
278 std::map<int, std::vector<int>>
284 std::map<int, std::vector<double>>
291 BoundingBox(
double& x_min,
double& x_max,
double& y_min,
double& y_max,
double& z_min,
double& z_max)
const;
298 int local_primary_node_id,
299 int local_secondary_node_id,
300 const int* global_node_ids,
301 std::map<int, int>& global_node_id_secondary_to_primary)
const;
304 Print(
bool verbose =
false,
int my_rank = 0)
const;
316 std::string
const& file_name,
317 std::vector<int>
const& node_global_id,
318 std::vector<double>
const& node_x,
319 std::vector<double>
const& node_y,
320 std::vector<double>
const& node_z,
321 std::vector<int>
const& elem_global_id,
322 std::vector<int>
const& block_ids,
323 std::map<int, std::string>
const& block_names,
324 std::map<
int, std::vector<int>>
const& block_elem_global_ids,
325 std::map<int, int>
const& block_num_nodes_per_elem,
326 std::map<
int, std::vector<int>>
const& block_elem_connectivity);
330 ReportExodusError(
int error_code,
const char* method_name,
const char* exodus_method_name)
const;
std::map< int, std::string > node_set_names_
Definition nimble_genesis_mesh.h:348
void BoundingBox(double &x_min, double &x_max, double &y_min, double &y_max, double &z_min, double &z_max) const
Definition nimble_genesis_mesh.cc:537
std::vector< int > GetBlockIds() const
Definition nimble_genesis_mesh.h:150
std::map< int, std::vector< int > > GetNodeSets() const
Definition nimble_genesis_mesh.h:249
std::vector< int > GetAllBlockIds() const
Definition nimble_genesis_mesh.h:156
std::string GetElementType(int block_id) const
Definition nimble_genesis_mesh.cc:480
const int * GetNodeGlobalIds() const
Definition nimble_genesis_mesh.h:96
std::map< int, std::vector< double > > ns_distribution_factors_
Definition nimble_genesis_mesh.h:350
std::string FileName() const
Definition nimble_genesis_mesh.h:84
const int * GetElementGlobalIds() const
Definition nimble_genesis_mesh.h:123
void Initialize(std::string const &file_name, std::vector< int > const &node_global_id, std::vector< double > const &node_x, std::vector< double > const &node_y, std::vector< double > const &node_z, std::vector< int > const &elem_global_id, std::vector< int > const &block_ids, std::map< int, std::string > const &block_names, std::map< int, std::vector< int > > const &block_elem_global_ids, std::map< int, int > const &block_num_nodes_per_elem, std::map< int, std::vector< int > > const &block_elem_connectivity)
Definition nimble_genesis_mesh.cc:430
std::vector< int > all_block_ids_
Definition nimble_genesis_mesh.h:340
std::vector< int > side_set_ids_
Definition nimble_genesis_mesh.h:351
GenesisMesh()
Definition nimble_genesis_mesh.h:61
std::map< int, std::vector< int > > block_elem_global_ids_
Definition nimble_genesis_mesh.h:344
std::map< int, std::vector< int > > node_sets_
Definition nimble_genesis_mesh.h:349
std::vector< int > const & GetElementGlobalIdsInBlock(int block_id) const
Definition nimble_genesis_mesh.h:129
const double * GetCoordinatesX() const
Definition nimble_genesis_mesh.h:201
unsigned int GetNumElements() const
Definition nimble_genesis_mesh.h:117
void Print(bool verbose=false, int my_rank=0) const
Definition nimble_genesis_mesh.cc:587
const int * GetConnectivity(int block_id) const
Definition nimble_genesis_mesh.h:219
std::map< int, std::string > side_set_names_
Definition nimble_genesis_mesh.h:352
std::map< int, std::vector< int > > block_elem_connectivity_
Definition nimble_genesis_mesh.h:346
void BlockNamesToOnProcessorBlockIds(std::vector< std::string > const &block_names, std::vector< int > &block_ids)
Definition nimble_genesis_mesh.cc:526
const double * GetCoordinatesY() const
Definition nimble_genesis_mesh.h:207
std::map< int, int > GetNumNodesPerElement() const
Definition nimble_genesis_mesh.h:174
std::map< int, std::string > GetSideSetNames() const
Definition nimble_genesis_mesh.h:273
std::size_t GetNumNodeGlobalIds() const
Definition nimble_genesis_mesh.h:101
unsigned int GetNumBlocks() const
Definition nimble_genesis_mesh.h:135
bool IsValid() const
Definition nimble_genesis_mesh.h:77
unsigned int GetNumGlobalBlocks() const
Definition nimble_genesis_mesh.h:141
std::vector< double > BoundingBoxCenter() const
Definition nimble_genesis_mesh.cc:563
int GetNumNodeSets() const
Definition nimble_genesis_mesh.h:231
unsigned int GetNumNodes() const
Definition nimble_genesis_mesh.h:90
std::vector< int > node_set_ids_
Definition nimble_genesis_mesh.h:347
std::string file_name_
Definition nimble_genesis_mesh.h:332
std::map< int, std::vector< int > > & GetConnectivity()
Definition nimble_genesis_mesh.h:225
std::map< int, std::vector< int > > side_sets_
Definition nimble_genesis_mesh.h:353
int dim_
Definition nimble_genesis_mesh.h:333
std::map< int, std::vector< double > > GetNodeSetDistributionFactors() const
Definition nimble_genesis_mesh.h:255
void AppendPeriodicPair(int local_primary_node_id, int local_secondary_node_id, const int *global_node_ids, std::map< int, int > &global_node_id_secondary_to_primary) const
Definition nimble_genesis_mesh.cc:575
std::map< int, std::vector< double > > GetSideSetDistributionFactors() const
Definition nimble_genesis_mesh.h:285
std::map< int, std::string > GetNodeSetNames() const
Definition nimble_genesis_mesh.h:243
std::map< int, std::string > all_block_names_
Definition nimble_genesis_mesh.h:342
std::map< int, std::vector< double > > ss_distribution_factors_
Definition nimble_genesis_mesh.h:354
std::vector< int > GetNodeSetIds() const
Definition nimble_genesis_mesh.h:237
std::vector< double > node_x_
Definition nimble_genesis_mesh.h:336
std::map< int, int > GetNumElementsInBlock() const
Definition nimble_genesis_mesh.cc:470
bool HasBlock(std::string const &block_name) const
Definition nimble_genesis_mesh.cc:508
std::vector< int > node_global_id_
Definition nimble_genesis_mesh.h:335
std::vector< double > node_z_
Definition nimble_genesis_mesh.h:338
int GetNumNodesPerElement(int block_id) const
Definition nimble_genesis_mesh.h:168
void ReadFile(std::string file_name)
Definition nimble_genesis_mesh.cc:63
const double * GetCoordinatesZ() const
Definition nimble_genesis_mesh.h:213
int GetBlockId(std::string const &block_name) const
Definition nimble_genesis_mesh.cc:517
void ReportExodusError(int error_code, const char *method_name, const char *exodus_method_name) const
Definition nimble_genesis_mesh.cc:614
int GetMaxNodeGlobalId() const
Definition nimble_genesis_mesh.h:107
std::string GetBlockName(int block_id) const
Definition nimble_genesis_mesh.h:183
void ReadTextFile(std::string file_name)
Definition nimble_genesis_mesh.cc:319
std::map< int, std::string > block_names_
Definition nimble_genesis_mesh.h:343
std::vector< int > elem_global_id_
Definition nimble_genesis_mesh.h:339
std::vector< int > GetSideSetIds() const
Definition nimble_genesis_mesh.h:267
std::vector< double > node_y_
Definition nimble_genesis_mesh.h:337
int GetDim() const
Definition nimble_genesis_mesh.h:195
std::map< int, std::vector< int > > GetSideSets() const
Definition nimble_genesis_mesh.h:279
std::vector< int > block_ids_
Definition nimble_genesis_mesh.h:341
int GetNumSideSets() const
Definition nimble_genesis_mesh.h:261
std::map< int, int > block_num_nodes_per_elem_
Definition nimble_genesis_mesh.h:345
Definition kokkos_contact_manager.h:49