diff --git a/test/decoupled/1p/test_1p.cc b/test/decoupled/1p/test_1p.cc index 91600a0993b8b1f22e665446688391c252295cee..710049e7442163ca91060c8a2dac183fa43d53d5 100644 --- a/test/decoupled/1p/test_1p.cc +++ b/test/decoupled/1p/test_1p.cc @@ -83,23 +83,10 @@ int main(int argc, char** argv) //////////////////////////////////////////////////////////// // instantiate and run the concrete problem //////////////////////////////////////////////////////////// -// Dune::Timer timer; -// bool consecutiveNumbering = true; - typedef GET_PROP_TYPE(TypeTag, PTAG(Problem)) Problem; Problem problem(grid.leafView(), delta); -// timer.reset(); problem.init(); problem.writeOutput(); -// double time = timer.elapsed(); -// Dumux::ResultEvaluation result; -// result.evaluate(grid.leafView(), problem, problem.variables().pressure(), problem.variables().velocity(), consecutiveNumbering); -// -// std::cout.setf(std::ios_base::scientific, std::ios_base::floatfield); -// std::cout.precision(2); -// std::cout << "\t error press \t error grad\t sumflux\t erflm\t\t uMin\t\t uMax\t\t time" << std::endl; -// std::cout << "2pfa\t " << result.relativeL2Error << "\t " << result.ergrad << "\t " << result.sumflux -// << "\t " << result.erflm << "\t " << result.uMin << "\t " << result.uMax << "\t " << time << std::endl; return 0; } diff --git a/test/decoupled/1p/test_1p_problem.hh b/test/decoupled/1p/test_1p_problem.hh index be314a8ed62534c671956bf9d001513316c22472..9c1944b91613ada524312fbf167124a7a28a35dc 100644 --- a/test/decoupled/1p/test_1p_problem.hh +++ b/test/decoupled/1p/test_1p_problem.hh @@ -1,12 +1,10 @@ // $Id: test_diffusion_problem.hh 3655 2010-05-26 17:13:50Z bernd $ /***************************************************************************** -* Copyright (C) 2007-2008 by Klaus Mosthaf * -* Copyright (C) 2007-2008 by Bernd Flemisch * -* Copyright (C) 2008-2009 by Andreas Lauser * -* Institute of Hydraulic Engineering * -* University of Stuttgart, Germany * -* email: <givenname>.<name>@iws.uni-stuttgart.de * -* * +* Copyright (C) 2007-2008 by Markus Wolff * +* Institute of Hydraulic Engineering * +* University of Stuttgart, Germany * +* email: <givenname>.<name>@iws.uni-stuttgart.de * +* * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 2 of the License, or * @@ -156,11 +154,13 @@ public: // \} + //! Returns the reference pressure for evaluation of constitutive relations Scalar referencePressure(const GlobalPosition& globalPos, const Element& element) const { return 1e5; // -> 10°C } + //!source term [kg/(m^3 s)] Scalar source(const GlobalPosition& globalPos, const Element& element) { double pi = 4.0*atan(1.0); @@ -179,21 +179,29 @@ public: return (result); } + /*! + * \brief Returns the type of boundary condition. + * + * BC can be dirichlet (pressure) or neumann (flux). + */ typename BoundaryConditions::Flags bctype(const GlobalPosition& globalPos, const Intersection& intersection) const { return BoundaryConditions::dirichlet; } + //! return dirichlet condition (pressure, [Pa]) Scalar dirichlet(const GlobalPosition& globalPos, const Intersection& intersection) const { return (exact(globalPos)); } + //! return neumann condition (flux, [kg/(m^2 s)]) Scalar neumann(const GlobalPosition& globalPos, const Intersection& intersection) const { return 0.0; } +private: Scalar exact (const GlobalPosition& globalPos) const { double pi = 4.0*atan(1.0); @@ -211,7 +219,6 @@ public: return grad; } -private: double delta_; }; } //end namespace diff --git a/test/decoupled/2p/test_impes_problem.hh b/test/decoupled/2p/test_impes_problem.hh index fbfa5ac2865ae6701b29f1a3685bf9649e22b0b5..a2b7e42552a6ab4ab442065c0a8a04e6c94fc045 100644 --- a/test/decoupled/2p/test_impes_problem.hh +++ b/test/decoupled/2p/test_impes_problem.hh @@ -214,17 +214,23 @@ Scalar temperature(const GlobalPosition& globalPos, const Element& element) cons // \} - +//! Returns the reference pressure for evaluation of constitutive relations Scalar referencePressure(const GlobalPosition& globalPos, const Element& element) const { return 1e5; // -> 10°C } +//!source term [kg/(m^3 s)] std::vector<Scalar> source(const GlobalPosition& globalPos, const Element& element) { return std::vector<Scalar>(2, 0.0); } +/*! +* \brief Returns the type of boundary condition for the pressure equation. +* +* BC can be dirichlet (pressure) or neumann (flux). +*/ typename BoundaryConditions::Flags bctypePress(const GlobalPosition& globalPos, const Intersection& intersection) const { if ((globalPos[0] < eps_)) @@ -233,6 +239,11 @@ typename BoundaryConditions::Flags bctypePress(const GlobalPosition& globalPos, return BoundaryConditions::neumann; } +/*! +* \brief Returns the type of boundary condition for the saturation equation. +* +* BC can be dirichlet (saturation), neumann (flux), or outflow. +*/ BoundaryConditions::Flags bctypeSat(const GlobalPosition& globalPos, const Intersection& intersection) const { if (globalPos[0] < eps_) @@ -243,6 +254,7 @@ BoundaryConditions::Flags bctypeSat(const GlobalPosition& globalPos, const Inter return Dumux::BoundaryConditions::neumann; } +//! return dirichlet condition (pressure, [Pa]) Scalar dirichletPress(const GlobalPosition& globalPos, const Intersection& intersection) const { if (globalPos[0] < eps_) @@ -266,6 +278,7 @@ Scalar dirichletPress(const GlobalPosition& globalPos, const Intersection& inter return 2e5; } +//! return dirichlet condition (saturation, [-]) Scalar dirichletSat(const GlobalPosition& globalPos, const Intersection& intersection) const { if (globalPos[0] < eps_) @@ -274,6 +287,7 @@ Scalar dirichletSat(const GlobalPosition& globalPos, const Intersection& interse return 0.2; } +//! return neumann condition (flux, [kg/(m^2 s)]) std::vector<Scalar> neumann(const GlobalPosition& globalPos, const Intersection& intersection) const { std::vector<Scalar> neumannFlux(2, 0.0); @@ -284,6 +298,7 @@ std::vector<Scalar> neumann(const GlobalPosition& globalPos, const Intersection& return neumannFlux; } +//! initial condition for saturation Scalar initSat(const GlobalPosition& globalPos, const Element& element) const { return 0.2;