Francesco Casella
Mon, 21 Dec 2009 01:16:30 -0800
Rafael de Pelegrini Soares ha scritto:
Yes, this is a simple problem. I've never implemented an automatic solution by the dummy derivatives method, but the problem I see with it is that for more complicated systems you will need to dynamically (during solution) switch between states.This is because the problem can become singular for some particular values of the variables, more details at "Mattsson, Sven Erik, Olsson, H. and Elmqvist, Hilding, Dynamic Selection of States in Dymola, in: Modelica Workshop, pages 61-67, 2000." I think this is a complicated procedure to implement automatically. Although possible: the authors mention an implementation in Dymola.
The dummy derivative algorithm is a standard feature in many Modelica tools, including Dymola and (as far as I know) OpenModelica. In many cases (e.g. thermofluid models) a fixed selection of state is possible. I'm not sure if OMC can already handle dynamic state selection, but this is necessary to support the multibody library with free-flying objects, so if the feature is yet not there, it will be soon.
Indeed, I meant the solution by the direct replacement of constraints by its differential version. The reference you mentioned before (http://portal.acm.org/citation.cfm?id=153121) also visits the "drift-off" topic.
The power of Modelica for mechanical application is precisely the extensive use of symbolic manipulation techniques, such as the Pantelides/Dummy Derivatives algorithm. As far as I understand (I'm not an expert in the field) from this point of view, the modelling approach is significantly different from the mainstream multibody solvers.
Best regards,
Francesco
Best FrancescoJust my 2 cents. 2009/12/17 Arquimedes Canedo <can...@gmail.com>:Francesco, Thanks for the insightful answers.The solution of an initial value problem for a higher index DAE and for the same DAE brought to index 1 with Pantelides / Dummy Derivatives is exactly the same.This is good news. The only place where we could have numerical error is then the numerical solver itself.If the implicit algebraic equations have a unique solution in closed form, a symbolic manipulator could solve them symbolically and replace them with their closed-form solution. Otherwise, you typically use numerical, Newton-like solvers, which require to know the residuals of the implicit equations, and possibly their Jacobian w.r.t. the unknowns.This sounds familiar, at least that is what Scicos/Simulink try to handle the algebraic loops. I guess this is all explained in detail in the books you have recommended before. I'll try to get my hands on them soon. Thanks, Arquimedes-- Francesco Casella - Ph.D. Dipartimento di Elettronica e Informazione Politecnico di Milano Via Ponzio 34/5 I-20133 MILANO - ITALY Tel: +39-02-2399-3465 (Leonardo) +39-02-2399-7749 (Polo di Cremona) Fax: +39-02-2399-3412 e-mail: case...@elet.polimi.it web: http://home.dei.polimi.it/casella Skype: callto://francesco.casella
--
Francesco Casella - Ph.D.
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Via Ponzio 34/5
I-20133 MILANO - ITALY
Tel: +39-02-2399-3465 (Leonardo)
+39-02-2399-7749 (Polo di Cremona)
Fax: +39-02-2399-3412
e-mail: case...@elet.polimi.it
web: http://home.dei.polimi.it/casella
Skype: callto://francesco.casella