50 #ifndef PAMGEN_MESH_STRUCTURE 51 #define PAMGEN_MESH_STRUCTURE 53 #include <Pamgen_config.h> 54 #include <create_inline_mesh.h> 56 #include <pamgen_im_exodusII.h> 57 #include <pamgen_im_ne_nemesisI.h> 71 void createMesh(
char * file_data,
int dimension,
const RCP<
const Comm<int>> &comm);
192 Delete_Pamgen_Mesh();
198 for( i = 0; i < 100; i++){
347 for(i = 0; i < 100; i++)
348 for(j=0; j<4; j++) this->
qaRecord[i][j] = (
char*)malloc(MAX_STR_LENGTH+1) ;
351 error += im_ex_get_init (
id,
363 error += im_ex_inquire
370 error += im_ex_inquire(
id, IM_EX_INQ_SS_DF_LEN, (
int*)&this->
num_side_set_dfs,
375 error += im_ex_inquire(
id, IM_EX_INQ_API_VERS, &idum, &fdum, cdum);
396 error += im_ex_get_coord_names (
id, this->
bptr);
422 error += im_ex_get_elem_blk_ids(
id, this->
block_id);
425 this->
element_types[i] = (
char *)malloc((MAX_STR_LENGTH + 1)*
sizeof(char));
426 error += im_ex_get_elem_block(
id,
447 error += im_ex_get_node_set_ids(
id, this->
node_set_id);
451 error += im_ex_get_node_set_param(
id, this->
node_set_id[i],
472 error += im_ex_get_side_set_ids(
id, this->
side_set_id);
475 error += im_ex_get_side_set_param(
id, this->
side_set_id[i],
483 error += im_ex_get_side_set(
id, this->
side_set_id[i],
491 error += im_ex_inquire(
id, IM_EX_INQ_QA, (
int*)&this->
num_qa_records, &fdum, cdum);
496 error += im_ex_inquire(
id, IM_EX_INQ_INFO, (
int*)&this->
num_info_records, &fdum, cdum);
500 this->
info_records[i] = (
char *)malloc(MAX_STR_LENGTH+1);
543 if ( im_ne_get_loadbal_param(
id,
559 if ( im_ne_get_elem_map(
id,
564 if ( im_ne_get_node_map(
id,
584 if ( im_ne_get_cmap_params(
id,
594 if ( im_ne_get_node_cmap(
id,
608 if ( im_ne_get_elem_cmap(
id,
609 this->elem_cmap_ids[j],
640 for(
int j = 0; j < els; j++)
644 for(
int k = 0; k < nperel; k++)
646 n_id = connect[j*nperel + k]-1;
647 for(
int l = 0; l < this->
num_dim; l++)
652 for(
int k = 0; k < this->
num_dim; k++)
663 int rank = comm->getRank();
664 int nproc = comm->getSize();
665 long long cr_result = Create_Pamgen_Mesh(file_data, dimension, rank, nproc, INT_MAX);
667 if (cr_result == ERROR_PARSING_DEFINITION){
668 long long essz = getPamgenEchoStreamSize();
669 char * echo_char_array = (
char *)malloc(essz+1);
670 printf(
"PARSE ERROR\n");
671 echo_char_array[essz] =
'\0';
672 echo_char_array = getPamgenEchoStream(echo_char_array);
673 if(echo_char_array)printf(
"%s",echo_char_array);
674 if(cr_result == ERROR_CREATING_IMD)printf(
"ERROR Failure to create Inline_Mesh_Desc creation\n");
675 if(echo_char_array)free(echo_char_array);
678 if(cr_result == ERROR_CREATING_MS){
679 long long essz = getPamgenErrorStreamSize();
680 char * error_char_array = (
char *)malloc(essz+1);
681 error_char_array[essz] =
'\0';
682 error_char_array = getPamgenErrorStream(error_char_array);
683 if(error_char_array)printf(
"%s",error_char_array);
684 printf(
"\nERROR Failure to create Mesh_Specification\n");
685 if(error_char_array)free(error_char_array);
689 long long wssz = getPamgenWarningStreamSize();
691 char * warning_char_array = (
char *)malloc(wssz+1);
692 warning_char_array[wssz] =
'\0';
693 warning_char_array = getPamgenWarningStream(warning_char_array);
694 printf(
"WARNING Records\n");
695 printf(
"%s",warning_char_array);
696 free(warning_char_array);
void computeElementCoordinates()
int * num_nodes_in_node_set
int * node_cmap_node_cnts
int * global_element_numbers
char buffer[3][MAX_STR_LENGTH+1]
int * num_elements_in_side_set
int * elem_blk_ids_global
int * elem_cmap_elem_cnts
int * global_node_numbers
void createMesh(char *file_data, int dimension, const RCP< const Comm< int >> &comm)
int ** comm_elem_proc_ids
int num_node_set_properties
int num_side_set_elements
char title[MAX_STR_LENGTH]
int ** comm_node_proc_ids
int num_side_set_properties
int * elem_blk_cnts_global