diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc index 19fcf4135b2debf46457c937552555e858481b33..5f629917fa390bd08f0c7e54af639bb079d9ff8b 100644 --- a/src/cosserat-continuum.cc +++ b/src/cosserat-continuum.cc @@ -214,6 +214,14 @@ int main (int argc, char *argv[]) try lagrange<displacementOrder>() )); + auto orientationPowerBasis = makeBasis( + gridView, + power<3>( + power<3>( + lagrange<rotationOrder>() + ) + )); + typedef Dune::Functions::LagrangeBasis<GridView,displacementOrder> DeformationFEBasis; typedef Dune::Functions::LagrangeBasis<GridView,rotationOrder> OrientationFEBasis; @@ -425,7 +433,7 @@ int main (int argc, char *argv[]) try Dune::Functions::interpolate(deformationPowerBasis, ddV, deformationDirichletValues, deformationDirichletDofs); BlockVector<FieldMatrix<double,3,3> > dOV; - Dune::Functions::interpolate(orientationFEBasis, dOV, orientationDirichletValues, orientationDirichletDofs); + Dune::Functions::interpolate(orientationPowerBasis, dOV, orientationDirichletValues); for (int i = 0; i < compositeBasis.size({0}); i++) { if (deformationDirichletDofs[i][0])