Opened 6 years ago
Last modified 6 years ago
#5308 closed defect
The NF wrongly computes cardinality when translating MultiBody model — at Initial Version
Reported by: | Francesco Casella | Owned by: | Per Östlund |
---|---|---|---|
Priority: | high | Milestone: | 2.0.0 |
Component: | New Instantiation | Version: | v1.14.0-dev-nightly |
Keywords: | Cc: | Adeel Asghar |
Description
The code to simulate Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel is generated successfully when the model is tested by Hudson, which I assume calls the simulate
API function.
However, if I try to simulate it in OMEdit with -d=newInst
, the following error is obtained:
[1] 14:15:49 Symbolic Error [Modelica.Mechanics.MultiBody.Interfaces: 732:5-733:65]: Assertion triggered during translation: "Connector frame_a of visualizer object is not connected".
which is wrong, since the port is definitely connected to a fixed component, see the source code.
This is the transcript of the OMEdit log:
cd("C:/Users/Francesco Casella/AppData/Local/Temp/OpenModelica/OMEdit/Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel") 14:19:18:915 "C:/Users/Francesco Casella/AppData/Local/Temp/OpenModelica/OMEdit/Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel" 14:19:18:915 #s#; 0.001; 69.063; 'cd("C:/Users/Francesco Casella/AppData/Local/Temp/OpenModelica/OMEdit/Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel")' clearCommandLineOptions() 14:19:18:918 true 14:19:18:918 #s#; 0; 69.063; 'clearCommandLineOptions()' setMatchingAlgorithm("PFPlusExt") 14:19:18:920 true 14:19:18:921 #s#; 0.003; 69.066; 'setMatchingAlgorithm("PFPlusExt")' setIndexReductionMethod("dynamicStateSelection") 14:19:18:921 true 14:19:18:931 #s#; 0.01; 69.076; 'setIndexReductionMethod("dynamicStateSelection")' setCommandLineOptions("+simCodeTarget=C") 14:19:18:931 true 14:19:18:931 #s#; 0; 69.076; 'setCommandLineOptions("+simCodeTarget=C")' setCommandLineOptions("+target=gcc") 14:19:18:931 true 14:19:18:931 #s#; 0; 69.076; 'setCommandLineOptions("+target=gcc")' setCommandLineOptions("-d=initialization,newInst") 14:19:18:931 true 14:19:18:931 #s#; 0; 69.076; 'setCommandLineOptions("-d=initialization,newInst")' setCommandLineOptions("+ignoreCommandLineOptionsAnnotation=false") 14:19:18:931 true 14:19:18:931 #s#; 0; 69.076; 'setCommandLineOptions("+ignoreCommandLineOptionsAnnotation=false")' setCommandLineOptions("+ignoreSimulationFlagsAnnotation=false") 14:19:18:931 true 14:19:18:931 #s#; 0; 69.076; 'setCommandLineOptions("+ignoreSimulationFlagsAnnotation=false")' setCommandLineOptions("+profiling=none") 14:19:18:931 true 14:19:18:931 #s#; 0.004; 69.08; 'setCommandLineOptions("+profiling=none")' setCommandLineOptions("-d=infoXmlOperations") 14:19:18:935 true 14:19:18:935 #s#; 0; 69.08; 'setCommandLineOptions("-d=infoXmlOperations")' translateModel(Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel,startTime=0, stopTime=4, numberOfIntervals=500, method="dassl", tolerance=1e-06, outputFormat="mat", variableFilter=".*") 14:19:18:935 false 14:19:19:166 #s#; 0.231; 69.311; 'translateModel(Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheel,startTime=0, stopTime=4, numberOfIntervals=500, method="dassl", tolerance=1e-06, outputFormat="mat", variableFilter=".*")' errors:=getMessagesStringInternal() 14:19:19:166 {record OpenModelica.Scripting.ErrorMessage info = record OpenModelica.Scripting.SourceInfo filename = "C:/OpenModelica1.14.0-dev-64bit/lib/omlibrary/Modelica 3.2.2/Mechanics/MultiBody/Interfaces.mo", readonly = false, lineStart = 732, columnStart = 5, lineEnd = 733, columnEnd = 65 end OpenModelica.Scripting.SourceInfo;, message = "Assertion triggered during translation: \"Connector frame_a of visualizer object is not connected\".", kind = .OpenModelica.Scripting.ErrorKind.symbolic, level = .OpenModelica.Scripting.ErrorLevel.error, id = 98 end OpenModelica.Scripting.ErrorMessage;} 14:19:19:173 #s#; 0.007; 69.318; 'errors:=getMessagesStringInternal()'
whi
showing that the translate
API is used instead.
It seems that something goes wrong there with this cardinality-based assert.
Note:
See TracTickets
for help on using tickets.