diff --git a/dune/tectonic/ellipticenergy.hh b/dune/tectonic/ellipticenergy.hh index 2fd259f8977a4210a8a1bacc3de6810df9585327..d16292b1fdf6c29fb9d49657e3c8e677b6079bdf 100644 --- a/dune/tectonic/ellipticenergy.hh +++ b/dune/tectonic/ellipticenergy.hh @@ -10,11 +10,10 @@ #include "localfriction.hh" -namespace Dune { template <size_t dim> class EllipticEnergy { public: - using SmallVector = FieldVector<double, dim>; - using SmallMatrix = FieldMatrix<double, dim, dim>; + using SmallVector = Dune::FieldVector<double, dim>; + using SmallMatrix = Dune::FieldMatrix<double, dim, dim>; using Nonlinearity = LocalFriction<dim>; @@ -44,5 +43,4 @@ template <size_t dim> class EllipticEnergy { y[i] = 0; } }; -} #endif diff --git a/dune/tectonic/frictionpotential.hh b/dune/tectonic/frictionpotential.hh index 488ac5baca6fdadc24d73e63ac7399142216ed28..2fc1864be5699c483d7f1b3595b2038a349b6c72 100644 --- a/dune/tectonic/frictionpotential.hh +++ b/dune/tectonic/frictionpotential.hh @@ -11,7 +11,6 @@ #include "frictiondata.hh" -namespace Dune { class FrictionPotentialWrapper { public: virtual ~FrictionPotentialWrapper() {} @@ -21,7 +20,7 @@ class FrictionPotentialWrapper { double virtual regularity(double s) const = 0; double virtual evaluate(double x) const { - DUNE_THROW(NotImplemented, "evaluation not implemented"); + DUNE_THROW(Dune::NotImplemented, "evaluation not implemented"); } void virtual updateLogState(double) = 0; @@ -92,5 +91,4 @@ class TrivialFunction : public FrictionPotentialWrapper { void updateLogState(double) {} }; -} #endif diff --git a/dune/tectonic/globalnonlinearity.hh b/dune/tectonic/globalnonlinearity.hh index 8b1054cc6f6bb6f0bf38611ab19b3cdacc9327b5..c5663187141b80c643c95f1ad77381211c2a4716 100644 --- a/dune/tectonic/globalnonlinearity.hh +++ b/dune/tectonic/globalnonlinearity.hh @@ -10,10 +10,9 @@ #include "frictionpotential.hh" #include "localfriction.hh" -namespace Dune { template <class Matrix, class Vector> class GlobalNonlinearity { protected: - using ScalarVector = BlockVector<FieldVector<double, 1>>; + using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; public: using IndexSet = Dune::MatrixIndexSet; @@ -83,5 +82,4 @@ template <class Matrix, class Vector> class GlobalNonlinearity { virtual void updateLogState(ScalarVector const &logState) = 0; }; -} #endif diff --git a/dune/tectonic/globalruinanonlinearity.hh b/dune/tectonic/globalruinanonlinearity.hh index ec44344357f49c390008ca1033ee34c0be6dfd11..85d297e737b8848224a7296612744d044fd828bf 100644 --- a/dune/tectonic/globalruinanonlinearity.hh +++ b/dune/tectonic/globalruinanonlinearity.hh @@ -14,7 +14,6 @@ #include "localfriction.hh" #include "frictionpotential.hh" -namespace Dune { template <class Matrix, class Vector> class GlobalRuinaNonlinearity : public GlobalNonlinearity<Matrix, Vector> { public: @@ -55,5 +54,4 @@ class GlobalRuinaNonlinearity : public GlobalNonlinearity<Matrix, Vector> { private: std::vector<std::shared_ptr<Friction>> restrictions; }; -} #endif diff --git a/dune/tectonic/localfriction.hh b/dune/tectonic/localfriction.hh index 2dfc1ebf6260306ddff40ad33831f6d301db1d51..c6c8900aaa5ea0b33f67e3f5f7e272bd71ecb86c 100644 --- a/dune/tectonic/localfriction.hh +++ b/dune/tectonic/localfriction.hh @@ -29,11 +29,10 @@ double dotFirstNormalised(Vector const &x, Vector const &y) { return sum; } -namespace Dune { template <size_t dimension> class LocalFriction { public: - using VectorType = FieldVector<double, dimension>; - using MatrixType = FieldMatrix<double, dimension, dimension>; + using VectorType = Dune::FieldVector<double, dimension>; + using MatrixType = Dune::FieldMatrix<double, dimension, dimension>; explicit LocalFriction(std::shared_ptr<FrictionPotentialWrapper> func) : func(func) {} @@ -123,5 +122,4 @@ template <size_t dimension> class LocalFriction { private: std::shared_ptr<FrictionPotentialWrapper> const func; }; -} #endif diff --git a/dune/tectonic/minimisation.hh b/dune/tectonic/minimisation.hh index f63f0aff011d6110ce0c425b13df473a9fa65b95..09ec89de510364c6f1db0d868032223102366a4d 100644 --- a/dune/tectonic/minimisation.hh +++ b/dune/tectonic/minimisation.hh @@ -11,7 +11,6 @@ #include "mydirectionalconvexfunction.hh" -namespace Dune { template <class Functional> void descentMinimisation(Functional const &J, typename Functional::SmallVector &x, @@ -47,5 +46,4 @@ void minimise(Functional const &J, typename Functional::SmallVector &x, descentMinimisation(J, x, v, bisection); } } -} #endif diff --git a/dune/tectonic/myblockproblem.hh b/dune/tectonic/myblockproblem.hh index 4601c7c2a8cb9d26a053c0e1ac4f2002edf07ea7..735afc905c29ddf7ea37efc65a710f8862cdb31a 100644 --- a/dune/tectonic/myblockproblem.hh +++ b/dune/tectonic/myblockproblem.hh @@ -21,7 +21,7 @@ /* Just for debugging */ template <class Matrix, class Vector> double computeEnergy(Matrix const &A, Vector const &x, Vector const &b, - Dune::GlobalNonlinearity<Matrix, Vector> const &phi) { + GlobalNonlinearity<Matrix, Vector> const &phi) { return computeEnergy(A, x, b) + phi(x); } @@ -95,7 +95,7 @@ template <class ConvexProblem> class MyBlockProblem { v /= vnorm; // Rescale for numerical stability MyDirectionalConvexFunction< - Dune::GlobalNonlinearity<MatrixType, VectorType>> const + GlobalNonlinearity<MatrixType, VectorType>> const psi(computeDirectionalA(problem.A, v), computeDirectionalb(problem.A, problem.f, u, v), problem.phi, u, v); @@ -253,8 +253,8 @@ class MyBlockProblem<ConvexProblem>::IterateObject { assert(localA != nullptr); auto const phi = problem.phi.restriction(m); - Dune::EllipticEnergy<block_size> localJ(*localA, localb, phi, ignore); - Dune::minimise(localJ, ui, localsteps, bisection); + EllipticEnergy<block_size> localJ(*localA, localb, phi, ignore); + minimise(localJ, ui, localsteps, bisection); } } diff --git a/src/assemblers.cc b/src/assemblers.cc index 160169fda8fc9fb4f676b87e64cf1137d8de3514..33739527aa076be35fe60b8a1ff6dba87ef101e2 100644 --- a/src/assemblers.cc +++ b/src/assemblers.cc @@ -91,7 +91,7 @@ void MyAssembler<GridView, dimension>::assembleNeumann( template <class GridView, int dimension> auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( BoundaryPatch<GridView> const &frictionalBoundary, FrictionData const &fd) - -> std::shared_ptr<Dune::GlobalNonlinearity<Matrix, Vector>> { + -> std::shared_ptr<GlobalNonlinearity<Matrix, Vector>> { // Lump negative normal stress (kludge) ScalarVector weights; { @@ -107,7 +107,7 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( Dune::BitSetVector<1> frictionalNodes; frictionalBoundary.getVertices(frictionalNodes); - return std::make_shared<Dune::GlobalRuinaNonlinearity<Matrix, Vector>>( + return std::make_shared<GlobalRuinaNonlinearity<Matrix, Vector>>( frictionalNodes, weights, fd); } diff --git a/src/assemblers.hh b/src/assemblers.hh index a7e0721fac2601e2b882f3825858b0d872704940..04e04287c777799a8747eb5c48cf812a25f4ca89 100644 --- a/src/assemblers.hh +++ b/src/assemblers.hh @@ -52,7 +52,7 @@ template <class GridView, int dimension> class MyAssembler { Dune::VirtualFunction<double, double> const &neumann, double relativeTime); - std::shared_ptr<Dune::GlobalNonlinearity<Matrix, Vector>> + std::shared_ptr<GlobalNonlinearity<Matrix, Vector>> assembleFrictionNonlinearity( BoundaryPatch<GridView> const &frictionalBoundary, FrictionData const &fd); diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 472f44c0f93f5f5536bd72fba18429ed57b0965a..8bcca4f8bcbfd7afaffe9a31cf1168085c858e1d 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -151,7 +151,7 @@ int main(int argc, char *argv[]) { using ScalarMatrix = Dune::BCRSMatrix<SmallScalarMatrix>; using Vector = Dune::BlockVector<SmallVector>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; - using Nonlinearity = Dune::GlobalNonlinearity<Matrix, Vector>; + using Nonlinearity = GlobalNonlinearity<Matrix, Vector>; auto const E = parset.get<double>("body.E"); auto const nu = parset.get<double>("body.nu"); @@ -391,10 +391,10 @@ int main(int argc, char *argv[]) { writer.writeInfo(alpha_initial, u_initial, v_initial); // Set up TNNMG solver - using NonlinearFactory = SolverFactory< - dims, MyBlockProblem<ConvexProblem< - Dune::GlobalNonlinearity<Matrix, Vector>, Matrix>>, - Grid>; + using NonlinearFactory = + SolverFactory<dims, MyBlockProblem<ConvexProblem< + GlobalNonlinearity<Matrix, Vector>, Matrix>>, + Grid>; NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, velocityDirichletNodes); auto multigridStep = factory.getSolver(); diff --git a/src/solverfactory_tmpl.cc b/src/solverfactory_tmpl.cc index 7f394c0108de75b6450a4afbc4ec6e7f6324da97..0dc6e9dd7e0964f700ecf401406a99749ebd1578 100644 --- a/src/solverfactory_tmpl.cc +++ b/src/solverfactory_tmpl.cc @@ -13,8 +13,8 @@ #include <dune/tectonic/myblockproblem.hh> template class SolverFactory< - DIM, MyBlockProblem< - ConvexProblem<Dune::GlobalNonlinearity<Matrix, Vector>, Matrix>>, + DIM, + MyBlockProblem<ConvexProblem<GlobalNonlinearity<Matrix, Vector>, Matrix>>, Grid>; template class SolverFactory< DIM, BlockNonlinearTNNMGProblem<