Model.step#

Model.step(a_v, z, z_next, k5_v=None, cont=False)[source]#

Advance the given pulse spectrum from z to z_next.

This method is based on the 4th-order interaction picture Runge-Kutta scheme (ERK4(3)-IP) from Balac and Mahé [1].

Parameters:
a_vndarray of complex

The root-power spectrum of the pulse.

zfloat

The starting point.

z_nextfloat

The next point.

k5_vndarray of complex, optional

The action of the nonlinear operator on the solution from the preceding step. When included, it allows advancing the pulse with one less call to the nonlinear operator. The default is None.

contbool, optional

A flag that indicates the current step is continuous with the previous, i.e. that it begins where the other ended. If False, the linear and nonlinear parameters will be updated before the first calls to the linear and nonlinear operators. If True, previously calculated values will be used. The default is False.

Returns:
a_RK4_vndarray of complex

The 4th-order result.

a_RK3_vndarray of complex

The 3rd-order result.

k5_vndarray of complex

The nonlinear action of the 4th-order result.

References

[1]

S. Balac and F. Mahé, “Embedded Runge–Kutta scheme for step-size control in the interaction picture method,” Computer Physics Communications, Volume 184, Issue 4, 2013, Pages 1211-1219 https://doi.org/10.1016/j.cpc.2012.12.020