 |
FrontISTR
5.7.0
Large-scale structural analysis program with finit element method
|
Go to the documentation of this file.
20 static int args_subdomain = 0;
25 args_subdomain = n_domain;
36 "control file for partitioner");
40 strcpy(ctrl_file_name, fname);
52 static int part_cont_type(
void) {
84 static int part_cont_method(
void) {
122 static int part_cont_domain(
void) {
159 static int part_cont_depth(
void) {
195 static int part_cont_ucd(
char *name) {
197 int token, is_print_ucd = 0;
242 static int part_cont_contact(
void) {
280 static int part_cont_part(
char *name) {
282 int token, is_print_part = 0;
309 return is_print_part;
326 static int part_cont_rcb_divs(
int n_domain) {
330 for (i = 0; i < n_domain; i++) {
335 if ((base == 1) && (rest == 0))
return i;
336 if ((base == 0) && (rest == 1))
return 0;
337 if ((base == 1) && (rest > 0))
return -1;
361 "part_cont_rcb_opt",
cont_data->n_domain);
370 "part_cont_rcb_opt",
"cont_data->rcb_axis");
374 for (i = 0; i <
cont_data->n_rcb_div; i++) {
417 "part_cont_rcb_opt");
457 cont_data->n_domain = part_cont_domain();
468 if (
cont_data->is_print_ucd < 0)
return -1;
472 cont_data->contact = part_cont_contact();
478 if (
cont_data->is_print_part < 0)
return -1;
507 "part_cont_partition");
511 #ifndef HECMW_PART_WITH_METIS
531 "part_cont_partition");
541 "part_cont_partition");
566 "part_cont_partition");
575 "control file for partitioner");
577 "part_cont_partition");
603 if (strlen(ctrl_file_name) == 0) {
606 "control file name for partitioner is not set");
611 if ((fp = fopen(ctrl_file_name,
"r")) ==
NULL) {
613 "control file for partitioner");
632 if (part_cont_partition(
cont_data))
return -1;
642 "part_cont_partition");
704 "control file for partitioner");
#define HECMW_PARTLEX_V_DEFAULT
#define HECMW_PART_E_CTRL_DEPTH_NOEQ
#define HECMW_PART_E_CTRL_TYPE_INVAL
#define HECMW_PART_E_CTRL_METHOD_NOEQ
double HECMW_partlex_get_number(void)
#define HECMW_PART_E_CTRL_RCB_INVAL
#define HECMW_PART_E_FILE_CLOSE
int HECMW_partlex_next_token(void)
#define HECMW_PART_E_CTRL_NODEF_KMETIS
#define HECMW_PARTLEX_V_ELEMENT_BASED
#define HECMW_PART_RCB_Y_AXIS
#define HECMW_PARTLEX_NAME
#define HECMW_malloc(size)
#define HECMW_PART_E_CTRL_PART_INVAL
int HECMW_log(int loglv, const char *fmt,...)
#define HECMW_PART_E_CTRL_TYPE_NOEQ
#define HECMW_PARTLEX_K_DEPTH
#define HECMW_PART_TYPE_ELEMENT_BASED
#define HECMW_PARTLEX_V_NODE_BASED
#define HECMW_PART_CONTACT_AGGREGATE
#define HECMW_PART_CONTACT_DEFAULT
#define HECMW_PARTLEX_V_AGGREGATE
#define HECMW_PART_E_TOO_LONG_FNAME
#define HECMW_PARTLEX_K_METHOD
#define HECMW_PART_METHOD_PMETIS
#define HECMW_PART_E_CTRL_DOMAIN_NOEQ
struct hecmw_part_cont_data * HECMW_part_get_control(void)
#define HECMW_PART_E_CTRL_NO_TYPE
#define HECMW_PART_E_CTRL_DOMAIN_INVAL
#define HECMW_PART_E_CTRL_NO_METHOD
#define HECMW_PART_E_NULL_POINTER
#define HECMW_PARTLEX_V_PMETIS
#define HECMW_PART_W_CTRL_RCB_MANY_DIR
#define HECMW_PART_E_CTRL_RCB_FEW_DIR
#define HECMW_PART_E_INVALID_TOKEN
char * HECMW_partlex_get_text(void)
#define HECMW_PART_METHOD_RCB
void HECMW_part_free_control(struct hecmw_part_cont_data *cont_data)
#define HECMW_PART_E_CTRL_UCD_INVAL
#define HECMW_PARTLEX_V_RCB
#define HECMW_PART_E_CTRL_NO_DOMAIN
#define HECMW_PARTLEX_INT
#define HECMW_PART_E_INV_ARG
#define HECMW_PARTLEX_K_TYPE
#define HECMW_PARTLEX_V_USER
#define HECMW_PART_E_CTRL_RCB_NODIR
char * HECMW_strmsg(int msgno)
int HECMW_part_set_subdomains(int n_domain)
#define HECMW_PARTLEX_K_DOMAIN
#define HECMW_PARTLEX_K_UCD
#define HECMW_PART_W_CTRL_DIR_WORCB
#define HECMW_PARTLEX_K_CONTACT
#define HECMW_PART_E_CTRL_UCD_TOO_LONG
#define HECMW_PART_RCB_X_AXIS
#define HECMW_PARTLEX_FILENAME
#define HECMW_PART_E_CTRL_NODEF_PMETIS
#define HECMW_PART_E_CTRL_METHOD_INVAL
#define HECMW_PART_E_CTRL_UCD_NOEQ
int HECMW_part_set_ctrl_file_name(char *fname)
#define HECMW_PART_E_INVALID_EOF
#define HECMW_PART_CONTACT_SIMPLE
#define HECMW_PART_TYPE_NODE_BASED
#define HECMW_PART_E_CTRL_DEPTH_INVAL
#define HECMW_PART_METHOD_USER
int HECMW_partlex_set_input(FILE *fp)
int HECMW_set_error(int errorno, const char *fmt,...)
#define HECMW_PARTLEX_V_SIMPLE
#define HECMW_PART_E_CTRL_PART_TOO_LONG
#define HECMW_assert(cond)
#define HECMW_PART_E_CTRL_PART_NOEQ
#define HECMW_FILENAME_LEN
#define HECMW_PARTLEX_K_PART
#define HECMW_PART_E_CTRL_CONTACT_INVAL
#define HECMW_PART_E_CTRL_DOMAIN_POW
#define HECMW_PARTLEX_H_PARTITION
#define HECMW_PARTLEX_V_DISTRIBUTE
#define HECMW_PARTLEX_V_KMETIS
#define HECMW_PART_METHOD_KMETIS
#define HECMW_PART_RCB_Z_AXIS
#define HECMW_PART_CONTACT_DISTRIBUTE