OMSimulatorLib The OMSimulator project is a FMI-based co-simulation environment.

Loading...
Searching...
No Matches
Flags.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenModelica.
3 *
4 * Copyright (c) 1998-2026, Open Source Modelica Consortium (OSMC),
5 * c/o Linköpings universitet, Department of Computer and Information Science,
6 * SE-58183 Linköping, Sweden.
7 *
8 * All rights reserved.
9 *
10 * THIS PROGRAM IS PROVIDED UNDER THE TERMS OF AGPL VERSION 3 LICENSE OR
11 * THIS OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.8.
12 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES
13 * RECIPIENT'S ACCEPTANCE OF THE OSMC PUBLIC LICENSE OR THE GNU AGPL
14 * VERSION 3, ACCORDING TO RECIPIENTS CHOICE.
15 *
16 * The OpenModelica software and the OSMC (Open Source Modelica Consortium)
17 * Public License (OSMC-PL) are obtained from OSMC, either from the above
18 * address, from the URLs:
19 * http://www.openmodelica.org or
20 * https://github.com/OpenModelica/ or
21 * http://www.ida.liu.se/projects/OpenModelica,
22 * and in the OpenModelica distribution.
23 *
24 * GNU AGPL version 3 is obtained from:
25 * https://www.gnu.org/licenses/licenses.html#GPL
26 *
27 * This program is distributed WITHOUT ANY WARRANTY; without
28 * even the implied warranty of MERCHANTABILITY or FITNESS
29 * FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
30 * IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF OSMC-PL.
31 *
32 * See the full OSMC Public License conditions for more details.
33 *
34 */
35
36#pragma once
37
38#include "OMSimulator/Types.h"
39
40#include <array>
41#include <map>
42#include <string>
43#include <vector>
44
45 namespace oms
46{
47 class Flags
48 {
49 private:
50 Flags();
51 ~Flags();
52 void setDefaults();
53
54 // stop the compiler generating methods copying the object
55 Flags(Flags const &);
56 Flags &operator=(Flags const &);
57
58 public:
59 static Flags &GetInstance();
60
61 static oms_status_enu_t SetCommandLineOption(const std::string &cmd);
62
63 static bool AddParametersToCSV() { return GetInstance().FlagAddParametersToCSV.value == "true"; }
64 static bool DefaultModeIsCS() { return GetInstance().FlagMode.value == "cs"; }
65 static bool DeleteTempFiles() { return GetInstance().FlagDeleteTempFiles.value == "true"; }
66 static bool DirectionalDerivatives() { return GetInstance().FlagDirectionalDerivatives.value == "true"; }
67 static bool DumpAlgLoops() { return GetInstance().FlagDumpAlgLoops.value == "true"; }
68 static bool EmitEvents() { return GetInstance().FlagEmitEvents.value == "true"; }
69 static bool IgnoreInitialUnknowns() { return GetInstance().FlagIgnoreInitialUnknowns.value == "true"; }
70 static bool InputExtrapolation() { return GetInstance().FlagInputExtrapolation.value == "true"; }
71 static bool ProgressBar() { return GetInstance().FlagProgressBar.value == "true"; }
72 static bool RealTime() { return GetInstance().FlagRealTime.value == "true"; }
73 static bool SkipCSVHeader() { return GetInstance().FlagSkipCSVHeader.value == "true"; }
74 static bool SolverStats() { return GetInstance().FlagSolverStats.value == "true"; }
75 static bool StripRoot() { return GetInstance().FlagStripRoot.value == "true"; }
76 static bool SuppressPath() { return GetInstance().FlagSuppressPath.value == "true"; }
77 static bool WallTime() { return GetInstance().FlagWallTime.value == "true"; }
78 static bool ZeroNominal() { return GetInstance().FlagZeroNominal.value == "true"; }
79 static double InitialStepSize() { return atof(GetInstance().FlagInitialStepSize.value.c_str()); }
80 static double MaximumStepSize() { return atof(GetInstance().FlagStepSize.value.c_str()); }
81 static double MinimumStepSize() { return atof(GetInstance().FlagMinimumStepSize.value.c_str()); }
82 static double StartTime() { return atof(GetInstance().FlagStartTime.value.c_str()); }
83 static double StopTime() { return atof(GetInstance().FlagStopTime.value.c_str()); }
84 static double Timeout() { return atof(GetInstance().FlagTimeout.value.c_str()); }
85 static double Tolerance() { return atof(GetInstance().FlagTolerance.value.c_str()); }
86 static int CVODEMaxErrTestFails() { return atoi(GetInstance().FlagCVODEMaxErrTestFails.value.c_str()); }
87 static int CVODEMaxNLSFailures() { return atoi(GetInstance().FlagCVODEMaxNLSFailures.value.c_str()); }
88 static int CVODEMaxNLSIterations() { return atoi(GetInstance().FlagCVODEMaxNLSIterations.value.c_str()); }
89 static int CVODEMaxSteps() { return atoi(GetInstance().FlagCVODEMaxSteps.value.c_str()); }
90 static oms_alg_solver_enu_t AlgLoopSolver();
91 static oms_solver_enu_t MasterAlgorithm();
92 static oms_solver_enu_t Solver();
93 static std::string ResultFile() { return GetInstance().FlagResultFile.value; }
94 static unsigned int Intervals() { return atoi(GetInstance().FlagIntervals.value.c_str()); }
95 static unsigned int MaxEventIteration() { return atoi(GetInstance().FlagMaxEventIteration.value.c_str()); }
96 static unsigned int MaxLoopIteration() { return atoi(GetInstance().FlagMaxLoopIteration.value.c_str()); }
97 static unsigned int NumProcs() { return atoi(GetInstance().FlagNumProcs.value.c_str()); }
98
99 private:
100 std::map<std::string, unsigned int> lookup;
101 std::vector<std::string> files;
102
103 const std::string re_void = "";
104 const std::string re_default = ".+";
105 const std::string re_bool = "(true|false)";
106 const std::string re_mode = "(me|cs)";
107 const std::string re_double = "((\\+|-)?[[:digit:]]+)(\\.(([[:digit:]]+)?))?((e|E)((\\+|-)?)[[:digit:]]+)?";
108 const std::string re_number = "[[:digit:]]+";
109 const std::string re_filename = ".+(\\.fmu|\\.ssp|\\.lua)";
110 const std::string re_solver = "(euler|cvode)";
111
112 public:
113 struct Flag
114 {
115 const std::string name;
116 const std::string abbr;
117 std::string value;
118 const std::string defaultValue;
119 const std::string desc;
120 const std::string regex;
121 oms_status_enu_t (*action)(const std::string &value);
122 const bool interrupt;
123 const bool settings;
124 bool explicitlySet;
125 };
126
127 Flag FlagFilename{"", "", "", "", "FMU or SSP file to be loaded", re_filename, Flags::Filename, false, false, false};
128 Flag FlagAddParametersToCSV{"--addParametersToCSV", "", "", "false", "Export parameters to a .csv file", re_bool, nullptr, false, false, false};
129 Flag FlagAlgLoopSolver{"--algLoopSolver", "", "", "kinsol", "Specifies the loop solver method (fixedpoint, kinsol) used for algebraic loops spanning multiple components.", re_default, nullptr, false, false, false};
130 Flag FlagClearAllOptions{"--clearAllOptions", "", "", "", "Reset all flags to their default values", re_void, Flags::ClearAllOptions, false, false, false};
131 Flag FlagCVODEMaxErrTestFails{"--CVODEMaxErrTestFails", "", "", "100", "Maximum number of error test failures for CVODE", re_number, nullptr, false, false, false};
132 Flag FlagCVODEMaxNLSFailures{"--CVODEMaxNLSFailures", "", "", "100", "Maximum number of nonlinear convergence failures for CVODE", re_number, nullptr, false, false, false};
133 Flag FlagCVODEMaxNLSIterations{"--CVODEMaxNLSIterations", "", "", "5", "Maximum number of nonlinear solver iterations for CVODE", re_number, nullptr, false, false, false};
134 Flag FlagCVODEMaxSteps{"--CVODEMaxSteps", "", "", "1000", "Maximum number of steps for CVODE", re_number, nullptr, false, false, false};
135 Flag FlagDeleteTempFiles{"--deleteTempFiles", "", "", "true", "Delete temporary files as soon as they are no longer needed", re_bool, nullptr, false, false, false};
136 Flag FlagDirectionalDerivatives{"--directionalDerivatives", "", "", "true", "Use directional derivatives to calculate the Jacobian for algebraic loops", re_bool, nullptr, false, false, false};
137 Flag FlagDumpAlgLoops{"--dumpAlgLoops", "", "", "false", "Dump information for algebraic loops", re_bool, nullptr, false, false, false};
138 Flag FlagEmitEvents{"--emitEvents", "", "", "true", "Emit events during simulation", re_bool, nullptr, false, false, false};
139 Flag FlagHelp{"--help", "-h", "", "", "Display the help text", re_void, Flags::Help, true, false, false};
140 Flag FlagIgnoreInitialUnknowns{"--ignoreInitialUnknowns", "", "", "false", "Ignore initial unknowns from the modelDescription.xml", re_bool, nullptr, false, false, false};
141 Flag FlagInitialStepSize{"--initialStepSize", "", "", "1e-6", "Specify the initial step size", re_double, nullptr, false, false, false};
142 Flag FlagInputExtrapolation{"--inputExtrapolation", "", "", "false", "Enable input extrapolation using derivative information", re_bool, nullptr, false, false, false};
143 Flag FlagIntervals{"--intervals", "-i", "", "500", "Specify the number of communication points (arg > 1)", re_number, nullptr, false, false, false};
144 Flag FlagLogFile{"--logFile", "-l", "", "", "Specify the log file (stdout is used if no log file is specified)", re_default, Flags::LogFile, false, false, false};
145 Flag FlagLogLevel{"--logLevel", "", "", "0", "Set the log level (0: default, 1: debug, 2: debug+trace)", re_number, Flags::LogLevel, false, false, false};
146 Flag FlagMasterAlgorithm{"--master", "", "", "ma", "Specify the master algorithm (ma)", re_default, nullptr, false, false, false};
147 Flag FlagMaxEventIteration{"--maxEventIteration", "", "", "100", "Specify the maximum number of iterations for handling a single event", re_number, nullptr, false, false, false};
148 Flag FlagMaxLoopIteration{"--maxLoopIteration", "", "", "10", "Specify the maximum number of iterations for solving algebraic loops between system-level components. Internal algebraic loops of components are not affected.", re_number, nullptr, false, false, false};
149 Flag FlagMinimumStepSize{"--minimumStepSize", "", "", "1e-12", "Specify the minimum step size", re_double, nullptr, false, false, false};
150 Flag FlagMode{"--mode", "-m", "", "me", "Force a certain FMI mode if the FMU provides both cs and me (cs, me)", re_mode, nullptr, false, false, false};
151 Flag FlagNumProcs{"--numProcs", "-n", "", "1", "Specify the maximum number of processors to use (0=auto, 1=default)", re_number, nullptr, false, false, false};
152 Flag FlagProgressBar{"--progressBar", "", "", "false", "Show a progress bar for the simulation progress in the terminal", re_bool, nullptr, false, false, false};
153 Flag FlagRealTime{"--realTime", "", "", "false", "Enable experimental feature for (soft) real-time co-simulation", re_bool, nullptr, false, false, false};
154 Flag FlagResultFile{"--resultFile", "-r", "", "<default>", "Specify the name of the output result file", re_default, nullptr, false, false, false};
155 Flag FlagSkipCSVHeader{"--skipCSVHeader", "", "", "true", "Skip exporting the CSV delimiter in the header", re_bool, nullptr, false, false, false};
156 Flag FlagSolver{"--solver", "", "", "cvode", "Specify the integration method (euler, cvode)", re_solver, nullptr, false, false, false};
157 Flag FlagSolverStats{"--solverStats", "", "", "false", "Add solver stats to the result file, e.g., step size; not supported for all solvers", re_bool, nullptr, false, false, false};
158 Flag FlagStartTime{"--startTime", "-s", "", "0", "Specify the start time", re_double, nullptr, false, false, false};
159 Flag FlagStepSize{"--stepSize", "", "", "1e-3", "Specify the (maximum) step size", re_double, nullptr, false, false, false};
160 Flag FlagStopTime{"--stopTime", "-t", "", "1", "Specify the stop time", re_double, nullptr, false, false, false};
161 Flag FlagStripRoot{"--stripRoot", "", "", "false", "Remove the root system prefix from all exported signals", re_bool, nullptr, false, false, false};
162 Flag FlagSuppressPath{"--suppressPath", "", "", "false", "Suppress path information in info messages; especially useful for testing", re_bool, nullptr, false, false, false};
163 Flag FlagTempDir{"--tempDir", "", "", ".", "Specify the temporary directory", re_default, nullptr, false, true, false};
164 Flag FlagTimeout{"--timeout", "", "", "0", "Specify the maximum allowed time in seconds for running a simulation (0 disables)", re_number, nullptr, false, false, false};
165 Flag FlagTolerance{"--tolerance", "", "", "1e-4", "Specify the relative tolerance", re_double, nullptr, false, false, false};
166 Flag FlagVersion{"--version", "-v", "", "", "Display version information", re_void, Flags::Version, false, false, false};
167 Flag FlagWallTime{"--wallTime", "", "", "false", "Add wall time information to the result file", re_bool, nullptr, false, false, false};
168 Flag FlagWorkingDir{"--workingDir", "", "", ".", "Specify the working directory", re_default, nullptr, false, true, false};
169 Flag FlagZeroNominal{"--zeroNominal", "", "", "false", "Accept FMUs with invalid nominal values and replace the invalid nominal values with 1.0", re_bool, nullptr, false, false, false};
170
171 private:
172 std::array<Flag *, 43> flags = {
173 &FlagFilename,
174 &FlagAddParametersToCSV,
175 &FlagAlgLoopSolver,
176 &FlagClearAllOptions,
177 &FlagCVODEMaxErrTestFails,
178 &FlagCVODEMaxNLSFailures,
179 &FlagCVODEMaxNLSIterations,
180 &FlagCVODEMaxSteps,
181 &FlagDeleteTempFiles,
182 &FlagDirectionalDerivatives,
183 &FlagDumpAlgLoops,
184 &FlagEmitEvents,
185 &FlagHelp,
186 &FlagIgnoreInitialUnknowns,
187 &FlagInitialStepSize,
188 &FlagInputExtrapolation,
189 &FlagIntervals,
190 &FlagLogFile,
191 &FlagLogLevel,
192 &FlagMasterAlgorithm,
193 &FlagMaxEventIteration,
194 &FlagMaxLoopIteration,
195 &FlagMinimumStepSize,
196 &FlagMode,
197 &FlagNumProcs,
198 &FlagProgressBar,
199 &FlagRealTime,
200 &FlagResultFile,
201 &FlagSkipCSVHeader,
202 &FlagSolver,
203 &FlagSolverStats,
204 &FlagStartTime,
205 &FlagStepSize,
206 &FlagStopTime,
207 &FlagStripRoot,
208 &FlagSuppressPath,
209 &FlagTempDir,
210 &FlagTimeout,
211 &FlagTolerance,
212 &FlagVersion,
213 &FlagWallTime,
214 &FlagWorkingDir,
215 &FlagZeroNominal};
216
217 static oms_status_enu_t SetFlag(size_t flag_id, const std::string &value);
218
219 static oms_status_enu_t ClearAllOptions(const std::string &value);
220 static oms_status_enu_t Filename(const std::string &value);
221 static oms_status_enu_t Help(const std::string &value);
222 static oms_status_enu_t LogFile(const std::string &value);
223 static oms_status_enu_t LogLevel(const std::string &value);
224 static oms_status_enu_t Version(const std::string &value);
225 };
226}
oms::Flags
Definition Flags.h:48
oms::Flags::Flags
Flags(Flags const &)
not implemented
oms::Flags::MaximumStepSize
static double MaximumStepSize()
Definition Flags.h:80
oms::Flags::DefaultModeIsCS
static bool DefaultModeIsCS()
Definition Flags.h:64
oms::Flags::MasterAlgorithm
static oms_solver_enu_t MasterAlgorithm()
Definition Flags.cpp:331
oms::Flags::FlagMasterAlgorithm
Flag FlagMasterAlgorithm
Definition Flags.h:146
oms::Flags::re_bool
const std::string re_bool
Definition Flags.h:105
oms::Flags::MaxEventIteration
static unsigned int MaxEventIteration()
Definition Flags.h:95
oms::Flags::Help
static oms_status_enu_t Help(const std::string &value)
Definition Flags.cpp:253
oms::Flags::FlagWorkingDir
Flag FlagWorkingDir
Definition Flags.h:168
oms::Flags::Intervals
static unsigned int Intervals()
Definition Flags.h:94
oms::Flags::FlagIntervals
Flag FlagIntervals
Definition Flags.h:143
oms::Flags::FlagMaxLoopIteration
Flag FlagMaxLoopIteration
Definition Flags.h:148
oms::Flags::re_default
const std::string re_default
Definition Flags.h:104
oms::Flags::Tolerance
static double Tolerance()
Definition Flags.h:85
oms::Flags::re_mode
const std::string re_mode
Definition Flags.h:106
oms::Flags::FlagMaxEventIteration
Flag FlagMaxEventIteration
Definition Flags.h:147
oms::Flags::FlagAddParametersToCSV
Flag FlagAddParametersToCSV
Definition Flags.h:128
oms::Flags::Filename
static oms_status_enu_t Filename(const std::string &value)
Definition Flags.cpp:247
oms::Flags::WallTime
static bool WallTime()
Definition Flags.h:77
oms::Flags::CVODEMaxNLSIterations
static int CVODEMaxNLSIterations()
Definition Flags.h:88
oms::Flags::FlagStopTime
Flag FlagStopTime
Definition Flags.h:160
oms::Flags::FlagStartTime
Flag FlagStartTime
Definition Flags.h:158
oms::Flags::FlagVersion
Flag FlagVersion
Definition Flags.h:166
oms::Flags::DumpAlgLoops
static bool DumpAlgLoops()
Definition Flags.h:67
oms::Flags::lookup
std::map< std::string, unsigned int > lookup
Definition Flags.h:100
oms::Flags::LogLevel
static oms_status_enu_t LogLevel(const std::string &value)
Definition Flags.cpp:297
oms::Flags::FlagAlgLoopSolver
Flag FlagAlgLoopSolver
Definition Flags.h:129
oms::Flags::CVODEMaxErrTestFails
static int CVODEMaxErrTestFails()
Definition Flags.h:86
oms::Flags::FlagCVODEMaxSteps
Flag FlagCVODEMaxSteps
Definition Flags.h:134
oms::Flags::FlagStepSize
Flag FlagStepSize
Definition Flags.h:159
oms::Flags::RealTime
static bool RealTime()
Definition Flags.h:72
oms::Flags::FlagSolver
Flag FlagSolver
Definition Flags.h:156
oms::Flags::StopTime
static double StopTime()
Definition Flags.h:83
oms::Flags::flags
std::array< Flag *, 43 > flags
Definition Flags.h:172
oms::Flags::CVODEMaxNLSFailures
static int CVODEMaxNLSFailures()
Definition Flags.h:87
oms::Flags::SuppressPath
static bool SuppressPath()
Definition Flags.h:76
oms::Flags::EmitEvents
static bool EmitEvents()
Definition Flags.h:68
oms::Flags::AlgLoopSolver
static oms_alg_solver_enu_t AlgLoopSolver()
Definition Flags.cpp:320
oms::Flags::re_filename
const std::string re_filename
Definition Flags.h:109
oms::Flags::Timeout
static double Timeout()
Definition Flags.h:84
oms::Flags::operator=
Flags & operator=(Flags const &)
not implemented
oms::Flags::FlagDirectionalDerivatives
Flag FlagDirectionalDerivatives
Definition Flags.h:136
oms::Flags::SetFlag
static oms_status_enu_t SetFlag(size_t flag_id, const std::string &value)
Definition Flags.cpp:149
oms::Flags::InitialStepSize
static double InitialStepSize()
Definition Flags.h:79
oms::Flags::Solver
static oms_solver_enu_t Solver()
Definition Flags.cpp:340
oms::Flags::CVODEMaxSteps
static int CVODEMaxSteps()
Definition Flags.h:89
oms::Flags::FlagProgressBar
Flag FlagProgressBar
Definition Flags.h:152
oms::Flags::SkipCSVHeader
static bool SkipCSVHeader()
Definition Flags.h:73
oms::Flags::FlagStripRoot
Flag FlagStripRoot
Definition Flags.h:161
oms::Flags::ZeroNominal
static bool ZeroNominal()
Definition Flags.h:78
oms::Flags::FlagLogLevel
Flag FlagLogLevel
Definition Flags.h:145
oms::Flags::setDefaults
void setDefaults()
Definition Flags.cpp:124
oms::Flags::ProgressBar
static bool ProgressBar()
Definition Flags.h:71
oms::Flags::FlagWallTime
Flag FlagWallTime
Definition Flags.h:167
oms::Flags::FlagLogFile
Flag FlagLogFile
Definition Flags.h:144
oms::Flags::DeleteTempFiles
static bool DeleteTempFiles()
Definition Flags.h:65
oms::Flags::FlagCVODEMaxNLSFailures
Flag FlagCVODEMaxNLSFailures
Definition Flags.h:132
oms::Flags::StartTime
static double StartTime()
Definition Flags.h:82
oms::Flags::FlagCVODEMaxErrTestFails
Flag FlagCVODEMaxErrTestFails
Definition Flags.h:131
oms::Flags::InputExtrapolation
static bool InputExtrapolation()
Definition Flags.h:70
oms::Flags::IgnoreInitialUnknowns
static bool IgnoreInitialUnknowns()
Definition Flags.h:69
oms::Flags::FlagDumpAlgLoops
Flag FlagDumpAlgLoops
Definition Flags.h:137
oms::Flags::AddParametersToCSV
static bool AddParametersToCSV()
Definition Flags.h:63
oms::Flags::GetInstance
static Flags & GetInstance()
Definition Flags.cpp:66
oms::Flags::ResultFile
static std::string ResultFile()
Definition Flags.h:93
oms::Flags::FlagTempDir
Flag FlagTempDir
Definition Flags.h:163
oms::Flags::FlagEmitEvents
Flag FlagEmitEvents
Definition Flags.h:138
oms::Flags::FlagDeleteTempFiles
Flag FlagDeleteTempFiles
Definition Flags.h:135
oms::Flags::FlagHelp
Flag FlagHelp
Definition Flags.h:139
oms::Flags::MaxLoopIteration
static unsigned int MaxLoopIteration()
Definition Flags.h:96
oms::Flags::re_solver
const std::string re_solver
Definition Flags.h:110
oms::Flags::FlagSuppressPath
Flag FlagSuppressPath
Definition Flags.h:162
oms::Flags::DirectionalDerivatives
static bool DirectionalDerivatives()
Definition Flags.h:66
oms::Flags::ClearAllOptions
static oms_status_enu_t ClearAllOptions(const std::string &value)
Definition Flags.cpp:241
oms::Flags::FlagTimeout
Flag FlagTimeout
Definition Flags.h:164
oms::Flags::re_void
const std::string re_void
Definition Flags.h:103
oms::Flags::files
std::vector< std::string > files
Definition Flags.h:101
oms::Flags::SolverStats
static bool SolverStats()
Definition Flags.h:74
oms::Flags::NumProcs
static unsigned int NumProcs()
Definition Flags.h:97
oms::Flags::SetCommandLineOption
static oms_status_enu_t SetCommandLineOption(const std::string &cmd)
Definition Flags.cpp:184
oms::Flags::Flags
Flags()
Definition Flags.cpp:50
oms::Flags::FlagInputExtrapolation
Flag FlagInputExtrapolation
Definition Flags.h:142
oms::Flags::FlagNumProcs
Flag FlagNumProcs
Definition Flags.h:151
oms::Flags::FlagZeroNominal
Flag FlagZeroNominal
Definition Flags.h:169
oms::Flags::LogFile
static oms_status_enu_t LogFile(const std::string &value)
Definition Flags.cpp:292
oms::Flags::FlagClearAllOptions
Flag FlagClearAllOptions
Definition Flags.h:130
oms::Flags::FlagMode
Flag FlagMode
Definition Flags.h:150
oms::Flags::FlagFilename
Flag FlagFilename
Definition Flags.h:127
oms::Flags::re_number
const std::string re_number
Definition Flags.h:108
oms::Flags::FlagResultFile
Flag FlagResultFile
Definition Flags.h:154
oms::Flags::re_double
const std::string re_double
Definition Flags.h:107
oms::Flags::FlagRealTime
Flag FlagRealTime
Definition Flags.h:153
oms::Flags::FlagSkipCSVHeader
Flag FlagSkipCSVHeader
Definition Flags.h:155
oms::Flags::FlagMinimumStepSize
Flag FlagMinimumStepSize
Definition Flags.h:149
oms::Flags::~Flags
~Flags()
Definition Flags.cpp:62
oms::Flags::FlagSolverStats
Flag FlagSolverStats
Definition Flags.h:157
oms::Flags::StripRoot
static bool StripRoot()
Definition Flags.h:75
oms::Flags::FlagInitialStepSize
Flag FlagInitialStepSize
Definition Flags.h:141
oms::Flags::FlagCVODEMaxNLSIterations
Flag FlagCVODEMaxNLSIterations
Definition Flags.h:133
oms::Flags::Version
static oms_status_enu_t Version(const std::string &value)
Definition Flags.cpp:302
oms::Flags::FlagTolerance
Flag FlagTolerance
Definition Flags.h:165
oms::Flags::MinimumStepSize
static double MinimumStepSize()
Definition Flags.h:81
oms::Flags::FlagIgnoreInitialUnknowns
Flag FlagIgnoreInitialUnknowns
Definition Flags.h:140
oms
Definition AlgLoop.h:52
oms::Flags::Flag
Definition Flags.h:114
oms::Flags::Flag::name
const std::string name
Definition Flags.h:115
oms::Flags::Flag::explicitlySet
bool explicitlySet
Definition Flags.h:124
oms::Flags::Flag::interrupt
const bool interrupt
Definition Flags.h:122
oms::Flags::Flag::defaultValue
const std::string defaultValue
Definition Flags.h:118
oms::Flags::Flag::settings
const bool settings
Definition Flags.h:123
oms::Flags::Flag::action
oms_status_enu_t(* action)(const std::string &value)
Definition Flags.h:121
oms::Flags::Flag::abbr
const std::string abbr
Definition Flags.h:116
oms::Flags::Flag::value
std::string value
Definition Flags.h:117
oms::Flags::Flag::desc
const std::string desc
Definition Flags.h:119
oms::Flags::Flag::regex
const std::string regex
Definition Flags.h:120