From 514581b5c065be8b98b65604155e570e63c10881 Mon Sep 17 00:00:00 2001
From: Leo Schmidt <lschmidt@math.fu-berlin.de>
Date: Thu, 22 Oct 2009 13:21:24 +0000
Subject: [PATCH] PatchGridView might differ from class template parameter

[[Imported from SVN: r5098]]
---
 src/rodassembler.cc | 7 ++++---
 src/rodassembler.hh | 3 ++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/rodassembler.cc b/src/rodassembler.cc
index d83cd9ce..6b5f3f9d 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 c730fa42..8814c87c 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;
 
-- 
GitLab