Opened 10 years ago
Closed 4 years ago
#3329 closed defect (fixed)
C code generation error in flexible multibody
Reported by: | Bruno Scaglioni | Owned by: | Lennart Ochel |
---|---|---|---|
Priority: | high | Milestone: | Future |
Component: | Code Generation | Version: | trunk |
Keywords: | c code generation, flexible multibody | Cc: |
Description (last modified by )
The attached model is a flexible beam example, the model is quite involved and contains several tensor product, hence equations reach a lenght of 28000 characters, and OMC cannot perform symbolic derivation anymore. Nevertheless, several of the terms involved in these products are null and depend from null parameters.
In order to avoid problems with the lenght of the lines the annotation (Evaluate=true) is used and these options are given to the compiler:
setPreOptModules("evaluateReplaceFinalEvaluateParameters,removeSimpleEquations");
when the parameters are evaluated omc can compute the derivatives but another error occurs:
Error: FGraph.openScope: failed to open new scope in scope: . name: $for loop scope$
and several gcc errors are present.
The simulated model is:
FEMPackage.ExamplesBeam.FreeVibrationBeam
in the attached package
Attachments (2)
Change History (5)
by , 10 years ago
comment:1 by , 10 years ago
Description: | modified (diff) |
---|
comment:2 by , 10 years ago
Description: | modified (diff) |
---|
comment:3 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
After a few years the problem is almost solved, see #6067 and FEMPackage issue #3. With the proposed workaround, we can now simulate a nice test case (PendulumBody) using OpenModelica, including the animation, obtaining the same results as Dymola.
We can now close this ticket.
omc dump