AmesimKnowledge

Discontinuity Handling

Discontinuity Handling

Introduction

Discontinuity handling is necessary for a numerical solver to work properly, and is built into Simcenter Amesim's standard solver and libraries. To be fully efficient, discontinuities must also be handled inside user-created submodels (built with Submodel Editor) — a single submodel that generates discontinuous signals without applying the discontinuity handling mechanism will penalize the whole simulation. This document gives submodel writers a complete overview of the mechanism and its impact on how physical equations are coded.

What is a Discontinuity?

A discontinuity is an event affecting the evolution of a dynamic system. Example: a hydraulic jack piston whose movement is limited by the jack body's physical dimensions — when the piston reaches its travel limit it must be brought to rest or bounce, so velocity and displacement reach a discontinuity.

Other physical examples of discontinuities:

  • Backlash
  • Frictional stick-slip
  • Any form of dead band
  • Hysteresis
  • A valve (e.g. check valve) whose open-state characteristics differ completely from its closed-state characteristics
  • Linear interpolation of tabulated data

Impact of a discontinuity on simulation

Simcenter Amesim solvers are variable-step solvers based on linear multi-step methods, which require state equations to be at least continuous and continuously differentiable.

Any discontinuity affecting a state equation can cause a sharp change in the state variable's derivative. A variable-step solver can handle this, but only by drastically reducing the integration step size — leading to long simulation times.

Consider a variable whose behavior follows two distinct curves C1 and C2: the variable itself is continuous, but its derivative is discontinuous at a point P. Integrating along C1 or C2 alone is fine, but naively switching formula at P (e.g. if x < x* use C1 else use C2) forces the integrator to handle the sharp derivative change directly — leading either to a drastic step-size reduction (frustratingly slow) or highly inaccurate results.

The discontinuity-handling principle

If the solution is on curve C1 and passes point P, the solver does not immediately switch to C2's equation. Instead it continues using C1's equation (effectively extrapolating along curve C1'), predicting a point Q. Once convergence is obtained, the integrator recognizes that a discontinuity point was passed and searches for its precise location.

A dedicated communication mechanism between submodels and solver lets the solver locate the discontinuity's simulation time to machine accuracy. The integration step is then adjusted to land just before the discontinuity. The integrator restarts from there, discarding information to the left of P, and continues using the correct (smooth) curve C2.

Source: https://docs.sw.siemens.com/en-US/doc/254352342/PL20251107523649413.amesim_collection.TB121_Discontinuity_Handling/xid1849180 · retrieved Tue Jul 07 2026 00:00:00 GMT+0000 (Coordinated Universal Time)