diff --git a/dune/tectonic/ellipticenergy.hh b/dune/tectonic/ellipticenergy.hh index d16292b1fdf6c29fb9d49657e3c8e677b6079bdf..11924f548c2b88bc5e5845ce1f0eac9f83aa3741 100644 --- a/dune/tectonic/ellipticenergy.hh +++ b/dune/tectonic/ellipticenergy.hh @@ -12,28 +12,28 @@ template <size_t dim> class EllipticEnergy { public: - using SmallVector = Dune::FieldVector<double, dim>; - using SmallMatrix = Dune::FieldMatrix<double, dim, dim>; + using LocalVector = Dune::FieldVector<double, dim>; + using LocalMatrix = Dune::FieldMatrix<double, dim, dim>; using Nonlinearity = LocalFriction<dim>; - EllipticEnergy(SmallMatrix const &A, SmallVector const &b, + EllipticEnergy(LocalMatrix const &A, LocalVector const &b, std::shared_ptr<Nonlinearity const> phi, typename Dune::BitSetVector<dim>::const_reference ignore) : A(A), b(b), phi(phi), ignore(ignore) {} - double operator()(SmallVector const &v) const { + double operator()(LocalVector const &v) const { return computeEnergy(A, v, b) + (*phi)(v); } - SmallMatrix const &A; - SmallVector const &b; + LocalMatrix const &A; + LocalVector const &b; std::shared_ptr<Nonlinearity const> const phi; /* Dimension that should be ignored; goes from 0 to dim-1; the special value dim means that no dimension should be ignored */ typename Dune::BitSetVector<dim>::const_reference const ignore; - void gradient(SmallVector const &x, SmallVector &y) const { + void gradient(LocalVector const &x, LocalVector &y) const { A.mv(x, y); y -= b; phi->addGradient(x, y); diff --git a/dune/tectonic/minimisation.hh b/dune/tectonic/minimisation.hh index 09ec89de510364c6f1db0d868032223102366a4d..389a0a1498576f2e7fd97efd66954c4b0f31420c 100644 --- a/dune/tectonic/minimisation.hh +++ b/dune/tectonic/minimisation.hh @@ -13,10 +13,10 @@ template <class Functional> void descentMinimisation(Functional const &J, - typename Functional::SmallVector &x, - typename Functional::SmallVector const &v, + typename Functional::LocalVector &x, + typename Functional::LocalVector const &v, Bisection const &bisection) { - using SmallVector = typename Functional::SmallVector; + using LocalVector = typename Functional::LocalVector; using LocalNonlinearity = typename Functional::Nonlinearity; MyDirectionalConvexFunction<LocalNonlinearity> const JRest( @@ -31,12 +31,12 @@ void descentMinimisation(Functional const &J, } template <class Functional> -void minimise(Functional const &J, typename Functional::SmallVector &x, +void minimise(Functional const &J, typename Functional::LocalVector &x, size_t steps, Bisection const &bisection) { - using SmallVector = typename Functional::SmallVector; + using LocalVector = typename Functional::LocalVector; for (size_t step = 0; step < steps; ++step) { - SmallVector v; + LocalVector v; J.gradient(x, v); if (v.two_norm() == 0.0) return; diff --git a/src/explicitvectors.hh b/src/explicitvectors.hh index 84ec9cf7f01dc621cb56dfaa14ebcdd967377a71..28271cc30f67fe7f72f5ab21bec123cd2c13b14d 100644 --- a/src/explicitvectors.hh +++ b/src/explicitvectors.hh @@ -3,8 +3,8 @@ #include <dune/istl/bcrsmatrix.hh> #include <dune/istl/bvector.hh> -using SmallVector = Dune::FieldVector<double, DIM>; -using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>; -using Vector = Dune::BlockVector<SmallVector>; -using Matrix = Dune::BCRSMatrix<SmallMatrix>; +using LocalVector = Dune::FieldVector<double, DIM>; +using LocalMatrix = Dune::FieldMatrix<double, DIM, DIM>; +using Vector = Dune::BlockVector<LocalVector>; +using Matrix = Dune::BCRSMatrix<LocalMatrix>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index bf5e5d3261bf604ea41a342d1f96a3c79b351274..388c7a6ac28d94c1ffc226848c2e0f3c0292be89 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -101,12 +101,12 @@ int main(int argc, char *argv[]) { parset); Dune::ParameterTreeParser::readOptions(argc, argv, parset); - using SmallVector = Dune::FieldVector<double, dims>; - using SmallMatrix = Dune::FieldMatrix<double, dims, dims>; - using SmallScalarMatrix = Dune::FieldMatrix<double, 1, 1>; - using Matrix = Dune::BCRSMatrix<SmallMatrix>; - using ScalarMatrix = Dune::BCRSMatrix<SmallScalarMatrix>; - using Vector = Dune::BlockVector<SmallVector>; + using LocalVector = Dune::FieldVector<double, dims>; + using LocalMatrix = Dune::FieldMatrix<double, dims, dims>; + using LocalScalarMatrix = Dune::FieldMatrix<double, 1, 1>; + using Matrix = Dune::BCRSMatrix<LocalMatrix>; + using ScalarMatrix = Dune::BCRSMatrix<LocalScalarMatrix>; + using Vector = Dune::BlockVector<LocalVector>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; using Nonlinearity = GlobalNonlinearity<Matrix, Vector>; @@ -135,7 +135,7 @@ int main(int argc, char *argv[]) { grid = Dune::StructuredGridFactory<Grid>::createSimplexGrid( lowerLeft, upperRight, elements); } - SmallVector zenith(0); + LocalVector zenith(0); zenith[1] = 1; auto const refinements = parset.get<size_t>("grid.refinements"); @@ -266,9 +266,9 @@ int main(int argc, char *argv[]) { using LinearFactory = SolverFactory< dims, BlockNonlinearTNNMGProblem<ConvexProblem< - ZeroNonlinearity<SmallVector, SmallMatrix>, Matrix>>, + ZeroNonlinearity<LocalVector, LocalMatrix>, Matrix>>, Grid>; - ZeroNonlinearity<SmallVector, SmallMatrix> zeroNonlinearity; + ZeroNonlinearity<LocalVector, LocalMatrix> zeroNonlinearity; // TODO: clean up once generic lambdas arrive auto const solveLinearProblem = [&]( diff --git a/src/solverfactory_tmpl.cc b/src/solverfactory_tmpl.cc index 0dc6e9dd7e0964f700ecf401406a99749ebd1578..d84065e3cc7c347d0e2f7924f5e56fc32d990027 100644 --- a/src/solverfactory_tmpl.cc +++ b/src/solverfactory_tmpl.cc @@ -18,5 +18,5 @@ template class SolverFactory< Grid>; template class SolverFactory< DIM, BlockNonlinearTNNMGProblem< - ConvexProblem<ZeroNonlinearity<SmallVector, SmallMatrix>, Matrix>>, + ConvexProblem<ZeroNonlinearity<LocalVector, LocalMatrix>, Matrix>>, Grid>;