From c06506af258e271d8107cb7e23c7cdaade1eaaae Mon Sep 17 00:00:00 2001 From: Thomas Witkowski <thomas.witkowski@gmx.de> Date: Tue, 7 Aug 2012 14:06:20 +0000 Subject: [PATCH] Fixed for parallel computations. --- extensions/ExtendedProblemStat.h | 65 -------------------------------- 1 file changed, 65 deletions(-) diff --git a/extensions/ExtendedProblemStat.h b/extensions/ExtendedProblemStat.h index adbbc4c4..c825a14a 100644 --- a/extensions/ExtendedProblemStat.h +++ b/extensions/ExtendedProblemStat.h @@ -9,10 +9,6 @@ #include "nonlin/ProblemNonLin.h" #endif -#ifdef HAVE_PARALLEL_DOMAIN_AMDIS - #include "parallel/PetscProblemStat.h" -#endif - using namespace AMDiS; const Flag INIT_EXACT_SOLUTION = 0X2000L; @@ -40,22 +36,6 @@ public: exactSolutions.resize(nComponents); for (int i = 0; i < nComponents; ++i) exactSolutions[i] = NULL; - -#ifdef HAVE_PARALLEL_DOMAIN_AMDIS - ksp_type = "bcgs"; - pc_type = "bjacobi"; - pc_factor_mat_solver_package = "mumps"; - ksp_rtol = 0.0; - ksp_abstol = 1.e-8; - ksp_maxits = 500; - - Parameters::get(nameStr + "->petsc->ksp_type",ksp_type); - Parameters::get(nameStr + "->petsc->pc_type",pc_type); - Parameters::get(nameStr + "->petsc->pc_factor_mat_solver_package",pc_factor_mat_solver_package); - Parameters::get(nameStr + "->petsc->rtol",ksp_rtol); - Parameters::get(nameStr + "->petsc->abstol",ksp_abstol); - Parameters::get(nameStr + "->petsc->maxits",ksp_maxits); -#endif } void initialize(Flag initFlag, @@ -139,40 +119,6 @@ public: bool storeMatrixData = false) { FUNCNAME("ExtendedProblemStat::solve()"); -#ifdef HAVE_PARALLEL_DOMAIN_AMDIS - TEST_EXIT(meshDistributor)("Should not happen!\n"); - TEST_EXIT(singularDirichletBC.size() == 0) - ("Singular Dirichlet BC not implemented for parallel computing!\n"); - - double wtime = MPI::Wtime(); - - if (createMatrixData) { - petscSolver->setMeshDistributor(meshDistributor); - petscSolver->fillPetscMatrix(systemMatrix); - } - - petscSolver->fillPetscRhs(rhs); - - MSG("set PETSC-Parameters...\n"); - KSPSetType(petscSolver->getSolver(), ksp_type.c_str()); - KSPSetTolerances(petscSolver->getSolver(), ksp_rtol, ksp_abstol, PETSC_DEFAULT, ksp_maxits); - if (ksp_type == "preonly") { - KSPSetInitialGuessNonzero(petscSolver->getSolver(), PETSC_FALSE); - } - PCSetType(petscSolver->getPc(), pc_type.c_str()); - if (pc_type == "lu") { - PCFactorSetMatSolverPackage(petscSolver->getPc(), pc_factor_mat_solver_package.c_str()); - } - - petscSolver->solvePetscMatrix(*solution, adaptInfo); - - if (!storeMatrixData) - petscSolver->destroyMatrixData(); - - INFO(info, 8)("solution of discrete system needed %.5f seconds\n", - MPI::Wtime() - wtime); -#endif - ProblemStat_::solve(adaptInfo, createMatrixData, storeMatrixData); oldMeshChangeIdx = getMesh()->getChangeIndex(); @@ -458,16 +404,5 @@ private: std::map<const FiniteElemSpace*, bool> feSpaceVisited; -#ifdef HAVE_PARALLEL_DOMAIN_AMDIS - std::string ksp_type; - std::string pc_type; - std::string pc_factor_mat_solver_package; - - double ksp_rtol; - double ksp_abstol; - - int ksp_maxits; -#endif - }; #endif // EXTENDED_PROBLEM_STAT_H -- GitLab