diff --git a/src/myblockproblem.hh b/src/myblockproblem.hh index 35af9cfcfe22a32ee201b7cb0c2f3ea2e96c2195..4bfa8174cd8d0eb5834974f145e4db85abbf5218 100644 --- a/src/myblockproblem.hh +++ b/src/myblockproblem.hh @@ -7,7 +7,6 @@ #include <dune/common/bitsetvector.hh> #include <dune/tnnmg/problem-classes/bisection.hh> -//#include <dune/tnnmg/problem-classes/convexproblem.hh> #include <dune/tnnmg/problem-classes/nonlinearity.hh> #include <dune/tnnmg/problem-classes/onedconvexfunction.hh> @@ -15,8 +14,8 @@ #include "nicefunction.hh" #include "samplefunctional.hh" -/** \brief Base class for problems where each block can be solved with a scalar - * Gauss-Seidel method */ +/** \brief Base class for problems where each block can be solved with a + * modified gradient method */ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem { public: typedef MyConvexProblemTypeTEMPLATE MyConvexProblemType; @@ -28,7 +27,7 @@ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem { static const int block_size = MyConvexProblemType::block_size; - /** \brief Solves one local system using a scalar Gauss-Seidel method */ + /** \brief Solves one local system using a modified gradient method */ class IterateObject; MyBlockProblem(MyConvexProblemType& problem) : problem(problem) { @@ -54,8 +53,7 @@ class MyBlockProblem<MyConvexProblemTypeTEMPLATE>::IterateObject { protected: /** \brief Constructor, protected so only friends can instantiate it * \param bisection The class used to do a scalar bisection - * \param problem The problem including quadratic part and nonlinear/nonsmooth - * part + * \param problem The problem including quadratic part and nonlinear part */ IterateObject(const Bisection& bisection, MyConvexProblemType& problem) : problem(problem), bisection(bisection) {}; @@ -63,24 +61,12 @@ class MyBlockProblem<MyConvexProblemTypeTEMPLATE>::IterateObject { public: /** \brief Set the current iterate */ void setIterate(VectorType& u) { - // TODO How should the rang-1 term be handled - // ???????????????????????????????? - // s = problem.Am*u; - // problem.phi.setVector(u); - this->u = u; return; }; /** \brief Update the i-th block of the current iterate */ void updateIterate(const LocalVectorType& ui, int i) { - // TODO How should the rang-1 term be handled - // ???????????????????????????????? - // s += (ui-u[i]) * problem.Am[i]; - - // for(size_t j=0; j<block_size; ++j) - // problem.phi.updateEntry(i, ui[j], j); - u[i] = ui; return; }; @@ -95,7 +81,6 @@ class MyBlockProblem<MyConvexProblemTypeTEMPLATE>::IterateObject { void solveLocalProblem( LocalVectorType& ui, int m, const typename Dune::BitSetVector<block_size>::const_reference ignore) { - // Note: problem.Am and problem.a will be ignored // Note: ignore is currently ignored (what's it used for anyway?) { LocalMatrixType const* localA = NULL; @@ -132,10 +117,6 @@ class MyBlockProblem<MyConvexProblemTypeTEMPLATE>::IterateObject { // state data for smoothing procedure used by: // setIterate, updateIterate, solveLocalProblem VectorType u; - - /** \brief Keeps track of the total number of bisection steps that were - * performed */ - int bisectionsteps; }; #endif