diff --git a/src/parcsr_ls/HYPRE_parcsr_amg.c b/src/parcsr_ls/HYPRE_parcsr_amg.c index 5b5f15b4a6..0f6f992d41 100644 --- a/src/parcsr_ls/HYPRE_parcsr_amg.c +++ b/src/parcsr_ls/HYPRE_parcsr_amg.c @@ -31,7 +31,7 @@ HYPRE_BoomerAMGCreate( HYPRE_Solver *solver) HYPRE_Int HYPRE_BoomerAMGDestroy( HYPRE_Solver solver ) { - return ( hypre_BoomerAMGDestroy( (void *) solver ) ); + return ( hypre_BoomerAMGDestroy( (hypre_ParAMGData *) solver ) ); } /*-------------------------------------------------------------------------- @@ -50,7 +50,7 @@ HYPRE_BoomerAMGSetup( HYPRE_Solver solver, return hypre_error_flag; } - return ( hypre_BoomerAMGSetup( (void *) solver, + return ( hypre_BoomerAMGSetup( (hypre_ParAMGData *) solver, (hypre_ParCSRMatrix *) A, (hypre_ParVector *) b, (hypre_ParVector *) x ) ); @@ -84,7 +84,7 @@ HYPRE_BoomerAMGSolve( HYPRE_Solver solver, return hypre_error_flag; } - return ( hypre_BoomerAMGSolve( (void *) solver, + return ( hypre_BoomerAMGSolve( (hypre_ParAMGData *) solver, (hypre_ParCSRMatrix *) A, (hypre_ParVector *) b, (hypre_ParVector *) x ) ); @@ -118,7 +118,7 @@ HYPRE_BoomerAMGSolveT( HYPRE_Solver solver, return hypre_error_flag; } - return ( hypre_BoomerAMGSolveT( (void *) solver, + return ( hypre_BoomerAMGSolveT( (hypre_ParAMGData *) solver, (hypre_ParCSRMatrix *) A, (hypre_ParVector *) b, (hypre_ParVector *) x ) ); @@ -132,7 +132,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRestriction( HYPRE_Solver solver, HYPRE_Int restr_par ) { - return ( hypre_BoomerAMGSetRestriction( (void *) solver, restr_par ) ); + return ( hypre_BoomerAMGSetRestriction( (hypre_ParAMGData *) solver, restr_par ) ); } /*-------------------------------------------------------------------------- @@ -143,7 +143,7 @@ HYPRE_Int HYPRE_BoomerAMGSetIsTriangular( HYPRE_Solver solver, HYPRE_Int is_triangular ) { - return ( hypre_BoomerAMGSetIsTriangular( (void *) solver, is_triangular ) ); + return ( hypre_BoomerAMGSetIsTriangular( (hypre_ParAMGData *) solver, is_triangular ) ); } /*-------------------------------------------------------------------------- @@ -154,7 +154,7 @@ HYPRE_Int HYPRE_BoomerAMGSetGMRESSwitchR( HYPRE_Solver solver, HYPRE_Int gmres_switch ) { - return ( hypre_BoomerAMGSetGMRESSwitchR( (void *) solver, gmres_switch ) ); + return ( hypre_BoomerAMGSetGMRESSwitchR( (hypre_ParAMGData *) solver, gmres_switch ) ); } /*-------------------------------------------------------------------------- @@ -165,14 +165,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMaxLevels( HYPRE_Solver solver, HYPRE_Int max_levels ) { - return ( hypre_BoomerAMGSetMaxLevels( (void *) solver, max_levels ) ); + return ( hypre_BoomerAMGSetMaxLevels( (hypre_ParAMGData *) solver, max_levels ) ); } HYPRE_Int HYPRE_BoomerAMGGetMaxLevels( HYPRE_Solver solver, HYPRE_Int * max_levels ) { - return ( hypre_BoomerAMGGetMaxLevels( (void *) solver, max_levels ) ); + return ( hypre_BoomerAMGGetMaxLevels( (hypre_ParAMGData *) solver, max_levels ) ); } /*-------------------------------------------------------------------------- @@ -183,14 +183,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMaxCoarseSize( HYPRE_Solver solver, HYPRE_Int max_coarse_size ) { - return ( hypre_BoomerAMGSetMaxCoarseSize( (void *) solver, max_coarse_size ) ); + return ( hypre_BoomerAMGSetMaxCoarseSize( (hypre_ParAMGData *) solver, max_coarse_size ) ); } HYPRE_Int HYPRE_BoomerAMGGetMaxCoarseSize( HYPRE_Solver solver, HYPRE_Int * max_coarse_size ) { - return ( hypre_BoomerAMGGetMaxCoarseSize( (void *) solver, max_coarse_size ) ); + return ( hypre_BoomerAMGGetMaxCoarseSize( (hypre_ParAMGData *) solver, max_coarse_size ) ); } /*-------------------------------------------------------------------------- @@ -201,14 +201,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMinCoarseSize( HYPRE_Solver solver, HYPRE_Int min_coarse_size ) { - return ( hypre_BoomerAMGSetMinCoarseSize( (void *) solver, min_coarse_size ) ); + return ( hypre_BoomerAMGSetMinCoarseSize( (hypre_ParAMGData *) solver, min_coarse_size ) ); } HYPRE_Int HYPRE_BoomerAMGGetMinCoarseSize( HYPRE_Solver solver, HYPRE_Int * min_coarse_size ) { - return ( hypre_BoomerAMGGetMinCoarseSize( (void *) solver, min_coarse_size ) ); + return ( hypre_BoomerAMGGetMinCoarseSize( (hypre_ParAMGData *) solver, min_coarse_size ) ); } /*-------------------------------------------------------------------------- @@ -219,14 +219,14 @@ HYPRE_Int HYPRE_BoomerAMGSetSeqThreshold( HYPRE_Solver solver, HYPRE_Int seq_threshold ) { - return ( hypre_BoomerAMGSetSeqThreshold( (void *) solver, seq_threshold ) ); + return ( hypre_BoomerAMGSetSeqThreshold( (hypre_ParAMGData *) solver, seq_threshold ) ); } HYPRE_Int HYPRE_BoomerAMGGetSeqThreshold( HYPRE_Solver solver, HYPRE_Int * seq_threshold ) { - return ( hypre_BoomerAMGGetSeqThreshold( (void *) solver, seq_threshold ) ); + return ( hypre_BoomerAMGGetSeqThreshold( (hypre_ParAMGData *) solver, seq_threshold ) ); } /*-------------------------------------------------------------------------- @@ -237,14 +237,14 @@ HYPRE_Int HYPRE_BoomerAMGSetRedundant( HYPRE_Solver solver, HYPRE_Int redundant ) { - return ( hypre_BoomerAMGSetRedundant( (void *) solver, redundant ) ); + return ( hypre_BoomerAMGSetRedundant( (hypre_ParAMGData *) solver, redundant ) ); } HYPRE_Int HYPRE_BoomerAMGGetRedundant( HYPRE_Solver solver, HYPRE_Int * redundant ) { - return ( hypre_BoomerAMGGetRedundant( (void *) solver, redundant ) ); + return ( hypre_BoomerAMGGetRedundant( (hypre_ParAMGData *) solver, redundant ) ); } /*-------------------------------------------------------------------------- @@ -255,14 +255,14 @@ HYPRE_Int HYPRE_BoomerAMGSetCoarsenCutFactor( HYPRE_Solver solver, HYPRE_Int coarsen_cut_factor ) { - return ( hypre_BoomerAMGSetCoarsenCutFactor( (void *) solver, coarsen_cut_factor ) ); + return ( hypre_BoomerAMGSetCoarsenCutFactor( (hypre_ParAMGData *) solver, coarsen_cut_factor ) ); } HYPRE_Int HYPRE_BoomerAMGGetCoarsenCutFactor( HYPRE_Solver solver, HYPRE_Int *coarsen_cut_factor ) { - return ( hypre_BoomerAMGGetCoarsenCutFactor( (void *) solver, coarsen_cut_factor ) ); + return ( hypre_BoomerAMGGetCoarsenCutFactor( (hypre_ParAMGData *) solver, coarsen_cut_factor ) ); } /*-------------------------------------------------------------------------- @@ -273,7 +273,7 @@ HYPRE_Int HYPRE_BoomerAMGSetStrongThreshold( HYPRE_Solver solver, HYPRE_Real strong_threshold ) { - return ( hypre_BoomerAMGSetStrongThreshold( (void *) solver, + return ( hypre_BoomerAMGSetStrongThreshold( (hypre_ParAMGData *) solver, strong_threshold ) ); } @@ -281,7 +281,7 @@ HYPRE_Int HYPRE_BoomerAMGGetStrongThreshold( HYPRE_Solver solver, HYPRE_Real * strong_threshold ) { - return ( hypre_BoomerAMGGetStrongThreshold( (void *) solver, + return ( hypre_BoomerAMGGetStrongThreshold( (hypre_ParAMGData *) solver, strong_threshold ) ); } @@ -289,7 +289,7 @@ HYPRE_Int HYPRE_BoomerAMGSetStrongThresholdR( HYPRE_Solver solver, HYPRE_Real strong_threshold ) { - return ( hypre_BoomerAMGSetStrongThresholdR( (void *) solver, + return ( hypre_BoomerAMGSetStrongThresholdR( (hypre_ParAMGData *) solver, strong_threshold ) ); } @@ -297,7 +297,7 @@ HYPRE_Int HYPRE_BoomerAMGGetStrongThresholdR( HYPRE_Solver solver, HYPRE_Real * strong_threshold ) { - return ( hypre_BoomerAMGGetStrongThresholdR( (void *) solver, + return ( hypre_BoomerAMGGetStrongThresholdR( (hypre_ParAMGData *) solver, strong_threshold ) ); } @@ -305,7 +305,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFilterThresholdR( HYPRE_Solver solver, HYPRE_Real filter_threshold ) { - return ( hypre_BoomerAMGSetFilterThresholdR( (void *) solver, + return ( hypre_BoomerAMGSetFilterThresholdR( (hypre_ParAMGData *) solver, filter_threshold ) ); } @@ -313,7 +313,7 @@ HYPRE_Int HYPRE_BoomerAMGGetFilterThresholdR( HYPRE_Solver solver, HYPRE_Real * filter_threshold ) { - return ( hypre_BoomerAMGGetFilterThresholdR( (void *) solver, + return ( hypre_BoomerAMGGetFilterThresholdR( (hypre_ParAMGData *) solver, filter_threshold ) ); } @@ -322,7 +322,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSabs( HYPRE_Solver solver, HYPRE_Int Sabs ) { - return ( hypre_BoomerAMGSetSabs( (void *) solver, + return ( hypre_BoomerAMGSetSabs( (hypre_ParAMGData *) solver, Sabs ) ); } @@ -334,7 +334,7 @@ HYPRE_Int HYPRE_BoomerAMGSetMaxRowSum( HYPRE_Solver solver, HYPRE_Real max_row_sum ) { - return ( hypre_BoomerAMGSetMaxRowSum( (void *) solver, + return ( hypre_BoomerAMGSetMaxRowSum( (hypre_ParAMGData *) solver, max_row_sum ) ); } @@ -342,7 +342,7 @@ HYPRE_Int HYPRE_BoomerAMGGetMaxRowSum( HYPRE_Solver solver, HYPRE_Real * max_row_sum ) { - return ( hypre_BoomerAMGGetMaxRowSum( (void *) solver, + return ( hypre_BoomerAMGGetMaxRowSum( (hypre_ParAMGData *) solver, max_row_sum ) ); } @@ -354,7 +354,7 @@ HYPRE_Int HYPRE_BoomerAMGSetTruncFactor( HYPRE_Solver solver, HYPRE_Real trunc_factor ) { - return ( hypre_BoomerAMGSetTruncFactor( (void *) solver, + return ( hypre_BoomerAMGSetTruncFactor( (hypre_ParAMGData *) solver, trunc_factor ) ); } @@ -362,7 +362,7 @@ HYPRE_Int HYPRE_BoomerAMGGetTruncFactor( HYPRE_Solver solver, HYPRE_Real * trunc_factor ) { - return ( hypre_BoomerAMGGetTruncFactor( (void *) solver, + return ( hypre_BoomerAMGGetTruncFactor( (hypre_ParAMGData *) solver, trunc_factor ) ); } @@ -374,7 +374,7 @@ HYPRE_Int HYPRE_BoomerAMGSetPMaxElmts( HYPRE_Solver solver, HYPRE_Int P_max_elmts ) { - return ( hypre_BoomerAMGSetPMaxElmts( (void *) solver, + return ( hypre_BoomerAMGSetPMaxElmts( (hypre_ParAMGData *) solver, P_max_elmts ) ); } @@ -382,7 +382,7 @@ HYPRE_Int HYPRE_BoomerAMGGetPMaxElmts( HYPRE_Solver solver, HYPRE_Int * P_max_elmts ) { - return ( hypre_BoomerAMGGetPMaxElmts( (void *) solver, + return ( hypre_BoomerAMGGetPMaxElmts( (hypre_ParAMGData *) solver, P_max_elmts ) ); } @@ -394,7 +394,7 @@ HYPRE_Int HYPRE_BoomerAMGSetJacobiTruncThreshold( HYPRE_Solver solver, HYPRE_Real jacobi_trunc_threshold ) { - return ( hypre_BoomerAMGSetJacobiTruncThreshold( (void *) solver, + return ( hypre_BoomerAMGSetJacobiTruncThreshold( (hypre_ParAMGData *) solver, jacobi_trunc_threshold ) ); } @@ -402,7 +402,7 @@ HYPRE_Int HYPRE_BoomerAMGGetJacobiTruncThreshold( HYPRE_Solver solver, HYPRE_Real * jacobi_trunc_threshold ) { - return ( hypre_BoomerAMGGetJacobiTruncThreshold( (void *) solver, + return ( hypre_BoomerAMGGetJacobiTruncThreshold( (hypre_ParAMGData *) solver, jacobi_trunc_threshold ) ); } @@ -416,7 +416,7 @@ HYPRE_Int HYPRE_BoomerAMGSetPostInterpType( HYPRE_Solver solver, HYPRE_Int post_interp_type ) { - return ( hypre_BoomerAMGSetPostInterpType( (void *) solver, + return ( hypre_BoomerAMGSetPostInterpType( (hypre_ParAMGData *) solver, post_interp_type ) ); } @@ -424,7 +424,7 @@ HYPRE_Int HYPRE_BoomerAMGGetPostInterpType( HYPRE_Solver solver, HYPRE_Int * post_interp_type ) { - return ( hypre_BoomerAMGGetPostInterpType( (void *) solver, + return ( hypre_BoomerAMGGetPostInterpType( (hypre_ParAMGData *) solver, post_interp_type ) ); } @@ -451,7 +451,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpType( HYPRE_Solver solver, HYPRE_Int interp_type ) { - return ( hypre_BoomerAMGSetInterpType( (void *) solver, interp_type ) ); + return ( hypre_BoomerAMGSetInterpType( (hypre_ParAMGData *) solver, interp_type ) ); } /*-------------------------------------------------------------------------- @@ -462,7 +462,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSepWeight( HYPRE_Solver solver, HYPRE_Int sep_weight ) { - return ( hypre_BoomerAMGSetSepWeight( (void *) solver, sep_weight ) ); + return ( hypre_BoomerAMGSetSepWeight( (hypre_ParAMGData *) solver, sep_weight ) ); } /*-------------------------------------------------------------------------- @@ -473,7 +473,7 @@ HYPRE_Int HYPRE_BoomerAMGSetMinIter( HYPRE_Solver solver, HYPRE_Int min_iter ) { - return ( hypre_BoomerAMGSetMinIter( (void *) solver, min_iter ) ); + return ( hypre_BoomerAMGSetMinIter( (hypre_ParAMGData *) solver, min_iter ) ); } /*-------------------------------------------------------------------------- @@ -484,14 +484,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMaxIter( HYPRE_Solver solver, HYPRE_Int max_iter ) { - return ( hypre_BoomerAMGSetMaxIter( (void *) solver, max_iter ) ); + return ( hypre_BoomerAMGSetMaxIter( (hypre_ParAMGData *) solver, max_iter ) ); } HYPRE_Int HYPRE_BoomerAMGGetMaxIter( HYPRE_Solver solver, HYPRE_Int * max_iter ) { - return ( hypre_BoomerAMGGetMaxIter( (void *) solver, max_iter ) ); + return ( hypre_BoomerAMGGetMaxIter( (hypre_ParAMGData *) solver, max_iter ) ); } /*-------------------------------------------------------------------------- @@ -502,14 +502,14 @@ HYPRE_Int HYPRE_BoomerAMGSetCoarsenType( HYPRE_Solver solver, HYPRE_Int coarsen_type ) { - return ( hypre_BoomerAMGSetCoarsenType( (void *) solver, coarsen_type ) ); + return ( hypre_BoomerAMGSetCoarsenType( (hypre_ParAMGData *) solver, coarsen_type ) ); } HYPRE_Int HYPRE_BoomerAMGGetCoarsenType( HYPRE_Solver solver, HYPRE_Int * coarsen_type ) { - return ( hypre_BoomerAMGGetCoarsenType( (void *) solver, coarsen_type ) ); + return ( hypre_BoomerAMGGetCoarsenType( (hypre_ParAMGData *) solver, coarsen_type ) ); } /*-------------------------------------------------------------------------- @@ -520,14 +520,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMeasureType( HYPRE_Solver solver, HYPRE_Int measure_type ) { - return ( hypre_BoomerAMGSetMeasureType( (void *) solver, measure_type ) ); + return ( hypre_BoomerAMGSetMeasureType( (hypre_ParAMGData *) solver, measure_type ) ); } HYPRE_Int HYPRE_BoomerAMGGetMeasureType( HYPRE_Solver solver, HYPRE_Int * measure_type ) { - return ( hypre_BoomerAMGGetMeasureType( (void *) solver, measure_type ) ); + return ( hypre_BoomerAMGGetMeasureType( (hypre_ParAMGData *) solver, measure_type ) ); } /*-------------------------------------------------------------------------- @@ -551,7 +551,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSetupType( HYPRE_Solver solver, HYPRE_Int setup_type ) { - return ( hypre_BoomerAMGSetSetupType( (void *) solver, setup_type ) ); + return ( hypre_BoomerAMGSetSetupType( (hypre_ParAMGData *) solver, setup_type ) ); } /*-------------------------------------------------------------------------- @@ -562,14 +562,14 @@ HYPRE_Int HYPRE_BoomerAMGSetCycleType( HYPRE_Solver solver, HYPRE_Int cycle_type ) { - return ( hypre_BoomerAMGSetCycleType( (void *) solver, cycle_type ) ); + return ( hypre_BoomerAMGSetCycleType( (hypre_ParAMGData *) solver, cycle_type ) ); } HYPRE_Int HYPRE_BoomerAMGGetCycleType( HYPRE_Solver solver, HYPRE_Int * cycle_type ) { - return ( hypre_BoomerAMGGetCycleType( (void *) solver, cycle_type ) ); + return ( hypre_BoomerAMGGetCycleType( (hypre_ParAMGData *) solver, cycle_type ) ); } /*-------------------------------------------------------------------------- @@ -580,14 +580,14 @@ HYPRE_Int HYPRE_BoomerAMGSetFCycle( HYPRE_Solver solver, HYPRE_Int fcycle ) { - return ( hypre_BoomerAMGSetFCycle( (void *) solver, fcycle ) ); + return ( hypre_BoomerAMGSetFCycle( (hypre_ParAMGData *) solver, fcycle ) ); } HYPRE_Int HYPRE_BoomerAMGGetFCycle( HYPRE_Solver solver, HYPRE_Int *fcycle ) { - return ( hypre_BoomerAMGGetFCycle( (void *) solver, fcycle ) ); + return ( hypre_BoomerAMGGetFCycle( (hypre_ParAMGData *) solver, fcycle ) ); } /*-------------------------------------------------------------------------- @@ -598,14 +598,14 @@ HYPRE_Int HYPRE_BoomerAMGSetConvergeType( HYPRE_Solver solver, HYPRE_Int type ) { - return ( hypre_BoomerAMGSetConvergeType( (void *) solver, type ) ); + return ( hypre_BoomerAMGSetConvergeType( (hypre_ParAMGData *) solver, type ) ); } HYPRE_Int HYPRE_BoomerAMGGetConvergeType( HYPRE_Solver solver, HYPRE_Int *type ) { - return ( hypre_BoomerAMGGetConvergeType( (void *) solver, type ) ); + return ( hypre_BoomerAMGGetConvergeType( (hypre_ParAMGData *) solver, type ) ); } /*-------------------------------------------------------------------------- @@ -616,14 +616,14 @@ HYPRE_Int HYPRE_BoomerAMGSetTol( HYPRE_Solver solver, HYPRE_Real tol ) { - return ( hypre_BoomerAMGSetTol( (void *) solver, tol ) ); + return ( hypre_BoomerAMGSetTol( (hypre_ParAMGData *) solver, tol ) ); } HYPRE_Int HYPRE_BoomerAMGGetTol( HYPRE_Solver solver, HYPRE_Real * tol ) { - return ( hypre_BoomerAMGGetTol( (void *) solver, tol ) ); + return ( hypre_BoomerAMGGetTol( (hypre_ParAMGData *) solver, tol ) ); } /*-------------------------------------------------------------------------- @@ -637,7 +637,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNumGridSweeps( HYPRE_Solver solver, HYPRE_Int *num_grid_sweeps ) { - return ( hypre_BoomerAMGSetNumGridSweeps( (void *) solver, num_grid_sweeps ) ); + return ( hypre_BoomerAMGSetNumGridSweeps( (hypre_ParAMGData *) solver, num_grid_sweeps ) ); } /*-------------------------------------------------------------------------- @@ -649,7 +649,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNumSweeps( HYPRE_Solver solver, HYPRE_Int num_sweeps ) { - return ( hypre_BoomerAMGSetNumSweeps( (void *) solver, num_sweeps ) ); + return ( hypre_BoomerAMGSetNumSweeps( (hypre_ParAMGData *) solver, num_sweeps ) ); } /*-------------------------------------------------------------------------- @@ -660,14 +660,14 @@ HYPRE_Int HYPRE_BoomerAMGSetCycleNumSweeps( HYPRE_Solver solver, HYPRE_Int num_sweeps, HYPRE_Int k ) { - return ( hypre_BoomerAMGSetCycleNumSweeps( (void *) solver, num_sweeps, k ) ); + return ( hypre_BoomerAMGSetCycleNumSweeps( (hypre_ParAMGData *) solver, num_sweeps, k ) ); } HYPRE_Int HYPRE_BoomerAMGGetCycleNumSweeps( HYPRE_Solver solver, HYPRE_Int * num_sweeps, HYPRE_Int k ) { - return ( hypre_BoomerAMGGetCycleNumSweeps( (void *) solver, num_sweeps, k ) ); + return ( hypre_BoomerAMGGetCycleNumSweeps( (hypre_ParAMGData *) solver, num_sweeps, k ) ); } /*-------------------------------------------------------------------------- @@ -774,7 +774,7 @@ HYPRE_Int HYPRE_BoomerAMGSetGridRelaxType( HYPRE_Solver solver, HYPRE_Int *grid_relax_type ) { - return ( hypre_BoomerAMGSetGridRelaxType( (void *) solver, grid_relax_type ) ); + return ( hypre_BoomerAMGSetGridRelaxType( (hypre_ParAMGData *) solver, grid_relax_type ) ); } /*-------------------------------------------------------------------------- @@ -785,7 +785,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRelaxType( HYPRE_Solver solver, HYPRE_Int relax_type ) { - return ( hypre_BoomerAMGSetRelaxType( (void *) solver, relax_type ) ); + return ( hypre_BoomerAMGSetRelaxType( (hypre_ParAMGData *) solver, relax_type ) ); } /*-------------------------------------------------------------------------- @@ -796,14 +796,14 @@ HYPRE_Int HYPRE_BoomerAMGSetCycleRelaxType( HYPRE_Solver solver, HYPRE_Int relax_type, HYPRE_Int k ) { - return ( hypre_BoomerAMGSetCycleRelaxType( (void *) solver, relax_type, k ) ); + return ( hypre_BoomerAMGSetCycleRelaxType( (hypre_ParAMGData *) solver, relax_type, k ) ); } HYPRE_Int HYPRE_BoomerAMGGetCycleRelaxType( HYPRE_Solver solver, HYPRE_Int * relax_type, HYPRE_Int k ) { - return ( hypre_BoomerAMGGetCycleRelaxType( (void *) solver, relax_type, k ) ); + return ( hypre_BoomerAMGGetCycleRelaxType( (hypre_ParAMGData *) solver, relax_type, k ) ); } /*-------------------------------------------------------------------------- @@ -814,7 +814,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRelaxOrder( HYPRE_Solver solver, HYPRE_Int relax_order) { - return ( hypre_BoomerAMGSetRelaxOrder( (void *) solver, relax_order ) ); + return ( hypre_BoomerAMGSetRelaxOrder( (hypre_ParAMGData *) solver, relax_order ) ); } /*-------------------------------------------------------------------------- @@ -828,7 +828,7 @@ HYPRE_Int HYPRE_BoomerAMGSetGridRelaxPoints( HYPRE_Solver solver, HYPRE_Int **grid_relax_points ) { - return ( hypre_BoomerAMGSetGridRelaxPoints( (void *) solver, grid_relax_points ) ); + return ( hypre_BoomerAMGSetGridRelaxPoints( (hypre_ParAMGData *) solver, grid_relax_points ) ); } /*-------------------------------------------------------------------------- @@ -842,7 +842,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRelaxWeight( HYPRE_Solver solver, HYPRE_Real *relax_weight ) { - return ( hypre_BoomerAMGSetRelaxWeight( (void *) solver, relax_weight ) ); + return ( hypre_BoomerAMGSetRelaxWeight( (hypre_ParAMGData *) solver, relax_weight ) ); } /*-------------------------------------------------------------------------- @@ -853,7 +853,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRelaxWt( HYPRE_Solver solver, HYPRE_Real relax_wt ) { - return ( hypre_BoomerAMGSetRelaxWt( (void *) solver, relax_wt ) ); + return ( hypre_BoomerAMGSetRelaxWt( (hypre_ParAMGData *) solver, relax_wt ) ); } /*-------------------------------------------------------------------------- @@ -865,7 +865,7 @@ HYPRE_BoomerAMGSetLevelRelaxWt( HYPRE_Solver solver, HYPRE_Real relax_wt, HYPRE_Int level ) { - return ( hypre_BoomerAMGSetLevelRelaxWt( (void *) solver, relax_wt, level ) ); + return ( hypre_BoomerAMGSetLevelRelaxWt( (hypre_ParAMGData *) solver, relax_wt, level ) ); } /*-------------------------------------------------------------------------- @@ -876,7 +876,7 @@ HYPRE_Int HYPRE_BoomerAMGSetOmega( HYPRE_Solver solver, HYPRE_Real *omega ) { - return ( hypre_BoomerAMGSetOmega( (void *) solver, omega ) ); + return ( hypre_BoomerAMGSetOmega( (hypre_ParAMGData *) solver, omega ) ); } /*-------------------------------------------------------------------------- @@ -887,7 +887,7 @@ HYPRE_Int HYPRE_BoomerAMGSetOuterWt( HYPRE_Solver solver, HYPRE_Real outer_wt ) { - return ( hypre_BoomerAMGSetOuterWt( (void *) solver, outer_wt ) ); + return ( hypre_BoomerAMGSetOuterWt( (hypre_ParAMGData *) solver, outer_wt ) ); } /*-------------------------------------------------------------------------- @@ -899,7 +899,7 @@ HYPRE_BoomerAMGSetLevelOuterWt( HYPRE_Solver solver, HYPRE_Real outer_wt, HYPRE_Int level ) { - return ( hypre_BoomerAMGSetLevelOuterWt( (void *) solver, outer_wt, level ) ); + return ( hypre_BoomerAMGSetLevelOuterWt( (hypre_ParAMGData *) solver, outer_wt, level ) ); } /*-------------------------------------------------------------------------- @@ -910,14 +910,14 @@ HYPRE_Int HYPRE_BoomerAMGSetSmoothType( HYPRE_Solver solver, HYPRE_Int smooth_type ) { - return ( hypre_BoomerAMGSetSmoothType( (void *) solver, smooth_type ) ); + return ( hypre_BoomerAMGSetSmoothType( (hypre_ParAMGData *) solver, smooth_type ) ); } HYPRE_Int HYPRE_BoomerAMGGetSmoothType( HYPRE_Solver solver, HYPRE_Int * smooth_type ) { - return ( hypre_BoomerAMGGetSmoothType( (void *) solver, smooth_type ) ); + return ( hypre_BoomerAMGGetSmoothType( (hypre_ParAMGData *) solver, smooth_type ) ); } /*-------------------------------------------------------------------------- @@ -928,14 +928,14 @@ HYPRE_Int HYPRE_BoomerAMGSetSmoothNumLevels( HYPRE_Solver solver, HYPRE_Int smooth_num_levels ) { - return ( hypre_BoomerAMGSetSmoothNumLevels((void *)solver, smooth_num_levels )); + return ( hypre_BoomerAMGSetSmoothNumLevels((hypre_ParAMGData *)solver, smooth_num_levels )); } HYPRE_Int HYPRE_BoomerAMGGetSmoothNumLevels( HYPRE_Solver solver, HYPRE_Int * smooth_num_levels ) { - return ( hypre_BoomerAMGGetSmoothNumLevels((void *)solver, smooth_num_levels )); + return ( hypre_BoomerAMGGetSmoothNumLevels((hypre_ParAMGData *)solver, smooth_num_levels )); } /*-------------------------------------------------------------------------- @@ -946,14 +946,14 @@ HYPRE_Int HYPRE_BoomerAMGSetSmoothNumSweeps( HYPRE_Solver solver, HYPRE_Int smooth_num_sweeps ) { - return ( hypre_BoomerAMGSetSmoothNumSweeps((void *)solver, smooth_num_sweeps )); + return ( hypre_BoomerAMGSetSmoothNumSweeps((hypre_ParAMGData *)solver, smooth_num_sweeps )); } HYPRE_Int HYPRE_BoomerAMGGetSmoothNumSweeps( HYPRE_Solver solver, HYPRE_Int * smooth_num_sweeps ) { - return ( hypre_BoomerAMGGetSmoothNumSweeps((void *)solver, smooth_num_sweeps )); + return ( hypre_BoomerAMGGetSmoothNumSweeps((hypre_ParAMGData *)solver, smooth_num_sweeps )); } /*-------------------------------------------------------------------------- @@ -970,14 +970,14 @@ HYPRE_BoomerAMGSetLogging( HYPRE_Solver solver, It may be possible to support logging changes at other times, but there is little need. */ - return ( hypre_BoomerAMGSetLogging( (void *) solver, logging ) ); + return ( hypre_BoomerAMGSetLogging( (hypre_ParAMGData *) solver, logging ) ); } HYPRE_Int HYPRE_BoomerAMGGetLogging( HYPRE_Solver solver, HYPRE_Int * logging ) { - return ( hypre_BoomerAMGGetLogging( (void *) solver, logging ) ); + return ( hypre_BoomerAMGGetLogging( (hypre_ParAMGData *) solver, logging ) ); } /*-------------------------------------------------------------------------- @@ -988,14 +988,14 @@ HYPRE_Int HYPRE_BoomerAMGSetPrintLevel( HYPRE_Solver solver, HYPRE_Int print_level ) { - return ( hypre_BoomerAMGSetPrintLevel( (void *) solver, print_level ) ); + return ( hypre_BoomerAMGSetPrintLevel( (hypre_ParAMGData *) solver, print_level ) ); } HYPRE_Int HYPRE_BoomerAMGGetPrintLevel( HYPRE_Solver solver, HYPRE_Int * print_level ) { - return ( hypre_BoomerAMGGetPrintLevel( (void *) solver, print_level ) ); + return ( hypre_BoomerAMGGetPrintLevel( (hypre_ParAMGData *) solver, print_level ) ); } /*-------------------------------------------------------------------------- @@ -1006,7 +1006,7 @@ HYPRE_Int HYPRE_BoomerAMGSetPrintFileName( HYPRE_Solver solver, const char *print_file_name ) { - return ( hypre_BoomerAMGSetPrintFileName( (void *) solver, print_file_name ) ); + return ( hypre_BoomerAMGSetPrintFileName( (hypre_ParAMGData *) solver, print_file_name ) ); } /*-------------------------------------------------------------------------- @@ -1017,14 +1017,14 @@ HYPRE_Int HYPRE_BoomerAMGSetDebugFlag( HYPRE_Solver solver, HYPRE_Int debug_flag ) { - return ( hypre_BoomerAMGSetDebugFlag( (void *) solver, debug_flag ) ); + return ( hypre_BoomerAMGSetDebugFlag( (hypre_ParAMGData *) solver, debug_flag ) ); } HYPRE_Int HYPRE_BoomerAMGGetDebugFlag( HYPRE_Solver solver, HYPRE_Int * debug_flag ) { - return ( hypre_BoomerAMGGetDebugFlag( (void *) solver, debug_flag ) ); + return ( hypre_BoomerAMGGetDebugFlag( (hypre_ParAMGData *) solver, debug_flag ) ); } /*-------------------------------------------------------------------------- @@ -1035,7 +1035,7 @@ HYPRE_Int HYPRE_BoomerAMGGetNumIterations( HYPRE_Solver solver, HYPRE_Int *num_iterations ) { - return ( hypre_BoomerAMGGetNumIterations( (void *) solver, num_iterations ) ); + return ( hypre_BoomerAMGGetNumIterations( (hypre_ParAMGData *) solver, num_iterations ) ); } /*-------------------------------------------------------------------------- @@ -1046,7 +1046,7 @@ HYPRE_Int HYPRE_BoomerAMGGetCumNumIterations( HYPRE_Solver solver, HYPRE_Int *cum_num_iterations ) { - return ( hypre_BoomerAMGGetCumNumIterations( (void *) solver, cum_num_iterations ) ); + return ( hypre_BoomerAMGGetCumNumIterations( (hypre_ParAMGData *) solver, cum_num_iterations ) ); } /*-------------------------------------------------------------------------- @@ -1056,7 +1056,7 @@ HYPRE_BoomerAMGGetCumNumIterations( HYPRE_Solver solver, HYPRE_Int HYPRE_BoomerAMGGetResidual( HYPRE_Solver solver, HYPRE_ParVector * residual ) { - return hypre_BoomerAMGGetResidual( (void *) solver, + return hypre_BoomerAMGGetResidual( (hypre_ParAMGData *) solver, (hypre_ParVector **) residual ); } @@ -1069,7 +1069,7 @@ HYPRE_Int HYPRE_BoomerAMGGetFinalRelativeResidualNorm( HYPRE_Solver solver, HYPRE_Real *rel_resid_norm ) { - return ( hypre_BoomerAMGGetRelResidualNorm( (void *) solver, rel_resid_norm ) ); + return ( hypre_BoomerAMGGetRelResidualNorm( (hypre_ParAMGData *) solver, rel_resid_norm ) ); } /*-------------------------------------------------------------------------- @@ -1080,14 +1080,14 @@ HYPRE_Int HYPRE_BoomerAMGSetVariant( HYPRE_Solver solver, HYPRE_Int variant ) { - return ( hypre_BoomerAMGSetVariant( (void *) solver, variant ) ); + return ( hypre_BoomerAMGSetVariant( (hypre_ParAMGData *) solver, variant ) ); } HYPRE_Int HYPRE_BoomerAMGGetVariant( HYPRE_Solver solver, HYPRE_Int * variant ) { - return ( hypre_BoomerAMGGetVariant( (void *) solver, variant ) ); + return ( hypre_BoomerAMGGetVariant( (hypre_ParAMGData *) solver, variant ) ); } /*-------------------------------------------------------------------------- @@ -1098,14 +1098,14 @@ HYPRE_Int HYPRE_BoomerAMGSetOverlap( HYPRE_Solver solver, HYPRE_Int overlap ) { - return ( hypre_BoomerAMGSetOverlap( (void *) solver, overlap ) ); + return ( hypre_BoomerAMGSetOverlap( (hypre_ParAMGData *) solver, overlap ) ); } HYPRE_Int HYPRE_BoomerAMGGetOverlap( HYPRE_Solver solver, HYPRE_Int * overlap ) { - return ( hypre_BoomerAMGGetOverlap( (void *) solver, overlap ) ); + return ( hypre_BoomerAMGGetOverlap( (hypre_ParAMGData *) solver, overlap ) ); } /*-------------------------------------------------------------------------- @@ -1116,14 +1116,14 @@ HYPRE_Int HYPRE_BoomerAMGSetDomainType( HYPRE_Solver solver, HYPRE_Int domain_type ) { - return ( hypre_BoomerAMGSetDomainType( (void *) solver, domain_type ) ); + return ( hypre_BoomerAMGSetDomainType( (hypre_ParAMGData *) solver, domain_type ) ); } HYPRE_Int HYPRE_BoomerAMGGetDomainType( HYPRE_Solver solver, HYPRE_Int * domain_type ) { - return ( hypre_BoomerAMGGetDomainType( (void *) solver, domain_type ) ); + return ( hypre_BoomerAMGGetDomainType( (hypre_ParAMGData *) solver, domain_type ) ); } /*-------------------------------------------------------------------------- @@ -1134,7 +1134,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSchwarzRlxWeight( HYPRE_Solver solver, HYPRE_Real schwarz_rlx_weight) { - return ( hypre_BoomerAMGSetSchwarzRlxWeight( (void *) solver, + return ( hypre_BoomerAMGSetSchwarzRlxWeight( (hypre_ParAMGData *) solver, schwarz_rlx_weight ) ); } @@ -1142,7 +1142,7 @@ HYPRE_Int HYPRE_BoomerAMGGetSchwarzRlxWeight( HYPRE_Solver solver, HYPRE_Real * schwarz_rlx_weight) { - return ( hypre_BoomerAMGGetSchwarzRlxWeight( (void *) solver, + return ( hypre_BoomerAMGGetSchwarzRlxWeight( (hypre_ParAMGData *) solver, schwarz_rlx_weight ) ); } /*-------------------------------------------------------------------------- @@ -1153,7 +1153,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSchwarzUseNonSymm( HYPRE_Solver solver, HYPRE_Int use_nonsymm) { - return ( hypre_BoomerAMGSetSchwarzUseNonSymm( (void *) solver, + return ( hypre_BoomerAMGSetSchwarzUseNonSymm( (hypre_ParAMGData *) solver, use_nonsymm ) ); } /*-------------------------------------------------------------------------- @@ -1164,7 +1164,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSym( HYPRE_Solver solver, HYPRE_Int sym) { - return ( hypre_BoomerAMGSetSym( (void *) solver, sym ) ); + return ( hypre_BoomerAMGSetSym( (hypre_ParAMGData *) solver, sym ) ); } /*-------------------------------------------------------------------------- @@ -1175,7 +1175,7 @@ HYPRE_Int HYPRE_BoomerAMGSetLevel( HYPRE_Solver solver, HYPRE_Int level) { - return ( hypre_BoomerAMGSetLevel( (void *) solver, level ) ); + return ( hypre_BoomerAMGSetLevel( (hypre_ParAMGData *) solver, level ) ); } /*-------------------------------------------------------------------------- @@ -1186,7 +1186,7 @@ HYPRE_Int HYPRE_BoomerAMGSetThreshold( HYPRE_Solver solver, HYPRE_Real threshold ) { - return ( hypre_BoomerAMGSetThreshold( (void *) solver, threshold ) ); + return ( hypre_BoomerAMGSetThreshold( (hypre_ParAMGData *) solver, threshold ) ); } /*-------------------------------------------------------------------------- @@ -1197,7 +1197,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFilter( HYPRE_Solver solver, HYPRE_Real filter ) { - return ( hypre_BoomerAMGSetFilter( (void *) solver, filter ) ); + return ( hypre_BoomerAMGSetFilter( (hypre_ParAMGData *) solver, filter ) ); } /*-------------------------------------------------------------------------- @@ -1208,7 +1208,7 @@ HYPRE_Int HYPRE_BoomerAMGSetDropTol( HYPRE_Solver solver, HYPRE_Real drop_tol ) { - return ( hypre_BoomerAMGSetDropTol( (void *) solver, drop_tol ) ); + return ( hypre_BoomerAMGSetDropTol( (hypre_ParAMGData *) solver, drop_tol ) ); } /*-------------------------------------------------------------------------- @@ -1219,7 +1219,7 @@ HYPRE_Int HYPRE_BoomerAMGSetMaxNzPerRow( HYPRE_Solver solver, HYPRE_Int max_nz_per_row ) { - return ( hypre_BoomerAMGSetMaxNzPerRow( (void *) solver, max_nz_per_row ) ); + return ( hypre_BoomerAMGSetMaxNzPerRow( (hypre_ParAMGData *) solver, max_nz_per_row ) ); } /*-------------------------------------------------------------------------- @@ -1230,7 +1230,7 @@ HYPRE_Int HYPRE_BoomerAMGSetEuclidFile( HYPRE_Solver solver, char *euclidfile) { - return ( hypre_BoomerAMGSetEuclidFile( (void *) solver, euclidfile ) ); + return ( hypre_BoomerAMGSetEuclidFile( (hypre_ParAMGData *) solver, euclidfile ) ); } /*-------------------------------------------------------------------------- @@ -1241,7 +1241,7 @@ HYPRE_Int HYPRE_BoomerAMGSetEuLevel( HYPRE_Solver solver, HYPRE_Int eu_level) { - return ( hypre_BoomerAMGSetEuLevel( (void *) solver, eu_level ) ); + return ( hypre_BoomerAMGSetEuLevel( (hypre_ParAMGData *) solver, eu_level ) ); } /*-------------------------------------------------------------------------- @@ -1252,7 +1252,7 @@ HYPRE_Int HYPRE_BoomerAMGSetEuSparseA( HYPRE_Solver solver, HYPRE_Real eu_sparse_A ) { - return ( hypre_BoomerAMGSetEuSparseA( (void *) solver, eu_sparse_A ) ); + return ( hypre_BoomerAMGSetEuSparseA( (hypre_ParAMGData *) solver, eu_sparse_A ) ); } /*-------------------------------------------------------------------------- @@ -1263,7 +1263,7 @@ HYPRE_Int HYPRE_BoomerAMGSetEuBJ( HYPRE_Solver solver, HYPRE_Int eu_bj) { - return ( hypre_BoomerAMGSetEuBJ( (void *) solver, eu_bj ) ); + return ( hypre_BoomerAMGSetEuBJ( (hypre_ParAMGData *) solver, eu_bj ) ); } /*-------------------------------------------------------------------------- @@ -1274,7 +1274,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUType( HYPRE_Solver solver, HYPRE_Int ilu_type) { - return ( hypre_BoomerAMGSetILUType( (void *) solver, ilu_type ) ); + return ( hypre_BoomerAMGSetILUType( (hypre_ParAMGData *) solver, ilu_type ) ); } /*-------------------------------------------------------------------------- @@ -1285,7 +1285,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILULevel( HYPRE_Solver solver, HYPRE_Int ilu_lfil) { - return ( hypre_BoomerAMGSetILULevel( (void *) solver, ilu_lfil ) ); + return ( hypre_BoomerAMGSetILULevel( (hypre_ParAMGData *) solver, ilu_lfil ) ); } /*-------------------------------------------------------------------------- @@ -1296,7 +1296,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUMaxRowNnz( HYPRE_Solver solver, HYPRE_Int ilu_max_row_nnz) { - return ( hypre_BoomerAMGSetILUMaxRowNnz( (void *) solver, ilu_max_row_nnz ) ); + return ( hypre_BoomerAMGSetILUMaxRowNnz( (hypre_ParAMGData *) solver, ilu_max_row_nnz ) ); } /*-------------------------------------------------------------------------- @@ -1307,7 +1307,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUMaxIter( HYPRE_Solver solver, HYPRE_Int ilu_max_iter) { - return ( hypre_BoomerAMGSetILUMaxIter( (void *) solver, ilu_max_iter ) ); + return ( hypre_BoomerAMGSetILUMaxIter( (hypre_ParAMGData *) solver, ilu_max_iter ) ); } /*-------------------------------------------------------------------------- @@ -1318,7 +1318,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUDroptol( HYPRE_Solver solver, HYPRE_Real ilu_droptol) { - return ( hypre_BoomerAMGSetILUDroptol( (void *) solver, ilu_droptol ) ); + return ( hypre_BoomerAMGSetILUDroptol( (hypre_ParAMGData *) solver, ilu_droptol ) ); } /*-------------------------------------------------------------------------- @@ -1329,7 +1329,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUTriSolve( HYPRE_Solver solver, HYPRE_Int ilu_tri_solve) { - return ( hypre_BoomerAMGSetILUTriSolve( (void *) solver, ilu_tri_solve ) ); + return ( hypre_BoomerAMGSetILUTriSolve( (hypre_ParAMGData *) solver, ilu_tri_solve ) ); } /*-------------------------------------------------------------------------- @@ -1340,7 +1340,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILULowerJacobiIters( HYPRE_Solver solver, HYPRE_Int ilu_lower_jacobi_iters) { - return ( hypre_BoomerAMGSetILULowerJacobiIters( (void *) solver, ilu_lower_jacobi_iters ) ); + return ( hypre_BoomerAMGSetILULowerJacobiIters( (hypre_ParAMGData *) solver, ilu_lower_jacobi_iters ) ); } /*-------------------------------------------------------------------------- @@ -1351,7 +1351,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILUUpperJacobiIters( HYPRE_Solver solver, HYPRE_Int ilu_upper_jacobi_iters) { - return ( hypre_BoomerAMGSetILUUpperJacobiIters( (void *) solver, ilu_upper_jacobi_iters ) ); + return ( hypre_BoomerAMGSetILUUpperJacobiIters( (hypre_ParAMGData *) solver, ilu_upper_jacobi_iters ) ); } /*-------------------------------------------------------------------------- @@ -1362,7 +1362,7 @@ HYPRE_Int HYPRE_BoomerAMGSetILULocalReordering( HYPRE_Solver solver, HYPRE_Int ilu_reordering_type) { - return ( hypre_BoomerAMGSetILULocalReordering( (void *) solver, ilu_reordering_type ) ); + return ( hypre_BoomerAMGSetILULocalReordering( (hypre_ParAMGData *) solver, ilu_reordering_type ) ); } /*-------------------------------------------------------------------------- @@ -1373,7 +1373,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIAlgoType( HYPRE_Solver solver, HYPRE_Int algo_type ) { - return ( hypre_BoomerAMGSetFSAIAlgoType( (void *) solver, algo_type ) ); + return ( hypre_BoomerAMGSetFSAIAlgoType( (hypre_ParAMGData *) solver, algo_type ) ); } /*-------------------------------------------------------------------------- @@ -1384,7 +1384,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAILocalSolveType( HYPRE_Solver solver, HYPRE_Int local_solve_type ) { - return ( hypre_BoomerAMGSetFSAILocalSolveType( (void *) solver, local_solve_type ) ); + return ( hypre_BoomerAMGSetFSAILocalSolveType( (hypre_ParAMGData *) solver, local_solve_type ) ); } /*-------------------------------------------------------------------------- @@ -1395,7 +1395,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxSteps( HYPRE_Solver solver, HYPRE_Int max_steps ) { - return ( hypre_BoomerAMGSetFSAIMaxSteps( (void *) solver, max_steps ) ); + return ( hypre_BoomerAMGSetFSAIMaxSteps( (hypre_ParAMGData *) solver, max_steps ) ); } /*-------------------------------------------------------------------------- @@ -1406,7 +1406,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxStepSize( HYPRE_Solver solver, HYPRE_Int max_step_size ) { - return ( hypre_BoomerAMGSetFSAIMaxStepSize( (void *) solver, max_step_size ) ); + return ( hypre_BoomerAMGSetFSAIMaxStepSize( (hypre_ParAMGData *) solver, max_step_size ) ); } /*-------------------------------------------------------------------------- @@ -1417,7 +1417,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxNnzRow( HYPRE_Solver solver, HYPRE_Int max_nnz_row ) { - return ( hypre_BoomerAMGSetFSAIMaxNnzRow( (void *) solver, max_nnz_row ) ); + return ( hypre_BoomerAMGSetFSAIMaxNnzRow( (hypre_ParAMGData *) solver, max_nnz_row ) ); } /*-------------------------------------------------------------------------- @@ -1428,7 +1428,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAINumLevels( HYPRE_Solver solver, HYPRE_Int num_levels ) { - return ( hypre_BoomerAMGSetFSAINumLevels( (void *) solver, num_levels ) ); + return ( hypre_BoomerAMGSetFSAINumLevels( (hypre_ParAMGData *) solver, num_levels ) ); } /*-------------------------------------------------------------------------- @@ -1439,7 +1439,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIThreshold( HYPRE_Solver solver, HYPRE_Real threshold ) { - return ( hypre_BoomerAMGSetFSAIThreshold( (void *) solver, threshold ) ); + return ( hypre_BoomerAMGSetFSAIThreshold( (hypre_ParAMGData *) solver, threshold ) ); } /*-------------------------------------------------------------------------- @@ -1450,7 +1450,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIEigMaxIters( HYPRE_Solver solver, HYPRE_Int eig_max_iters ) { - return ( hypre_BoomerAMGSetFSAIEigMaxIters( (void *) solver, eig_max_iters ) ); + return ( hypre_BoomerAMGSetFSAIEigMaxIters( (hypre_ParAMGData *) solver, eig_max_iters ) ); } /*-------------------------------------------------------------------------- @@ -1461,7 +1461,7 @@ HYPRE_Int HYPRE_BoomerAMGSetFSAIKapTolerance( HYPRE_Solver solver, HYPRE_Real kap_tolerance ) { - return ( hypre_BoomerAMGSetFSAIKapTolerance( (void *) solver, kap_tolerance ) ); + return ( hypre_BoomerAMGSetFSAIKapTolerance( (hypre_ParAMGData *) solver, kap_tolerance ) ); } /*-------------------------------------------------------------------------- @@ -1472,14 +1472,14 @@ HYPRE_Int HYPRE_BoomerAMGSetNumFunctions( HYPRE_Solver solver, HYPRE_Int num_functions ) { - return ( hypre_BoomerAMGSetNumFunctions( (void *) solver, num_functions ) ); + return ( hypre_BoomerAMGSetNumFunctions( (hypre_ParAMGData *) solver, num_functions ) ); } HYPRE_Int HYPRE_BoomerAMGGetNumFunctions( HYPRE_Solver solver, HYPRE_Int * num_functions ) { - return ( hypre_BoomerAMGGetNumFunctions( (void *) solver, num_functions ) ); + return ( hypre_BoomerAMGGetNumFunctions( (hypre_ParAMGData *) solver, num_functions ) ); } /*-------------------------------------------------------------------------- @@ -1490,7 +1490,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNodal( HYPRE_Solver solver, HYPRE_Int nodal ) { - return ( hypre_BoomerAMGSetNodal( (void *) solver, nodal ) ); + return ( hypre_BoomerAMGSetNodal( (hypre_ParAMGData *) solver, nodal ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetNodalLevels @@ -1500,7 +1500,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNodalLevels( HYPRE_Solver solver, HYPRE_Int nodal_levels ) { - return ( hypre_BoomerAMGSetNodalLevels( (void *) solver, nodal_levels ) ); + return ( hypre_BoomerAMGSetNodalLevels( (hypre_ParAMGData *) solver, nodal_levels ) ); } @@ -1512,7 +1512,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNodalDiag( HYPRE_Solver solver, HYPRE_Int nodal ) { - return ( hypre_BoomerAMGSetNodalDiag( (void *) solver, nodal ) ); + return ( hypre_BoomerAMGSetNodalDiag( (hypre_ParAMGData *) solver, nodal ) ); } /*-------------------------------------------------------------------------- @@ -1523,7 +1523,7 @@ HYPRE_Int HYPRE_BoomerAMGSetKeepSameSign( HYPRE_Solver solver, HYPRE_Int keep_same_sign ) { - return ( hypre_BoomerAMGSetKeepSameSign( (void *) solver, keep_same_sign ) ); + return ( hypre_BoomerAMGSetKeepSameSign( (hypre_ParAMGData *) solver, keep_same_sign ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetDofFunc @@ -1538,7 +1538,7 @@ HYPRE_BoomerAMGSetDofFunc( HYPRE_Solver solver, dof_func by calling HYPRE_BoomerAMGSetDofFunc, this could be an unwanted surprise. As hypre is currently commonly used, this situation is likely to be rare. */ { - return ( hypre_BoomerAMGSetDofFunc( (void *) solver, dof_func ) ); + return ( hypre_BoomerAMGSetDofFunc( (hypre_ParAMGData *) solver, dof_func ) ); } /*-------------------------------------------------------------------------- @@ -1549,7 +1549,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNumPaths( HYPRE_Solver solver, HYPRE_Int num_paths ) { - return ( hypre_BoomerAMGSetNumPaths( (void *) solver, num_paths ) ); + return ( hypre_BoomerAMGSetNumPaths( (hypre_ParAMGData *) solver, num_paths ) ); } /*-------------------------------------------------------------------------- @@ -1560,7 +1560,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggNumLevels( HYPRE_Solver solver, HYPRE_Int agg_num_levels ) { - return ( hypre_BoomerAMGSetAggNumLevels( (void *) solver, agg_num_levels ) ); + return ( hypre_BoomerAMGSetAggNumLevels( (hypre_ParAMGData *) solver, agg_num_levels ) ); } /*-------------------------------------------------------------------------- @@ -1571,7 +1571,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggInterpType( HYPRE_Solver solver, HYPRE_Int agg_interp_type ) { - return ( hypre_BoomerAMGSetAggInterpType( (void *) solver, agg_interp_type ) ); + return ( hypre_BoomerAMGSetAggInterpType( (hypre_ParAMGData *) solver, agg_interp_type ) ); } /*-------------------------------------------------------------------------- @@ -1582,7 +1582,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggTruncFactor( HYPRE_Solver solver, HYPRE_Real agg_trunc_factor ) { - return ( hypre_BoomerAMGSetAggTruncFactor( (void *) solver, agg_trunc_factor ) ); + return ( hypre_BoomerAMGSetAggTruncFactor( (hypre_ParAMGData *) solver, agg_trunc_factor ) ); } /*-------------------------------------------------------------------------- @@ -1593,7 +1593,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAddTruncFactor( HYPRE_Solver solver, HYPRE_Real add_trunc_factor ) { - return ( hypre_BoomerAMGSetMultAddTruncFactor( (void *) solver, add_trunc_factor ) ); + return ( hypre_BoomerAMGSetMultAddTruncFactor( (hypre_ParAMGData *) solver, add_trunc_factor ) ); } /*-------------------------------------------------------------------------- @@ -1604,7 +1604,7 @@ HYPRE_Int HYPRE_BoomerAMGSetMultAddTruncFactor( HYPRE_Solver solver, HYPRE_Real add_trunc_factor ) { - return ( hypre_BoomerAMGSetMultAddTruncFactor( (void *) solver, add_trunc_factor ) ); + return ( hypre_BoomerAMGSetMultAddTruncFactor( (hypre_ParAMGData *) solver, add_trunc_factor ) ); } /*-------------------------------------------------------------------------- @@ -1615,7 +1615,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAddRelaxWt( HYPRE_Solver solver, HYPRE_Real add_rlx_wt ) { - return ( hypre_BoomerAMGSetAddRelaxWt( (void *) solver, add_rlx_wt ) ); + return ( hypre_BoomerAMGSetAddRelaxWt( (hypre_ParAMGData *) solver, add_rlx_wt ) ); } /*-------------------------------------------------------------------------- @@ -1626,7 +1626,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAddRelaxType( HYPRE_Solver solver, HYPRE_Int add_rlx_type ) { - return ( hypre_BoomerAMGSetAddRelaxType( (void *) solver, add_rlx_type ) ); + return ( hypre_BoomerAMGSetAddRelaxType( (hypre_ParAMGData *) solver, add_rlx_type ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetAggP12TruncFactor @@ -1636,7 +1636,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggP12TruncFactor( HYPRE_Solver solver, HYPRE_Real agg_P12_trunc_factor ) { - return ( hypre_BoomerAMGSetAggP12TruncFactor( (void *) solver, agg_P12_trunc_factor ) ); + return ( hypre_BoomerAMGSetAggP12TruncFactor( (hypre_ParAMGData *) solver, agg_P12_trunc_factor ) ); } /*-------------------------------------------------------------------------- @@ -1647,7 +1647,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggPMaxElmts( HYPRE_Solver solver, HYPRE_Int agg_P_max_elmts ) { - return ( hypre_BoomerAMGSetAggPMaxElmts( (void *) solver, agg_P_max_elmts ) ); + return ( hypre_BoomerAMGSetAggPMaxElmts( (hypre_ParAMGData *) solver, agg_P_max_elmts ) ); } /*-------------------------------------------------------------------------- @@ -1658,7 +1658,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAddPMaxElmts( HYPRE_Solver solver, HYPRE_Int add_P_max_elmts ) { - return ( hypre_BoomerAMGSetMultAddPMaxElmts( (void *) solver, add_P_max_elmts ) ); + return ( hypre_BoomerAMGSetMultAddPMaxElmts( (hypre_ParAMGData *) solver, add_P_max_elmts ) ); } /*-------------------------------------------------------------------------- @@ -1669,7 +1669,7 @@ HYPRE_Int HYPRE_BoomerAMGSetMultAddPMaxElmts( HYPRE_Solver solver, HYPRE_Int add_P_max_elmts ) { - return ( hypre_BoomerAMGSetMultAddPMaxElmts( (void *) solver, add_P_max_elmts ) ); + return ( hypre_BoomerAMGSetMultAddPMaxElmts( (hypre_ParAMGData *) solver, add_P_max_elmts ) ); } /*-------------------------------------------------------------------------- @@ -1680,7 +1680,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAggP12MaxElmts( HYPRE_Solver solver, HYPRE_Int agg_P12_max_elmts ) { - return ( hypre_BoomerAMGSetAggP12MaxElmts( (void *) solver, agg_P12_max_elmts ) ); + return ( hypre_BoomerAMGSetAggP12MaxElmts( (hypre_ParAMGData *) solver, agg_P12_max_elmts ) ); } /*-------------------------------------------------------------------------- @@ -1691,7 +1691,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNumCRRelaxSteps( HYPRE_Solver solver, HYPRE_Int num_CR_relax_steps ) { - return ( hypre_BoomerAMGSetNumCRRelaxSteps( (void *) solver, num_CR_relax_steps ) ); + return ( hypre_BoomerAMGSetNumCRRelaxSteps( (hypre_ParAMGData *) solver, num_CR_relax_steps ) ); } /*-------------------------------------------------------------------------- @@ -1702,7 +1702,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCRRate( HYPRE_Solver solver, HYPRE_Real CR_rate ) { - return ( hypre_BoomerAMGSetCRRate( (void *) solver, CR_rate ) ); + return ( hypre_BoomerAMGSetCRRate( (hypre_ParAMGData *) solver, CR_rate ) ); } /*-------------------------------------------------------------------------- @@ -1713,21 +1713,21 @@ HYPRE_Int HYPRE_BoomerAMGSetCRStrongTh( HYPRE_Solver solver, HYPRE_Real CR_strong_th ) { - return ( hypre_BoomerAMGSetCRStrongTh( (void *) solver, CR_strong_th ) ); + return ( hypre_BoomerAMGSetCRStrongTh( (hypre_ParAMGData *) solver, CR_strong_th ) ); } HYPRE_Int HYPRE_BoomerAMGSetADropTol( HYPRE_Solver solver, HYPRE_Real A_drop_tol ) { - return ( hypre_BoomerAMGSetADropTol( (void *) solver, A_drop_tol ) ); + return ( hypre_BoomerAMGSetADropTol( (hypre_ParAMGData *) solver, A_drop_tol ) ); } HYPRE_Int HYPRE_BoomerAMGSetADropType( HYPRE_Solver solver, HYPRE_Int A_drop_type ) { - return ( hypre_BoomerAMGSetADropType( (void *) solver, A_drop_type ) ); + return ( hypre_BoomerAMGSetADropType( (hypre_ParAMGData *) solver, A_drop_type ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetISType @@ -1737,7 +1737,7 @@ HYPRE_Int HYPRE_BoomerAMGSetISType( HYPRE_Solver solver, HYPRE_Int IS_type ) { - return ( hypre_BoomerAMGSetISType( (void *) solver, IS_type ) ); + return ( hypre_BoomerAMGSetISType( (hypre_ParAMGData *) solver, IS_type ) ); } /*-------------------------------------------------------------------------- @@ -1748,7 +1748,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCRUseCG( HYPRE_Solver solver, HYPRE_Int CR_use_CG ) { - return ( hypre_BoomerAMGSetCRUseCG( (void *) solver, CR_use_CG ) ); + return ( hypre_BoomerAMGSetCRUseCG( (hypre_ParAMGData *) solver, CR_use_CG ) ); } /*-------------------------------------------------------------------------- @@ -1759,7 +1759,7 @@ HYPRE_Int HYPRE_BoomerAMGSetGSMG( HYPRE_Solver solver, HYPRE_Int gsmg ) { - return ( hypre_BoomerAMGSetGSMG( (void *) solver, gsmg ) ); + return ( hypre_BoomerAMGSetGSMG( (hypre_ParAMGData *) solver, gsmg ) ); } /*-------------------------------------------------------------------------- @@ -1770,7 +1770,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNumSamples( HYPRE_Solver solver, HYPRE_Int gsmg ) { - return ( hypre_BoomerAMGSetNumSamples( (void *) solver, gsmg ) ); + return ( hypre_BoomerAMGSetNumSamples( (hypre_ParAMGData *) solver, gsmg ) ); } /* BM Aug 25, 2006 */ @@ -1782,7 +1782,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCGCIts (HYPRE_Solver solver, HYPRE_Int its) { - return (hypre_BoomerAMGSetCGCIts ( (void *) solver, its ) ); + return (hypre_BoomerAMGSetCGCIts ( (hypre_ParAMGData *) solver, its ) ); } /* BM Oct 23, 2006 */ @@ -1794,7 +1794,7 @@ HYPRE_Int HYPRE_BoomerAMGSetPlotGrids (HYPRE_Solver solver, HYPRE_Int plotgrids) { - return (hypre_BoomerAMGSetPlotGrids ( (void *) solver, plotgrids ) ); + return (hypre_BoomerAMGSetPlotGrids ( (hypre_ParAMGData *) solver, plotgrids ) ); } /*-------------------------------------------------------------------------- @@ -1805,7 +1805,7 @@ HYPRE_Int HYPRE_BoomerAMGSetPlotFileName (HYPRE_Solver solver, const char *plotfilename) { - return (hypre_BoomerAMGSetPlotFileName ( (void *) solver, plotfilename ) ); + return (hypre_BoomerAMGSetPlotFileName ( (hypre_ParAMGData *) solver, plotfilename ) ); } /* BM Oct 17, 2006 */ @@ -1818,7 +1818,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCoordDim (HYPRE_Solver solver, HYPRE_Int coorddim) { - return (hypre_BoomerAMGSetCoordDim ( (void *) solver, coorddim ) ); + return (hypre_BoomerAMGSetCoordDim ( (hypre_ParAMGData *) solver, coorddim ) ); } /*-------------------------------------------------------------------------- @@ -1829,7 +1829,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCoordinates (HYPRE_Solver solver, float *coordinates) { - return (hypre_BoomerAMGSetCoordinates ( (void *) solver, coordinates ) ); + return (hypre_BoomerAMGSetCoordinates ( (hypre_ParAMGData *) solver, coordinates ) ); } /*-------------------------------------------------------------------------- @@ -1840,7 +1840,7 @@ HYPRE_Int HYPRE_BoomerAMGGetGridHierarchy(HYPRE_Solver solver, HYPRE_Int *cgrid ) { - return (hypre_BoomerAMGGetGridHierarchy ( (void *) solver, cgrid ) ); + return (hypre_BoomerAMGGetGridHierarchy ( (hypre_ParAMGData *) solver, cgrid ) ); } /*-------------------------------------------------------------------------- @@ -1851,7 +1851,7 @@ HYPRE_Int HYPRE_BoomerAMGSetChebyOrder( HYPRE_Solver solver, HYPRE_Int order ) { - return ( hypre_BoomerAMGSetChebyOrder( (void *) solver, order ) ); + return ( hypre_BoomerAMGSetChebyOrder( (hypre_ParAMGData *) solver, order ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetChebyFraction @@ -1861,7 +1861,7 @@ HYPRE_Int HYPRE_BoomerAMGSetChebyFraction( HYPRE_Solver solver, HYPRE_Real ratio ) { - return ( hypre_BoomerAMGSetChebyFraction( (void *) solver, ratio ) ); + return ( hypre_BoomerAMGSetChebyFraction( (hypre_ParAMGData *) solver, ratio ) ); } /*-------------------------------------------------------------------------- @@ -1872,7 +1872,7 @@ HYPRE_Int HYPRE_BoomerAMGSetChebyScale( HYPRE_Solver solver, HYPRE_Int scale ) { - return ( hypre_BoomerAMGSetChebyScale( (void *) solver, scale ) ); + return ( hypre_BoomerAMGSetChebyScale( (hypre_ParAMGData *) solver, scale ) ); } /*-------------------------------------------------------------------------- @@ -1883,7 +1883,7 @@ HYPRE_Int HYPRE_BoomerAMGSetChebyVariant( HYPRE_Solver solver, HYPRE_Int variant ) { - return ( hypre_BoomerAMGSetChebyVariant( (void *) solver, variant ) ); + return ( hypre_BoomerAMGSetChebyVariant( (hypre_ParAMGData *) solver, variant ) ); } /*-------------------------------------------------------------------------- @@ -1894,7 +1894,7 @@ HYPRE_Int HYPRE_BoomerAMGSetChebyEigEst( HYPRE_Solver solver, HYPRE_Int eig_est ) { - return ( hypre_BoomerAMGSetChebyEigEst( (void *) solver, eig_est ) ); + return ( hypre_BoomerAMGSetChebyEigEst( (hypre_ParAMGData *) solver, eig_est ) ); } /*-------------------------------------------------------------------------- @@ -1904,7 +1904,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpVectors (HYPRE_Solver solver, HYPRE_Int num_vectors, HYPRE_ParVector *vectors) { - return (hypre_BoomerAMGSetInterpVectors ( (void *) solver, + return (hypre_BoomerAMGSetInterpVectors ( (hypre_ParAMGData *) solver, num_vectors, (hypre_ParVector **) vectors ) ); } @@ -1916,7 +1916,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpVecVariant(HYPRE_Solver solver, HYPRE_Int num) { - return (hypre_BoomerAMGSetInterpVecVariant ( (void *) solver, num ) ); + return (hypre_BoomerAMGSetInterpVecVariant ( (hypre_ParAMGData *) solver, num ) ); } /*-------------------------------------------------------------------------- * HYPRE_BoomerAMGSetInterpVecQMax @@ -1926,7 +1926,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpVecQMax( HYPRE_Solver solver, HYPRE_Int q_max ) { - return ( hypre_BoomerAMGSetInterpVecQMax( (void *) solver, + return ( hypre_BoomerAMGSetInterpVecQMax( (hypre_ParAMGData *) solver, q_max ) ); } @@ -1937,7 +1937,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpVecAbsQTrunc( HYPRE_Solver solver, HYPRE_Real q_trunc ) { - return ( hypre_BoomerAMGSetInterpVecAbsQTrunc( (void *) solver, + return ( hypre_BoomerAMGSetInterpVecAbsQTrunc( (hypre_ParAMGData *) solver, q_trunc ) ); } /*-------------------------------------------------------------------------- @@ -1947,7 +1947,7 @@ HYPRE_Int HYPRE_BoomerAMGSetSmoothInterpVectors( HYPRE_Solver solver, HYPRE_Int smooth_interp_vectors ) { - return ( hypre_BoomerAMGSetSmoothInterpVectors( (void *) solver, + return ( hypre_BoomerAMGSetSmoothInterpVectors( (hypre_ParAMGData *) solver, smooth_interp_vectors) ); } /*-------------------------------------------------------------------------- @@ -1957,7 +1957,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpRefine( HYPRE_Solver solver, HYPRE_Int num_refine ) { - return ( hypre_BoomerAMGSetInterpRefine( (void *) solver, + return ( hypre_BoomerAMGSetInterpRefine( (hypre_ParAMGData *) solver, num_refine ) ); } /*-------------------------------------------------------------------------- @@ -1967,7 +1967,7 @@ HYPRE_Int HYPRE_BoomerAMGSetInterpVecFirstLevel( HYPRE_Solver solver, HYPRE_Int level ) { - return ( hypre_BoomerAMGSetInterpVecFirstLevel( (void *) solver, + return ( hypre_BoomerAMGSetInterpVecFirstLevel( (hypre_ParAMGData *) solver, level ) ); } /*-------------------------------------------------------------------------- @@ -1978,14 +1978,14 @@ HYPRE_Int HYPRE_BoomerAMGSetAdditive( HYPRE_Solver solver, HYPRE_Int additive ) { - return ( hypre_BoomerAMGSetAdditive( (void *) solver, additive ) ); + return ( hypre_BoomerAMGSetAdditive( (hypre_ParAMGData *) solver, additive ) ); } HYPRE_Int HYPRE_BoomerAMGGetAdditive( HYPRE_Solver solver, HYPRE_Int * additive ) { - return ( hypre_BoomerAMGGetAdditive( (void *) solver, additive ) ); + return ( hypre_BoomerAMGGetAdditive( (hypre_ParAMGData *) solver, additive ) ); } /*-------------------------------------------------------------------------- @@ -1996,14 +1996,14 @@ HYPRE_Int HYPRE_BoomerAMGSetMultAdditive( HYPRE_Solver solver, HYPRE_Int mult_additive ) { - return ( hypre_BoomerAMGSetMultAdditive( (void *) solver, mult_additive ) ); + return ( hypre_BoomerAMGSetMultAdditive( (hypre_ParAMGData *) solver, mult_additive ) ); } HYPRE_Int HYPRE_BoomerAMGGetMultAdditive( HYPRE_Solver solver, HYPRE_Int *mult_additive ) { - return ( hypre_BoomerAMGGetMultAdditive( (void *) solver, mult_additive ) ); + return ( hypre_BoomerAMGGetMultAdditive( (hypre_ParAMGData *) solver, mult_additive ) ); } /*-------------------------------------------------------------------------- @@ -2014,14 +2014,14 @@ HYPRE_Int HYPRE_BoomerAMGSetSimple( HYPRE_Solver solver, HYPRE_Int simple ) { - return ( hypre_BoomerAMGSetSimple( (void *) solver, simple ) ); + return ( hypre_BoomerAMGSetSimple( (hypre_ParAMGData *) solver, simple ) ); } HYPRE_Int HYPRE_BoomerAMGGetSimple( HYPRE_Solver solver, HYPRE_Int *simple ) { - return ( hypre_BoomerAMGGetSimple( (void *) solver, simple ) ); + return ( hypre_BoomerAMGGetSimple( (hypre_ParAMGData *) solver, simple ) ); } /*-------------------------------------------------------------------------- @@ -2032,7 +2032,7 @@ HYPRE_Int HYPRE_BoomerAMGSetAddLastLvl( HYPRE_Solver solver, HYPRE_Int add_last_lvl ) { - return ( hypre_BoomerAMGSetAddLastLvl( (void *) solver, add_last_lvl ) ); + return ( hypre_BoomerAMGSetAddLastLvl( (hypre_ParAMGData *) solver, add_last_lvl ) ); } /*-------------------------------------------------------------------------- @@ -2043,7 +2043,7 @@ HYPRE_Int HYPRE_BoomerAMGSetNonGalerkinTol (HYPRE_Solver solver, HYPRE_Real nongalerkin_tol) { - return (hypre_BoomerAMGSetNonGalerkinTol ( (void *) solver, nongalerkin_tol ) ); + return (hypre_BoomerAMGSetNonGalerkinTol ( (hypre_ParAMGData *) solver, nongalerkin_tol ) ); } /*-------------------------------------------------------------------------- @@ -2055,7 +2055,7 @@ HYPRE_BoomerAMGSetLevelNonGalerkinTol (HYPRE_Solver solver, HYPRE_Real nongalerkin_tol, HYPRE_Int level) { - return (hypre_BoomerAMGSetLevelNonGalerkinTol ( (void *) solver, nongalerkin_tol, level ) ); + return (hypre_BoomerAMGSetLevelNonGalerkinTol ( (hypre_ParAMGData *) solver, nongalerkin_tol, level ) ); } /*-------------------------------------------------------------------------- @@ -2067,7 +2067,7 @@ HYPRE_BoomerAMGSetNonGalerkTol (HYPRE_Solver solver, HYPRE_Int nongalerk_num_tol, HYPRE_Real *nongalerk_tol) { - return (hypre_BoomerAMGSetNonGalerkTol ( (void *) solver, nongalerk_num_tol, nongalerk_tol ) ); + return (hypre_BoomerAMGSetNonGalerkTol ( (hypre_ParAMGData *) solver, nongalerk_num_tol, nongalerk_tol ) ); } /*-------------------------------------------------------------------------- @@ -2078,7 +2078,7 @@ HYPRE_Int HYPRE_BoomerAMGSetRAP2 (HYPRE_Solver solver, HYPRE_Int rap2) { - return (hypre_BoomerAMGSetRAP2 ( (void *) solver, rap2 ) ); + return (hypre_BoomerAMGSetRAP2 ( (hypre_ParAMGData *) solver, rap2 ) ); } /*-------------------------------------------------------------------------- @@ -2089,7 +2089,7 @@ HYPRE_Int HYPRE_BoomerAMGSetModuleRAP2 (HYPRE_Solver solver, HYPRE_Int mod_rap2) { - return (hypre_BoomerAMGSetModuleRAP2 ( (void *) solver, mod_rap2 ) ); + return (hypre_BoomerAMGSetModuleRAP2 ( (hypre_ParAMGData *) solver, mod_rap2 ) ); } /*-------------------------------------------------------------------------- @@ -2100,7 +2100,7 @@ HYPRE_Int HYPRE_BoomerAMGSetKeepTranspose (HYPRE_Solver solver, HYPRE_Int keepTranspose) { - return (hypre_BoomerAMGSetKeepTranspose ( (void *) solver, keepTranspose ) ); + return (hypre_BoomerAMGSetKeepTranspose ( (hypre_ParAMGData *) solver, keepTranspose ) ); } #ifdef HYPRE_USING_DSUPERLU @@ -2112,7 +2112,7 @@ HYPRE_Int HYPRE_BoomerAMGSetDSLUThreshold (HYPRE_Solver solver, HYPRE_Int slu_threshold) { - return (hypre_BoomerAMGSetDSLUThreshold ( (void *) solver, slu_threshold ) ); + return (hypre_BoomerAMGSetDSLUThreshold ( (hypre_ParAMGData *) solver, slu_threshold ) ); } #endif @@ -2126,7 +2126,7 @@ HYPRE_BoomerAMGSetCpointsToKeep(HYPRE_Solver solver, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index) { - return (hypre_BoomerAMGSetCPoints( (void *) solver, cpt_coarse_level, num_cpt_coarse, + return (hypre_BoomerAMGSetCPoints( (hypre_ParAMGData *) solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index)); } @@ -2140,7 +2140,7 @@ HYPRE_BoomerAMGSetCPoints(HYPRE_Solver solver, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index) { - return (hypre_BoomerAMGSetCPoints( (void *) solver, cpt_coarse_level, num_cpt_coarse, + return (hypre_BoomerAMGSetCPoints( (hypre_ParAMGData *) solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index)); } @@ -2153,7 +2153,7 @@ HYPRE_BoomerAMGSetFPoints(HYPRE_Solver solver, HYPRE_Int num_fpt, HYPRE_BigInt *fpt_index) { - return (hypre_BoomerAMGSetFPoints( (void *) solver, + return (hypre_BoomerAMGSetFPoints( (hypre_ParAMGData *) solver, 0, num_fpt, fpt_index) ); } @@ -2167,7 +2167,7 @@ HYPRE_BoomerAMGSetIsolatedFPoints(HYPRE_Solver solver, HYPRE_Int num_isolated_fpt, HYPRE_BigInt *isolated_fpt_index) { - return (hypre_BoomerAMGSetFPoints( (void *) solver, + return (hypre_BoomerAMGSetFPoints( (hypre_ParAMGData *) solver, 1, num_isolated_fpt, isolated_fpt_index) ); } @@ -2180,7 +2180,7 @@ HYPRE_Int HYPRE_BoomerAMGSetCumNnzAP( HYPRE_Solver solver, HYPRE_Real cum_nnz_AP ) { - return ( hypre_BoomerAMGSetCumNnzAP( (void *) solver, cum_nnz_AP ) ); + return ( hypre_BoomerAMGSetCumNnzAP( (hypre_ParAMGData *) solver, cum_nnz_AP ) ); } /*-------------------------------------------------------------------------- @@ -2191,5 +2191,5 @@ HYPRE_Int HYPRE_BoomerAMGGetCumNnzAP( HYPRE_Solver solver, HYPRE_Real *cum_nnz_AP ) { - return ( hypre_BoomerAMGGetCumNnzAP( (void *) solver, cum_nnz_AP ) ); + return ( hypre_BoomerAMGGetCumNnzAP( (hypre_ParAMGData *) solver, cum_nnz_AP ) ); } diff --git a/src/parcsr_ls/_hypre_parcsr_ls.h b/src/parcsr_ls/_hypre_parcsr_ls.h index 74190f0db7..0ffc1a367c 100644 --- a/src/parcsr_ls/_hypre_parcsr_ls.h +++ b/src/parcsr_ls/_hypre_parcsr_ls.h @@ -2426,255 +2426,256 @@ HYPRE_Int HYPRE_SchwarzSetRelaxWeight ( HYPRE_Solver solver, HYPRE_Real relax_we HYPRE_Int HYPRE_SchwarzSetDofFunc ( HYPRE_Solver solver, HYPRE_Int *dof_func ); /* par_add_cycle.c */ -HYPRE_Int hypre_BoomerAMGAdditiveCycle ( void *amg_vdata ); -HYPRE_Int hypre_CreateLambda ( void *amg_vdata ); -HYPRE_Int hypre_CreateDinv ( void *amg_vdata ); +HYPRE_Int hypre_BoomerAMGAdditiveCycle ( hypre_ParAMGData *amg_data ); +HYPRE_Int hypre_CreateLambda ( hypre_ParAMGData *amg_data ); +HYPRE_Int hypre_CreateDinv ( hypre_ParAMGData *amg_data ); /* par_amg.c */ -void *hypre_BoomerAMGCreate ( void ); -HYPRE_Int hypre_BoomerAMGDestroy ( void *data ); -HYPRE_Int hypre_BoomerAMGSetRestriction ( void *data, HYPRE_Int restr_par ); -HYPRE_Int hypre_BoomerAMGSetIsTriangular ( void *data, HYPRE_Int is_triangular ); -HYPRE_Int hypre_BoomerAMGSetGMRESSwitchR ( void *data, HYPRE_Int gmres_switch ); -HYPRE_Int hypre_BoomerAMGSetMaxLevels ( void *data, HYPRE_Int max_levels ); -HYPRE_Int hypre_BoomerAMGGetMaxLevels ( void *data, HYPRE_Int *max_levels ); -HYPRE_Int hypre_BoomerAMGSetMaxCoarseSize ( void *data, HYPRE_Int max_coarse_size ); -HYPRE_Int hypre_BoomerAMGGetMaxCoarseSize ( void *data, HYPRE_Int *max_coarse_size ); -HYPRE_Int hypre_BoomerAMGSetMinCoarseSize ( void *data, HYPRE_Int min_coarse_size ); -HYPRE_Int hypre_BoomerAMGGetMinCoarseSize ( void *data, HYPRE_Int *min_coarse_size ); -HYPRE_Int hypre_BoomerAMGSetSeqThreshold ( void *data, HYPRE_Int seq_threshold ); -HYPRE_Int hypre_BoomerAMGGetSeqThreshold ( void *data, HYPRE_Int *seq_threshold ); -HYPRE_Int hypre_BoomerAMGSetCoarsenCutFactor( void *data, HYPRE_Int coarsen_cut_factor ); -HYPRE_Int hypre_BoomerAMGGetCoarsenCutFactor( void *data, HYPRE_Int *coarsen_cut_factor ); -HYPRE_Int hypre_BoomerAMGSetRedundant ( void *data, HYPRE_Int redundant ); -HYPRE_Int hypre_BoomerAMGGetRedundant ( void *data, HYPRE_Int *redundant ); -HYPRE_Int hypre_BoomerAMGSetStrongThreshold ( void *data, HYPRE_Real strong_threshold ); -HYPRE_Int hypre_BoomerAMGGetStrongThreshold ( void *data, HYPRE_Real *strong_threshold ); -HYPRE_Int hypre_BoomerAMGSetStrongThresholdR ( void *data, HYPRE_Real strong_threshold ); -HYPRE_Int hypre_BoomerAMGGetStrongThresholdR ( void *data, HYPRE_Real *strong_threshold ); -HYPRE_Int hypre_BoomerAMGSetFilterThresholdR ( void *data, HYPRE_Real filter_threshold ); -HYPRE_Int hypre_BoomerAMGGetFilterThresholdR ( void *data, HYPRE_Real *filter_threshold ); -HYPRE_Int hypre_BoomerAMGSetSabs ( void *data, HYPRE_Int Sabs ); -HYPRE_Int hypre_BoomerAMGSetMaxRowSum ( void *data, HYPRE_Real max_row_sum ); -HYPRE_Int hypre_BoomerAMGGetMaxRowSum ( void *data, HYPRE_Real *max_row_sum ); -HYPRE_Int hypre_BoomerAMGSetTruncFactor ( void *data, HYPRE_Real trunc_factor ); -HYPRE_Int hypre_BoomerAMGGetTruncFactor ( void *data, HYPRE_Real *trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetPMaxElmts ( void *data, HYPRE_Int P_max_elmts ); -HYPRE_Int hypre_BoomerAMGGetPMaxElmts ( void *data, HYPRE_Int *P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetJacobiTruncThreshold ( void *data, HYPRE_Real jacobi_trunc_threshold ); -HYPRE_Int hypre_BoomerAMGGetJacobiTruncThreshold ( void *data, HYPRE_Real *jacobi_trunc_threshold ); -HYPRE_Int hypre_BoomerAMGSetPostInterpType ( void *data, HYPRE_Int post_interp_type ); -HYPRE_Int hypre_BoomerAMGGetPostInterpType ( void *data, HYPRE_Int *post_interp_type ); -HYPRE_Int hypre_BoomerAMGSetInterpType ( void *data, HYPRE_Int interp_type ); -HYPRE_Int hypre_BoomerAMGGetInterpType ( void *data, HYPRE_Int *interp_type ); -HYPRE_Int hypre_BoomerAMGSetSepWeight ( void *data, HYPRE_Int sep_weight ); -HYPRE_Int hypre_BoomerAMGSetMinIter ( void *data, HYPRE_Int min_iter ); -HYPRE_Int hypre_BoomerAMGGetMinIter ( void *data, HYPRE_Int *min_iter ); -HYPRE_Int hypre_BoomerAMGSetMaxIter ( void *data, HYPRE_Int max_iter ); -HYPRE_Int hypre_BoomerAMGGetMaxIter ( void *data, HYPRE_Int *max_iter ); -HYPRE_Int hypre_BoomerAMGSetCoarsenType ( void *data, HYPRE_Int coarsen_type ); -HYPRE_Int hypre_BoomerAMGGetCoarsenType ( void *data, HYPRE_Int *coarsen_type ); -HYPRE_Int hypre_BoomerAMGSetMeasureType ( void *data, HYPRE_Int measure_type ); -HYPRE_Int hypre_BoomerAMGGetMeasureType ( void *data, HYPRE_Int *measure_type ); -HYPRE_Int hypre_BoomerAMGSetSetupType ( void *data, HYPRE_Int setup_type ); -HYPRE_Int hypre_BoomerAMGGetSetupType ( void *data, HYPRE_Int *setup_type ); -HYPRE_Int hypre_BoomerAMGSetFCycle ( void *data, HYPRE_Int fcycle ); -HYPRE_Int hypre_BoomerAMGGetFCycle ( void *data, HYPRE_Int *fcycle ); -HYPRE_Int hypre_BoomerAMGSetCycleType ( void *data, HYPRE_Int cycle_type ); -HYPRE_Int hypre_BoomerAMGGetCycleType ( void *data, HYPRE_Int *cycle_type ); -HYPRE_Int hypre_BoomerAMGSetConvergeType ( void *data, HYPRE_Int type ); -HYPRE_Int hypre_BoomerAMGGetConvergeType ( void *data, HYPRE_Int *type ); -HYPRE_Int hypre_BoomerAMGSetTol ( void *data, HYPRE_Real tol ); -HYPRE_Int hypre_BoomerAMGGetTol ( void *data, HYPRE_Real *tol ); -HYPRE_Int hypre_BoomerAMGSetNumSweeps ( void *data, HYPRE_Int num_sweeps ); -HYPRE_Int hypre_BoomerAMGSetCycleNumSweeps ( void *data, HYPRE_Int num_sweeps, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGGetCycleNumSweeps ( void *data, HYPRE_Int *num_sweeps, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGSetNumGridSweeps ( void *data, HYPRE_Int *num_grid_sweeps ); -HYPRE_Int hypre_BoomerAMGGetNumGridSweeps ( void *data, HYPRE_Int **num_grid_sweeps ); -HYPRE_Int hypre_BoomerAMGSetRelaxType ( void *data, HYPRE_Int relax_type ); -HYPRE_Int hypre_BoomerAMGSetCycleRelaxType ( void *data, HYPRE_Int relax_type, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGGetCycleRelaxType ( void *data, HYPRE_Int *relax_type, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGSetRelaxOrder ( void *data, HYPRE_Int relax_order ); -HYPRE_Int hypre_BoomerAMGGetRelaxOrder ( void *data, HYPRE_Int *relax_order ); -HYPRE_Int hypre_BoomerAMGSetGridRelaxType ( void *data, HYPRE_Int *grid_relax_type ); -HYPRE_Int hypre_BoomerAMGGetGridRelaxType ( void *data, HYPRE_Int **grid_relax_type ); -HYPRE_Int hypre_BoomerAMGSetGridRelaxPoints ( void *data, HYPRE_Int **grid_relax_points ); -HYPRE_Int hypre_BoomerAMGGetGridRelaxPoints ( void *data, HYPRE_Int ***grid_relax_points ); -HYPRE_Int hypre_BoomerAMGSetRelaxWeight ( void *data, HYPRE_Real *relax_weight ); -HYPRE_Int hypre_BoomerAMGGetRelaxWeight ( void *data, HYPRE_Real **relax_weight ); -HYPRE_Int hypre_BoomerAMGSetRelaxWt ( void *data, HYPRE_Real relax_weight ); -HYPRE_Int hypre_BoomerAMGSetLevelRelaxWt ( void *data, HYPRE_Real relax_weight, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGGetLevelRelaxWt ( void *data, HYPRE_Real *relax_weight, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetOmega ( void *data, HYPRE_Real *omega ); -HYPRE_Int hypre_BoomerAMGGetOmega ( void *data, HYPRE_Real **omega ); -HYPRE_Int hypre_BoomerAMGSetOuterWt ( void *data, HYPRE_Real omega ); -HYPRE_Int hypre_BoomerAMGSetLevelOuterWt ( void *data, HYPRE_Real omega, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGGetLevelOuterWt ( void *data, HYPRE_Real *omega, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetSmoothType ( void *data, HYPRE_Int smooth_type ); -HYPRE_Int hypre_BoomerAMGGetSmoothType ( void *data, HYPRE_Int *smooth_type ); -HYPRE_Int hypre_BoomerAMGSetSmoothNumLevels ( void *data, HYPRE_Int smooth_num_levels ); -HYPRE_Int hypre_BoomerAMGGetSmoothNumLevels ( void *data, HYPRE_Int *smooth_num_levels ); -HYPRE_Int hypre_BoomerAMGSetSmoothNumSweeps ( void *data, HYPRE_Int smooth_num_sweeps ); -HYPRE_Int hypre_BoomerAMGGetSmoothNumSweeps ( void *data, HYPRE_Int *smooth_num_sweeps ); -HYPRE_Int hypre_BoomerAMGSetLogging ( void *data, HYPRE_Int logging ); -HYPRE_Int hypre_BoomerAMGGetLogging ( void *data, HYPRE_Int *logging ); -HYPRE_Int hypre_BoomerAMGSetPrintLevel ( void *data, HYPRE_Int print_level ); -HYPRE_Int hypre_BoomerAMGGetPrintLevel ( void *data, HYPRE_Int *print_level ); -HYPRE_Int hypre_BoomerAMGSetPrintFileName ( void *data, const char *print_file_name ); -HYPRE_Int hypre_BoomerAMGGetPrintFileName ( void *data, char **print_file_name ); -HYPRE_Int hypre_BoomerAMGSetNumIterations ( void *data, HYPRE_Int num_iterations ); -HYPRE_Int hypre_BoomerAMGSetDebugFlag ( void *data, HYPRE_Int debug_flag ); -HYPRE_Int hypre_BoomerAMGGetDebugFlag ( void *data, HYPRE_Int *debug_flag ); -HYPRE_Int hypre_BoomerAMGSetGSMG ( void *data, HYPRE_Int par ); -HYPRE_Int hypre_BoomerAMGSetNumSamples ( void *data, HYPRE_Int par ); -HYPRE_Int hypre_BoomerAMGSetCGCIts ( void *data, HYPRE_Int its ); -HYPRE_Int hypre_BoomerAMGSetPlotGrids ( void *data, HYPRE_Int plotgrids ); -HYPRE_Int hypre_BoomerAMGSetPlotFileName ( void *data, const char *plot_file_name ); -HYPRE_Int hypre_BoomerAMGSetCoordDim ( void *data, HYPRE_Int coorddim ); -HYPRE_Int hypre_BoomerAMGSetCoordinates ( void *data, float *coordinates ); -HYPRE_Int hypre_BoomerAMGGetGridHierarchy(void *data, HYPRE_Int *cgrid ); -HYPRE_Int hypre_BoomerAMGSetNumFunctions ( void *data, HYPRE_Int num_functions ); -HYPRE_Int hypre_BoomerAMGGetNumFunctions ( void *data, HYPRE_Int *num_functions ); -HYPRE_Int hypre_BoomerAMGSetNodal ( void *data, HYPRE_Int nodal ); -HYPRE_Int hypre_BoomerAMGSetNodalLevels ( void *data, HYPRE_Int nodal_levels ); -HYPRE_Int hypre_BoomerAMGSetNodalDiag ( void *data, HYPRE_Int nodal ); -HYPRE_Int hypre_BoomerAMGSetKeepSameSign ( void *data, HYPRE_Int keep_same_sign ); -HYPRE_Int hypre_BoomerAMGSetNumPaths ( void *data, HYPRE_Int num_paths ); -HYPRE_Int hypre_BoomerAMGSetAggNumLevels ( void *data, HYPRE_Int agg_num_levels ); -HYPRE_Int hypre_BoomerAMGSetAggInterpType ( void *data, HYPRE_Int agg_interp_type ); -HYPRE_Int hypre_BoomerAMGSetAggPMaxElmts ( void *data, HYPRE_Int agg_P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetMultAddPMaxElmts ( void *data, HYPRE_Int add_P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetAddRelaxType ( void *data, HYPRE_Int add_rlx_type ); -HYPRE_Int hypre_BoomerAMGSetAddRelaxWt ( void *data, HYPRE_Real add_rlx_wt ); -HYPRE_Int hypre_BoomerAMGSetAggP12MaxElmts ( void *data, HYPRE_Int agg_P12_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetAggTruncFactor ( void *data, HYPRE_Real agg_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetMultAddTruncFactor ( void *data, HYPRE_Real add_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetAggP12TruncFactor ( void *data, HYPRE_Real agg_P12_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetNumCRRelaxSteps ( void *data, HYPRE_Int num_CR_relax_steps ); -HYPRE_Int hypre_BoomerAMGSetCRRate ( void *data, HYPRE_Real CR_rate ); -HYPRE_Int hypre_BoomerAMGSetCRStrongTh ( void *data, HYPRE_Real CR_strong_th ); -HYPRE_Int hypre_BoomerAMGSetADropTol( void *data, HYPRE_Real A_drop_tol ); -HYPRE_Int hypre_BoomerAMGSetADropType( void *data, HYPRE_Int A_drop_type ); -HYPRE_Int hypre_BoomerAMGSetISType ( void *data, HYPRE_Int IS_type ); -HYPRE_Int hypre_BoomerAMGSetCRUseCG ( void *data, HYPRE_Int CR_use_CG ); -HYPRE_Int hypre_BoomerAMGSetNumPoints ( void *data, HYPRE_Int num_points ); -HYPRE_Int hypre_BoomerAMGSetDofFunc ( void *data, HYPRE_Int *dof_func ); -HYPRE_Int hypre_BoomerAMGSetPointDofMap ( void *data, HYPRE_Int *point_dof_map ); -HYPRE_Int hypre_BoomerAMGSetDofPoint ( void *data, HYPRE_Int *dof_point ); -HYPRE_Int hypre_BoomerAMGGetNumIterations ( void *data, HYPRE_Int *num_iterations ); -HYPRE_Int hypre_BoomerAMGGetCumNumIterations ( void *data, HYPRE_Int *cum_num_iterations ); -HYPRE_Int hypre_BoomerAMGGetResidual ( void *data, hypre_ParVector **resid ); -HYPRE_Int hypre_BoomerAMGGetRelResidualNorm ( void *data, HYPRE_Real *rel_resid_norm ); -HYPRE_Int hypre_BoomerAMGSetVariant ( void *data, HYPRE_Int variant ); -HYPRE_Int hypre_BoomerAMGGetVariant ( void *data, HYPRE_Int *variant ); -HYPRE_Int hypre_BoomerAMGSetOverlap ( void *data, HYPRE_Int overlap ); -HYPRE_Int hypre_BoomerAMGGetOverlap ( void *data, HYPRE_Int *overlap ); -HYPRE_Int hypre_BoomerAMGSetDomainType ( void *data, HYPRE_Int domain_type ); -HYPRE_Int hypre_BoomerAMGGetDomainType ( void *data, HYPRE_Int *domain_type ); -HYPRE_Int hypre_BoomerAMGSetSchwarzRlxWeight ( void *data, HYPRE_Real schwarz_rlx_weight ); -HYPRE_Int hypre_BoomerAMGGetSchwarzRlxWeight ( void *data, HYPRE_Real *schwarz_rlx_weight ); -HYPRE_Int hypre_BoomerAMGSetSchwarzUseNonSymm ( void *data, HYPRE_Int use_nonsymm ); -HYPRE_Int hypre_BoomerAMGSetSym ( void *data, HYPRE_Int sym ); -HYPRE_Int hypre_BoomerAMGSetLevel ( void *data, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetThreshold ( void *data, HYPRE_Real thresh ); -HYPRE_Int hypre_BoomerAMGSetFilter ( void *data, HYPRE_Real filter ); -HYPRE_Int hypre_BoomerAMGSetDropTol ( void *data, HYPRE_Real drop_tol ); -HYPRE_Int hypre_BoomerAMGSetMaxNzPerRow ( void *data, HYPRE_Int max_nz_per_row ); -HYPRE_Int hypre_BoomerAMGSetEuclidFile ( void *data, char *euclidfile ); -HYPRE_Int hypre_BoomerAMGSetEuLevel ( void *data, HYPRE_Int eu_level ); -HYPRE_Int hypre_BoomerAMGSetEuSparseA ( void *data, HYPRE_Real eu_sparse_A ); -HYPRE_Int hypre_BoomerAMGSetEuBJ ( void *data, HYPRE_Int eu_bj ); -HYPRE_Int hypre_BoomerAMGSetILUType( void *data, HYPRE_Int ilu_type ); -HYPRE_Int hypre_BoomerAMGSetILULevel( void *data, HYPRE_Int ilu_lfil ); -HYPRE_Int hypre_BoomerAMGSetILUDroptol( void *data, HYPRE_Real ilu_droptol ); -HYPRE_Int hypre_BoomerAMGSetILUTriSolve( void *data, HYPRE_Int ilu_tri_solve ); -HYPRE_Int hypre_BoomerAMGSetILULowerJacobiIters( void *data, HYPRE_Int ilu_lower_jacobi_iters ); -HYPRE_Int hypre_BoomerAMGSetILUUpperJacobiIters( void *data, HYPRE_Int ilu_upper_jacobi_iters ); -HYPRE_Int hypre_BoomerAMGSetILUMaxIter( void *data, HYPRE_Int ilu_max_iter ); -HYPRE_Int hypre_BoomerAMGSetILUMaxRowNnz( void *data, HYPRE_Int ilu_max_row_nnz ); -HYPRE_Int hypre_BoomerAMGSetILULocalReordering( void *data, HYPRE_Int ilu_reordering_type ); -HYPRE_Int hypre_BoomerAMGSetFSAIAlgoType ( void *data, HYPRE_Int fsai_algo_type ); -HYPRE_Int hypre_BoomerAMGSetFSAILocalSolveType ( void *data, HYPRE_Int local_solve_type ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxSteps ( void *data, HYPRE_Int fsai_max_steps ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxStepSize ( void *data, HYPRE_Int fsai_max_step_size ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxNnzRow ( void *data, HYPRE_Int fsai_max_nnz_row ); -HYPRE_Int hypre_BoomerAMGSetFSAINumLevels ( void *data, HYPRE_Int fsai_num_levels ); -HYPRE_Int hypre_BoomerAMGSetFSAIEigMaxIters ( void *data, HYPRE_Int fsai_eig_max_iters ); -HYPRE_Int hypre_BoomerAMGSetFSAIThreshold ( void *data, HYPRE_Real fsai_threshold ); -HYPRE_Int hypre_BoomerAMGSetFSAIKapTolerance ( void *data, HYPRE_Real fsai_kap_tolerance ); -HYPRE_Int hypre_BoomerAMGSetChebyOrder ( void *data, HYPRE_Int order ); -HYPRE_Int hypre_BoomerAMGSetChebyFraction ( void *data, HYPRE_Real ratio ); -HYPRE_Int hypre_BoomerAMGSetChebyEigEst ( void *data, HYPRE_Int eig_est ); -HYPRE_Int hypre_BoomerAMGSetChebyVariant ( void *data, HYPRE_Int variant ); -HYPRE_Int hypre_BoomerAMGSetChebyScale ( void *data, HYPRE_Int scale ); -HYPRE_Int hypre_BoomerAMGSetInterpVectors ( void *solver, HYPRE_Int num_vectors, +hypre_ParAMGData* hypre_BoomerAMGCreate ( void ); +HYPRE_Int hypre_BoomerAMGDestroy ( hypre_ParAMGData *data ); +HYPRE_Int hypre_BoomerAMGSetRestriction ( hypre_ParAMGData *data, HYPRE_Int restr_par ); +HYPRE_Int hypre_BoomerAMGSetIsTriangular ( hypre_ParAMGData *data, HYPRE_Int is_triangular ); +HYPRE_Int hypre_BoomerAMGSetGMRESSwitchR ( hypre_ParAMGData *data, HYPRE_Int gmres_switch ); +HYPRE_Int hypre_BoomerAMGSetMaxLevels ( hypre_ParAMGData *data, HYPRE_Int max_levels ); +HYPRE_Int hypre_BoomerAMGGetMaxLevels ( hypre_ParAMGData *data, HYPRE_Int *max_levels ); +HYPRE_Int hypre_BoomerAMGSetMaxCoarseSize ( hypre_ParAMGData *data, HYPRE_Int max_coarse_size ); +HYPRE_Int hypre_BoomerAMGGetMaxCoarseSize ( hypre_ParAMGData *data, HYPRE_Int *max_coarse_size ); +HYPRE_Int hypre_BoomerAMGSetMinCoarseSize ( hypre_ParAMGData *data, HYPRE_Int min_coarse_size ); +HYPRE_Int hypre_BoomerAMGGetMinCoarseSize ( hypre_ParAMGData *data, HYPRE_Int *min_coarse_size ); +HYPRE_Int hypre_BoomerAMGSetSeqThreshold ( hypre_ParAMGData *data, HYPRE_Int seq_threshold ); +HYPRE_Int hypre_BoomerAMGGetSeqThreshold ( hypre_ParAMGData *data, HYPRE_Int *seq_threshold ); +HYPRE_Int hypre_BoomerAMGSetCoarsenCutFactor( hypre_ParAMGData *data, HYPRE_Int coarsen_cut_factor ); +HYPRE_Int hypre_BoomerAMGGetCoarsenCutFactor( hypre_ParAMGData *data, HYPRE_Int *coarsen_cut_factor ); +HYPRE_Int hypre_BoomerAMGSetRedundant ( hypre_ParAMGData *data, HYPRE_Int redundant ); +HYPRE_Int hypre_BoomerAMGGetRedundant ( hypre_ParAMGData *data, HYPRE_Int *redundant ); +HYPRE_Int hypre_BoomerAMGSetStrongThreshold ( hypre_ParAMGData *data, HYPRE_Real strong_threshold ); +HYPRE_Int hypre_BoomerAMGGetStrongThreshold ( hypre_ParAMGData *data, HYPRE_Real *strong_threshold ); +HYPRE_Int hypre_BoomerAMGSetStrongThresholdR ( hypre_ParAMGData *data, HYPRE_Real strong_threshold ); +HYPRE_Int hypre_BoomerAMGGetStrongThresholdR ( hypre_ParAMGData *data, HYPRE_Real *strong_threshold ); +HYPRE_Int hypre_BoomerAMGSetFilterThresholdR ( hypre_ParAMGData *data, HYPRE_Real filter_threshold ); +HYPRE_Int hypre_BoomerAMGGetFilterThresholdR ( hypre_ParAMGData *data, HYPRE_Real *filter_threshold ); +HYPRE_Int hypre_BoomerAMGSetSabs ( hypre_ParAMGData *data, HYPRE_Int Sabs ); +HYPRE_Int hypre_BoomerAMGSetMaxRowSum ( hypre_ParAMGData *data, HYPRE_Real max_row_sum ); +HYPRE_Int hypre_BoomerAMGGetMaxRowSum ( hypre_ParAMGData *data, HYPRE_Real *max_row_sum ); +HYPRE_Int hypre_BoomerAMGSetTruncFactor ( hypre_ParAMGData *data, HYPRE_Real trunc_factor ); +HYPRE_Int hypre_BoomerAMGGetTruncFactor ( hypre_ParAMGData *data, HYPRE_Real *trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int P_max_elmts ); +HYPRE_Int hypre_BoomerAMGGetPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int *P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetJacobiTruncThreshold ( hypre_ParAMGData *data, HYPRE_Real jacobi_trunc_threshold ); +HYPRE_Int hypre_BoomerAMGGetJacobiTruncThreshold ( hypre_ParAMGData *data, HYPRE_Real *jacobi_trunc_threshold ); +HYPRE_Int hypre_BoomerAMGSetPostInterpType ( hypre_ParAMGData *data, HYPRE_Int post_interp_type ); +HYPRE_Int hypre_BoomerAMGGetPostInterpType ( hypre_ParAMGData *data, HYPRE_Int *post_interp_type ); +HYPRE_Int hypre_BoomerAMGSetInterpType ( hypre_ParAMGData *data, HYPRE_Int interp_type ); +HYPRE_Int hypre_BoomerAMGGetInterpType ( hypre_ParAMGData *data, HYPRE_Int *interp_type ); +HYPRE_Int hypre_BoomerAMGSetSepWeight ( hypre_ParAMGData *data, HYPRE_Int sep_weight ); +HYPRE_Int hypre_BoomerAMGSetMinIter ( hypre_ParAMGData *data, HYPRE_Int min_iter ); +HYPRE_Int hypre_BoomerAMGGetMinIter ( hypre_ParAMGData *data, HYPRE_Int *min_iter ); +HYPRE_Int hypre_BoomerAMGSetMaxIter ( hypre_ParAMGData *data, HYPRE_Int max_iter ); +HYPRE_Int hypre_BoomerAMGGetMaxIter ( hypre_ParAMGData *data, HYPRE_Int *max_iter ); +HYPRE_Int hypre_BoomerAMGSetCoarsenType ( hypre_ParAMGData *data, HYPRE_Int coarsen_type ); +HYPRE_Int hypre_BoomerAMGGetCoarsenType ( hypre_ParAMGData *data, HYPRE_Int *coarsen_type ); +HYPRE_Int hypre_BoomerAMGSetMeasureType ( hypre_ParAMGData *data, HYPRE_Int measure_type ); +HYPRE_Int hypre_BoomerAMGGetMeasureType ( hypre_ParAMGData *data, HYPRE_Int *measure_type ); +HYPRE_Int hypre_BoomerAMGSetSetupType ( hypre_ParAMGData *data, HYPRE_Int setup_type ); +HYPRE_Int hypre_BoomerAMGGetSetupType ( hypre_ParAMGData *data, HYPRE_Int *setup_type ); +HYPRE_Int hypre_BoomerAMGSetFCycle ( hypre_ParAMGData *data, HYPRE_Int fcycle ); +HYPRE_Int hypre_BoomerAMGGetFCycle ( hypre_ParAMGData *data, HYPRE_Int *fcycle ); +HYPRE_Int hypre_BoomerAMGSetCycleType ( hypre_ParAMGData *data, HYPRE_Int cycle_type ); +HYPRE_Int hypre_BoomerAMGGetCycleType ( hypre_ParAMGData *data, HYPRE_Int *cycle_type ); +HYPRE_Int hypre_BoomerAMGSetConvergeType ( hypre_ParAMGData *data, HYPRE_Int type ); +HYPRE_Int hypre_BoomerAMGGetConvergeType ( hypre_ParAMGData *data, HYPRE_Int *type ); +HYPRE_Int hypre_BoomerAMGSetTol ( hypre_ParAMGData *data, HYPRE_Real tol ); +HYPRE_Int hypre_BoomerAMGGetTol ( hypre_ParAMGData *data, HYPRE_Real *tol ); +HYPRE_Int hypre_BoomerAMGSetNumSweeps ( hypre_ParAMGData *data, HYPRE_Int num_sweeps ); +HYPRE_Int hypre_BoomerAMGSetCycleNumSweeps ( hypre_ParAMGData *data, HYPRE_Int num_sweeps, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGGetCycleNumSweeps ( hypre_ParAMGData *data, HYPRE_Int *num_sweeps, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGSetNumGridSweeps ( hypre_ParAMGData *data, HYPRE_Int *num_grid_sweeps ); +HYPRE_Int hypre_BoomerAMGGetNumGridSweeps ( hypre_ParAMGData *data, HYPRE_Int **num_grid_sweeps ); +HYPRE_Int hypre_BoomerAMGSetRelaxType ( hypre_ParAMGData *data, HYPRE_Int relax_type ); +HYPRE_Int hypre_BoomerAMGSetCycleRelaxType ( hypre_ParAMGData *data, HYPRE_Int relax_type, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGGetCycleRelaxType ( hypre_ParAMGData *data, HYPRE_Int *relax_type, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGSetRelaxOrder ( hypre_ParAMGData *data, HYPRE_Int relax_order ); +HYPRE_Int hypre_BoomerAMGGetRelaxOrder ( hypre_ParAMGData *data, HYPRE_Int *relax_order ); +HYPRE_Int hypre_BoomerAMGSetGridRelaxType ( hypre_ParAMGData *data, HYPRE_Int *grid_relax_type ); +HYPRE_Int hypre_BoomerAMGGetGridRelaxType ( hypre_ParAMGData *data, HYPRE_Int **grid_relax_type ); +HYPRE_Int hypre_BoomerAMGSetGridRelaxPoints ( hypre_ParAMGData *data, HYPRE_Int **grid_relax_points ); +HYPRE_Int hypre_BoomerAMGGetGridRelaxPoints ( hypre_ParAMGData *data, HYPRE_Int ***grid_relax_points ); +HYPRE_Int hypre_BoomerAMGSetRelaxWeight ( hypre_ParAMGData *data, HYPRE_Real *relax_weight ); +HYPRE_Int hypre_BoomerAMGGetRelaxWeight ( hypre_ParAMGData *data, HYPRE_Real **relax_weight ); +HYPRE_Int hypre_BoomerAMGSetRelaxWt ( hypre_ParAMGData *data, HYPRE_Real relax_weight ); +HYPRE_Int hypre_BoomerAMGSetLevelRelaxWt ( hypre_ParAMGData *data, HYPRE_Real relax_weight, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGGetLevelRelaxWt ( hypre_ParAMGData *data, HYPRE_Real *relax_weight, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetOmega ( hypre_ParAMGData *data, HYPRE_Real *omega ); +HYPRE_Int hypre_BoomerAMGGetOmega ( hypre_ParAMGData *data, HYPRE_Real **omega ); +HYPRE_Int hypre_BoomerAMGSetOuterWt ( hypre_ParAMGData *data, HYPRE_Real omega ); +HYPRE_Int hypre_BoomerAMGSetLevelOuterWt ( hypre_ParAMGData *data, HYPRE_Real omega, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGGetLevelOuterWt ( hypre_ParAMGData *data, HYPRE_Real *omega, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetSmoothType ( hypre_ParAMGData *data, HYPRE_Int smooth_type ); +HYPRE_Int hypre_BoomerAMGGetSmoothType ( hypre_ParAMGData *data, HYPRE_Int *smooth_type ); +HYPRE_Int hypre_BoomerAMGSetSmoothNumLevels ( hypre_ParAMGData *data, HYPRE_Int smooth_num_levels ); +HYPRE_Int hypre_BoomerAMGGetSmoothNumLevels ( hypre_ParAMGData *data, HYPRE_Int *smooth_num_levels ); +HYPRE_Int hypre_BoomerAMGSetSmoothNumSweeps ( hypre_ParAMGData *data, HYPRE_Int smooth_num_sweeps ); +HYPRE_Int hypre_BoomerAMGGetSmoothNumSweeps ( hypre_ParAMGData *data, HYPRE_Int *smooth_num_sweeps ); +HYPRE_Int hypre_BoomerAMGSetLogging ( hypre_ParAMGData *data, HYPRE_Int logging ); +HYPRE_Int hypre_BoomerAMGGetLogging ( hypre_ParAMGData *data, HYPRE_Int *logging ); +HYPRE_Int hypre_BoomerAMGSetPrintLevel ( hypre_ParAMGData *data, HYPRE_Int print_level ); +HYPRE_Int hypre_BoomerAMGGetPrintLevel ( hypre_ParAMGData *data, HYPRE_Int *print_level ); +HYPRE_Int hypre_BoomerAMGSetPrintFileName ( hypre_ParAMGData *data, const char *print_file_name ); +HYPRE_Int hypre_BoomerAMGGetPrintFileName ( hypre_ParAMGData *data, char **print_file_name ); +HYPRE_Int hypre_BoomerAMGSetNumIterations ( hypre_ParAMGData *data, HYPRE_Int num_iterations ); +HYPRE_Int hypre_BoomerAMGSetDebugFlag ( hypre_ParAMGData *data, HYPRE_Int debug_flag ); +HYPRE_Int hypre_BoomerAMGGetDebugFlag ( hypre_ParAMGData *data, HYPRE_Int *debug_flag ); +HYPRE_Int hypre_BoomerAMGSetGSMG ( hypre_ParAMGData *data, HYPRE_Int par ); +HYPRE_Int hypre_BoomerAMGSetNumSamples ( hypre_ParAMGData *data, HYPRE_Int par ); +HYPRE_Int hypre_BoomerAMGSetCGCIts ( hypre_ParAMGData *data, HYPRE_Int its ); +HYPRE_Int hypre_BoomerAMGSetPlotGrids ( hypre_ParAMGData *data, HYPRE_Int plotgrids ); +HYPRE_Int hypre_BoomerAMGSetPlotFileName ( hypre_ParAMGData *data, const char *plot_file_name ); +HYPRE_Int hypre_BoomerAMGSetCoordDim ( hypre_ParAMGData *data, HYPRE_Int coorddim ); +HYPRE_Int hypre_BoomerAMGSetCoordinates ( hypre_ParAMGData *data, float *coordinates ); +HYPRE_Int hypre_BoomerAMGGetGridHierarchy(hypre_ParAMGData *data, HYPRE_Int *cgrid ); +HYPRE_Int hypre_BoomerAMGSetNumFunctions ( hypre_ParAMGData *data, HYPRE_Int num_functions ); +HYPRE_Int hypre_BoomerAMGGetNumFunctions ( hypre_ParAMGData *data, HYPRE_Int *num_functions ); +HYPRE_Int hypre_BoomerAMGSetNodal ( hypre_ParAMGData *data, HYPRE_Int nodal ); +HYPRE_Int hypre_BoomerAMGSetNodalLevels ( hypre_ParAMGData *data, HYPRE_Int nodal_levels ); +HYPRE_Int hypre_BoomerAMGSetNodalDiag ( hypre_ParAMGData *data, HYPRE_Int nodal ); +HYPRE_Int hypre_BoomerAMGSetKeepSameSign ( hypre_ParAMGData *data, HYPRE_Int keep_same_sign ); +HYPRE_Int hypre_BoomerAMGSetNumPaths ( hypre_ParAMGData *data, HYPRE_Int num_paths ); +HYPRE_Int hypre_BoomerAMGSetAggNumLevels ( hypre_ParAMGData *data, HYPRE_Int agg_num_levels ); +HYPRE_Int hypre_BoomerAMGSetAggInterpType ( hypre_ParAMGData *data, HYPRE_Int agg_interp_type ); +HYPRE_Int hypre_BoomerAMGSetAggPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int agg_P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetMultAddPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int add_P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetAddRelaxType ( hypre_ParAMGData *data, HYPRE_Int add_rlx_type ); +HYPRE_Int hypre_BoomerAMGSetAddRelaxWt ( hypre_ParAMGData *data, HYPRE_Real add_rlx_wt ); +HYPRE_Int hypre_BoomerAMGSetAggP12MaxElmts ( hypre_ParAMGData *data, HYPRE_Int agg_P12_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetAggTruncFactor ( hypre_ParAMGData *data, HYPRE_Real agg_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetMultAddTruncFactor ( hypre_ParAMGData *data, HYPRE_Real add_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetAggP12TruncFactor ( hypre_ParAMGData *data, HYPRE_Real agg_P12_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetNumCRRelaxSteps ( hypre_ParAMGData *data, HYPRE_Int num_CR_relax_steps ); +HYPRE_Int hypre_BoomerAMGSetCRRate ( hypre_ParAMGData *data, HYPRE_Real CR_rate ); +HYPRE_Int hypre_BoomerAMGSetCRStrongTh ( hypre_ParAMGData *data, HYPRE_Real CR_strong_th ); +HYPRE_Int hypre_BoomerAMGSetADropTol( hypre_ParAMGData *data, HYPRE_Real A_drop_tol ); +HYPRE_Int hypre_BoomerAMGSetADropType( hypre_ParAMGData *data, HYPRE_Int A_drop_type ); +HYPRE_Int hypre_BoomerAMGSetISType ( hypre_ParAMGData *data, HYPRE_Int IS_type ); +HYPRE_Int hypre_BoomerAMGSetCRUseCG ( hypre_ParAMGData *data, HYPRE_Int CR_use_CG ); +HYPRE_Int hypre_BoomerAMGSetNumPoints ( hypre_ParAMGData *data, HYPRE_Int num_points ); +HYPRE_Int hypre_BoomerAMGSetDofFunc ( hypre_ParAMGData *data, HYPRE_Int *dof_func ); +HYPRE_Int hypre_BoomerAMGSetPointDofMap ( hypre_ParAMGData *data, HYPRE_Int *point_dof_map ); +HYPRE_Int hypre_BoomerAMGSetDofPoint ( hypre_ParAMGData *data, HYPRE_Int *dof_point ); +HYPRE_Int hypre_BoomerAMGGetNumIterations ( hypre_ParAMGData *data, HYPRE_Int *num_iterations ); +HYPRE_Int hypre_BoomerAMGGetCumNumIterations ( hypre_ParAMGData *data, HYPRE_Int *cum_num_iterations ); +HYPRE_Int hypre_BoomerAMGGetResidual ( hypre_ParAMGData *data, hypre_ParVector **resid ); +HYPRE_Int hypre_BoomerAMGGetRelResidualNorm ( hypre_ParAMGData *data, HYPRE_Real *rel_resid_norm ); +HYPRE_Int hypre_BoomerAMGSetVariant ( hypre_ParAMGData *data, HYPRE_Int variant ); +HYPRE_Int hypre_BoomerAMGGetVariant ( hypre_ParAMGData *data, HYPRE_Int *variant ); +HYPRE_Int hypre_BoomerAMGSetOverlap ( hypre_ParAMGData *data, HYPRE_Int overlap ); +HYPRE_Int hypre_BoomerAMGGetOverlap ( hypre_ParAMGData *data, HYPRE_Int *overlap ); +HYPRE_Int hypre_BoomerAMGSetDomainType ( hypre_ParAMGData *data, HYPRE_Int domain_type ); +HYPRE_Int hypre_BoomerAMGGetDomainType ( hypre_ParAMGData *data, HYPRE_Int *domain_type ); +HYPRE_Int hypre_BoomerAMGSetSchwarzRlxWeight ( hypre_ParAMGData *data, HYPRE_Real schwarz_rlx_weight ); +HYPRE_Int hypre_BoomerAMGGetSchwarzRlxWeight ( hypre_ParAMGData *data, HYPRE_Real *schwarz_rlx_weight ); +HYPRE_Int hypre_BoomerAMGSetSchwarzUseNonSymm ( hypre_ParAMGData *data, HYPRE_Int use_nonsymm ); +HYPRE_Int hypre_BoomerAMGSetSym ( hypre_ParAMGData *data, HYPRE_Int sym ); +HYPRE_Int hypre_BoomerAMGSetLevel ( hypre_ParAMGData *data, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetThreshold ( hypre_ParAMGData *data, HYPRE_Real thresh ); +HYPRE_Int hypre_BoomerAMGSetFilter ( hypre_ParAMGData *data, HYPRE_Real filter ); +HYPRE_Int hypre_BoomerAMGSetDropTol ( hypre_ParAMGData *data, HYPRE_Real drop_tol ); +HYPRE_Int hypre_BoomerAMGSetMaxNzPerRow ( hypre_ParAMGData *data, HYPRE_Int max_nz_per_row ); +HYPRE_Int hypre_BoomerAMGSetEuclidFile ( hypre_ParAMGData *data, char *euclidfile ); +HYPRE_Int hypre_BoomerAMGSetEuLevel ( hypre_ParAMGData *data, HYPRE_Int eu_level ); +HYPRE_Int hypre_BoomerAMGSetEuSparseA ( hypre_ParAMGData *data, HYPRE_Real eu_sparse_A ); +HYPRE_Int hypre_BoomerAMGSetEuBJ ( hypre_ParAMGData *data, HYPRE_Int eu_bj ); +HYPRE_Int hypre_BoomerAMGSetILUType( hypre_ParAMGData *data, HYPRE_Int ilu_type ); +HYPRE_Int hypre_BoomerAMGSetILULevel( hypre_ParAMGData *data, HYPRE_Int ilu_lfil ); +HYPRE_Int hypre_BoomerAMGSetILUDroptol( hypre_ParAMGData *data, HYPRE_Real ilu_droptol ); +HYPRE_Int hypre_BoomerAMGSetILUTriSolve( hypre_ParAMGData *data, HYPRE_Int ilu_tri_solve ); +HYPRE_Int hypre_BoomerAMGSetILULowerJacobiIters( hypre_ParAMGData *data, HYPRE_Int ilu_lower_jacobi_iters ); +HYPRE_Int hypre_BoomerAMGSetILUUpperJacobiIters( hypre_ParAMGData *data, HYPRE_Int ilu_upper_jacobi_iters ); +HYPRE_Int hypre_BoomerAMGSetILUMaxIter( hypre_ParAMGData *data, HYPRE_Int ilu_max_iter ); +HYPRE_Int hypre_BoomerAMGSetILUMaxRowNnz( hypre_ParAMGData *data, HYPRE_Int ilu_max_row_nnz ); +HYPRE_Int hypre_BoomerAMGSetILULocalReordering( hypre_ParAMGData *data, HYPRE_Int ilu_reordering_type ); +HYPRE_Int hypre_BoomerAMGSetFSAIAlgoType ( hypre_ParAMGData *data, HYPRE_Int fsai_algo_type ); +HYPRE_Int hypre_BoomerAMGSetFSAILocalSolveType ( hypre_ParAMGData *data, HYPRE_Int local_solve_type ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxSteps ( hypre_ParAMGData *data, HYPRE_Int fsai_max_steps ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxStepSize ( hypre_ParAMGData *data, HYPRE_Int fsai_max_step_size ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxNnzRow ( hypre_ParAMGData *data, HYPRE_Int fsai_max_nnz_row ); +HYPRE_Int hypre_BoomerAMGSetFSAINumLevels ( hypre_ParAMGData *data, HYPRE_Int fsai_num_levels ); +HYPRE_Int hypre_BoomerAMGSetFSAIEigMaxIters ( hypre_ParAMGData *data, HYPRE_Int fsai_eig_max_iters ); +HYPRE_Int hypre_BoomerAMGSetFSAIThreshold ( hypre_ParAMGData *data, HYPRE_Real fsai_threshold ); +HYPRE_Int hypre_BoomerAMGSetFSAIKapTolerance ( hypre_ParAMGData *data, HYPRE_Real fsai_kap_tolerance ); +HYPRE_Int hypre_BoomerAMGSetChebyOrder ( hypre_ParAMGData *data, HYPRE_Int order ); +HYPRE_Int hypre_BoomerAMGSetChebyFraction ( hypre_ParAMGData *data, HYPRE_Real ratio ); +HYPRE_Int hypre_BoomerAMGSetChebyEigEst ( hypre_ParAMGData *data, HYPRE_Int eig_est ); +HYPRE_Int hypre_BoomerAMGSetChebyVariant ( hypre_ParAMGData *data, HYPRE_Int variant ); +HYPRE_Int hypre_BoomerAMGSetChebyScale ( hypre_ParAMGData *data, HYPRE_Int scale ); +HYPRE_Int hypre_BoomerAMGSetInterpVectors ( hypre_ParAMGData *solver, HYPRE_Int num_vectors, hypre_ParVector **interp_vectors ); -HYPRE_Int hypre_BoomerAMGSetInterpVecVariant ( void *solver, HYPRE_Int var ); -HYPRE_Int hypre_BoomerAMGSetInterpVecQMax ( void *data, HYPRE_Int q_max ); -HYPRE_Int hypre_BoomerAMGSetInterpVecAbsQTrunc ( void *data, HYPRE_Real q_trunc ); -HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors ( void *solver, HYPRE_Int smooth_interp_vectors ); -HYPRE_Int hypre_BoomerAMGSetInterpRefine ( void *data, HYPRE_Int num_refine ); -HYPRE_Int hypre_BoomerAMGSetInterpVecFirstLevel ( void *data, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetAdditive ( void *data, HYPRE_Int additive ); -HYPRE_Int hypre_BoomerAMGGetAdditive ( void *data, HYPRE_Int *additive ); -HYPRE_Int hypre_BoomerAMGSetMultAdditive ( void *data, HYPRE_Int mult_additive ); -HYPRE_Int hypre_BoomerAMGGetMultAdditive ( void *data, HYPRE_Int *mult_additive ); -HYPRE_Int hypre_BoomerAMGSetSimple ( void *data, HYPRE_Int simple ); -HYPRE_Int hypre_BoomerAMGGetSimple ( void *data, HYPRE_Int *simple ); -HYPRE_Int hypre_BoomerAMGSetAddLastLvl ( void *data, HYPRE_Int add_last_lvl ); -HYPRE_Int hypre_BoomerAMGSetNonGalerkinTol ( void *data, HYPRE_Real nongalerkin_tol ); -HYPRE_Int hypre_BoomerAMGSetLevelNonGalerkinTol ( void *data, HYPRE_Real nongalerkin_tol, +HYPRE_Int hypre_BoomerAMGSetInterpVecVariant ( hypre_ParAMGData *solver, HYPRE_Int var ); +HYPRE_Int hypre_BoomerAMGSetInterpVecQMax ( hypre_ParAMGData *data, HYPRE_Int q_max ); +HYPRE_Int hypre_BoomerAMGSetInterpVecAbsQTrunc ( hypre_ParAMGData *data, HYPRE_Real q_trunc ); +HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors ( hypre_ParAMGData *solver, + HYPRE_Int smooth_interp_vectors ); +HYPRE_Int hypre_BoomerAMGSetInterpRefine ( hypre_ParAMGData *data, HYPRE_Int num_refine ); +HYPRE_Int hypre_BoomerAMGSetInterpVecFirstLevel ( hypre_ParAMGData *data, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetAdditive ( hypre_ParAMGData *data, HYPRE_Int additive ); +HYPRE_Int hypre_BoomerAMGGetAdditive ( hypre_ParAMGData *data, HYPRE_Int *additive ); +HYPRE_Int hypre_BoomerAMGSetMultAdditive ( hypre_ParAMGData *data, HYPRE_Int mult_additive ); +HYPRE_Int hypre_BoomerAMGGetMultAdditive ( hypre_ParAMGData *data, HYPRE_Int *mult_additive ); +HYPRE_Int hypre_BoomerAMGSetSimple ( hypre_ParAMGData *data, HYPRE_Int simple ); +HYPRE_Int hypre_BoomerAMGGetSimple ( hypre_ParAMGData *data, HYPRE_Int *simple ); +HYPRE_Int hypre_BoomerAMGSetAddLastLvl ( hypre_ParAMGData *data, HYPRE_Int add_last_lvl ); +HYPRE_Int hypre_BoomerAMGSetNonGalerkinTol ( hypre_ParAMGData *data, HYPRE_Real nongalerkin_tol ); +HYPRE_Int hypre_BoomerAMGSetLevelNonGalerkinTol ( hypre_ParAMGData *data, HYPRE_Real nongalerkin_tol, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetNonGalerkTol ( void *data, HYPRE_Int nongalerk_num_tol, +HYPRE_Int hypre_BoomerAMGSetNonGalerkTol ( hypre_ParAMGData *data, HYPRE_Int nongalerk_num_tol, HYPRE_Real *nongalerk_tol ); -HYPRE_Int hypre_BoomerAMGSetRAP2 ( void *data, HYPRE_Int rap2 ); -HYPRE_Int hypre_BoomerAMGSetModuleRAP2 ( void *data, HYPRE_Int mod_rap2 ); -HYPRE_Int hypre_BoomerAMGSetKeepTranspose ( void *data, HYPRE_Int keepTranspose ); +HYPRE_Int hypre_BoomerAMGSetRAP2 ( hypre_ParAMGData *data, HYPRE_Int rap2 ); +HYPRE_Int hypre_BoomerAMGSetModuleRAP2 ( hypre_ParAMGData *data, HYPRE_Int mod_rap2 ); +HYPRE_Int hypre_BoomerAMGSetKeepTranspose ( hypre_ParAMGData *data, HYPRE_Int keepTranspose ); #ifdef HYPRE_USING_DSUPERLU -HYPRE_Int hypre_BoomerAMGSetDSLUThreshold ( void *data, HYPRE_Int slu_threshold ); +HYPRE_Int hypre_BoomerAMGSetDSLUThreshold ( hypre_ParAMGData *data, HYPRE_Int slu_threshold ); #endif -HYPRE_Int hypre_BoomerAMGSetCPoints( void *data, HYPRE_Int cpt_coarse_level, +HYPRE_Int hypre_BoomerAMGSetCPoints( hypre_ParAMGData *data, HYPRE_Int cpt_coarse_level, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index ); -HYPRE_Int hypre_BoomerAMGSetFPoints( void *data, HYPRE_Int isolated, HYPRE_Int num_points, +HYPRE_Int hypre_BoomerAMGSetFPoints( hypre_ParAMGData *data, HYPRE_Int isolated, HYPRE_Int num_points, HYPRE_BigInt *indices ); -HYPRE_Int hypre_BoomerAMGSetCumNnzAP ( void *data, HYPRE_Real cum_nnz_AP ); -HYPRE_Int hypre_BoomerAMGGetCumNnzAP ( void *data, HYPRE_Real *cum_nnz_AP ); +HYPRE_Int hypre_BoomerAMGSetCumNnzAP ( hypre_ParAMGData *data, HYPRE_Real cum_nnz_AP ); +HYPRE_Int hypre_BoomerAMGGetCumNnzAP ( hypre_ParAMGData *data, HYPRE_Real *cum_nnz_AP ); /* par_amg_setup.c */ -HYPRE_Int hypre_BoomerAMGSetup ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGSetup ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); /* par_amg_solve.c */ -HYPRE_Int hypre_BoomerAMGSolve ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGSolve ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); /* par_amg_solveT.c */ -HYPRE_Int hypre_BoomerAMGSolveT ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); -HYPRE_Int hypre_BoomerAMGCycleT ( void *amg_vdata, hypre_ParVector **F_array, +HYPRE_Int hypre_BoomerAMGSolveT ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGCycleT ( hypre_ParAMGData *amg_data, hypre_ParVector **F_array, hypre_ParVector **U_array ); HYPRE_Int hypre_BoomerAMGRelaxT ( hypre_ParCSRMatrix *A, hypre_ParVector *f, HYPRE_Int *cf_marker, - HYPRE_Int relax_type, HYPRE_Int relax_points, HYPRE_Real relax_weight, hypre_ParVector *u, - hypre_ParVector *Vtemp ); + HYPRE_Int relax_type, HYPRE_Int relax_points, HYPRE_Real relax_weight, + hypre_ParVector *u, hypre_ParVector *Vtemp ); /* par_cgc_coarsen.c */ HYPRE_Int hypre_BoomerAMGCoarsenCGCb ( hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, - HYPRE_Int measure_type, HYPRE_Int coarsen_type, HYPRE_Int cgc_its, HYPRE_Int debug_flag, - hypre_IntArray **CF_marker_ptr ); + HYPRE_Int measure_type, HYPRE_Int coarsen_type, HYPRE_Int cgc_its, + HYPRE_Int debug_flag, hypre_IntArray **CF_marker_ptr ); HYPRE_Int hypre_BoomerAMGCoarsenCGC ( hypre_ParCSRMatrix *S, HYPRE_Int numberofgrids, HYPRE_Int coarsen_type, HYPRE_Int *CF_marker ); HYPRE_Int hypre_AmgCGCPrepare ( hypre_ParCSRMatrix *S, HYPRE_Int nlocal, HYPRE_Int *CF_marker, HYPRE_Int **CF_marker_offd, HYPRE_Int coarsen_type, HYPRE_Int **vrange ); -//HYPRE_Int hypre_AmgCGCPrepare ( hypre_ParCSRMatrix *S , HYPRE_Int nlocal , HYPRE_Int *CF_marker , HYPRE_BigInt **CF_marker_offd , HYPRE_Int coarsen_type , HYPRE_BigInt **vrange ); HYPRE_Int hypre_AmgCGCGraphAssemble ( hypre_ParCSRMatrix *S, HYPRE_Int *vertexrange, - HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd, HYPRE_Int coarsen_type, HYPRE_IJMatrix *ijG ); + HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd, + HYPRE_Int coarsen_type, HYPRE_IJMatrix *ijG ); HYPRE_Int hypre_AmgCGCChoose ( hypre_CSRMatrix *G, HYPRE_Int *vertexrange, HYPRE_Int mpisize, HYPRE_Int **coarse ); HYPRE_Int hypre_AmgCGCBoundaryFix ( hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd ); /* par_cg_relax_wt.c */ -HYPRE_Int hypre_BoomerAMGCGRelaxWt ( void *amg_vdata, HYPRE_Int level, HYPRE_Int num_cg_sweeps, +HYPRE_Int hypre_BoomerAMGCGRelaxWt ( hypre_ParAMGData *amg_vdata, HYPRE_Int level, HYPRE_Int num_cg_sweeps, HYPRE_Real *rlx_wt_ptr ); HYPRE_Int hypre_Bisection ( HYPRE_Int n, HYPRE_Real *diag, HYPRE_Real *offd, HYPRE_Real y, HYPRE_Real z, HYPRE_Real tol, HYPRE_Int k, HYPRE_Real *ev_ptr ); @@ -2778,7 +2779,7 @@ HYPRE_Int hypre_BoomerAMGCoarsenCR ( hypre_ParCSRMatrix *A, hypre_IntArray **CF_ hypre_ParCSRMatrix *S ); /* par_cycle.c */ -HYPRE_Int hypre_BoomerAMGCycle ( void *amg_vdata, hypre_ParVector **F_array, +HYPRE_Int hypre_BoomerAMGCycle ( hypre_ParAMGData *amg_vdata, hypre_ParVector **F_array, hypre_ParVector **U_array ); /* par_difconv.c */ @@ -2788,24 +2789,31 @@ HYPRE_ParCSRMatrix GenerateDifConv ( MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigIn /* par_gsmg.c */ HYPRE_Int hypre_ParCSRMatrixFillSmooth ( HYPRE_Int nsamples, HYPRE_Real *samples, - hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, HYPRE_Int num_functions, HYPRE_Int *dof_func ); + hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, + HYPRE_Int num_functions, HYPRE_Int *dof_func ); HYPRE_Real hypre_ParCSRMatrixChooseThresh ( hypre_ParCSRMatrix *S ); HYPRE_Int hypre_ParCSRMatrixThreshold ( hypre_ParCSRMatrix *A, HYPRE_Real thresh ); -HYPRE_Int hypre_BoomerAMGCreateSmoothVecs ( void *data, hypre_ParCSRMatrix *A, HYPRE_Int num_sweeps, - HYPRE_Int level, HYPRE_Real **SmoothVecs_p ); -HYPRE_Int hypre_BoomerAMGCreateSmoothDirs ( void *data, hypre_ParCSRMatrix *A, - HYPRE_Real *SmoothVecs, HYPRE_Real thresh, HYPRE_Int num_functions, HYPRE_Int *dof_func, +HYPRE_Int hypre_BoomerAMGCreateSmoothVecs ( hypre_ParAMGData *data, hypre_ParCSRMatrix *A, + HYPRE_Int num_sweeps, HYPRE_Int level, + HYPRE_Real **SmoothVecs_p ); +HYPRE_Int hypre_BoomerAMGCreateSmoothDirs ( hypre_ParAMGData *data, hypre_ParCSRMatrix *A, + HYPRE_Real *SmoothVecs, HYPRE_Real thresh, + HYPRE_Int num_functions, HYPRE_Int *dof_func, hypre_ParCSRMatrix **S_ptr ); HYPRE_Int hypre_BoomerAMGNormalizeVecs ( HYPRE_Int n, HYPRE_Int num, HYPRE_Real *V ); HYPRE_Int hypre_BoomerAMGFitVectors ( HYPRE_Int ip, HYPRE_Int n, HYPRE_Int num, const HYPRE_Real *V, HYPRE_Int nc, const HYPRE_Int *ind, HYPRE_Real *val ); HYPRE_Int hypre_BoomerAMGBuildInterpLS ( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker, - hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, HYPRE_Int num_functions, HYPRE_Int *dof_func, - HYPRE_Int debug_flag, HYPRE_Real trunc_factor, HYPRE_Int num_smooth, HYPRE_Real *SmoothVecs, + hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, + HYPRE_Int num_functions, HYPRE_Int *dof_func, + HYPRE_Int debug_flag, HYPRE_Real trunc_factor, + HYPRE_Int num_smooth, HYPRE_Real *SmoothVecs, hypre_ParCSRMatrix **P_ptr ); HYPRE_Int hypre_BoomerAMGBuildInterpGSMG ( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker, - hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, HYPRE_Int num_functions, HYPRE_Int *dof_func, - HYPRE_Int debug_flag, HYPRE_Real trunc_factor, hypre_ParCSRMatrix **P_ptr ); + hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, + HYPRE_Int num_functions, HYPRE_Int *dof_func, + HYPRE_Int debug_flag, HYPRE_Real trunc_factor, + hypre_ParCSRMatrix **P_ptr ); /* par_indepset.c */ HYPRE_Int hypre_BoomerAMGIndepSetInit ( hypre_ParCSRMatrix *S, HYPRE_Real *measure_array, @@ -2861,21 +2869,25 @@ HYPRE_Int hypre_BoomerAMGBuildInterpOnePnt( hypre_ParCSRMatrix *A, HYPRE_Int *C HYPRE_Int debug_flag, hypre_ParCSRMatrix **P_ptr); /* par_jacobi_interp.c */ -void hypre_BoomerAMGJacobiInterp ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, - hypre_ParCSRMatrix *S, HYPRE_Int num_functions, HYPRE_Int *dof_func, HYPRE_Int *CF_marker, - HYPRE_Int level, HYPRE_Real truncation_threshold, HYPRE_Real truncation_threshold_minus ); -void hypre_BoomerAMGJacobiInterp_1 ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, - hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, HYPRE_Int level, HYPRE_Real truncation_threshold, - HYPRE_Real truncation_threshold_minus, HYPRE_Int *dof_func, HYPRE_Int *dof_func_offd, - HYPRE_Real weight_AF ); -void hypre_BoomerAMGTruncateInterp ( hypre_ParCSRMatrix *P, HYPRE_Real eps, HYPRE_Real dlt, - HYPRE_Int *CF_marker ); +HYPRE_Int hypre_BoomerAMGJacobiInterp ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, HYPRE_Int num_functions, + HYPRE_Int *dof_func, HYPRE_Int *CF_marker, + HYPRE_Int level, HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus ); +HYPRE_Int hypre_BoomerAMGJacobiInterp_1 ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, + HYPRE_Int level, HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus, HYPRE_Int *dof_func, + HYPRE_Int *dof_func_offd, HYPRE_Real weight_AF ); +HYPRE_Int hypre_BoomerAMGTruncateInterp ( hypre_ParCSRMatrix *P, HYPRE_Real eps, + HYPRE_Real dlt, HYPRE_Int *CF_marker ); HYPRE_Int hypre_ParCSRMatrix_dof_func_offd ( hypre_ParCSRMatrix *A, HYPRE_Int num_functions, HYPRE_Int *dof_func, HYPRE_Int **dof_func_offd ); /* par_laplace_27pt.c */ HYPRE_ParCSRMatrix GenerateLaplacian27pt ( MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, - HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, + HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, + HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real *value ); HYPRE_Int hypre_map3 ( HYPRE_BigInt ix, HYPRE_BigInt iy, HYPRE_BigInt iz, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_BigInt *nx_part, HYPRE_BigInt *ny_part, diff --git a/src/parcsr_ls/ams.c b/src/parcsr_ls/ams.c index 12594b6559..28b54fdb16 100644 --- a/src/parcsr_ls/ams.c +++ b/src/parcsr_ls/ams.c @@ -276,7 +276,7 @@ HYPRE_Int hypre_BoomerAMGBlockSolve(void *B, if (dim == 1) { - hypre_BoomerAMGSolve(B, A, b, x); + hypre_BoomerAMGSolve((hypre_ParAMGData*) B, A, b, x); return hypre_error_flag; } @@ -291,7 +291,7 @@ HYPRE_Int hypre_BoomerAMGBlockSolve(void *B, for (d = 0; d < dim; d++) { - hypre_BoomerAMGSolve(B, A, b_[d], x_[d]); + hypre_BoomerAMGSolve((hypre_ParAMGData*) B, A, b_[d], x_[d]); } hypre_ParVectorBlockGather(x, x_, dim); @@ -4210,7 +4210,7 @@ HYPRE_Int hypre_AMSProjectOutGradients(void *solver, { hypre_ParCSRMatrixMatvecT(1.0, ams_data -> G0, x, 0.0, ams_data -> r1); hypre_ParVectorSetConstantValues(ams_data -> g1, 0.0); - hypre_BoomerAMGSolve(ams_data -> B_G0, ams_data -> A_G0, ams_data -> r1, ams_data -> g1); + HYPRE_BoomerAMGSolve(ams_data -> B_G0, ams_data -> A_G0, ams_data -> r1, ams_data -> g1); hypre_ParCSRMatrixMatvec(1.0, ams_data -> G0, ams_data -> g1, 0.0, ams_data -> g0); hypre_ParVectorAxpy(-1.0, ams_data -> g0, x); } diff --git a/src/parcsr_ls/block_tridiag.c b/src/parcsr_ls/block_tridiag.c index b8d7660edb..2a5fe41f0e 100644 --- a/src/parcsr_ls/block_tridiag.c +++ b/src/parcsr_ls/block_tridiag.c @@ -204,7 +204,7 @@ hypre_BlockTridiagSetup(void *data, HYPRE_BoomerAMGSetNumFunctions(precon1, 1); HYPRE_BoomerAMGSetNumSweeps(precon1, nsweeps); HYPRE_BoomerAMGSetRelaxType(precon1, relax_type); - hypre_BoomerAMGSetup(precon1, submatrices[0], b_data->U1, b_data->F1); + HYPRE_BoomerAMGSetup(precon1, submatrices[0], b_data->U1, b_data->F1); HYPRE_BoomerAMGCreate(&precon2); HYPRE_BoomerAMGSetMaxIter(precon2, 1); @@ -218,7 +218,7 @@ hypre_BlockTridiagSetup(void *data, HYPRE_BoomerAMGSetNumFunctions(precon2, 1); HYPRE_BoomerAMGSetNumSweeps(precon2, nsweeps); HYPRE_BoomerAMGSetRelaxType(precon2, relax_type); - hypre_BoomerAMGSetup(precon2, submatrices[3], NULL, NULL); + HYPRE_BoomerAMGSetup(precon2, submatrices[3], NULL, NULL); b_data->precon1 = precon1; b_data->precon2 = precon2; diff --git a/src/parcsr_ls/gen_redcs_mat.c b/src/parcsr_ls/gen_redcs_mat.c index a81890282c..ceb332859d 100644 --- a/src/parcsr_ls/gen_redcs_mat.c +++ b/src/parcsr_ls/gen_redcs_mat.c @@ -22,18 +22,17 @@ hypre_seqAMGSetup( hypre_ParAMGData *amg_data, HYPRE_UNUSED_VAR(coarse_threshold); /* Par Data Structure variables */ - hypre_ParCSRMatrix **Par_A_array = hypre_ParAMGDataAArray(amg_data); + hypre_ParCSRMatrix **Par_A_array = hypre_ParAMGDataAArray(amg_data); + MPI_Comm comm = hypre_ParCSRMatrixComm(Par_A_array[0]); + MPI_Comm new_comm, seq_comm; - MPI_Comm comm = hypre_ParCSRMatrixComm(Par_A_array[0]); - MPI_Comm new_comm, seq_comm; + hypre_ParCSRMatrix *A_seq = NULL; + hypre_CSRMatrix *A_seq_diag; + hypre_CSRMatrix *A_seq_offd; + hypre_ParVector *F_seq = NULL; + hypre_ParVector *U_seq = NULL; - hypre_ParCSRMatrix *A_seq = NULL; - hypre_CSRMatrix *A_seq_diag; - hypre_CSRMatrix *A_seq_offd; - hypre_ParVector *F_seq = NULL; - hypre_ParVector *U_seq = NULL; - - hypre_ParCSRMatrix *A; + hypre_ParCSRMatrix *A; hypre_IntArray **dof_func_array; HYPRE_Int num_procs, my_id; @@ -42,7 +41,7 @@ hypre_seqAMGSetup( hypre_ParAMGData *amg_data, HYPRE_Int redundant; HYPRE_Int num_functions; - HYPRE_Solver coarse_solver; + HYPRE_Solver coarse_solver; /* misc */ dof_func_array = hypre_ParAMGDataDofFuncArray(amg_data); @@ -318,7 +317,7 @@ hypre_seqAMGSetup( hypre_ParAMGData *amg_data, hypre_ParVectorInitialize(F_seq); hypre_ParVectorInitialize(U_seq); - hypre_BoomerAMGSetup(coarse_solver, A_seq, F_seq, U_seq); + hypre_BoomerAMGSetup((hypre_ParAMGData *) coarse_solver, A_seq, F_seq, U_seq); hypre_ParAMGDataCoarseSolver(amg_data) = coarse_solver; hypre_ParAMGDataACoarse(amg_data) = A_seq; @@ -455,7 +454,7 @@ hypre_seqAMGCycle( hypre_ParAMGData *amg_data, /* clean up */ if (redundant || my_id == 0) { - hypre_BoomerAMGSolve(coarse_solver, A_coarse, F_coarse, U_coarse); + hypre_BoomerAMGSolve((hypre_ParAMGData *) coarse_solver, A_coarse, F_coarse, U_coarse); } /*copy my part of U to parallel vector */ diff --git a/src/parcsr_ls/par_add_cycle.c b/src/parcsr_ls/par_add_cycle.c index 265adbbd35..5b4a027470 100644 --- a/src/parcsr_ls/par_add_cycle.c +++ b/src/parcsr_ls/par_add_cycle.c @@ -19,12 +19,9 @@ *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGAdditiveCycle( void *amg_vdata) +hypre_BoomerAMGAdditiveCycle( hypre_ParAMGData *amg_data) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - /* Data Structure variables */ - hypre_ParCSRMatrix **A_array; hypre_ParCSRMatrix **P_array; hypre_ParCSRMatrix **R_array; @@ -315,6 +312,7 @@ hypre_BoomerAMGAdditiveCycle( void *amg_vdata) } } else + { for (j = 0; j < num_grid_sweeps[2]; j++) { hypre_ParCSRRelax(A_array[fine_grid], F_array[fine_grid], @@ -323,6 +321,7 @@ hypre_BoomerAMGAdditiveCycle( void *amg_vdata) 1.0, 1.0, 0.0, 0.0, 0, 0.0, U_array[fine_grid], Vtemp, Ztemp); } + } } else /* additive version */ { @@ -341,13 +340,11 @@ hypre_BoomerAMGAdditiveCycle( void *amg_vdata) return (Solve_err_flag); } - -HYPRE_Int hypre_CreateLambda(void *amg_vdata) +HYPRE_Int +hypre_CreateLambda(hypre_ParAMGData *amg_data) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - /* Data Structure variables */ - MPI_Comm comm; + MPI_Comm comm; hypre_ParCSRMatrix **A_array; hypre_ParVector **F_array; hypre_ParVector **U_array; @@ -1017,10 +1014,9 @@ HYPRE_Int hypre_CreateLambda(void *amg_vdata) return Solve_err_flag; } -HYPRE_Int hypre_CreateDinv(void *amg_vdata) +HYPRE_Int +hypre_CreateDinv(hypre_ParAMGData *amg_data) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - /* Data Structure variables */ hypre_ParCSRMatrix **A_array; hypre_ParVector **F_array; @@ -1056,7 +1052,6 @@ HYPRE_Int hypre_CreateDinv(void *amg_vdata) HYPRE_Int l1_start; /* Acquire data and allocate storage */ - A_array = hypre_ParAMGDataAArray(amg_data); F_array = hypre_ParAMGDataFArray(amg_data); U_array = hypre_ParAMGDataUArray(amg_data); diff --git a/src/parcsr_ls/par_amg.c b/src/parcsr_ls/par_amg.c index d4c22438e1..d50d646655 100644 --- a/src/parcsr_ls/par_amg.c +++ b/src/parcsr_ls/par_amg.c @@ -17,7 +17,7 @@ * hypre_BoomerAMGCreate *--------------------------------------------------------------------------*/ -void * +hypre_ParAMGData* hypre_BoomerAMGCreate( void ) { hypre_ParAMGData *amg_data; @@ -550,7 +550,7 @@ hypre_BoomerAMGCreate( void ) HYPRE_ANNOTATE_FUNC_END; - return (void *) amg_data; + return amg_data; } /*-------------------------------------------------------------------------- @@ -558,21 +558,19 @@ hypre_BoomerAMGCreate( void ) *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGDestroy( void *data ) +hypre_BoomerAMGDestroy( hypre_ParAMGData *amg_data ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - HYPRE_ANNOTATE_FUNC_BEGIN; if (amg_data) { - HYPRE_Int num_levels = hypre_ParAMGDataNumLevels(amg_data); - HYPRE_Int smooth_num_levels = hypre_ParAMGDataSmoothNumLevels(amg_data); - HYPRE_Solver *smoother = hypre_ParAMGDataSmoother(amg_data); - void *amg = hypre_ParAMGDataCoarseSolver(amg_data); - MPI_Comm new_comm = hypre_ParAMGDataNewComm(amg_data); - HYPRE_Int *grid_relax_type = hypre_ParAMGDataGridRelaxType(amg_data); - HYPRE_Int i; - HYPRE_MemoryLocation memory_location = hypre_ParAMGDataMemoryLocation(amg_data); + HYPRE_Int num_levels = hypre_ParAMGDataNumLevels(amg_data); + HYPRE_Int smooth_num_levels = hypre_ParAMGDataSmoothNumLevels(amg_data); + HYPRE_Solver *smoother = hypre_ParAMGDataSmoother(amg_data); + HYPRE_Solver coarse_amg = hypre_ParAMGDataCoarseSolver(amg_data); + MPI_Comm new_comm = hypre_ParAMGDataNewComm(amg_data); + HYPRE_Int *grid_relax_type = hypre_ParAMGDataGridRelaxType(amg_data); + HYPRE_MemoryLocation memory_location = hypre_ParAMGDataMemoryLocation(amg_data); + HYPRE_Int i; #ifdef HYPRE_USING_DSUPERLU // if (hypre_ParAMGDataDSLUThreshold(amg_data) > 0) @@ -877,7 +875,7 @@ hypre_BoomerAMGDestroy( void *data ) hypre_TFree(hypre_ParAMGInterpVectorsArray(amg_data), HYPRE_MEMORY_HOST); } - hypre_BoomerAMGDestroy(amg); + hypre_BoomerAMGDestroy((hypre_ParAMGData*) coarse_amg); hypre_ParCSRMatrixDestroy(hypre_ParAMGDataACoarse(amg_data)); hypre_ParVectorDestroy(hypre_ParAMGDataUCoarse(amg_data)); hypre_ParVectorDestroy(hypre_ParAMGDataFCoarse(amg_data)); @@ -917,11 +915,9 @@ hypre_BoomerAMGDestroy( void *data ) *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetRestriction( void *data, - HYPRE_Int restr_par ) +hypre_BoomerAMGSetRestriction( hypre_ParAMGData *amg_data, + HYPRE_Int restr_par ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -946,11 +942,9 @@ hypre_BoomerAMGSetRestriction( void *data, } HYPRE_Int -hypre_BoomerAMGSetIsTriangular(void *data, - HYPRE_Int is_triangular ) +hypre_BoomerAMGSetIsTriangular(hypre_ParAMGData *amg_data, + HYPRE_Int is_triangular ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -963,11 +957,9 @@ hypre_BoomerAMGSetIsTriangular(void *data, } HYPRE_Int -hypre_BoomerAMGSetGMRESSwitchR(void *data, - HYPRE_Int gmres_switch ) +hypre_BoomerAMGSetGMRESSwitchR(hypre_ParAMGData *amg_data, + HYPRE_Int gmres_switch ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -980,11 +972,11 @@ hypre_BoomerAMGSetGMRESSwitchR(void *data, } HYPRE_Int -hypre_BoomerAMGSetMaxLevels( void *data, - HYPRE_Int max_levels ) +hypre_BoomerAMGSetMaxLevels( hypre_ParAMGData *amg_data, + HYPRE_Int max_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; HYPRE_Int old_max_levels; + if (!amg_data) { hypre_error_in_arg(1); @@ -1043,11 +1035,9 @@ hypre_BoomerAMGSetMaxLevels( void *data, } HYPRE_Int -hypre_BoomerAMGGetMaxLevels( void *data, - HYPRE_Int * max_levels ) +hypre_BoomerAMGGetMaxLevels( hypre_ParAMGData *amg_data, + HYPRE_Int *max_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1060,11 +1050,9 @@ hypre_BoomerAMGGetMaxLevels( void *data, } HYPRE_Int -hypre_BoomerAMGSetMaxCoarseSize( void *data, - HYPRE_Int max_coarse_size ) +hypre_BoomerAMGSetMaxCoarseSize( hypre_ParAMGData *amg_data, + HYPRE_Int max_coarse_size ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1083,11 +1071,9 @@ hypre_BoomerAMGSetMaxCoarseSize( void *data, } HYPRE_Int -hypre_BoomerAMGGetMaxCoarseSize( void *data, - HYPRE_Int * max_coarse_size ) +hypre_BoomerAMGGetMaxCoarseSize( hypre_ParAMGData *amg_data, + HYPRE_Int *max_coarse_size ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1100,11 +1086,9 @@ hypre_BoomerAMGGetMaxCoarseSize( void *data, } HYPRE_Int -hypre_BoomerAMGSetMinCoarseSize( void *data, - HYPRE_Int min_coarse_size ) +hypre_BoomerAMGSetMinCoarseSize( hypre_ParAMGData *amg_data, + HYPRE_Int min_coarse_size ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1123,11 +1107,9 @@ hypre_BoomerAMGSetMinCoarseSize( void *data, } HYPRE_Int -hypre_BoomerAMGGetMinCoarseSize( void *data, - HYPRE_Int * min_coarse_size ) +hypre_BoomerAMGGetMinCoarseSize( hypre_ParAMGData *amg_data, + HYPRE_Int *min_coarse_size ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1140,11 +1122,9 @@ hypre_BoomerAMGGetMinCoarseSize( void *data, } HYPRE_Int -hypre_BoomerAMGSetSeqThreshold( void *data, - HYPRE_Int seq_threshold ) +hypre_BoomerAMGSetSeqThreshold( hypre_ParAMGData *amg_data, + HYPRE_Int seq_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1163,11 +1143,9 @@ hypre_BoomerAMGSetSeqThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGGetSeqThreshold( void *data, - HYPRE_Int * seq_threshold ) +hypre_BoomerAMGGetSeqThreshold( hypre_ParAMGData *amg_data, + HYPRE_Int *seq_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1180,11 +1158,9 @@ hypre_BoomerAMGGetSeqThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGSetRedundant( void *data, - HYPRE_Int redundant ) +hypre_BoomerAMGSetRedundant( hypre_ParAMGData *amg_data, + HYPRE_Int redundant ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1203,11 +1179,9 @@ hypre_BoomerAMGSetRedundant( void *data, } HYPRE_Int -hypre_BoomerAMGGetRedundant( void *data, - HYPRE_Int * redundant ) +hypre_BoomerAMGGetRedundant( hypre_ParAMGData *amg_data, + HYPRE_Int *redundant ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1220,11 +1194,9 @@ hypre_BoomerAMGGetRedundant( void *data, } HYPRE_Int -hypre_BoomerAMGSetCoarsenCutFactor( void *data, - HYPRE_Int coarsen_cut_factor ) +hypre_BoomerAMGSetCoarsenCutFactor( hypre_ParAMGData *amg_data, + HYPRE_Int coarsen_cut_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1243,11 +1215,9 @@ hypre_BoomerAMGSetCoarsenCutFactor( void *data, } HYPRE_Int -hypre_BoomerAMGGetCoarsenCutFactor( void *data, - HYPRE_Int *coarsen_cut_factor ) +hypre_BoomerAMGGetCoarsenCutFactor( hypre_ParAMGData *amg_data, + HYPRE_Int *coarsen_cut_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1260,11 +1230,9 @@ hypre_BoomerAMGGetCoarsenCutFactor( void *data, } HYPRE_Int -hypre_BoomerAMGSetStrongThreshold( void *data, - HYPRE_Real strong_threshold ) +hypre_BoomerAMGSetStrongThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real strong_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1283,11 +1251,9 @@ hypre_BoomerAMGSetStrongThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGGetStrongThreshold( void *data, - HYPRE_Real * strong_threshold ) +hypre_BoomerAMGGetStrongThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real *strong_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1300,11 +1266,9 @@ hypre_BoomerAMGGetStrongThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGSetStrongThresholdR( void *data, - HYPRE_Real strong_threshold ) +hypre_BoomerAMGSetStrongThresholdR( hypre_ParAMGData *amg_data, + HYPRE_Real strong_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1323,11 +1287,9 @@ hypre_BoomerAMGSetStrongThresholdR( void *data, } HYPRE_Int -hypre_BoomerAMGGetStrongThresholdR( void *data, - HYPRE_Real *strong_threshold ) +hypre_BoomerAMGGetStrongThresholdR( hypre_ParAMGData *amg_data, + HYPRE_Real *strong_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1340,11 +1302,9 @@ hypre_BoomerAMGGetStrongThresholdR( void *data, } HYPRE_Int -hypre_BoomerAMGSetFilterThresholdR( void *data, - HYPRE_Real filter_threshold ) +hypre_BoomerAMGSetFilterThresholdR( hypre_ParAMGData *amg_data, + HYPRE_Real filter_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1363,11 +1323,9 @@ hypre_BoomerAMGSetFilterThresholdR( void *data, } HYPRE_Int -hypre_BoomerAMGGetFilterThresholdR( void *data, - HYPRE_Real *filter_threshold ) +hypre_BoomerAMGGetFilterThresholdR( hypre_ParAMGData *amg_data, + HYPRE_Real *filter_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1380,11 +1338,9 @@ hypre_BoomerAMGGetFilterThresholdR( void *data, } HYPRE_Int -hypre_BoomerAMGSetSabs( void *data, - HYPRE_Int Sabs ) +hypre_BoomerAMGSetSabs( hypre_ParAMGData *amg_data, + HYPRE_Int Sabs ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1397,11 +1353,9 @@ hypre_BoomerAMGSetSabs( void *data, } HYPRE_Int -hypre_BoomerAMGSetMaxRowSum( void *data, - HYPRE_Real max_row_sum ) +hypre_BoomerAMGSetMaxRowSum( hypre_ParAMGData *amg_data, + HYPRE_Real max_row_sum ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1420,11 +1374,9 @@ hypre_BoomerAMGSetMaxRowSum( void *data, } HYPRE_Int -hypre_BoomerAMGGetMaxRowSum( void *data, - HYPRE_Real * max_row_sum ) +hypre_BoomerAMGGetMaxRowSum( hypre_ParAMGData *amg_data, + HYPRE_Real *max_row_sum ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1437,11 +1389,9 @@ hypre_BoomerAMGGetMaxRowSum( void *data, } HYPRE_Int -hypre_BoomerAMGSetTruncFactor( void *data, - HYPRE_Real trunc_factor ) +hypre_BoomerAMGSetTruncFactor( hypre_ParAMGData *amg_data, + HYPRE_Real trunc_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1460,11 +1410,9 @@ hypre_BoomerAMGSetTruncFactor( void *data, } HYPRE_Int -hypre_BoomerAMGGetTruncFactor( void *data, - HYPRE_Real * trunc_factor ) +hypre_BoomerAMGGetTruncFactor( hypre_ParAMGData *amg_data, + HYPRE_Real *trunc_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1477,11 +1425,9 @@ hypre_BoomerAMGGetTruncFactor( void *data, } HYPRE_Int -hypre_BoomerAMGSetPMaxElmts( void *data, - HYPRE_Int P_max_elmts ) +hypre_BoomerAMGSetPMaxElmts( hypre_ParAMGData *amg_data, + HYPRE_Int P_max_elmts ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1500,11 +1446,9 @@ hypre_BoomerAMGSetPMaxElmts( void *data, } HYPRE_Int -hypre_BoomerAMGGetPMaxElmts( void *data, - HYPRE_Int * P_max_elmts ) +hypre_BoomerAMGGetPMaxElmts( hypre_ParAMGData *amg_data, + HYPRE_Int *P_max_elmts ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1517,11 +1461,9 @@ hypre_BoomerAMGGetPMaxElmts( void *data, } HYPRE_Int -hypre_BoomerAMGSetJacobiTruncThreshold( void *data, - HYPRE_Real jacobi_trunc_threshold ) +hypre_BoomerAMGSetJacobiTruncThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real jacobi_trunc_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1540,11 +1482,9 @@ hypre_BoomerAMGSetJacobiTruncThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGGetJacobiTruncThreshold( void *data, - HYPRE_Real * jacobi_trunc_threshold ) +hypre_BoomerAMGGetJacobiTruncThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real *jacobi_trunc_threshold ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1557,11 +1497,9 @@ hypre_BoomerAMGGetJacobiTruncThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGSetPostInterpType( void *data, - HYPRE_Int post_interp_type ) +hypre_BoomerAMGSetPostInterpType( hypre_ParAMGData *amg_data, + HYPRE_Int post_interp_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1580,11 +1518,9 @@ hypre_BoomerAMGSetPostInterpType( void *data, } HYPRE_Int -hypre_BoomerAMGGetPostInterpType( void *data, - HYPRE_Int * post_interp_type ) +hypre_BoomerAMGGetPostInterpType( hypre_ParAMGData *amg_data, + HYPRE_Int *post_interp_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1597,20 +1533,16 @@ hypre_BoomerAMGGetPostInterpType( void *data, } HYPRE_Int -hypre_BoomerAMGSetInterpType( void *data, - HYPRE_Int interp_type ) +hypre_BoomerAMGSetInterpType( hypre_ParAMGData *amg_data, + HYPRE_Int interp_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); return hypre_error_flag; } - if ((interp_type < 0 || interp_type > 25) && interp_type != 100) - { hypre_error_in_arg(2); return hypre_error_flag; @@ -1622,11 +1554,9 @@ hypre_BoomerAMGSetInterpType( void *data, } HYPRE_Int -hypre_BoomerAMGGetInterpType( void *data, - HYPRE_Int * interp_type ) +hypre_BoomerAMGGetInterpType( hypre_ParAMGData *amg_data, + HYPRE_Int *interp_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1639,11 +1569,9 @@ hypre_BoomerAMGGetInterpType( void *data, } HYPRE_Int -hypre_BoomerAMGSetSepWeight( void *data, - HYPRE_Int sep_weight ) +hypre_BoomerAMGSetSepWeight( hypre_ParAMGData *amg_data, + HYPRE_Int sep_weight ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1656,11 +1584,9 @@ hypre_BoomerAMGSetSepWeight( void *data, } HYPRE_Int -hypre_BoomerAMGSetMinIter( void *data, - HYPRE_Int min_iter ) +hypre_BoomerAMGSetMinIter( hypre_ParAMGData *amg_data, + HYPRE_Int min_iter ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1673,11 +1599,9 @@ hypre_BoomerAMGSetMinIter( void *data, } HYPRE_Int -hypre_BoomerAMGGetMinIter( void *data, - HYPRE_Int * min_iter ) +hypre_BoomerAMGGetMinIter( hypre_ParAMGData *amg_data, + HYPRE_Int *min_iter ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1690,11 +1614,9 @@ hypre_BoomerAMGGetMinIter( void *data, } HYPRE_Int -hypre_BoomerAMGSetMaxIter( void *data, - HYPRE_Int max_iter ) +hypre_BoomerAMGSetMaxIter( hypre_ParAMGData *amg_data, + HYPRE_Int max_iter ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1713,11 +1635,9 @@ hypre_BoomerAMGSetMaxIter( void *data, } HYPRE_Int -hypre_BoomerAMGGetMaxIter( void *data, - HYPRE_Int * max_iter ) +hypre_BoomerAMGGetMaxIter( hypre_ParAMGData *amg_data, + HYPRE_Int *max_iter ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1730,11 +1650,9 @@ hypre_BoomerAMGGetMaxIter( void *data, } HYPRE_Int -hypre_BoomerAMGSetCoarsenType( void *data, - HYPRE_Int coarsen_type ) +hypre_BoomerAMGSetCoarsenType( hypre_ParAMGData *amg_data, + HYPRE_Int coarsen_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1747,11 +1665,9 @@ hypre_BoomerAMGSetCoarsenType( void *data, } HYPRE_Int -hypre_BoomerAMGGetCoarsenType( void *data, - HYPRE_Int * coarsen_type ) +hypre_BoomerAMGGetCoarsenType( hypre_ParAMGData *amg_data, + HYPRE_Int *coarsen_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1764,11 +1680,9 @@ hypre_BoomerAMGGetCoarsenType( void *data, } HYPRE_Int -hypre_BoomerAMGSetMeasureType( void *data, - HYPRE_Int measure_type ) +hypre_BoomerAMGSetMeasureType( hypre_ParAMGData *amg_data, + HYPRE_Int measure_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1781,11 +1695,9 @@ hypre_BoomerAMGSetMeasureType( void *data, } HYPRE_Int -hypre_BoomerAMGGetMeasureType( void *data, - HYPRE_Int * measure_type ) +hypre_BoomerAMGGetMeasureType( hypre_ParAMGData *amg_data, + HYPRE_Int *measure_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1798,11 +1710,9 @@ hypre_BoomerAMGGetMeasureType( void *data, } HYPRE_Int -hypre_BoomerAMGSetSetupType( void *data, - HYPRE_Int setup_type ) +hypre_BoomerAMGSetSetupType( hypre_ParAMGData *amg_data, + HYPRE_Int setup_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1815,11 +1725,9 @@ hypre_BoomerAMGSetSetupType( void *data, } HYPRE_Int -hypre_BoomerAMGGetSetupType( void *data, - HYPRE_Int * setup_type ) +hypre_BoomerAMGGetSetupType( hypre_ParAMGData *amg_data, + HYPRE_Int *setup_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1832,11 +1740,9 @@ hypre_BoomerAMGGetSetupType( void *data, } HYPRE_Int -hypre_BoomerAMGSetCycleType( void *data, - HYPRE_Int cycle_type ) +hypre_BoomerAMGSetCycleType( hypre_ParAMGData *amg_data, + HYPRE_Int cycle_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1855,11 +1761,9 @@ hypre_BoomerAMGSetCycleType( void *data, } HYPRE_Int -hypre_BoomerAMGGetCycleType( void *data, - HYPRE_Int * cycle_type ) +hypre_BoomerAMGGetCycleType( hypre_ParAMGData *amg_data, + HYPRE_Int *cycle_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1872,11 +1776,9 @@ hypre_BoomerAMGGetCycleType( void *data, } HYPRE_Int -hypre_BoomerAMGSetFCycle( void *data, - HYPRE_Int fcycle ) +hypre_BoomerAMGSetFCycle( hypre_ParAMGData *amg_data, + HYPRE_Int fcycle ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1889,11 +1791,9 @@ hypre_BoomerAMGSetFCycle( void *data, } HYPRE_Int -hypre_BoomerAMGGetFCycle( void *data, - HYPRE_Int *fcycle ) +hypre_BoomerAMGGetFCycle( hypre_ParAMGData *amg_data, + HYPRE_Int *fcycle ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1906,39 +1806,27 @@ hypre_BoomerAMGGetFCycle( void *data, } HYPRE_Int -hypre_BoomerAMGSetConvergeType( void *data, - HYPRE_Int type ) +hypre_BoomerAMGSetConvergeType( hypre_ParAMGData *amg_data, + HYPRE_Int type ) { /* type 0: default. relative over ||b|| * 1: relative over ||r0|| */ - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); return hypre_error_flag; } - /* - if () - { - hypre_error_in_arg(2); - return hypre_error_flag; - } - */ - hypre_ParAMGDataConvergeType(amg_data) = type; return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGGetConvergeType( void *data, - HYPRE_Int *type ) +hypre_BoomerAMGGetConvergeType( hypre_ParAMGData *amg_data, + HYPRE_Int *type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1951,11 +1839,9 @@ hypre_BoomerAMGGetConvergeType( void *data, } HYPRE_Int -hypre_BoomerAMGSetTol( void *data, - HYPRE_Real tol ) +hypre_BoomerAMGSetTol( hypre_ParAMGData *amg_data, + HYPRE_Real tol ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1974,11 +1860,9 @@ hypre_BoomerAMGSetTol( void *data, } HYPRE_Int -hypre_BoomerAMGGetTol( void *data, - HYPRE_Real * tol ) +hypre_BoomerAMGGetTol( hypre_ParAMGData *amg_data, + HYPRE_Real *tol ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -1992,12 +1876,11 @@ hypre_BoomerAMGGetTol( void *data, /* The "Get" function for SetNumSweeps is GetCycleNumSweeps. */ HYPRE_Int -hypre_BoomerAMGSetNumSweeps( void *data, - HYPRE_Int num_sweeps ) +hypre_BoomerAMGSetNumSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int num_sweeps ) { HYPRE_Int i; HYPRE_Int *num_grid_sweeps; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2030,13 +1913,12 @@ hypre_BoomerAMGSetNumSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGSetCycleNumSweeps( void *data, - HYPRE_Int num_sweeps, - HYPRE_Int k ) +hypre_BoomerAMGSetCycleNumSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int num_sweeps, + HYPRE_Int k ) { HYPRE_Int i; HYPRE_Int *num_grid_sweeps; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2072,12 +1954,10 @@ hypre_BoomerAMGSetCycleNumSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGGetCycleNumSweeps( void *data, - HYPRE_Int * num_sweeps, - HYPRE_Int k ) +hypre_BoomerAMGGetCycleNumSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int *num_sweeps, + HYPRE_Int k ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2101,11 +1981,9 @@ hypre_BoomerAMGGetCycleNumSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGSetNumGridSweeps( void *data, - HYPRE_Int *num_grid_sweeps ) +hypre_BoomerAMGSetNumGridSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int *num_grid_sweeps ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2127,11 +2005,9 @@ hypre_BoomerAMGSetNumGridSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGGetNumGridSweeps( void *data, - HYPRE_Int ** num_grid_sweeps ) +hypre_BoomerAMGGetNumGridSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int **num_grid_sweeps ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2144,12 +2020,11 @@ hypre_BoomerAMGGetNumGridSweeps( void *data, /* The "Get" function for SetRelaxType is GetCycleRelaxType. */ HYPRE_Int -hypre_BoomerAMGSetRelaxType( void *data, - HYPRE_Int relax_type ) +hypre_BoomerAMGSetRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int relax_type ) { HYPRE_Int i; HYPRE_Int *grid_relax_type; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2180,13 +2055,12 @@ hypre_BoomerAMGSetRelaxType( void *data, } HYPRE_Int -hypre_BoomerAMGSetCycleRelaxType( void *data, - HYPRE_Int relax_type, - HYPRE_Int k ) +hypre_BoomerAMGSetCycleRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int relax_type, + HYPRE_Int k ) { HYPRE_Int i; HYPRE_Int *grid_relax_type; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2225,12 +2099,10 @@ hypre_BoomerAMGSetCycleRelaxType( void *data, } HYPRE_Int -hypre_BoomerAMGGetCycleRelaxType( void *data, - HYPRE_Int * relax_type, - HYPRE_Int k ) +hypre_BoomerAMGGetCycleRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int *relax_type, + HYPRE_Int k ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2254,11 +2126,9 @@ hypre_BoomerAMGGetCycleRelaxType( void *data, } HYPRE_Int -hypre_BoomerAMGSetRelaxOrder( void *data, - HYPRE_Int relax_order) +hypre_BoomerAMGSetRelaxOrder( hypre_ParAMGData *amg_data, + HYPRE_Int relax_order) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2270,11 +2140,9 @@ hypre_BoomerAMGSetRelaxOrder( void *data, } HYPRE_Int -hypre_BoomerAMGGetRelaxOrder( void *data, - HYPRE_Int * relax_order) +hypre_BoomerAMGGetRelaxOrder( hypre_ParAMGData *amg_data, + HYPRE_Int *relax_order) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2286,11 +2154,9 @@ hypre_BoomerAMGGetRelaxOrder( void *data, } HYPRE_Int -hypre_BoomerAMGSetGridRelaxType( void *data, - HYPRE_Int *grid_relax_type ) +hypre_BoomerAMGSetGridRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int *grid_relax_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2313,11 +2179,9 @@ hypre_BoomerAMGSetGridRelaxType( void *data, } HYPRE_Int -hypre_BoomerAMGGetGridRelaxType( void *data, - HYPRE_Int ** grid_relax_type ) +hypre_BoomerAMGGetGridRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int **grid_relax_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2329,11 +2193,10 @@ hypre_BoomerAMGGetGridRelaxType( void *data, } HYPRE_Int -hypre_BoomerAMGSetGridRelaxPoints( void *data, - HYPRE_Int **grid_relax_points ) +hypre_BoomerAMGSetGridRelaxPoints( hypre_ParAMGData *amg_data, + HYPRE_Int **grid_relax_points ) { HYPRE_Int i; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2360,11 +2223,9 @@ hypre_BoomerAMGSetGridRelaxPoints( void *data, } HYPRE_Int -hypre_BoomerAMGGetGridRelaxPoints( void *data, - HYPRE_Int *** grid_relax_points ) +hypre_BoomerAMGGetGridRelaxPoints( hypre_ParAMGData *amg_data, + HYPRE_Int ***grid_relax_points ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2376,11 +2237,9 @@ hypre_BoomerAMGGetGridRelaxPoints( void *data, } HYPRE_Int -hypre_BoomerAMGSetRelaxWeight( void *data, - HYPRE_Real *relax_weight ) +hypre_BoomerAMGSetRelaxWeight( hypre_ParAMGData *amg_data, + HYPRE_Real *relax_weight ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2402,11 +2261,9 @@ hypre_BoomerAMGSetRelaxWeight( void *data, } HYPRE_Int -hypre_BoomerAMGGetRelaxWeight( void *data, - HYPRE_Real ** relax_weight ) +hypre_BoomerAMGGetRelaxWeight( hypre_ParAMGData *amg_data, + HYPRE_Real **relax_weight ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2418,12 +2275,11 @@ hypre_BoomerAMGGetRelaxWeight( void *data, } HYPRE_Int -hypre_BoomerAMGSetRelaxWt( void *data, - HYPRE_Real relax_weight ) +hypre_BoomerAMGSetRelaxWt( hypre_ParAMGData *amg_data, + HYPRE_Real relax_weight ) { HYPRE_Int i, num_levels; HYPRE_Real *relax_weight_array; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2448,12 +2304,12 @@ hypre_BoomerAMGSetRelaxWt( void *data, } HYPRE_Int -hypre_BoomerAMGSetLevelRelaxWt( void *data, - HYPRE_Real relax_weight, - HYPRE_Int level ) +hypre_BoomerAMGSetLevelRelaxWt( hypre_ParAMGData *amg_data, + HYPRE_Real relax_weight, + HYPRE_Int level ) { HYPRE_Int i, num_levels; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; + if (!amg_data) { hypre_error_in_arg(1); @@ -2480,12 +2336,12 @@ hypre_BoomerAMGSetLevelRelaxWt( void *data, } HYPRE_Int -hypre_BoomerAMGGetLevelRelaxWt( void *data, - HYPRE_Real * relax_weight, - HYPRE_Int level ) +hypre_BoomerAMGGetLevelRelaxWt( hypre_ParAMGData *amg_data, + HYPRE_Real *relax_weight, + HYPRE_Int level ) { HYPRE_Int num_levels; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; + if (!amg_data) { hypre_error_in_arg(1); @@ -2509,11 +2365,9 @@ hypre_BoomerAMGGetLevelRelaxWt( void *data, } HYPRE_Int -hypre_BoomerAMGSetOmega( void *data, - HYPRE_Real *omega ) +hypre_BoomerAMGSetOmega( hypre_ParAMGData *amg_data, + HYPRE_Real *omega ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2534,11 +2388,9 @@ hypre_BoomerAMGSetOmega( void *data, } HYPRE_Int -hypre_BoomerAMGGetOmega( void *data, - HYPRE_Real ** omega ) +hypre_BoomerAMGGetOmega( hypre_ParAMGData *amg_data, + HYPRE_Real **omega ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2550,12 +2402,11 @@ hypre_BoomerAMGGetOmega( void *data, } HYPRE_Int -hypre_BoomerAMGSetOuterWt( void *data, - HYPRE_Real omega ) +hypre_BoomerAMGSetOuterWt( hypre_ParAMGData *amg_data, + HYPRE_Real omega ) { HYPRE_Int i, num_levels; HYPRE_Real *omega_array; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2579,12 +2430,12 @@ hypre_BoomerAMGSetOuterWt( void *data, } HYPRE_Int -hypre_BoomerAMGSetLevelOuterWt( void *data, - HYPRE_Real omega, - HYPRE_Int level ) +hypre_BoomerAMGSetLevelOuterWt( hypre_ParAMGData *amg_data, + HYPRE_Real omega, + HYPRE_Int level ) { HYPRE_Int i, num_levels; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; + if (!amg_data) { hypre_error_in_arg(1); @@ -2611,12 +2462,12 @@ hypre_BoomerAMGSetLevelOuterWt( void *data, } HYPRE_Int -hypre_BoomerAMGGetLevelOuterWt( void *data, - HYPRE_Real * omega, - HYPRE_Int level ) +hypre_BoomerAMGGetLevelOuterWt( hypre_ParAMGData *amg_data, + HYPRE_Real *omega, + HYPRE_Int level ) { HYPRE_Int num_levels; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; + if (!amg_data) { hypre_error_in_arg(1); @@ -2640,10 +2491,9 @@ hypre_BoomerAMGGetLevelOuterWt( void *data, } HYPRE_Int -hypre_BoomerAMGSetSmoothType( void *data, - HYPRE_Int smooth_type ) +hypre_BoomerAMGSetSmoothType( hypre_ParAMGData *amg_data, + HYPRE_Int smooth_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { hypre_error_in_arg(1); @@ -2656,11 +2506,9 @@ hypre_BoomerAMGSetSmoothType( void *data, } HYPRE_Int -hypre_BoomerAMGGetSmoothType( void *data, - HYPRE_Int * smooth_type ) +hypre_BoomerAMGGetSmoothType( hypre_ParAMGData *amg_data, + HYPRE_Int *smooth_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2672,11 +2520,9 @@ hypre_BoomerAMGGetSmoothType( void *data, } HYPRE_Int -hypre_BoomerAMGSetSmoothNumLevels( void *data, - HYPRE_Int smooth_num_levels ) +hypre_BoomerAMGSetSmoothNumLevels( hypre_ParAMGData *amg_data, + HYPRE_Int smooth_num_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2693,11 +2539,9 @@ hypre_BoomerAMGSetSmoothNumLevels( void *data, } HYPRE_Int -hypre_BoomerAMGGetSmoothNumLevels( void *data, - HYPRE_Int * smooth_num_levels ) +hypre_BoomerAMGGetSmoothNumLevels( hypre_ParAMGData *amg_data, + HYPRE_Int *smooth_num_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2709,11 +2553,9 @@ hypre_BoomerAMGGetSmoothNumLevels( void *data, } HYPRE_Int -hypre_BoomerAMGSetSmoothNumSweeps( void *data, - HYPRE_Int smooth_num_sweeps ) +hypre_BoomerAMGSetSmoothNumSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int smooth_num_sweeps ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2730,11 +2572,9 @@ hypre_BoomerAMGSetSmoothNumSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGGetSmoothNumSweeps( void *data, - HYPRE_Int * smooth_num_sweeps ) +hypre_BoomerAMGGetSmoothNumSweeps( hypre_ParAMGData *amg_data, + HYPRE_Int *smooth_num_sweeps ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2746,8 +2586,8 @@ hypre_BoomerAMGGetSmoothNumSweeps( void *data, } HYPRE_Int -hypre_BoomerAMGSetLogging( void *data, - HYPRE_Int logging ) +hypre_BoomerAMGSetLogging( hypre_ParAMGData *amg_data, + HYPRE_Int logging ) { /* This function should be called before Setup. Logging changes may require allocation or freeing of arrays, which is presently @@ -2755,7 +2595,6 @@ hypre_BoomerAMGSetLogging( void *data, It may be possible to support logging changes at other times, but there is little need. */ - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { @@ -2768,11 +2607,9 @@ hypre_BoomerAMGSetLogging( void *data, } HYPRE_Int -hypre_BoomerAMGGetLogging( void *data, - HYPRE_Int * logging ) +hypre_BoomerAMGGetLogging( hypre_ParAMGData *amg_data, + HYPRE_Int *logging ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2784,11 +2621,9 @@ hypre_BoomerAMGGetLogging( void *data, } HYPRE_Int -hypre_BoomerAMGSetPrintLevel( void *data, - HYPRE_Int print_level ) +hypre_BoomerAMGSetPrintLevel( hypre_ParAMGData *amg_data, + HYPRE_Int print_level ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2800,11 +2635,9 @@ hypre_BoomerAMGSetPrintLevel( void *data, } HYPRE_Int -hypre_BoomerAMGGetPrintLevel( void *data, - HYPRE_Int * print_level ) +hypre_BoomerAMGGetPrintLevel( hypre_ParAMGData *amg_data, + HYPRE_Int *print_level ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2816,10 +2649,9 @@ hypre_BoomerAMGGetPrintLevel( void *data, } HYPRE_Int -hypre_BoomerAMGSetPrintFileName( void *data, - const char *print_file_name ) +hypre_BoomerAMGSetPrintFileName( hypre_ParAMGData *amg_data, + const char *print_file_name ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*)data; if (!amg_data) { hypre_error_in_arg(1); @@ -2837,11 +2669,9 @@ hypre_BoomerAMGSetPrintFileName( void *data, } HYPRE_Int -hypre_BoomerAMGGetPrintFileName( void *data, - char ** print_file_name ) +hypre_BoomerAMGGetPrintFileName( hypre_ParAMGData *amg_data, + char **print_file_name ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2853,11 +2683,9 @@ hypre_BoomerAMGGetPrintFileName( void *data, } HYPRE_Int -hypre_BoomerAMGSetNumIterations( void *data, - HYPRE_Int num_iterations ) +hypre_BoomerAMGSetNumIterations( hypre_ParAMGData *amg_data, + HYPRE_Int num_iterations ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2869,11 +2697,9 @@ hypre_BoomerAMGSetNumIterations( void *data, } HYPRE_Int -hypre_BoomerAMGSetDebugFlag( void *data, - HYPRE_Int debug_flag ) +hypre_BoomerAMGSetDebugFlag( hypre_ParAMGData *amg_data, + HYPRE_Int debug_flag ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2885,11 +2711,9 @@ hypre_BoomerAMGSetDebugFlag( void *data, } HYPRE_Int -hypre_BoomerAMGGetDebugFlag( void *data, - HYPRE_Int * debug_flag ) +hypre_BoomerAMGGetDebugFlag( hypre_ParAMGData *amg_data, + HYPRE_Int *debug_flag ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2905,11 +2729,9 @@ hypre_BoomerAMGGetDebugFlag( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetGSMG( void *data, - HYPRE_Int par ) +hypre_BoomerAMGSetGSMG( hypre_ParAMGData *amg_data, + HYPRE_Int par ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2925,11 +2747,9 @@ hypre_BoomerAMGSetGSMG( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNumSamples( void *data, - HYPRE_Int par ) +hypre_BoomerAMGSetNumSamples( hypre_ParAMGData *amg_data, + HYPRE_Int par ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -2943,33 +2763,28 @@ hypre_BoomerAMGSetNumSamples( void *data, /* BM Aug 25, 2006 */ HYPRE_Int -hypre_BoomerAMGSetCGCIts( void *data, - HYPRE_Int its) +hypre_BoomerAMGSetCGCIts( hypre_ParAMGData *amg_data, + HYPRE_Int its) { - HYPRE_Int ierr = 0; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataCGCIts(amg_data) = its; - return (ierr); + + return hypre_error_flag; } /* BM Oct 22, 2006 */ HYPRE_Int -hypre_BoomerAMGSetPlotGrids( void *data, - HYPRE_Int plotgrids) +hypre_BoomerAMGSetPlotGrids( hypre_ParAMGData *amg_data, + HYPRE_Int plotgrids) { - HYPRE_Int ierr = 0; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataPlotGrids(amg_data) = plotgrids; - return (ierr); + + return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGSetPlotFileName( void *data, - const char *plot_file_name ) +hypre_BoomerAMGSetPlotFileName( hypre_ParAMGData *amg_data, + const char *plot_file_name ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { hypre_error_in_arg(1); @@ -2991,22 +2806,21 @@ hypre_BoomerAMGSetPlotFileName( void *data, return hypre_error_flag; } + /* Get the coarse grid hierarchy. Assumes cgrid is preallocated to the size of the local matrix. * Adapted from par_amg_setup.c, and simplified by ignoring printing in block mode. - * We do a memcpy on the final grid hierarchy to avoid modifying user allocated data. -*/ + * We do a memcpy on the final grid hierarchy to avoid modifying user allocated data. */ HYPRE_Int -hypre_BoomerAMGGetGridHierarchy( void *data, - HYPRE_Int *cgrid ) +hypre_BoomerAMGGetGridHierarchy( hypre_ParAMGData *amg_data, + HYPRE_Int *cgrid ) { - HYPRE_Int *ibuff = NULL; - HYPRE_Int *wbuff, *cbuff, *tmp; - HYPRE_Int local_size, lev_size, i, j, level, num_levels, block_mode; - hypre_IntArray *CF_marker_array; - hypre_IntArray *CF_marker_array_host; - HYPRE_Int *CF_marker; + HYPRE_Int *ibuff = NULL; + HYPRE_Int *wbuff, *cbuff, *tmp; + HYPRE_Int local_size, lev_size, i, j, level, num_levels, block_mode; + hypre_IntArray *CF_marker_array; + hypre_IntArray *CF_marker_array_host; + HYPRE_Int *CF_marker; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { hypre_error_in_arg(1); @@ -3133,8 +2947,10 @@ hypre_BoomerAMGGetGridHierarchy( void *data, } } } + // copy hierarchy into user provided array hypre_TMemcpy(cgrid, cbuff, HYPRE_Int, local_size, HYPRE_MEMORY_HOST, HYPRE_MEMORY_HOST); + // free memory hypre_TFree(ibuff, HYPRE_MEMORY_HOST); @@ -3143,25 +2959,21 @@ hypre_BoomerAMGGetGridHierarchy( void *data, /* BM Oct 17, 2006 */ HYPRE_Int -hypre_BoomerAMGSetCoordDim( void *data, - HYPRE_Int coorddim) +hypre_BoomerAMGSetCoordDim( hypre_ParAMGData *amg_data, + HYPRE_Int coorddim) { - HYPRE_Int ierr = 0; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataCoordDim(amg_data) = coorddim; - return (ierr); + + return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGSetCoordinates( void *data, - float *coordinates) +hypre_BoomerAMGSetCoordinates( hypre_ParAMGData *amg_data, + hypre_float *coordinates) { - HYPRE_Int ierr = 0; - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataCoordinates(amg_data) = coordinates; - return (ierr); + + return hypre_error_flag; } /*-------------------------------------------------------------------------- @@ -3169,11 +2981,9 @@ hypre_BoomerAMGSetCoordinates( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNumFunctions( void *data, - HYPRE_Int num_functions ) +hypre_BoomerAMGSetNumFunctions( hypre_ParAMGData *amg_data, + HYPRE_Int num_functions ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3190,11 +3000,9 @@ hypre_BoomerAMGSetNumFunctions( void *data, } HYPRE_Int -hypre_BoomerAMGGetNumFunctions( void *data, - HYPRE_Int * num_functions ) +hypre_BoomerAMGGetNumFunctions( hypre_ParAMGData *amg_data, + HYPRE_Int *num_functions ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3210,11 +3018,9 @@ hypre_BoomerAMGGetNumFunctions( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNodal( void *data, - HYPRE_Int nodal ) +hypre_BoomerAMGSetNodal( hypre_ParAMGData *amg_data, + HYPRE_Int nodal ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3229,11 +3035,9 @@ hypre_BoomerAMGSetNodal( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNodalLevels( void *data, - HYPRE_Int nodal_levels ) +hypre_BoomerAMGSetNodalLevels( hypre_ParAMGData *amg_data, + HYPRE_Int nodal_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3244,17 +3048,14 @@ hypre_BoomerAMGSetNodalLevels( void *data, return hypre_error_flag; } - /*-------------------------------------------------------------------------- * Indicate how to treat diag for primary matrix with nodal systems function *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNodalDiag( void *data, - HYPRE_Int nodal ) +hypre_BoomerAMGSetNodalDiag( hypre_ParAMGData *amg_data, + HYPRE_Int nodal ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3269,11 +3070,9 @@ hypre_BoomerAMGSetNodalDiag( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetKeepSameSign( void *data, - HYPRE_Int keep_same_sign ) +hypre_BoomerAMGSetKeepSameSign( hypre_ParAMGData *amg_data, + HYPRE_Int keep_same_sign ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3288,11 +3087,9 @@ hypre_BoomerAMGSetKeepSameSign( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNumPaths( void *data, - HYPRE_Int num_paths ) +hypre_BoomerAMGSetNumPaths( hypre_ParAMGData *amg_data, + HYPRE_Int num_paths ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3313,11 +3110,9 @@ hypre_BoomerAMGSetNumPaths( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggNumLevels( void *data, - HYPRE_Int agg_num_levels ) +hypre_BoomerAMGSetAggNumLevels( hypre_ParAMGData *amg_data, + HYPRE_Int agg_num_levels ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3338,11 +3133,9 @@ hypre_BoomerAMGSetAggNumLevels( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggInterpType( void *data, - HYPRE_Int agg_interp_type ) +hypre_BoomerAMGSetAggInterpType( hypre_ParAMGData *amg_data, + HYPRE_Int agg_interp_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3364,11 +3157,9 @@ hypre_BoomerAMGSetAggInterpType( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggPMaxElmts( void *data, - HYPRE_Int agg_P_max_elmts ) +hypre_BoomerAMGSetAggPMaxElmts( hypre_ParAMGData *amg_data, + HYPRE_Int agg_P_max_elmts ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3390,11 +3181,9 @@ hypre_BoomerAMGSetAggPMaxElmts( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetMultAddPMaxElmts( void *data, - HYPRE_Int add_P_max_elmts ) +hypre_BoomerAMGSetMultAddPMaxElmts( hypre_ParAMGData *amg_data, + HYPRE_Int add_P_max_elmts ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3415,11 +3204,9 @@ hypre_BoomerAMGSetMultAddPMaxElmts( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAddRelaxType( void *data, - HYPRE_Int add_rlx_type ) +hypre_BoomerAMGSetAddRelaxType( hypre_ParAMGData *amg_data, + HYPRE_Int add_rlx_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3435,11 +3222,9 @@ hypre_BoomerAMGSetAddRelaxType( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAddRelaxWt( void *data, - HYPRE_Real add_rlx_wt ) +hypre_BoomerAMGSetAddRelaxWt( hypre_ParAMGData *amg_data, + HYPRE_Real add_rlx_wt ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3456,11 +3241,9 @@ hypre_BoomerAMGSetAddRelaxWt( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggP12MaxElmts( void *data, - HYPRE_Int agg_P12_max_elmts ) +hypre_BoomerAMGSetAggP12MaxElmts( hypre_ParAMGData *amg_data, + HYPRE_Int agg_P12_max_elmts ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3481,11 +3264,9 @@ hypre_BoomerAMGSetAggP12MaxElmts( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggTruncFactor( void *data, - HYPRE_Real agg_trunc_factor ) +hypre_BoomerAMGSetAggTruncFactor( hypre_ParAMGData *amg_data, + HYPRE_Real agg_trunc_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3507,11 +3288,9 @@ hypre_BoomerAMGSetAggTruncFactor( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetMultAddTruncFactor( void *data, - HYPRE_Real add_trunc_factor ) +hypre_BoomerAMGSetMultAddTruncFactor( hypre_ParAMGData *amg_data, + HYPRE_Real add_trunc_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3533,11 +3312,9 @@ hypre_BoomerAMGSetMultAddTruncFactor( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetAggP12TruncFactor( void *data, - HYPRE_Real agg_P12_trunc_factor ) +hypre_BoomerAMGSetAggP12TruncFactor( hypre_ParAMGData *amg_data, + HYPRE_Real agg_P12_trunc_factor ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3558,11 +3335,9 @@ hypre_BoomerAMGSetAggP12TruncFactor( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetNumCRRelaxSteps( void *data, - HYPRE_Int num_CR_relax_steps ) +hypre_BoomerAMGSetNumCRRelaxSteps( hypre_ParAMGData *amg_data, + HYPRE_Int num_CR_relax_steps ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3583,11 +3358,9 @@ hypre_BoomerAMGSetNumCRRelaxSteps( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetCRRate( void *data, - HYPRE_Real CR_rate ) +hypre_BoomerAMGSetCRRate( hypre_ParAMGData *amg_data, + HYPRE_Real CR_rate ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3603,11 +3376,9 @@ hypre_BoomerAMGSetCRRate( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetCRStrongTh( void *data, - HYPRE_Real CR_strong_th ) +hypre_BoomerAMGSetCRStrongTh( hypre_ParAMGData *amg_data, + HYPRE_Real CR_strong_th ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3623,11 +3394,9 @@ hypre_BoomerAMGSetCRStrongTh( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetADropTol( void *data, - HYPRE_Real A_drop_tol ) +hypre_BoomerAMGSetADropTol( hypre_ParAMGData *amg_data, + HYPRE_Real A_drop_tol ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3639,11 +3408,9 @@ hypre_BoomerAMGSetADropTol( void *data, } HYPRE_Int -hypre_BoomerAMGSetADropType( void *data, - HYPRE_Int A_drop_type ) +hypre_BoomerAMGSetADropType( hypre_ParAMGData *amg_data, + HYPRE_Int A_drop_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3658,11 +3425,9 @@ hypre_BoomerAMGSetADropType( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetISType( void *data, - HYPRE_Int IS_type ) +hypre_BoomerAMGSetISType( hypre_ParAMGData *amg_data, + HYPRE_Int IS_type ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3683,11 +3448,9 @@ hypre_BoomerAMGSetISType( void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetCRUseCG( void *data, - HYPRE_Int CR_use_CG ) +hypre_BoomerAMGSetCRUseCG( hypre_ParAMGData *amg_data, + HYPRE_Int CR_use_CG ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3699,11 +3462,9 @@ hypre_BoomerAMGSetCRUseCG( void *data, } HYPRE_Int -hypre_BoomerAMGSetNumPoints( void *data, - HYPRE_Int num_points ) +hypre_BoomerAMGSetNumPoints( hypre_ParAMGData *amg_data, + HYPRE_Int num_points ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3715,17 +3476,16 @@ hypre_BoomerAMGSetNumPoints( void *data, } HYPRE_Int -hypre_BoomerAMGSetDofFunc( void *data, - HYPRE_Int *dof_func) +hypre_BoomerAMGSetDofFunc( hypre_ParAMGData *amg_data, + HYPRE_Int *dof_func) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); return hypre_error_flag; } hypre_IntArrayDestroy(hypre_ParAMGDataDofFunc(amg_data)); + /* NOTE: size and memory location of hypre_IntArray will be set during AMG setup */ if (dof_func == NULL) { @@ -3741,11 +3501,9 @@ hypre_BoomerAMGSetDofFunc( void *data, } HYPRE_Int -hypre_BoomerAMGSetPointDofMap( void *data, - HYPRE_Int *point_dof_map ) +hypre_BoomerAMGSetPointDofMap( hypre_ParAMGData *amg_data, + HYPRE_Int *point_dof_map ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3758,11 +3516,9 @@ hypre_BoomerAMGSetPointDofMap( void *data, } HYPRE_Int -hypre_BoomerAMGSetDofPoint( void *data, - HYPRE_Int *dof_point ) +hypre_BoomerAMGSetDofPoint( hypre_ParAMGData *amg_data, + HYPRE_Int *dof_point ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3775,11 +3531,9 @@ hypre_BoomerAMGSetDofPoint( void *data, } HYPRE_Int -hypre_BoomerAMGGetNumIterations( void *data, - HYPRE_Int *num_iterations ) +hypre_BoomerAMGGetNumIterations( hypre_ParAMGData *amg_data, + HYPRE_Int *num_iterations ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3791,11 +3545,9 @@ hypre_BoomerAMGGetNumIterations( void *data, } HYPRE_Int -hypre_BoomerAMGGetCumNumIterations( void *data, - HYPRE_Int *cum_num_iterations ) +hypre_BoomerAMGGetCumNumIterations( hypre_ParAMGData *amg_data, + HYPRE_Int *cum_num_iterations ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3809,9 +3561,9 @@ hypre_BoomerAMGGetCumNumIterations( void *data, } HYPRE_Int -hypre_BoomerAMGGetResidual( void * data, hypre_ParVector ** resid ) +hypre_BoomerAMGGetResidual( hypre_ParAMGData *amg_data, + hypre_ParVector **resid ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; if (!amg_data) { hypre_error_in_arg(1); @@ -3821,13 +3573,10 @@ hypre_BoomerAMGGetResidual( void * data, hypre_ParVector ** resid ) return hypre_error_flag; } - HYPRE_Int -hypre_BoomerAMGGetRelResidualNorm( void *data, - HYPRE_Real *rel_resid_norm ) +hypre_BoomerAMGGetRelResidualNorm( hypre_ParAMGData *amg_data, + HYPRE_Real *rel_resid_norm ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3839,11 +3588,9 @@ hypre_BoomerAMGGetRelResidualNorm( void *data, } HYPRE_Int -hypre_BoomerAMGSetVariant( void *data, - HYPRE_Int variant) +hypre_BoomerAMGSetVariant( hypre_ParAMGData *amg_data, + HYPRE_Int variant) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3860,11 +3607,9 @@ hypre_BoomerAMGSetVariant( void *data, } HYPRE_Int -hypre_BoomerAMGGetVariant( void *data, - HYPRE_Int * variant) +hypre_BoomerAMGGetVariant( hypre_ParAMGData *amg_data, + HYPRE_Int *variant) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3876,11 +3621,9 @@ hypre_BoomerAMGGetVariant( void *data, } HYPRE_Int -hypre_BoomerAMGSetOverlap( void *data, - HYPRE_Int overlap) +hypre_BoomerAMGSetOverlap( hypre_ParAMGData *amg_data, + HYPRE_Int overlap) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3897,11 +3640,9 @@ hypre_BoomerAMGSetOverlap( void *data, } HYPRE_Int -hypre_BoomerAMGGetOverlap( void *data, - HYPRE_Int * overlap) +hypre_BoomerAMGGetOverlap( hypre_ParAMGData *amg_data, + HYPRE_Int *overlap) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3913,11 +3654,9 @@ hypre_BoomerAMGGetOverlap( void *data, } HYPRE_Int -hypre_BoomerAMGSetDomainType( void *data, - HYPRE_Int domain_type) +hypre_BoomerAMGSetDomainType( hypre_ParAMGData *amg_data, + HYPRE_Int domain_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3934,11 +3673,9 @@ hypre_BoomerAMGSetDomainType( void *data, } HYPRE_Int -hypre_BoomerAMGGetDomainType( void *data, - HYPRE_Int * domain_type) +hypre_BoomerAMGGetDomainType( hypre_ParAMGData *amg_data, + HYPRE_Int *domain_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3950,11 +3687,9 @@ hypre_BoomerAMGGetDomainType( void *data, } HYPRE_Int -hypre_BoomerAMGSetSchwarzRlxWeight( void *data, - HYPRE_Real schwarz_rlx_weight) +hypre_BoomerAMGSetSchwarzRlxWeight( hypre_ParAMGData *amg_data, + HYPRE_Real schwarz_rlx_weight) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*)data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3966,11 +3701,9 @@ hypre_BoomerAMGSetSchwarzRlxWeight( void *data, } HYPRE_Int -hypre_BoomerAMGGetSchwarzRlxWeight( void *data, - HYPRE_Real * schwarz_rlx_weight) +hypre_BoomerAMGGetSchwarzRlxWeight( hypre_ParAMGData *amg_data, + HYPRE_Real *schwarz_rlx_weight) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3982,11 +3715,9 @@ hypre_BoomerAMGGetSchwarzRlxWeight( void *data, } HYPRE_Int -hypre_BoomerAMGSetSchwarzUseNonSymm( void *data, - HYPRE_Int use_nonsymm) +hypre_BoomerAMGSetSchwarzUseNonSymm( hypre_ParAMGData *amg_data, + HYPRE_Int use_nonsymm) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -3998,11 +3729,9 @@ hypre_BoomerAMGSetSchwarzUseNonSymm( void *data, } HYPRE_Int -hypre_BoomerAMGSetSym( void *data, - HYPRE_Int sym) +hypre_BoomerAMGSetSym( hypre_ParAMGData *amg_data, + HYPRE_Int sym) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4014,11 +3743,9 @@ hypre_BoomerAMGSetSym( void *data, } HYPRE_Int -hypre_BoomerAMGSetLevel( void *data, - HYPRE_Int level) +hypre_BoomerAMGSetLevel( hypre_ParAMGData *amg_data, + HYPRE_Int level) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4030,11 +3757,9 @@ hypre_BoomerAMGSetLevel( void *data, } HYPRE_Int -hypre_BoomerAMGSetThreshold( void *data, - HYPRE_Real thresh) +hypre_BoomerAMGSetThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real thresh) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4046,11 +3771,9 @@ hypre_BoomerAMGSetThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGSetFilter( void *data, - HYPRE_Real filter) +hypre_BoomerAMGSetFilter( hypre_ParAMGData *amg_data, + HYPRE_Real filter) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4062,11 +3785,9 @@ hypre_BoomerAMGSetFilter( void *data, } HYPRE_Int -hypre_BoomerAMGSetDropTol( void *data, - HYPRE_Real drop_tol) +hypre_BoomerAMGSetDropTol( hypre_ParAMGData *amg_data, + HYPRE_Real drop_tol) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4078,11 +3799,9 @@ hypre_BoomerAMGSetDropTol( void *data, } HYPRE_Int -hypre_BoomerAMGSetMaxNzPerRow( void *data, - HYPRE_Int max_nz_per_row) +hypre_BoomerAMGSetMaxNzPerRow( hypre_ParAMGData *amg_data, + HYPRE_Int max_nz_per_row) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4099,11 +3818,9 @@ hypre_BoomerAMGSetMaxNzPerRow( void *data, } HYPRE_Int -hypre_BoomerAMGSetEuclidFile( void *data, - char *euclidfile) +hypre_BoomerAMGSetEuclidFile( hypre_ParAMGData *amg_data, + char *euclidfile) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4115,11 +3832,9 @@ hypre_BoomerAMGSetEuclidFile( void *data, } HYPRE_Int -hypre_BoomerAMGSetEuLevel( void *data, - HYPRE_Int eu_level) +hypre_BoomerAMGSetEuLevel( hypre_ParAMGData *amg_data, + HYPRE_Int eu_level) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4131,11 +3846,9 @@ hypre_BoomerAMGSetEuLevel( void *data, } HYPRE_Int -hypre_BoomerAMGSetEuSparseA( void *data, - HYPRE_Real eu_sparse_A) +hypre_BoomerAMGSetEuSparseA( hypre_ParAMGData *amg_data, + HYPRE_Real eu_sparse_A) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4147,11 +3860,9 @@ hypre_BoomerAMGSetEuSparseA( void *data, } HYPRE_Int -hypre_BoomerAMGSetEuBJ( void *data, - HYPRE_Int eu_bj) +hypre_BoomerAMGSetEuBJ( hypre_ParAMGData *amg_data, + HYPRE_Int eu_bj) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4161,12 +3872,11 @@ hypre_BoomerAMGSetEuBJ( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILUType( void *data, - HYPRE_Int ilu_type) +hypre_BoomerAMGSetILUType( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4176,12 +3886,11 @@ hypre_BoomerAMGSetILUType( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILULevel( void *data, - HYPRE_Int ilu_lfil) +hypre_BoomerAMGSetILULevel( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_lfil) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4191,12 +3900,11 @@ hypre_BoomerAMGSetILULevel( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILUDroptol( void *data, - HYPRE_Real ilu_droptol) +hypre_BoomerAMGSetILUDroptol( hypre_ParAMGData *amg_data, + HYPRE_Real ilu_droptol) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4206,12 +3914,11 @@ hypre_BoomerAMGSetILUDroptol( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILUTriSolve( void *data, - HYPRE_Int ilu_tri_solve) +hypre_BoomerAMGSetILUTriSolve( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_tri_solve) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4221,12 +3928,11 @@ hypre_BoomerAMGSetILUTriSolve( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILULowerJacobiIters( void *data, - HYPRE_Int ilu_lower_jacobi_iters) +hypre_BoomerAMGSetILULowerJacobiIters( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_lower_jacobi_iters) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4238,11 +3944,9 @@ hypre_BoomerAMGSetILULowerJacobiIters( void *data, } HYPRE_Int -hypre_BoomerAMGSetILUUpperJacobiIters( void *data, - HYPRE_Int ilu_upper_jacobi_iters) +hypre_BoomerAMGSetILUUpperJacobiIters( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_upper_jacobi_iters) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4252,12 +3956,11 @@ hypre_BoomerAMGSetILUUpperJacobiIters( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILUMaxIter( void *data, - HYPRE_Int ilu_max_iter) +hypre_BoomerAMGSetILUMaxIter( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_max_iter) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4267,12 +3970,11 @@ hypre_BoomerAMGSetILUMaxIter( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILUMaxRowNnz( void *data, - HYPRE_Int ilu_max_row_nnz) +hypre_BoomerAMGSetILUMaxRowNnz( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_max_row_nnz) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4282,12 +3984,11 @@ hypre_BoomerAMGSetILUMaxRowNnz( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetILULocalReordering( void *data, - HYPRE_Int ilu_reordering_type) +hypre_BoomerAMGSetILULocalReordering( hypre_ParAMGData *amg_data, + HYPRE_Int ilu_reordering_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4299,11 +4000,9 @@ hypre_BoomerAMGSetILULocalReordering( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIAlgoType( void *data, - HYPRE_Int fsai_algo_type) +hypre_BoomerAMGSetFSAIAlgoType( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_algo_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4315,11 +4014,9 @@ hypre_BoomerAMGSetFSAIAlgoType( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAILocalSolveType( void *data, - HYPRE_Int fsai_local_solve_type) +hypre_BoomerAMGSetFSAILocalSolveType( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_local_solve_type) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4331,11 +4028,9 @@ hypre_BoomerAMGSetFSAILocalSolveType( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIMaxSteps( void *data, - HYPRE_Int fsai_max_steps) +hypre_BoomerAMGSetFSAIMaxSteps( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_max_steps) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4347,11 +4042,9 @@ hypre_BoomerAMGSetFSAIMaxSteps( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIMaxStepSize( void *data, - HYPRE_Int fsai_max_step_size) +hypre_BoomerAMGSetFSAIMaxStepSize( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_max_step_size) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4363,11 +4056,9 @@ hypre_BoomerAMGSetFSAIMaxStepSize( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIMaxNnzRow( void *data, - HYPRE_Int fsai_max_nnz_row) +hypre_BoomerAMGSetFSAIMaxNnzRow( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_max_nnz_row) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4379,11 +4070,9 @@ hypre_BoomerAMGSetFSAIMaxNnzRow( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAINumLevels( void *data, - HYPRE_Int fsai_num_levels) +hypre_BoomerAMGSetFSAINumLevels( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_num_levels) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4395,11 +4084,9 @@ hypre_BoomerAMGSetFSAINumLevels( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIThreshold( void *data, - HYPRE_Real fsai_threshold) +hypre_BoomerAMGSetFSAIThreshold( hypre_ParAMGData *amg_data, + HYPRE_Real fsai_threshold) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4411,11 +4098,9 @@ hypre_BoomerAMGSetFSAIThreshold( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIEigMaxIters( void *data, - HYPRE_Int fsai_eig_max_iters) +hypre_BoomerAMGSetFSAIEigMaxIters( hypre_ParAMGData *amg_data, + HYPRE_Int fsai_eig_max_iters) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4427,11 +4112,9 @@ hypre_BoomerAMGSetFSAIEigMaxIters( void *data, } HYPRE_Int -hypre_BoomerAMGSetFSAIKapTolerance( void *data, - HYPRE_Real fsai_kap_tolerance) +hypre_BoomerAMGSetFSAIKapTolerance( hypre_ParAMGData *amg_data, + HYPRE_Real fsai_kap_tolerance) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4443,11 +4126,9 @@ hypre_BoomerAMGSetFSAIKapTolerance( void *data, } HYPRE_Int -hypre_BoomerAMGSetChebyOrder( void *data, - HYPRE_Int order) +hypre_BoomerAMGSetChebyOrder( hypre_ParAMGData *amg_data, + HYPRE_Int order) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4462,12 +4143,11 @@ hypre_BoomerAMGSetChebyOrder( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetChebyFraction( void *data, - HYPRE_Real ratio) +hypre_BoomerAMGSetChebyFraction( hypre_ParAMGData *amg_data, + HYPRE_Real ratio) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4482,12 +4162,11 @@ hypre_BoomerAMGSetChebyFraction( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetChebyEigEst( void *data, - HYPRE_Int cheby_eig_est) +hypre_BoomerAMGSetChebyEigEst( hypre_ParAMGData *amg_data, + HYPRE_Int cheby_eig_est) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4502,12 +4181,11 @@ hypre_BoomerAMGSetChebyEigEst( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetChebyVariant( void *data, - HYPRE_Int cheby_variant) +hypre_BoomerAMGSetChebyVariant( hypre_ParAMGData *amg_data, + HYPRE_Int cheby_variant) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4517,12 +4195,11 @@ hypre_BoomerAMGSetChebyVariant( void *data, return hypre_error_flag; } + HYPRE_Int -hypre_BoomerAMGSetChebyScale( void *data, - HYPRE_Int cheby_scale) +hypre_BoomerAMGSetChebyScale( hypre_ParAMGData *amg_data, + HYPRE_Int cheby_scale) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4533,18 +4210,17 @@ hypre_BoomerAMGSetChebyScale( void *data, return hypre_error_flag; } - /*-------------------------------------------------------------------------- * hypre_BoomerAMGSetInterpVectors * -used for post-interpolation fitting of smooth vectors *--------------------------------------------------------------------------*/ -HYPRE_Int hypre_BoomerAMGSetInterpVectors(void *solver, - HYPRE_Int num_vectors, - hypre_ParVector **interp_vectors) +HYPRE_Int +hypre_BoomerAMGSetInterpVectors(hypre_ParAMGData *amg_data, + HYPRE_Int num_vectors, + hypre_ParVector **interp_vectors) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) solver; if (!amg_data) { hypre_error_in_arg(1); @@ -4557,35 +4233,10 @@ HYPRE_Int hypre_BoomerAMGSetInterpVectors(void *solver, return hypre_error_flag; } -/*-------------------------------------------------------------------------- - * hypre_BoomerAMGSetInterpVectorValues - * -used for post-interpolation fitting of smooth vectors - *--------------------------------------------------------------------------*/ - -/*HYPRE_Int hypre_BoomerAMGSetInterpVectorValues(void *solver, - HYPRE_Int num_vectors, - HYPRE_Complex *interp_vector_values) - -{ - hypre_ParAMGData *amg_data = solver; - if (!amg_data) - { - hypre_error_in_arg(1); - return hypre_error_flag; - } - - hypre_ParAMGInterpVectors(amg_data) = interp_vectors; - hypre_ParAMGNumInterpVectors(amg_data) = num_vectors; - - return hypre_error_flag; -}*/ - -HYPRE_Int hypre_BoomerAMGSetInterpVecVariant(void *solver, - HYPRE_Int var) - - +HYPRE_Int +hypre_BoomerAMGSetInterpVecVariant(hypre_ParAMGData *amg_data, + HYPRE_Int var) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) solver; if (!amg_data) { hypre_error_in_arg(1); @@ -4604,15 +4255,12 @@ HYPRE_Int hypre_BoomerAMGSetInterpVecVariant(void *solver, hypre_ParAMGInterpVecVariant(amg_data) = var; return hypre_error_flag; - } HYPRE_Int -hypre_BoomerAMGSetInterpVecQMax( void *data, - HYPRE_Int q_max) +hypre_BoomerAMGSetInterpVecQMax( hypre_ParAMGData *amg_data, + HYPRE_Int q_max) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4624,11 +4272,9 @@ hypre_BoomerAMGSetInterpVecQMax( void *data, } HYPRE_Int -hypre_BoomerAMGSetInterpVecAbsQTrunc( void *data, - HYPRE_Real q_trunc) +hypre_BoomerAMGSetInterpVecAbsQTrunc( hypre_ParAMGData *amg_data, + HYPRE_Real q_trunc) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4639,11 +4285,11 @@ hypre_BoomerAMGSetInterpVecAbsQTrunc( void *data, return hypre_error_flag; } -HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors(void *solver, - HYPRE_Int smooth_interp_vectors) +HYPRE_Int +hypre_BoomerAMGSetSmoothInterpVectors(hypre_ParAMGData *amg_data, + HYPRE_Int smooth_interp_vectors) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) solver; if (!amg_data) { hypre_error_in_arg(1); @@ -4656,11 +4302,9 @@ HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors(void *solver, } HYPRE_Int -hypre_BoomerAMGSetInterpRefine( void *data, - HYPRE_Int num_refine ) +hypre_BoomerAMGSetInterpRefine( hypre_ParAMGData *amg_data, + HYPRE_Int num_refine ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4673,11 +4317,9 @@ hypre_BoomerAMGSetInterpRefine( void *data, } HYPRE_Int -hypre_BoomerAMGSetInterpVecFirstLevel( void *data, - HYPRE_Int level ) +hypre_BoomerAMGSetInterpVecFirstLevel( hypre_ParAMGData *amg_data, + HYPRE_Int level ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4690,11 +4332,9 @@ hypre_BoomerAMGSetInterpVecFirstLevel( void *data, } HYPRE_Int -hypre_BoomerAMGSetAdditive( void *data, - HYPRE_Int additive ) +hypre_BoomerAMGSetAdditive( hypre_ParAMGData *amg_data, + HYPRE_Int additive ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4707,11 +4347,9 @@ hypre_BoomerAMGSetAdditive( void *data, } HYPRE_Int -hypre_BoomerAMGGetAdditive( void *data, - HYPRE_Int * additive ) +hypre_BoomerAMGGetAdditive( hypre_ParAMGData *amg_data, + HYPRE_Int *additive ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4724,11 +4362,9 @@ hypre_BoomerAMGGetAdditive( void *data, } HYPRE_Int -hypre_BoomerAMGSetMultAdditive( void *data, - HYPRE_Int mult_additive ) +hypre_BoomerAMGSetMultAdditive( hypre_ParAMGData *amg_data, + HYPRE_Int mult_additive ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4741,11 +4377,9 @@ hypre_BoomerAMGSetMultAdditive( void *data, } HYPRE_Int -hypre_BoomerAMGGetMultAdditive( void *data, - HYPRE_Int * mult_additive ) +hypre_BoomerAMGGetMultAdditive( hypre_ParAMGData *amg_data, + HYPRE_Int *mult_additive ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4758,11 +4392,9 @@ hypre_BoomerAMGGetMultAdditive( void *data, } HYPRE_Int -hypre_BoomerAMGSetSimple( void *data, - HYPRE_Int simple ) +hypre_BoomerAMGSetSimple( hypre_ParAMGData *amg_data, + HYPRE_Int simple ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4775,11 +4407,9 @@ hypre_BoomerAMGSetSimple( void *data, } HYPRE_Int -hypre_BoomerAMGGetSimple( void *data, - HYPRE_Int * simple ) +hypre_BoomerAMGGetSimple( hypre_ParAMGData *amg_data, + HYPRE_Int *simple ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4792,11 +4422,9 @@ hypre_BoomerAMGGetSimple( void *data, } HYPRE_Int -hypre_BoomerAMGSetAddLastLvl( void *data, - HYPRE_Int add_last_lvl ) +hypre_BoomerAMGSetAddLastLvl( hypre_ParAMGData *amg_data, + HYPRE_Int add_last_lvl ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -4809,11 +4437,10 @@ hypre_BoomerAMGSetAddLastLvl( void *data, } HYPRE_Int -hypre_BoomerAMGSetNonGalerkinTol( void *data, - HYPRE_Real nongalerkin_tol) +hypre_BoomerAMGSetNonGalerkinTol( hypre_ParAMGData *amg_data, + HYPRE_Real nongalerkin_tol) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - HYPRE_Int i, max_num_levels; + HYPRE_Int i, max_num_levels; HYPRE_Real *nongal_tol_array; if (!amg_data) @@ -4845,13 +4472,12 @@ hypre_BoomerAMGSetNonGalerkinTol( void *data, } HYPRE_Int -hypre_BoomerAMGSetLevelNonGalerkinTol( void *data, - HYPRE_Real nongalerkin_tol, - HYPRE_Int level) +hypre_BoomerAMGSetLevelNonGalerkinTol( hypre_ParAMGData *amg_data, + HYPRE_Real nongalerkin_tol, + HYPRE_Int level) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; HYPRE_Real *nongal_tol_array; - HYPRE_Int max_num_levels; + HYPRE_Int max_num_levels; if (!amg_data) { @@ -4885,68 +4511,61 @@ hypre_BoomerAMGSetLevelNonGalerkinTol( void *data, } HYPRE_Int -hypre_BoomerAMGSetNonGalerkTol( void *data, - HYPRE_Int nongalerk_num_tol, - HYPRE_Real *nongalerk_tol) +hypre_BoomerAMGSetNonGalerkTol( hypre_ParAMGData *amg_data, + HYPRE_Int nongalerk_num_tol, + HYPRE_Real *nongalerk_tol) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataNonGalerkNumTol(amg_data) = nongalerk_num_tol; - hypre_ParAMGDataNonGalerkTol(amg_data) = nongalerk_tol; + hypre_ParAMGDataNonGalerkTol(amg_data) = nongalerk_tol; + return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGSetRAP2( void *data, - HYPRE_Int rap2 ) +hypre_BoomerAMGSetRAP2( hypre_ParAMGData *amg_data, + HYPRE_Int rap2 ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataRAP2(amg_data) = rap2; + return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGSetModuleRAP2( void *data, - HYPRE_Int mod_rap2 ) +hypre_BoomerAMGSetModuleRAP2( hypre_ParAMGData *amg_data, + HYPRE_Int mod_rap2 ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataModularizedMatMat(amg_data) = mod_rap2; + return hypre_error_flag; } HYPRE_Int -hypre_BoomerAMGSetKeepTranspose( void *data, - HYPRE_Int keepTranspose) +hypre_BoomerAMGSetKeepTranspose( hypre_ParAMGData *amg_data, + HYPRE_Int keepTranspose) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataKeepTranspose(amg_data) = keepTranspose; + return hypre_error_flag; } #ifdef HYPRE_USING_DSUPERLU HYPRE_Int -hypre_BoomerAMGSetDSLUThreshold( void *data, - HYPRE_Int dslu_threshold) +hypre_BoomerAMGSetDSLUThreshold( hypre_ParAMGData *amg_data, + HYPRE_Int dslu_threshold) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - hypre_ParAMGDataDSLUThreshold(amg_data) = dslu_threshold; + return hypre_error_flag; } #endif HYPRE_Int -hypre_BoomerAMGSetCPoints(void *data, - HYPRE_Int cpt_coarse_level, - HYPRE_Int num_cpt_coarse, - HYPRE_BigInt *cpt_coarse_index) +hypre_BoomerAMGSetCPoints(hypre_ParAMGData *amg_data, + HYPRE_Int cpt_coarse_level, + HYPRE_Int num_cpt_coarse, + HYPRE_BigInt *cpt_coarse_index) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - HYPRE_BigInt *C_points_marker = NULL; HYPRE_Int *C_points_local_marker = NULL; HYPRE_Int cpt_level; @@ -5006,12 +4625,11 @@ hypre_BoomerAMGSetCPoints(void *data, } HYPRE_Int -hypre_BoomerAMGSetFPoints(void *data, - HYPRE_Int isolated, - HYPRE_Int num_points, - HYPRE_BigInt *indices) +hypre_BoomerAMGSetFPoints(hypre_ParAMGData *amg_data, + HYPRE_Int isolated, + HYPRE_Int num_points, + HYPRE_BigInt *indices) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; HYPRE_BigInt *marker = NULL; HYPRE_Int i; @@ -5076,11 +4694,9 @@ hypre_BoomerAMGSetFPoints(void *data, } HYPRE_Int -hypre_BoomerAMGSetCumNnzAP( void *data, - HYPRE_Real cum_nnz_AP ) +hypre_BoomerAMGSetCumNnzAP( hypre_ParAMGData *amg_data, + HYPRE_Real cum_nnz_AP ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); @@ -5091,13 +4707,10 @@ hypre_BoomerAMGSetCumNnzAP( void *data, return hypre_error_flag; } - HYPRE_Int -hypre_BoomerAMGGetCumNnzAP( void *data, - HYPRE_Real *cum_nnz_AP ) +hypre_BoomerAMGGetCumNnzAP( hypre_ParAMGData *amg_data, + HYPRE_Real *cum_nnz_AP ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - if (!amg_data) { hypre_error_in_arg(1); diff --git a/src/parcsr_ls/par_amg_setup.c b/src/parcsr_ls/par_amg_setup.c index 4b8525abbf..1a6270afee 100644 --- a/src/parcsr_ls/par_amg_setup.c +++ b/src/parcsr_ls/par_amg_setup.c @@ -26,13 +26,12 @@ *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSetup( void *amg_vdata, +hypre_BoomerAMGSetup( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, hypre_ParVector *f, hypre_ParVector *u ) { MPI_Comm comm = hypre_ParCSRMatrixComm(A); - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; /* Data Structure variables */ HYPRE_Int num_vectors; @@ -488,8 +487,8 @@ hypre_BoomerAMGSetup( void *amg_vdata, } { - MPI_Comm new_comm = hypre_ParAMGDataNewComm(amg_data); - void *amg = hypre_ParAMGDataCoarseSolver(amg_data); + MPI_Comm new_comm = hypre_ParAMGDataNewComm(amg_data); + if (hypre_ParAMGDataRtemp(amg_data)) { hypre_ParVectorDestroy(hypre_ParAMGDataRtemp(amg_data)); @@ -541,11 +540,8 @@ hypre_BoomerAMGSetup( void *amg_vdata, hypre_ParAMGDataNewComm(amg_data) = hypre_MPI_COMM_NULL; } - if (amg) - { - hypre_BoomerAMGDestroy (amg); - hypre_ParAMGDataCoarseSolver(amg_data) = NULL; - } + HYPRE_BoomerAMGDestroy(hypre_ParAMGDataCoarseSolver(amg_data)); + hypre_ParAMGDataCoarseSolver(amg_data) = NULL; hypre_TFree(hypre_ParAMGDataMaxEigEst(amg_data), HYPRE_MEMORY_HOST); hypre_TFree(hypre_ParAMGDataMinEigEst(amg_data), HYPRE_MEMORY_HOST); diff --git a/src/parcsr_ls/par_amg_solve.c b/src/parcsr_ls/par_amg_solve.c index 2ac04b30a7..e2a0464b3e 100644 --- a/src/parcsr_ls/par_amg_solve.c +++ b/src/parcsr_ls/par_amg_solve.c @@ -19,13 +19,12 @@ *--------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSolve( void *amg_vdata, +hypre_BoomerAMGSolve( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, hypre_ParVector *f, hypre_ParVector *u ) { MPI_Comm comm = hypre_ParCSRMatrixComm(A); - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; /* Data Structure variables */ HYPRE_Int amg_print_level; diff --git a/src/parcsr_ls/par_amg_solveT.c b/src/parcsr_ls/par_amg_solveT.c index e0df8686a9..5ca39d2454 100644 --- a/src/parcsr_ls/par_amg_solveT.c +++ b/src/parcsr_ls/par_amg_solveT.c @@ -19,18 +19,14 @@ *--------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGSolveT( void *amg_vdata, +hypre_BoomerAMGSolveT( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, hypre_ParVector *f, hypre_ParVector *u ) { - MPI_Comm comm = hypre_ParCSRMatrixComm(A); - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - /* Data Structure variables */ - HYPRE_Int amg_print_level; HYPRE_Int amg_logging; HYPRE_Real *num_coeffs; @@ -308,14 +304,11 @@ hypre_BoomerAMGSolveT( void *amg_vdata, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGCycleT( void *amg_vdata, +hypre_BoomerAMGCycleT( hypre_ParAMGData *amg_data, hypre_ParVector **F_array, hypre_ParVector **U_array ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - /* Data Structure variables */ - hypre_ParCSRMatrix **A_array; hypre_ParCSRMatrix **P_array; hypre_ParCSRMatrix **R_array; diff --git a/src/parcsr_ls/par_cg_relax_wt.c b/src/parcsr_ls/par_cg_relax_wt.c index 91a6219966..07584f17ef 100644 --- a/src/parcsr_ls/par_cg_relax_wt.c +++ b/src/parcsr_ls/par_cg_relax_wt.c @@ -19,14 +19,12 @@ *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGCGRelaxWt( void *amg_vdata, - HYPRE_Int level, - HYPRE_Int num_cg_sweeps, - HYPRE_Real *rlx_wt_ptr) +hypre_BoomerAMGCGRelaxWt( hypre_ParAMGData *amg_data, + HYPRE_Int level, + HYPRE_Int num_cg_sweeps, + HYPRE_Real *rlx_wt_ptr) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - - MPI_Comm comm; + MPI_Comm comm; HYPRE_Solver *smoother; /* Data Structure variables */ diff --git a/src/parcsr_ls/par_cycle.c b/src/parcsr_ls/par_cycle.c index ee4b11476c..33e32436ab 100644 --- a/src/parcsr_ls/par_cycle.c +++ b/src/parcsr_ls/par_cycle.c @@ -20,13 +20,11 @@ *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGCycle( void *amg_vdata, +hypre_BoomerAMGCycle( hypre_ParAMGData *amg_data, hypre_ParVector **F_array, hypre_ParVector **U_array ) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) amg_vdata; - - HYPRE_Solver *smoother; + HYPRE_Solver *smoother; /* Data Structure variables */ hypre_ParCSRMatrix **A_array; diff --git a/src/parcsr_ls/par_gsmg.c b/src/parcsr_ls/par_gsmg.c index da9e3af3ca..f472a08bc6 100644 --- a/src/parcsr_ls/par_gsmg.c +++ b/src/parcsr_ls/par_gsmg.c @@ -55,9 +55,12 @@ static void mydscal(HYPRE_Int n, HYPRE_Real a, HYPRE_Real *x) *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_ParCSRMatrixFillSmooth(HYPRE_Int nsamples, HYPRE_Real *samples, - hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, - HYPRE_Int num_functions, HYPRE_Int *dof_func) +hypre_ParCSRMatrixFillSmooth(HYPRE_Int nsamples, + HYPRE_Real *samples, + hypre_ParCSRMatrix *S, + hypre_ParCSRMatrix *A, + HYPRE_Int num_functions, + HYPRE_Int *dof_func) { hypre_ParCSRCommPkg *comm_pkg = hypre_ParCSRMatrixCommPkg(A); hypre_ParCSRCommHandle *comm_handle; @@ -415,14 +418,12 @@ hypre_ParCSRMatrixThreshold(hypre_ParCSRMatrix *A, HYPRE_Real thresh) *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGCreateSmoothVecs(void *data, +hypre_BoomerAMGCreateSmoothVecs(hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, - HYPRE_Int num_sweeps, - HYPRE_Int level, + HYPRE_Int num_sweeps, + HYPRE_Int level, HYPRE_Real **SmoothVecs_p) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; - MPI_Comm comm = hypre_ParCSRMatrixComm(A); hypre_ParCSRCommPkg *comm_pkg = hypre_ParCSRMatrixCommPkg(A); @@ -564,15 +565,14 @@ hypre_BoomerAMGCreateSmoothVecs(void *data, *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_BoomerAMGCreateSmoothDirs(void *data, +hypre_BoomerAMGCreateSmoothDirs(hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, HYPRE_Real *SmoothVecs, HYPRE_Real thresh, - HYPRE_Int num_functions, - HYPRE_Int *dof_func, + HYPRE_Int num_functions, + HYPRE_Int *dof_func, hypre_ParCSRMatrix **S_ptr) { - hypre_ParAMGData *amg_data = (hypre_ParAMGData*) data; hypre_ParCSRMatrix *S; HYPRE_Real minimax; HYPRE_Int debug_flag = hypre_ParAMGDataDebugFlag(amg_data); @@ -2014,7 +2014,6 @@ hypre_BoomerAMGBuildInterpGSMG( hypre_ParCSRMatrix *A, P_diag_i[n_fine], P_offd_i[n_fine]); - P_diag = hypre_ParCSRMatrixDiag(P); hypre_CSRMatrixData(P_diag) = P_diag_data; hypre_CSRMatrixI(P_diag) = P_diag_i; diff --git a/src/parcsr_ls/par_jacobi_interp.c b/src/parcsr_ls/par_jacobi_interp.c index 9b72a369c2..1dbf9f682a 100644 --- a/src/parcsr_ls/par_jacobi_interp.c +++ b/src/parcsr_ls/par_jacobi_interp.c @@ -14,14 +14,17 @@ #define HYPRE_MAX_PRINTABLE_MATRIX 125 /*#define HYPRE_JACINT_PRINT_DIAGNOSTICS*/ -void hypre_BoomerAMGJacobiInterp( hypre_ParCSRMatrix * A, - hypre_ParCSRMatrix ** P, - hypre_ParCSRMatrix * S, - HYPRE_Int num_functions, HYPRE_Int * dof_func, - HYPRE_Int * CF_marker, HYPRE_Int level, - HYPRE_Real truncation_threshold, - HYPRE_Real truncation_threshold_minus ) /* nji steps of Jacobi interpolation, with nji presently just set in the code.*/ +HYPRE_Int +hypre_BoomerAMGJacobiInterp( hypre_ParCSRMatrix *A, + hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, + HYPRE_Int num_functions, + HYPRE_Int *dof_func, + HYPRE_Int *CF_marker, + HYPRE_Int level, + HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus ) { HYPRE_Real weight_AF = 1.0; /* weight multiplied by A's fine row elements */ HYPRE_Int * dof_func_offd = NULL; @@ -45,16 +48,10 @@ void hypre_BoomerAMGJacobiInterp( hypre_ParCSRMatrix * A, { hypre_TFree( dof_func_offd, HYPRE_MEMORY_HOST); } + + return hypre_error_flag; } -void hypre_BoomerAMGJacobiInterp_1( hypre_ParCSRMatrix * A, - hypre_ParCSRMatrix ** P, - hypre_ParCSRMatrix * S, - HYPRE_Int * CF_marker, HYPRE_Int level, - HYPRE_Real truncation_threshold, - HYPRE_Real truncation_threshold_minus, - HYPRE_Int * dof_func, HYPRE_Int * dof_func_offd, - HYPRE_Real weight_AF) /* One step of Jacobi interpolation: A is the linear system. P is an interpolation matrix, input and output @@ -73,6 +70,18 @@ void hypre_BoomerAMGJacobiInterp_1( hypre_ParCSRMatrix * A, where "old" denotes a value on entry to this function, "new" a returned value. */ + +HYPRE_Int +hypre_BoomerAMGJacobiInterp_1( hypre_ParCSRMatrix *A, + hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, + HYPRE_Int *CF_marker, + HYPRE_Int level, + HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus, + HYPRE_Int *dof_func, + HYPRE_Int *dof_func_offd, + HYPRE_Real weight_AF ) { HYPRE_UNUSED_VAR(S); HYPRE_UNUSED_VAR(level); @@ -393,13 +402,11 @@ void hypre_BoomerAMGJacobiInterp_1( hypre_ParCSRMatrix * A, if ( num_rows_diag_P <= HYPRE_MAX_PRINTABLE_MATRIX ) { hypre_ParCSRMatrixPrintIJ( *P, 0, 0, filename); } #endif - hypre_TFree( J_marker, HYPRE_MEMORY_HOST); + hypre_TFree(J_marker, HYPRE_MEMORY_HOST); + return hypre_error_flag; } -void hypre_BoomerAMGTruncateInterp( hypre_ParCSRMatrix *P, - HYPRE_Real eps, HYPRE_Real dlt, - HYPRE_Int * CF_marker ) /* Truncate the interpolation matrix P, but only in rows for which the marker is <0. Truncation means that an element P(i,j) is set to 0 if P(i,j)>0 and P(i,j) coarse_grid_solver)) { - hypre_BoomerAMGDestroy( (mgr_data -> coarse_grid_solver) ); + HYPRE_BoomerAMGDestroy( (mgr_data -> coarse_grid_solver) ); } (mgr_data -> coarse_grid_solver) = NULL; } @@ -357,7 +357,7 @@ hypre_MGRDestroy( void *data ) } if (mgr_data -> fsolver_mode == 2) { - hypre_BoomerAMGDestroy((mgr_data -> aff_solver)[0]); + HYPRE_BoomerAMGDestroy((mgr_data -> aff_solver)[0]); } hypre_TFree(mgr_data -> aff_solver, HYPRE_MEMORY_HOST); (mgr_data -> aff_solver) = NULL; @@ -3373,7 +3373,7 @@ hypre_MGRComputeAlgebraicFixedStress(hypre_ParCSRMatrix *A, hypre_ParCSRMatrixMatvecOutOfPlace(1.0, A_up, e1_vector, 0.0, e2_vector, e2_vector); // solve e3 = A_uu^-1 * e2 - hypre_BoomerAMGSolve(A_ff_solver, A_uu, e2_vector, e3_vector); + HYPRE_BoomerAMGSolve(A_ff_solver, A_uu, e2_vector, e3_vector); // compute e4 = A_su * e3 hypre_ParCSRMatrixMatvecOutOfPlace(1.0, A_su, e3_vector, 0.0, e4_vector, e4_vector); @@ -5270,15 +5270,15 @@ hypre_MGRSetFSolver( void *mgr_vdata, return hypre_error_flag; } HYPRE_Int max_num_coarse_levels = (mgr_data -> max_num_coarse_levels); - HYPRE_Solver **aff_solver = (mgr_data -> aff_solver); + HYPRE_Solver *aff_solver = (mgr_data -> aff_solver); if (aff_solver == NULL) { - aff_solver = hypre_CTAlloc(HYPRE_Solver*, max_num_coarse_levels, HYPRE_MEMORY_HOST); + aff_solver = hypre_CTAlloc(HYPRE_Solver, max_num_coarse_levels, HYPRE_MEMORY_HOST); } /* only allow to set F-solver for the first level */ - aff_solver[0] = (HYPRE_Solver *) fsolver; + aff_solver[0] = (HYPRE_Solver) fsolver; (mgr_data -> fine_grid_solver_solve) = fine_grid_solver_solve; (mgr_data -> fine_grid_solver_setup) = fine_grid_solver_setup; @@ -5310,7 +5310,7 @@ hypre_MGRSetFSolverAtLevel( HYPRE_Int level, return hypre_error_flag; } HYPRE_Int max_num_coarse_levels = (mgr_data -> max_num_coarse_levels); - HYPRE_Solver **aff_solver = (mgr_data -> aff_solver); + HYPRE_Solver *aff_solver = (mgr_data -> aff_solver); /* Check if the requested level makes sense */ if (level < 0 || level >= max_num_coarse_levels) @@ -5322,12 +5322,12 @@ hypre_MGRSetFSolverAtLevel( HYPRE_Int level, /* Allocate aff_solver if needed */ if (!aff_solver) { - (mgr_data -> aff_solver) = aff_solver = hypre_CTAlloc(HYPRE_Solver*, + (mgr_data -> aff_solver) = aff_solver = hypre_CTAlloc(HYPRE_Solver, max_num_coarse_levels, HYPRE_MEMORY_HOST); } - aff_solver[level] = (HYPRE_Solver *) fsolver; + aff_solver[level] = (HYPRE_Solver) fsolver; (mgr_data -> fsolver_mode) = 0; return hypre_error_flag; diff --git a/src/parcsr_ls/par_mgr.h b/src/parcsr_ls/par_mgr.h index 43f7ca44ad..acaf8f8d29 100644 --- a/src/parcsr_ls/par_mgr.h +++ b/src/parcsr_ls/par_mgr.h @@ -64,7 +64,7 @@ typedef struct hypre_ParVector **F_fine_array; hypre_ParVector **U_fine_array; - HYPRE_Solver **aff_solver; + HYPRE_Solver *aff_solver; HYPRE_Int (*fine_grid_solver_setup)(void*, void*, void*, void*); HYPRE_Int (*fine_grid_solver_solve)(void*, void*, void*, void*); diff --git a/src/parcsr_ls/par_mgr_setup.c b/src/parcsr_ls/par_mgr_setup.c index ac789fb3e2..2c37ec5f00 100644 --- a/src/parcsr_ls/par_mgr_setup.c +++ b/src/parcsr_ls/par_mgr_setup.c @@ -87,7 +87,7 @@ hypre_MGRSetup( void *mgr_vdata, hypre_ParCSRMatrix *A_CC = NULL; #endif hypre_Solver *aff_base; - HYPRE_Solver **aff_solver = (mgr_data -> aff_solver); + HYPRE_Solver *aff_solver = (mgr_data -> aff_solver); hypre_ParCSRMatrix **A_ff_array = (mgr_data -> A_ff_array); hypre_ParVector **F_fine_array = (mgr_data -> F_fine_array); hypre_ParVector **U_fine_array = (mgr_data -> U_fine_array); @@ -206,14 +206,14 @@ hypre_MGRSetup( void *mgr_vdata, /* create and set default solver parameters here */ /* create and initialize default_cg_solver */ - default_cg_solver = (HYPRE_Solver) hypre_BoomerAMGCreate(); - hypre_BoomerAMGSetMaxIter(default_cg_solver, (mgr_data -> max_iter)); - hypre_BoomerAMGSetRelaxOrder(default_cg_solver, 1); - hypre_BoomerAMGSetPrintLevel(default_cg_solver, 3); + HYPRE_BoomerAMGCreate(&default_cg_solver); + HYPRE_BoomerAMGSetMaxIter(default_cg_solver, (mgr_data -> max_iter)); + HYPRE_BoomerAMGSetRelaxOrder(default_cg_solver, 1); + HYPRE_BoomerAMGSetPrintLevel(default_cg_solver, 3); /* set setup and solve functions */ - cgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSetup; - cgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSolve; + cgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSetup; + cgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSolve; (mgr_data -> coarse_grid_solver_setup) = cgrid_solver_setup; (mgr_data -> coarse_grid_solver_solve) = cgrid_solver_solve; (mgr_data -> coarse_grid_solver) = default_cg_solver; @@ -874,13 +874,13 @@ hypre_MGRSetup( void *mgr_vdata, if (aff_solver[j]) { aff_base = (hypre_Solver*) aff_solver[j]; - hypre_SolverDestroy(aff_base)((HYPRE_Solver) (aff_base)); + hypre_SolverDestroy(aff_base)(aff_solver[j]); aff_solver[j] = NULL; } } if (mgr_data -> fsolver_mode == 2) { - hypre_BoomerAMGDestroy(aff_solver[0]); + HYPRE_BoomerAMGDestroy(aff_solver[0]); } } @@ -890,7 +890,7 @@ hypre_MGRSetup( void *mgr_vdata, } else { - fgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSetup; + fgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSetup; (mgr_data -> fine_grid_solver_setup) = fgrid_solver_setup; } if ((mgr_data -> fine_grid_solver_solve) != NULL) @@ -899,7 +899,7 @@ hypre_MGRSetup( void *mgr_vdata, } else { - fgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSolve; + fgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSolve; (mgr_data -> fine_grid_solver_solve) = fgrid_solver_solve; } @@ -933,7 +933,7 @@ hypre_MGRSetup( void *mgr_vdata, } if (aff_solver == NULL) { - aff_solver = hypre_CTAlloc(HYPRE_Solver*, max_num_coarse_levels, HYPRE_MEMORY_HOST); + aff_solver = hypre_CTAlloc(HYPRE_Solver, max_num_coarse_levels, HYPRE_MEMORY_HOST); } if (A_ff_array == NULL) { @@ -1555,18 +1555,18 @@ hypre_MGRSetup( void *mgr_vdata, A_ff_array[lev] = A_FF; /* Create BoomerAMG solver for A_FF */ - aff_solver[lev] = (HYPRE_Solver*) hypre_BoomerAMGCreate(); - hypre_BoomerAMGSetMaxIter(aff_solver[lev], (mgr_data -> num_relax_sweeps)[lev]); - hypre_BoomerAMGSetTol(aff_solver[lev], 0.0); - //hypre_BoomerAMGSetStrongThreshold(aff_solver[lev], 0.6); + HYPRE_BoomerAMGCreate(&aff_solver[lev]); + HYPRE_BoomerAMGSetMaxIter(aff_solver[lev], (mgr_data -> num_relax_sweeps)[lev]); + HYPRE_BoomerAMGSetTol(aff_solver[lev], 0.0); + //HYPRE_BoomerAMGSetStrongThreshold(aff_solver[lev], 0.6); #if defined(HYPRE_USING_GPU) - hypre_BoomerAMGSetRelaxType(aff_solver[lev], 18); - hypre_BoomerAMGSetCoarsenType(aff_solver[lev], 8); - hypre_BoomerAMGSetNumSweeps(aff_solver[lev], 3); + HYPRE_BoomerAMGSetRelaxType(aff_solver[lev], 18); + HYPRE_BoomerAMGSetCoarsenType(aff_solver[lev], 8); + HYPRE_BoomerAMGSetNumSweeps(aff_solver[lev], 3); #else - hypre_BoomerAMGSetRelaxOrder(aff_solver[lev], 1); + HYPRE_BoomerAMGSetRelaxOrder(aff_solver[lev], 1); #endif - hypre_BoomerAMGSetPrintLevel(aff_solver[lev], mgr_data -> frelax_print_level); + HYPRE_BoomerAMGSetPrintLevel(aff_solver[lev], mgr_data -> frelax_print_level); fgrid_solver_setup(aff_solver[lev], A_ff_array[lev], @@ -1780,15 +1780,15 @@ hypre_MGRSetup( void *mgr_vdata, } /* create and set default solver parameters here */ - default_cg_solver = (HYPRE_Solver) hypre_BoomerAMGCreate(); - hypre_BoomerAMGSetMaxIter(default_cg_solver, 1); - hypre_BoomerAMGSetTol(default_cg_solver, 0.0); - hypre_BoomerAMGSetRelaxOrder(default_cg_solver, 1); - hypre_BoomerAMGSetPrintLevel(default_cg_solver, mgr_data -> cg_print_level); + HYPRE_BoomerAMGCreate(&default_cg_solver); + HYPRE_BoomerAMGSetMaxIter(default_cg_solver, 1); + HYPRE_BoomerAMGSetTol(default_cg_solver, 0.0); + HYPRE_BoomerAMGSetRelaxOrder(default_cg_solver, 1); + HYPRE_BoomerAMGSetPrintLevel(default_cg_solver, mgr_data -> cg_print_level); /* set setup and solve functions */ - cgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSetup; - cgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) hypre_BoomerAMGSolve; + cgrid_solver_setup = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSetup; + cgrid_solver_solve = (HYPRE_Int (*)(void*, void*, void*, void*)) HYPRE_BoomerAMGSolve; (mgr_data -> coarse_grid_solver_setup) = cgrid_solver_setup; (mgr_data -> coarse_grid_solver_solve) = cgrid_solver_solve; (mgr_data -> coarse_grid_solver) = default_cg_solver; diff --git a/src/parcsr_ls/par_mgr_solve.c b/src/parcsr_ls/par_mgr_solve.c index 46f9fd61ca..904c802b96 100644 --- a/src/parcsr_ls/par_mgr_solve.c +++ b/src/parcsr_ls/par_mgr_solve.c @@ -615,7 +615,8 @@ hypre_MGRCycle( void *mgr_vdata, if (use_default_cgrid_solver) { HYPRE_Real convergence_factor_cg; - hypre_BoomerAMGGetRelResidualNorm(cg_solver, &convergence_factor_cg); + + HYPRE_BoomerAMGGetFinalRelativeResidualNorm(cg_solver, &convergence_factor_cg); (mgr_data -> cg_convergence_factor) = convergence_factor_cg; if ((print_level) > 1 && my_id == 0 && convergence_factor_cg > hypre_cabs(fp_one)) { diff --git a/src/parcsr_ls/par_mgr_stats.c b/src/parcsr_ls/par_mgr_stats.c index 805e527823..7c4f4f8bc4 100644 --- a/src/parcsr_ls/par_mgr_stats.c +++ b/src/parcsr_ls/par_mgr_stats.c @@ -309,7 +309,7 @@ hypre_MGRSetupStats(void *mgr_vdata) hypre_ParCSRMatrix *A_coarsest = hypre_ParMGRDataRAP(mgr_data); HYPRE_Int num_levels_mgr = hypre_ParMGRDataNumCoarseLevels(mgr_data); HYPRE_Solver coarse_solver = hypre_ParMGRDataCoarseGridSolver(mgr_data); - HYPRE_Solver **A_FF_solver = hypre_ParMGRDataAFFsolver(mgr_data); + HYPRE_Solver *A_FF_solver = hypre_ParMGRDataAFFsolver(mgr_data); HYPRE_Int *Frelax_type = hypre_ParMGRDataFRelaxType(mgr_data); /* Finest matrix variables */ diff --git a/src/parcsr_ls/protos.h b/src/parcsr_ls/protos.h index bb0e5f65cb..e1dbcd4dc5 100644 --- a/src/parcsr_ls/protos.h +++ b/src/parcsr_ls/protos.h @@ -1006,255 +1006,256 @@ HYPRE_Int HYPRE_SchwarzSetRelaxWeight ( HYPRE_Solver solver, HYPRE_Real relax_we HYPRE_Int HYPRE_SchwarzSetDofFunc ( HYPRE_Solver solver, HYPRE_Int *dof_func ); /* par_add_cycle.c */ -HYPRE_Int hypre_BoomerAMGAdditiveCycle ( void *amg_vdata ); -HYPRE_Int hypre_CreateLambda ( void *amg_vdata ); -HYPRE_Int hypre_CreateDinv ( void *amg_vdata ); +HYPRE_Int hypre_BoomerAMGAdditiveCycle ( hypre_ParAMGData *amg_data ); +HYPRE_Int hypre_CreateLambda ( hypre_ParAMGData *amg_data ); +HYPRE_Int hypre_CreateDinv ( hypre_ParAMGData *amg_data ); /* par_amg.c */ -void *hypre_BoomerAMGCreate ( void ); -HYPRE_Int hypre_BoomerAMGDestroy ( void *data ); -HYPRE_Int hypre_BoomerAMGSetRestriction ( void *data, HYPRE_Int restr_par ); -HYPRE_Int hypre_BoomerAMGSetIsTriangular ( void *data, HYPRE_Int is_triangular ); -HYPRE_Int hypre_BoomerAMGSetGMRESSwitchR ( void *data, HYPRE_Int gmres_switch ); -HYPRE_Int hypre_BoomerAMGSetMaxLevels ( void *data, HYPRE_Int max_levels ); -HYPRE_Int hypre_BoomerAMGGetMaxLevels ( void *data, HYPRE_Int *max_levels ); -HYPRE_Int hypre_BoomerAMGSetMaxCoarseSize ( void *data, HYPRE_Int max_coarse_size ); -HYPRE_Int hypre_BoomerAMGGetMaxCoarseSize ( void *data, HYPRE_Int *max_coarse_size ); -HYPRE_Int hypre_BoomerAMGSetMinCoarseSize ( void *data, HYPRE_Int min_coarse_size ); -HYPRE_Int hypre_BoomerAMGGetMinCoarseSize ( void *data, HYPRE_Int *min_coarse_size ); -HYPRE_Int hypre_BoomerAMGSetSeqThreshold ( void *data, HYPRE_Int seq_threshold ); -HYPRE_Int hypre_BoomerAMGGetSeqThreshold ( void *data, HYPRE_Int *seq_threshold ); -HYPRE_Int hypre_BoomerAMGSetCoarsenCutFactor( void *data, HYPRE_Int coarsen_cut_factor ); -HYPRE_Int hypre_BoomerAMGGetCoarsenCutFactor( void *data, HYPRE_Int *coarsen_cut_factor ); -HYPRE_Int hypre_BoomerAMGSetRedundant ( void *data, HYPRE_Int redundant ); -HYPRE_Int hypre_BoomerAMGGetRedundant ( void *data, HYPRE_Int *redundant ); -HYPRE_Int hypre_BoomerAMGSetStrongThreshold ( void *data, HYPRE_Real strong_threshold ); -HYPRE_Int hypre_BoomerAMGGetStrongThreshold ( void *data, HYPRE_Real *strong_threshold ); -HYPRE_Int hypre_BoomerAMGSetStrongThresholdR ( void *data, HYPRE_Real strong_threshold ); -HYPRE_Int hypre_BoomerAMGGetStrongThresholdR ( void *data, HYPRE_Real *strong_threshold ); -HYPRE_Int hypre_BoomerAMGSetFilterThresholdR ( void *data, HYPRE_Real filter_threshold ); -HYPRE_Int hypre_BoomerAMGGetFilterThresholdR ( void *data, HYPRE_Real *filter_threshold ); -HYPRE_Int hypre_BoomerAMGSetSabs ( void *data, HYPRE_Int Sabs ); -HYPRE_Int hypre_BoomerAMGSetMaxRowSum ( void *data, HYPRE_Real max_row_sum ); -HYPRE_Int hypre_BoomerAMGGetMaxRowSum ( void *data, HYPRE_Real *max_row_sum ); -HYPRE_Int hypre_BoomerAMGSetTruncFactor ( void *data, HYPRE_Real trunc_factor ); -HYPRE_Int hypre_BoomerAMGGetTruncFactor ( void *data, HYPRE_Real *trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetPMaxElmts ( void *data, HYPRE_Int P_max_elmts ); -HYPRE_Int hypre_BoomerAMGGetPMaxElmts ( void *data, HYPRE_Int *P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetJacobiTruncThreshold ( void *data, HYPRE_Real jacobi_trunc_threshold ); -HYPRE_Int hypre_BoomerAMGGetJacobiTruncThreshold ( void *data, HYPRE_Real *jacobi_trunc_threshold ); -HYPRE_Int hypre_BoomerAMGSetPostInterpType ( void *data, HYPRE_Int post_interp_type ); -HYPRE_Int hypre_BoomerAMGGetPostInterpType ( void *data, HYPRE_Int *post_interp_type ); -HYPRE_Int hypre_BoomerAMGSetInterpType ( void *data, HYPRE_Int interp_type ); -HYPRE_Int hypre_BoomerAMGGetInterpType ( void *data, HYPRE_Int *interp_type ); -HYPRE_Int hypre_BoomerAMGSetSepWeight ( void *data, HYPRE_Int sep_weight ); -HYPRE_Int hypre_BoomerAMGSetMinIter ( void *data, HYPRE_Int min_iter ); -HYPRE_Int hypre_BoomerAMGGetMinIter ( void *data, HYPRE_Int *min_iter ); -HYPRE_Int hypre_BoomerAMGSetMaxIter ( void *data, HYPRE_Int max_iter ); -HYPRE_Int hypre_BoomerAMGGetMaxIter ( void *data, HYPRE_Int *max_iter ); -HYPRE_Int hypre_BoomerAMGSetCoarsenType ( void *data, HYPRE_Int coarsen_type ); -HYPRE_Int hypre_BoomerAMGGetCoarsenType ( void *data, HYPRE_Int *coarsen_type ); -HYPRE_Int hypre_BoomerAMGSetMeasureType ( void *data, HYPRE_Int measure_type ); -HYPRE_Int hypre_BoomerAMGGetMeasureType ( void *data, HYPRE_Int *measure_type ); -HYPRE_Int hypre_BoomerAMGSetSetupType ( void *data, HYPRE_Int setup_type ); -HYPRE_Int hypre_BoomerAMGGetSetupType ( void *data, HYPRE_Int *setup_type ); -HYPRE_Int hypre_BoomerAMGSetFCycle ( void *data, HYPRE_Int fcycle ); -HYPRE_Int hypre_BoomerAMGGetFCycle ( void *data, HYPRE_Int *fcycle ); -HYPRE_Int hypre_BoomerAMGSetCycleType ( void *data, HYPRE_Int cycle_type ); -HYPRE_Int hypre_BoomerAMGGetCycleType ( void *data, HYPRE_Int *cycle_type ); -HYPRE_Int hypre_BoomerAMGSetConvergeType ( void *data, HYPRE_Int type ); -HYPRE_Int hypre_BoomerAMGGetConvergeType ( void *data, HYPRE_Int *type ); -HYPRE_Int hypre_BoomerAMGSetTol ( void *data, HYPRE_Real tol ); -HYPRE_Int hypre_BoomerAMGGetTol ( void *data, HYPRE_Real *tol ); -HYPRE_Int hypre_BoomerAMGSetNumSweeps ( void *data, HYPRE_Int num_sweeps ); -HYPRE_Int hypre_BoomerAMGSetCycleNumSweeps ( void *data, HYPRE_Int num_sweeps, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGGetCycleNumSweeps ( void *data, HYPRE_Int *num_sweeps, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGSetNumGridSweeps ( void *data, HYPRE_Int *num_grid_sweeps ); -HYPRE_Int hypre_BoomerAMGGetNumGridSweeps ( void *data, HYPRE_Int **num_grid_sweeps ); -HYPRE_Int hypre_BoomerAMGSetRelaxType ( void *data, HYPRE_Int relax_type ); -HYPRE_Int hypre_BoomerAMGSetCycleRelaxType ( void *data, HYPRE_Int relax_type, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGGetCycleRelaxType ( void *data, HYPRE_Int *relax_type, HYPRE_Int k ); -HYPRE_Int hypre_BoomerAMGSetRelaxOrder ( void *data, HYPRE_Int relax_order ); -HYPRE_Int hypre_BoomerAMGGetRelaxOrder ( void *data, HYPRE_Int *relax_order ); -HYPRE_Int hypre_BoomerAMGSetGridRelaxType ( void *data, HYPRE_Int *grid_relax_type ); -HYPRE_Int hypre_BoomerAMGGetGridRelaxType ( void *data, HYPRE_Int **grid_relax_type ); -HYPRE_Int hypre_BoomerAMGSetGridRelaxPoints ( void *data, HYPRE_Int **grid_relax_points ); -HYPRE_Int hypre_BoomerAMGGetGridRelaxPoints ( void *data, HYPRE_Int ***grid_relax_points ); -HYPRE_Int hypre_BoomerAMGSetRelaxWeight ( void *data, HYPRE_Real *relax_weight ); -HYPRE_Int hypre_BoomerAMGGetRelaxWeight ( void *data, HYPRE_Real **relax_weight ); -HYPRE_Int hypre_BoomerAMGSetRelaxWt ( void *data, HYPRE_Real relax_weight ); -HYPRE_Int hypre_BoomerAMGSetLevelRelaxWt ( void *data, HYPRE_Real relax_weight, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGGetLevelRelaxWt ( void *data, HYPRE_Real *relax_weight, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetOmega ( void *data, HYPRE_Real *omega ); -HYPRE_Int hypre_BoomerAMGGetOmega ( void *data, HYPRE_Real **omega ); -HYPRE_Int hypre_BoomerAMGSetOuterWt ( void *data, HYPRE_Real omega ); -HYPRE_Int hypre_BoomerAMGSetLevelOuterWt ( void *data, HYPRE_Real omega, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGGetLevelOuterWt ( void *data, HYPRE_Real *omega, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetSmoothType ( void *data, HYPRE_Int smooth_type ); -HYPRE_Int hypre_BoomerAMGGetSmoothType ( void *data, HYPRE_Int *smooth_type ); -HYPRE_Int hypre_BoomerAMGSetSmoothNumLevels ( void *data, HYPRE_Int smooth_num_levels ); -HYPRE_Int hypre_BoomerAMGGetSmoothNumLevels ( void *data, HYPRE_Int *smooth_num_levels ); -HYPRE_Int hypre_BoomerAMGSetSmoothNumSweeps ( void *data, HYPRE_Int smooth_num_sweeps ); -HYPRE_Int hypre_BoomerAMGGetSmoothNumSweeps ( void *data, HYPRE_Int *smooth_num_sweeps ); -HYPRE_Int hypre_BoomerAMGSetLogging ( void *data, HYPRE_Int logging ); -HYPRE_Int hypre_BoomerAMGGetLogging ( void *data, HYPRE_Int *logging ); -HYPRE_Int hypre_BoomerAMGSetPrintLevel ( void *data, HYPRE_Int print_level ); -HYPRE_Int hypre_BoomerAMGGetPrintLevel ( void *data, HYPRE_Int *print_level ); -HYPRE_Int hypre_BoomerAMGSetPrintFileName ( void *data, const char *print_file_name ); -HYPRE_Int hypre_BoomerAMGGetPrintFileName ( void *data, char **print_file_name ); -HYPRE_Int hypre_BoomerAMGSetNumIterations ( void *data, HYPRE_Int num_iterations ); -HYPRE_Int hypre_BoomerAMGSetDebugFlag ( void *data, HYPRE_Int debug_flag ); -HYPRE_Int hypre_BoomerAMGGetDebugFlag ( void *data, HYPRE_Int *debug_flag ); -HYPRE_Int hypre_BoomerAMGSetGSMG ( void *data, HYPRE_Int par ); -HYPRE_Int hypre_BoomerAMGSetNumSamples ( void *data, HYPRE_Int par ); -HYPRE_Int hypre_BoomerAMGSetCGCIts ( void *data, HYPRE_Int its ); -HYPRE_Int hypre_BoomerAMGSetPlotGrids ( void *data, HYPRE_Int plotgrids ); -HYPRE_Int hypre_BoomerAMGSetPlotFileName ( void *data, const char *plot_file_name ); -HYPRE_Int hypre_BoomerAMGSetCoordDim ( void *data, HYPRE_Int coorddim ); -HYPRE_Int hypre_BoomerAMGSetCoordinates ( void *data, float *coordinates ); -HYPRE_Int hypre_BoomerAMGGetGridHierarchy(void *data, HYPRE_Int *cgrid ); -HYPRE_Int hypre_BoomerAMGSetNumFunctions ( void *data, HYPRE_Int num_functions ); -HYPRE_Int hypre_BoomerAMGGetNumFunctions ( void *data, HYPRE_Int *num_functions ); -HYPRE_Int hypre_BoomerAMGSetNodal ( void *data, HYPRE_Int nodal ); -HYPRE_Int hypre_BoomerAMGSetNodalLevels ( void *data, HYPRE_Int nodal_levels ); -HYPRE_Int hypre_BoomerAMGSetNodalDiag ( void *data, HYPRE_Int nodal ); -HYPRE_Int hypre_BoomerAMGSetKeepSameSign ( void *data, HYPRE_Int keep_same_sign ); -HYPRE_Int hypre_BoomerAMGSetNumPaths ( void *data, HYPRE_Int num_paths ); -HYPRE_Int hypre_BoomerAMGSetAggNumLevels ( void *data, HYPRE_Int agg_num_levels ); -HYPRE_Int hypre_BoomerAMGSetAggInterpType ( void *data, HYPRE_Int agg_interp_type ); -HYPRE_Int hypre_BoomerAMGSetAggPMaxElmts ( void *data, HYPRE_Int agg_P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetMultAddPMaxElmts ( void *data, HYPRE_Int add_P_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetAddRelaxType ( void *data, HYPRE_Int add_rlx_type ); -HYPRE_Int hypre_BoomerAMGSetAddRelaxWt ( void *data, HYPRE_Real add_rlx_wt ); -HYPRE_Int hypre_BoomerAMGSetAggP12MaxElmts ( void *data, HYPRE_Int agg_P12_max_elmts ); -HYPRE_Int hypre_BoomerAMGSetAggTruncFactor ( void *data, HYPRE_Real agg_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetMultAddTruncFactor ( void *data, HYPRE_Real add_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetAggP12TruncFactor ( void *data, HYPRE_Real agg_P12_trunc_factor ); -HYPRE_Int hypre_BoomerAMGSetNumCRRelaxSteps ( void *data, HYPRE_Int num_CR_relax_steps ); -HYPRE_Int hypre_BoomerAMGSetCRRate ( void *data, HYPRE_Real CR_rate ); -HYPRE_Int hypre_BoomerAMGSetCRStrongTh ( void *data, HYPRE_Real CR_strong_th ); -HYPRE_Int hypre_BoomerAMGSetADropTol( void *data, HYPRE_Real A_drop_tol ); -HYPRE_Int hypre_BoomerAMGSetADropType( void *data, HYPRE_Int A_drop_type ); -HYPRE_Int hypre_BoomerAMGSetISType ( void *data, HYPRE_Int IS_type ); -HYPRE_Int hypre_BoomerAMGSetCRUseCG ( void *data, HYPRE_Int CR_use_CG ); -HYPRE_Int hypre_BoomerAMGSetNumPoints ( void *data, HYPRE_Int num_points ); -HYPRE_Int hypre_BoomerAMGSetDofFunc ( void *data, HYPRE_Int *dof_func ); -HYPRE_Int hypre_BoomerAMGSetPointDofMap ( void *data, HYPRE_Int *point_dof_map ); -HYPRE_Int hypre_BoomerAMGSetDofPoint ( void *data, HYPRE_Int *dof_point ); -HYPRE_Int hypre_BoomerAMGGetNumIterations ( void *data, HYPRE_Int *num_iterations ); -HYPRE_Int hypre_BoomerAMGGetCumNumIterations ( void *data, HYPRE_Int *cum_num_iterations ); -HYPRE_Int hypre_BoomerAMGGetResidual ( void *data, hypre_ParVector **resid ); -HYPRE_Int hypre_BoomerAMGGetRelResidualNorm ( void *data, HYPRE_Real *rel_resid_norm ); -HYPRE_Int hypre_BoomerAMGSetVariant ( void *data, HYPRE_Int variant ); -HYPRE_Int hypre_BoomerAMGGetVariant ( void *data, HYPRE_Int *variant ); -HYPRE_Int hypre_BoomerAMGSetOverlap ( void *data, HYPRE_Int overlap ); -HYPRE_Int hypre_BoomerAMGGetOverlap ( void *data, HYPRE_Int *overlap ); -HYPRE_Int hypre_BoomerAMGSetDomainType ( void *data, HYPRE_Int domain_type ); -HYPRE_Int hypre_BoomerAMGGetDomainType ( void *data, HYPRE_Int *domain_type ); -HYPRE_Int hypre_BoomerAMGSetSchwarzRlxWeight ( void *data, HYPRE_Real schwarz_rlx_weight ); -HYPRE_Int hypre_BoomerAMGGetSchwarzRlxWeight ( void *data, HYPRE_Real *schwarz_rlx_weight ); -HYPRE_Int hypre_BoomerAMGSetSchwarzUseNonSymm ( void *data, HYPRE_Int use_nonsymm ); -HYPRE_Int hypre_BoomerAMGSetSym ( void *data, HYPRE_Int sym ); -HYPRE_Int hypre_BoomerAMGSetLevel ( void *data, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetThreshold ( void *data, HYPRE_Real thresh ); -HYPRE_Int hypre_BoomerAMGSetFilter ( void *data, HYPRE_Real filter ); -HYPRE_Int hypre_BoomerAMGSetDropTol ( void *data, HYPRE_Real drop_tol ); -HYPRE_Int hypre_BoomerAMGSetMaxNzPerRow ( void *data, HYPRE_Int max_nz_per_row ); -HYPRE_Int hypre_BoomerAMGSetEuclidFile ( void *data, char *euclidfile ); -HYPRE_Int hypre_BoomerAMGSetEuLevel ( void *data, HYPRE_Int eu_level ); -HYPRE_Int hypre_BoomerAMGSetEuSparseA ( void *data, HYPRE_Real eu_sparse_A ); -HYPRE_Int hypre_BoomerAMGSetEuBJ ( void *data, HYPRE_Int eu_bj ); -HYPRE_Int hypre_BoomerAMGSetILUType( void *data, HYPRE_Int ilu_type ); -HYPRE_Int hypre_BoomerAMGSetILULevel( void *data, HYPRE_Int ilu_lfil ); -HYPRE_Int hypre_BoomerAMGSetILUDroptol( void *data, HYPRE_Real ilu_droptol ); -HYPRE_Int hypre_BoomerAMGSetILUTriSolve( void *data, HYPRE_Int ilu_tri_solve ); -HYPRE_Int hypre_BoomerAMGSetILULowerJacobiIters( void *data, HYPRE_Int ilu_lower_jacobi_iters ); -HYPRE_Int hypre_BoomerAMGSetILUUpperJacobiIters( void *data, HYPRE_Int ilu_upper_jacobi_iters ); -HYPRE_Int hypre_BoomerAMGSetILUMaxIter( void *data, HYPRE_Int ilu_max_iter ); -HYPRE_Int hypre_BoomerAMGSetILUMaxRowNnz( void *data, HYPRE_Int ilu_max_row_nnz ); -HYPRE_Int hypre_BoomerAMGSetILULocalReordering( void *data, HYPRE_Int ilu_reordering_type ); -HYPRE_Int hypre_BoomerAMGSetFSAIAlgoType ( void *data, HYPRE_Int fsai_algo_type ); -HYPRE_Int hypre_BoomerAMGSetFSAILocalSolveType ( void *data, HYPRE_Int local_solve_type ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxSteps ( void *data, HYPRE_Int fsai_max_steps ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxStepSize ( void *data, HYPRE_Int fsai_max_step_size ); -HYPRE_Int hypre_BoomerAMGSetFSAIMaxNnzRow ( void *data, HYPRE_Int fsai_max_nnz_row ); -HYPRE_Int hypre_BoomerAMGSetFSAINumLevels ( void *data, HYPRE_Int fsai_num_levels ); -HYPRE_Int hypre_BoomerAMGSetFSAIEigMaxIters ( void *data, HYPRE_Int fsai_eig_max_iters ); -HYPRE_Int hypre_BoomerAMGSetFSAIThreshold ( void *data, HYPRE_Real fsai_threshold ); -HYPRE_Int hypre_BoomerAMGSetFSAIKapTolerance ( void *data, HYPRE_Real fsai_kap_tolerance ); -HYPRE_Int hypre_BoomerAMGSetChebyOrder ( void *data, HYPRE_Int order ); -HYPRE_Int hypre_BoomerAMGSetChebyFraction ( void *data, HYPRE_Real ratio ); -HYPRE_Int hypre_BoomerAMGSetChebyEigEst ( void *data, HYPRE_Int eig_est ); -HYPRE_Int hypre_BoomerAMGSetChebyVariant ( void *data, HYPRE_Int variant ); -HYPRE_Int hypre_BoomerAMGSetChebyScale ( void *data, HYPRE_Int scale ); -HYPRE_Int hypre_BoomerAMGSetInterpVectors ( void *solver, HYPRE_Int num_vectors, +hypre_ParAMGData* hypre_BoomerAMGCreate ( void ); +HYPRE_Int hypre_BoomerAMGDestroy ( hypre_ParAMGData *data ); +HYPRE_Int hypre_BoomerAMGSetRestriction ( hypre_ParAMGData *data, HYPRE_Int restr_par ); +HYPRE_Int hypre_BoomerAMGSetIsTriangular ( hypre_ParAMGData *data, HYPRE_Int is_triangular ); +HYPRE_Int hypre_BoomerAMGSetGMRESSwitchR ( hypre_ParAMGData *data, HYPRE_Int gmres_switch ); +HYPRE_Int hypre_BoomerAMGSetMaxLevels ( hypre_ParAMGData *data, HYPRE_Int max_levels ); +HYPRE_Int hypre_BoomerAMGGetMaxLevels ( hypre_ParAMGData *data, HYPRE_Int *max_levels ); +HYPRE_Int hypre_BoomerAMGSetMaxCoarseSize ( hypre_ParAMGData *data, HYPRE_Int max_coarse_size ); +HYPRE_Int hypre_BoomerAMGGetMaxCoarseSize ( hypre_ParAMGData *data, HYPRE_Int *max_coarse_size ); +HYPRE_Int hypre_BoomerAMGSetMinCoarseSize ( hypre_ParAMGData *data, HYPRE_Int min_coarse_size ); +HYPRE_Int hypre_BoomerAMGGetMinCoarseSize ( hypre_ParAMGData *data, HYPRE_Int *min_coarse_size ); +HYPRE_Int hypre_BoomerAMGSetSeqThreshold ( hypre_ParAMGData *data, HYPRE_Int seq_threshold ); +HYPRE_Int hypre_BoomerAMGGetSeqThreshold ( hypre_ParAMGData *data, HYPRE_Int *seq_threshold ); +HYPRE_Int hypre_BoomerAMGSetCoarsenCutFactor( hypre_ParAMGData *data, HYPRE_Int coarsen_cut_factor ); +HYPRE_Int hypre_BoomerAMGGetCoarsenCutFactor( hypre_ParAMGData *data, HYPRE_Int *coarsen_cut_factor ); +HYPRE_Int hypre_BoomerAMGSetRedundant ( hypre_ParAMGData *data, HYPRE_Int redundant ); +HYPRE_Int hypre_BoomerAMGGetRedundant ( hypre_ParAMGData *data, HYPRE_Int *redundant ); +HYPRE_Int hypre_BoomerAMGSetStrongThreshold ( hypre_ParAMGData *data, HYPRE_Real strong_threshold ); +HYPRE_Int hypre_BoomerAMGGetStrongThreshold ( hypre_ParAMGData *data, HYPRE_Real *strong_threshold ); +HYPRE_Int hypre_BoomerAMGSetStrongThresholdR ( hypre_ParAMGData *data, HYPRE_Real strong_threshold ); +HYPRE_Int hypre_BoomerAMGGetStrongThresholdR ( hypre_ParAMGData *data, HYPRE_Real *strong_threshold ); +HYPRE_Int hypre_BoomerAMGSetFilterThresholdR ( hypre_ParAMGData *data, HYPRE_Real filter_threshold ); +HYPRE_Int hypre_BoomerAMGGetFilterThresholdR ( hypre_ParAMGData *data, HYPRE_Real *filter_threshold ); +HYPRE_Int hypre_BoomerAMGSetSabs ( hypre_ParAMGData *data, HYPRE_Int Sabs ); +HYPRE_Int hypre_BoomerAMGSetMaxRowSum ( hypre_ParAMGData *data, HYPRE_Real max_row_sum ); +HYPRE_Int hypre_BoomerAMGGetMaxRowSum ( hypre_ParAMGData *data, HYPRE_Real *max_row_sum ); +HYPRE_Int hypre_BoomerAMGSetTruncFactor ( hypre_ParAMGData *data, HYPRE_Real trunc_factor ); +HYPRE_Int hypre_BoomerAMGGetTruncFactor ( hypre_ParAMGData *data, HYPRE_Real *trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int P_max_elmts ); +HYPRE_Int hypre_BoomerAMGGetPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int *P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetJacobiTruncThreshold ( hypre_ParAMGData *data, HYPRE_Real jacobi_trunc_threshold ); +HYPRE_Int hypre_BoomerAMGGetJacobiTruncThreshold ( hypre_ParAMGData *data, HYPRE_Real *jacobi_trunc_threshold ); +HYPRE_Int hypre_BoomerAMGSetPostInterpType ( hypre_ParAMGData *data, HYPRE_Int post_interp_type ); +HYPRE_Int hypre_BoomerAMGGetPostInterpType ( hypre_ParAMGData *data, HYPRE_Int *post_interp_type ); +HYPRE_Int hypre_BoomerAMGSetInterpType ( hypre_ParAMGData *data, HYPRE_Int interp_type ); +HYPRE_Int hypre_BoomerAMGGetInterpType ( hypre_ParAMGData *data, HYPRE_Int *interp_type ); +HYPRE_Int hypre_BoomerAMGSetSepWeight ( hypre_ParAMGData *data, HYPRE_Int sep_weight ); +HYPRE_Int hypre_BoomerAMGSetMinIter ( hypre_ParAMGData *data, HYPRE_Int min_iter ); +HYPRE_Int hypre_BoomerAMGGetMinIter ( hypre_ParAMGData *data, HYPRE_Int *min_iter ); +HYPRE_Int hypre_BoomerAMGSetMaxIter ( hypre_ParAMGData *data, HYPRE_Int max_iter ); +HYPRE_Int hypre_BoomerAMGGetMaxIter ( hypre_ParAMGData *data, HYPRE_Int *max_iter ); +HYPRE_Int hypre_BoomerAMGSetCoarsenType ( hypre_ParAMGData *data, HYPRE_Int coarsen_type ); +HYPRE_Int hypre_BoomerAMGGetCoarsenType ( hypre_ParAMGData *data, HYPRE_Int *coarsen_type ); +HYPRE_Int hypre_BoomerAMGSetMeasureType ( hypre_ParAMGData *data, HYPRE_Int measure_type ); +HYPRE_Int hypre_BoomerAMGGetMeasureType ( hypre_ParAMGData *data, HYPRE_Int *measure_type ); +HYPRE_Int hypre_BoomerAMGSetSetupType ( hypre_ParAMGData *data, HYPRE_Int setup_type ); +HYPRE_Int hypre_BoomerAMGGetSetupType ( hypre_ParAMGData *data, HYPRE_Int *setup_type ); +HYPRE_Int hypre_BoomerAMGSetFCycle ( hypre_ParAMGData *data, HYPRE_Int fcycle ); +HYPRE_Int hypre_BoomerAMGGetFCycle ( hypre_ParAMGData *data, HYPRE_Int *fcycle ); +HYPRE_Int hypre_BoomerAMGSetCycleType ( hypre_ParAMGData *data, HYPRE_Int cycle_type ); +HYPRE_Int hypre_BoomerAMGGetCycleType ( hypre_ParAMGData *data, HYPRE_Int *cycle_type ); +HYPRE_Int hypre_BoomerAMGSetConvergeType ( hypre_ParAMGData *data, HYPRE_Int type ); +HYPRE_Int hypre_BoomerAMGGetConvergeType ( hypre_ParAMGData *data, HYPRE_Int *type ); +HYPRE_Int hypre_BoomerAMGSetTol ( hypre_ParAMGData *data, HYPRE_Real tol ); +HYPRE_Int hypre_BoomerAMGGetTol ( hypre_ParAMGData *data, HYPRE_Real *tol ); +HYPRE_Int hypre_BoomerAMGSetNumSweeps ( hypre_ParAMGData *data, HYPRE_Int num_sweeps ); +HYPRE_Int hypre_BoomerAMGSetCycleNumSweeps ( hypre_ParAMGData *data, HYPRE_Int num_sweeps, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGGetCycleNumSweeps ( hypre_ParAMGData *data, HYPRE_Int *num_sweeps, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGSetNumGridSweeps ( hypre_ParAMGData *data, HYPRE_Int *num_grid_sweeps ); +HYPRE_Int hypre_BoomerAMGGetNumGridSweeps ( hypre_ParAMGData *data, HYPRE_Int **num_grid_sweeps ); +HYPRE_Int hypre_BoomerAMGSetRelaxType ( hypre_ParAMGData *data, HYPRE_Int relax_type ); +HYPRE_Int hypre_BoomerAMGSetCycleRelaxType ( hypre_ParAMGData *data, HYPRE_Int relax_type, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGGetCycleRelaxType ( hypre_ParAMGData *data, HYPRE_Int *relax_type, HYPRE_Int k ); +HYPRE_Int hypre_BoomerAMGSetRelaxOrder ( hypre_ParAMGData *data, HYPRE_Int relax_order ); +HYPRE_Int hypre_BoomerAMGGetRelaxOrder ( hypre_ParAMGData *data, HYPRE_Int *relax_order ); +HYPRE_Int hypre_BoomerAMGSetGridRelaxType ( hypre_ParAMGData *data, HYPRE_Int *grid_relax_type ); +HYPRE_Int hypre_BoomerAMGGetGridRelaxType ( hypre_ParAMGData *data, HYPRE_Int **grid_relax_type ); +HYPRE_Int hypre_BoomerAMGSetGridRelaxPoints ( hypre_ParAMGData *data, HYPRE_Int **grid_relax_points ); +HYPRE_Int hypre_BoomerAMGGetGridRelaxPoints ( hypre_ParAMGData *data, HYPRE_Int ***grid_relax_points ); +HYPRE_Int hypre_BoomerAMGSetRelaxWeight ( hypre_ParAMGData *data, HYPRE_Real *relax_weight ); +HYPRE_Int hypre_BoomerAMGGetRelaxWeight ( hypre_ParAMGData *data, HYPRE_Real **relax_weight ); +HYPRE_Int hypre_BoomerAMGSetRelaxWt ( hypre_ParAMGData *data, HYPRE_Real relax_weight ); +HYPRE_Int hypre_BoomerAMGSetLevelRelaxWt ( hypre_ParAMGData *data, HYPRE_Real relax_weight, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGGetLevelRelaxWt ( hypre_ParAMGData *data, HYPRE_Real *relax_weight, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetOmega ( hypre_ParAMGData *data, HYPRE_Real *omega ); +HYPRE_Int hypre_BoomerAMGGetOmega ( hypre_ParAMGData *data, HYPRE_Real **omega ); +HYPRE_Int hypre_BoomerAMGSetOuterWt ( hypre_ParAMGData *data, HYPRE_Real omega ); +HYPRE_Int hypre_BoomerAMGSetLevelOuterWt ( hypre_ParAMGData *data, HYPRE_Real omega, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGGetLevelOuterWt ( hypre_ParAMGData *data, HYPRE_Real *omega, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetSmoothType ( hypre_ParAMGData *data, HYPRE_Int smooth_type ); +HYPRE_Int hypre_BoomerAMGGetSmoothType ( hypre_ParAMGData *data, HYPRE_Int *smooth_type ); +HYPRE_Int hypre_BoomerAMGSetSmoothNumLevels ( hypre_ParAMGData *data, HYPRE_Int smooth_num_levels ); +HYPRE_Int hypre_BoomerAMGGetSmoothNumLevels ( hypre_ParAMGData *data, HYPRE_Int *smooth_num_levels ); +HYPRE_Int hypre_BoomerAMGSetSmoothNumSweeps ( hypre_ParAMGData *data, HYPRE_Int smooth_num_sweeps ); +HYPRE_Int hypre_BoomerAMGGetSmoothNumSweeps ( hypre_ParAMGData *data, HYPRE_Int *smooth_num_sweeps ); +HYPRE_Int hypre_BoomerAMGSetLogging ( hypre_ParAMGData *data, HYPRE_Int logging ); +HYPRE_Int hypre_BoomerAMGGetLogging ( hypre_ParAMGData *data, HYPRE_Int *logging ); +HYPRE_Int hypre_BoomerAMGSetPrintLevel ( hypre_ParAMGData *data, HYPRE_Int print_level ); +HYPRE_Int hypre_BoomerAMGGetPrintLevel ( hypre_ParAMGData *data, HYPRE_Int *print_level ); +HYPRE_Int hypre_BoomerAMGSetPrintFileName ( hypre_ParAMGData *data, const char *print_file_name ); +HYPRE_Int hypre_BoomerAMGGetPrintFileName ( hypre_ParAMGData *data, char **print_file_name ); +HYPRE_Int hypre_BoomerAMGSetNumIterations ( hypre_ParAMGData *data, HYPRE_Int num_iterations ); +HYPRE_Int hypre_BoomerAMGSetDebugFlag ( hypre_ParAMGData *data, HYPRE_Int debug_flag ); +HYPRE_Int hypre_BoomerAMGGetDebugFlag ( hypre_ParAMGData *data, HYPRE_Int *debug_flag ); +HYPRE_Int hypre_BoomerAMGSetGSMG ( hypre_ParAMGData *data, HYPRE_Int par ); +HYPRE_Int hypre_BoomerAMGSetNumSamples ( hypre_ParAMGData *data, HYPRE_Int par ); +HYPRE_Int hypre_BoomerAMGSetCGCIts ( hypre_ParAMGData *data, HYPRE_Int its ); +HYPRE_Int hypre_BoomerAMGSetPlotGrids ( hypre_ParAMGData *data, HYPRE_Int plotgrids ); +HYPRE_Int hypre_BoomerAMGSetPlotFileName ( hypre_ParAMGData *data, const char *plot_file_name ); +HYPRE_Int hypre_BoomerAMGSetCoordDim ( hypre_ParAMGData *data, HYPRE_Int coorddim ); +HYPRE_Int hypre_BoomerAMGSetCoordinates ( hypre_ParAMGData *data, float *coordinates ); +HYPRE_Int hypre_BoomerAMGGetGridHierarchy(hypre_ParAMGData *data, HYPRE_Int *cgrid ); +HYPRE_Int hypre_BoomerAMGSetNumFunctions ( hypre_ParAMGData *data, HYPRE_Int num_functions ); +HYPRE_Int hypre_BoomerAMGGetNumFunctions ( hypre_ParAMGData *data, HYPRE_Int *num_functions ); +HYPRE_Int hypre_BoomerAMGSetNodal ( hypre_ParAMGData *data, HYPRE_Int nodal ); +HYPRE_Int hypre_BoomerAMGSetNodalLevels ( hypre_ParAMGData *data, HYPRE_Int nodal_levels ); +HYPRE_Int hypre_BoomerAMGSetNodalDiag ( hypre_ParAMGData *data, HYPRE_Int nodal ); +HYPRE_Int hypre_BoomerAMGSetKeepSameSign ( hypre_ParAMGData *data, HYPRE_Int keep_same_sign ); +HYPRE_Int hypre_BoomerAMGSetNumPaths ( hypre_ParAMGData *data, HYPRE_Int num_paths ); +HYPRE_Int hypre_BoomerAMGSetAggNumLevels ( hypre_ParAMGData *data, HYPRE_Int agg_num_levels ); +HYPRE_Int hypre_BoomerAMGSetAggInterpType ( hypre_ParAMGData *data, HYPRE_Int agg_interp_type ); +HYPRE_Int hypre_BoomerAMGSetAggPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int agg_P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetMultAddPMaxElmts ( hypre_ParAMGData *data, HYPRE_Int add_P_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetAddRelaxType ( hypre_ParAMGData *data, HYPRE_Int add_rlx_type ); +HYPRE_Int hypre_BoomerAMGSetAddRelaxWt ( hypre_ParAMGData *data, HYPRE_Real add_rlx_wt ); +HYPRE_Int hypre_BoomerAMGSetAggP12MaxElmts ( hypre_ParAMGData *data, HYPRE_Int agg_P12_max_elmts ); +HYPRE_Int hypre_BoomerAMGSetAggTruncFactor ( hypre_ParAMGData *data, HYPRE_Real agg_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetMultAddTruncFactor ( hypre_ParAMGData *data, HYPRE_Real add_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetAggP12TruncFactor ( hypre_ParAMGData *data, HYPRE_Real agg_P12_trunc_factor ); +HYPRE_Int hypre_BoomerAMGSetNumCRRelaxSteps ( hypre_ParAMGData *data, HYPRE_Int num_CR_relax_steps ); +HYPRE_Int hypre_BoomerAMGSetCRRate ( hypre_ParAMGData *data, HYPRE_Real CR_rate ); +HYPRE_Int hypre_BoomerAMGSetCRStrongTh ( hypre_ParAMGData *data, HYPRE_Real CR_strong_th ); +HYPRE_Int hypre_BoomerAMGSetADropTol( hypre_ParAMGData *data, HYPRE_Real A_drop_tol ); +HYPRE_Int hypre_BoomerAMGSetADropType( hypre_ParAMGData *data, HYPRE_Int A_drop_type ); +HYPRE_Int hypre_BoomerAMGSetISType ( hypre_ParAMGData *data, HYPRE_Int IS_type ); +HYPRE_Int hypre_BoomerAMGSetCRUseCG ( hypre_ParAMGData *data, HYPRE_Int CR_use_CG ); +HYPRE_Int hypre_BoomerAMGSetNumPoints ( hypre_ParAMGData *data, HYPRE_Int num_points ); +HYPRE_Int hypre_BoomerAMGSetDofFunc ( hypre_ParAMGData *data, HYPRE_Int *dof_func ); +HYPRE_Int hypre_BoomerAMGSetPointDofMap ( hypre_ParAMGData *data, HYPRE_Int *point_dof_map ); +HYPRE_Int hypre_BoomerAMGSetDofPoint ( hypre_ParAMGData *data, HYPRE_Int *dof_point ); +HYPRE_Int hypre_BoomerAMGGetNumIterations ( hypre_ParAMGData *data, HYPRE_Int *num_iterations ); +HYPRE_Int hypre_BoomerAMGGetCumNumIterations ( hypre_ParAMGData *data, HYPRE_Int *cum_num_iterations ); +HYPRE_Int hypre_BoomerAMGGetResidual ( hypre_ParAMGData *data, hypre_ParVector **resid ); +HYPRE_Int hypre_BoomerAMGGetRelResidualNorm ( hypre_ParAMGData *data, HYPRE_Real *rel_resid_norm ); +HYPRE_Int hypre_BoomerAMGSetVariant ( hypre_ParAMGData *data, HYPRE_Int variant ); +HYPRE_Int hypre_BoomerAMGGetVariant ( hypre_ParAMGData *data, HYPRE_Int *variant ); +HYPRE_Int hypre_BoomerAMGSetOverlap ( hypre_ParAMGData *data, HYPRE_Int overlap ); +HYPRE_Int hypre_BoomerAMGGetOverlap ( hypre_ParAMGData *data, HYPRE_Int *overlap ); +HYPRE_Int hypre_BoomerAMGSetDomainType ( hypre_ParAMGData *data, HYPRE_Int domain_type ); +HYPRE_Int hypre_BoomerAMGGetDomainType ( hypre_ParAMGData *data, HYPRE_Int *domain_type ); +HYPRE_Int hypre_BoomerAMGSetSchwarzRlxWeight ( hypre_ParAMGData *data, HYPRE_Real schwarz_rlx_weight ); +HYPRE_Int hypre_BoomerAMGGetSchwarzRlxWeight ( hypre_ParAMGData *data, HYPRE_Real *schwarz_rlx_weight ); +HYPRE_Int hypre_BoomerAMGSetSchwarzUseNonSymm ( hypre_ParAMGData *data, HYPRE_Int use_nonsymm ); +HYPRE_Int hypre_BoomerAMGSetSym ( hypre_ParAMGData *data, HYPRE_Int sym ); +HYPRE_Int hypre_BoomerAMGSetLevel ( hypre_ParAMGData *data, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetThreshold ( hypre_ParAMGData *data, HYPRE_Real thresh ); +HYPRE_Int hypre_BoomerAMGSetFilter ( hypre_ParAMGData *data, HYPRE_Real filter ); +HYPRE_Int hypre_BoomerAMGSetDropTol ( hypre_ParAMGData *data, HYPRE_Real drop_tol ); +HYPRE_Int hypre_BoomerAMGSetMaxNzPerRow ( hypre_ParAMGData *data, HYPRE_Int max_nz_per_row ); +HYPRE_Int hypre_BoomerAMGSetEuclidFile ( hypre_ParAMGData *data, char *euclidfile ); +HYPRE_Int hypre_BoomerAMGSetEuLevel ( hypre_ParAMGData *data, HYPRE_Int eu_level ); +HYPRE_Int hypre_BoomerAMGSetEuSparseA ( hypre_ParAMGData *data, HYPRE_Real eu_sparse_A ); +HYPRE_Int hypre_BoomerAMGSetEuBJ ( hypre_ParAMGData *data, HYPRE_Int eu_bj ); +HYPRE_Int hypre_BoomerAMGSetILUType( hypre_ParAMGData *data, HYPRE_Int ilu_type ); +HYPRE_Int hypre_BoomerAMGSetILULevel( hypre_ParAMGData *data, HYPRE_Int ilu_lfil ); +HYPRE_Int hypre_BoomerAMGSetILUDroptol( hypre_ParAMGData *data, HYPRE_Real ilu_droptol ); +HYPRE_Int hypre_BoomerAMGSetILUTriSolve( hypre_ParAMGData *data, HYPRE_Int ilu_tri_solve ); +HYPRE_Int hypre_BoomerAMGSetILULowerJacobiIters( hypre_ParAMGData *data, HYPRE_Int ilu_lower_jacobi_iters ); +HYPRE_Int hypre_BoomerAMGSetILUUpperJacobiIters( hypre_ParAMGData *data, HYPRE_Int ilu_upper_jacobi_iters ); +HYPRE_Int hypre_BoomerAMGSetILUMaxIter( hypre_ParAMGData *data, HYPRE_Int ilu_max_iter ); +HYPRE_Int hypre_BoomerAMGSetILUMaxRowNnz( hypre_ParAMGData *data, HYPRE_Int ilu_max_row_nnz ); +HYPRE_Int hypre_BoomerAMGSetILULocalReordering( hypre_ParAMGData *data, HYPRE_Int ilu_reordering_type ); +HYPRE_Int hypre_BoomerAMGSetFSAIAlgoType ( hypre_ParAMGData *data, HYPRE_Int fsai_algo_type ); +HYPRE_Int hypre_BoomerAMGSetFSAILocalSolveType ( hypre_ParAMGData *data, HYPRE_Int local_solve_type ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxSteps ( hypre_ParAMGData *data, HYPRE_Int fsai_max_steps ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxStepSize ( hypre_ParAMGData *data, HYPRE_Int fsai_max_step_size ); +HYPRE_Int hypre_BoomerAMGSetFSAIMaxNnzRow ( hypre_ParAMGData *data, HYPRE_Int fsai_max_nnz_row ); +HYPRE_Int hypre_BoomerAMGSetFSAINumLevels ( hypre_ParAMGData *data, HYPRE_Int fsai_num_levels ); +HYPRE_Int hypre_BoomerAMGSetFSAIEigMaxIters ( hypre_ParAMGData *data, HYPRE_Int fsai_eig_max_iters ); +HYPRE_Int hypre_BoomerAMGSetFSAIThreshold ( hypre_ParAMGData *data, HYPRE_Real fsai_threshold ); +HYPRE_Int hypre_BoomerAMGSetFSAIKapTolerance ( hypre_ParAMGData *data, HYPRE_Real fsai_kap_tolerance ); +HYPRE_Int hypre_BoomerAMGSetChebyOrder ( hypre_ParAMGData *data, HYPRE_Int order ); +HYPRE_Int hypre_BoomerAMGSetChebyFraction ( hypre_ParAMGData *data, HYPRE_Real ratio ); +HYPRE_Int hypre_BoomerAMGSetChebyEigEst ( hypre_ParAMGData *data, HYPRE_Int eig_est ); +HYPRE_Int hypre_BoomerAMGSetChebyVariant ( hypre_ParAMGData *data, HYPRE_Int variant ); +HYPRE_Int hypre_BoomerAMGSetChebyScale ( hypre_ParAMGData *data, HYPRE_Int scale ); +HYPRE_Int hypre_BoomerAMGSetInterpVectors ( hypre_ParAMGData *solver, HYPRE_Int num_vectors, hypre_ParVector **interp_vectors ); -HYPRE_Int hypre_BoomerAMGSetInterpVecVariant ( void *solver, HYPRE_Int var ); -HYPRE_Int hypre_BoomerAMGSetInterpVecQMax ( void *data, HYPRE_Int q_max ); -HYPRE_Int hypre_BoomerAMGSetInterpVecAbsQTrunc ( void *data, HYPRE_Real q_trunc ); -HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors ( void *solver, HYPRE_Int smooth_interp_vectors ); -HYPRE_Int hypre_BoomerAMGSetInterpRefine ( void *data, HYPRE_Int num_refine ); -HYPRE_Int hypre_BoomerAMGSetInterpVecFirstLevel ( void *data, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetAdditive ( void *data, HYPRE_Int additive ); -HYPRE_Int hypre_BoomerAMGGetAdditive ( void *data, HYPRE_Int *additive ); -HYPRE_Int hypre_BoomerAMGSetMultAdditive ( void *data, HYPRE_Int mult_additive ); -HYPRE_Int hypre_BoomerAMGGetMultAdditive ( void *data, HYPRE_Int *mult_additive ); -HYPRE_Int hypre_BoomerAMGSetSimple ( void *data, HYPRE_Int simple ); -HYPRE_Int hypre_BoomerAMGGetSimple ( void *data, HYPRE_Int *simple ); -HYPRE_Int hypre_BoomerAMGSetAddLastLvl ( void *data, HYPRE_Int add_last_lvl ); -HYPRE_Int hypre_BoomerAMGSetNonGalerkinTol ( void *data, HYPRE_Real nongalerkin_tol ); -HYPRE_Int hypre_BoomerAMGSetLevelNonGalerkinTol ( void *data, HYPRE_Real nongalerkin_tol, +HYPRE_Int hypre_BoomerAMGSetInterpVecVariant ( hypre_ParAMGData *solver, HYPRE_Int var ); +HYPRE_Int hypre_BoomerAMGSetInterpVecQMax ( hypre_ParAMGData *data, HYPRE_Int q_max ); +HYPRE_Int hypre_BoomerAMGSetInterpVecAbsQTrunc ( hypre_ParAMGData *data, HYPRE_Real q_trunc ); +HYPRE_Int hypre_BoomerAMGSetSmoothInterpVectors ( hypre_ParAMGData *solver, + HYPRE_Int smooth_interp_vectors ); +HYPRE_Int hypre_BoomerAMGSetInterpRefine ( hypre_ParAMGData *data, HYPRE_Int num_refine ); +HYPRE_Int hypre_BoomerAMGSetInterpVecFirstLevel ( hypre_ParAMGData *data, HYPRE_Int level ); +HYPRE_Int hypre_BoomerAMGSetAdditive ( hypre_ParAMGData *data, HYPRE_Int additive ); +HYPRE_Int hypre_BoomerAMGGetAdditive ( hypre_ParAMGData *data, HYPRE_Int *additive ); +HYPRE_Int hypre_BoomerAMGSetMultAdditive ( hypre_ParAMGData *data, HYPRE_Int mult_additive ); +HYPRE_Int hypre_BoomerAMGGetMultAdditive ( hypre_ParAMGData *data, HYPRE_Int *mult_additive ); +HYPRE_Int hypre_BoomerAMGSetSimple ( hypre_ParAMGData *data, HYPRE_Int simple ); +HYPRE_Int hypre_BoomerAMGGetSimple ( hypre_ParAMGData *data, HYPRE_Int *simple ); +HYPRE_Int hypre_BoomerAMGSetAddLastLvl ( hypre_ParAMGData *data, HYPRE_Int add_last_lvl ); +HYPRE_Int hypre_BoomerAMGSetNonGalerkinTol ( hypre_ParAMGData *data, HYPRE_Real nongalerkin_tol ); +HYPRE_Int hypre_BoomerAMGSetLevelNonGalerkinTol ( hypre_ParAMGData *data, HYPRE_Real nongalerkin_tol, HYPRE_Int level ); -HYPRE_Int hypre_BoomerAMGSetNonGalerkTol ( void *data, HYPRE_Int nongalerk_num_tol, +HYPRE_Int hypre_BoomerAMGSetNonGalerkTol ( hypre_ParAMGData *data, HYPRE_Int nongalerk_num_tol, HYPRE_Real *nongalerk_tol ); -HYPRE_Int hypre_BoomerAMGSetRAP2 ( void *data, HYPRE_Int rap2 ); -HYPRE_Int hypre_BoomerAMGSetModuleRAP2 ( void *data, HYPRE_Int mod_rap2 ); -HYPRE_Int hypre_BoomerAMGSetKeepTranspose ( void *data, HYPRE_Int keepTranspose ); +HYPRE_Int hypre_BoomerAMGSetRAP2 ( hypre_ParAMGData *data, HYPRE_Int rap2 ); +HYPRE_Int hypre_BoomerAMGSetModuleRAP2 ( hypre_ParAMGData *data, HYPRE_Int mod_rap2 ); +HYPRE_Int hypre_BoomerAMGSetKeepTranspose ( hypre_ParAMGData *data, HYPRE_Int keepTranspose ); #ifdef HYPRE_USING_DSUPERLU -HYPRE_Int hypre_BoomerAMGSetDSLUThreshold ( void *data, HYPRE_Int slu_threshold ); +HYPRE_Int hypre_BoomerAMGSetDSLUThreshold ( hypre_ParAMGData *data, HYPRE_Int slu_threshold ); #endif -HYPRE_Int hypre_BoomerAMGSetCPoints( void *data, HYPRE_Int cpt_coarse_level, +HYPRE_Int hypre_BoomerAMGSetCPoints( hypre_ParAMGData *data, HYPRE_Int cpt_coarse_level, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index ); -HYPRE_Int hypre_BoomerAMGSetFPoints( void *data, HYPRE_Int isolated, HYPRE_Int num_points, +HYPRE_Int hypre_BoomerAMGSetFPoints( hypre_ParAMGData *data, HYPRE_Int isolated, HYPRE_Int num_points, HYPRE_BigInt *indices ); -HYPRE_Int hypre_BoomerAMGSetCumNnzAP ( void *data, HYPRE_Real cum_nnz_AP ); -HYPRE_Int hypre_BoomerAMGGetCumNnzAP ( void *data, HYPRE_Real *cum_nnz_AP ); +HYPRE_Int hypre_BoomerAMGSetCumNnzAP ( hypre_ParAMGData *data, HYPRE_Real cum_nnz_AP ); +HYPRE_Int hypre_BoomerAMGGetCumNnzAP ( hypre_ParAMGData *data, HYPRE_Real *cum_nnz_AP ); /* par_amg_setup.c */ -HYPRE_Int hypre_BoomerAMGSetup ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGSetup ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); /* par_amg_solve.c */ -HYPRE_Int hypre_BoomerAMGSolve ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGSolve ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); /* par_amg_solveT.c */ -HYPRE_Int hypre_BoomerAMGSolveT ( void *amg_vdata, hypre_ParCSRMatrix *A, hypre_ParVector *f, - hypre_ParVector *u ); -HYPRE_Int hypre_BoomerAMGCycleT ( void *amg_vdata, hypre_ParVector **F_array, +HYPRE_Int hypre_BoomerAMGSolveT ( hypre_ParAMGData *amg_data, hypre_ParCSRMatrix *A, + hypre_ParVector *f, hypre_ParVector *u ); +HYPRE_Int hypre_BoomerAMGCycleT ( hypre_ParAMGData *amg_data, hypre_ParVector **F_array, hypre_ParVector **U_array ); HYPRE_Int hypre_BoomerAMGRelaxT ( hypre_ParCSRMatrix *A, hypre_ParVector *f, HYPRE_Int *cf_marker, - HYPRE_Int relax_type, HYPRE_Int relax_points, HYPRE_Real relax_weight, hypre_ParVector *u, - hypre_ParVector *Vtemp ); + HYPRE_Int relax_type, HYPRE_Int relax_points, HYPRE_Real relax_weight, + hypre_ParVector *u, hypre_ParVector *Vtemp ); /* par_cgc_coarsen.c */ HYPRE_Int hypre_BoomerAMGCoarsenCGCb ( hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, - HYPRE_Int measure_type, HYPRE_Int coarsen_type, HYPRE_Int cgc_its, HYPRE_Int debug_flag, - hypre_IntArray **CF_marker_ptr ); + HYPRE_Int measure_type, HYPRE_Int coarsen_type, HYPRE_Int cgc_its, + HYPRE_Int debug_flag, hypre_IntArray **CF_marker_ptr ); HYPRE_Int hypre_BoomerAMGCoarsenCGC ( hypre_ParCSRMatrix *S, HYPRE_Int numberofgrids, HYPRE_Int coarsen_type, HYPRE_Int *CF_marker ); HYPRE_Int hypre_AmgCGCPrepare ( hypre_ParCSRMatrix *S, HYPRE_Int nlocal, HYPRE_Int *CF_marker, HYPRE_Int **CF_marker_offd, HYPRE_Int coarsen_type, HYPRE_Int **vrange ); -//HYPRE_Int hypre_AmgCGCPrepare ( hypre_ParCSRMatrix *S , HYPRE_Int nlocal , HYPRE_Int *CF_marker , HYPRE_BigInt **CF_marker_offd , HYPRE_Int coarsen_type , HYPRE_BigInt **vrange ); HYPRE_Int hypre_AmgCGCGraphAssemble ( hypre_ParCSRMatrix *S, HYPRE_Int *vertexrange, - HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd, HYPRE_Int coarsen_type, HYPRE_IJMatrix *ijG ); + HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd, + HYPRE_Int coarsen_type, HYPRE_IJMatrix *ijG ); HYPRE_Int hypre_AmgCGCChoose ( hypre_CSRMatrix *G, HYPRE_Int *vertexrange, HYPRE_Int mpisize, HYPRE_Int **coarse ); HYPRE_Int hypre_AmgCGCBoundaryFix ( hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, HYPRE_Int *CF_marker_offd ); /* par_cg_relax_wt.c */ -HYPRE_Int hypre_BoomerAMGCGRelaxWt ( void *amg_vdata, HYPRE_Int level, HYPRE_Int num_cg_sweeps, +HYPRE_Int hypre_BoomerAMGCGRelaxWt ( hypre_ParAMGData *amg_vdata, HYPRE_Int level, HYPRE_Int num_cg_sweeps, HYPRE_Real *rlx_wt_ptr ); HYPRE_Int hypre_Bisection ( HYPRE_Int n, HYPRE_Real *diag, HYPRE_Real *offd, HYPRE_Real y, HYPRE_Real z, HYPRE_Real tol, HYPRE_Int k, HYPRE_Real *ev_ptr ); @@ -1358,7 +1359,7 @@ HYPRE_Int hypre_BoomerAMGCoarsenCR ( hypre_ParCSRMatrix *A, hypre_IntArray **CF_ hypre_ParCSRMatrix *S ); /* par_cycle.c */ -HYPRE_Int hypre_BoomerAMGCycle ( void *amg_vdata, hypre_ParVector **F_array, +HYPRE_Int hypre_BoomerAMGCycle ( hypre_ParAMGData *amg_vdata, hypre_ParVector **F_array, hypre_ParVector **U_array ); /* par_difconv.c */ @@ -1368,24 +1369,31 @@ HYPRE_ParCSRMatrix GenerateDifConv ( MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigIn /* par_gsmg.c */ HYPRE_Int hypre_ParCSRMatrixFillSmooth ( HYPRE_Int nsamples, HYPRE_Real *samples, - hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, HYPRE_Int num_functions, HYPRE_Int *dof_func ); + hypre_ParCSRMatrix *S, hypre_ParCSRMatrix *A, + HYPRE_Int num_functions, HYPRE_Int *dof_func ); HYPRE_Real hypre_ParCSRMatrixChooseThresh ( hypre_ParCSRMatrix *S ); HYPRE_Int hypre_ParCSRMatrixThreshold ( hypre_ParCSRMatrix *A, HYPRE_Real thresh ); -HYPRE_Int hypre_BoomerAMGCreateSmoothVecs ( void *data, hypre_ParCSRMatrix *A, HYPRE_Int num_sweeps, - HYPRE_Int level, HYPRE_Real **SmoothVecs_p ); -HYPRE_Int hypre_BoomerAMGCreateSmoothDirs ( void *data, hypre_ParCSRMatrix *A, - HYPRE_Real *SmoothVecs, HYPRE_Real thresh, HYPRE_Int num_functions, HYPRE_Int *dof_func, +HYPRE_Int hypre_BoomerAMGCreateSmoothVecs ( hypre_ParAMGData *data, hypre_ParCSRMatrix *A, + HYPRE_Int num_sweeps, HYPRE_Int level, + HYPRE_Real **SmoothVecs_p ); +HYPRE_Int hypre_BoomerAMGCreateSmoothDirs ( hypre_ParAMGData *data, hypre_ParCSRMatrix *A, + HYPRE_Real *SmoothVecs, HYPRE_Real thresh, + HYPRE_Int num_functions, HYPRE_Int *dof_func, hypre_ParCSRMatrix **S_ptr ); HYPRE_Int hypre_BoomerAMGNormalizeVecs ( HYPRE_Int n, HYPRE_Int num, HYPRE_Real *V ); HYPRE_Int hypre_BoomerAMGFitVectors ( HYPRE_Int ip, HYPRE_Int n, HYPRE_Int num, const HYPRE_Real *V, HYPRE_Int nc, const HYPRE_Int *ind, HYPRE_Real *val ); HYPRE_Int hypre_BoomerAMGBuildInterpLS ( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker, - hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, HYPRE_Int num_functions, HYPRE_Int *dof_func, - HYPRE_Int debug_flag, HYPRE_Real trunc_factor, HYPRE_Int num_smooth, HYPRE_Real *SmoothVecs, + hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, + HYPRE_Int num_functions, HYPRE_Int *dof_func, + HYPRE_Int debug_flag, HYPRE_Real trunc_factor, + HYPRE_Int num_smooth, HYPRE_Real *SmoothVecs, hypre_ParCSRMatrix **P_ptr ); HYPRE_Int hypre_BoomerAMGBuildInterpGSMG ( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker, - hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, HYPRE_Int num_functions, HYPRE_Int *dof_func, - HYPRE_Int debug_flag, HYPRE_Real trunc_factor, hypre_ParCSRMatrix **P_ptr ); + hypre_ParCSRMatrix *S, HYPRE_BigInt *num_cpts_global, + HYPRE_Int num_functions, HYPRE_Int *dof_func, + HYPRE_Int debug_flag, HYPRE_Real trunc_factor, + hypre_ParCSRMatrix **P_ptr ); /* par_indepset.c */ HYPRE_Int hypre_BoomerAMGIndepSetInit ( hypre_ParCSRMatrix *S, HYPRE_Real *measure_array, @@ -1441,21 +1449,25 @@ HYPRE_Int hypre_BoomerAMGBuildInterpOnePnt( hypre_ParCSRMatrix *A, HYPRE_Int *C HYPRE_Int debug_flag, hypre_ParCSRMatrix **P_ptr); /* par_jacobi_interp.c */ -void hypre_BoomerAMGJacobiInterp ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, - hypre_ParCSRMatrix *S, HYPRE_Int num_functions, HYPRE_Int *dof_func, HYPRE_Int *CF_marker, - HYPRE_Int level, HYPRE_Real truncation_threshold, HYPRE_Real truncation_threshold_minus ); -void hypre_BoomerAMGJacobiInterp_1 ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, - hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, HYPRE_Int level, HYPRE_Real truncation_threshold, - HYPRE_Real truncation_threshold_minus, HYPRE_Int *dof_func, HYPRE_Int *dof_func_offd, - HYPRE_Real weight_AF ); -void hypre_BoomerAMGTruncateInterp ( hypre_ParCSRMatrix *P, HYPRE_Real eps, HYPRE_Real dlt, - HYPRE_Int *CF_marker ); +HYPRE_Int hypre_BoomerAMGJacobiInterp ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, HYPRE_Int num_functions, + HYPRE_Int *dof_func, HYPRE_Int *CF_marker, + HYPRE_Int level, HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus ); +HYPRE_Int hypre_BoomerAMGJacobiInterp_1 ( hypre_ParCSRMatrix *A, hypre_ParCSRMatrix **P, + hypre_ParCSRMatrix *S, HYPRE_Int *CF_marker, + HYPRE_Int level, HYPRE_Real truncation_threshold, + HYPRE_Real truncation_threshold_minus, HYPRE_Int *dof_func, + HYPRE_Int *dof_func_offd, HYPRE_Real weight_AF ); +HYPRE_Int hypre_BoomerAMGTruncateInterp ( hypre_ParCSRMatrix *P, HYPRE_Real eps, + HYPRE_Real dlt, HYPRE_Int *CF_marker ); HYPRE_Int hypre_ParCSRMatrix_dof_func_offd ( hypre_ParCSRMatrix *A, HYPRE_Int num_functions, HYPRE_Int *dof_func, HYPRE_Int **dof_func_offd ); /* par_laplace_27pt.c */ HYPRE_ParCSRMatrix GenerateLaplacian27pt ( MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, - HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, + HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, + HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real *value ); HYPRE_Int hypre_map3 ( HYPRE_BigInt ix, HYPRE_BigInt iy, HYPRE_BigInt iz, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_BigInt *nx_part, HYPRE_BigInt *ny_part,