GLIMDA¶

GLIMDA is a solver for nonlinear index-2 DAEs f(q’(t,x),x,t)=0.

Details about the implementation (FORTRAN) can be found in the PhD dissertation:

General Linear Methods for Integrated Circuit Design

Author: Steffen Voigtmann


Support¶

• State events (root funtions) : False
• Step events (completed step) : True
• Time events : True

Usage¶

Import the solver together with the correct problem:

from assimulo.solvers import GLIMDA
from assimulo.problem import Implicit_Problem


Define the problem, such as:

def res(t, y, yd): #Note that y and yd are 1-D numpy arrays.
res = yd[0]-1.0
return N.array([res]) #Note that the return must be numpy array, NOT a scalar.

y0  = [1.0]
yd0 = [1.0]
t0  = 1.0


Create a problem instance:

mod = Implicit_Problem(res, y0, yd0, t0)


Note

For complex problems, it is recommended to check the available examples and the documentation in the problem class, Implicit_Problem. It is also recommended to define your problem as a subclass of Implicit_Problem.

Warning

When subclassing from a problem class, the function for calculating the right-hand-side (for ODEs) must be named rhs and in the case with a residual function (for DAEs) it must be named res.

Create a solver instance:

sim = GLIMDA(mod)


Modify (optionally) the solver parameters.

Parameters:

Simulate the problem:

Information: