FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
separator.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 
6 #define NUM_CONTROL_PARAS 9
7 /*
8 typedef struct _tmp_grp_inf {
9  int num_of_item;
10  int *item;
11 } Tmp_grp_inf;
12 */
13 
14 typedef struct _separation_result {
18  int *lgraph;
19  int *rgraph;
20  int *mseparator;
22 
23 typedef struct _control_para_struct {
24  char adaptive_repartition[4];
25  int num_criteria;
26  float *balance_rate;
27  int num_repartition;
28  float itr_rate;
29  int wgtflag;
30  /* 0----- no weights (vwgt and adjwgt are both NULL
31  1 ---- Weights on the edges only (vwgt is NULL)
32  2 ----- Weights on the vertices only (adjwgt is NULL)
33  3 ----- Weights on both the vertices and edges)
34  */
35  char vwgt_filename[128];
36  char adjwgt_filename[128];
37  float *machine_wgt;
38  char output_filename[128];
39 } Control_para;
40 
41 typedef struct _result_partition_struct {
42  int edgecut;
43  int t_node;
44  int *part;
45 } Result_part;
46 
47 struct _adj_find_struct {
48  int vertex_num;
50 };
51 typedef struct _adj_find_struct Adj_find;
52 
53 struct _import_link_struct {
54  int node_num; /* local_id in current PE */
55  int local_id; /* local_id in import PE */
57 };
59 void separator_print_exit(char *str_msg);
60 void separator_memory_exit(char *str_msg);
_separation_result
Definition: separator.h:14
_control_para_struct::num_repartition
int num_repartition
Definition: hecmw_repart.h:38
_adj_find_struct
Definition: hecmw_repart.h:58
_control_para_struct::adjwgt_filename
char adjwgt_filename[128]
Definition: hecmw_repart.h:47
_separation_result::lgraph
int * lgraph
Definition: separator.h:18
_control_para_struct::num_criteria
int num_criteria
Definition: hecmw_repart.h:36
_control_para_struct::output_filename
char output_filename[128]
Definition: hecmw_repart.h:49
_control_para_struct
Definition: hecmw_repart.h:34
Control_para
struct _control_para_struct Control_para
_separation_result::rgraph
int * rgraph
Definition: separator.h:19
Result_part
struct _result_partition_struct Result_part
Separator_result
struct _separation_result Separator_result
_separation_result::num_of_rgraph
int num_of_rgraph
Definition: separator.h:16
_control_para_struct::adaptive_repartition
char adaptive_repartition[4]
Definition: hecmw_repart.h:35
_separation_result::num_of_separator
int num_of_separator
Definition: separator.h:17
_result_partition_struct::edgecut
int edgecut
Definition: hecmw_repart.h:53
_result_partition_struct
Definition: hecmw_repart.h:52
_adj_find_struct::next_vertex
struct _adj_find_struct * next_vertex
Definition: hecmw_repart.h:60
separator_memory_exit
void separator_memory_exit(char *str_msg)
Definition: mem_util.c:9
_control_para_struct::itr_rate
float itr_rate
Definition: hecmw_repart.h:39
_separation_result::mseparator
int * mseparator
Definition: separator.h:20
_control_para_struct::balance_rate
float * balance_rate
Definition: hecmw_repart.h:37
_separation_result::num_of_lgraph
int num_of_lgraph
Definition: separator.h:15
_control_para_struct::vwgt_filename
char vwgt_filename[128]
Definition: hecmw_repart.h:46
separator_print_exit
void separator_print_exit(char *str_msg)
Definition: mem_util.c:18
_control_para_struct::wgtflag
int wgtflag
Definition: hecmw_repart.h:40
_control_para_struct::machine_wgt
float * machine_wgt
Definition: hecmw_repart.h:48
_result_partition_struct::part
int * part
Definition: hecmw_repart.h:55
_result_partition_struct::t_node
int t_node
Definition: hecmw_repart.h:54
_adj_find_struct::vertex_num
int vertex_num
Definition: hecmw_repart.h:59