124 std::map<std::string, unsigned int>
lookup;
131 const std::string
re_double =
"((\\+|-)?[[:digit:]]+)(\\.(([[:digit:]]+)?))?((e|E)((\\+|-)?)[[:digit:]]+)?";
138 {
"--algLoopSolver",
"",
"Specifies the alg. loop solver method ([fixedpoint], kinsol) used for algebraic loops spanning over multiple components.",
re_default,
Flags::AlgLoopSolver,
false},
140 {
"--deleteTempFiles",
"",
"Deletes temp files as soon as they are no longer needed ([true], false)",
re_bool,
Flags::DeleteTempFiles,
false},
141 {
"--emitEvents",
"",
"Specifies whether events should be emitted or not ([true], false)",
re_bool,
Flags::EmitEvents,
false},
143 {
"--fetchAllVars",
"",
"Workaround for certain FMUs that do not update all internal dependencies automatically",
re_default,
Flags::FetchAllVars,
false},
148 {
"--logFile",
"-l",
"Specifies the logfile (stdout is used if no log file is specified)",
re_default,
Flags::LogFile,
false},
151 {
"--maxLoopIteration",
"",
"Specifies the max. number of iterations for solving algebraic loops between system-level components. Internal algebraic loops of components are not affected.",
re_number,
Flags::MaxLoopIteration,
false},
152 {
"--mode",
"-m",
"Forces a certain FMI mode iff the FMU provides cs and me (cs, [me])",
re_mode,
Flags::Mode,
false},
153 {
"--numProcs",
"-n",
"Specifies the max. number of processors to use (0=auto, 1=default)",
re_number,
Flags::NumProcs,
false},
154 {
"--progressBar",
"",
"Shows a progress bar for the simulation progress in the terminal (true, [false])",
re_bool,
Flags::ProgressBar,
false},
155 {
"--realTime",
"",
"Experimental feature for (soft) real-time co-simulation (true, [false])",
re_bool,
Flags::RealTime,
false},
160 {
"--solverStats",
"",
"Adds solver stats to the result file, e.g. step size; not supported for all solvers (true, [false])",
re_bool,
Flags::SolverStats,
false},
163 {
"--stripRoot",
"",
"Removes the root system prefix from all exported signals (true, [false])",
re_bool,
Flags::StripRoot,
false},
164 {
"--suppressPath",
"",
"Supresses path information in info messages; especially useful for testing (true, [false])",
re_bool,
Flags::SuppressPath,
false},
166 {
"--timeout",
"",
"Specifies the maximum allowed time in seconds for running a simulation (0 disables)",
re_number,
Flags::Timeout,
false},
169 {
"--wallTime",
"",
"Add wall time information for to the result file (true, [false])",
re_bool,
Flags::WallTime,
false},
unsigned int numProcs
Definition: Flags.h:111
oms_solver_enu_t
Definition: Types.h:96
bool solverStats
Definition: Flags.h:97
const std::string desc
Definition: Flags.h:118
bool defaultModeIsCS
Definition: Flags.h:88
const std::string regex
Definition: Flags.h:119
const std::string name
Definition: Flags.h:116
static bool ProgressBar()
Definition: Flags.h:66
static oms_status_enu_t Filename(const std::string &value)
Definition: Flags.cpp:254
const std::string re_number
Definition: Flags.h:132
void setDefaults()
Definition: Flags.cpp:62
bool progressBar
Definition: Flags.h:94
static oms_solver_enu_t MasterAlgorithm()
Definition: Flags.h:77
bool deleteTempFiles
Definition: Flags.h:89
static oms_alg_solver_enu_t AlgLoopSolver()
Definition: Flags.h:58
static bool InputExtrapolation()
Definition: Flags.h:65
const bool interrupt
Definition: Flags.h:121
static oms_solver_enu_t Solver()
Definition: Flags.h:78
const std::string abbr
Definition: Flags.h:117
static double StopTime()
Definition: Flags.h:74
double tolerance
Definition: Flags.h:104
static bool DefaultModeIsCS()
Definition: Flags.h:60
bool emitEvents
Definition: Flags.h:90
const std::string re_void
Definition: Flags.h:127
static Flags & GetInstance()
Definition: Flags.cpp:92
static oms_status_enu_t SetInputDerivatives(const std::string &value)
Definition: Flags.cpp:364
static bool ExportParametersInline()
Definition: Flags.h:63
oms_status_enu_t
Definition: Types.h:43
unsigned int maxEventIteration
Definition: Flags.h:109
std::vector< std::string > files
Definition: Flags.h:125
Flags()
Definition: Flags.cpp:46
bool inputExtrapolation
Definition: Flags.h:93
oms_solver_enu_t masterAlgorithm
Definition: Flags.h:105
bool suppressPath
Definition: Flags.h:99
bool ignoreInitialUnknowns
Definition: Flags.h:92
static oms_status_enu_t Mode(const std::string &value)
Definition: Flags.cpp:334
static oms_status_enu_t WorkingDir(const std::string &value)
Definition: Flags.cpp:442
unsigned int intervals
Definition: Flags.h:108
static bool StripRoot()
Definition: Flags.h:70
static bool DeleteTempFiles()
Definition: Flags.h:61
static oms_status_enu_t LogFile(const std::string &value)
Definition: Flags.cpp:310
static unsigned int MaxEventIteration()
Definition: Flags.h:81
static oms_status_enu_t Version(const std::string &value)
Definition: Flags.cpp:436
static bool EmitEvents()
Definition: Flags.h:62
static unsigned int NumProcs()
Definition: Flags.h:83
std::string resultFile
Definition: Flags.h:107
static std::string ResultFile()
Definition: Flags.h:79
double startTime
Definition: Flags.h:101
bool stripRoot
Definition: Flags.h:98
bool realTime
Definition: Flags.h:95
static bool SkipCSVHeader()
Definition: Flags.h:68
const std::string re_double
Definition: Flags.h:131
const std::string re_filename
Definition: Flags.h:133
const std::string re_mode
Definition: Flags.h:130
static oms_status_enu_t LogLevel(const std::string &value)
Definition: Flags.cpp:316
static double StartTime()
Definition: Flags.h:73
oms_status_enu_t(* fcn)(const std::string &value)
Definition: Flags.h:120
~Flags()
Definition: Flags.cpp:58
static unsigned int Intervals()
Definition: Flags.h:80
static oms_status_enu_t Help(const std::string &value)
Definition: Flags.cpp:260
double timeout
Definition: Flags.h:103
oms_alg_solver_enu_t
Definition: Types.h:110
static oms_status_enu_t FetchAllVars(const std::string &value)
Definition: Flags.cpp:217
static unsigned int MaxLoopIteration()
Definition: Flags.h:82
static double Tolerance()
Definition: Flags.h:76
static double Timeout()
Definition: Flags.h:75
static oms_status_enu_t ClearAllOptions(const std::string &value)
Definition: Flags.cpp:193
bool exportParametersInline
Definition: Flags.h:91
const std::vector< Flag > flags
Definition: Flags.h:135
oms_solver_enu_t solver
Definition: Flags.h:106
const std::string re_default
Definition: Flags.h:128
static bool RealTime()
Definition: Flags.h:67
static bool AddParametersToCSV()
Definition: Flags.h:59
static oms_status_enu_t SetCommandLineOption(const std::string &cmd)
Definition: Flags.cpp:115
oms_alg_solver_enu_t algLoopSolver
Definition: Flags.h:87
bool addParametersToCSV
Definition: Flags.h:86
double stopTime
Definition: Flags.h:102
static bool SolverStats()
Definition: Flags.h:69
bool wallTime
Definition: Flags.h:100
static bool SuppressPath()
Definition: Flags.h:71
bool skipCSVHeader
Definition: Flags.h:96
Flags & operator=(Flags const &)
not implemented
static bool IgnoreInitialUnknowns()
Definition: Flags.h:64
const std::string re_bool
Definition: Flags.h:129
unsigned int maxLoopIteration
Definition: Flags.h:110
static oms_status_enu_t TempDir(const std::string &value)
Definition: Flags.cpp:418
std::map< std::string, unsigned int > lookup
Definition: Flags.h:124
static bool WallTime()
Definition: Flags.h:72