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