openmodelicainterest  

Re: Acausal systems modelling and compilation

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

                               Francesco

Just 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