diff --git a/AMDiS/src/io/FileWriter.cc b/AMDiS/src/io/FileWriter.cc index 2b1feedcb638dd852008e018474042ff63f4af56..4af3c5a9d6dcbd1a422ee05c0f571897b38f0fbe 100644 --- a/AMDiS/src/io/FileWriter.cc +++ b/AMDiS/src/io/FileWriter.cc @@ -12,7 +12,6 @@ #include "boost/lexical_cast.hpp" #include "FileWriter.h" -#include "SystemVector.h" #include "Initfile.h" #include "ValueWriter.h" #include "MacroWriter.h" diff --git a/AMDiS/src/io/VtkWriter.cc b/AMDiS/src/io/VtkWriter.cc index 2b292a4d68f2e3d479e24a57a0dea0226494dfc7..d37d146c4531efe2f7689d1cf979330ce8aa9c13 100644 --- a/AMDiS/src/io/VtkWriter.cc +++ b/AMDiS/src/io/VtkWriter.cc @@ -160,7 +160,7 @@ namespace AMDiS { DataCollector dc(values->getFeSpace(), values); std::vector<DataCollector*> dcList(0); dcList.push_back(&dc); - writeFile(dcList,filename,writeParallel); + writeFile(dcList, filename, writeParallel); } diff --git a/AMDiS/src/parallel/PetscProblemStat.cc b/AMDiS/src/parallel/PetscProblemStat.cc index 89eb3f7d069f393aa5148e2c683d5c2c02fa12fb..0bde5bede490604dd104b21af00d637a14e260ff 100644 --- a/AMDiS/src/parallel/PetscProblemStat.cc +++ b/AMDiS/src/parallel/PetscProblemStat.cc @@ -13,6 +13,7 @@ #include <vector> #include <set> +#include "io/VtkWriter.h" #include "parallel/PetscProblemStat.h" #include "parallel/PetscSolver.h" #include "parallel/MpiHelper.h" diff --git a/AMDiS/src/parallel/PetscSolverFeti.cc b/AMDiS/src/parallel/PetscSolverFeti.cc index 222af4d66b172dd8c26e8709250267b9e7422be0..7930f7254b2405a84045271b13d9e7e47de1be27 100644 --- a/AMDiS/src/parallel/PetscSolverFeti.cc +++ b/AMDiS/src/parallel/PetscSolverFeti.cc @@ -1500,7 +1500,9 @@ namespace AMDiS { solveFetiMatrix(vec); } else { solveReducedFetiMatrix(vec); - } + } + + MeshDistributor::globalMeshDistributor->synchVector(vec); } diff --git a/AMDiS/src/time/RosenbrockAdaptInstationary.cc b/AMDiS/src/time/RosenbrockAdaptInstationary.cc index 262521edc7272e8eaa9db8572ff608835b7407a4..c05886809a38163236e1e6ba077d34ae93a56515 100644 --- a/AMDiS/src/time/RosenbrockAdaptInstationary.cc +++ b/AMDiS/src/time/RosenbrockAdaptInstationary.cc @@ -35,6 +35,7 @@ namespace AMDiS { initConstructor(problemStat); } + RosenbrockAdaptInstationary::RosenbrockAdaptInstationary(std::string name, RosenbrockStationary &problemStat, AdaptInfo &info, @@ -54,6 +55,7 @@ namespace AMDiS { initConstructor(&problemStat); } + void RosenbrockAdaptInstationary::initConstructor(RosenbrockStationary *problemStat) { std::string str; @@ -73,6 +75,7 @@ namespace AMDiS { problemStat->setTau(&tau); } + void RosenbrockAdaptInstationary::oneTimestep() { FUNCNAME("RosenbrockAdaptInstationary::oneTimestep()"); @@ -162,7 +165,7 @@ namespace AMDiS { INFO(info, 6)("time estimate for component %d = %e\n", i, adaptInfo->getTimeEstSum(i)); - if(errorEst > timeTol) + if (errorEst > timeTol) WARNING("Accepted timestep but tolerance not reached \n" ); } else { @@ -192,6 +195,8 @@ namespace AMDiS { adaptInfo->setLastProcessedTimestep(adaptInfo->getTimestep()); adaptInfo->incTimestepNumber(); + + MSG("ONE TIMESTEP!\n"); } } diff --git a/AMDiS/src/time/RosenbrockStationary.cc b/AMDiS/src/time/RosenbrockStationary.cc index 65241ea95cbc6da29dd1656c88da49565ee43aa4..811b661866c24d6135cc5974f47e987b4262ad72 100644 --- a/AMDiS/src/time/RosenbrockStationary.cc +++ b/AMDiS/src/time/RosenbrockStationary.cc @@ -17,6 +17,10 @@ #include "OEMSolver.h" #include "Debug.h" +#ifdef HAVE_PARALLEL_DOMAIN_AMDIS +#include "parallel/MeshDistributor.h" +#endif + namespace AMDiS { void RosenbrockStationary::acceptTimestep() @@ -25,6 +29,7 @@ namespace AMDiS { *unVec = *newUn; } + void RosenbrockStationary::init() { stageSolution = new SystemVector(*solution); @@ -59,7 +64,7 @@ namespace AMDiS { *newUn = *unVec; *lowSol = *unVec; - + for (int i = 0; i < rm->getStages(); i++) { *stageSolution = *unVec; for (int j = 0; j < i; j++) { @@ -79,7 +84,7 @@ namespace AMDiS { *tmp *= (rm->getC(i, j) / *tauPtr); *timeRhsVec += *tmp; } - + ProblemStat::buildAfterCoarsen(adaptInfo, flag, (i == 0), asmVector); ProblemStat::solve(adaptInfo, i == 0, i + 1 < rm->getStages()); @@ -87,6 +92,7 @@ namespace AMDiS { *tmp = *solution; *tmp *= rm->getM1(i); + *newUn += *tmp; *tmp = *solution;