Opened 7 years ago

Last modified 7 years ago

#5056 closed defect

Issue with MultiBody models in the NF due to missing evaluation during flattening — at Version 1

Reported by: Francesco Casella Owned by: Per Östlund
Priority: high Milestone: 2.0.0
Component: New Instantiation Version:
Keywords: Cc:

Description (last modified by Francesco Casella)

After @adrpo's commits for overconstrained connectors, the MultiBody examples all flatten and produce a balanced system of equations. Howevver, there are still problems that prevents them to run.

Please check Modelica.Mechanics.MultiBody.Examples.Constraints.UniversalConstraint. The following error is reported:

[/var/lib/hudson/slave/workspace/OpenModelica_TEST_LIBS/OpenModelica/OMCompiler/Compiler/BackEnd/Differentiate.mo:402:3-402:155:writable] Error: Derivative of expression "joint.revolute_b.R_rel.T[1,2] = (matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] - (matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] * cos(joint.phi_b)" w.r.t. "time" is non-existent.
[/var/lib/hudson/slave/workspace/OpenModelica_TEST_LIBS/OpenModelica/OMCompiler/build/lib/omlibrary/Modelica trunk/Mechanics/MultiBody/Joints.mo:306:7-306:60:writable] Error: Internal error 
Differentiate.differentiateEquationTime failed for joint.revolute_b.R_rel.T[1,2] = (matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] - (matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] * cos(joint.phi_b)
Error: Internal error - IndexReduction.pantelidesIndexReduction1 failed! Use -d=bltdump to get more information.

For some reason, the expression

(matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] 
- (matrix({1.0, 0.0, 0.0}) * transpose(matrix({1.0, 0.0, 0.0})))[1, 2] * cos(joint.phi_b)

is not evaluated appropriately during flattening, causing a failure of Pantelides's algoritm later on.

Change History (1)

comment:1 by Francesco Casella, 7 years ago

Component: *unknown*New Instantiation
Description: modified (diff)
Owner: changed from somebody to Per Östlund
Status: newassigned
Summary: Issue with MultiBody models in the NFIssue with MultiBody models in the NF due to missing evaluation during flattening
Note: See TracTickets for help on using tickets.