diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index edcb46a24..ec1d33cd1 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -106,6 +106,7 @@ list (APPEND MAIN_SOURCE_FILES opm/simulators/timestepping/AdaptiveSimulatorTimer.cpp opm/simulators/timestepping/AdaptiveTimeStepping.cpp opm/simulators/timestepping/ConvergenceReport.cpp + opm/simulators/timestepping/EclTimeSteppingParams.cpp opm/simulators/timestepping/SimulatorReport.cpp opm/simulators/timestepping/SimulatorTimer.cpp opm/simulators/timestepping/SimulatorTimerInterface.cpp diff --git a/opm/simulators/timestepping/EclTimeSteppingParams.cpp b/opm/simulators/timestepping/EclTimeSteppingParams.cpp new file mode 100644 index 000000000..62e03c715 --- /dev/null +++ b/opm/simulators/timestepping/EclTimeSteppingParams.cpp @@ -0,0 +1,56 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/* + This file is part of the Open Porous Media project (OPM). + + OPM 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. + + OPM 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 OPM. If not, see . + + Consult the COPYING file in the top-level source directory of this + module for the precise wording of the license and the list of + copyright holders. +*/ + +#include + +#include + +#include + +namespace Opm { + +template +void registerEclTimeSteppingParameters() +{ + Parameters::Register + ("Honor some aspects of the TUNING keyword."); + Parameters::Register> + ("The factor time steps are elongated after a successful substep"); + Parameters::Register> + ("The maximum factor time steps are elongated after a report step"); + Parameters::Register> + ("The maximum size of a time step in days"); + Parameters::Register> + ("The minimum size of a time step in days for field and " + "metric and hours for lab. If a step cannot converge without " + "getting cut below this step size the simulator will stop"); + Parameters::Register> + ("The factor time steps are elongated after restarts"); + Parameters::Register> + ("Time step size of the first time step after an event " + "occurs during the simulation in days"); +} + +template void registerEclTimeSteppingParameters(); + +} // namespace Opm diff --git a/opm/simulators/timestepping/EclTimeSteppingParams.hpp b/opm/simulators/timestepping/EclTimeSteppingParams.hpp index 136207644..12ee327c3 100644 --- a/opm/simulators/timestepping/EclTimeSteppingParams.hpp +++ b/opm/simulators/timestepping/EclTimeSteppingParams.hpp @@ -23,9 +23,6 @@ #ifndef OPM_ECL_TIMESTEPPING_PARAMS_HPP #define OPM_ECL_TIMESTEPPING_PARAMS_HPP -#include -#include - namespace Opm::Parameters { struct EnableTuning { static constexpr bool value = false; }; @@ -47,31 +44,12 @@ struct SolverRestartFactor { static constexpr Scalar value = 0.33; }; template struct TimeStepAfterEventInDays { static constexpr Scalar value = -1.0; }; -} // namespace Opm::Properties +} // namespace Opm::Parameters namespace Opm { template -void registerEclTimeSteppingParameters() -{ - Parameters::Register - ("Honor some aspects of the TUNING keyword."); - Parameters::Register> - ("The factor time steps are elongated after a successful substep"); - Parameters::Register> - ("The maximum factor time steps are elongated after a report step"); - Parameters::Register> - ("The maximum size of a time step in days"); - Parameters::Register> - ("The minimum size of a time step in days for field and " - "metric and hours for lab. If a step cannot converge without " - "getting cut below this step size the simulator will stop"); - Parameters::Register> - ("The factor time steps are elongated after restarts"); - Parameters::Register> - ("Time step size of the first time step after an event " - "occurs during the simulation in days"); -} +void registerEclTimeSteppingParameters(); } // namespace Opm