diff --git a/dune/tectonic/globalnonlinearity.hh b/dune/tectonic/globalfriction.hh similarity index 94% rename from dune/tectonic/globalnonlinearity.hh rename to dune/tectonic/globalfriction.hh index 60dde9b4bb1ed1501d7c4fba27069bf11656e6b2..418a9b49a30538f9e91a73c7175834f133faff6b 100644 --- a/dune/tectonic/globalnonlinearity.hh +++ b/dune/tectonic/globalfriction.hh @@ -1,5 +1,5 @@ -#ifndef DUNE_TECTONIC_GLOBALNONLINEARITY_HH -#define DUNE_TECTONIC_GLOBALNONLINEARITY_HH +#ifndef DUNE_TECTONIC_GLOBALFRICTION_HH +#define DUNE_TECTONIC_GLOBALFRICTION_HH #include <dune/common/fmatrix.hh> #include <dune/common/fvector.hh> @@ -11,7 +11,7 @@ #include "localfriction.hh" -template <class Matrix, class Vector> class GlobalNonlinearity { +template <class Matrix, class Vector> class GlobalFriction { protected: using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; diff --git a/dune/tectonic/globalruinanonlinearity.hh b/dune/tectonic/globalruinanonlinearity.hh index 69c751b46ae3e4ee150a553c97233c0ef061ed09..8045d25401549280fb601118296af7ce8cc242a2 100644 --- a/dune/tectonic/globalruinanonlinearity.hh +++ b/dune/tectonic/globalruinanonlinearity.hh @@ -12,17 +12,17 @@ #include <dune/tectonic/globalfrictiondata.hh> -#include "globalnonlinearity.hh" +#include "globalfriction.hh" #include "frictionpotential.hh" template <class Matrix, class Vector, class GridView> -class GlobalRuinaNonlinearity : public GlobalNonlinearity<Matrix, Vector> { +class GlobalRuinaNonlinearity : public GlobalFriction<Matrix, Vector> { public: - using GlobalNonlinearity<Matrix, Vector>::block_size; - using typename GlobalNonlinearity<Matrix, Vector>::Friction; + using GlobalFriction<Matrix, Vector>::block_size; + using typename GlobalFriction<Matrix, Vector>::Friction; private: - using typename GlobalNonlinearity<Matrix, Vector>::ScalarVector; + using typename GlobalFriction<Matrix, Vector>::ScalarVector; public: GlobalRuinaNonlinearity(BoundaryPatch<GridView> const &frictionalBoundary, diff --git a/dune/tectonic/myblockproblem.hh b/dune/tectonic/myblockproblem.hh index 3926e0ba57343501b3134d2314359d8d15ea6a00..f4b17972e319ffd0731078a1528beebdc3105a00 100644 --- a/dune/tectonic/myblockproblem.hh +++ b/dune/tectonic/myblockproblem.hh @@ -14,7 +14,7 @@ #include <dune/tnnmg/problem-classes/bisection.hh> #include <dune/tnnmg/problem-classes/blocknonlineargsproblem.hh> -#include "globalnonlinearity.hh" +#include "globalfriction.hh" #include "minimisation.hh" #include "mydirectionalconvexfunction.hh" #include "quadraticenergy.hh" @@ -106,7 +106,7 @@ class MyBlockProblem : /* NOT PUBLIC */ BlockNonlinearGSProblem<ConvexProblem> { v /= vnorm; // Rescale for numerical stability MyDirectionalConvexFunction< - GlobalNonlinearity<MatrixType, VectorType>> const + GlobalFriction<MatrixType, VectorType>> const psi(computeDirectionalA(problem_.A, v), computeDirectionalb(problem_.A, problem_.f, u, v), problem_.phi, u, v); diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index ec95af912e27fa9a4a55b5b90e29ca44260e9ab2..7dd1555a41238d2a4a190def1decea308bd1755a 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -65,7 +65,7 @@ #include <dune/tnnmg/problem-classes/convexproblem.hh> #include <dune/tectonic/myblockproblem.hh> -#include <dune/tectonic/globalnonlinearity.hh> +#include <dune/tectonic/globalfriction.hh> #include "assemblers.hh" #include "tobool.hh" @@ -249,9 +249,9 @@ int main(int argc, char *argv[]) { body.getYoungModulus(), body.getPoissonRatio(), u_initial); MyGlobalFrictionData<dims> frictionInfo(parset.sub("boundary.friction")); - auto myGlobalNonlinearity = myAssembler.assembleFrictionNonlinearity( + auto myGlobalFriction = myAssembler.assembleFrictionNonlinearity( frictionalBoundary, frictionInfo, normalStress); - myGlobalNonlinearity->updateAlpha(alpha_initial); + myGlobalFriction->updateAlpha(alpha_initial); Vector v_initial(fineVertexCount); v_initial = 0.0; @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) { Arithmetic::addProduct(accelerationRHS, A, u_initial); Arithmetic::addProduct(accelerationRHS, C, v_initial); // NOTE: We assume differentiability of Psi at 0 here! - myGlobalNonlinearity->addGradient(v_initial, accelerationRHS); + myGlobalFriction->addGradient(v_initial, accelerationRHS); accelerationRHS *= -1.0; accelerationRHS += ell; } @@ -309,7 +309,7 @@ int main(int argc, char *argv[]) { verticalSurfaceWriter.writeKinetics(_u, _v); ScalarVector c; - myGlobalNonlinearity->coefficientOfFriction(_v, c); + myGlobalFriction->coefficientOfFriction(_v, c); frictionWriter.writeKinetics(_u, _v); frictionWriter.writeOther(c, _alpha); }; @@ -334,7 +334,7 @@ int main(int argc, char *argv[]) { // Set up TNNMG solver using NonlinearFactory = SolverFactory<dims, MyBlockProblem<ConvexProblem< - GlobalNonlinearity<Matrix, Vector>, Matrix>>, + GlobalFriction<Matrix, Vector>, Matrix>>, Grid>; NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, dirichletNodes); @@ -396,11 +396,11 @@ int main(int argc, char *argv[]) { size_t iterationCounter; auto solveVelocityProblem = [&](Vector &_velocityIterate, ScalarVector const &_alpha) { - myGlobalNonlinearity->updateAlpha(_alpha); + myGlobalFriction->updateAlpha(_alpha); // NIT: Do we really need to pass u here? typename NonlinearFactory::ConvexProblem convexProblem( - 1.0, velocityMatrix, *myGlobalNonlinearity, velocityRHS, + 1.0, velocityMatrix, *myGlobalFriction, velocityRHS, _velocityIterate); typename NonlinearFactory::BlockProblem velocityProblem(parset, convexProblem); diff --git a/src/solverfactory_tmpl.cc b/src/solverfactory_tmpl.cc index d84065e3cc7c347d0e2f7924f5e56fc32d990027..db6ecb8945d4c05a1d5ba5425f6fb7a463710716 100644 --- a/src/solverfactory_tmpl.cc +++ b/src/solverfactory_tmpl.cc @@ -9,12 +9,12 @@ #include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh> #include <dune/tnnmg/problem-classes/convexproblem.hh> -#include <dune/tectonic/globalnonlinearity.hh> +#include <dune/tectonic/globalfriction.hh> #include <dune/tectonic/myblockproblem.hh> template class SolverFactory< DIM, - MyBlockProblem<ConvexProblem<GlobalNonlinearity<Matrix, Vector>, Matrix>>, + MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>, Grid>; template class SolverFactory< DIM, BlockNonlinearTNNMGProblem<