diff --git a/examples/cahn_hilliard.cc b/examples/cahn_hilliard.cc index ceccd5a9a12c990c2870816034c02e0845606bf0..9f68a576a434bfa2d74fe927d4031c46803af96f 100644 --- a/examples/cahn_hilliard.cc +++ b/examples/cahn_hilliard.cc @@ -9,7 +9,7 @@ using namespace AMDiS; using Grid = Dune::AlbertaGrid<GRIDDIM, WORLDDIM>; -using Param = LagrangeBasis<typename Grid::LeafGridView, 1, 1>; +using Param = LagrangeBasis<Grid, 1, 1>; int main(int argc, char** argv) { diff --git a/examples/navier_stokes.cc b/examples/navier_stokes.cc index ebb8fef72bb06a49cc2088cc5a595b92a90f5625..4735e5f3fcbb2b495341be394463c56677db9ad6 100644 --- a/examples/navier_stokes.cc +++ b/examples/navier_stokes.cc @@ -8,7 +8,7 @@ using namespace AMDiS; using Grid = Dune::YaspGrid<2>; -using Basis = TaylorHoodBasis<Grid::LeafGridView>; +using Basis = TaylorHoodBasis<Grid>; int main(int argc, char** argv) { diff --git a/examples/neumann.cc b/examples/neumann.cc index c94947b8473e2ce3b017220373d3d270bd62db91..eb423465080163ec6c75a3567c55c6ff40e78680 100644 --- a/examples/neumann.cc +++ b/examples/neumann.cc @@ -25,7 +25,7 @@ void run(Grid& grid) { grid.globalRefine(Grid::dimension == 2 ? 4 : 2); - using Traits = LagrangeBasis<typename Grid::LeafGridView, 2>; + using Traits = LagrangeBasis<Grid, 2>; ProblemStat<Traits> prob("ellipt", grid); prob.initialize(INIT_ALL); prob.boundaryManager().setBoxBoundary({1,2,2,1}); diff --git a/examples/periodic.cc b/examples/periodic.cc index d1293153a128418645064745f463a03f3eb7dc72..2e61afb4a8e16c258d6c6b906342bb6a670fa4cf 100644 --- a/examples/periodic.cc +++ b/examples/periodic.cc @@ -54,7 +54,7 @@ void print(Grid const& grid) template <class Grid> void run(Grid& grid) { - using Traits = LagrangeBasis<typename Grid::LeafGridView, 1>; + using Traits = LagrangeBasis<Grid, 1>; ProblemStat<Traits> prob("ellipt", grid); prob.initialize(INIT_ALL); diff --git a/examples/stokes0.cc b/examples/stokes0.cc index 6cb7168d2d3c0481843a1f8e831b410789b51ce2..6c0bd639e7cd8be16ee7a07ed584e35f54e76dcd 100644 --- a/examples/stokes0.cc +++ b/examples/stokes0.cc @@ -5,7 +5,7 @@ using namespace AMDiS; using Grid = Dune::YaspGrid<2>; -using StokesParam = TaylorHoodBasis<Grid::LeafGridView>; +using StokesParam = TaylorHoodBasis<Grid>; using StokesProblem = ProblemStat<StokesParam>; int main(int argc, char** argv) diff --git a/examples/stokes1.cc b/examples/stokes1.cc index 2755a9f571d3754eb555800dbc558baa169fca5f..13279763961f232d32e8e046cff549ce6cc12689 100644 --- a/examples/stokes1.cc +++ b/examples/stokes1.cc @@ -5,7 +5,7 @@ using namespace AMDiS; using Grid = Dune::YaspGrid<2>; -using StokesParam = TaylorHoodBasis<Grid::LeafGridView>; +using StokesParam = TaylorHoodBasis<Grid>; using StokesProblem = ProblemStat<StokesParam>; int main(int argc, char** argv) diff --git a/examples/stokes3.cc b/examples/stokes3.cc index 393a0b25235a49e3c5773c05551ca871c2e5979d..2358e900aa68e8f0e7b3be10275a7ae494f06267 100644 --- a/examples/stokes3.cc +++ b/examples/stokes3.cc @@ -6,7 +6,7 @@ using namespace AMDiS; using Grid = Dune::YaspGrid<2>; -using StokesParam = TaylorHoodBasis<Grid::LeafGridView>; +using StokesParam = TaylorHoodBasis<Grid>; using StokesProblem = ProblemStat<StokesParam>; int main(int argc, char** argv) diff --git a/examples/vecellipt.cc b/examples/vecellipt.cc index 09fa7997bbbcbafdb52096206157e774bc2d70ae..ec3d4356f6549f07b89032a30a3727eecc2c8bf7 100644 --- a/examples/vecellipt.cc +++ b/examples/vecellipt.cc @@ -10,8 +10,6 @@ using namespace AMDiS; -// 1 component with polynomial degree 1 -//using Grid = Dune::AlbertaGrid<GRIDDIM, WORLDDIM>; using ElliptParam = YaspGridBasis<GRIDDIM, 2,2>; using ElliptProblem = ProblemStat<ElliptParam>; diff --git a/src/amdis/ProblemStatTraits.hpp b/src/amdis/ProblemStatTraits.hpp index 432be6f05bbe6e5bfe1a0e293666bcf3fa094238..0be129b51b7e447dfcc5b3733ed6860783f60ec4 100644 --- a/src/amdis/ProblemStatTraits.hpp +++ b/src/amdis/ProblemStatTraits.hpp @@ -64,9 +64,10 @@ namespace AMDiS }; - template <class GridView, class PreBasisCreator> + template <class Grid, class PreBasisCreator> struct DefaultBasisCreator { + using GridView = typename Grid::LeafGridView; static auto create(GridView const& gridView) { using namespace Dune::Functions::BasisFactory; @@ -78,23 +79,23 @@ namespace AMDiS /// \brief ProblemStatTraits for a (composite) basis composed of /// lagrange bases of different degree. - template <class GridView, int... degrees> + template <class Grid, int... degrees> struct LagrangeBasis - : public DefaultBasisCreator<GridView, Impl::LagrangePreBasisCreator<degrees...>> + : public DefaultBasisCreator<Grid, Impl::LagrangePreBasisCreator<degrees...>> {}; /// \brief Specialization of \ref LagrangeBasis for Grid type /// \ref Dune::YaspGrid for a given dimension. template <int dim, int... degrees> struct YaspGridBasis - : public LagrangeBasis<typename Dune::YaspGrid<dim>::LeafGridView, degrees...> + : public LagrangeBasis<Dune::YaspGrid<dim>, degrees...> {}; /// \brief ProblemStatTraits of Taylor-Hood basis of lagrange-type /// with pressure degree k - template <class GridView, int k = 1> + template <class Grid, int k = 1> struct TaylorHoodBasis - : public DefaultBasisCreator<GridView, Impl::TaylorHoodPreBasisCreator<GridView::dimensionworld,k>> + : public DefaultBasisCreator<Grid, Impl::TaylorHoodPreBasisCreator<Grid::dimensionworld,k>> {}; } // end namespace AMDiS diff --git a/test/DataTransferTest.hpp b/test/DataTransferTest.hpp index 11f0e3011bf5cf39712ecb513660bf1c32c825da..d2478feb52b31f002ac0c38816c6e5f641315821 100644 --- a/test/DataTransferTest.hpp +++ b/test/DataTransferTest.hpp @@ -159,8 +159,8 @@ bool refine_test(Fcts<BasisCreator> const& funcs, bool simplex = true) } template <class Grid> - using Lagrange3 = LagrangeBasis<typename Grid::LeafGridView, 3>; + using Lagrange3 = LagrangeBasis<Grid, 3>; template <class Grid> - using TaylorHood = TaylorHoodBasis<typename Grid::LeafGridView>; + using TaylorHood = TaylorHoodBasis<Grid>; constexpr double pi = 3.141592653589793238463; diff --git a/test/MarkerTest.cpp b/test/MarkerTest.cpp index 18968a7b0f5333200dd00a8accdf17a63bc0ffc5..8448ef9cf4b9b4ab58c1d7d89357eddfd50ed6c3 100644 --- a/test/MarkerTest.cpp +++ b/test/MarkerTest.cpp @@ -8,7 +8,7 @@ using namespace AMDiS; static const int d = 2; // problem dimension using Grid = Dune::UGGrid<d>; -using Basis = LagrangeBasis<Grid::LeafGridView, 1>; +using Basis = LagrangeBasis<Grid, 1>; using Problem = ProblemStat<Basis>; using DomainType = typename Dune::FieldVector<double,d>; diff --git a/test/OperatorsTest.cpp b/test/OperatorsTest.cpp index 1568cec3b7cde8149755595f7d8644b79e38b0b5..b52fb9728e28af961a986034162dff6d5486d9ce 100644 --- a/test/OperatorsTest.cpp +++ b/test/OperatorsTest.cpp @@ -10,7 +10,7 @@ using namespace AMDiS; using Grid = Dune::YaspGrid<2>; -using Param = TaylorHoodBasis<typename Grid::LeafGridView>; +using Param = TaylorHoodBasis<Grid>; using Problem = ProblemStat<Param>; int main(int argc, char** argv)