diff --git a/test/freeflow/navierstokes/analyticalsolutionvectors.hh b/test/freeflow/navierstokes/analyticalsolutionvectors.hh index ec5f4f8d19f851a3f1a5aca2258951ef099ee5c4..90c0842538ed61e24508c0c10c626bbcff9e0144 100644 --- a/test/freeflow/navierstokes/analyticalsolutionvectors.hh +++ b/test/freeflow/navierstokes/analyticalsolutionvectors.hh @@ -33,10 +33,6 @@ template<class Problem, class Scalar = double> class NavierStokesAnalyticalSolutionVectors { using GridGeometry = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>; - using GridView = typename GridGeometry::GridView; - using FVElementGeometry = typename GridGeometry::LocalView; - using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; static constexpr int dimWorld = GridGeometry::GridView::dimensionworld; using VelocityVector = Dune::FieldVector<Scalar, dimWorld>; using Indices = typename Problem::Indices; @@ -57,7 +53,7 @@ public: auto fvGeometry = localView(problem_->gridGeometry()); - for (const auto& element : elements((problem_->gridGeometry()).gridView())) + for (const auto& element : elements(problem_->gridGeometry().gridView())) { fvGeometry.bindElement(element); for (const auto& scv : scvs(fvGeometry)) diff --git a/test/freeflow/navierstokes/angeli/main.cc b/test/freeflow/navierstokes/angeli/main.cc index 4160b03bee35b0ebdc1b2572c0ff0ead55e3a8da..e392b941a88d9fc574ce38e1f155a200abc1926b 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 - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, tStart); + NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, tStart); vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact"); vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact"); vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact"); diff --git a/test/freeflow/navierstokes/angeli/problem.hh b/test/freeflow/navierstokes/angeli/problem.hh index 1bb5ef935aba695d6011778ba9ba93101a344fee..adcad9b279ebd6ddcb701f9ad15a6e4edd6c59cb 100644 --- a/test/freeflow/navierstokes/angeli/problem.hh +++ b/test/freeflow/navierstokes/angeli/problem.hh @@ -77,7 +77,6 @@ public: rho_ = getParam<Scalar>("Component.LiquidDensity", 1.0); useVelocityAveragingForDirichlet_ = getParam<bool>("Problem.UseVelocityAveragingForDirichlet", false); useVelocityAveragingForInitial_ = getParam<bool>("Problem.UseVelocityAveragingForInitial", false); - tStart_ = getParam<Scalar>("TimeLoop.TStart", 0.0); } /*! @@ -164,7 +163,7 @@ public: /*! * \brief Returns the analytical solution of the problem at a given time and position. * \param globalPos The global position - * \param time A parameter for consistent signatures. It is ignored here as this is a stationary test + * \param time The current simulation time */ PrimaryVariables analyticalSolution(const GlobalPosition& globalPos, Scalar time) const { @@ -193,7 +192,7 @@ public: PrimaryVariables initial(const SubControlVolume& scv) const { PrimaryVariables priVars(0.0); - priVars[Indices::pressureIdx] = analyticalSolution(scv.center(), tStart_)[Indices::pressureIdx]; + priVars[Indices::pressureIdx] = analyticalSolution(scv.center(), time_)[Indices::pressureIdx]; return priVars; } @@ -210,9 +209,9 @@ public: PrimaryVariables initial(const SubControlVolumeFace& scvf) const { if (useVelocityAveragingForInitial_) - return averagedVelocity_(scvf, tStart_); + return averagedVelocity_(scvf, time_); else - return analyticalSolution(scvf.center(), tStart_); + return analyticalSolution(scvf.center(), time_); } // \} @@ -248,7 +247,6 @@ private: Scalar time_ = 0; bool useVelocityAveragingForDirichlet_; bool useVelocityAveragingForInitial_; - Scalar tStart_; }; } // end namespace Dumux diff --git a/test/freeflow/navierstokes/channel/1d/main.cc b/test/freeflow/navierstokes/channel/1d/main.cc index 3c3631f149836ecc719d18f164d4dff67e524baf..8890c711d1973a782173806e38b4cb972c9619af 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 - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem); + NavierStokesAnalyticalSolutionVectors<Problem> 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 1c68c547e0b221097e3ab612b00c9c2bb54a420c..621d7bd4837279eb2f00acfb7b970cd87b4bc90d 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()) { - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem); + NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem); vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact"); vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact"); diff --git a/test/freeflow/navierstokes/channel/pipe/problem.hh b/test/freeflow/navierstokes/channel/pipe/problem.hh index 625a5389c671f42290440792de464b55531fccb1..833363066c14e12f253cddfe7d77e23d722eb3ad 100644 --- a/test/freeflow/navierstokes/channel/pipe/problem.hh +++ b/test/freeflow/navierstokes/channel/pipe/problem.hh @@ -117,7 +117,7 @@ public: return values; } - PrimaryVariables analyticalSolution(const GlobalPosition& globalPos) const + PrimaryVariables analyticalSolution(const GlobalPosition& globalPos, Scalar time = 0.0) const { PrimaryVariables values(0.0); diff --git a/test/freeflow/navierstokes/donea/main.cc b/test/freeflow/navierstokes/donea/main.cc index 03ca64680bbe4622678c8e94d877ca621f825ba7..0576644ff85d36be92cc12f234f613563cc90a5d 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 - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem); + NavierStokesAnalyticalSolutionVectors<Problem> 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 9e2659443a7696d171e7890d996464d5f1615d69..5f974f2aec433643dba7c52a5cf93c8bbc2fb08f 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 - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem); + NavierStokesAnalyticalSolutionVectors<Problem> 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 230d6c5393e623570d471c544115e4d00fd0282b..9664be22cff6a8cd287006b3cf877aa8663f78b6 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"); - Dumux::NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, 0.0); + NavierStokesAnalyticalSolutionVectors<Problem> analyticalSolVectors(problem, 0.0); vtkWriter.addField(analyticalSolVectors.getAnalyticalPressureSolution(), "pressureExact"); vtkWriter.addField(analyticalSolVectors.getAnalyticalVelocitySolution(), "velocityExact"); vtkWriter.addFaceField(analyticalSolVectors.getAnalyticalVelocitySolutionOnFace(), "faceVelocityExact");