I am confused about the solving DAEs process in Dymola. So I made an example to explore it.
Here is the screenshot of the example scheme and control equations
Based on the following definition of variables, I think the solving DAEs process is to
- choose the state variables
- using an integrator to calculate the state variables according to their derivatives.
- calculate the other variables.
I build the model in Dymola with the following debug settings.
Since the DAE's index in my model is 3, there is a need to do index reduction, after using the Pantelides Algorithm, Dymola would adding more differentiated equations to the DAE system.
The translate log verified my deduction.
Now, according to the equation browser, it is apparent the DAE system has been modified into a BLT form, I think I could just use the newton method with the current equation system, but Dymola would use the DASSL algorithm. And apparently, DASSL would do build the Structural Jacobian Matrix from scratch again, so during the initialization(using Pantelides Algorithm) and simulation(using DASSL Algorithm) processes, different Structural Jacobian Matrix would be used.
My question is:
After using Pantelides Algorithm to do index reduction and partitioning, I could solve the equations with Newton Method, but why does Dymola have to do partitioning again and use DASSL Algorithm?
In addition, I compared the Structural Jacobian Matrix in initialization and simulation process in Wolfram System Modeler, which showed these two matrices are different.
Advance.Define.DAEsolver=true;
change anything? – Priyanka