Using the External Solver Interface (Control Design and Simulation Module)
- Updated2023-03-14
- 2 minute(s) read
Use the External Solver Interface (ESI) to create and use external ordinary differential equation (ODE) solvers in the LabVIEW Control Design and Simulation Module. You might create an external solver if a particular application or problem requires an ODE solver that the LabVIEW Control Design and Simulation Module does not provide.
The following illustration shows the relationship between the components of the ESI.

Creating an External Solver
To create an external solver in C/C++, use the Callback API functions and the Solver API functions.
Callback API Functions
The Callback API functions call the Solver API functions to transfer state, step size, and other information between the Control Design and Simulation Module and the external solver. The Control Design and Simulation Module calls the Callback API functions in a specific order to advance the simulation. The external solver must export all the Callback API functions.
Solver API Functions
To implement the Callback API functions, you need to get and set information about the solver. Call the Solver API functions from within the Callback API functions to transfer information between the Control Design and Simulation Module and the external ODE solver.
Using an External Solver
After you create the external solver in C/C++, build the C/C++ project into a .dll file and copy the shared library into the labview\vi.lib\Simulation\ContinuousLinear\Implementation\Shared\Solvers\Plugins directory. You then can select the external solver from the ODE Solver pull-down menu in the Configure Simulation Parameters dialog box to use the external solver in a simulation. Use the Information function to specify the name of the solver that appears in the ODE Solver pull-down menu.