diff --git a/src/geodesicfeassembler.hh b/src/geodesicfeassembler.hh index e860cded89e78d253567e8ee73e5e96974767d0b..ce2b4519c384518c9aacba6a44611a989a29fe8e 100644 --- a/src/geodesicfeassembler.hh +++ b/src/geodesicfeassembler.hh @@ -40,21 +40,17 @@ public: /** \brief Assemble the tangent stiffness matrix */ - void assembleMatrix(const std::vector<TargetSpace>& sol, + virtual void assembleMatrix(const std::vector<TargetSpace>& sol, Dune::BCRSMatrix<MatrixBlock>& matrix) const; /** \brief Assemble the gradient */ - void assembleGradient(const std::vector<TargetSpace>& sol, + virtual void assembleGradient(const std::vector<TargetSpace>& sol, Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const; - /** \brief Assemble the gradient using a finite difference approximation */ - void assembleGradientFD(const std::vector<TargetSpace>& sol, - Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const; - /** \brief Compute the energy of a deformation state */ - double computeEnergy(const std::vector<TargetSpace>& sol) const; + virtual double computeEnergy(const std::vector<TargetSpace>& sol) const; -protected: + //protected: void getNeighborsPerVertex(Dune::MatrixIndexSet& nb) const; }; // end class @@ -151,8 +147,8 @@ assembleGradient(const std::vector<TargetSpace>& sol, grad.resize(sol.size()); grad = 0; - ElementIterator it = gridView_->template begin<0>(); - ElementIterator endIt = gridView_->template end<0>(); + ElementIterator it = gridView_.template begin<0>(); + ElementIterator endIt = gridView_.template end<0>(); // Loop over all elements for (; it!=endIt; ++it) {