From aa5687ff07450e15d7c544602798c7b7b39f147a Mon Sep 17 00:00:00 2001
From: Melanie Lipp <melanie.lipp@iws.uni-stuttgart.de>
Date: Fri, 27 Aug 2021 11:51:30 +0200
Subject: [PATCH] [test][freeflow] Process third round of comments in MR to
 move createAnalyticalSolution to file and reuse for several tests.

---
 test/freeflow/navierstokes/analyticalsolutionvectors.hh | 8 ++++++++
 test/freeflow/navierstokes/angeli/main.cc               | 2 +-
 test/freeflow/navierstokes/channel/1d/main.cc           | 2 +-
 test/freeflow/navierstokes/channel/2d/main.cc           | 2 +-
 test/freeflow/navierstokes/donea/main.cc                | 2 +-
 test/freeflow/navierstokes/kovasznay/main.cc            | 2 +-
 test/freeflow/navierstokes/sincos/main.cc               | 2 +-
 7 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/test/freeflow/navierstokes/analyticalsolutionvectors.hh b/test/freeflow/navierstokes/analyticalsolutionvectors.hh
index 90c0842538..eb3e2bb985 100644
--- a/test/freeflow/navierstokes/analyticalsolutionvectors.hh
+++ b/test/freeflow/navierstokes/analyticalsolutionvectors.hh
@@ -103,6 +103,14 @@ private:
     std::vector<VelocityVector> analyticalVelocity_;
     std::vector<VelocityVector> analyticalVelocityOnFace_;
 };
+
+template<class Problem>
+NavierStokesAnalyticalSolutionVectors(std::shared_ptr<Problem> p)
+-> NavierStokesAnalyticalSolutionVectors<Problem>;
+
+template<class Problem, class Scalar>
+NavierStokesAnalyticalSolutionVectors(std::shared_ptr<Problem> p, Scalar t)
+-> NavierStokesAnalyticalSolutionVectors<Problem, Scalar>;
 } // end namespace Dumux
 
 #endif
diff --git a/test/freeflow/navierstokes/angeli/main.cc b/test/freeflow/navierstokes/angeli/main.cc
index e392b941a8..1ba0fb16da 100644
--- a/test/freeflow/navierstokes/angeli/main.cc
+++ b/test/freeflow/navierstokes/angeli/main.cc
@@ -113,7 +113,7 @@ int main(int argc, char** argv)
     StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name());
     using IOFields = GetPropType<TypeTag, Properties::IOFields>;
     IOFields::initOutputModule(vtkWriter); // Add model specific output fields
-    NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, tStart);
+    NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem, tStart);
     vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
     vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
     vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");
diff --git a/test/freeflow/navierstokes/channel/1d/main.cc b/test/freeflow/navierstokes/channel/1d/main.cc
index 8890c711d1..fed25692a7 100644
--- a/test/freeflow/navierstokes/channel/1d/main.cc
+++ b/test/freeflow/navierstokes/channel/1d/main.cc
@@ -98,7 +98,7 @@ int main(int argc, char** argv)
     StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name());
     IOFields::initOutputModule(vtkWriter); // Add model specific output fields
 
-    NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem);
+    NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem);
     vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
     vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
     vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");
diff --git a/test/freeflow/navierstokes/channel/2d/main.cc b/test/freeflow/navierstokes/channel/2d/main.cc
index 621d7bd483..97e866e128 100644
--- a/test/freeflow/navierstokes/channel/2d/main.cc
+++ b/test/freeflow/navierstokes/channel/2d/main.cc
@@ -119,7 +119,7 @@ int main(int argc, char** argv)
 
     if (problem->hasAnalyticalSolution())
     {
-        NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem);
+        NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem);
 
         vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
         vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
diff --git a/test/freeflow/navierstokes/donea/main.cc b/test/freeflow/navierstokes/donea/main.cc
index 0576644ff8..a777e1babc 100644
--- a/test/freeflow/navierstokes/donea/main.cc
+++ b/test/freeflow/navierstokes/donea/main.cc
@@ -100,7 +100,7 @@ int main(int argc, char** argv)
     StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name());
     IOFields::initOutputModule(vtkWriter); // Add model specific output fields
 
-    NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem);
+    NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem);
     vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
     vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
     vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");
diff --git a/test/freeflow/navierstokes/kovasznay/main.cc b/test/freeflow/navierstokes/kovasznay/main.cc
index 5f974f2aec..c42b7457bc 100644
--- a/test/freeflow/navierstokes/kovasznay/main.cc
+++ b/test/freeflow/navierstokes/kovasznay/main.cc
@@ -128,7 +128,7 @@ int main(int argc, char** argv)
     StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name());
     IOFields::initOutputModule(vtkWriter); // Add model specific output fields
 
-    NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem);
+    NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem);
     vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
     vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
     vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");
diff --git a/test/freeflow/navierstokes/sincos/main.cc b/test/freeflow/navierstokes/sincos/main.cc
index 9664be22cf..d358514427 100644
--- a/test/freeflow/navierstokes/sincos/main.cc
+++ b/test/freeflow/navierstokes/sincos/main.cc
@@ -188,7 +188,7 @@ int main(int argc, char** argv)
     vtkWriter.addField(sourceX, "sourceX");
     vtkWriter.addField(sourceY, "sourceY");
 
-    NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, 0.0);
+    NavierStokesAnalyticalSolutionVectors analyticalSolVectors(problem, 0.0);
     vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact");
     vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact");
     vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");
-- 
GitLab