IOSS 2.0
Loading...
Searching...
No Matches
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 bool getCatalystPluginPath(std::string &catalystPluginPath, std::string &libOSMesaPath);
85
86 std::string getSierraInstallDirectory();
87
89
90 void *getDlHandle();
91
92 void *dlHandle = nullptr;
93 void *dlHandleLibOSMesa = nullptr;
94
95#if defined(__APPLE__)
96 const char *CATALYST_PLUGIN_DYNAMIC_LIBRARY = "libcatalystioss.dylib";
97#else
98 const char *CATALYST_PLUGIN_DYNAMIC_LIBRARY = "libcatalystioss.so";
99#endif
100 const char *CATALYST_PLUGIN_PYTHON_MODULE = "PhactoriDriver.py";
101 const char *CATALYST_PLUGIN_PATH = "viz/catalyst/install";
102 const char *CATALYST_FILE_SUFFIX = ".dummy.pv.catalyst.e";
103 const char *CATALYST_OUTPUT_DIRECTORY = "CatalystOutput";
104 const char *CATALYST_INSTALL_LIB_DIR = "/lib/";
105 const char *CATALYST_INSTALL_PHACTORI_DIR = "/phactori/";
106 const char *CATALYST_IOSS_CATALYST_PLUGIN_DIR = "/current_ioss_catalyst_plugin_version";
107 const char *CATALYST_LIB_OSMESA = "libOSMesa.so";
108 const char *CATALYST_LIB_OSMESA_DIR = "/current_paraview_install/lib/";
110 "/current_paraview_lib_python/site-packages/_paraview.zip";
111 };
112
113} // namespace Iovs
114
115#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:462
Utils(const Utils &)=delete
std::unique_ptr< Iovs_cgns::CatalystCGNSMeshBase > createCatalystCGNSMesh(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:129
std::unique_ptr< Iovs_exodus::CatalystExodusMeshBase > createCatalystExodusMesh(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:105
void broadCastStatusCode(bool &statusCode, const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:557
void writeToCatalystLogFile(const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:245
void * getDlHandle()
Definition Iovs_Utils.C:290
CatalystManagerBase * catalystManager
Definition Iovs_Utils.h:67
void * dlHandle
Definition Iovs_Utils.h:92
Utils & operator=(const Utils &)=delete
void loadPluginLibrary()
Definition Iovs_Utils.C:298
const char * CATALYST_IOSS_CATALYST_PLUGIN_DIR
Definition Iovs_Utils.h:106
bool getCatalystPluginPath(std::string &catalystPluginPath, std::string &libOSMesaPath)
Definition Iovs_Utils.C:327
Utils()
Definition Iovs_Utils.C:35
void checkCatalystInterfaceAndPluginVersions()
Definition Iovs_Utils.C:93
const char * CATALYST_FILE_SUFFIX
Definition Iovs_Utils.h:102
void broadCastString(std::string &s, const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:542
std::string getDatabaseOutputFilePath(const std::string &databaseFilename, const Ioss::PropertyManager &properties)
Definition Iovs_Utils.C:275
static Utils & getInstance()
Definition Iovs_Utils.h:24
CatalystManagerBase & getCatalystManager()
Definition Iovs_Utils.C:58
const char * CATALYST_PLUGIN_PYTHON_MODULE
Definition Iovs_Utils.h:100
std::string getSierraInstallDirectory()
Definition Iovs_Utils.C:392
const char * CATALYST_LIB_OSMESA_DIR
Definition Iovs_Utils.h:108
void reportCatalystErrorMessages(const std::vector< int > &error_codes, const std::vector< std::string > &error_messages, int myRank)
Definition Iovs_Utils.C:518
void createDatabaseOutputFile(const DatabaseInfo &dbinfo)
Definition Iovs_Utils.C:500
void setPythonPathForParaViewPythonZipFile(std::string &paraviewPythonZipFilePath)
Definition Iovs_Utils.C:363
std::string getRestartTag(const std::string &databaseFilename)
Definition Iovs_Utils.C:255
const char * CATALYST_PARAVIEW_PYTHON_ZIP_FILE
Definition Iovs_Utils.h:109
void * dlHandleLibOSMesa
Definition Iovs_Utils.h:93
const char * CATALYST_LIB_OSMESA
Definition Iovs_Utils.h:107
const char * CATALYST_OUTPUT_DIRECTORY
Definition Iovs_Utils.h:103
const char * CATALYST_PLUGIN_PATH
Definition Iovs_Utils.h:101
CatalystManagerBase * createCatalystManagerInstance()
Definition Iovs_Utils.C:67
void initMeshFromIOSSProps(CatalystManagerBase::CatalystMeshInit &cmInit, const DatabaseInfo &dbinfo, const Ioss::PropertyManager &props)
Definition Iovs_Utils.C:141
const char * CATALYST_INSTALL_PHACTORI_DIR
Definition Iovs_Utils.h:105
const char * CATALYST_INSTALL_LIB_DIR
Definition Iovs_Utils.h:104
const char * CATALYST_PLUGIN_DYNAMIC_LIBRARY
Definition Iovs_Utils.h:98
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition Ioss_DBUsage.h:13
Definition CatalystManager.h:22
Definition CatalystManagerBase.h:55
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