(cd run_fmpy-fmi3-cs-cvode && python3 -m fmpy simulate --output-file ../ModelicaTest_trunk_ModelicaTest.MultiBody.FourbarVariants.JointUSR_fmpy-fmi3-cs-cvode_res.csv --output-variables j2.s j2.v --start-time 0 --stop-time 2 --timeout 240 --relative-tolerance 1e-06 --interface-type CoSimulation --output-interval 0.00039984 ../ModelicaTest_trunk_ModelicaTest_MultiBody_FourbarVariants_JointUSR_fmpy-fmi3-cs-cvode.fmu) LOG_ASSERT | info | [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica trunk/Mechanics/MultiBody/Joints/Internal/RevoluteWithLengthConstraint.mo:219:3-231:3:writable] | | | | The following assertion has been violated at time 1.726909 | | | | ((jointUSR.revolute.k1a > 1e-10), jointUSR.revolute.k1a=2.305423170958805e-11) --> " | | | | Singular position of loop (either no or two analytic solutions; | | | | the mechanism has lost one-degree-of freedom in this position). | | | | Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. | | | | In most cases it is best that the joints outside of the JointXXX | | | | component are revolute and NOT prismatic joints. If this also | | | | lead to singular positions, it could be that this kinematic loop | | | | cannot be solved analytically. In this case you have to build | | | | up the loop with basic joints (NO aggregation JointXXX components) | | | | and rely on dynamic state selection, i.e., during simulation | | | | the states will be dynamically selected in such a way that in no | | | | position a degree of freedom is lost. | | | | " LOG_ASSERT | info | [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica trunk/Mechanics/MultiBody/Joints/Internal/RevoluteWithLengthConstraint.mo:219:3-231:3:writable] | | | | The following assertion has been violated at time 1.726909 | | | | ((jointUSR.revolute.k1a > 1e-10), jointUSR.revolute.k1a=6.846852604028109e-12) --> " | | | | Singular position of loop (either no or two analytic solutions; | | | | the mechanism has lost one-degree-of freedom in this position). | | | | Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. | | | | In most cases it is best that the joints outside of the JointXXX | | | | component are revolute and NOT prismatic joints. If this also | | | | lead to singular positions, it could be that this kinematic loop | | | | cannot be solved analytically. In this case you have to build | | | | up the loop with basic joints (NO aggregation JointXXX components) | | | | and rely on dynamic state selection, i.e., during simulation | | | | the states will be dynamically selected in such a way that in no | | | | position a degree of freedom is lost. | | | | " LOG_ASSERT | info | [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica trunk/Mechanics/MultiBody/Joints/Internal/RevoluteWithLengthConstraint.mo:219:3-231:3:writable] | | | | The following assertion has been violated at time 1.726909 | | | | ((jointUSR.revolute.k1a > 1e-10), jointUSR.revolute.k1a=6.846852604028109e-12) --> " | | | | Singular position of loop (either no or two analytic solutions; | | | | the mechanism has lost one-degree-of freedom in this position). | | | | Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. | | | | In most cases it is best that the joints outside of the JointXXX | | | | component are revolute and NOT prismatic joints. If this also | | | | lead to singular positions, it could be that this kinematic loop | | | | cannot be solved analytically. In this case you have to build | | | | up the loop with basic joints (NO aggregation JointXXX components) | | | | and rely on dynamic state selection, i.e., during simulation | | | | the states will be dynamically selected in such a way that in no | | | | position a degree of freedom is lost. | | | | " LOG_ASSERT | info | [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica trunk/Mechanics/MultiBody/Joints/Internal/RevoluteWithLengthConstraint.mo:219:3-231:3:writable] | | | | The following assertion has been violated at time 1.726909 | | | | ((jointUSR.revolute.k1a > 1e-10), jointUSR.revolute.k1a=6.846852604028109e-12) --> " | | | | Singular position of loop (either no or two analytic solutions; | | | | the mechanism has lost one-degree-of freedom in this position). | | | | Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. | | | | In most cases it is best that the joints outside of the JointXXX | | | | component are revolute and NOT prismatic joints. If this also | | | | lead to singular positions, it could be that this kinematic loop | | | | cannot be solved analytically. In this case you have to build | | | | up the loop with basic joints (NO aggregation JointXXX components) | | | | and rely on dynamic state selection, i.e., during simulation | | | | the states will be dynamically selected in such a way that in no | | | | position a degree of freedom is lost. | | | | " LOG_ASSERT | error | No event found, but assert was triggered. Throwing now! Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/__main__.py", line 4, in main() ~~~~^^ File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/cli.py", line 186, in main result = simulate_fmu(args.fmu_filename, validate=args.validate, ...<14 lines>... visible=args.visible, fmi_call_logger=fmi_call_logger) File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/simulation.py", line 801, in simulate_fmu result = simulateCS(model_description, fmu, start_time, stop_time, relative_tolerance, start_values, apply_default_start_values, input, output, output_interval, timeout, step_finished, set_input_derivatives, use_event_mode, early_return_allowed, validate, initialize, terminate, set_stop_time) File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/simulation.py", line 1350, in simulateCS event_encountered, terminate_simulation, early_return, last_successful_time = fmu.doStep(currentCommunicationPoint=time, communicationStepSize=step_size) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/fmi3.py", line 1968, in doStep self.fmi3DoStep( ~~~~~~~~~~~~~~~^ self.component, ^^^^^^^^^^^^^^^ ...<6 lines>... byref(lastSuccessfulTime), ^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/fmi3.py", line 1268, in fmi3DoStep return self._call( ~~~~~~~~~~^ "fmi3DoStep", ^^^^^^^^^^^^^ ...<7 lines>... lastSuccessfulTime, ^^^^^^^^^^^^^^^^^^^ ) ^ File "/opt/libtest-venv/lib/python3.14/site-packages/fmpy/fmi1.py", line 369, in _call raise FMICallException(function=fname, status=res) fmpy.fmi1.FMICallException: fmi3DoStep failed with status 3 (error).