Opened 9 years ago
Closed 8 years ago
#3703 closed defect (fixed)
Linearization of CombiTable2D fails
Reported by: | Owned by: | Willi Braun | |
---|---|---|---|
Priority: | high | Milestone: | 1.12.0 |
Component: | Backend | Version: | v1.9.4-dev-nightly |
Keywords: | Cc: |
Description
in version v1.9.4-dev.beta1.116+gdd6bae1
obviously CombiTable2D is not considered in Linearization.
therefore result in matrix B is not correct
see attached example.
Attachments (5)
Change History (15)
by , 9 years ago
by , 9 years ago
Attachment: | LinTab.png added |
---|
by , 9 years ago
Attachment: | linear_LinTab.mo added |
---|
comment:1 by , 9 years ago
Component: | Code Generation → Backend |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:2 by , 9 years ago
by , 9 years ago
Attachment: | LinTabNEW.mo added |
---|
by , 9 years ago
Attachment: | linear_LinTabNEW.mo added |
---|
comment:5 by , 8 years ago
in the current version the C-source for derivative calculation is missing! See example below.
modelica_real omc_$DER$$PModelica$PBlocks$PTables$PCombiTable2D$TAB$PgetTableValue(...) { modelica_real _$$PModelica$PBlocks$PTables$PCombiTable2D$TAB$PgetTableValue$funDERy; modelica_real _y; _tailrecursive: OMC_LABEL_UNUSED _return: OMC_LABEL_UNUSED // // RETURN never defined // return _$$PModelica$PBlocks$PTables$PCombiTable2D$TAB$PgetTableValue$funDERy; }
Problem can be solved by manual C-coding of the derivative function (similar to the getTableValue-function). Then the derived A,B matrices are correct.
comment:6 by , 8 years ago
If you think getTableValue
should have a derivative function, you should open a bug report on modelica.org
comment:8 by , 8 years ago
Milestone: | 1.11.0 → 1.12.0 |
---|
Milestone moved to 1.12.0 due to 1.11.0 already being released.
comment:9 by , 8 years ago
Status: | assigned → accepted |
---|
The derivative functions is missing due to the fact that functions were removed with the module removedUnusedFunction, which is applied to early.
This should be fixed with OMCompiler#1665.
comment:10 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Correction: I attached wrong *.mo (table.y == 3.0) --> this cannot work.
In the NEW LinTabNEW.mo with a table ( y =u1+u2 ) should give a linearized system with B !=0.0
sorry for the inconvenience.