Merge branch 'master' of https://gitlab.math.tu-dresden.de/iwr/amdis
... | @@ -47,30 +47,30 @@ namespace AMDiS { | ... | @@ -47,30 +47,30 @@ namespace AMDiS { |
if (params.matSolverPackage[kspSolver]) { | if (params.matSolverPackage[kspSolver]) { | ||
// direct solvers | // direct solvers | ||
petsc_options_insert_string(("-" + kspPrefix + "ksp_type preonly").c_str()); | petsc::options_insert_string(("-" + kspPrefix + "ksp_type preonly").c_str()); | ||
petsc_options_insert_string(("-" + kspPrefix + "pc_type lu").c_str()); | petsc::options_insert_string(("-" + kspPrefix + "pc_type lu").c_str()); | ||
petsc_options_insert_string(("-" + kspPrefix + "pc_factor_mat_solver_package " + (kspSolver != "direct" ? kspSolver : "umfpack")).c_str()); | petsc::options_insert_string(("-" + kspPrefix + "pc_factor_mat_solver_package " + (kspSolver != "direct" ? kspSolver : "umfpack")).c_str()); | ||
oem.setMaxIterations(1); | oem.setMaxIterations(1); | ||
zeroStartVector = true; | zeroStartVector = true; | ||
matSolverPackage = true; | matSolverPackage = true; | ||
} else if (!params.emptyParam[kspSolver]) { | } else if (!params.emptyParam[kspSolver]) { | ||
// other solvers | // other solvers | ||
petsc_options_insert_string(("-" + kspPrefix + "ksp_type " + kspSolver).c_str()); | petsc::options_insert_string(("-" + kspPrefix + "ksp_type " + kspSolver).c_str()); | ||
} | } | ||
// set the preconditioner | // set the preconditioner | ||
setPrecon(); | setPrecon(); | ||
if (oem.getInfo() >= 20) | if (oem.getInfo() >= 20) | ||
petsc_options_insert_string(("-" + kspPrefix + "ksp_monitor_true_residual").c_str()); | petsc::options_insert_string(("-" + kspPrefix + "ksp_monitor_true_residual").c_str()); | ||
else if (oem.getInfo() >= 10) | else if (oem.getInfo() >= 10) | ||
petsc_options_insert_string(("-" + kspPrefix + "ksp_monitor").c_str()); | petsc::options_insert_string(("-" + kspPrefix + "ksp_monitor").c_str()); | ||
// command line string | // command line string | ||
std::string kspString = ""; | std::string kspString = ""; | ||
Parameters::get(oem.getName() + "->ksp", kspString); | Parameters::get(oem.getName() + "->ksp", kspString); | ||
if (kspString != "") | < |