From 279be7cb8a44a315d57a192a469dc8873b36ed0f Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Fri, 13 Dec 2013 00:49:47 +0100 Subject: [PATCH] [Cleanup] Move common explicit templates to header --- src/assemblers_tmpl.cc | 17 ++--------------- src/explicitgrid.hh | 7 +++++++ src/explicitvectors.hh | 10 ++++++++++ src/friction_writer_tmpl.cc | 17 ++++++++--------- src/solverfactory_tmpl.cc | 21 +++------------------ src/timestepping_tmpl.cc | 10 ++-------- src/vtk_tmpl.cc | 19 ++----------------- 7 files changed, 34 insertions(+), 67 deletions(-) create mode 100644 src/explicitgrid.hh create mode 100644 src/explicitvectors.hh diff --git a/src/assemblers_tmpl.cc b/src/assemblers_tmpl.cc index 9d0d6d1b..35cddb4a 100644 --- a/src/assemblers_tmpl.cc +++ b/src/assemblers_tmpl.cc @@ -2,24 +2,11 @@ #error DIM unset #endif -#include <dune/common/fmatrix.hh> -#include <dune/common/fvector.hh> -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wignored-qualifiers" -#include <dune/grid/alugrid.hh> -#pragma clang diagnostic pop -#include <dune/istl/bvector.hh> -#include <dune/istl/bcrsmatrix.hh> - #include <dune/fufem/functionspacebases/p1nodalbasis.hh> -using SmallVector = Dune::FieldVector<double, DIM>; -using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>; -using Matrix = Dune::BCRSMatrix<SmallMatrix>; -using Vector = Dune::BlockVector<SmallVector>; +#include "explicitgrid.hh" +#include "explicitvectors.hh" -using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>; -using GridView = Grid::LeafGridView; using P1Basis = P1NodalBasis<GridView, double>; using MyAssembler = Assembler<P1Basis, P1Basis>; diff --git a/src/explicitgrid.hh b/src/explicitgrid.hh new file mode 100644 index 00000000..9100b3d3 --- /dev/null +++ b/src/explicitgrid.hh @@ -0,0 +1,7 @@ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wignored-qualifiers" +#include <dune/grid/alugrid.hh> +#pragma clang diagnostic pop + +using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>; +using GridView = Grid::LeafGridView; diff --git a/src/explicitvectors.hh b/src/explicitvectors.hh new file mode 100644 index 00000000..84ec9cf7 --- /dev/null +++ b/src/explicitvectors.hh @@ -0,0 +1,10 @@ +#include <dune/common/fmatrix.hh> +#include <dune/common/fvector.hh> +#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 ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; diff --git a/src/friction_writer_tmpl.cc b/src/friction_writer_tmpl.cc index 4c907241..dbeb7b8b 100644 --- a/src/friction_writer_tmpl.cc +++ b/src/friction_writer_tmpl.cc @@ -1,16 +1,15 @@ +#ifndef DIM +#error DIM unset +#endif + #include <dune/common/bitsetvector.hh> -#include <dune/istl/bvector.hh> + +#include "explicitvectors.hh" using BitVector = Dune::BitSetVector<1>; -using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; -using Vector2 = Dune::BlockVector<Dune::FieldVector<double, 2>>; -using Vector3 = Dune::BlockVector<Dune::FieldVector<double, 3>>; template class FrictionWriter<BitVector>; template void FrictionWriter<BitVector>::writeInfo(ScalarVector const &alpha, - Vector2 const &u, - Vector2 const &v); -template void FrictionWriter<BitVector>::writeInfo(ScalarVector const &alpha, - Vector3 const &u, - Vector3 const &v); + Vector const &u, + Vector const &v); diff --git a/src/solverfactory_tmpl.cc b/src/solverfactory_tmpl.cc index 5d94c660..7f394c01 100644 --- a/src/solverfactory_tmpl.cc +++ b/src/solverfactory_tmpl.cc @@ -2,30 +2,15 @@ #error DIM unset #endif -#include <dune/common/fmatrix.hh> -#include <dune/common/fvector.hh> - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wignored-qualifiers" -#include <dune/grid/alugrid.hh> -#pragma clang diagnostic pop - -#include <dune/istl/bcrsmatrix.hh> -#include <dune/istl/bvector.hh> +#include "explicitgrid.hh" +#include "explicitvectors.hh" #include <dune/tnnmg/nonlinearities/zerononlinearity.hh> +#include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh> #include <dune/tnnmg/problem-classes/convexproblem.hh> #include <dune/tectonic/globalnonlinearity.hh> #include <dune/tectonic/myblockproblem.hh> -#include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.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 Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>; template class SolverFactory< DIM, MyBlockProblem< diff --git a/src/timestepping_tmpl.cc b/src/timestepping_tmpl.cc index ce3dad02..7c63e759 100644 --- a/src/timestepping_tmpl.cc +++ b/src/timestepping_tmpl.cc @@ -2,16 +2,10 @@ #error DIM unset #endif -#include <dune/common/fmatrix.hh> #include <dune/common/function.hh> -#include <dune/common/fvector.hh> -#include <dune/istl/bcrsmatrix.hh> -#include <dune/istl/bvector.hh> -using SmallVector = Dune::FieldVector<double, DIM>; -using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>; -using Matrix = Dune::BCRSMatrix<SmallMatrix>; -using Vector = Dune::BlockVector<SmallVector>; +#include "explicitvectors.hh" + using Function = Dune::VirtualFunction<double, double>; template class Newmark<Vector, Matrix, Function, DIM>; diff --git a/src/vtk_tmpl.cc b/src/vtk_tmpl.cc index 6d2c9688..bad777b6 100644 --- a/src/vtk_tmpl.cc +++ b/src/vtk_tmpl.cc @@ -2,27 +2,12 @@ #error DIM unset #endif -#include <dune/common/fmatrix.hh> -#include <dune/common/fvector.hh> - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wignored-qualifiers" -#include <dune/grid/alugrid.hh> -#pragma clang diagnostic pop - -#include <dune/istl/bvector.hh> +#include "explicitgrid.hh" +#include "explicitvectors.hh" #include <dune/fufem/functionspacebases/p0basis.hh> #include <dune/fufem/functionspacebases/p1nodalbasis.hh> -using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; - -using SmallVector = Dune::FieldVector<double, DIM>; -using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>; -using Vector = Dune::BlockVector<SmallVector>; - -using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>; -using GridView = Grid::LeafGridView; using P1Basis = P1NodalBasis<GridView, double>; using MyP0Basis = P0Basis<GridView, double>; -- GitLab