diff --git a/src/averagedistanceassembler.hh b/src/averagedistanceassembler.hh index 0dfd06d24e2f8ed1660cfdc00711d2f323ab0c71..18de1a9e1f7adf4ca076640fffcee2068ffc8c20 100644 --- a/src/averagedistanceassembler.hh +++ b/src/averagedistanceassembler.hh @@ -53,6 +53,14 @@ public: matrix[i][j] = (i==j); } + void assembleHessian(const TargetSpace& x, + Dune::FieldMatrix<double,size,size>& matrix) const + { + matrix = 0; + for (int i=0; i<dim+1; i++) + matrix.axpy(w[i], TargetSpace::secondDerivativeOfDistanceSquaredWRTSecondArgument(coefficients_[i], q)); + } + const std::vector<TargetSpace> coefficients_; const std::vector<double> weights_;