diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc index 6b9635b82635866c12f12dac6fc014cde2fe2845..ad27cd31c0cd95474c416a4a800fd2bc98dc65c2 100644 --- a/cosserat-continuum.cc +++ b/cosserat-continuum.cc @@ -181,7 +181,7 @@ int main (int argc, char *argv[]) try // Create an assembler for the Harmonic Energy Functional // //////////////////////////////////////////////////////////// - CosseratEnergyLocalStiffness<GridType::LeafGridView,TargetSpace> harmonicEnergyLocalStiffness; + CosseratEnergyLocalStiffness<GridType::LeafGridView,3> harmonicEnergyLocalStiffness; GeodesicFEAssembler<GridType::LeafGridView,TargetSpace> assembler(grid.leafView(), &harmonicEnergyLocalStiffness); diff --git a/dune/gfe/cosseratenergystiffness.hh b/dune/gfe/cosseratenergystiffness.hh index 8e1e0d06ff51c8f8953bfb86c7c0cc8b5e0f8b2c..93e7be3a1699a29c602fad659e41d1e615e576a3 100644 --- a/dune/gfe/cosseratenergystiffness.hh +++ b/dune/gfe/cosseratenergystiffness.hh @@ -6,14 +6,16 @@ #include "localgeodesicfestiffness.hh" #include "localgeodesicfefunction.hh" +#include <dune/gfe/rigidbodymotion.hh> -template<class GridView, class TargetSpace> +template<class GridView, int dim> class CosseratEnergyLocalStiffness - : public LocalGeodesicFEStiffness<GridView,TargetSpace> + : public LocalGeodesicFEStiffness<GridView,RigidBodyMotion<dim> > { // grid types typedef typename GridView::Grid::ctype DT; + typedef RigidBodyMotion<dim> TargetSpace; typedef typename TargetSpace::ctype RT; typedef typename GridView::template Codim<0>::Entity Entity; @@ -31,10 +33,10 @@ public: }; -template <class GridView, class TargetSpace> -typename CosseratEnergyLocalStiffness<GridView, TargetSpace>::RT CosseratEnergyLocalStiffness<GridView, TargetSpace>:: +template <class GridView, int dim> +typename CosseratEnergyLocalStiffness<GridView, dim>::RT CosseratEnergyLocalStiffness<GridView, dim>:: energy(const Entity& element, - const std::vector<TargetSpace>& localSolution) const + const std::vector<RigidBodyMotion<dim> >& localSolution) const { RT energy = 0;