20#ifndef OPM_DAMARISKEYWORDS_HEADER_INCLUDED
21#define OPM_DAMARISKEYWORDS_HEADER_INCLUDED
26#include <opm/simulators/utils/ParallelCommunication.hpp>
32#include <unordered_set>
51 const Parallel::Communication& comm);
55 bool enableDamarisOutputCollective_ =
true;
56 bool saveToDamarisHDF5_ =
true;
59 bool saveMeshToHDF5_ =
false;
60 std::string pythonFilename_;
61 std::string paraviewPythonFilename_;
63 std::string damarisSimName_;
64 std::string shmemName_;
65 std::string damarisLogLevel_ =
"info";
66 std::string damarisDaskFile_ =
"";
68 int nDamarisCores_ = 1;
69 int nDamarisNodes_ = 0;
70 long shmemSizeBytes_ = 536870912;
72 std::string rand_value_str_ ;
74 std::map<std::string, std::string>
75 getKeywords(
const Parallel::Communication& comm,
76 const std::string& OutputDir);
78 void SetRandString(
void);
91template<
class TypeTag>
92std::map<std::string, std::string>
100 settings.enableDamarisOutputCollective_ = Parameters::Get<Parameters::DamarisOutputHdfCollective>();
101 settings.saveMeshToHDF5_ = Parameters::Get<Parameters::DamarisSaveMeshToHdf>();
102 settings.saveToDamarisHDF5_ = Parameters::Get<Parameters::DamarisSaveToHdf>();
103 settings.pythonFilename_ = Parameters::Get<Parameters::DamarisPythonScript>();
104 settings.paraviewPythonFilename_ = Parameters::Get<Parameters::DamarisPythonParaviewScript>();
105 settings.damarisSimName_ = Parameters::Get<Parameters::DamarisSimName>();
106 settings.nDamarisCores_ = Parameters::Get<Parameters::DamarisDedicatedCores>();
107 settings.nDamarisNodes_ = Parameters::Get<Parameters::DamarisDedicatedNodes>();
108 settings.shmemSizeBytes_ = Parameters::Get<Parameters::DamarisSharedMemorySizeBytes>();
109 settings.shmemName_ = Parameters::Get<Parameters::DamarisSharedMemoryName>();
110 settings.damarisLogLevel_ = Parameters::Get<Parameters::DamarisLogLevel>();
111 settings.damarisDaskFile_ = Parameters::Get<Parameters::DamarisDaskFile>();
113 return settings.getKeywords(comm, OutputDir);
116template<
class TypeTag>
117std::unordered_set<std::string>
118getSetOfIncludedVariables(
void)
120 std::unordered_set<std::string>
resuset ;
123 std::string
damarisLimitVars = Parameters::Get<Parameters::DamarisLimitVariables>();
127 while (std::getline(
ss,
tstr,
',')) {
129 std::string::iterator
end_pos = std::remove(
tstr.begin(),
tstr.end(),
' ');
Collects necessary output values and pass them to Damaris server processes.
Below are the Damaris Keywords supported by Damaris to be filled in the built-in XML file.
Definition DamarisWriter.cpp:39
std::map< std::string, std::string > getDamarisKeywords(const Parallel::Communication &comm, const std::string &OutputDir)
Creates the map of search strings and repacement strings that will be used to modify a templated Dama...
Definition DamarisKeywords.hpp:93
bool FileExists(const std::string &filename_in, const Parallel::Communication &comm)
Returns true if the file exists.
Definition DamarisKeywords.cpp:53
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242
This file provides the infrastructure to retrieve run-time parameters.
Definition DamarisKeywords.hpp:54