Euler Solver

class gym_electric_motor.physical_systems.solvers.EulerSolver(nsteps=1)[source]

Solves a system of differential equations of first order for a given time step with linear approximation.

Parameters:

nsteps (int) – Number of cycles to calculate for each iteration. Higher steps make the system more accurate, but take also longer to compute.

integrate(t)[source]

Integrate the ODE-System from current time until time t

Parameters:

t (float) – Time until the system shall be integrated

Returns:

New system state at time t

Return type:

ndarray(float)

set_f_params(*args)

Set further arguments for the systems function call like input quantities.

Parameters:

args (list) – Additional arguments for the next function calls.

set_initial_value(initial_value, t=0)

Set the new initial system state after reset.

Parameters:
  • initial_value (numpy.ndarray(float)) – Initial system state

  • t (float) – Initial system time

set_system_equation(system_equation, jac=None)

Setting of the systems equation.

Parameters:
  • system_equation (function_pointer) – Pointer to the systems equation with the parameters (t, y, *args)

  • jac (function_pointer) – Pointer to the systems jacobian with the parameters (t, y, *args)

property t

Returns: float: Current system time t

property y

Returns: float: Current system state y