JModelica  This documentation was generated from revision 5317
The C runtime library

The JModelica C runtime library contains functions and data structures for accessing the C model representation that is generated by the JModelica Modelica and Optimica front-ends, respectively. The library is organized into four main parts.

The Functional Mock-up interface

The Functional Mock-up Interface (FMI) defines a standard for model exchange with a small set of functions for model interaction while at the same time provide the necessary means for simulation of complex hybrid dynamic models.

The JMI Model interface

The JMI Model interface interface contains functions for evaluating the function generated by the compiler, including the DAE residual, the residual functions for the DAE initialization problem, and the functions related to the optimization problem such as cost functions and constraint residual functions. The JMI Model interface also supports evaluation of symbolic Jacobians (if available) and/or Jacobians computed by means of automatic differentiation. Sparsity patterns for Jacobians are supported.

The JMI Algorithm interface

Based on the JMI Model interface, algorithms (in particular optimization algorithms) are implemented. These includes a framework for implementation of simultaneous optimization algorithms as well as a particular implementation of an algorithm based on Lagrange polynomials on Radau points.

The JMI Solver interface

Typically, the JMI Model and Algorithm interfaces are intended to be integrated with numerical solvers. Currently, the JMI interface provides an interface to the NLP solver Ipopt (


The JMI interface in under development. The function signatures are likely to change in the future - all feedback is very welcome. The following limitations apply: