From bc1cbc15fe2494b6432392530b0773c715d82c7b Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Thu, 19 Mar 2015 19:01:26 +0000 Subject: [PATCH] LocalStiffness objects get the basis now, instead of GridView and LocalFiniteElement [[Imported from SVN: r10088]] --- dune/gfe/cosseratenergystiffness.hh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/dune/gfe/cosseratenergystiffness.hh b/dune/gfe/cosseratenergystiffness.hh index 755f749b..93de487c 100644 --- a/dune/gfe/cosseratenergystiffness.hh +++ b/dune/gfe/cosseratenergystiffness.hh @@ -20,12 +20,14 @@ //#define QUADRATIC_MEMBRANE_ENERGY -template<class GridView, class LocalFiniteElement, int dim, class field_type=double> +template<class Basis, int dim, class field_type=double> class CosseratEnergyLocalStiffness - : public LocalGeodesicFEStiffness<GridView,LocalFiniteElement,RigidBodyMotion<field_type,dim> > + : public LocalGeodesicFEStiffness<Basis,RigidBodyMotion<field_type,dim> > { // grid types - typedef typename GridView::Grid::ctype DT; + typedef typename Basis::GridView GridView; + typedef typename Basis::LocalView::Tree::FiniteElement LocalFiniteElement; + typedef typename GridView::ctype DT; typedef RigidBodyMotion<field_type,dim> TargetSpace; typedef typename TargetSpace::ctype RT; typedef typename GridView::template Codim<0>::Entity Entity; @@ -294,11 +296,11 @@ public: const Dune::VirtualFunction<Dune::FieldVector<double,gridDim>, Dune::FieldVector<double,3> >* neumannFunction_; }; -template <class GridView, class LocalFiniteElement, int dim, class field_type> -typename CosseratEnergyLocalStiffness<GridView,LocalFiniteElement,dim,field_type>::RT -CosseratEnergyLocalStiffness<GridView,LocalFiniteElement,dim,field_type>:: +template <class Basis, int dim, class field_type> +typename CosseratEnergyLocalStiffness<Basis,dim,field_type>::RT +CosseratEnergyLocalStiffness<Basis,dim,field_type>:: energy(const Entity& element, - const LocalFiniteElement& localFiniteElement, + const typename Basis::LocalView::Tree::FiniteElement& localFiniteElement, const std::vector<RigidBodyMotion<field_type,dim> >& localSolution) const { assert(element.type() == localFiniteElement.type()); -- GitLab