diff --git a/dune/tectonic/globalratestatefriction.hh b/dune/tectonic/globalratestatefriction.hh index ddc2af2debf3e1893fc815346fdbc211c1bf7f15..8a00d350ab175b0a1110998857ecb92c8b3b0e17 100644 --- a/dune/tectonic/globalratestatefriction.hh +++ b/dune/tectonic/globalratestatefriction.hh @@ -13,9 +13,7 @@ #include <dune/tectonic/globalfrictiondata.hh> #include <dune/tectonic/globalfriction.hh> -#include "frictionpotential.hh" - -template <class Matrix, class Vector, class GridView> +template <class Matrix, class Vector, class ScalarFriction, class GridView> class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> { public: using GlobalFriction<Matrix, Vector>::block_size; @@ -45,7 +43,7 @@ class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> { restrictions[i] = trivialNonlinearity; continue; } - auto const fp = std::make_shared<TruncatedRateState>( + auto const fp = std::make_shared<ScalarFriction>( weights[i], normalStress[i], frictionInfo(coordinate)); restrictions[i] = std::make_shared<Friction>(fp); } diff --git a/src/assemblers.cc b/src/assemblers.cc index b42bb3017d3a95cc85b354eb95f0a60483a6ec3d..2360258342a29cec388d8107053d7978a1353abc 100644 --- a/src/assemblers.cc +++ b/src/assemblers.cc @@ -17,6 +17,7 @@ #include <dune/fufem/functions/constantfunction.hh> #include <dune/fufem/quadraturerules/quadraturerulecache.hh> +#include <dune/tectonic/frictionpotential.hh> #include <dune/tectonic/globalratestatefriction.hh> #include "assemblers.hh" @@ -135,7 +136,8 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( vertexAssembler.assembleBoundaryFunctional(frictionalBoundaryAssembler, weights, frictionalBoundary); } - return std::make_shared<GlobalRateStateFriction<Matrix, Vector, GridView>>( + return std::make_shared< + GlobalRateStateFriction<Matrix, Vector, TruncatedRateState, GridView>>( frictionalBoundary, gridView, frictionInfo, weights, normalStress); }