Opened 15 years ago
Last modified 14 years ago
#1230 closed defect (fixed)
TwoTanks model fails to build
Reported by: | Per Östlund | Owned by: | Per Östlund |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Version: | ||
Keywords: | Cc: | Per Östlund, AlexeyLebedev |
Description
The attached TwoTanks model gives a lot of these messages:
-differentiate_equation_time on algorithm not impl yet. -differentiate_equation_time failed -differentiate_eqns failed eqns =179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157
and ends with a "Error: Model is structurally singular, error found sorting equations" before printing a lot of debug output.
Attachments (1)
Note:
See TracTickets
for help on using tickets.
Some technical details of what happens in DAELow while processing this model:
The function Derive.differentiateEquationTime gets a DAELow.ALGORITHM as the first argument. It has only one case to process this starting with
{{{case (DAELow.ALGORITHM(index = index,in_=in_,out=out,source=source),timevars,inFunctions,al,inDerivedAlgs,ae,inDerivedMultiEqn)
equation
DAE.ALGORITHM_STMTS(statementLst= {DAE.STMT_TUPLE_ASSIGN(type_=exptyp,expExpLst=expExpLst,exp = e1)}) = al[index+1];}}}
But index has the value 24, while the array al contains only one element with statementLst equal to NIL. So not only does not al[index+1] have the needed form, it does not exist, so Derive.differentiateEquationTime fails. This leads to failures in the stack of functions - DAELow.differentiateEqns, DAELow.reduceIndexDummyDer etc.