Generalized Alpha and Moreau-Jean Integrators
RibleExtraIntegrators extends the core framework with additional time integration algorithms aimed at regimes where the default Zhong06 family is not the only useful choice. In practice, the package currently provides alternative integrators for non-smooth dynamics (Moreau) and additional solver families for specialized problems.
Generalized Alpha
GeneralizedAlpha is a higher-order implicit time integration scheme for structural dynamics. As an evolution of the Newmark family, it introduces parameters that let you trade high-frequency numerical damping against low-frequency accuracy.
Its main characteristics are:
second-order accuracy for the intended class of problems,
tunable numerical damping through the high-frequency spectral radius
, good long-time behavior for stiff structural systems.
Parameter configuration
The dissipation level is controlled by
using Rible
using RibleExtraIntegrators
solver = DynamicsSolver(
RibleExtraIntegrators.GeneralizedAlpha(0.8)
)
solve!(prob, solver; tspan=(0.0, 10.0), dt=1e-3)Moreau-Jean Method
Moreau implements a classical time-stepping method for non-smooth mechanics. It is well suited to systems with impacts, unilateral contact, and friction, where velocities may jump and where event-by-event smooth integration becomes inconvenient or unstable.
Theoretical basis
In the Moreau-Jean framework, the dynamics are written in measure-differential form:
where
After time discretization with parameter
Constructor
The Moreau integrator is parameterized by the discretization parameter
using Rible
using RibleExtraIntegrators
solver = DynamicsSolver(
RibleExtraIntegrators.Moreau(0.5)
)
solve!(prob, solver; tspan=(0.0, 0.1), dt=1e-3)Test suite
The package test suite includes a slider-crank benchmark that compares Moreau(0.5) against the default Zhong06() solver on the same model. The test verifies trajectory agreement and energy conservation between the two methods.
See RibleExtraIntegrators/test/slider_crank.jl for the complete benchmark code.