MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NDAESolve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg40676] Re: NDAESolve
  • From: "Eckhard Hennig" <aidev at spam.kaninkolo.de>
  • Date: Sun, 13 Apr 2003 02:17:39 -0400 (EDT)
  • References: <b78f3r$kvv$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

"Paula Andreia Ennes" <ennes at mec.ita.cta.br> schrieb im Newsbeitrag
news:b78f3r$kvv$1 at smc.vnet.net...
> Hi !
>
> I need to solve DAEs,   index 2, from within Mathematica 4.0.
> My equations are nonlinear. These are generated in the dynamic analysis
> of constrained mechanical systems.

Hi Paula,

note that NDAESolve has been designed to solve DAEs resulting from the
analysis of analog electronic circuits. NDAESolve uses a trapezoidal
integrator with step size control, which makes it suitable for dissipative
and stiff systems, but not for problems where energy conservation is
required (which is often true for mechanical systems).

> How is the NDAESolve notation ?

Look up NDAESolve in the Help Browser's Master Index and use the legacy
function pattern for Analog Insydes Release 1:

NDAESolve[{equations, variables}, {independentVariable, initialValue,
finalValue}]

Assuming that the subexpressions of the form Transpose[qf[t]].d1ks.qf[t]
yield scalar results (e.g. a sum of terms, but not a list or 1x1 matrix),
the call to NDAESolve would have to be formulated as follows. Note that you
must split your vector function qf[t] into its components qf1[t] ... qf5[t]
and write the DAE in terms of these scalar functions.

equations = {eq1, eq2, eq3, eq4, eq5, eq6};
variables = {s[t], y[t], teta[t], qf1[t], qf2[t], qf3[t], qf4[t], qf5[t]};
NDAESolve[{equations, variables}, {t, 0, yourFinalTime}]

BTW, the number of equations and variables is not balanced. Is the
description of the problem in your original posting complete?

> How to enter with the initial conditions ?

In the same way as you would specify them for NDSolve. For example, to
specify an IC for s[t], add an equation of this form to the list of
equations.

  AppendTo[equations, s[0] == 1.234]

> Do I need before to reduce my system for order 1 ?

No, NDAESolve performs this conversion automatically.

Best regards,

  Eckhard

--
Dr.-Ing. Eckhard Hennig
www.kaninkolo.de/ai
aidev \at kaninkolo \dot de




  • Prev by Date: Re: FullSimplify
  • Next by Date: Re: RE: Weirdness with symbol Degree vis Units
  • Previous by thread: NDAESolve
  • Next by thread: Mixed derivative button on basic input palette