diff --git a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh index 6025e41166762f012ad86af75eb05fe1af09e970..c18851f0c8d948f564747e1377a5bf70cd1f39f8 100644 --- a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh +++ b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh @@ -46,7 +46,7 @@ #include <dumux/material/components/n2.hh> // use the spatial parameters as the injection problem of the 2p2c test program -#include <test/porousmediumflow/2p2c/implicit/injectionspatialparams.hh> +#include <test/porousmediumflow/2p2c/implicit/injection/spatialparams.hh> #ifndef GRIDTYPE // default to yasp grid if not provided by CMake #define GRIDTYPE Dune::YaspGrid<2> diff --git a/test/porousmediumflow/2p2c/implicit/CMakeLists.txt b/test/porousmediumflow/2p2c/implicit/CMakeLists.txt index bd51d78efdbaee1d09bc6a2cc458f5fc3184117c..3d986ecfcbd320fe30e1dc204941819011d0f17f 100644 --- a/test/porousmediumflow/2p2c/implicit/CMakeLists.txt +++ b/test/porousmediumflow/2p2c/implicit/CMakeLists.txt @@ -1,98 +1,3 @@ -add_subdirectory(mpnccomparison) -add_input_file_links() - -dune_add_test(NAME test_2p2c_box - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionBoxTypeTag ENABLECACHING=0 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectionbox-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_box-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_box test_2p2c_fv.input -Problem.Name injection_box") - -dune_add_test(NAME test_2p2c_box_restart - TARGET test_2p2c_box - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectionbox-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_box_restart-00004.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_box test_2p2c_fv.input -Problem.Name injection_box_restart -TimeLoop.DtInitial 1488.5 -Restart.Time 2158.85 -Restart.File injection_box-00004.vtu") - -# the restart test has to run after the test that produces the corresponding vtu file -set_tests_properties(test_2p2c_box_restart PROPERTIES DEPENDS test_2p2c_box) - -dune_add_test(NAME test_2p2c_tpfa - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionCCTpfa ENABLECACHING=0 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectioncc-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_tpfa-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_tpfa test_2p2c_fv.input -Problem.Name injection_tpfa") - -dune_add_test(NAME test_2p2c_mpfa - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionCCMpfa ENABLECACHING=0 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectioncc-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_mpfa-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpfa test_2p2c_fv.input -Problem.Name injection_mpfa") - -# isothermal tests with caching -dune_add_test(NAME test_2p2c_box_caching - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionBoxTypeTag ENABLECACHING=1 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectionbox-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_box_caching-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_box_caching test_2p2c_fv.input -Problem.Name injection_box_caching") - -dune_add_test(NAME test_2p2c_tpfa_caching - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionCCTpfa ENABLECACHING=1 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectioncc-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_tpfa_caching-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_tpfa_caching test_2p2c_fv.input -Problem.Name injection_tpfa_caching") - -dune_add_test(NAME test_2p2c_mpfa_caching - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=InjectionCCMpfa ENABLECACHING=1 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/injectioncc-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/injection_mpfa_caching-00008.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpfa_caching test_2p2c_fv.input -Problem.Name injection_mpfa_caching") - -# non-isothermal tests -dune_add_test(NAME test_2p2cni_box - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=WaterAirBox ENABLECACHING=0 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/waterairbox-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/waterair_box-00013.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_box test_2p2cni_fv.input -Problem.Name waterair_box") - -dune_add_test(NAME test_2p2cni_tpfa - SOURCES test_2p2c_fv.cc - COMPILE_DEFINITIONS TYPETAG=WaterAirCCTpfa ENABLECACHING=0 - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/wateraircc-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/waterair_tpfa-00013.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_tpfa test_2p2cni_fv.input -Problem.Name waterair_tpfa") - -#install sources -install(FILES -injectionproblem.hh -injectionspatialparams.hh -waterairproblem.hh -waterairspatialparams.hh -test_2p2c_fv.cc -test_2p2c_fv.input -test_2p2cni_fv.input -DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p2c) +add_subdirectory("injection") +add_subdirectory("mpnccomparison") +add_subdirectory("waterair") diff --git a/test/porousmediumflow/2p2c/implicit/injection/CMakeLists.txt b/test/porousmediumflow/2p2c/implicit/injection/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..58edfc1a5dcaf78d7c1a0eab67712e5168498e3a --- /dev/null +++ b/test/porousmediumflow/2p2c/implicit/injection/CMakeLists.txt @@ -0,0 +1,74 @@ +add_input_file_links(FILES params.input) + +dune_add_test(NAME test_2p2c_injection_box + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionBox ENABLECACHING=0 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box params.input -Problem.Name test_2p2c_injection_box") + +dune_add_test(NAME test_2p2c_injection_box_restart + TARGET test_2p2c_injection_box + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box_restart-00004.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box params.input -Problem.Name test_2p2c_injection_box_restart -TimeLoop.DtInitial 1488.5 -Restart.Time 2158.85 -Restart.File test_2p2c_injection_box-00004.vtu") + +# the restart test has to run after the test that produces the corresponding vtu file +set_tests_properties(test_2p2c_injection_box_restart PROPERTIES DEPENDS test_2p2c_injection_box) + +dune_add_test(NAME test_2p2c_injection_tpfa + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionCCTpfa ENABLECACHING=0 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_cc-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_tpfa-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_tpfa params.input -Problem.Name test_2p2c_injection_tpfa") + +dune_add_test(NAME test_2p2c_injection_mpfa + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionCCMpfa ENABLECACHING=0 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_cc-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_mpfa-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_mpfa params.input -Problem.Name test_2p2c_injection_mpfa") + +# isothermal tests with caching +dune_add_test(NAME test_2p2c_injection_box_caching + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionBox ENABLECACHING=1 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box_caching-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_box_caching params.input -Problem.Name test_2p2c_injection_box_caching") + +dune_add_test(NAME test_2p2c_injection_tpfa_caching + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionCCTpfa ENABLECACHING=1 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_cc-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_tpfa_caching-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_tpfa_caching params.input -Problem.Name test_2p2c_injection_tpfa_caching") + +dune_add_test(NAME test_2p2c_injection_mpfa_caching + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=InjectionCCMpfa ENABLECACHING=1 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2c_injection_cc-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_mpfa_caching-00008.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_injection_mpfa_caching params.input -Problem.Name test_2p2c_injection_mpfa_caching") + +#install sources +install(FILES +problem.hh +spatialparams.hh +main.cc +DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p2c/injection) diff --git a/test/porousmediumflow/2p2c/implicit/injection/main.cc b/test/porousmediumflow/2p2c/implicit/injection/main.cc new file mode 100644 index 0000000000000000000000000000000000000000..17bb091a48719f06a57c3327bd8bd5bb2f6b3dd0 --- /dev/null +++ b/test/porousmediumflow/2p2c/implicit/injection/main.cc @@ -0,0 +1,213 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * 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 * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief Test for the two-phase two-component CC model. + */ +#include <config.h> +#include <ctime> +#include <iostream> + +#include <dune/common/parallel/mpihelper.hh> +#include <dune/common/timer.hh> +#include <dune/grid/io/file/dgfparser/dgfexception.hh> +#include <dune/grid/io/file/vtk.hh> +#include <dune/istl/io.hh> + +#include <dumux/common/properties.hh> +#include <dumux/common/parameters.hh> +#include <dumux/common/valgrind.hh> +#include <dumux/common/dumuxmessage.hh> +#include <dumux/common/defaultusagemessage.hh> + +#include <dumux/linear/amgbackend.hh> +#include <dumux/nonlinear/privarswitchnewtonsolver.hh> + +#include <dumux/assembly/fvassembler.hh> +#include <dumux/assembly/diffmethod.hh> + +#include <dumux/discretization/methods.hh> + +#include <dumux/io/vtkoutputmodule.hh> +#include <dumux/io/grid/gridmanager.hh> +#include <dumux/io/loadsolution.hh> + +// the problem definitions +#include "problem.hh" + +int main(int argc, char** argv) try +{ + using namespace Dumux; + + // define the type tag for this problem + using TypeTag = TTAG(TYPETAG); + + // initialize MPI, finalize is done automatically on exit + const auto& mpiHelper = Dune::MPIHelper::instance(argc, argv); + + // print dumux start message + if (mpiHelper.rank() == 0) + DumuxMessage::print(/*firstCall=*/true); + + // parse command line arguments and input file + Parameters::init(argc, argv); + + // try to create a grid (from the given grid file or the input file) + GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + gridManager.init(); + + //////////////////////////////////////////////////////////// + // run instationary non-linear problem on this grid + //////////////////////////////////////////////////////////// + + // we compute on the leaf grid view + const auto& leafGridView = gridManager.grid().leafGridView(); + + // create the finite volume grid geometry + using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); + fvGridGeometry->update(); + + // the problem (initial and boundary conditions) + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + auto problem = std::make_shared<Problem>(fvGridGeometry); + + // get some time loop parameters + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); + const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); + auto dt = getParam<Scalar>("TimeLoop.DtInitial"); + + // check if we are about to restart a previously interrupted simulation + Scalar restartTime = getParam<Scalar>("Restart.Time", 0); + + // the solution vector + using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + SolutionVector x(fvGridGeometry->numDofs()); + if (restartTime > 0) + { + using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + const auto fileName = getParam<std::string>("Restart.File"); + const auto pvName = createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem>(); + loadSolution(x, fileName, pvName, *fvGridGeometry); + } + else + problem->applyInitialSolution(x); + auto xOld = x; + + // the grid variables + using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); + gridVariables->init(x, xOld); + + // intialize the vtk output module + using VtkOutputFields = typename GET_PROP_TYPE(TypeTag, VtkOutputFields); + VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); + using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); + VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields + vtkWriter.write(restartTime); + + // instantiate time loop + auto timeLoop = std::make_shared<TimeLoop<Scalar>>(restartTime, dt, tEnd); + timeLoop->setMaxTimeStepSize(maxDt); + + // the assembler with time loop for instationary problem + using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + + // the linear solver + using LinearSolver = AMGBackend<TypeTag>; + auto linearSolver = std::make_shared<LinearSolver>(leafGridView, fvGridGeometry->dofMapper()); + + // the non-linear solver + using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, + typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + NewtonSolver nonLinearSolver(assembler, linearSolver); + + // time loop + timeLoop->start(); do + { + // set previous solution for storage evaluations + assembler->setPreviousSolution(xOld); + + // solve the non-linear system with time step control + nonLinearSolver.solve(x, *timeLoop); + + // make the new solution the old solution + xOld = x; + gridVariables->advanceTimeStep(); + + // advance to the time loop to the next step + timeLoop->advanceTimeStep(); + + // report statistics of this time step + timeLoop->reportTimeStep(); + + // set new dt as suggested by the newton solver + timeLoop->setTimeStepSize(nonLinearSolver.suggestTimeStepSize(timeLoop->timeStepSize())); + + // write vtk output + vtkWriter.write(timeLoop->time()); + + } while (!timeLoop->finished()); + + timeLoop->finalize(leafGridView.comm()); + + //////////////////////////////////////////////////////////// + // finalize, print dumux message to say goodbye + //////////////////////////////////////////////////////////// + + // print dumux end message + if (mpiHelper.rank() == 0) + { + Parameters::print(); + DumuxMessage::print(/*firstCall=*/false); + } + + return 0; +} // end main +catch (Dumux::ParameterException &e) +{ + std::cerr << std::endl << e << " ---> Abort!" << std::endl; + return 1; +} +catch (Dune::DGFException & e) +{ + std::cerr << "DGF exception thrown (" << e << + "). Most likely, the DGF file name is wrong " + "or the DGF file is corrupted, " + "e.g. missing hash at end of file or wrong number (dimensions) of entries." + << " ---> Abort!" << std::endl; + return 2; +} +catch (Dune::Exception &e) +{ + std::cerr << "Dune reported error: " << e << " ---> Abort!" << std::endl; + return 3; +} +catch (...) +{ + std::cerr << "Unknown exception thrown! ---> Abort!" << std::endl; + return 4; +} diff --git a/test/porousmediumflow/2p2c/implicit/test_2p2c_fv.input b/test/porousmediumflow/2p2c/implicit/injection/params.input similarity index 100% rename from test/porousmediumflow/2p2c/implicit/test_2p2c_fv.input rename to test/porousmediumflow/2p2c/implicit/injection/params.input diff --git a/test/porousmediumflow/2p2c/implicit/injectionproblem.hh b/test/porousmediumflow/2p2c/implicit/injection/problem.hh similarity index 99% rename from test/porousmediumflow/2p2c/implicit/injectionproblem.hh rename to test/porousmediumflow/2p2c/implicit/injection/problem.hh index 7d06993be888a6497160e939fc7825863f38a071..dcb28bcc24efeea4565a29f3a9c0bc1bf01a0577 100644 --- a/test/porousmediumflow/2p2c/implicit/injectionproblem.hh +++ b/test/porousmediumflow/2p2c/implicit/injection/problem.hh @@ -34,7 +34,7 @@ #include <dumux/porousmediumflow/2p2c/model.hh> #include <dumux/material/fluidsystems/h2on2.hh> -#include "injectionspatialparams.hh" +#include "spatialparams.hh" namespace Dumux { @@ -47,7 +47,7 @@ class InjectionProblem; namespace Properties { NEW_TYPE_TAG(Injection, INHERITS_FROM(TwoPTwoC)); -NEW_TYPE_TAG(InjectionBoxTypeTag, INHERITS_FROM(BoxModel, Injection)); +NEW_TYPE_TAG(InjectionBox, INHERITS_FROM(BoxModel, Injection)); NEW_TYPE_TAG(InjectionCCTpfa, INHERITS_FROM(CCTpfaModel, Injection)); NEW_TYPE_TAG(InjectionCCMpfa, INHERITS_FROM(CCMpfaModel, Injection)); diff --git a/test/porousmediumflow/2p2c/implicit/injectionspatialparams.hh b/test/porousmediumflow/2p2c/implicit/injection/spatialparams.hh similarity index 100% rename from test/porousmediumflow/2p2c/implicit/injectionspatialparams.hh rename to test/porousmediumflow/2p2c/implicit/injection/spatialparams.hh diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/CMakeLists.txt b/test/porousmediumflow/2p2c/implicit/mpnccomparison/CMakeLists.txt index bbaf78f80c18aea8a300b7bef304ca7491730dd4..0b7995364f26ef26f401893e7e1c70a7c5d59260 100644 --- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/CMakeLists.txt +++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/CMakeLists.txt @@ -1,26 +1,26 @@ add_input_file_links() -dune_add_test(SOURCES test_2p2c_comparison_fv.cc - NAME test_2p2c_comparison_box +dune_add_test(NAME test_2p2c_mpnc_comparison_box + SOURCES main.cc COMPILE_DEFINITIONS TYPETAG=TwoPTwoCComparisonBox COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/mpnc_2p2c_box-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_comparison_box-00009.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_comparison_box test_2p2c_comparison_fv.input -Problem.Name test_2p2c_comparison_box") + --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2c_comparison_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpnc_comparison_box-00009.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpnc_comparison_box params.input -Problem.Name test_2p2c_mpnc_comparison_box") -dune_add_test(SOURCES test_2p2c_comparison_fv.cc - NAME test_2p2c_comparison_tpfa +dune_add_test(NAME test_2p2c_mpnc_comparison_tpfa + SOURCES main.cc COMPILE_DEFINITIONS TYPETAG=TwoPTwoCComparisonCC COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/mpnc_2p2c_tpfa-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_comparison_tpfa-00009.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_comparison_tpfa test_2p2c_comparison_fv.input -Problem.Name test_2p2c_comparison_tpfa") + --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2c_comparison_tpfa-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpnc_comparison_tpfa-00009.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2c_mpnc_comparison_tpfa params.input -Problem.Name test_2p2c_mpnc_comparison_tpfa") #install sources install(FILES -2p2c_comparison_problem.hh -2p2c_comparison_spatialparams.hh -test_2p2c_comparison_fv.cc +main.cc +problem.hh +spatialparams.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p2c/comparison) diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/test_2p2c_comparison_fv.cc b/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc similarity index 99% rename from test/porousmediumflow/2p2c/implicit/mpnccomparison/test_2p2c_comparison_fv.cc rename to test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc index 3225fd7be8c4aa6943515231084a0e5d7b2537cb..0c26d3f02c961fe8e4ffd94d7a0e3c11aa60d3cf 100644 --- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/test_2p2c_comparison_fv.cc +++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc @@ -46,7 +46,7 @@ #include <dumux/io/vtkoutputmodule.hh> #include <dumux/io/grid/gridmanager.hh> -#include "2p2c_comparison_problem.hh" +#include "problem.hh" /*! * \brief Provides an interface for customizing error messages associated with diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/test_2p2c_comparison_fv.input b/test/porousmediumflow/2p2c/implicit/mpnccomparison/params.input similarity index 100% rename from test/porousmediumflow/2p2c/implicit/mpnccomparison/test_2p2c_comparison_fv.input rename to test/porousmediumflow/2p2c/implicit/mpnccomparison/params.input diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh b/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh similarity index 99% rename from test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh rename to test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh index a5e708c2e8f4344c957c540e636a9a846fb3ef4a..70eb6943fb7af27734f2fe45fc3a094194fe9393 100644 --- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh +++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh @@ -35,7 +35,7 @@ #include <dumux/material/fluidsystems/h2on2.hh> #include <dumux/material/fluidstates/compositional.hh> -#include "2p2c_comparison_spatialparams.hh" +#include "spatialparams.hh" #include "iofields.hh" namespace Dumux { diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_spatialparams.hh b/test/porousmediumflow/2p2c/implicit/mpnccomparison/spatialparams.hh similarity index 100% rename from test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_spatialparams.hh rename to test/porousmediumflow/2p2c/implicit/mpnccomparison/spatialparams.hh diff --git a/test/porousmediumflow/2p2c/implicit/waterair/CMakeLists.txt b/test/porousmediumflow/2p2c/implicit/waterair/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..deeda2f7a229548daa8703b5137f4baf37fb9d08 --- /dev/null +++ b/test/porousmediumflow/2p2c/implicit/waterair/CMakeLists.txt @@ -0,0 +1,27 @@ +add_input_file_links(FILES params.input) + +# non-isothermal tests +dune_add_test(NAME test_2p2cni_waterair_box + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=WaterAirBox ENABLECACHING=0 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2cni_waterair_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_waterair_box-00013.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_waterair_box params.input -Problem.Name test_2p2cni_waterair_box") + +dune_add_test(NAME test_2p2cni_waterair_tpfa + SOURCES main.cc + COMPILE_DEFINITIONS TYPETAG=WaterAirCCTpfa ENABLECACHING=0 + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/test_2p2cni_waterair_tpfa-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_waterair_tpfa-00013.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p2cni_waterair_tpfa params.input -Problem.Name test_2p2cni_waterair_tpfa") + +#install sources +install(FILES +problem.hh +spatialparams.hh +main.cc +DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p2c/waterair) diff --git a/test/porousmediumflow/2p2c/implicit/test_2p2c_fv.cc b/test/porousmediumflow/2p2c/implicit/waterair/main.cc similarity index 99% rename from test/porousmediumflow/2p2c/implicit/test_2p2c_fv.cc rename to test/porousmediumflow/2p2c/implicit/waterair/main.cc index 32af683f5b6ec1b871ab2ed5d04ca3acaecd1888..f70752c98c885fa339a20ce9075f7d644d9efd05 100644 --- a/test/porousmediumflow/2p2c/implicit/test_2p2c_fv.cc +++ b/test/porousmediumflow/2p2c/implicit/waterair/main.cc @@ -50,8 +50,7 @@ #include <dumux/io/loadsolution.hh> // the problem definitions -#include "injectionproblem.hh" -#include "waterairproblem.hh" +#include "problem.hh" int main(int argc, char** argv) try { diff --git a/test/porousmediumflow/2p2c/implicit/test_2p2cni_fv.input b/test/porousmediumflow/2p2c/implicit/waterair/params.input similarity index 100% rename from test/porousmediumflow/2p2c/implicit/test_2p2cni_fv.input rename to test/porousmediumflow/2p2c/implicit/waterair/params.input diff --git a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh similarity index 99% rename from test/porousmediumflow/2p2c/implicit/waterairproblem.hh rename to test/porousmediumflow/2p2c/implicit/waterair/problem.hh index 0432a284e945d3dcc64ffca46030b4aba20dae3a..840993a2da43d63af730902a54033d6e3428c9d2 100644 --- a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh +++ b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh @@ -36,7 +36,7 @@ #include <dumux/porousmediumflow/2p2c/model.hh> #include <dumux/porousmediumflow/problem.hh> -#include "waterairspatialparams.hh" +#include "spatialparams.hh" namespace Dumux { /*! diff --git a/test/porousmediumflow/2p2c/implicit/waterairspatialparams.hh b/test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh similarity index 100% rename from test/porousmediumflow/2p2c/implicit/waterairspatialparams.hh rename to test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh diff --git a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/CMakeLists.txt b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/CMakeLists.txt index a896528e3dc5e45c90fb96530617e47348911ddd..e233b1b0961b640a444e7de1b169d106919390f1 100644 --- a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/CMakeLists.txt +++ b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/CMakeLists.txt @@ -1,22 +1,22 @@ add_input_file_links() -dune_add_test(NAME test_mpnc_2p2ccomparison_box +dune_add_test(NAME test_mpnc_2p2c_comparison_box SOURCES main.cc COMPILE_DEFINITIONS TYPETAG=MPNCComparisonBox COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2ccomparison_box-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2ccomparison_box-00009.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2ccomparison_box params.input -Problem.Name test_mpnc_2p2ccomparison_box") + --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2c_comparison_box-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2c_comparison_box-00009.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2c_comparison_box params.input -Problem.Name test_mpnc_2p2c_comparison_box") -dune_add_test(NAME test_mpnc_2p2ccomparison_tpfa +dune_add_test(NAME test_mpnc_2p2c_comparison_tpfa SOURCES main.cc COMPILE_DEFINITIONS TYPETAG=MPNCComparisonCC COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy - --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2ccomparison_tpfa-reference.vtu - ${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2ccomparison_tpfa-00009.vtu - --command "${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2ccomparison_tpfa params.input -Problem.Name test_mpnc_2p2ccomparison_tpfa") + --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_2p2c_comparison_tpfa-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2c_comparison_tpfa-00009.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_mpnc_2p2c_comparison_tpfa params.input -Problem.Name test_mpnc_2p2c_comparison_tpfa") #install sources install(FILES diff --git a/test/porousmediumflow/mpnc/implicit/obstacle/CMakeLists.txt b/test/porousmediumflow/mpnc/implicit/obstacle/CMakeLists.txt index ba3a883030364d081c942e50782c09798d5005e6..bc50f0573eb5e4421e6cb84644157e8d6a12159c 100644 --- a/test/porousmediumflow/mpnc/implicit/obstacle/CMakeLists.txt +++ b/test/porousmediumflow/mpnc/implicit/obstacle/CMakeLists.txt @@ -3,7 +3,7 @@ dune_symlink_to_source_files(FILES grids) dune_add_test(NAME test_mpnc_obstacle_box SOURCES main.cc - COMPILE_DEFINITIONS TYPETAG=ObstacleBoxTypeTag + COMPILE_DEFINITIONS TYPETAG=ObstacleBox COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_obstacle_box-reference.vtu @@ -12,7 +12,7 @@ dune_add_test(NAME test_mpnc_obstacle_box dune_add_test(NAME test_mpnc_obstacle_tpfa SOURCES main.cc - COMPILE_DEFINITIONS TYPETAG=ObstacleCCTypeTag + COMPILE_DEFINITIONS TYPETAG=ObstacleCC COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy --files ${CMAKE_SOURCE_DIR}/test/references/test_mpnc_obstacle_tpfa-reference.vtu diff --git a/test/references/injectionbox-reference.vtu b/test/references/test_2p2c_injection_box-reference.vtu similarity index 100% rename from test/references/injectionbox-reference.vtu rename to test/references/test_2p2c_injection_box-reference.vtu diff --git a/test/references/injectioncc-reference.vtu b/test/references/test_2p2c_injection_cc-reference.vtu similarity index 100% rename from test/references/injectioncc-reference.vtu rename to test/references/test_2p2c_injection_cc-reference.vtu diff --git a/test/references/waterairbox-reference.vtu b/test/references/test_2p2cni_waterair_box-reference.vtu similarity index 100% rename from test/references/waterairbox-reference.vtu rename to test/references/test_2p2cni_waterair_box-reference.vtu diff --git a/test/references/wateraircc-reference.vtu b/test/references/test_2p2cni_waterair_tpfa-reference.vtu similarity index 100% rename from test/references/wateraircc-reference.vtu rename to test/references/test_2p2cni_waterair_tpfa-reference.vtu diff --git a/test/references/test_mpnc_2p2ccomparison_box-reference.vtu b/test/references/test_mpnc_2p2c_comparison_box-reference.vtu similarity index 100% rename from test/references/test_mpnc_2p2ccomparison_box-reference.vtu rename to test/references/test_mpnc_2p2c_comparison_box-reference.vtu diff --git a/test/references/test_mpnc_2p2ccomparison_tpfa-reference.vtu b/test/references/test_mpnc_2p2c_comparison_tpfa-reference.vtu similarity index 100% rename from test/references/test_mpnc_2p2ccomparison_tpfa-reference.vtu rename to test/references/test_mpnc_2p2c_comparison_tpfa-reference.vtu