📄 az_aztec_defs.h
字号:
* ******************************************************************************/#define AZ_normal 0 /* normal termination */#define AZ_param 1 /* requested option not implemented */#define AZ_breakdown 2 /* numerical breakdown during the computation */#define AZ_maxits 3 /* maximum iterations exceeded */#define AZ_loss 4 /* loss of precision */#define AZ_ill_cond 5 /* GMRES hessenberg is ill-conditioned *//******************************************************************************* * * array indices into options array * ******************************************************************************/#define AZ_solver 0#define AZ_scaling 1#define AZ_precond 2#define AZ_conv 3#define AZ_output 4#define AZ_pre_calc 5#define AZ_max_iter 6#define AZ_poly_ord 7#define AZ_overlap 8#define AZ_type_overlap 9#define AZ_kspace 10#define AZ_orthog 11#define AZ_aux_vec 12#define AZ_reorder 13#define AZ_keep_info 14#define AZ_recursion_level 15#define AZ_print_freq 16#define AZ_graph_fill 17#define AZ_subdomain_solve 18#define AZ_init_guess 19#define AZ_keep_kvecs 20#define AZ_apply_kvecs 21#define AZ_orth_kvecs 22#define AZ_ignore_scaling 23#define AZ_check_update_size 24#define AZ_extreme 25/******************************************************************************* * * array indices into params array * ******************************************************************************/#define AZ_tol 0#define AZ_drop 1#define AZ_ilut_fill 2#define AZ_omega 3/* Begin Aztec 2.1 mheroux mod */#define AZ_rthresh 4#define AZ_athresh 5#define AZ_update_reduction 6#define AZ_temp 7#define AZ_weights 8 /* this parameter should be the last one *//* End Aztec 2.1 mheroux mod *//******************************************************************************* * * array indices into data_org array * ******************************************************************************/#define AZ_matrix_type 0#define AZ_N_internal 1#define AZ_N_border 2#define AZ_N_external 3#define AZ_N_int_blk 4#define AZ_N_bord_blk 5#define AZ_N_ext_blk 6#define AZ_N_neigh 7#define AZ_total_send 8#define AZ_name 9#define AZ_internal_use 10#define AZ_N_rows 11#define AZ_neighbors 12#define AZ_rec_length (12 + AZ_MAX_NEIGHBORS)#define AZ_send_length (12 + 2*AZ_MAX_NEIGHBORS)#define AZ_send_list (12 + 3*AZ_MAX_NEIGHBORS)/******************************************************************************* * * Array sizes for declarations (MUST APPEAR AFTER DATA_ORG) * ******************************************************************************/#define SIZEOF_MPI_AZCOMM 20 /* MPI Communicators are kludged into Aztec's integer proc_config[] */ /* array. SIZEOF_MPI_AZComm must be greater or equal to */ /* sizeof(MPI_AZComm)/sizeof(int). */ /* If this is not true, an error message will be generated and you */ /* will be asked to change this value. */#define AZ_OPTIONS_SIZE 27/* Begin Aztec 2.1 mheroux mod */#define AZ_PARAMS_SIZE 9/* End Aztec 2.1 mheroux mod */#define AZ_PROC_SIZE (6+SIZEOF_MPI_AZCOMM)#define AZ_STATUS_SIZE 11#define AZ_COMM_SIZE AZ_send_list#define AZ_CONV_INFO_SIZE 8#define AZ_COMMLESS_DATA_ORG_SIZE AZ_neighbors/******************************************************************************* * * array indices into status array * ******************************************************************************/#define AZ_its 0#define AZ_why 1#define AZ_r 2#define AZ_rec_r 3#define AZ_scaled_r 4#define AZ_first_precond 5 /* This is used to record the time for */ /* the first preconditioning step. The */ /* intention is time factorization */ /* routines. Note: not mentioned in */ /* manual */#define AZ_solve_time 6 /* This is used to record the time for */ /* the entire solve. */#define AZ_Aztec_version 7 /* This is used to record the current */ /* version of Aztec. *//******************************************************************************* * * array indices into proc_config array * ******************************************************************************/#define AZ_Comm_MPI 0#define AZ_node (SIZEOF_MPI_AZCOMM+1)#define AZ_N_procs (SIZEOF_MPI_AZCOMM+2)#define AZ_dim (SIZEOF_MPI_AZCOMM+3)#define AZ_Comm_Set (SIZEOF_MPI_AZCOMM+4)#define AZ_Done_by_User 7139/******************************************************************************* * * partitioning option choices * ******************************************************************************/#define AZ_linear 0#define AZ_file 1#define AZ_box 2/******************************************************************************* * * constants for memory management * ******************************************************************************/#define AZ_ALLOC 0#define AZ_CLEAR 1#define AZ_REALLOC 2#define AZ_SELECTIVE_CLEAR 3#define AZ_SPEC_REALLOC 4#define AZ_RESET_STRING 5#define AZ_SUBSELECTIVE_CLEAR 6#define AZ_EVERYBODY_BUT_CLEAR 7#define AZ_EMPTY 8#define AZ_LOOKFOR_PRINT 9#define AZ_SYS -14901#define AZ_OLD_ADDRESS 0#define AZ_NEW_ADDRESS 1#define AZ_SPECIAL 13#define AZ_SOLVER_PARAMS -100/******************************************************************************* * * constants for matrix types * ******************************************************************************/#define AZ_MSR_MATRIX 1#define AZ_VBR_MATRIX 2#define AZ_USER_MATRIX 3/******************************************************************************* * * constants for scaling action * ******************************************************************************/#define AZ_SCALE_MAT_RHS_SOL 0#define AZ_SCALE_RHS 1#define AZ_INVSCALE_RHS 2#define AZ_SCALE_SOL 3#define AZ_INVSCALE_SOL 4/******************************************************************************* * * constants used for residual expresion calculations * (performed by AZ_compute_global_scalars) within iterative methods * ******************************************************************************/#define AZ_NOT_FIRST 0 /* not the first residual expression */ /* request. Information should be available*/ /* from a previous request and the residual*/ /* may not be available. */#define AZ_FIRST_TIME 1 /* first time that a residual expression */ /* is requested for a particular iterative */ /* solve. This means that the true residual*/ /* is available and that certain invariant */ /* information (e.g. r_0, ||A||) must be */ /* computed. *//******************************************************************************* * * constants (see AZ_get_new_eps) used to determine whether to * continue or to quit the iterative method when the real * residual does not match the updated residual * ******************************************************************************/#define AZ_QUIT 5#define AZ_CONTINUE 6/******************************************************************************* * * constants (see AZ_broadcast) used to determine whether to * concatenate information to be broadcast or to send information * already stored in an internal buffer * ******************************************************************************/#define AZ_PACK 0#define AZ_SEND 1#define AZ_CONVERT_TO_LOCAL 0#define AZ_CONVERT_BACK_TO_GLOBAL 1#define AZ_NO_EXTRA_SPACE 0#define AZ_NOT_USING_AZTEC_MATVEC (int *) NULL#define AZ_ZERO 0#define AZ_NOT_ZERO 1#define AZ_Nspace 0#define AZ_Nkept 1/* #define AZ_none 0 do nothing */#define AZ_left_scaling 1 /* scaling on left */#define AZ_right_scaling 2 /* scaling on right */#define AZ_left_and_right_scaling 3 /* scaling on left and right */#define AZ_call_scale_f 4 /* use scaling subroutine */#define AZ_inv_scaling 5 /* within scaling routine */ /* perform inverse operation */#define AZ_low 0#define AZ_high 1/******************************************************************************* * * software tool constants * ******************************************************************************/#define AZ_TEST_ELE 3#define AZ_ALL 1 /* All elements are reordered. */#define AZ_EXTERNS 2 /* Only external elements are reordered. */#define AZ_GLOBAL 1 /* MSR entries correspond to global columns */#define AZ_LOCAL 2 /* MSR entries correspond to local columns */#define AZ_get_matvec_data(Amat) ((Amat)->matvec_data)#define AZ_get_getrow_data(Amat) ((Amat)->getrow_data)#define AZ_get_precond_data(precond) ((precond)->precond_data)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -