next up previous contents index
Next: Summary information Up: ImplicitRC_abg.tex Previous: Example   Contents   Index


Implicit integration - the nonlinear case

Consider the nonlinear system:

$\displaystyle \dot x = f(x,u)$ (2.7)

and suppose it can be linearised about any state and input to give:

$\displaystyle A(x,u) = \frac{\partial f(x,u)}{\partial x}$ (2.8)

The corresponding implicit scheme is:

$\displaystyle x_{i} = x_{i-1} + \Delta t f(x_{i},u_{i})$ (2.9)

This is not easy to solve in general due to the set of non-linear equations that need to be solved. To avoid this, consider a further approximation:

$\displaystyle f(x_{i},u_{i}) \approx f(x_{i-1},u_{i}) + A(x_{i-1},u_i) ( x_{i} - x_{i-1} )$ (2.10)

This then gives the semi-implicit scheme

$\displaystyle x_{i} = x_{i-1} + \Delta t \left [ f(x_{i-1},u_{i}) + A(x_{i-1},u_i) ( x_{i} - x_{i-1} ) \right ]$ (2.11)

which can be rewritten as:

$\displaystyle x_{i} = \left [ I - \Delta t A(x_{i-1},u_i) \right ]^{-1} \Delta t \left [ f(x_{i-1},u_{i}) - A(x_{i-1},u_i) x_{i-1} \right ]$ (2.12)

Because of the approximations invoved, Equation 2.12 is not guarenteed to be stable. Nevertheless, it should do a much better job than the corresponding explicit method for reasonably smooth systems. This method is chosen by setting

METHOD='Implicit'
in the MTT simpar.txt file.

A further approximation arises by setting $ A(x_{i-1},u_i) =
A(x_{0},u_0)$ ie computing it one only at the beginning of the simulation. This method is chosen by setting

METHOD='ImplicitL'
in the MTT simpar.txt file.

Both methods make use of the smx ``state-matrix with state $ x$'' representation of MTT which is generated symbolically from the system bond graph.


next up previous contents index
Next: Summary information Up: ImplicitRC_abg.tex Previous: Example   Contents   Index
http://mtt.sourceforge.net