Zellij
All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
ZE_SystemInterface.h
Go to the documentation of this file.
1// Copyright(C) 2021, 2022, 2023 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#pragma once
7
8#include "Ioss_GetLongOpt.h" // for GetLongOption
9#include <array>
10#include <string> // for string
11
13
14using vector3d = std::array<double, 3>;
15
16enum class Minimize { NONE = 0, UNIT = 1, OUTPUT = 2, ALL = 3 };
17
19{
20public:
21 explicit SystemInterface(int my_rank = 0);
23
24 bool parse_options(int argc, char **argv);
25
26 int debug() const { return debugLevel_; }
27
28 std::string lattice() const { return lattice_; }
29 std::string decomp_method() const { return decompMethod_; }
30 std::string sideset_surfaces() const { return sidesetSurfaces_; }
31 std::string sideset_names() const { return sidesetNames_; }
33
34 bool ints32bit() const { return ints32bit_; }
35 bool use_netcdf4() const { return useNetcdf4_; }
36 bool use_netcdf5() const { return useNetcdf5_; }
37
38 int compression_level() const { return compressionLevel_; }
39 bool zlib() const { return zlib_; }
40 bool szip() const { return szip_; }
41
42 int ranks() const { return ranks_; }
43 int start_rank() const { return startRank_; }
44 int rank_count() const { return rankCount_; }
45 bool subcycle() const { return subcycle_; }
46
47 bool equivalence_nodes() const { return equivalenceNodes_; }
48 Minimize minimize_open_files() const { return minimizeOpenFiles_; }
49
50 double scale_factor() const { return scaleFactor_; }
51 vector3d offset() const { return offset_; }
52
53 int skip() const { return skip_; }
54 int repeat() const { return repeat_; }
55
56 static void show_version();
57
58 // Make this private eventually...
59 std::string outputName_;
60
61private:
62 void enroll_options();
63
64 Ioss::GetLongOption options_;
65
66 std::string lattice_{};
67 std::string decompMethod_{"HSFC"};
68 std::string sidesetSurfaces_{};
69 std::string sidesetNames_{};
70 vector3d offset_{0.0, 0.0, 0.0};
71 double scaleFactor_{1.0};
72 int myRank_{0};
75 int ranks_{1};
76 int startRank_{0};
77 int rankCount_{0};
78 int skip_{0};
79 int repeat_{1};
80 bool ints32bit_{false};
81 bool useNetcdf4_{true};
82 bool useNetcdf5_{false};
83 bool zlib_{true};
84 bool szip_{false};
86 bool subcycle_{false};
88 enum Minimize minimizeOpenFiles_ { Minimize::NONE };
89};
Minimize
Definition ZE_SystemInterface.h:16
std::array< double, 3 > vector3d
Definition ZE_SystemInterface.h:14
Definition ZE_SystemInterface.h:19
int compression_level() const
Definition ZE_SystemInterface.h:38
std::string lattice_
Definition ZE_SystemInterface.h:66
bool ints32bit() const
Definition ZE_SystemInterface.h:34
std::string decomp_method() const
Definition ZE_SystemInterface.h:29
std::string outputName_
Definition ZE_SystemInterface.h:59
int myRank_
Definition ZE_SystemInterface.h:72
int ranks_
Definition ZE_SystemInterface.h:75
bool ignore_internal_sidesets() const
Definition ZE_SystemInterface.h:32
bool use_netcdf5() const
Definition ZE_SystemInterface.h:36
bool equivalenceNodes_
Definition ZE_SystemInterface.h:85
std::string sidesetNames_
Definition ZE_SystemInterface.h:69
Minimize minimize_open_files() const
Definition ZE_SystemInterface.h:48
int startRank_
Definition ZE_SystemInterface.h:76
bool zlib() const
Definition ZE_SystemInterface.h:39
void enroll_options()
Definition ZE_SystemInterface.C:29
bool parse_options(int argc, char **argv)
Definition ZE_SystemInterface.C:197
bool subcycle() const
Definition ZE_SystemInterface.h:45
vector3d offset_
Definition ZE_SystemInterface.h:70
bool equivalence_nodes() const
Definition ZE_SystemInterface.h:47
std::string sideset_surfaces() const
Definition ZE_SystemInterface.h:30
bool szip_
Definition ZE_SystemInterface.h:84
vector3d offset() const
Definition ZE_SystemInterface.h:51
bool ignoreInternalSidesets_
Definition ZE_SystemInterface.h:87
int repeat_
Definition ZE_SystemInterface.h:79
Ioss::GetLongOption options_
Options parsing.
Definition ZE_SystemInterface.h:64
std::string decompMethod_
Definition ZE_SystemInterface.h:67
int skip() const
Definition ZE_SystemInterface.h:53
bool szip() const
Definition ZE_SystemInterface.h:40
bool zlib_
Definition ZE_SystemInterface.h:83
bool useNetcdf5_
Definition ZE_SystemInterface.h:82
std::string sidesetSurfaces_
Definition ZE_SystemInterface.h:68
int rankCount_
Definition ZE_SystemInterface.h:77
int skip_
Definition ZE_SystemInterface.h:78
bool ints32bit_
Definition ZE_SystemInterface.h:80
static void show_version()
Definition ZE_SystemInterface.C:385
double scaleFactor_
Definition ZE_SystemInterface.h:71
int debug() const
Definition ZE_SystemInterface.h:26
int compressionLevel_
Definition ZE_SystemInterface.h:74
int repeat() const
Definition ZE_SystemInterface.h:54
bool subcycle_
Definition ZE_SystemInterface.h:86
std::string sideset_names() const
Definition ZE_SystemInterface.h:31
int start_rank() const
Definition ZE_SystemInterface.h:43
int rank_count() const
Definition ZE_SystemInterface.h:44
int ranks() const
Definition ZE_SystemInterface.h:42
double scale_factor() const
Definition ZE_SystemInterface.h:50
bool useNetcdf4_
Definition ZE_SystemInterface.h:81
int debugLevel_
Definition ZE_SystemInterface.h:73
std::string lattice() const
Definition ZE_SystemInterface.h:28
bool use_netcdf4() const
Definition ZE_SystemInterface.h:35