changed: move the EnableVtkOutput parameter to Opm::Parameters

This commit is contained in:
Arne Morten Kvarving 2024-06-28 12:16:28 +02:00
parent da2b47b459
commit db9ac62d9d
19 changed files with 104 additions and 85 deletions

View File

@ -30,9 +30,9 @@
#include "blackoilproperties.hh"
#include <opm/common/OpmLog/OpmLog.hpp>
#include <dune/common/fvector.hh>
#include <opm/models/blackoil/blackoilfoamparams.hh>
#include <opm/common/OpmLog/OpmLog.hpp>
#if HAVE_ECL_INPUT
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
@ -40,10 +40,12 @@
#include <opm/input/eclipse/EclipseState/Tables/FoammobTable.hpp>
#endif
#include <dune/common/fvector.hh>
#include <opm/models/blackoil/blackoilfoamparams.hh>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/discretization/common/fvbaseproperties.hh>
#include <string>
#include <math.h>
namespace Opm {
@ -187,7 +189,7 @@ public:
Simulator&)
{
if constexpr (enableFoam) {
if (Parameters::get<TypeTag, Properties::EnableVtkOutput>()) {
if (Parameters::get<TypeTag, Parameters::EnableVtkOutput>()) {
OpmLog::warning("VTK output requested, currently unsupported by the foam module.");
}
}

View File

@ -237,10 +237,6 @@ struct MinTimeStepSize<TypeTag, TTag::FvBaseDiscretization>
static constexpr type value = 0.0;
};
//! Enable the VTK output by default
template<class TypeTag>
struct EnableVtkOutput<TypeTag, TTag::FvBaseDiscretization> { static constexpr bool value = true; };
//! By default, write the VTK output to asynchronously to disk
//!
//! This has only an effect if EnableVtkOutput is true
@ -343,6 +339,11 @@ template<class TypeTag>
struct OutputDir<TypeTag, Properties::TTag::FvBaseDiscretization>
{ static constexpr auto value = "."; };
//! Enable the VTK output by default
template<class TypeTag>
struct EnableVtkOutput<TypeTag, Properties::TTag::FvBaseDiscretization>
{ static constexpr bool value = true; };
} // namespace Opm::Parameters
namespace Opm {
@ -520,7 +521,7 @@ public:
Parameters::registerParam<TypeTag, Parameters::EnableGridAdaptation>
("Enable adaptive grid refinement/coarsening");
Parameters::registerParam<TypeTag, Properties::EnableVtkOutput>
Parameters::registerParam<TypeTag, Parameters::EnableVtkOutput>
("Global switch for turning on writing VTK files");
Parameters::registerParam<TypeTag, Properties::EnableThermodynamicHints>
("Enable thermodynamic hints");

View File

@ -52,6 +52,15 @@ struct EnableGridAdaptation { using type = Properties::UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct OutputDir { using type = Properties::UndefinedProperty; };
/*!
* \brief Global switch to enable or disable the writing of VTK output files
*
* If writing VTK files is disabled, then the WriteVtk$FOO options do
* not have any effect...
*/
template<class TypeTag, class MyTypeTag>
struct EnableVtkOutput { using type = Properties::UndefinedProperty; };
} // namespace Opm::Parameters
#endif

View File

@ -812,7 +812,7 @@ protected:
private:
bool enableVtkOutput_() const
{ return Parameters::get<TypeTag, Properties::EnableVtkOutput>(); }
{ return Parameters::get<TypeTag, Parameters::EnableVtkOutput>(); }
//! Returns the implementation of the problem (i.e. static polymorphism)
Implementation& asImp_()

View File

@ -199,15 +199,6 @@ struct UseLinearizationLock { using type = UndefinedProperty; };
// high-level simulation control
/*!
* \brief Global switch to enable or disable the writing of VTK output files
*
* If writing VTK files is disabled, then the WriteVtk$FOO options do
* not have any effect...
*/
template<class TypeTag, class MyTypeTag>
struct EnableVtkOutput { using type = UndefinedProperty; };
/*!
* \brief Determines if the VTK output is written to disk asynchronously
*

View File

@ -27,19 +27,19 @@
#ifndef EWOMS_VTK_BLACK_OIL_ENERGY_MODULE_HH
#define EWOMS_VTK_BLACK_OIL_ENERGY_MODULE_HH
#include <opm/material/densead/Math.hpp>
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <dune/common/fvector.hh>
#include <opm/material/densead/Math.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
namespace Opm::Properties {
namespace TTag {
@ -130,7 +130,7 @@ public:
*/
void allocBuffers()
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableEnergy)
@ -152,7 +152,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableEnergy)

View File

@ -27,19 +27,19 @@
#ifndef EWOMS_VTK_BLACK_OIL_MICP_MODULE_HH
#define EWOMS_VTK_BLACK_OIL_MICP_MODULE_HH
#include <opm/material/densead/Math.hpp>
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <dune/common/fvector.hh>
#include <opm/material/densead/Math.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
namespace Opm::Properties {
namespace TTag {
@ -134,7 +134,7 @@ public:
*/
void allocBuffers()
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableMICP)
@ -158,7 +158,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableMICP)

View File

@ -27,18 +27,19 @@
#ifndef EWOMS_VTK_BLACK_OIL_MODULE_HH
#define EWOMS_VTK_BLACK_OIL_MODULE_HH
#include <opm/material/densead/Math.hpp>
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
#include <opm/material/densead/Math.hpp>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/utils/propertysystem.hh>
namespace Opm::Properties {
@ -216,7 +217,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned dofIdx = 0; dofIdx < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++dofIdx) {
@ -424,9 +425,8 @@ private:
ScalarBuffer primaryVarsMeaningPressure_;
ScalarBuffer primaryVarsMeaningWater_;
ScalarBuffer primaryVarsMeaningGas_;
};
} // namespace Opm
#endif

View File

@ -27,19 +27,19 @@
#ifndef EWOMS_VTK_BLACK_OIL_POLYMER_MODULE_HH
#define EWOMS_VTK_BLACK_OIL_POLYMER_MODULE_HH
#include <opm/material/densead/Math.hpp>
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <dune/common/fvector.hh>
#include <opm/material/densead/Math.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
namespace Opm::Properties {
namespace TTag {
@ -143,7 +143,7 @@ public:
*/
void allocBuffers()
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enablePolymer)
@ -169,7 +169,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enablePolymer)

View File

@ -27,19 +27,19 @@
#ifndef EWOMS_VTK_BLACK_OIL_SOLVENT_MODULE_HH
#define EWOMS_VTK_BLACK_OIL_SOLVENT_MODULE_HH
#include <opm/material/densead/Math.hpp>
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <dune/common/fvector.hh>
#include <opm/material/densead/Math.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/blackoil/blackoilproperties.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
namespace Opm::Properties {
namespace TTag {
@ -136,7 +136,7 @@ public:
*/
void allocBuffers()
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableSolvent)
@ -160,7 +160,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
if (!enableSolvent)

View File

@ -30,11 +30,13 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/material/common/MathToolbox.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/material/common/MathToolbox.hpp>
namespace Opm::Properties {
namespace TTag {
@ -170,7 +172,7 @@ public:
{
using Toolbox = MathToolbox<Evaluation>;
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {

View File

@ -31,12 +31,14 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/material/densead/Evaluation.hpp>
#include <opm/material/densead/Math.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
namespace Opm::Properties {
namespace TTag {
@ -138,7 +140,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {

View File

@ -30,15 +30,16 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <dune/common/fvector.hh>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/material/common/Valgrind.hpp>
#include <dune/common/fvector.hh>
#include <cstdio>
#include <string_view>
namespace Opm::Properties {
@ -190,7 +191,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
const auto& fractureMapper = elemCtx.simulator().vanguard().fractureMapper();

View File

@ -30,6 +30,8 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
@ -148,7 +150,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {

View File

@ -30,16 +30,17 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/material/common/MathToolbox.hpp>
#include <opm/material/common/Valgrind.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <dune/common/fvector.hh>
#include <cstdio>
#include <string_view>
namespace Opm::Properties {
@ -238,7 +239,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
const auto& problem = elemCtx.problem();

View File

@ -30,6 +30,8 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/utils/propertysystem.hh>
@ -103,7 +105,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {

View File

@ -27,6 +27,8 @@
#ifndef EWOMS_VTK_PRIMARY_VARS_MODULE_HH
#define EWOMS_VTK_PRIMARY_VARS_MODULE_HH
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/io/baseoutputmodule.hh>
#include <opm/models/io/vtkmultiwriter.hh>
@ -122,7 +124,7 @@ public:
*/
void processElement(const ElementContext& elemCtx)
{
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
const auto& elementMapper = elemCtx.model().elementMapper();

View File

@ -30,11 +30,13 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/material/common/MathToolbox.hpp>
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/material/common/MathToolbox.hpp>
namespace Opm::Properties {
namespace TTag {
@ -125,7 +127,7 @@ public:
{
using Toolbox = MathToolbox<Evaluation>;
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {

View File

@ -30,6 +30,8 @@
#include "vtkmultiwriter.hh"
#include "baseoutputmodule.hh"
#include <opm/models/discretization/common/fvbaseparameters.hh>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/utils/propertysystem.hh>
@ -109,7 +111,7 @@ public:
{
using Toolbox = MathToolbox<Evaluation>;
if (!Parameters::get<TypeTag, Properties::EnableVtkOutput>())
if (!Parameters::get<TypeTag, Parameters::EnableVtkOutput>())
return;
for (unsigned i = 0; i < elemCtx.numPrimaryDof(/*timeIdx=*/0); ++i) {