next up previous contents index
Next: Summary information Up: ImplicitRC: representation abg, language Previous: Example   Contents   Index


Implicit integration - the nonlinear case

Consider the nonlinear system:

$\displaystyle \dot x = f(x,u)$ (3.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}$ (3.8)

The corresponding implicit scheme is:

$\displaystyle x_{i} = x_{i-1} + \Delta t f(x_{i},u_{i})$ (3.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} )$ (3.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 ]$ (3.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 ]$ (3.12)

Because of the approximations invoved, Equation 3.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: representation abg, language Previous: Example   Contents   Index
http://www.mech.gla.ac.uk/~peterg/software/MTT