IOSS 2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Iovs_Utils.h
Go to the documentation of this file.
1// Copyright(C) 1999-2021 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#ifndef IOSS_IOVS_UTILS_H
8#define IOSS_IOVS_UTILS_H
9
10#include "iovs_export.h"
11
12#include "CatalystManagerBase.h"
13#include "Ioss_DBUsage.h"
14#include "Ioss_ParallelUtils.h"
16#include <string>
17
18namespace Iovs {
19
20 class IOVS_EXPORT Utils
21 {
22
23 public:
25 {
26 static Utils instance;
27 return instance;
28 }
29
30 static bool fileExists(const std::string &filepath);
31
32 std::string getCatalystPythonDriverPath();
33
34 void checkDbUsage(Ioss::DatabaseUsage db_usage);
35
42
43 void createDatabaseOutputFile(const DatabaseInfo &dbinfo);
44
45 std::unique_ptr<Iovs_exodus::CatalystExodusMeshBase>
47
48 std::unique_ptr<Iovs_cgns::CatalystCGNSMeshBase>
50
51 std::string getDatabaseOutputFilePath(const std::string &databaseFilename,
52 const Ioss::PropertyManager &properties);
53
54 void reportCatalystErrorMessages(const std::vector<int> &error_codes,
55 const std::vector<std::string> &error_messages, int myRank);
56
57 void writeToCatalystLogFile(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props);
58
60
61 private:
62 Utils();
63 ~Utils();
64 Utils(const Utils &) = delete;
65 Utils &operator=(const Utils &) = delete;
66
68
71
73 const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props);
74
75 std::string getRestartTag(const std::string &databaseFilename);
76
77 void broadCastString(std::string &s, const DatabaseInfo &dbinfo);
78
79 void broadCastStatusCode(bool &statusCode, const DatabaseInfo &dbinfo);
80
81 void loadPluginLibrary();
82 void setPythonPathForParaViewPythonZipFile(std::string &paraviewPythonZipFilePath);
83
84 void getCatalystPluginPath(std::string &catalystPluginPath);
85
87
88 void *getDlHandle();
89
90 void *dlHandle = nullptr;
91
92#if defined(__APPLE__)
93 const char *CATALYST_PLUGIN_DYNAMIC_LIBRARY = "libcatalystioss.dylib";
94#else
95 const char *CATALYST_PLUGIN_DYNAMIC_LIBRARY = "libcatalystioss.so";
96#endif
97 const char *CATALYST_PLUGIN_PYTHON_MODULE = "PhactoriDriver.py";
98 const char *CATALYST_FILE_SUFFIX = ".dummy.pv.catalyst.e";
99 const char *CATALYST_OUTPUT_DIRECTORY = "CatalystOutput";
100 const char *CATALYST_INSTALL_LIB_DIR = "/lib/";
101 const char *CATALYST_INSTALL_PHACTORI_DIR = "/phactori/";
102 const char *CATALYST_IOSS_CATALYST_PLUGIN_DIR = "/current_ioss_catalyst_plugin_version";
104 "/current_paraview_lib_python/site-packages/_paraview.zip";
105 };
106
107} // namespace Iovs
108
109#endif
Definition Ioss_ParallelUtils.h:32
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
Definition CatalystManagerBase.h:25
std::string getCatalystAdapterInstallDirectory()
Definition Iovs_Utils.C:333
Utils(const Utils &)=delete
std::unique_ptr< Iovs_cgns::CatalystCGNSMeshBase > createCatalystCGNSMesh(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:124
std::unique_ptr< Iovs_exodus::CatalystExodusMeshBase > createCatalystExodusMesh(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:100
void broadCastStatusCode(bool &statusCode, const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:433
void writeToCatalystLogFile(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:223
void * getDlHandle()
Definition Iovs_Utils.C:268
CatalystManagerBase * catalystManager
Definition Iovs_Utils.h:67
void * dlHandle
Definition Iovs_Utils.h:90
Utils & operator=(const Utils &)=delete
void loadPluginLibrary()
Definition Iovs_Utils.C:276
const char * CATALYST_IOSS_CATALYST_PLUGIN_DIR
Definition Iovs_Utils.h:102
Utils()
Definition Iovs_Utils.C:35
void checkCatalystInterfaceAndPluginVersions()
Definition Iovs_Utils.C:88
const char * CATALYST_FILE_SUFFIX
Definition Iovs_Utils.h:98
void broadCastString(std::string &s, const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:418
std::string getDatabaseOutputFilePath(const std::string &databaseFilename, const Ioss::PropertyManager &properties)
Definition Iovs_Utils.C:253
static Utils & getInstance()
Definition Iovs_Utils.h:24
CatalystManagerBase & getCatalystManager()
Definition Iovs_Utils.C:53
const char * CATALYST_PLUGIN_PYTHON_MODULE
Definition Iovs_Utils.h:97
void getCatalystPluginPath(std::string &catalystPluginPath)
Definition Iovs_Utils.C:293
void reportCatalystErrorMessages(const std::vector< int > &error_codes, const std::vector< std::string > &error_messages, int myRank)
Definition Iovs_Utils.C:394
void createDatabaseOutputFile(const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:376
void setPythonPathForParaViewPythonZipFile(std::string &paraviewPythonZipFilePath)
Definition Iovs_Utils.C:309
std::string getRestartTag(const std::string &databaseFilename)
Definition Iovs_Utils.C:233
const char * CATALYST_PARAVIEW_PYTHON_ZIP_FILE
Definition Iovs_Utils.h:103
const char * CATALYST_OUTPUT_DIRECTORY
Definition Iovs_Utils.h:99
CatalystManagerBase * createCatalystManagerInstance()
Definition Iovs_Utils.C:62
void initMeshFromIOSSProps(CatalystManagerBase::CatalystMeshInit &cmInit, const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:136
const char * CATALYST_INSTALL_PHACTORI_DIR
Definition Iovs_Utils.h:101
const char * CATALYST_INSTALL_LIB_DIR
Definition Iovs_Utils.h:100
const char * CATALYST_PLUGIN_DYNAMIC_LIBRARY
Definition Iovs_Utils.h:95
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition Ioss_DBUsage.h:13
Definition CatalystManager.h:22
Definition CatalystManagerBase.h:45
Definition Iovs_Utils.h:37
std::string separatorCharacter
Definition Iovs_Utils.h:39
std::string databaseFilename
Definition Iovs_Utils.h:38
const Ioss::ParallelUtils * parallelUtils
Definition Iovs_Utils.h:40