diff --git a/AMDiS/src/Estimator.h b/AMDiS/src/Estimator.h index 5488970cc9f822ee0a887fdfa0a27786ebeb47be..b51717810f950b03f04e73924aa0b546485b9dd0 100755 --- a/AMDiS/src/Estimator.h +++ b/AMDiS/src/Estimator.h @@ -53,7 +53,8 @@ namespace AMDiS { virtual ~Estimator() {} /// Returns \ref name of the Estimator - inline const std::string& getName() const { + inline const std::string& getName() const + { return name; } @@ -70,37 +71,44 @@ namespace AMDiS { virtual void exit(bool output=true) {} /// Returns \ref est_sum of the Estimator - inline double getErrorSum() const { + inline double getErrorSum() const + { return est_sum; } /// Sets \ref est_sum of the Estimator - inline void setErrorSum(double sum) { + inline void setErrorSum(double sum) + { est_sum = sum; } /// Returns \ref est_max of the Estimator - inline double getErrorMax() const { + inline double getErrorMax() const + { return est_max; } /// Returns the estimated time error. - virtual double getTimeEst() const { + virtual double getTimeEst() const + { return est_t_sum; } /// Returns the maximal time estimation. - virtual double getTimeEstMax() const { + virtual double getTimeEstMax() const + { return est_t_max; } /// Sets \ref est_max of the Estimator - inline void setErrorMax(double m) { + inline void setErrorMax(double m) + { est_max = m; } /// Returns \ref norm. - inline Norm getErrorNorm() { + inline Norm getErrorNorm() + { return norm; } @@ -116,6 +124,11 @@ namespace AMDiS { uhOld.push_back(uhOld_); } + void setNewMatrix(int i, DOFMatrix *m) + { + matrix[i] = m; + } + /// Adds pointer to old solution to the given system. virtual void addUhOldToSystem(int system, DOFVector<double> *uhOld_) { @@ -125,19 +138,23 @@ namespace AMDiS { } /// Returns number of systems. - inline int getNumSystems() { + inline int getNumSystems() + { return static_cast<int>(matrix.size()); } - inline Flag getTraverseFlag() { + inline Flag getTraverseFlag() + { return traverseFlag; } - inline Mesh* getMesh() { + inline Mesh* getMesh() + { return mesh; } - inline int getRow() { + inline int getRow() + { return row; } diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc index 6b7bf79b168a255dbf164c181e32eb7e59c23b5b..3f0aa3ad8e785c60315c6c18d8c1de58cc5ca9ed 100644 --- a/AMDiS/src/ProblemVec.cc +++ b/AMDiS/src/ProblemVec.cc @@ -878,6 +878,9 @@ namespace AMDiS { (*systemMatrix)[i][j]->getBoundaryManager()-> setBoundaryConditionMap((*systemMatrix)[i][i]->getBoundaryManager()-> getBoundaryConditionMap()); + + if (estimator[i]) + estimator[i]->setNewMatrix(j, (*systemMatrix)[i][j]); } (*systemMatrix)[i][j]->addOperator(op, factor, estFactor);