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

[Cleanup] Rename: Small* -> Local*

parent 674a7dc6
No related branches found
No related tags found
No related merge requests found
...@@ -12,28 +12,28 @@ ...@@ -12,28 +12,28 @@
template <size_t dim> class EllipticEnergy { template <size_t dim> class EllipticEnergy {
public: public:
using SmallVector = Dune::FieldVector<double, dim>; using LocalVector = Dune::FieldVector<double, dim>;
using SmallMatrix = Dune::FieldMatrix<double, dim, dim>; using LocalMatrix = Dune::FieldMatrix<double, dim, dim>;
using Nonlinearity = LocalFriction<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, std::shared_ptr<Nonlinearity const> phi,
typename Dune::BitSetVector<dim>::const_reference ignore) typename Dune::BitSetVector<dim>::const_reference ignore)
: A(A), b(b), phi(phi), ignore(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); return computeEnergy(A, v, b) + (*phi)(v);
} }
SmallMatrix const &A; LocalMatrix const &A;
SmallVector const &b; LocalVector const &b;
std::shared_ptr<Nonlinearity const> const phi; std::shared_ptr<Nonlinearity const> const phi;
/* Dimension that should be ignored; goes from 0 to dim-1; the /* Dimension that should be ignored; goes from 0 to dim-1; the
special value dim means that no dimension should be ignored */ special value dim means that no dimension should be ignored */
typename Dune::BitSetVector<dim>::const_reference const ignore; 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); A.mv(x, y);
y -= b; y -= b;
phi->addGradient(x, y); phi->addGradient(x, y);
......
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
template <class Functional> template <class Functional>
void descentMinimisation(Functional const &J, void descentMinimisation(Functional const &J,
typename Functional::SmallVector &x, typename Functional::LocalVector &x,
typename Functional::SmallVector const &v, typename Functional::LocalVector const &v,
Bisection const &bisection) { Bisection const &bisection) {
using SmallVector = typename Functional::SmallVector; using LocalVector = typename Functional::LocalVector;
using LocalNonlinearity = typename Functional::Nonlinearity; using LocalNonlinearity = typename Functional::Nonlinearity;
MyDirectionalConvexFunction<LocalNonlinearity> const JRest( MyDirectionalConvexFunction<LocalNonlinearity> const JRest(
...@@ -31,12 +31,12 @@ void descentMinimisation(Functional const &J, ...@@ -31,12 +31,12 @@ void descentMinimisation(Functional const &J,
} }
template <class Functional> 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) { size_t steps, Bisection const &bisection) {
using SmallVector = typename Functional::SmallVector; using LocalVector = typename Functional::LocalVector;
for (size_t step = 0; step < steps; ++step) { for (size_t step = 0; step < steps; ++step) {
SmallVector v; LocalVector v;
J.gradient(x, v); J.gradient(x, v);
if (v.two_norm() == 0.0) if (v.two_norm() == 0.0)
return; return;
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
#include <dune/istl/bcrsmatrix.hh> #include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/bvector.hh> #include <dune/istl/bvector.hh>
using SmallVector = Dune::FieldVector<double, DIM>; using LocalVector = Dune::FieldVector<double, DIM>;
using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>; using LocalMatrix = Dune::FieldMatrix<double, DIM, DIM>;
using Vector = Dune::BlockVector<SmallVector>; using Vector = Dune::BlockVector<LocalVector>;
using Matrix = Dune::BCRSMatrix<SmallMatrix>; using Matrix = Dune::BCRSMatrix<LocalMatrix>;
using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
...@@ -101,12 +101,12 @@ int main(int argc, char *argv[]) { ...@@ -101,12 +101,12 @@ int main(int argc, char *argv[]) {
parset); parset);
Dune::ParameterTreeParser::readOptions(argc, argv, parset); Dune::ParameterTreeParser::readOptions(argc, argv, parset);
using SmallVector = Dune::FieldVector<double, dims>; using LocalVector = Dune::FieldVector<double, dims>;
using SmallMatrix = Dune::FieldMatrix<double, dims, dims>; using LocalMatrix = Dune::FieldMatrix<double, dims, dims>;
using SmallScalarMatrix = Dune::FieldMatrix<double, 1, 1>; using LocalScalarMatrix = Dune::FieldMatrix<double, 1, 1>;
using Matrix = Dune::BCRSMatrix<SmallMatrix>; using Matrix = Dune::BCRSMatrix<LocalMatrix>;
using ScalarMatrix = Dune::BCRSMatrix<SmallScalarMatrix>; using ScalarMatrix = Dune::BCRSMatrix<LocalScalarMatrix>;
using Vector = Dune::BlockVector<SmallVector>; using Vector = Dune::BlockVector<LocalVector>;
using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
using Nonlinearity = GlobalNonlinearity<Matrix, Vector>; using Nonlinearity = GlobalNonlinearity<Matrix, Vector>;
...@@ -135,7 +135,7 @@ int main(int argc, char *argv[]) { ...@@ -135,7 +135,7 @@ int main(int argc, char *argv[]) {
grid = Dune::StructuredGridFactory<Grid>::createSimplexGrid( grid = Dune::StructuredGridFactory<Grid>::createSimplexGrid(
lowerLeft, upperRight, elements); lowerLeft, upperRight, elements);
} }
SmallVector zenith(0); LocalVector zenith(0);
zenith[1] = 1; zenith[1] = 1;
auto const refinements = parset.get<size_t>("grid.refinements"); auto const refinements = parset.get<size_t>("grid.refinements");
...@@ -266,9 +266,9 @@ int main(int argc, char *argv[]) { ...@@ -266,9 +266,9 @@ int main(int argc, char *argv[]) {
using LinearFactory = SolverFactory< using LinearFactory = SolverFactory<
dims, BlockNonlinearTNNMGProblem<ConvexProblem< dims, BlockNonlinearTNNMGProblem<ConvexProblem<
ZeroNonlinearity<SmallVector, SmallMatrix>, Matrix>>, ZeroNonlinearity<LocalVector, LocalMatrix>, Matrix>>,
Grid>; Grid>;
ZeroNonlinearity<SmallVector, SmallMatrix> zeroNonlinearity; ZeroNonlinearity<LocalVector, LocalMatrix> zeroNonlinearity;
// TODO: clean up once generic lambdas arrive // TODO: clean up once generic lambdas arrive
auto const solveLinearProblem = [&]( auto const solveLinearProblem = [&](
......
...@@ -18,5 +18,5 @@ template class SolverFactory< ...@@ -18,5 +18,5 @@ template class SolverFactory<
Grid>; Grid>;
template class SolverFactory< template class SolverFactory<
DIM, BlockNonlinearTNNMGProblem< DIM, BlockNonlinearTNNMGProblem<
ConvexProblem<ZeroNonlinearity<SmallVector, SmallMatrix>, Matrix>>, ConvexProblem<ZeroNonlinearity<LocalVector, LocalMatrix>, Matrix>>,
Grid>; Grid>;
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