added new options in new_ij as well as new regression tests for the
new 2-stage interpolation operators
This commit is contained in:
parent
81b4a12219
commit
e0f7f5eaf1
69
test/TEST_ij/agg_interp.jobs
Executable file
69
test/TEST_ij/agg_interp.jobs
Executable file
@ -0,0 +1,69 @@
|
||||
#!/bin/ksh
|
||||
#BHEADER**********************************************************************
|
||||
# Copyright (c) 2008, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
# This file is part of HYPRE. See file COPYRIGHT for details.
|
||||
#
|
||||
# HYPRE is free software; you can redistribute it and/or modify it under the
|
||||
# terms of the GNU Lesser General Public License (as published by the Free
|
||||
# Software Foundation) version 2.1 dated February 1999.
|
||||
#
|
||||
# $Revision$
|
||||
#EHEADER**********************************************************************
|
||||
|
||||
#=============================================================================
|
||||
# new_ij: Test aggressive coarsening interpolation options
|
||||
# 1: 2s-ei interpolation 1 level (Pmx = 4)
|
||||
# 2: 2s-std interpolation 1 level (Pmx = 4)
|
||||
# 3: 2s-ext interpolation 1 level (tr = 0.3)
|
||||
# 4: multipass interpolation 1 level
|
||||
# 5: 2s-ei interpolation all levels (Pmx = 4)
|
||||
# 6: 2s-std interpolation all levels (Pmx = 4)
|
||||
# 7: 2s-ext interpolation all levels (tr = 0.3 P12_tr = 0.2)
|
||||
# 8: multipass interpolation all levels
|
||||
# 9: 2s-ei interpolation all levels (Pmx = 4, P12_mx = 3)
|
||||
# 8: multipass interpolation all levels for systems problem unknown approach
|
||||
# 8: 2s-ei interpolation all levels for systems problem unknown approach
|
||||
# 8: multipass interpolation all levels for systems problem hybrid approach
|
||||
# 8: 2s-ei interpolation all levels for systems problem hybrid approach
|
||||
#=============================================================================
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 1 -agg_interp 1 -agg_Pmx 4 -solver 1 -rlx 6 \
|
||||
> agg_interp.out.1
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 1 -agg_interp 2 -agg_Pmx 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.2
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 1 -agg_interp 3 -agg_tr 0.3 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.3
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 1 -agg_interp 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.4
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 10 -agg_interp 1 -agg_Pmx 4 -solver 1 -rlx 6 \
|
||||
> agg_interp.out.5
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 10 -agg_interp 2 -agg_Pmx 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.6
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 10 -agg_interp 3 -agg_tr 0.3 -agg_P12_tr 0.2 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.7
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 10 -agg_interp 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.8
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 30 29 31 -P 2 2 2 -hmis -agg_nl 1 -agg_interp 1 -agg_Pmx 4 -agg_P12_mx 3 -solver 1 -rlx 6 \
|
||||
> agg_interp.out.9
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 20 19 22 -P 2 2 2 -sysL 3 -nf 3 -hmis -agg_nl 10 -agg_interp 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.10
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 20 19 22 -P 2 2 2 -sysL 3 -nf 3 -hmis -agg_nl 10 -agg_interp 1 -agg_Pmx 4 -agg_P12_mx 4 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.11
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 20 19 22 -P 2 2 2 -sysL 3 -nf 3 -hmis -agg_nl 10 -agg_interp 4 -nodal 1 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.12
|
||||
|
||||
mpirun -np 8 ./new_ij -rhsrand -n 20 19 22 -P 2 2 2 -sysL 3 -nf 3 -hmis -agg_nl 10 -agg_interp 1 -agg_Pmx 4 -agg_P12_mx 4 -nodal 1 -solver 1 -rlx 6 \
|
||||
>> agg_interp.out.13
|
||||
|
||||
78
test/TEST_ij/agg_interp.saved
Normal file
78
test/TEST_ij/agg_interp.saved
Normal file
@ -0,0 +1,78 @@
|
||||
# Output file: agg_interp.out.1
|
||||
|
||||
|
||||
Iterations = 10
|
||||
Final Relative Residual Norm = 2.324107e-09
|
||||
|
||||
# Output file: agg_interp.out.2
|
||||
|
||||
|
||||
Iterations = 9
|
||||
Final Relative Residual Norm = 7.299631e-09
|
||||
|
||||
# Output file: agg_interp.out.3
|
||||
|
||||
|
||||
Iterations = 11
|
||||
Final Relative Residual Norm = 4.394947e-09
|
||||
|
||||
# Output file: agg_interp.out.4
|
||||
|
||||
|
||||
Iterations = 13
|
||||
Final Relative Residual Norm = 4.604995e-09
|
||||
|
||||
# Output file: agg_interp.out.5
|
||||
|
||||
|
||||
Iterations = 10
|
||||
Final Relative Residual Norm = 9.560624e-09
|
||||
|
||||
# Output file: agg_interp.out.6
|
||||
|
||||
|
||||
Iterations = 10
|
||||
Final Relative Residual Norm = 6.016343e-09
|
||||
|
||||
# Output file: agg_interp.out.7
|
||||
|
||||
|
||||
Iterations = 12
|
||||
Final Relative Residual Norm = 7.742892e-09
|
||||
|
||||
# Output file: agg_interp.out.8
|
||||
|
||||
|
||||
Iterations = 15
|
||||
Final Relative Residual Norm = 9.503769e-09
|
||||
|
||||
# Output file: agg_interp.out.9
|
||||
|
||||
|
||||
Iterations = 11
|
||||
Final Relative Residual Norm = 2.452371e-09
|
||||
|
||||
# Output file: agg_interp.out.10
|
||||
|
||||
|
||||
Iterations = 23
|
||||
Final Relative Residual Norm = 6.103183e-09
|
||||
|
||||
# Output file: agg_interp.out.11
|
||||
|
||||
|
||||
Iterations = 18
|
||||
Final Relative Residual Norm = 4.471484e-09
|
||||
|
||||
# Output file: agg_interp.out.12
|
||||
|
||||
|
||||
Iterations = 20
|
||||
Final Relative Residual Norm = 5.905785e-09
|
||||
|
||||
# Output file: agg_interp.out.13
|
||||
|
||||
|
||||
Iterations = 16
|
||||
Final Relative Residual Norm = 5.103180e-09
|
||||
|
||||
62
test/TEST_ij/agg_interp.sh
Executable file
62
test/TEST_ij/agg_interp.sh
Executable file
@ -0,0 +1,62 @@
|
||||
#!/bin/ksh
|
||||
#BHEADER**********************************************************************
|
||||
# Copyright (c) 2008, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
# This file is part of HYPRE. See file COPYRIGHT for details.
|
||||
#
|
||||
# HYPRE is free software; you can redistribute it and/or modify it under the
|
||||
# terms of the GNU Lesser General Public License (as published by the Free
|
||||
# Software Foundation) version 2.1 dated February 1999.
|
||||
#
|
||||
# $Revision$
|
||||
#EHEADER**********************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TNAME=`basename $0 .sh`
|
||||
|
||||
#=============================================================================
|
||||
# compare with baseline case
|
||||
#=============================================================================
|
||||
|
||||
FILES="\
|
||||
${TNAME}.out.1\
|
||||
${TNAME}.out.2\
|
||||
${TNAME}.out.3\
|
||||
${TNAME}.out.4\
|
||||
${TNAME}.out.5\
|
||||
${TNAME}.out.6\
|
||||
${TNAME}.out.7\
|
||||
${TNAME}.out.8\
|
||||
${TNAME}.out.9\
|
||||
${TNAME}.out.10\
|
||||
${TNAME}.out.11\
|
||||
${TNAME}.out.12\
|
||||
${TNAME}.out.13\
|
||||
"
|
||||
|
||||
for i in $FILES
|
||||
do
|
||||
echo "# Output file: $i"
|
||||
tail -5 $i
|
||||
done > ${TNAME}.out
|
||||
|
||||
# Make sure that the output files are reasonable
|
||||
CHECK_LINE="Complexity"
|
||||
OUT_COUNT=`grep "$CHECK_LINE" ${TNAME}.out | wc -l`
|
||||
SAVED_COUNT=`grep "$CHECK_LINE" ${TNAME}.saved | wc -l`
|
||||
if [ "$OUT_COUNT" != "$SAVED_COUNT" ]; then
|
||||
echo "Incorrect number of \"$CHECK_LINE\" lines in ${TNAME}.out" >&2
|
||||
fi
|
||||
|
||||
if [ -z $HYPRE_NO_SAVED ]; then
|
||||
diff -U3 -bI"time" ${TNAME}.saved ${TNAME}.out >&2
|
||||
fi
|
||||
|
||||
#=============================================================================
|
||||
# remove temporary files
|
||||
#=============================================================================
|
||||
|
||||
rm -f ${TNAME}.testdata*
|
||||
@ -205,8 +205,15 @@ main( int argc,
|
||||
int aug_dim;
|
||||
/* parameters for GSMG */
|
||||
int gsmg_samples = 5;
|
||||
/* interpolation */
|
||||
int interp_type = 0; /* default value */
|
||||
int post_interp_type = 0; /* default value */
|
||||
/* aggressive coarsening */
|
||||
int agg_interp_type = 4; /* default value */
|
||||
int agg_P_max_elmts = 0; /* default value */
|
||||
int agg_P12_max_elmts = 0; /* default value */
|
||||
double agg_trunc_factor = 0; /* default value */
|
||||
double agg_P12_trunc_factor = 0; /* default value */
|
||||
|
||||
int print_system = 0;
|
||||
|
||||
@ -880,6 +887,31 @@ main( int argc,
|
||||
arg_index++;
|
||||
interp_type = atoi(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-agg_interp") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
agg_interp_type = atoi(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-agg_Pmx") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
agg_P_max_elmts = atoi(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-agg_P12_mx") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
agg_P12_max_elmts = atoi(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-agg_tr") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
agg_trunc_factor = atof(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-agg_P12_tr") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
agg_P12_trunc_factor = atof(argv[arg_index++]);
|
||||
}
|
||||
else if ( strcmp(argv[arg_index], "-postinterptype") == 0 )
|
||||
{
|
||||
arg_index++;
|
||||
@ -2020,6 +2052,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetEuSparseA(amg_solver, eu_sparse_A);
|
||||
HYPRE_BoomerAMGSetNumFunctions(amg_solver, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(amg_solver, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(amg_solver, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(amg_solver, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(amg_solver, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(amg_solver, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(amg_solver, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(amg_solver, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(amg_solver, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(amg_solver, nodal_diag);
|
||||
@ -2129,6 +2166,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetEuSparseA(amg_solver, eu_sparse_A);
|
||||
HYPRE_BoomerAMGSetNumFunctions(amg_solver, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(amg_solver, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(amg_solver, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(amg_solver, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(amg_solver, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(amg_solver, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(amg_solver, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(amg_solver, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(amg_solver, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(amg_solver, nodal_diag);
|
||||
@ -2255,6 +2297,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -2382,6 +2429,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -2563,6 +2615,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -2680,6 +2737,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -2863,6 +2925,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -3007,6 +3074,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -3157,6 +3229,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
@ -3351,6 +3428,11 @@ main( int argc,
|
||||
HYPRE_BoomerAMGSetMaxRowSum(pcg_precond, max_row_sum);
|
||||
HYPRE_BoomerAMGSetNumFunctions(pcg_precond, num_functions);
|
||||
HYPRE_BoomerAMGSetAggNumLevels(pcg_precond, agg_num_levels);
|
||||
HYPRE_BoomerAMGSetAggInterpType(pcg_precond, agg_interp_type);
|
||||
HYPRE_BoomerAMGSetAggTruncFactor(pcg_precond, agg_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggP12TruncFactor(pcg_precond, agg_P12_trunc_factor);
|
||||
HYPRE_BoomerAMGSetAggPMaxElmts(pcg_precond, agg_P_max_elmts);
|
||||
HYPRE_BoomerAMGSetAggP12MaxElmts(pcg_precond, agg_P12_max_elmts);
|
||||
HYPRE_BoomerAMGSetNumPaths(pcg_precond, num_paths);
|
||||
HYPRE_BoomerAMGSetNodal(pcg_precond, nodal);
|
||||
HYPRE_BoomerAMGSetNodalDiag(pcg_precond, nodal_diag);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user