diff --git a/dune/gfe/geodesicfeassembler.hh b/dune/gfe/geodesicfeassembler.hh index 36640199e34b47338c444911ddca64527fb807cc..7be9133aa8839008cef76454992ffd251fac41f4 100644 --- a/dune/gfe/geodesicfeassembler.hh +++ b/dune/gfe/geodesicfeassembler.hh @@ -15,6 +15,7 @@ template <class Basis, class TargetSpace> class GeodesicFEAssembler { + using field_type = typename TargetSpace::field_type; typedef typename Basis::GridView GridView; using LocalStiffness = LocalGeodesicFEStiffness<Basis, TargetSpace>; @@ -78,7 +79,7 @@ public: * anyway to compute the Riemannian Hessian. */ virtual void assembleGradientAndHessian(const std::vector<TargetSpace>& sol, - Dune::BlockVector<Dune::FieldVector<double, blocksize> >& gradient, + Dune::BlockVector<Dune::FieldVector<field_type, blocksize> >& gradient, Dune::BCRSMatrix<MatrixBlock>& hessian, bool computeOccupationPattern=true) const; @@ -134,7 +135,7 @@ getNeighborsPerVertex(Dune::MatrixIndexSet& nb) const template <class Basis, class TargetSpace> void GeodesicFEAssembler<Basis,TargetSpace>:: assembleGradientAndHessian(const std::vector<TargetSpace>& sol, - Dune::BlockVector<Dune::FieldVector<double, blocksize> >& gradient, + Dune::BlockVector<Dune::FieldVector<field_type, blocksize> > &gradient, Dune::BCRSMatrix<MatrixBlock>& hessian, bool computeOccupationPattern) const {