From 07f5fdd35bb329686a3f31b5917db7e846db1936 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Mon, 19 Feb 2024 08:19:08 +0100 Subject: [PATCH] add float variant for flow blackoil --- CMakeLists.txt | 12 ++++++++++ flow/flow_blackoil_float_main.cpp | 39 +++++++++++++++++++++++++++++++ regressionTests.cmake | 9 +++++++ 3 files changed, 60 insertions(+) create mode 100644 flow/flow_blackoil_float_main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 762782b67..a9ecdee9c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -518,6 +518,18 @@ if (BUILD_FLOW) PASS_REGULAR_EXPRESSION "${${project}_LABEL}") endif() +if(BUILD_FLOW_FLOAT_VARIANTS) + opm_add_test(flow_blackoil_float + ONLY_COMPILE + ALWAYS_ENABLE + DEFAULT_ENABLE_IF ${FLOW_DEFAULT_ENABLE_IF} + DEPENDS opmsimulators + LIBRARIES opmsimulators + SOURCES + flow/flow_blackoil_float_main.cpp + $) +endif() + if (OPM_ENABLE_PYTHON) add_subdirectory(python) endif() diff --git a/flow/flow_blackoil_float_main.cpp b/flow/flow_blackoil_float_main.cpp new file mode 100644 index 000000000..7855fb8bb --- /dev/null +++ b/flow/flow_blackoil_float_main.cpp @@ -0,0 +1,39 @@ +/* + Copyright 2020, NORCE AS + + 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 3 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 . +*/ +#include + +#include +#include + +namespace Opm::Properties { + +template +struct Scalar +{ + using type = float; +}; + +} + +int main(int argc, char** argv) +{ + using TypeTag = Opm::Properties::TTag::FlowProblemTPFA; + auto mainObject = Opm::Main(argc, argv); + return mainObject.runStatic(); +} diff --git a/regressionTests.cmake b/regressionTests.cmake index 6a5296701..dbe4b1396 100644 --- a/regressionTests.cmake +++ b/regressionTests.cmake @@ -1511,3 +1511,12 @@ if(dune-alugrid_FOUND AND BUILD_FLOW_ALU_GRID) --enable-drift-compensation=true) endif() +if(BUILD_FLOW_FLOAT_VARIANTS) + add_test_compareECLFiles(CASENAME spe1_float + FILENAME SPE1CASE1 + SIMULATOR flow_blackoil_float + ABS_TOL ${abs_tol} + REL_TOL ${rel_tol} + DIR spe1 + TEST_ARGS --tolerance-mb=1e-6) +endif()