Parameter Sensitivities with OpenModelica¶
This section describes the use of OpenModelica to compute parameter sensitivities using forward sensitivity analysis together with the Sundials/IDA solver.
Note: this is a very short preliminary description which soon will be considerably improved, since this a rather new feature and will continuous improved.
Note: OpenModelica version 1.10 or newer is required.
Background¶
Parameter sensitivity analysis aims at analyzing the behavior of the corresponding model states w.r.t. model parameters.
Formally, consider a Modelica model as a DAE system:
where represent state variables, represent state derivatives, represent algebraic variables, model parameters.
For parameter sensitivity analysis the derivatives
are required which quantify, according to their mathematical definition, the impact of parameters on states . In the Sundials/IDA implementation the derivatives are used to evolve the solution over the time by:
An Example¶
This section demonstrates the usage of the sensitivities analysis in OpenModelica on an example. This module is enabled by the following OpenModelica compiler flag:
model LotkaVolterra
Real x(start=5, fixed=true),y(start=3, fixed=true);
parameter Real mu1=5,mu2=2;
parameter Real lambda1=3,lambda2=1;
equation
0 = x*(mu1-lambda1*y) - der(x);
0 = -y* (mu2 -lambda2*x) - der(y);
end LotkaVolterra;
Also for the simulation it is needed to set IDA
as solver integration
method and add a further simulation flag -idaSensitivity
to calculate
the parameter sensitivities during the normal simulation.
>>> simulate(LotkaVolterra, method="ida", simflags="-idaSensitivity")
record SimulationResult
resultFile = "",
simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'ida', fileNamePrefix = 'LotkaVolterra', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = '-idaSensitivity'",
messages = "Simulation execution failed for model: LotkaVolterra
assert | debug | ##IDA## set IDASensInit failed!
",
timeFrontend = 0.006288651,
timeBackend = 0.016065483,
timeSimCode = 0.001674822,
timeTemplates = 0.046307553,
timeCompile = 0.8285002610000001
end SimulationResult;
Now all calculated sensitivities are stored into the results mat file under the $Sensitivities block, where all currently every top-level parameter of the Real type is used to calculate the sensitivities w.r.t. every state.
Error
Unable to execute gnuplot directive
Expected {quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]}) | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")}) | Group:({Suppress:("{") [Forward: None [, Forward: None]...] Suppress:("}")}) | Group:({Suppress:("(") [Forward: None [, Forward: None]...] Suppress:(")")}) | {Suppress:("SOME") Suppress:("(") Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]})} | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")})} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})} Suppress:(")")} | "true" | "false" | {"NONE" Suppress:("(") Suppress:(")")} | Combine:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} (at char 1), (line:2, col:1) Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3235, in parseImpl result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None IndexError: string index out of range During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/var/lib/jenkins3/ws/OpenModelica_PR-310/doc/UsersGuide/source/sphinxcontribopenmodelica.py", line 173, in run filename = os.path.abspath(self.options.get('filename') or omc.sendExpression("currentSimulationResult")) File "/usr/local/lib/python3.6/dist-packages/OMPython/__init__.py", line 606, in sendExpression answer = OMTypedParser.parseString(result) File "/usr/local/lib/python3.6/dist-packages/OMPython/OMTypedParser.py", line 120, in parseString return omcGrammar.parseString(string)[0] File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1828, in parseString raise exc File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1818, in parseString loc, tokens = self._parse( instring, 0 ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3735, in parseImpl loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 4098, in parseImpl return self.expr._parse( instring, loc, doActions, callPreParse=False ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3917, in parseImpl raise maxException File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3902, in parseImpl ret = e._parse( instring, loc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1564, in _parseNoCache raise ParseException( instring, len(instring), self.errmsg, self ) pyparsing.ParseException: Expected {quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]}) | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")}) | Group:({Suppress:("{") [Forward: None [, Forward: None]...] Suppress:("}")}) | Group:({Suppress:("(") [Forward: None [, Forward: None]...] Suppress:(")")}) | {Suppress:("SOME") Suppress:("(") Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]})} | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")})} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})} Suppress:(")")} | "true" | "false" | {"NONE" Suppress:("(") Suppress:(")")} | Combine:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} (at char 1), (line:2, col:1)
Error
Unable to execute gnuplot directive
Expected {quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]}) | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")}) | Group:({Suppress:("{") [Forward: None [, Forward: None]...] Suppress:("}")}) | Group:({Suppress:("(") [Forward: None [, Forward: None]...] Suppress:(")")}) | {Suppress:("SOME") Suppress:("(") Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]})} | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")})} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})} Suppress:(")")} | "true" | "false" | {"NONE" Suppress:("(") Suppress:(")")} | Combine:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} (at char 1), (line:2, col:1) Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3235, in parseImpl result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None IndexError: string index out of range During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/var/lib/jenkins3/ws/OpenModelica_PR-310/doc/UsersGuide/source/sphinxcontribopenmodelica.py", line 173, in run filename = os.path.abspath(self.options.get('filename') or omc.sendExpression("currentSimulationResult")) File "/usr/local/lib/python3.6/dist-packages/OMPython/__init__.py", line 606, in sendExpression answer = OMTypedParser.parseString(result) File "/usr/local/lib/python3.6/dist-packages/OMPython/OMTypedParser.py", line 120, in parseString return omcGrammar.parseString(string)[0] File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1828, in parseString raise exc File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1818, in parseString loc, tokens = self._parse( instring, 0 ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3735, in parseImpl loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 4098, in parseImpl return self.expr._parse( instring, loc, doActions, callPreParse=False ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1562, in _parseNoCache loc,tokens = self.parseImpl( instring, preloc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3917, in parseImpl raise maxException File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 3902, in parseImpl ret = e._parse( instring, loc, doActions ) File "/usr/local/lib/python3.6/dist-packages/pyparsing.py", line 1564, in _parseNoCache raise ParseException( instring, len(instring), self.errmsg, self ) pyparsing.ParseException: Expected {quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]}) | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")}) | Group:({Suppress:("{") [Forward: None [, Forward: None]...] Suppress:("}")}) | Group:({Suppress:("(") [Forward: None [, Forward: None]...] Suppress:(")")}) | {Suppress:("SOME") Suppress:("(") Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({["-"] {"0" | W:(1234...,0123...)} [{"." W:(0123...)}] [{W:(eE) W:(0123...,0123...)}]})} | Forward: Group:({{{{{Suppress:("record") Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Dict:(Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}}) [, Group:({{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} Suppress:("=")} Forward: {{{{{{{{{quoted string, starting with " ending with " | Combine:({{{["-"] {"0" | W:(1234...,0123...)}} [{"." W:(0123...)}]} [{W:(eE) W:(0123...,0123...)}]})} | Forward: None} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})}})]...)} Suppress:("end")} Suppress:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} Suppress:(";")})} | Group:({{Suppress:("{") [Forward: None [, Forward: None]...]} Suppress:("}")})} | Group:({{Suppress:("(") [Forward: None [, Forward: None]...]} Suppress:(")")})} | {{{Suppress:("SOME") Suppress:("(")} Forward: ...} Suppress:(")")}} | "true"} | "false"} | {{"NONE" Suppress:("(")} Suppress:(")")}} | Combine:(Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: {{{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "."} Forward: ...} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}}} | {W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '}})} Suppress:(")")} | "true" | "false" | {"NONE" Suppress:("(") Suppress:(")")} | Combine:(Forward: {{{W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '} "." Forward: ...} | W:(ABCD...,ABCD...) | quoted string, starting with ' ending with '})} (at char 1), (line:2, col:1)