FAQ

This list some common - often numerical - errors, that can be fixed by better understanding the ODE-Problem inside your FMU.


Solving non-linear system fails

Description

Error message or warning, that solving of a non-linear system failed, close to the simulation start time.

Example

Solving non-linear system 101 failed at time=3e-05.

Reason

This could be, because the first step of the integration is accepted by the solver's error estimation, but shouldn't. This is usually, if the first step is picked to large by the solver's start step size heuristics.

Fix

  • Try a small start value for the integration with keyword dt.

Access denied

Description

Error message, that the binary for callback functions can't be accessed/opened.

Example

ERROR:
could not load library "...\src\FMI2\callbackFunctions\binaries\win64\callbackFunctions.dll"
Access denied

Reason

This is because your OS doesn't allow to interact with the binaries shipped with FMI.jl.

Fix

This can easily be solved by fixing the binary's permission options or is automatically fixed if Julia runs with admin privileges.


Double Callback Crossing

Description

Error message, that solving failed because of double callback crossing.

Example

ERROR:
Double callback crossing floating pointer reducer errored. Report this issue.

Reason

This is because the event instant (time point) of an FMU event indicator can't be found precisely.

Fix

This can be solved by allowing for more interpolation points during searching of the zero crossing:

fmu.executionConfig.rootSearchInterpolationPoints = 1000 # default value is 10

This will have negative performance impact on systems with extreme amount of events (thousands per second). For systems with only a few events there won't be a noticeable slow down.