From ed87b407a05e2427c1979c517b36da4fec56a5dd Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Fri, 20 Dec 2013 16:01:35 +0000
Subject: [PATCH] Left-overs from refactoring: LinearFunctionalAssembler wants
 a LocalFiniteElement as template parameter now

[[Imported from SVN: r12495]]
---
 .../elasticity/assemblers/neohookefunctionalassembler.hh | 9 ++++-----
 .../materials/geomexactstvenantkirchhoffmaterial.hh      | 2 +-
 dune/elasticity/materials/neohookeanmaterial.hh          | 2 +-
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/dune/elasticity/assemblers/neohookefunctionalassembler.hh b/dune/elasticity/assemblers/neohookefunctionalassembler.hh
index d4dc7d3..dad1db4 100644
--- a/dune/elasticity/assemblers/neohookefunctionalassembler.hh
+++ b/dune/elasticity/assemblers/neohookefunctionalassembler.hh
@@ -38,9 +38,9 @@
  *      - \f$J\f$ the determinant of the deformation gradient
  *      - \f$\lambda\f$,\f$\mu\f$ material parameters
 */ 
-template <class GridType>
+template <class GridType, class TrialLocalFE>
 class NeoHookeFunctionalAssembler : 
-    public LocalFunctionalAssembler<GridType, Dune::FieldVector<typename GridType::ctype ,GridType::dimension> >
+    public LocalFunctionalAssembler<GridType, TrialLocalFE, Dune::FieldVector<typename GridType::ctype ,GridType::dimension> >
 
 {
     static const int dim = GridType::dimension;
@@ -48,8 +48,8 @@ class NeoHookeFunctionalAssembler :
     typedef typename Dune::FieldVector<ctype,GridType::dimension> T;
 
 public:
-    typedef typename LocalFunctionalAssembler<GridType,T>::ElementPointer ElementPointer;
-    typedef typename LocalFunctionalAssembler<GridType,T>::LocalVector LocalVector;
+    typedef typename LocalFunctionalAssembler<GridType,TrialLocalFE,T>::ElementPointer ElementPointer;
+    typedef typename LocalFunctionalAssembler<GridType,TrialLocalFE,T>::LocalVector LocalVector;
     typedef VirtualGridFunction<GridType, Dune::FieldVector<ctype,GridType::dimension> > GridFunction;
 
     //! Create assembler from material parameters and a grid
@@ -65,7 +65,6 @@ public:
         mu_(mu)
     {}
 
-    template <class TrialLocalFE>
     void assemble(const ElementPointer& element, LocalVector& localVector, const TrialLocalFE& tFE) {
 
         typedef typename Dune::FieldVector<ctype,dim> FVdim;
diff --git a/dune/elasticity/materials/geomexactstvenantkirchhoffmaterial.hh b/dune/elasticity/materials/geomexactstvenantkirchhoffmaterial.hh
index 7073231..476162d 100644
--- a/dune/elasticity/materials/geomexactstvenantkirchhoffmaterial.hh
+++ b/dune/elasticity/materials/geomexactstvenantkirchhoffmaterial.hh
@@ -22,7 +22,7 @@ public:
     typedef typename Basis::GridView::Grid GridType;
     typedef typename Basis::LocalFiniteElement Lfe;    
 
-    typedef GeomNonlinElasticityFunctionalAssembler<GridType> LocalLinearization;
+    typedef GeomNonlinElasticityFunctionalAssembler<GridType,Lfe> LocalLinearization;
     typedef GeomNonlinLinearizedStVenantAssembler<GridType, Lfe, Lfe> LocalHessian;
     typedef Basis GlobalBasis;
 
diff --git a/dune/elasticity/materials/neohookeanmaterial.hh b/dune/elasticity/materials/neohookeanmaterial.hh
index 778efc5..fec6452 100644
--- a/dune/elasticity/materials/neohookeanmaterial.hh
+++ b/dune/elasticity/materials/neohookeanmaterial.hh
@@ -22,7 +22,7 @@ public:
     typedef typename Basis::GridView::Grid GridType;
     typedef typename Basis::LocalFiniteElement Lfe;    
 
-    typedef NeoHookeFunctionalAssembler<GridType> LocalLinearization;
+    typedef NeoHookeFunctionalAssembler<GridType,Lfe> LocalLinearization;
     typedef NeoHookeOperatorAssembler<GridType, Lfe, Lfe> LocalHessian;
     typedef Basis GlobalBasis;
 
-- 
GitLab