added the parameter CF_init to hypre_BoomerAMGCoarsen as well as the
capability to pass in CF_marker, CF_init indicates whether CF_marker is passed in (CF_init = 1) and contains the first independent set to be used for the CLJP coarsening. If CF_init = 0, CF_marker is allocated and the first independent set genertaed within the routine. simplified the routine hypre_BoomerAMGCoarsenFalgout to only contain two function calls and added the parameter measure_type, which enables us to also use global measures (if measure_type = 0).
This commit is contained in:
parent
2fdf9549c6
commit
ddd98588e5
@ -171,7 +171,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
|
||||
strong_threshold, max_row_sum, &S);
|
||||
if (coarsen_type == 6)
|
||||
{
|
||||
hypre_BoomerAMGCoarsenFalgout(S, A_array[level],
|
||||
hypre_BoomerAMGCoarsenFalgout(S, A_array[level], measure_type,
|
||||
debug_flag, &CF_marker, &coarse_size);
|
||||
}
|
||||
else if (coarsen_type)
|
||||
@ -182,7 +182,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
|
||||
}
|
||||
else
|
||||
{
|
||||
hypre_BoomerAMGCoarsen(S, A_array[level],
|
||||
hypre_BoomerAMGCoarsen(S, A_array[level], 0,
|
||||
debug_flag, &CF_marker, &coarse_size);
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -298,9 +298,9 @@ int hypre_BoomerAMGCycleT( void *amg_vdata , hypre_ParVector **F_array , hypre_P
|
||||
int hypre_BoomerAMGRelaxT( hypre_ParCSRMatrix *A , hypre_ParVector *f , int *cf_marker , int relax_type , int relax_points , double relax_weight , hypre_ParVector *u , hypre_ParVector *Vtemp );
|
||||
|
||||
/* par_coarsen.c */
|
||||
int hypre_BoomerAMGCoarsen( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsen( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int CF_init , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenRuge( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int measure_type , int coarsen_type , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenFalgout( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenFalgout( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int measure_type , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
|
||||
/* par_cycle.c */
|
||||
int hypre_BoomerAMGCycle( void *amg_vdata , hypre_ParVector **F_array , hypre_ParVector **U_array );
|
||||
|
||||
@ -171,7 +171,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
|
||||
strong_threshold, max_row_sum, &S);
|
||||
if (coarsen_type == 6)
|
||||
{
|
||||
hypre_BoomerAMGCoarsenFalgout(S, A_array[level],
|
||||
hypre_BoomerAMGCoarsenFalgout(S, A_array[level], measure_type,
|
||||
debug_flag, &CF_marker, &coarse_size);
|
||||
}
|
||||
else if (coarsen_type)
|
||||
@ -182,7 +182,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
|
||||
}
|
||||
else
|
||||
{
|
||||
hypre_BoomerAMGCoarsen(S, A_array[level],
|
||||
hypre_BoomerAMGCoarsen(S, A_array[level], 0,
|
||||
debug_flag, &CF_marker, &coarse_size);
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -298,9 +298,9 @@ int hypre_BoomerAMGCycleT( void *amg_vdata , hypre_ParVector **F_array , hypre_P
|
||||
int hypre_BoomerAMGRelaxT( hypre_ParCSRMatrix *A , hypre_ParVector *f , int *cf_marker , int relax_type , int relax_points , double relax_weight , hypre_ParVector *u , hypre_ParVector *Vtemp );
|
||||
|
||||
/* par_coarsen.c */
|
||||
int hypre_BoomerAMGCoarsen( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsen( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int CF_init , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenRuge( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int measure_type , int coarsen_type , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenFalgout( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
int hypre_BoomerAMGCoarsenFalgout( hypre_ParCSRMatrix *S , hypre_ParCSRMatrix *A , int measure_type , int debug_flag , int **CF_marker_ptr , int *coarse_size_ptr );
|
||||
|
||||
/* par_cycle.c */
|
||||
int hypre_BoomerAMGCycle( void *amg_vdata , hypre_ParVector **F_array , hypre_ParVector **U_array );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user