diff --git a/src/rodassembler.hh b/src/rodassembler.hh index ca8346fed099ec7e9aaa307ccbca6781ac09eaa5..8928383cf5747e8a27ef578dfd184b9f07641e4c 100644 --- a/src/rodassembler.hh +++ b/src/rodassembler.hh @@ -5,16 +5,17 @@ #include <dune/common/fmatrix.hh> #include <dune/istl/matrixindexset.hh> #include <dune/istl/matrix.hh> -#include <dune/disc/operators/localstiffness.hh> #include <dune/ag-common/boundarypatch.hh> -#include "rigidbodymotion.hh" +#include "rigidbodymotion.hh" +#include "geodesicfeassembler.hh" - /** \brief The FEM operator for an extensible, shearable rod - */ - template <class GridType> - class RodAssembler { +/** \brief The FEM operator for an extensible, shearable rod + */ +template <class GridType> +class RodAssembler : public GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<3> > +{ typedef typename GridType::template Codim<0>::Entity EntityType; typedef typename GridType::template Codim<0>::EntityPointer EntityPointer; @@ -47,6 +48,7 @@ //! ??? RodAssembler(const GridType &grid) : + GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<3> >(grid.leafView()), grid_(&grid) { // Set dummy material parameters @@ -70,8 +72,6 @@ } - ~RodAssembler() {} - void setParameters(double k1, double k2, double k3, double a1, double a2, double a3) { K_[0] = k1;