Skip to content
Snippets Groups Projects
Commit 0be6d6ea authored by Elias Pipping's avatar Elias Pipping
Browse files

[Cleanup] Do not hardcode friction law

parent 3a909874
No related branches found
No related tags found
No related merge requests found
...@@ -13,9 +13,7 @@ ...@@ -13,9 +13,7 @@
#include <dune/tectonic/globalfrictiondata.hh> #include <dune/tectonic/globalfrictiondata.hh>
#include <dune/tectonic/globalfriction.hh> #include <dune/tectonic/globalfriction.hh>
#include "frictionpotential.hh" template <class Matrix, class Vector, class ScalarFriction, class GridView>
template <class Matrix, class Vector, class GridView>
class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> { class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> {
public: public:
using GlobalFriction<Matrix, Vector>::block_size; using GlobalFriction<Matrix, Vector>::block_size;
...@@ -45,7 +43,7 @@ class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> { ...@@ -45,7 +43,7 @@ class GlobalRateStateFriction : public GlobalFriction<Matrix, Vector> {
restrictions[i] = trivialNonlinearity; restrictions[i] = trivialNonlinearity;
continue; continue;
} }
auto const fp = std::make_shared<TruncatedRateState>( auto const fp = std::make_shared<ScalarFriction>(
weights[i], normalStress[i], frictionInfo(coordinate)); weights[i], normalStress[i], frictionInfo(coordinate));
restrictions[i] = std::make_shared<Friction>(fp); restrictions[i] = std::make_shared<Friction>(fp);
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <dune/fufem/functions/constantfunction.hh> #include <dune/fufem/functions/constantfunction.hh>
#include <dune/fufem/quadraturerules/quadraturerulecache.hh> #include <dune/fufem/quadraturerules/quadraturerulecache.hh>
#include <dune/tectonic/frictionpotential.hh>
#include <dune/tectonic/globalratestatefriction.hh> #include <dune/tectonic/globalratestatefriction.hh>
#include "assemblers.hh" #include "assemblers.hh"
...@@ -135,7 +136,8 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( ...@@ -135,7 +136,8 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity(
vertexAssembler.assembleBoundaryFunctional(frictionalBoundaryAssembler, vertexAssembler.assembleBoundaryFunctional(frictionalBoundaryAssembler,
weights, frictionalBoundary); weights, frictionalBoundary);
} }
return std::make_shared<GlobalRateStateFriction<Matrix, Vector, GridView>>( return std::make_shared<
GlobalRateStateFriction<Matrix, Vector, TruncatedRateState, GridView>>(
frictionalBoundary, gridView, frictionInfo, weights, normalStress); frictionalBoundary, gridView, frictionInfo, weights, normalStress);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment