diff --git a/exercises/solution/exercise-model/main.cc b/exercises/solution/exercise-model/main.cc index 9c90c1f065660a8cf86a9c5d1af390891d42c30a..12f0ae7d0d602193f14984dd430636b698b78fe9 100644 --- a/exercises/solution/exercise-model/main.cc +++ b/exercises/solution/exercise-model/main.cc @@ -45,7 +45,6 @@ /*! * \ingroup NonlinearDiffusion - * * \brief Test problem for image denoising using a nonlinear diffusion model */ namespace Dumux { @@ -56,8 +55,6 @@ class NonlinearDiffusionTestProblem : public FVProblem<TypeTag> using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using GridView = typename GridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GridGeometry::LocalView; - using SubControlVolume = typename FVElementGeometry::SubControlVolume; using GlobalPosition = typename GridGeometry::LocalView::Element::Geometry::GlobalCoordinate; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; @@ -113,7 +110,7 @@ struct NonlinearDiffusionTest // Create the initial solution -// Given by normalize image pixel data +// Given by normalized image pixel data to the range [0,1] template<class SolutionVector, class GridGeometry, class ImageData> SolutionVector createInitialSolution(const GridGeometry& gg, const ImageData& data) { @@ -137,12 +134,8 @@ int main(int argc, char** argv) // define the type tag for this problem. using TypeTag = Properties::TTag::NonlinearDiffusionTest; - using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Grid = GetPropType<TypeTag, Properties::Grid>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; - using Problem = GetPropType<TypeTag, Properties::Problem>; - using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; // Read the image const auto imageFileName = getParam<std::string>("ImageFile"); @@ -156,6 +149,12 @@ int main(int argc, char** argv) // We, create the finite volume grid geometry from the (leaf) grid view, // the problem for the boundary conditions, a solution vector and a grid variables instance. auto gridGeometry = std::make_shared<GridGeometry>(gridManager.grid().leafGridView()); + + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + auto problem = std::make_shared<Problem>(gridGeometry); auto sol = createInitialSolution<SolutionVector>(*gridGeometry, imageData); auto gridVariables = std::make_shared<GridVariables>(problem, gridGeometry);