7#ifndef IOSS_IOVS_CATALYST_MANAGER_H
8#define IOSS_IOVS_CATALYST_MANAGER_H
10#include "iocatalyst_export.h"
12#include <catalyst.hpp>
24 inline static const std::string
ARGS =
"args";
25 inline static const std::string
CATALYST =
"catalyst";
27 "CATALYST_BLOCK_PARSE_INPUT_DECK_NAME";
29 "CATALYST_BLOCK_PARSE_JSON_STRING";
37 "CATALYST_MULTI_INPUT_PIPELINE_NAME";
40 inline static const std::string
CHANNELS =
"channels";
41 inline static const std::string
CYCLE =
"cycle";
42 inline static const std::string
DATA =
"data";
44 inline static const std::string
PIPELINES =
"pipelines";
45 inline static const std::string
FILENAME =
"filename";
46 inline static const std::string
FS =
"/";
47 inline static const std::string
IOSS =
"ioss";
48 inline static const std::string
SCRIPTS =
"scripts";
49 inline static const std::string
STATE =
"state";
50 inline static const std::string
TIME =
"time";
51 inline static const std::string
TIMESTEP =
"timestep";
52 inline static const std::string
TYPE =
"type";
62 conduit_cpp::Node getInitializeConduit();
66 pState getPipelineState(CatalystPipelineID
id);
110 void addExecuteData(conduit_cpp::Node &n,
const std::string &channelName,
int state,
111 double time, conduit_cpp::Node &data);
115 conduit_cpp::Node &data);
153 std::map<CatalystPipelineID, CatalystProps>
catPipes;
Definition Iocatalyst_CatalystManager.h:17
mState
Definition Iocatalyst_CatalystManager.h:21
@ mExecute
Definition Iocatalyst_CatalystManager.h:21
@ mInit
Definition Iocatalyst_CatalystManager.h:21
@ mFinalize
Definition Iocatalyst_CatalystManager.h:21
static const std::string CATALYST_OUTPUT_DEFAULT
Definition Iocatalyst_CatalystManager.h:33
mState managerState
Definition Iocatalyst_CatalystManager.h:154
void setMultiInputWaitState(CatalystPipelineID id, int state, double time, conduit_cpp::Node &data)
Definition Iocatalyst_CatalystManager.C:241
static const std::string CATALYST_SCRIPT_EXTRA_FILE
Definition Iocatalyst_CatalystManager.h:39
static const std::string TIMESTEP
Definition Iocatalyst_CatalystManager.h:51
void addScriptProps(conduit_cpp::Node &n, const CatalystProps &p)
Definition Iocatalyst_CatalystManager.C:207
bool canExecuteMultiInputScript(CatalystPipelineID id)
Definition Iocatalyst_CatalystManager.C:256
void broadCastString(std::string &s, const Ioss::ParallelUtils &putils)
Definition Iocatalyst_CatalystManager.C:295
static const std::string CATALYST_DEBUG_LEVEL
Definition Iocatalyst_CatalystManager.h:30
static const std::string CATALYST_OUTPUT_DIRECTORY
Definition Iocatalyst_CatalystManager.h:32
std::string getCatScriptArgsPath(const CatalystProps &p)
Definition Iocatalyst_CatalystManager.h:130
static const std::string ARGS
Definition Iocatalyst_CatalystManager.h:24
CatalystManager()
Definition Iocatalyst_CatalystManager.C:13
void incrementOutputCounts()
Definition Iocatalyst_CatalystManager.C:293
static const std::string PHACTORI_JSON_SCRIPT
Definition Iocatalyst_CatalystManager.h:43
static const std::string CHANNELS
Definition Iocatalyst_CatalystManager.h:40
static const std::string FS
Definition Iocatalyst_CatalystManager.h:46
void reset()
Definition Iocatalyst_CatalystManager.h:118
static const std::string DATA
Definition Iocatalyst_CatalystManager.h:42
static const std::string CATALYST_ENABLE_LOGGING
Definition Iocatalyst_CatalystManager.h:31
void broadCastStatusCode(bool &statusCode, const Ioss::ParallelUtils &putils)
Definition Iocatalyst_CatalystManager.C:310
static const std::string FILENAME
Definition Iocatalyst_CatalystManager.h:45
static const std::string TIME
Definition Iocatalyst_CatalystManager.h:50
static const std::string CYCLE
Definition Iocatalyst_CatalystManager.h:41
mState getManagerState()
Definition Iocatalyst_CatalystManager.h:64
void addExecuteProps(conduit_cpp::Node &n, const CatalystProps &p, int state, double time)
Definition Iocatalyst_CatalystManager.C:219
unsigned int CatalystPipelineID
Definition Iocatalyst_CatalystManager.h:19
pState
Definition Iocatalyst_CatalystManager.h:22
@ pWaitExecute
Definition Iocatalyst_CatalystManager.h:22
@ pExecute
Definition Iocatalyst_CatalystManager.h:22
@ pFinalize
Definition Iocatalyst_CatalystManager.h:22
static const std::string TYPE
Definition Iocatalyst_CatalystManager.h:52
static const std::string STATE
Definition Iocatalyst_CatalystManager.h:49
void finalize(CatalystPipelineID id)
Definition Iocatalyst_CatalystManager.C:178
static const std::string CATALYST_MULTI_INPUT_PIPELINE_NAME
Definition Iocatalyst_CatalystManager.h:36
static const std::string CATALYST_SCRIPT
Definition Iocatalyst_CatalystManager.h:38
CatalystProps & getCatalystProps(CatalystPipelineID id)
Definition Iocatalyst_CatalystManager.C:120
void addExecuteData(conduit_cpp::Node &n, const std::string &channelName, int state, double time, conduit_cpp::Node &data)
Definition Iocatalyst_CatalystManager.C:229
CatalystManager & operator=(const CatalystManager &)=delete
static const std::string SCRIPTS
Definition Iocatalyst_CatalystManager.h:48
std::string getCatScriptFnamePath(const CatalystProps &p)
Definition Iocatalyst_CatalystManager.h:125
static const std::string PIPELINES
Definition Iocatalyst_CatalystManager.h:44
static const std::string CATALYST_BLOCK_PARSE_INPUT_DECK_NAME
Definition Iocatalyst_CatalystManager.h:26
CatalystManager(const CatalystManager &)=delete
CatalystPipelineID catalystOutputIDNumber
Definition Iocatalyst_CatalystManager.h:152
static const std::string CATALYST_INPUT_DEFAULT
Definition Iocatalyst_CatalystManager.h:35
std::map< CatalystPipelineID, CatalystProps > catPipes
Definition Iocatalyst_CatalystManager.h:153
std::string getCatStatePath()
Definition Iocatalyst_CatalystManager.h:137
std::string getCatChannelsPath()
Definition Iocatalyst_CatalystManager.h:139
std::string getCatScriptPath(const CatalystProps &p)
Definition Iocatalyst_CatalystManager.h:132
CatalystPipelineID initialize(const Ioss::PropertyManager &props, const Ioss::ParallelUtils &putils)
Definition Iocatalyst_CatalystManager.C:40
void execute(CatalystPipelineID id, int state, double time, conduit_cpp::Node &data)
Definition Iocatalyst_CatalystManager.C:130
static CatalystManager & getInstance()
Definition Iocatalyst_CatalystManager.h:54
static const std::string IOSS
Definition Iocatalyst_CatalystManager.h:47
std::string getCatalystPythonDriverPath()
Definition Iocatalyst_CatalystManager.h:60
static const std::string CATALYST_INPUT_NAME
Definition Iocatalyst_CatalystManager.h:34
static const std::string CATALYST_BLOCK_PARSE_JSON_STRING
Definition Iocatalyst_CatalystManager.h:28
static const std::string CATALYST
Definition Iocatalyst_CatalystManager.h:25
void clearAllMultiInputWaitStates(CatalystPipelineID id)
Definition Iocatalyst_CatalystManager.C:275
std::string getCatDataPath(const Ioss::PropertyManager &props)
Definition Iocatalyst_CatalystManager.C:30
Definition Ioss_ParallelUtils.h:32
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
A namespace for the Catalyst 2.0 database format.
Definition Iocatalyst_CatalystLogging.C:13
Definition Iocatalyst_CatalystManager.h:72
std::string catalystInputDeckName
Definition Iocatalyst_CatalystManager.h:98
std::string catalystBlockJSON
Definition Iocatalyst_CatalystManager.h:96
std::string catalystOutputDirectory
Definition Iocatalyst_CatalystManager.h:99
std::string catalystInputName
Definition Iocatalyst_CatalystManager.h:95
std::string catalystMultiInputPipelineName
Definition Iocatalyst_CatalystManager.h:89
int state
Definition Iocatalyst_CatalystManager.h:92
CatalystProps()
Definition Iocatalyst_CatalystManager.h:73
bool enableCatalystMultiInputPipeline
Definition Iocatalyst_CatalystManager.h:88
std::string catalystPythonFilename
Definition Iocatalyst_CatalystManager.h:90
conduit_cpp::Node data
Definition Iocatalyst_CatalystManager.h:91
CatalystPipelineID catalystPipelineID
Definition Iocatalyst_CatalystManager.h:86
double time
Definition Iocatalyst_CatalystManager.h:93
int debugLevel
Definition Iocatalyst_CatalystManager.h:101
std::string catalystScriptExtraFile
Definition Iocatalyst_CatalystManager.h:97
pState pipelineState
Definition Iocatalyst_CatalystManager.h:87
bool enableLogging
Definition Iocatalyst_CatalystManager.h:100