diff --git a/src/rodassembler.cc b/src/rodassembler.cc index d83cd9ced0e7ccd937f36123696828b11a0f98b0..6b5f3f9d3dbf3859eb8c60f34c924a88f3a6d003 100644 --- a/src/rodassembler.cc +++ b/src/rodassembler.cc @@ -178,8 +178,9 @@ getStress(const std::vector<RigidBodyMotion<3> >& sol, } template <class GridView> +template <class PatchGridView> Dune::FieldVector<double,3> RodAssembler<GridView>:: -getResultantForce(const BoundaryPatchBase<GridView>& boundary, +getResultantForce(const BoundaryPatchBase<PatchGridView>& boundary, const std::vector<RigidBodyMotion<3> >& sol, Dune::FieldVector<double,3>& canonicalTorque) const { @@ -197,8 +198,8 @@ getResultantForce(const BoundaryPatchBase<GridView>& boundary, canonicalTorque = 0; // Loop over the given boundary - typename BoundaryPatchBase<GridView>::iterator it = boundary.begin(); - typename BoundaryPatchBase<GridView>::iterator endIt = boundary.end(); + typename BoundaryPatchBase<PatchGridView>::iterator it = boundary.begin(); + typename BoundaryPatchBase<PatchGridView>::iterator endIt = boundary.end(); for (; it!=endIt; ++it) { diff --git a/src/rodassembler.hh b/src/rodassembler.hh index c730fa421394e1fb99ff25878994e21daaf10525..8814c87c0af30d830732030db99b8f3be8fd208e 100644 --- a/src/rodassembler.hh +++ b/src/rodassembler.hh @@ -96,7 +96,8 @@ class RodAssembler : public GeodesicFEAssembler<GridView, RigidBodyMotion<3> > /** \brief Return resultant force across boundary in canonical coordinates \note Linear run-time in the size of the grid */ - Dune::FieldVector<double,3> getResultantForce(const BoundaryPatchBase<GridView>& boundary, + template <class PatchGridView> + Dune::FieldVector<double,3> getResultantForce(const BoundaryPatchBase<PatchGridView>& boundary, const std::vector<RigidBodyMotion<3> >& sol, Dune::FieldVector<double,3>& canonicalTorque) const;